I have just analyzed daily climatic station data from the publicly available Global Surface Summary of Day (GSOD) dataset issued by National Climatic Data Center. I compared them to the station data we purchased from our national institute CHMI (who is in fact owner of the stations), in particular monthly mean temperatures in March - June. I was surprised there is quite a big difference (TGSOD - TCHMI: min = -0.57°C, max = 0.17°C, RMSE = 0.24°C), considering these are monthly averages. Even worse, there is a systematic bias - the GSOD values are mostly smaller, and the difference grows with growing temperature:
Rounding errors are out of question, the precision of input data is tenths of °F or °C, and also rounding errors would be smaller and not increasing with increasing temperature.
It is interesting that, according to the GSOD docs, the mean daily temperature reported by GSOD is not the one reported by the station, but is computed from the observations:
Count 32-33 Int. Number of observations used in calculating mean temperature
So (details of comparison) I took mean daily temperature from GSOD data and filtered only records where Count = 24 (obs./day). Then I averaged them accross months and compared (only those months with all days data) to monthly means which we bought from CHMI.
According to the docs, since our timezone is UTC+1/2, some observations can be grouped to different day:
... these elements are derived from the stations' reports during the day, and may comprise a 24-hour period which includes a portion of the previous day.
but since the days are consecutive, this cannot explain the systematic bias in monthly means.
So, where is the problem? Is GSOD biased and why?
Could it be some methodological aspect? In fact, the difference is correlated not only with the temperature but with also the difference of daily maximum and minimum temperature (which is correlated to temperature), so the causality could be there.