Heat/cold degree days and Chill hours

=Explanation=
==Heat Degree Days==
You may have a thermostat that makes your heating come on when the temperature falls below a threshold.
Cumulus calculates an integration of the number of degrees below a threshold you select with the time that the temperature is below that threshold.
Cumulus reports this by month as part of the National Oceanic and Atmospheric Administration (NOAA) style report, in the annual NOAA report, in dayfile.txt, and via heating degree days web tag. (NOAA is an Operating Unit of the U.S. Department of Commerce).
So if for the whole of November, there was four hours at one degree below the threshold, two hours at five degrees below, and three hours at seven degrees below; the total for the month would be (4*1)+(2*5) +(3*7) hours reported as 35 degree days.
== Use of Heat Degree Days ==
If you compare the heat degree days figure for two periods, then one would expect to have a higher heating bill in proportion to the increase in heat degree days. Additionally, introducing energy efficent measures can only be evaluated if one makes allowance for the heat degree days before and after the new measures.
Selecting the right threshold can be crucial, it might be as used by a thermostat to switch on the heating, or the planned comfort temperature. If the threshold you select in Cumulus matches your thermostat, the reported value gives you a measure for how hard your heating system has worked; otherwise it is a statistic that gives you a feel for how cold it has been.
==Chill Hours and/or Air Frost==
A related measure is Chill Hours, also reported by Cumulus counting the hours below a (different) configurable temperature threshold for the 12 month period starting at 00:00 hours on the 1st day of a configurable month.
This measure is sometimes called Growing Degree Days, because it relates to plants or insects rather than heating systems, but that seems a strange labelling because growth in most plants and insects responds to warmth, although some seeds need a period of chilling to stimulate germination and as described below some fruit needs chilling to promote development. However, enhancement request #262 reports a different definition of Growing Degree Days based on summing daily: ((MaxTemp - MinTemp)/2 - BaseTemp) for all days where the value is positive (negative values are not subtracted).
=== Calculation of Chill Hours ===
The traditional way of calculating the accumulation of Chill Hours is the number of hours the temperature is below 45 degrees Fahrenheit or 7 degrees Celsius for the period of 1st October to 30th April in the Northern Hemisphere. 
From MX 3.12.0, the default start month is April in Southern hemisphere and October in Northern hemisphere. Earlier releases had start month of October regardless of the latitude. There are other changes in 3.12.0 that improve the way that Cumulus software processes Chill Hours.
One applicability is to stone and seed fruit as their exposure to low temperatures during the winter months will have a significant effect on the following harvest. Too few cold hours can result in poor quality and quantity of the crop. Fruit tree varieties prefer a Chill Hour rating from about 200 hours to around 1500 hours. 
On Cumulus that threshold is the default, so you simply observe the reported value at the relevant time on 30 April/1 May in Northern hemisphere.
 To use a different threshold add ChillHourThreshold=x.x to station section in Cumulus.ini_(Cumulus_1) where x.x is the temperature you want in your normal Cumulus temperature units. Use ChillHourSeasonStart=mm in station section in Cumulus.ini_(Cumulus_1) where mm represents month number (1=January, 12=December) to change the season start. The current figure is viewable on the 'This Year' screen accessed from the View menu (only when the current year is selected), stored in today.ini, and is available via web tag <#chillhours> to be seasonal or longer period added to a web page template of your design.
Should you miss checking the reported value on 1 May, then for a few days, you can look in the backup sub-folder for the necessary archived today.ini. In the final 1.9.4 version of Cumulus 1, a new archive of the data sub-folder is taken just after each rollover, but note that Chill hours are counted in Cumulus by calendar day (therefore some interpolation is needed if your rollover is 9am/10am). From release 3.10.0, the backup reverted to at end of day as in early Cumulus 1 software versions.
Sfws 10:53, 1 December 2012 (UTC) (with thanks to Randy who raised Enhancement Request #117 and supplied some of the above text)
Updated for MX 15:28, 11 June 2021 (UTC) Sfws (talk)
=== Air Frost ===
However, the way it can be configured on Cumulus will allow you to track air frost (defined as when temperature at the standard measuring height is below the freezing point for water) hours, ground frost (temperature close to ground level is below freezing) hours or any other measure being below the threshold parameter. Sometimes the term 'grass frost' is used for whan the air temperature goes below 4 degrees Celsius, it roughly corresponds to when grass looks white due to frozen dew (water is more dense below 4 degress than above 4 degrees so the cold moisture falls onto the grass).
To see, in the legacy Cumulus 1 software only, number of Air Frost days, use the View menu to select 'This Month', 'This Year' or 'This Period' and choose the precise period of interest using the drop down selectors. (As at build 1058, there are no web tags to give air frost day counts).
The Chill hours web tag with a threshold of 0 degrees Celsius (32 Fahrenheit) will give air frost hours since the starting month.
==Cold Degree Days==
You may have a thermostat that makes a cooling system come on when the temperature rises above a threshold.
Cumulus calculates an integration of the number of degrees, above a threshold you select, over the time that the temperature is above that threshold.
Cumulus reports this by month as part of the NOAA report, in the annual NOAA report, in dayfile.txt, and via cooling degree days web tag.
If the threshold you select in Cumulus matches your thermostat, the reported value gives you a measure for how hard your cooling system has worked; otherwise it is a statistic that gives you a feel for how hot it has been.
So if for one day in June, successive readings at one minute intervals above the threshold were 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, then it stayed 10 degrees above for 1 hour, before falling in successive minutes to 9, 8, 7, 6, 5, 4, 3, 2, and 1 degrees above the threshold, the total for that day (of 1440 minutes) would be 150 degree minutes reported as 150/1440 or 0.1 degree days.
Sfws 10:53, 1 December 2012 (UTC) (with thanks to Mark Crossley for help with understanding degree day unit)
=Setting the threshold=
== Heat and Cold Degree Days for NOAA reports ==
===MX Settings===
Please see Cumulus.ini#Thresholds for information about setting thresholds in latest MX release. No screenshot is included, as there are 2 different ways in which the setting screens can now be displayed, so to show one or both would be muddling.
===Legacy Software===
File:NOAA_Setup_extract.jpg‎The thresholds for Heat and Cold Degree days are set in the NOAA Setup option within the Configuration menu. The picture shows just parts of the setup screen. 
==== CAUTION: Think carefully, about what threshold to use ====
Cumulus stores your selected threshold values in the cumulus.ini file within the folder containing your Cumulus software (see Cumulus.ini_(Cumulus_1)#Section:_NOAA).
===General Explanation===
It allows you to specify, in the units you have selected to use in your implementation of Cumulus, the two thresholds (they do not have to be the same, although they are in the picture that shows the thresholds traditionally used in the UK in the pre-computer age of standard reference look-up tables). Since it introduced electronic processing in the 1960s, the UK Meteorological office has used 22 Celsius for Cold degree days, and used 15.5 Celsius for Heat degree days.
If you later change the threshold, you will have inconsistencies on your reports:
* The report will quote the new threshold, but only after the time you changed the threshold, will Cumulus calculate the degree day counts based on the new threshold for the minute by minute interrogations of the weather station. 
* For the period from when you installed Cumulus version 1.9.2 (this also applies for any earlier days added by 'create missing' with the new version) until day before changing threshold, the integrated figures as stored in dayfile.txt at the end of the meteorological day are quoted in the report. These counts were integrated on a minute-by-minute basis using the thresholds that existed at the time that the figures were stored in the daily summary log. It is therefore not possible to affect these degree days retrospectively by changing the thresholds. 
* For days that were logged before you installed version 1.9.2 (or a later build if you missed out that version), there are no degree day figures in dayfile.txt. The values for the NOAA report are calculated simply by comparing the average daily temperature with the current threshold settings, so in this case any change in the threshold does apply retrospectively for those days although the calculation is inconsistent with later days. 
Cumulus 1.9.2 was available as default version from 5th October 2011, or as beta Build 1004 from 21 July 2011.
Reducing the inconsistencies:
* One option is to manually recalculate an approximate value for each day simply by comparing the average daily temperature with the current threshold settings, making any consequent edits directly in stored files containing past reports. For each degree (° C or ° F) below/above the threshold of the average daily temperature, add/subtract 1 degree-day from the daily figure previously recorded.
* The preferred option uses the View menu in Cumulus and the selection to generate new NOAA reports for a month (or year). The new report will not be consistent with the latest thresholds unless you have deleted all the 'pre-threshold change' values stored on 'dayfile.txt', but there is an option to save the new report (overwriting any previous one if you use the same name). Obviously if you have deleted values, your report will be consistent for the whole month, it will not use integrated totals, but simply an approximation based on the average daily temperature.
== Configuring Chill Hours ==
The Chill Hours defaults are configurable by adding entries to the [Station] section in Cumulus.ini file with Cumulus software stopped (see Cumulus.ini_(Cumulus_1)#Section:_Station):
ChillHourSeasonStart=10
ChillHourThreshold=45
The season start figure is the calendar month number (1 to 12), and the temperature threshold is specified in the units that you use in Cumulus.
Category:Terminology