Alltime.ini: Difference between revisions

From Cumulus Wiki
Jump to navigationJump to search
Line 71: Line 71:
=== Editing alltime.ini within Cumulus ===
=== Editing alltime.ini within Cumulus ===


Expanding what it says in FAQ: [[FAQ#How_do_I_correct_my_all-time_.28or_monthly.29_records.3F]], the stored values can be corrected using the ''All time records'' screen on the '''Edit''' menu and this Cumulus editor allows you to read from the [[dayfile.txt|daily log]] or the [[Monthly_log_files]]. Therefore, normally any rogue values are corrected in these source files, and resulting lows and highs copied across to the all time log using the in-built editor.  However, you can also just edit any low, high or timestamp manually looking at [[Alltimelog.txt]] for current and previous values.
Remember, normally any rogue values are corrected in the monthly or daily log files first, and then resulting lows and highs are copied across to this all time log file using the in-built editor.  However, you can also just edit any low, high or timestamp in this log file manually after looking at [[Alltimelog.txt]] for current and previous values.
 
Both Cumulus 1 and MX have internal editors for this file.
 
Expanding what it says in FAQ: [[FAQ#How_do_I_correct_my_all-time_.28or_monthly.29_records.3F]], the stored values can be corrected in Cumulus 1 using the ''All time records'' screen on the '''Edit''' menu.
 
For Cumulus MX the editor is found in the admin interface.
 
Both Cumulus editors allow you to read from the [[dayfile.txt|daily log]] or the [[Monthly_log_files]], in case you created rogue values there first as advised above.  In the cumulus 1 editor you can click to copy figures across, in the MX editor you can only manually overwrite with the revised figure.


=== Editing alltime.ini outside Cumulus ===  
=== Editing alltime.ini outside Cumulus ===  

Revision as of 15:29, 18 May 2020

The file now known as alltime.ini was originally in a different format as alltime.rec.

Introduction

Cumulus maintains a number of 'all time records' for the station -- highs and lows and their timestamps for many of the readings. For more information on this file see in the Cumulus help file, in the section “The Data log files”.

Up to Build 920 (version 1.8.9)

The highs and lows were stored in a database file (alltime.rec), this was efficient for Cumulus 1 to read and update, but being in binary code made it hard for any corrections to be made outside Cumulus. Build 920 (28 Feb 2010) initiated the use of a log of changes to the "alltime.rec" records, called alltimelog.txt, which can be found in the data folder. An entry is added to this file every time an all-time record changes, with details of the old and new records. This log can then be used to 'backtrack' if spurious data causes an all-time record to be broken incorrectly. It is also a useful log of when records were actually broken.

Builds 921, 922, and 923 were never released, so in fact the next change was seen in the next public release as described next.

From Build 924 (4 March 2010 beta version 1.8.9)

Starting with Build 924 (still version 1.8.9, as said above in-between beta builds were never formally released) the Cumulus highs and lows and their timestamps are stored in a text file "alltime.ini" which can be easily edited if needed. The first time you run Build 924, or later build, of Cumulus 1 it will convert any alltime.rec file it finds in the data folder into an alltime.ini file and use that .ini file going forward.

Although there were no changes to this file in the next few builds, there were some issues, so then another change was made as described next.

From build 927 (8 March 2020 beta version 1.8.9)

The alltime.ini file is now explicitly located in the "data" sub-folder of the path where your Cumulus.exe is installed. If you cannot find the file see this FAQ.

Cumulus MX

The alltime.ini file is located in the "data" sub-folder of the path where your Cumulus.exe is installed. If you are moving to MX from Cumulus 1, you can copy the contents of the Cumulus 1 "data" folder into the MX "data" folder, but you will need to edit this alltime.ini file as described below.

Just as the sections in the file varied with different Cumulus 1 versions, so in MX a new [FeelsLike] section was added by version 3.6.0.

Format of the file

The format consists of a number of sections (section title is delimited by square brackets [...]), with each section having a number of properties (consisting of attribute name, an equals sign and a value) each on a separate line. Blank lines can be added for readability, they are ignored in these .ini type log files.

Badge vMx.pngDecimal formatting always uses a period/full stop in Cumulus MX. Cumulus MX shows date/time in ISO 8601 format of "yyyy-MM-ddTHH:mm:ss" (using the net specifiers that MX uses).

Badge v1.pngDate, Time and Decimal formatting is as per your regional settings on the PC running Cumulus.

Thus if you want to swap from Cumulus 1 to Cumulus MX, and you previously used a comma as your decimal separator (e.g.12,3) you will copy your existing Cumulus 1 "data" folder to within your MX installation, but you then need to manually edit your alltime.ini file so all the values entries are converted to use a full stop as decimal separator. The following table shows just one section from the file, that dealing with wind, as an example of the two formats with the Cumulus 1 side showing use of the comma that MX will not accept.

You do not need to edit the date/time entries as MX can read those in Cumulus 1 format, they will only change in "alltime.ini" when a new all-time extreme occurs and MX rewrites the file.

Badge v1.png Badge vMx.png
[Wind] [Wind]
highwindvalue=44,0676460266113 highwindvalue=9
highwindtime=09/02/2020 07:51:08 highwindtime=2016-03-07T11:49:52
highgustvalue=62,0693855285645 highgustvalue=29
highgusttime=09/02/2020 07:31:50 highgusttime=2019-03-14T02:53:00
highdailywindrunvalue=477,365875244141 highdailywindrunvalue=89.6165924072266
highdailywindruntime=09/02/2020 23:59:00 highdailywindruntime=2014-03-26T23:59:00

The wind speed and gust speed may be shown as integers if that is how your weather station outputs them, and you have not asked Cumulus to calculate them in different units. The two columns shown represent different locations, that is why the contents do not match, this table is just to illustrate different formats.

How alltime.ini is used

If you restart Cumulus 1 during the day it will read this file at startup, so it can resume tracking extremes of the key parameters starting from latest stored values in alltime.ini. Equally, if you close Cumulus 1 during the day it will write the final values for highs and lows and their timestamps to alltime.ini as part of the close down process. Remember, while Cumulus 1 is running, the values shown in the table will usually be up to date, but there may be some time lag as it can hold values in an internal memory.

For Cumulus MX, the developers have not documented how it works, and I have not examined the code to this detail, but I believe it reads this file at start up and updates the file when necessary as it processes the various reads from your weather station. I saw no evidence of it being featured in the close down process.

Editing this log file

It is possible that rogue values read from your weather station will cause this log file to show an incorrect extreme. As mentioned earlier, there is a log of changes to the "alltime.ini" records, called alltimelog.txt, so look at that to see when your rogue value was processed and what was the previous extreme that you should reset to in "alltime.ini".

Also note that the timestamp shown in alltime.ini includes a calendar date, so if you use a 9 or 10am rollover and you are trying to correct highs or lows for times between midnight and rollover, don't forget you need to look for the meteorological date (the date before the calendar date for those early hours) when seeking the relevant line in the daily log (dayfile.txt) to check in case if it too needs updating.


Editing alltime.ini within Cumulus

Remember, normally any rogue values are corrected in the monthly or daily log files first, and then resulting lows and highs are copied across to this all time log file using the in-built editor. However, you can also just edit any low, high or timestamp in this log file manually after looking at Alltimelog.txt for current and previous values.

Both Cumulus 1 and MX have internal editors for this file.

Expanding what it says in FAQ: FAQ#How_do_I_correct_my_all-time_.28or_monthly.29_records.3F, the stored values can be corrected in Cumulus 1 using the All time records screen on the Edit menu.

For Cumulus MX the editor is found in the admin interface.

Both Cumulus editors allow you to read from the daily log or the Monthly_log_files, in case you created rogue values there first as advised above. In the cumulus 1 editor you can click to copy figures across, in the MX editor you can only manually overwrite with the revised figure.

Editing alltime.ini outside Cumulus

It is unlikely that you need to do this, given the functionality of the in-built editor.

Tips -- take a copy of the original log file before you work on it outside Cumulus.

Edit the original file using an editor that treats all fields as text [either any text editor, or a spreadsheet program that can be instructed not to recognise special field (like date) types]. All values have to be specified in the correct section, see #Post_Build_924_(version_1.8.9) above and follow the format of the property lines in the example below. Note that figures are held internally in Cumulus in binary, and converted to Base 10 numbers for the value shown. Since fractional binary values cannot be converted exactly to base 10 decimals, real numbers appear to be given to a strange decimal resolution with multiple decimal places.

Viewing the all-time highs and lows

Cumulus 1 View menu.png Badge v1.pngSelect Highs and Lows - All time from View menu.


Example of a larger part of the Cumulus 1 file

[Temperature]
hightempvalue=30.7999992370605
hightemptime=27/06/2011 12:58:00
lowtempvalue=-12.5
lowtemptime=20/12/2010 07:17:00
lowchillvalue=-12.5
lowchilltime=20/12/2010 07:17:00
highmintempvalue=17.2999992370605
highmintemptime=10/07/2010
lowmaxtempvalue=-4.30000019073486
lowmaxtemptime=20/12/2010
highapptempvalue=33.7999992370605
highapptemptime=27/06/2011 12:50:00
lowapptempvalue=-15.8000001907349
lowapptemptime=20/12/2010 07:17:00
highheatindexvalue=34.2000007629395
highheatindextime=27/06/2011 13:09:00
highdewpointvalue=21.8999996185303
highdewpointtime=27/06/2011 13:09:00
lowdewpointvalue=-13.5
lowdewpointtime=20/12/2010 07:20:00
hightemprangevalue=20.3999996185303
hightemprangetime=20/04/2011
lowtemprangevalue=1.29999995231628
lowtemprangetime=31/12/2010

[Rain]
highrainratevalue=114.300003051758
highrainratetime=23/09/2010 14:13:00
highdailyrainvalue=34.9000015258789
highdailyraintime=17/07/2011 22:19:00
highhourlyrainvalue=15.8000001907349
highhourlyraintime=23/09/2010 22:08:00
highmonthlyrainvalue=103.599998474121
highmonthlyraintime=01/02/2011
longestdryperiodvalue=17
longestdryperiodtime=24/04/2010
longestwetperiodvalue=16
longestwetperiodtime=16/02/2011

[Pressure]
highpressurevalue=1043.30004882813
highpressuretime=26/01/2010 10:44:00
lowpressurevalue=965.700012207031
lowpressuretime=08/11/2010 15:42:00

[Humidity]
highhumidityvalue=100
highhumiditytime=23/01/2010 01:10:00
lowhumidityvalue=21
lowhumiditytime=24/04/2010 12:10:00