Calculate Missing Values

From Cumulus Wiki
Revision as of 15:51, 27 January 2021 by Sfws (talk | contribs) (Sfws moved page Correcting Missing Values to Calculate Missing Values without leaving a redirect: More descriptive title)
Jump to navigationJump to search

Introduction

As Cumulus has developed, it has included the ability to do more and more, so for many Category:Log_Files, the number of fields that are stored can vary for different lines, depending on which version the user was running when that line was created.

Cumulus MX, release 3.9.2 - b3097 (released 7 Dec 2020), added the ability to display historic charts, these read old lines from the log file, so there is now a demand for all the fields that are available now to be available for historic data as well.

This has been created to explain how derived values are calculated, and how they can be added into older lines in the log files.

Some definitions

Derived value

In general, if there is a rogue value read from a weather station, it will affect not just that reading, but all values that are derived from it. So it is necessary to explain what is meant by derived values.

Derived spot values

It is important to understand how Cumulus works. Some weather software when it stores the values into a data log will store both the highest and lowest value since the previous log entry. Cumulus only stores the spot values read (or derived) just before that entry is made into the data logs; for details see Standard_log_files or Extra_Sensor_Files. The default logging interval is every 10 minutes, although that can be adjusted, this means that there is a high chance that any rogue value read from a weather station will not be found in these data logs, as it is unlikely it happened just before a log line was written.

  • For some weather data processed by Cumulus the value sent by the weather station and that used by Cumulus will be different:
    • This can be because the units used by the weather station, and the units required by the Cumulus user are different (and Cumulus allows the user to select the units in which values will be stored)
    • This can be because the user has entered some calibration settings. The exact settings available vary for different weather data, but in some cases a second order multiplier is available (the square of the input value is multiplied by the secord order multiplier), a first order multiplier is available (the input value is multiplied by the first order multiplier), and an offset is available (added to the input value). If you want to understand how this works, please see Cumulus.ini#Offsets for the details
  • Other values are derived in the sense that a particular weather station does not output that weather data, and Cumulus calculates it. Here are the ones that Cumulus can calculate:
    • Dew point, a weather station might output dew point temperatures, or Cumulus might calculate it from the values that are output (outdoor temperature and outdoor humidity)
    • Wind Chill, again this might be output by your weather station, but Cumulus can calculate it from outdoor temperature and average wind speed.
    • Canadian Humidity Indes, USA Heat Index, Apparent Temperature, Feels Like Temperature; all of these are output by MX (not all in early versions) and some are output by later Cumulus 1 versions (the readings from your weather station used obviously vary depending on derived value).
    • Heating Degree Days and Cooling Degree Days; these are further examples of derived values that most versions of Cumulus will calculate for you (from all processed outdoor temperatures in a day)

You can find many of these explained in the Category:Terminology pages of this Wiki, otherwise search online and find them in for example Wikipedia.

Over time derived values

This is an attempt to summarise how Cumulus produces derived values by looking for extremes, or cumulative total values over various periods of time:

  • Daily, one big feature of Cumulus software is that it calculates daily totals and extremes (regardless of whether the weather station can supply them or not), the feature was added because originally Cumulus was designed to match the way that meteorological services reported values for 9 a.m. to 9 a.m. days (and Cumulus can swap to using 10 a.m. in summer just as official statistics do)
    • Only daily maximum is stored by Cumulus for those weather values that have a fixed minimum (wind speed, Humidex, rainfall rate, are examples)
    • Both daily low and daily high are stored for those weather values where a spot value can vary up and down during the day without a fixed minimum (temperature and pressure are examples
    • Cumulative values are stored for some items (e.g. rainfall, Heating degree days, sunshine hours)
    • What Cumulus does not do is fully obey professional meterological practice (as a few examples: for a particular date the lowest temperature in the 24 hours prior to 9 a.m. is stored, while for highest temperature it is that in the 24 hours following 9 a.m., for snow records it is whether snow fell on the calendar day i.e. since midnight that determines what is assigned to that date)
  • This month, from version 1.2 Cumulus has added the facility to output extremes and totals for the current month to date.
    • Note 'month-to-date rainfall' is treated differently, it was introduced in version 1.1 and shown on the main screen in Cumulus 1, it also appears on the "current conditions" sample web page provided in Cumulus instead of the this month sample web page. For MX the admin interface also displays it on the current conditions page.
    • Whether a cumulative total, just a maximum, or both high and low are stored by Cumulus depends on the particular derivative just as for daily values
    • from version 1.7.5 onwards the original Cumulus counts air frosts and gale days in the current month-to date (it can do it for any period actually), this feature is not in MX
  • This year, similar derivatives are maintained on a yearly basis
    • Again rainfall is treated differently, the cumululative total is seasonal, you can choose which month it starts counting from, and you can even ask it to add a fixed amount while you are in a particular calendar year (yes the seasonality is ignored for that offset)
    • Another seasonal parameter is added, cumulative Chill Hours are maintained by Cumulus from version 1.9.2 onwards, again you specify the month when the season is to start, but you also can vary the threshold.