San Francisco's warmest month is September, and the fog is the reason
Its July mean high is 66°F. The city does not have a cold summer — it has a summer that is postponed until the upwelling relaxes.
Check the normals for San Francisco and something looks wrong: the warmest month is not July or even August, but September. This is not a quirk of one station. Monterey and Salinas do the same thing, and the entire California coast is shifted in the same direction.
Upwelling, not latitude
The cause is in the water. A semi-permanent high sits over the eastern Pacific in summer, and its clockwise circulation drives a persistent northwesterly wind along a coastline that runs north–south. That wind pushes surface water offshore, and cold water rises from below to replace it.
The effect is strong enough to invert the seasons offshore: the sea surface off Monterey is colder in July than in January. Air crossing it condenses, which is where the summer stratus comes from — and the fog then shades the coast from the sun that would otherwise warm it.
Why September is different
In September the northwesterly relaxes, upwelling weakens, the water warms and the marine layer thins. The coast finally gets its clear, warm weather — about two months after the solstice. Locals have always known this; the normals simply confirm it.
The gradient it creates
The same mechanism produces the sharpest microclimate gradients in North America. Half Moon Bay, fully exposed to the ocean, has no month whose mean high reaches 70°F. Livermore, thirty miles inland and behind the hills, runs a July mean high near 89°F. Monterey and Paso Robles differ by about 25°F in the same month for the same reason.
None of that is a difference in weather. It is one weather event — cold water, and a range deciding how far inland its influence reaches.