Meteorological day

From Cumulus Wiki

Cumulus Version MX SpecificCumulus Version 1 SpecificThis page applies to both the original Cumulus software and MX.


The modern Cumulus user tends to forget that computerisation is a fairly recent change (in the last few decades) for weather recording, which has been taking place for at least a century in most nations.

Older people will remember how weather was traditionally recorded. Weather instruments were not directly connected to a computer. Observers would manually read the instruments at least once a day, traditionally at 9 a.m. (one hour later in daylight saving time). Some observers made measurements every hour, or more frequently at places like airports.

Certain instruments, like barographs and sun recorders, did record readings on a continuous process, but they still needed to be manually read and interpreted. For temperature, James Six invented an instrument that could store the highest and lowest temperatures between manual readings.

Measurements were manually logged onto a sheet, or into a notebook, as they were made. Subsequently, longer period derivatives could be calculated from the manual measurements and these might be either phoned to the main weather service, transmitted electronically (e.g. by telex), or entered into an electronic record.

Modern era

Towards the end of the 20th century, not only did computers become small enough to be located on a widespread basis, but electronic sensors that could record various weather parameters started to become cheap, reliable, and widely available.

Thus the concept of recording weather in real-time finally became available.

Another change soon followed, in most nations, the concept of relying on a lot of weather stations recording local weather has been abandoned. Just a few stations remain, generally only to serve the needs of pilots, at airports. Instead, most weather observations nowadays rely on satellites to sense the weather, and mathematical models to interpolate to a local variation. A few terriestrial recordings are still made, mostly to provide consistency with past measurments and to inform climatological models over a decade or more.

Daily assignment

Steve Loft created Cumulus software, back in 2003, because he owned a weather station and he could not find any software that allowed him to process measurements in the way he wanted. The first public release, allowing other people to use his software, was on 27th January 2004.

Most weather organisations in the world still to some extent remain consistent with the traditional way of working. This means that they report by meteorological day. Therefore, a key requirement for Steve Loft was to report daily derivatives based on a day that started at 9 a.m. Most weather software can only report daily measurments on a calendar day basis (since midnight).

Steve Loft did make a simplifying assumption that does not align with the practice of most Meteorological Offices, Cumulus treats all weather station measurements the same, booking them to the date at start of measuring period (meteorological day). Most official measurements assign minimum temperature, and rainfall, to the date at end of measuring period. The World Meteorological Office (WMO) allows individual nations some flexibility, and does not prescribe total international alignment.

The following table tries to illustrate the divergence if you choose a rollover time other than midnight:

Derivative Typical national practice Cumulus approach
Minimum Temperature The daily minimum temperature in the 12 hours (9 p.m. to 9 a.m.) prior to the traditional observation time is assigned to the date of that observation The daily minimum temperature in the 24 hours starting at the selected rollover time is assigned to the date of that rollover
Maximum temperature The daily maximum temperature in the 12 hours (9 a.m. to 9 p.m.) after the traditional observation time is assigned to the date that applies to both times Reported for day starting at rollover time
Average temperature The WMO says that daily temperature average is best calculated in a way that is comparable with historic climatic records, although it accepts there is some divergence between nations. The WMO preference is to report for mean temperature the average, of the minimum in previous 12 hours, and maximum in subsequent 12 hours, this ensures consistency with traditional climate statistics that might be dependent on a single observation of maximum and lowest per day.
  • Prior to automatic recording, some stations would have manual recordings taken a few times a day, and if these were at 0600, 12:00, and 18:00, the mean might be calculated by adding the 3 readings, then adding the last again (to compensate for no night-time observations), and dividing by 4!
  • Nations are permitted by WMO to use integrated averages for their internal purposes. (By integrated all automatic measurements that are available, the reported average is a better representation for the entire day).
Every time Cumulus processes a temperature from your weather, after conversion to your units, and any calibration multiplier/offset has been applied, the resulting temperature is added to a total kept in today.ini, incremented the count in the same file. The integrated average reported at the end of the day is a simple calculation, the total is divided by the count.
Rainfall Some nations report the daily rainfall for the 24 hours prior to the 9 a.m. observation time on a particular date. Others, throw their rainfall total back to previous date, i.e. the total for the 24 hours after 9 a.m on the particular date. Cumulus checks the current reading from a "count" supplied by weather station, it subtracts from this the count it stored at rollover time. From the count different, converted to required units, and calibrated, Cumulus assigns a rainfall total to the date when the day started.
Sunshine Hours Always reported by calendar day (midnight to 23:59) Regardless of which rollover time is selected, Cumulus always reports sunshine hours from one minute past midnight until midnight for any day. Note, MX does this efficiently, by using yesterday.ini if necessary; the legacy Cumulus 1 was dependent on internally held counts, so the calculation was wrong if that software was not running continuously.
Snowfall A snow day is reported by calendar day. The snow depth may be only reported at standard observation time of 9 a.m. (or as maximum that day) Processing changes by flavour:
  • Badge vMx.png MX reports snow falling, snow lying, and snow depth, taken from the weather diary.db. If the hour part of the current clock time is less than SnowDepthHour, the diary entry for previous calendar date is sought, for SnowDepthHour onwards it seeks diary entry with current calendar date
  • Badge v1.png The legacy Cumulus reported just snow depth, but it used that to calculate the snow index for a month, year, or season. Again, it checks hour of clock time against SnowDepthHour to decide which date to seek in Weather Diary. However, that diary could have any number of entries for any one date, so Cumulus permitted retrieval of any of those, but for snow index only uses last one of any date.
Highest and lowest pressure Reported for day starting at 9 a.m. Reported for day starting at selected rollover time Highest wind speed Reported for day starting at 9 a.m. Reported for day starting at selected rollover time

Read more

thunder, rainfall, mean sea level pressure, snow days, fog day, minimum and maximum temperature

minimum temperature, and rainfall, a day out

WMO guidance for climate normals see table 1 on page 3 where it says " Different methods are in operational use for the calculation of daily mean temperature."