Reports folder: Difference between revisions

1,070 bytes added ,  09:54, 19 August 2021
m
Line 171: Line 171:
In the end-of-day process, Cumulus output the monthly and yearly reports for the day that has just ended.  This means when a new month, or new year, starts, the report is only available from the second day.
In the end-of-day process, Cumulus output the monthly and yearly reports for the day that has just ended.  This means when a new month, or new year, starts, the report is only available from the second day.


Although Steve Loft never shared his code for Cumulus 1, he did hint that his software retained content for the current reports, and that the daily update built on the existing report, just adding the new line, and updating the summary. Consequently, it seems his reports were constructed from very accurate data as each line was being made as data was read from the weather station during the day.  He warned "Be aware that a regenerated report for a past period might not be quite as accurate as the report that Cumulus can generate as part of end of day processing", confirming that the processes for originally producing the report and for subsequently regenerating past reports were different. For regenerating past reports, all the data for the reports was calculated from processing [[Standard log files|standard log file]] entries (these hold periodic spot values that typically miss any extremes). Steve also warned that for reports produced normally (in end of day process) you would make the lines incompatible by any changes you make to settings, such as thresholds.  The legacy Cumulus does not recalculate earlier information according to latest settings, but it shows the latest thresholds as if they apply to all information on the report.
=How is report generated?=


The average wind speed used for NOAA reports was, by a bug, based on midnight to midnight days regardless of rollover time in use, for any reports produced by versions up to 1.9.4 build 1085 only:
All reports are generated by processing data that Cumulus has already stored somewhere, see subsequent subsections as it varies by flavour.
*From 1.9.4 build 1086, the calculation is correctly based on the rollover time being used.
 
For all flavours of Cumulus, the summary at the base of the monthly report is calculated as follows:
* the arithmetic average is calculated, and shown, for Mean Temp column  and Wind Speed column
* the total is calculated, and shown, for the Rain column
* the highest figure in column above is found, and shown, for all columns headed High or Low
** the number in time columns represents the day number where the High/Low figure shown was reported
* There are 4 thresholds for temperature, and the number of days below or above that threshold is counted
* For each rain threshold, a count is made of days with rainfall above that figure
 
 
==MX==


Mark Crossley does share the source code for MX, this shows that MX creates the monthly and yearly reports afresh each day, reading information from [[dayfile.txt]] for past days. If you change threshold settings for degree days in MX, that only affects subsequent daily summary log entries, so again although the report shows the latest thresholds, these might not apply to all information on the report. Mark's monthly report uses:
Mark Crossley does share the source code for MX, this shows that MX creates the monthly and yearly reports afresh each day, reading information from [[dayfile.txt]] for past days. If you change threshold settings for degree days in MX, that only affects subsequent daily summary log entries, so again although the report shows the latest thresholds, these might not apply to all information on the report. Mark's monthly report uses:
Line 180: Line 190:
#Highest daily [[Temperature_(and_humidity)_measurement|temperature]] and time (taken from fields 7 and 8 of the daily summary log)
#Highest daily [[Temperature_(and_humidity)_measurement|temperature]] and time (taken from fields 7 and 8 of the daily summary log)
#Lowest daily temperature and time (taken from fields 5 and 6 of the daily summary log)
#Lowest daily temperature and time (taken from fields 5 and 6 of the daily summary log)
#[[Heat/cold degree days|Heating degree days]] (taken from field 41 of the daily summary log)
#[[Heat/cold_degree_days_and_Chill_hours|Heating degree days]] (taken from field 41 of the daily summary log)
#[[Heat/cold degree days|Cooling degree days]] (taken from field 42 of the daily summary log)
#[[Heat/cold_degree_days_and_Chill_hours|Cooling degree days]] (taken from field 42 of the daily summary log)
#Daily Rainfall (taken from field 15 of the daily summary log)
#Daily [[Rain measurement|Rainfall]] (taken from field 15 of the daily summary log)
#[[Wind_measurement|Average Wind Speed]] (calculated from field 17 of daily summary log,  by dividing by 24 - the number of hours in a day)
#[[Wind_measurement|Average Wind Speed]] (calculated from field 17 of daily summary log,  by dividing by 24 - the number of hours in a day)
#Highest daily average wind speed and time (taken from fields 18 and 19 of the daily summary log)
#Highest daily average wind speed and time (taken from fields 18 and 19 of the daily summary log)
Line 190: Line 200:
From release 3.12.0, there is a choice between that integrated average (calculated from every temperature reading processed), and the WMO average based on limited manual observations (here calculated from adding fields 5 and 7, then dividing by 2)
From release 3.12.0, there is a choice between that integrated average (calculated from every temperature reading processed), and the WMO average based on limited manual observations (here calculated from adding fields 5 and 7, then dividing by 2)


For all flavours of Cumulus, the summary at the base of the monthly report is calculated as follows:
==Cumulus 1 and Cumulus 2==
* the arithmetic average is calculated, and shown, for Mean Temp column and Wind Speed column
 
* the total is calculated, and shown, for the Rain column
Although Steve Loft never shared his code for Cumulus 1, he did hint that his software retained content for the current reports.
* the highest figure in column above is found, and shown, for all columns headed High or Low
 
** the number in time columns represents the day number where the High/Low figure shown was reported
In other words, the old report is used as the basis for any new one, the generation procedure just calculates the new line to add to a monthly report, or the line for this month in a yearly report. Then his generation procedure updates the summary.
* There are 4 thresholds for temperature, and the number of days below or above that threshold is counted
 
* For each rain threshold, a count is made of days with rainfall above that figure
Consequently, it seems his reports were constructed from very accurate data as each line was being made as data was read from the weather station during the day.  Steve warned that for reports produced normally (in end of day process) you would make the lines incompatible by any changes you make to settings, such as thresholds during the month or year covered by the report.  This confirms that the legacy Cumulus does not recalculate earlier information according to latest settings, although it shows the latest thresholds in text on the report, as if they apply to all information on the report.
 
You can of course change thresholds, Steve provided for that, by allowing the regeneration of past reports. Because Cumulus does not track whether you have changed thresholds, when you do choose to manually generate any reports in Cumulus 1, it ignores daily summary entries in dayfile.txt that might have been invalidated by subsequent changes to thresholds. As Cumulus does not have access to every reading it processed originally from the weather station, the manual report generation process uses the [[Standard log files|standard log file]] entries (these hold periodic spot values that typically miss any extremes), as the source and recalculates all the derived values shown on the report. Steve warned "Be aware that a regenerated report for a past period might not be quite as accurate as the report that Cumulus can generate as part of end of day processing", confirming that the processes for originally producing the report and for subsequently regenerating past reports were different.
 
===Bug in some NOAA reports===


The average wind speed used for NOAA reports was, by a bug, based on midnight to midnight days regardless of rollover time in use, for any reports produced from when the report functionality was first added to Cumulus 1, up to 1.9.4 build 1085 only:
*From 1.9.4 build 1086, the calculation is correctly based on the rollover time being used.


=Annual Report=
=Annual Report=
5,838

edits