Today.ini: Difference between revisions

11,022 bytes added ,  5 August 2022
no edit summary
No edit summary
[[Category:Ini Files]]
<div style="background: LemonChiffon;padding:5px; margin:2px;">
[[File:Crystal Clear info.png|40px]] This page was written for the (legacy) Cumulus 1 software. It has been partially updated to cover MX, but MX continues to change and the information here relates to an old MX release!
 
= Introduction to tracking of Daily Extremes/Totals/Averages =
If any contributor is willing to update content, so it is more friendly for those using latest release, can they ensure this page is still helping those using older MX releases and the legacy Cumulus software.
</div>
 
Steve Loft first wrote Cumulus software in 2003, although it was not shared with the public until 27th January 2004. His (no longer available) web site claimed (amongst other reasons) that Cumulus was invented to cope with [[Meteorological_day|tracking high and low for days starting at 9 a.m.]] as (at that time) no other software could do that. Therefore, it can be assumed that even in 2003, Cumulus software was tracking the highest/lowest for all time as well as for each day . (For daily period, there is also tracking of some totals, and in some cases by dividing by number of samples averages can be calculated). This Wiki page covers all aspects of the daily tracking.
= Introduction =
The files '''today.ini''' and '''[[yesterday.ini]]''' are used by Cumulus to store some counts, plus the Highs and Lows (and their timestamps) for key parameters as reached on each of the two days, for Cumulus 1 these files are where the figures that appear on the main screen are stored.
 
The legacy Cumulus 1 software has a '''Recent extremes''' frame on its [[Cumulus_Screenshots#Main_Screen|main screen]]. In release 1.0 (27th January 2004) this only showed extremes for today, but from 1.1 (17th February 2004) it also shows extremes for yesterday. The interface provided with Cumulus MX is also able to show the extremes for today and yesterday (on a single web page).
In Cumulus 2 and 3(MX) these files hold figures that appear on the today/yesterday page of the [[MX Administrative Interface|local interface]] you can view.
 
=Essential reading=
==Where are the files stored?==
 
Cumulus 1 has a [[Downloads#Resources|Help file]] that is part of the Cumulus 1 installation package; that provides a simple explanation for each file.
The files '''today.ini''' and '''[[yesterday.ini]]''' are located in the [[Data folder|"Data" sub-folder]] of the path where your cumulus.exe (or CumulusMX.exe) is installed.
 
David Jamieson created this Wiki page on 27 August 2009, to cover "today.ini" and "yesterday.ini" files. His introductory text simply stated these files were for tracking extremes in the two days and new files were created at 9am or midnight rollover). David also included a listing of an example just for "today.ini". Since then, the Wiki has attempted to become reference documentation that answers questions that arise frequently in the support forum. This does mean its pages have become harder to read, and thus there is now an attempt to split "essential" facts that give a basic understanding (as in following subsections) from "technical" facts (more complex with instructions on how to cope with problems).
Microsoft Windows Operating Systems, may relocate some files, as explained at [[FAQ#I_can.E2.80.99t_find_my_data_files.21| FAQ on location of data log files]].
 
Therefore for a quick read, stop after this essential section or use the page index above to skip quickly to whatever is of interest to you.
 
= Format of the file =
 
== How Cumulus tracks extremes and why two files were introduced ==
All '''.ini''' files use a common format as described at [[:Category:Ini_Files]], where some differences between the legacy Cumulus and MX are noted.
 
Cumulus software handles daily tracking by storing values internally, i.e. within its use of random access memory. As the software processes (the time interval for doing this varies between weather station type and also on exactly which release you are running) data from the weather station, incoming values are compared against internally held values, and when appropriate the values being processed update the internal values.
Essentially, this format is that square brackets surround section names. The sections (after the first [General]) can be in any order, Cumulus will maintain whatever order the sections are currently in.
 
Cumulus initially made the assumption that it would be left running continuously, so holding values internally enabled them to be shown on that screen. However, subsequently it was realised that Cumulus had to be stopped and restarted to install a new version (and Microsoft's updates system restarts computers as part of its installation process). Information held in RAM is lost when the software is closed.
Under each section name, there is a list of parameters <code>attribute=value</code>, with one parameter per line. The attribute names are defined by Cumulus, but can appear in any order, the values are stored in the units selected by the Cumulus user. For real (not integer) numbers, the decimal part cannot be easily converted between base 10 (used for display) and the base 2 (used internally by the Cumulus code), and therefore you may see more decimal places than you expect.
 
Apparently when version 1.3 was released (18 January 2005) it did not include "today.ini" nor "yesterday.ini". An attempt to track the history of the "today.ini" file appears [[Changes to this file at particular releases|below]]. Unfortunately, Steve Loft lost some of his notes, and the Cumulus 1 version history in his [[Downloads#Earlier_Versions|changes.txt]] is incomplete. So it is pure guesswork that version 1.4 resolved the problem of losing daily information on closing Cumulus by introducing a '''today.ini'' file to hold the daily extremes and total records.
 
Steve Loft did document that at rollover, the daily extreme/average records were "transferred" (there are some differences) from "today.ini" to [[yesterday.ini]] to make it easier to display them on the main screen of the legacy software. The sub-section below covers this in more detail.
 
When you close Cumulus, it will write the final values for highs and lows and their timestamps to today.ini as part of the close down process.
 
==End of day actions==
 
End of day actions happen when Cumulus detects that it is processing weather data for the rollover time [either midnight, or 9am (or 10am) depending on your configuration and season], this might be during the processing of archive data while Cumulus is catching up after it has been restarted, or in normal running when those clock times are reached.
 
Oversimplifying the process a bit, the contents of today.ini, goes to two places:
# yesterday.ini
# a new line appended onto [[dayfile.txt]]
 
After that a new today.ini is created populated with initial values for each extreme/total entry.
 
The three files have a few differences in content, so rolling-over does involve a little editing work:
# The multiple lines in the [General] section of today.ini shrink to just one item in yesterday.ini (Date) and one item in dayfile.txt (abbreviated date)
# The 'Total' and 'Samples' values in "today.ini" become the single 'AvgTemp' in "yesterday.ini" and "dayfile.txt"
 
 
=== Complexity if you are recording sunshine hours ===
 
Sunshine hours are recorded starting at midnight, regardless of what rollover time is used.
 
For MX only, the sunshine hours are partly recorded in [[yesterday.ini]] and partly in today.ini. So even if your rollover is 9 am, there will be an update to both files at midnight which is when the current sunshine hours figure in today.ini is copied to yesterday.ini before the figure in today.ini is reset to zero.
 
==Where are the files stored?==
 
The files '''today.ini''' and '''[[yesterday.ini]]''' are located in the [[Data folder|"data" sub-folder]] of the path where your cumulus.exe (or CumulusMX.exe) is installed.
 
(NOTE: Microsoft Windows Operating Systems, may relocate some files, as explained at [[FAQ#I_can.E2.80.99t_find_my_data_files.21| FAQ on location of data log files]]).
 
 
When Cumulus is left running, a daily backup of all the files is created as part of this rollover in a subfolder 'daily' of the [[Backup_folder|backup folder]]. Depending on the release you are running, the files included in the backup may be a snapshot of their content just before rollover, just after rollover, or at the first standard interval after rollover.
 
== How Cumulus updates the file ==
 
This depends on which flavour of Cumulus you run. The [[#End of day actions|end of day process]] is same for both flavours, but updates during the day work differently for the legacy software and for MX.
 
For '''today.ini''', it is important to be aware that MX can read a file created by Cumulus 1 (MX can read the time format in the value for '''Timestamp=''' parameter whether it is in Cumulus 1 or MX format), but Cumulus 1 cannot read a file that has been updated by MX.
 
Cumulus MX and the legacy software handle the updating of "today.ini" differently, this difference is critical should you want to [[Correcting_Extremes#Correction_of_extremes_for_today|edit out rogue data]].
For readability you can insert blank lines into files '''today.ini''' and '''[[yesterday.ini]]''', Cumulus will not mind. Do not however introduce any punctuation nor change the format of any parameter line.
 
=== How Cumulus 1 updates the file ===
Remember Cumulus needs to read and update '''today.ini''' throughout the day, so do not attempt to edit it while Cumulus is running, as that could conflict with an edit by Cumulus.
 
Steve Loft never shared his souce code, so what follows is just a guess at how the update might work. The frequency at which data is read from a weather station varies depending on the type, but is at least every 30 seconds.
==Typical Sections within file==
 
The indications are that Cumulus 1 has an internal one minute timer that triggers the logging of readings (after conversion to units selected) to an internally held
As Cumulus is developed it is adding further sections, but the legacy Cumulus (by 1.9.4) used the following:
[[Recent history|recent history database]] and the comparison of those readings against existing internally held extremes/totals. The file is updated immediently afterwards, each update only changes those lines (within sections) where the extreme/total/count/time has changed, and other lines retain the same content as before the update.
* The [General] section stores current date and time.
* The [Wind} section stores the highest wind speed and highest gust, it holds the sum of wind speeds as wind run, and details for the dominant wind.
* The [Temp], or temperature, section stores the highest and lowest temperature, the sum of all temperatures from every sample (Total), and the number of Samples in that total, the Cumulative Chill Hours total (for the season), and the cumulative Heating and Cooling Degree Days for the current day-so-far.
* The [Pressure], [Humidity], [AppTemp] (for apparent temperature), and [Dewpoint] sections just hold Highs and Lows.
* The [WindChill] section only holds lowest, the [HeatIndex] section only has highest.
* The [Rain] section holds a lot of different parameters, including the Start count that derives most rain outputs, and the LastTip date-time.
 
Whilst you are strongly advised not to manually edit the file with Cumulus running, because access to the file cannot be shared, if you are able to complete the edit between one real-time interval and the next, any change you make is retained.
Other sections present in 1.9.4 are [ET], [Solar], [NOAA], and [FineOffset] whether these are updated depends on whether your weather station supplies the necessary information, and whether you have set up NOAA reports.
 
(NOTE: A full set of latest spot readings are logged to a file at a configurable interval that might be every 10 or 30 minutes).
MX adds, amongst others, an additional section '''[Records]''' that contains entries denoting when extreme records were last revised. For example "Alltime=2020-03-06T06:42:13", indicates when the all-time extreme records was last updated. In the example file, there were various extreme records broken at that time on 6 March (lowest temperature, lowest apparent temperature, and greatest wind chill), but none have been broken since.
 
===How MX replaces the file===
= Differences between Cumulus 1 and Cumulus MX =
 
Note the subtle difference in this sub-section header. MX does all updates to the today extremes/totals/counts only to internally held values. Although the [[Software#Latest_MX_Source_Code|source code]] is available, you need to be more technical than the person typing this to understand at what frequency these internal updates occur. It is probably every time data is read from the weather station, but might be just when the externally stored [[Recent history|recent history database]] is updated.
As Cumulus 1 was developed it added further sections to both '''today.ini''' and '''[[yesterday.ini]]'''. As MX is developed, it also is adding further sections. Since both these files are recreated on a daily basis, their content will always be what is defined for the release you are running.
 
Critically, MX only updates the "today.ini" file at the configurable [[Standard log files|Standard interval]] used for logging the spot values (might be every 10 or 30 minutes). Each update is a ''rewrite of the entire file contents'', from the internally (RAM) held values.
The key difference between all [[:Category:Ini_Files]] for the different flavours is the time-stamps:
* [[File:Badge vMx.png]]Cumulus MX shows date/time in ISO 8601 format of <code>yyyy-MM-ddTHH:mm:ss</code>(using the net specifiers that MX uses).
* Cumulus 2 (no longer available) used UTC time-stamps
* [[File:Badge v1.png]] Cumulus 1 used the format specified in Control Panel for your region settings, for UK that would would typically be <code>day/month/year (space) hour:minute</code>
 
You would be wasting your time should you try a manual edit of the file while MX is running, as the next MX update will overwrite any manual changes! Don't be misled by the fact that a sharing violation is less likely to be an issue (because of the longer interval between MX updates).
==When Cumulus is running==
 
== Format of the file ==
The key difference between Cumulus 1 and MX is the frequency of updating today.ini:
* Mark Crossley code updates this file at [[Standard log files|Standard interval]]
* Steve Loft code updates this file at [[Recent history|Recent history interval]]
 
The files are text files, consisting of many lines. Some lines consist of a single piece of text surrounded by square brackets, these are the section names. The sections (for "today.ini" after the first [General]) can be in any order, Cumulus will maintain whatever order the sections are currently in.
When you close Cumulus, it will write the final values for highs and lows and their timestamps to today.ini as part of the close down process.
 
Under each section name, there is a list of parameters <code>attribute=value</code>, with one parameter per line. The attribute names are defined by Cumulus, but can appear in any order:
=End of day actions=
* Where a time-stamp is stored, note that in "today.ini" only the hour and minute parts of a time are stored.
* Where an extreme/total value is stored, note that it is always post conversion to the units selected by the Cumulus user.
** It was mentioned earlier that the file exists to store values that Cumulus holds in RAM. Internally those numbers are in binary (base 2), but in the file the numbers are expressed to base 10. The value of any integer part of numbers is unchanged between the two bases, but decimal parts in base 2 and base 10 do not convert exactly, therefore in the file you may see some strange looking numbers with lots of decimal places.
 
The key difference between all [[:Category:Ini_Files]] for the different flavours is the formatting of any time-stamps that include a date:
End of day actions happen when Cumulus detects that it is processing weather data for the rollover time [either midnight, or 9am (or 10am) depending on your configuration and season], this might be during the processing of archive data while Cumulus is catching up after it has been restarted, or in normal running when those clock times are reached.
* [[File:Badge v1.png]] Cumulus 1 used the format specified in Control Panel for your region settings, for UK that would typically be <code>day/month/year (space) hour:minute</code> in today.ini
* Cumulus 2 (withdrawn) worked differently, all date/time stamps were converted to UTC, and stored in ISO 8601 format of <code>yyyy-MM-ddTHH:mm:ss</code>(using the net specifiers that MX uses).
* [[File:Badge vMx.png]] Cumulus MX uses the same format as Cumulus 2, but all date/times are expressed according to date/time read from the computer running MX, so use whatever time-zone you have selected on that device.
 
Please look at the category page (link above) to read more on formatting differences between the legacy Cumulus and MX.
Oversimplifying the process a bit, the contents of today.ini, goes to two places:
# yesterday.ini
# a new line appended onto [[dayfile.txt]]
 
===Typical Sections within file===
After that a new today.ini is created.
 
As Cumulus is developed it is adding further sections, but the legacy Cumulus (by 1.9.4) used the following:
The three files have a few differences in content, so rolling-over does involve a little editing work:
* The [General] section stores current date and time.
* for example the 'Total' and 'Samples' values in today.ini become the single 'AvgTemp' in yesterday.ini and dayfile.txt;
* The [Wind} section stores the highest wind speed and highest gust, it holds the sum of wind speeds as wind run, and details for the dominant wind.
* another example is the multiple lines in the [General] section of today.ini shrink to just one item in yesterday.ini (Date) and one item in dayfile.txt (abbreviated date).
* The [Temp], or temperature, section stores the highest and lowest temperature, the sum of all temperatures from every sample (Total), and the number of Samples in that total, the Cumulative Chill Hours total (for the season), and the cumulative Heating and Cooling Degree Days for the current day-so-far.
* The [Pressure], [Humidity], [AppTemp] (for apparent temperature), and [Dewpoint] sections just hold Highs and Lows.
* The [WindChill] section only holds lowest, the [HeatIndex] section only has highest.
* The [Rain] section holds a lot of different parameters, including the Start count that derives most rain outputs, and the LastTip date-time.
* Other sections present in 1.9.4 are [ET], [Solar], [NOAA], and [FineOffset]; whether these are updated depends on what sensors you have, and whether you have set up NOAA reports.
 
When Cumulus is left running, a daily backup of all the files is created as part of this rollover in a subfolder 'daily' of the backup folder. Depending on the release you are running, the files included in the backup may be a snapshot of their content just before rollover, just after rollover, or at the first standard interval after rollover.
 
MX development has been far more rapid than the legacy software, and there have been a lot of changes to the content of the two files. Unfortunately, the MX release announcements rarely go into enough detail to permit good documentation, so all mentions relating to MX on this page are guesses from examination of the file, and it cannot be guanteed that the information is correct for whatever MX release you may be running!
 
A typical MX release will include all the 1.9.4 sections, plus:
=Composite Example of 'today.ini' file=
* The '''[Records]''' section contains one line denoting when extreme records were last revised. For example "Alltime=2020-03-06T06:42:13", indicates when the all-time extreme records was last updated. In the example file, there were various extreme records broken at that time on 6 March (lowest temperature, lowest apparent temperature, and greatest wind chill), but none have been broken since.
* Other sections (depending on MX release) may include [FeelsLike], [Humidex], [Lightning], and [TempMidnight]; whether these are updated depends on what sensors you have.
 
The minimum content for this file is the "[General]" section. See [[FAQ#I.E2.80.99ve_just_installed_Cumulus.2C_and_it_didn.E2.80.99t_download_all_the_old_data_from_my_weather_station | FAQ here]] for the single reason why you might want to remove all other sections from your file when you are first starting use of Cumulus with a weather station. This is an example made up of composites that may not all be present in an actual file; and an actual file may have the sections in a different order. Because this example is made up of composites, the times shown are not all consistent, in a real file no time anywhere will be later than the time at the top!
 
===Composite Example of 'today.ini' file===
*This composite contains time-stamp formats used by Cumulus 1.x.y and Cumulus MX in the few places where they differ. Notes in round brackets () are not part of the file, they simply explain elements of the composite.
*The sections can be in any order; I'm not sure what order Cumulus 1 and Cumulus MX use when they first create this file, but when they recreate this file, the order remains unchanged. So if you do edit this file and that edit leaves the sections in a different order, both versions of Cumulus will from then onwards use that new order.
 
'''Notes in round brackets () are not part of the file, they simply explain elements of the composite.'''
 
* This is an example made up of composites that may not all be present in an actual file.
* This composite contains time-stamp formats used by Cumulus 1.x.y and Cumulus MX in the few places where they differ.
* Because this example is made up of composites, the times shown are not all consistent, in a real file no time anywhere will be later than the time at the top!
* The order the sections appear in this composite may not match your file; as mentioned above the section order can be edited.
 
<pre>
[General]
Date=29/09/20192009
Timestamp= (the format here is different for Cumulus 1 e.g. "29/09/20192009 09:50:00"; andformat for Cumulus MX e.g. "2019-09-29T09:50:00")
CurrentYear=20192009
CurrentMonth=9
CurrentDay=13
Start=1923.59997558594
Yesterday=0
LastTip=20122009-09-14 10:48
HourlyHigh=0
HHourlyTime=00:00
LatestYearlyReport=
 
[FineOffset] (this is MX format when not a Fine Offset station)
FOSensorClockTime=0001-01-01T00:00:00
FOStationClockTime=0001-01-01T00:00:00
 
[FineOffset] (thisif is whennot using a Fine Offset station, the MX defaults are as shown)
FOSensorClockTime=(the format here is different for Cumulus 1 e.g. "29/09/20192009 09:50:00" and Cumulus MX e.g. "20190001-0901-29T0901T00:5000:00")
FOStationClockTime=(the format here is different for Cumulus 1 e.g. "29/09/20192009 09:50:00" and Cumulus MX e.g. "20190001-0901-29T0901T00:5000:00")
FOSolarClockTime=0001-01-01T00:00:00 (this parameter only appears in later MX releases, the time shown is the default if no solar sensor)
 
(this last section only appears if you are using Cumulus MX)
[Records]
Alltime=2020-03-06T06:42:13
</pre>
 
==Cross-references for explanations of key parameters==
[[Wind_measurement | Bearing and Direction]],
[[Windrun]];
 
<br>
[[Temperature_(and_humidity)_measurement#Cumulus_Calculated_Parameters | Temp]],
<hr>
[[Average temperature | Total and Samples]],
<br>
[[Temperature_(and_humidity)_measurement#Cumulus_Calculated_Parameters | Humidity]],
[[Heat/cold degree days and Chill hours | Heating degree days]],
[[Heat/cold degree days and Chill hours | Cooling degree days]],
[[Apparent temperature | AppTemp]],
[[Heat index]],
[[wind chill]],
[[Heat/cold degree days and Chill hours | Chill hours]],
[[Temperature_(and_humidity)_measurement#Cumulus_Calculated_Parameters | Dewpoint]];
 
[[Webtags | Rain]],
[[FAQ#The_longest_dry.2Fwet_spell_for_this_month.2Fyear_includes_days_from_last_month.2Fyear | ConsecutiveRainDays]], [[FAQ#The_longest_dry.2Fwet_spell_for_this_month.2Fyear_includes_days_from_last_month.2Fyear | ConsecutiveDryDays]];
 
=Non-essential information=
[[Reports folder|NOAA]]
 
You can skip the following subsections unless you have a particular need to read them.
[[Category:Ini Files]]
 
== First use of Cumulus ==
 
When you use Cumulus software for the very first time, it records a start date, and assumes you have no data anywhere for earlier than that start time.
 
Some weather station types have an internal logger that can be accessed for historic data. It is theoretically possible, but not recommended, to read in that historic data, so it is included in your Cumulus extreme tracking. The minimum content for "today.ini" is the "[General]" section. If you stop Cumulus, manually edit "today.ini" to remove all other sections, and then restart Cumulus, then the software will attempt to read that historic data. Please read [[FAQ#I.E2.80.99ve_just_installed_Cumulus.2C_and_it_didn.E2.80.99t_download_all_the_old_data_from_my_weather_station | FAQ here]] for full guidance. Remember this only applies when you are first starting use of Cumulus with a weather station.
 
 
== Restart and Catch-up ==
 
If you restart Cumulus during the day it will read the ''today.ini'' file at startup, so it can resume tracking extremes of the key parameters starting from latest stored values in today.ini. If your weather station type permits, a restart of Cumulus can go into a catch-up mode during which it reads any historic data from the weather station, for the period while Cumulus was not running, before starting the reading of the current data.
 
During that catch-up of historic data, internally held daily extremes, and the "today.ini" file, will be updated with revised highs and lows as Cumulus processes the historic data from the station's memory; and if necessary Cumulus will do a roll-over (see [[#End of day actions]]) as it processes the readings for the relevant time.
=General information=
 
On restart Cumulus writes a backup of today.ini (and some of the other Cumulus files) into the [[Backup_folder|backup folder]] found below the folder with the cumulus.exe (or CumulusMX.exe). With Cumulus stopped, you can copy the today.ini file in either a restart backup, or a daily backup (see [[#Where are the files stored?]]), in conjuction with copying the other files in that backup folder into their original folders (mostly [[data_folder|data sub-folder]] overwriting the files in those destinations. When you restart Cumulus, the tracking will begin again as if the time has been rewound back to the date those copied files were last updated. This rewinding works best if historic data can be read from your weather station. One example of when this might be useful is if you spot a rogue value very soon after it has been recorded, the rewinding often brings in correct data for the recent period. Another example is if your computer on rebooting initially shows the wrong time and so Cumulus records some data against that wrong time; a rewind can eliminate the wrongly timed records and replace them with records timed correctly.
 
 
You are strongly advised not to stop/restart Cumulus close to either midnight or your rollover time. Steve Loft defines "close" in this context as within whatever time you have set as interval between logging of spot values (e.g. 10 or 30 minutes). The potential problems were significantly worse for earlier versions of Cumulus 1, but restart problems have been reduced in newer builds of C1. In general, MX is more tolerant over restart timings, but the way its code works you will encounter more problems with accuracy of output if MX is stopped for more than the few minutes needed for an upgrade (or computer reboot).
 
== Editing rainfall in today.ini within Cumulus ==
 
This sub-section applies to Cumulus 1 and Cumulus MX.
 
At the time of writing, no Cumulus release contains an editor for today's daily extreme records as stored in "today.ini". There is just one exception, both flavours do contain an editor for 'Today's rain'.
 
Cumulus internally stores a "start of day rain counter". This is copied into "today.ini" into the ''Start='' line within the '[rain]' section. Subtracting that from the current rain counter value allows Cumulus to calculate (in your chosen units) the toatl rainfall for today. The provided editor changes the internal "start of day rain counter" so that the current rainfall total becomes what you enter into the editor.
 
It is important to note:
* The rainfall counter was invented in Cumulus 1 as a way that could calculate rain when the software was made to serve multiple weather station types
* The counter is based on a piece of data that can be read from a particular weather station type, it might be based on an all-time total rainfall, or based on a rainfall this year figure
* The counter is not intended to be of any interest to the Cumulus user
* Any increase in the rainfall counter is treated as representing valid rain (spike removal functionality exists only for rain rate and rain in last hour, not the total rain)
* Cumulus has special code to detect if the counter value decreases, without going into the complexity, Cumulus will normally reset its internal start of day counter based on the decrease in the number received.
* The "Today's rain" editor does not affect any derived rainfall output;
** The following in "today.ini" are not affected:
*** last tip time-stamp ("LastTip=")
*** highest rainfall rate so far today and time-stamp ("High=" and "HTime=")
*** hourly high amount and time-stamp ("HourlyHigh=" and "HHourlyTime=")
*** Highest 24 hour amount
** Outside "today.ini" it does not affect any recent records nor monthly, yearly, monthly-all-time, or all-time extremes:
*** The recent history entries whether held internally (Cumulus 1), or for MX in [[Cumulusmx.db]], are not amended so any tags used for web page data, local API, custom SQL, MQTT, HTTP (see [[Webtags/Parameters#Cumulus_MX_software|this Wiki section]]) will report incorrect values
*** Total Rainfall this month, rainfall this year/season will only be recalculated if Cumulus is stopped and restarted after the edit
*** Highest rainfall rate, highest hourly rainfall, highest 24-hour rainfall, highest daily rainfall; applying to these longer periods are not changed unles each extreme record is individually manually edited (Cumulus provides an editor for most of these, but cannot generally suggest what new value to use).
*** The consecutive wet/dry days ("ConsecutiveRainDays=" and "ConsecutiveDryDays=") in this month/year - remember these counts are to last roll-over, they exclude today
** The editor does not alter any lines already logged in [[Standard_log_files |log file]] for the current month. This means you will see distorted graphs attempting to portray rainfall within a day
** The editor does not update any database records that may be affected by the change of the rainfall total
 
You can skip the following subsections unless you have a particular need to read them.
 
 
== Dealing with rogue values ==
 
The "today.ini" file is written to throughout the current day, as anydescribed new[[#How HighCumulus or Low forupdates the day at reachedfile|earlier]]. IfAs yourmentioned weatherabove, stationCumulus reportsonly aprovides rogueextremely value,restricted an incorrect updateability to the High or Low may result. Full details of the impactedit of"Today's thisrain", andnot howany toother makeextreme/total corrections, are covered on [[Correcting Extremes]] page. Here itthat is sufficient to say it is worth lookingstored in the diagnostics,"today.ini" to see if you can spot when the problem occurred:file.
 
If your weather station reports a rogue value, an incorrect update to a High, Low, or Total, may get stored in this file. At end of day, it will then be stored in [[dayfile.txt]]. Cumulus developer advice is that instead of manually editing "today.ini", you should wait until the day has been stored in "dayfile.txt" and then use the editor for that log file to make the desired changes.
 
The rogue value may also affect extreme records held for this month, this year, monthly-all-time, and/or all-time. Cumulus does provide editing functionality for most (not all) entries in the files holding thgose extreme records and you can read instructions on [[Correcting Extremes]] Wiki page. Here it is sufficient to say it is worth looking in the diagnostics, to see if you can spot when the problem occurred, because that helps you work out what may be affected:
* [[File:Badge vMx.png]] [[MXdiags folder]]
* [[File:Badge v1.png]] [[Diags_folder]]
 
 
=== Manual editing of "today.ini" ===
'''Notes:'''
* The only today.ini entry that Cumulus allows you to edit is today's rain (see next subsection)
* If you do decide to edit 'today.ini' outside Cumulus, you must close Cumulus down first!
* Think carefully, whether it is easier to wait until next day, when the entry is in dayfile.txt for which cumulus does provide an editor
 
The developer advice to wait until next day has a flaw that every process that happens in the meantime sees wrong data, and that might include sending data to several external sites and a number of extra custom processes you might have in your system.
 
Therefore this Wiki page will now give some advice on how to manually edit the file:
=== Editing rainfall in today.ini within Cumulus ===
# You must stop Cumulus (please see earlier in this page for details as reason depends on flavour you are running)
# Take a back-up of existing file, or rename it (if you decide it easiest to create a new file rather than edit the existing one)
# Any plain text file editor can be used (that includes coding editors like Geany, Notepad++, NoteTab, and many others)
# Be careful to ensure any change maintains existing format (integer, decimal,time, date/time, text) paying attention to any punctuation (including decimal commas or decimal points, direction type of any slashes)
# For readability you can insert blank lines into files '''today.ini''' and '''yesterday.ini''', Cumulus will not mind.
# It is up to you to work out what new value/time to type, Cumulus won't accept nulls, but there are some "initial values/dates" that it will accept (I won't tell you these here, because they depend on release you are running and you should not be editing this file unless you have enough technical understanding to work out what Cumulus will accept)
# Remember changing extremes for [[Calculate_Missing_Values#Some_definitions|source value extremes and derived extremes]] is complicated:
#* Please see specific advice in sub-sections below
 
==== Edits related to pressure ====
This applied to Cumulus 1 and Cumulus MX. Both contain an editor for 'today's rain'.
*Normally you would not need to edit today.ini, as if you wait until the next day, Cumulus provides (with its Edit menu) an easy way to amend the stored extremes for this month, this year, monthly records, and all-time. The wrong figures may be displayed on the yesterday screen for this next day, but yesterday.ini can be edited more easily!
* You may wish to [[FAQ#.28Invented_rain.29_Error_in_today.27s_total | edit the rain data]] if there has been a quirk in your weather station sensor for rain (or in figure reporting) during the day and the figure is abnormally inflated (or indeed under-reported).
*The stored rainfall today start ''count'' value in today.ini may be edited via ''Today's rain'' screen on the '''Edit''' menu.
**This edit purely changes the ''Start='' line within the '[rain]' section, i.e. changes the ''Total rainfall counter (content depends on weather station type, might be rainfall total so far this year; it is not intended to be useful in itself, it may vary for no apparent reason)'' value that is stored within today.ini.
**Consequently, using this feature creates a sudden increase or decrease in the 'Total rainfall counter (content depends on weather station type, might be rainfall total so far this year)' figure stored the next time Cumulus updates its [[Standard_log_files |log file]] for the current month.
**You may still need to manually edit (using an external text editor) the other parameters within that [Rain] section to correct the other rain statistics held in 'today.ini':
***last tip time-stamp ("LastTip=")
***highest rainfall rate so far today and time-stamp ("High=" and "HTime=")
***hourly high amount and time-stamp ("HourlyHigh=" and "HHourlyTime=")
***consecutive wet/dry days ("ConsecutiveRainDays=" and "ConsecutiveDryDays=") - remember these counts are to last roll-over, they exclude today
**If you do edit any parameter values remember to ensure the replacement is in exactly same format as before (whether integers, real numbers or a particular format for time-stamps)
*This edit does not affect any derived rainfall values (such as totals for the month or year that are displayed (and output via web-tags)), unless you subsequently close and restart Cumulus the same day to force recalculation of the longer period totals.
* You don't need to restart Cumulus after a change to today's rain to ensure that [[dayfile.txt]] has correct line added at next roll-over.
* This edit does not change any lines already in the [[Monthly_log_files |log file]] for the current month, so any process you have that reads those will read some wrong values and this can distort for example graphs attempting to portray rainfall within a day.
** Although ''rainfall since midnight'' is stored in the last field of the Cumulus [[Monthly_log_files |log file]] for the current month, manually editing there will not help as Cumulus does not read it from there. Cumulus works out rainfall since midnight by looking at the entry at (or first just after) midnight, and that past line has not been updated.
** If you want to correct rainfall since midnight there because you have processes that read this file, then remember you can only safely edit (using a specialist CSV editor, a good text editor, or a programmer's editor like 'Notepad++) that file with Cumulus stopped, as Cumulus demands full locked access to this file for periodic updating.
** Editing this file is difficult,
*** If you want to decrease the actual rain, you need to increase the rain counter, and vice versa
*** You have to work backwards through time working out the alteration to the rain counter for the actual rainfall increment, in the period since the preceding entry.
 
Should be straight forward, the maximum/minimum can be edited without this affecting anything else. You should be able to look in either [[Standard_log_files |log file]] or for MX in [[Cumulusmx.db]] for pressure readings earlier or later in the day to find the new extreme value/time to replace the rogue pressure value and time.
=== Editing today.ini or yesterday.ini outside Cumulus ===
If the rogue value is not rainfall, then you might need to edit today.ini or yesterday.ini using an external editor. '''Note:''' If you do edit either of these files, you must close Cumulus down first!
 
==== Edits relating to Temperature ====
The files are text files, so edit using any plain text editor. The format consists of a number of sections (section title is delimited by [ ]), and a number of parameters (consisting of attribute name, an equals sign and a value). Blank lines can be included for readability, they are ignored in these .ini type log files. All values have to be specified in the correct format, so ensure new entry matches old format.
 
#If you change a temperature source extreme (i.e. highest/lowest temperature) you should also be taking the old value out of 'Total' line and decreasing by one the'Samples' count
# You cannot work out from any change in a temperature source extreme (i.e.. highest/lowest temperature) how to change the related derived extremes (e.g. wind chill, apparent temperature, feels like, dew point). Each derived value is worked out by combining spot values at a particular time, so you have to recalculate as many spot derived values as possible in order to work out the new derived extreme.
 
==== Edits related to humidity or wind speed ====
== Restart and Catch-up ==
 
Obviously changes to humidity, wind speed, also have an effect on derived temperature extremes mentioned above, but again you have to recalculate as many spot derived values as possible in order to work out the new derived extreme.
If you restart Cumulus during the day it will read the ''today.ini'' file at startup, so it can resume tracking extremes of the key parameters starting from latest stored values in today.ini. On restart it also writes a backup of today.ini (and some of the other Cumulus files) into the sub folder 'backup' below the folder with the cumulus.exe. Because Cumulus software does it changes first in an internally stored area before writing out to today.ini, if you try to edit today.ini while Cumulus is running, you may find your edit is lost next time Cumulus itself outputs an updated file, even if your edit is not lost, you may lose a Cumulus edit by saving your own edited version to overwrite the Cumulus edit. So never edit without stopping Cumulus first. (yesterday.ini is created at rollover and then not updated, so that file can be edited while Cumulus is running provided you are several minutes away from rollover time).
 
 
====Edits related to rainfall ====
 
If you want to edit ''rainfall since midnight'' in today.ini, it should be fairly easy to calculate a new value. Remember you also need to manually edit entries in [[Standard_log_files |log file]] and for MX in [[Cumulusmx.db]].
 
To edit the "rainfall counter" in [[Standard_log_files |log file]] remember that for any decrease in the actual rain, you need to increase the rain counter, and vice versa. It is probably easiest to work backwards through time working out the alteration to the rain counter for the actual rainfall increment, in the period since the preceding entry.
 
 
Other derivatives like "maximum hourly rain", "highest rainfall rate", or "highest 24 hour rainfall", all will have to be guessed or recalculated manually, there is no easy way to work these out as past values for the day are not logged anywhere.
 
 
==Cross-references for explanations of key parameters==
 
[[Wind_measurement | Bearing and Direction]],
[[Windrun]];
 
[[Temperature_(and_humidity)_measurement#Cumulus_Calculated_Parameters | Temp]],
[[Average temperature | Total and Samples]],
[[Temperature_(and_humidity)_measurement#Cumulus_Calculated_Parameters | Humidity]],
[[Heat/cold degree days and Chill hours | Heating degree days]],
[[Heat/cold degree days and Chill hours | Cooling degree days]],
[[Apparent temperature | AppTemp]],
[[Heat index]],
[[wind chill]],
[[Heat/cold degree days and Chill hours | Chill hours]],
[[Temperature_(and_humidity)_measurement#Cumulus_Calculated_Parameters | Dewpoint]];
 
[[Webtags|Rain]],
[[FAQ#The_longest_dry.2Fwet_spell_for_this_month.2Fyear_includes_days_from_last_month.2Fyear | ConsecutiveRainDays]], [[FAQ#The_longest_dry.2Fwet_spell_for_this_month.2Fyear_includes_days_from_last_month.2Fyear | ConsecutiveDryDays]];
 
[[Reports folder|NOAA]]
 
If your weather station type supports it, while Cumulus is doing a catch-up, after being restarted, ''today.ini'' will be updated with revised highs and lows as it processes the station's memory; and if necessary it will do a roll-over as it processes the readings for the relevant time (this roll-over process takes a bit longer to create the daily backup than that when Cumulus is left running). As explained on support forum, there can be problems if Cumulus is started/stopped just before or just after (i.e. close to) its roll-over time, the problems were worse for earlier versions of Cumulus 1, but have been reduced in newer builds of C1 and therefore for MX. You should not start or stop it within whatever time you have set as interval between logs.
 
== Changes to this file at particular releases ==
''This section may not be a complete history, and may not be kept up to date; so don't take it as authoritative''
 
* 3.1118.0 build 31293189 (releasedpre onrelease 714 MayJune 20212022)
** Added '''TempMidnight''' section for tracking of min/max temperature based on day starting at midnight, to complement tracking starting at rollover time
* 3.17.0 build 3184 (released 23 May 2022)
** Some changes to handling of lighning (regarding when no strikes)
* 3.12.0 beta build 3134 (released 29 July 2021)
** Added '''Lightning''' section (lightning distance and last strike time)
* 3.11.0 build 3129 (released on 7 May 2021)
**Fix: End of day backup now always runs at rollover, so like most releases of the legacy software, the stored file represents the true end of day position.
*** For example in the '''[General]''' section, the ''Date'' (calendar date) and ''Timestamp'' attributes will relate to when it was last updated, but the three '''Current'' attributes will relate to the meteorological date just ended.
*** For the today.ini in the backup/daily folder, last update time-stamp will indicate time as at one update cycle before end of day, but file last modified will show that was at end-of-day
** New: Added (to [Temp]) GrowingDegreeDaysThisYear1=, and GrowingDegreeDaysThisYear2=.
* 3.7.0 - build 3089 (released on 28 July 2020)
** Canadian Humidity Index (Humidex) added for highest extreme monitoring in today.ini (and other longer period extreme log files)
* Release 3.6.6 build 3082 (released on 1 June 2020)
** Values in the file had been stored (in all previous builds) using 15 decimal places (because of difficulty in representing decimal parts of numbers in binary), from this release revised so all values stored using 17 significant figures
* Release 3.6.3 - build 3079 (released on 21 May 2020)
** Fix long standing problem with today.ini becoming corrupted when Microsoft Windows is shutdown
* Release 3.6.0 build 3076 (released on 4 May 2020)
** addedAdded '''Feels Like''' section to daily high and low extremes monitored in today.ini (and other longer period extreme log files)
* Release 3.1.0
** Added '''Records''' section, this holds one attribute "Alltime" that holds a datetime stamp recording the most recent update to the [[alltime.ini]] file
*From version 1.9.4 build 1089 to release 3.10.5 build 3122
** The '''today.ini''' stored in the daily backup contains the position as at '''start of day''' (or in specified older MX releases, up to one UPDATE interval later), so it does not contain any information (except Cumulative Chill Hours) that relates to day that has just ended.
** It is believed that today.ini may have been introduced at version 1.4
*Version 1.0 27th January 2004 First release
**Included internal tracking of daily extremes, and display on main screen, but not storing in a file.
**Only dealt with current conditions handling, there was no tracking of daily extremes
5,838

edits