Dayfile.txt: Difference between revisions

From Cumulus Wiki
Jump to navigationJump to search
7,150 bytes added ,  17:51, 8 August 2020
m
m (→‎Editing the daily summary log: renamed as "Safely editing ...)
(39 intermediate revisions by the same user not shown)
Line 12: Line 12:


== Changes in different releases of Cumulus ==
== Changes in different releases of Cumulus ==
Be aware that this article was written for Cumulus 1, amended to also cover MX 3.0.0.  Whilst the list of fields has been kept updated for more recent MX versions, other parts of this article may not be applicable to latest MX version, check for edits by developer.


{{Version badge 1}}
{{Version badge 1}}
Line 31: Line 33:
* Cumulus is frequently reading observations from your weather station, but these don't affect the daily log "dayfile.txt" as it is only updated once a day.
* Cumulus is frequently reading observations from your weather station, but these don't affect the daily log "dayfile.txt" as it is only updated once a day.
* There are no updates to dayfile.txt at any other times, but (for Cumulus 1 only) the contents of the file are read and processed for many of the display and edit menu options that can be selected from the main Cumulus 1 screen.
* There are no updates to dayfile.txt at any other times, but (for Cumulus 1 only) the contents of the file are read and processed for many of the display and edit menu options that can be selected from the main Cumulus 1 screen.
* Cumulus tracks the highs and lows in weather observations by comparing read values against those it has stored in [[Today.ini]], updating that file as required. (It also updates [[Alltime.ini]], [[Monthlyalltime.ini]], [[Year.ini]], and [[Month.ini]] when appropriate.
* Cumulus tracks the highs and lows in weather observations by comparing read values against those it has stored in [[Today.ini]], updating that file as required.
**What is stored in today.ini is processed into what get stored as next line in dayfile.txt as described in next section.
*(It also updates [[Alltime.ini]], [[Monthlyalltime.ini]], [[Year.ini]], and [[Month.ini]] when appropriate.
*(Periodically, the weather readings and derived values are stored in [[Standard log files]] which are set up for each month).
* Cumulus will not mind you accessing the daily log outside its software, except when it needs write access for processing end of day.  
* Cumulus will not mind you accessing the daily log outside its software, except when it needs write access for processing end of day.  
* If you do need to correct some rogue data in the log file, first take a copy and work on that copy, because any edits you do could muck up the specific format that Cumulus 1 or MX needs, there is a section on dealing with rogue data below. Only when you are absolutely sure that your edited copy meets all the constraints listed later, should you replace the original.   
* If you do need to correct some rogue data in the log file, first take a copy and work on that copy, because any edits you do could muck up the specific format that Cumulus 1 or MX needs, there is a section on dealing with rogue data below. Only when you are absolutely sure that your edited copy meets all the constraints listed later, should you replace the original.   
Line 56: Line 61:
For examples of some of the third party tools (Cumulus [[Category:User_Contributions|user contributions]]) using the database daily summary table see [[Daily Summary#Some_example_Scripts|here]]. Of course there are also a lot of tools written to use a copy of the dayfile.txt log file, and some of these could be adapted to use the database table instead, if you are a programmer.  
For examples of some of the third party tools (Cumulus [[Category:User_Contributions|user contributions]]) using the database daily summary table see [[Daily Summary#Some_example_Scripts|here]]. Of course there are also a lot of tools written to use a copy of the dayfile.txt log file, and some of these could be adapted to use the database table instead, if you are a programmer.  


In my case I also store the equivalent of what appears on my version of "thismonth.htm" each month in another database table, i.e. I have one database table column for each of the weather derivatives I show on my web page that show this month's values; it is many more derivatives than are shown on the standard web page, but some are initially hidden. Consequentially, when my daily update script detects from the date that it is processing the last day of a month, it then starts another script that reads all the rows in the daily summary table for that month, and stores the highest/lowest/total (as relevant) in my monthly_summary table (nothing to do with the "monthly" table that MX can generate). This monthly summary table allows me to have web pages that compare consecutive months or compare months between years. Just another example of how much you can get from just one log file!
In my case I also store the equivalent of what appears on my version of "thismonth.htm" each month in another database table, i.e. I have one database table column for each of the weather derivatives I show on my web page that show this month's values; it is many more derivatives than are shown on the standard web page, but some are initially hidden. Consequentially, when my daily update script detects from the date that it is processing the last day of a month, it then starts another script that reads all the rows in the daily summary table for that month, and stores the highest/lowest/total (as relevant) in my monthly_summary table (nothing to do with the "monthly" table that MX can generate from its standard log file). This monthly summary table allows me to have web pages that compare consecutive months or compare months between years. Just another example of how much you can get from just one log file!
 


==== Alternative schemas ====
==== Alternative schemas ====
Line 118: Line 122:


=== File specific Editing Rules ===
=== File specific Editing Rules ===
[[File:Open office (editing cumulus log files).png| right]]
[[File:Open office (editing cumulus log files).png| right]]
# The file should be saved without "Byte Order Mark", specialised text editors will include a menu where you select the encoding and can select not to include BOM.
# The file should be saved without "Byte Order Mark", specialised text editors will include a menu where you select the encoding and can select not to include BOM.
Line 152: Line 157:
#*Problems with terminating characters are intercepted by operating system, before it reaches the software, but may still stop the software understanding the resulting file, so be careful if you edit the file on a different device to that running Cumulus.
#*Problems with terminating characters are intercepted by operating system, before it reaches the software, but may still stop the software understanding the resulting file, so be careful if you edit the file on a different device to that running Cumulus.


== Cumulus 1 ==
 
 
=== Dealing with errors identified by the software ===
 
If there is an error in ''dayfile.txt'', then it is most likely to be found when you are viewing its data on one of the screens for editing the monthly, annual or all-time extremes.  Cumulus 1 will illuminate its ''Error'' light if it finds an error in such cases and tell you the line/row number of the first found error, together with some details of the error it found. For example, if a row is blank, a row is duplicated, a field is corrupted, a field does not have an acceptable value, or a field is missing so subsequent fields are to the left of where they should be.
 
If you do have a 'duplicate' error, you need to decide which row to ''delete'', and whether to copy any values from that row into the row you are keeping to ensure the correct extremes are retained.
 
=== Editing externally ===
 
See earlier section on this page for the rules and later section for advice on dealing with rogue values.
 
=== Using the Cumulus 1 editing feature ===
 
{{Version badge 1}}
{{Version badge 1}}
'''This section applies to Cumulus 1.x.y only'''. The last command in '''Edit''' [[Cumulus_Screenshots#File.2FEdit.2FHelp_Menu |menu]] is ''dayfile.txt''.  ''This is how you view'' the dayfile.txt from within Cumulus.    This is a text editor, so you can type new values over those currently displayed, insert and delete rows, and it works best when at full screen. Click the ''Help'' button for detailed instructions.  Cumulus Help is comprehensive.
'''This section applies to Cumulus 1.x.y only'''. The last command in '''Edit''' [[Cumulus_Screenshots#File.2FEdit.2FHelp_Menu |menu]] is ''dayfile.txt''.  ''This is how you view'' the dayfile.txt from within Cumulus.    This is a text editor, so you can type new values over those currently displayed, insert and delete rows, and it works best when at full screen. Click the ''Help'' button for detailed instructions.  Cumulus Help is comprehensive.
Line 160: Line 178:
*correct individual values by over-typing,
*correct individual values by over-typing,
*use '''delete''' key to remove an entire day (e.g. if you get a 'duplicate' error message),
*use '''delete''' key to remove an entire day (e.g. if you get a 'duplicate' error message),
*use '''Create missing''' button to insert missing rows (complete days) by reading from [[Monthly_log_files]] and automatically calculating the best approximations for each field for those missing days.
*use '''Create missing''' button to insert missing rows (complete days) by reading from [[Standard_log_files]] and automatically calculating the best approximations for each field for those missing days.
 
==== Create Missing ====


=== Dealing with errors identified by the software ===
The Cumulus 1 editor provides a "Create Missing" option where it will, for any dates for which a line does not exist, create a line if it can from reading the [[Monthly log files|detailed log file]] to extract all values relevant to that day and do the necessary minimum/maximum/total/average calculation for each dayfile.txt field, storing the time from the relevant other log file in any time-stamp field in dayfile.txt. If a particular day does not exist as a row on the daily summary log, then 'create missing' can search the observations in the relevant monthly log, and calculate approximate highs, lows and totals to insert as an extra row in the daily summary log. These are approximate because the actual highs and lows for that day are quite likely to have occurred at moments in-between those that were logged. For ''Create missing'' a list of inserted records is produced in [[dayfileeditlog.txt]]. If just some fields are wrong in a particular row (meteorological day) on day file, then there is a [[Standard_log_files#Using_Standard_logs_to_deal_with_shorter_.28or_incomplete.29_dayfile.txt_records_for_particular_dates | work around]] as at all current versions (up to 1.9.4) you can only use 'Create missing' to read from the [[Standard_log_files]] if the whole day (a line starting with that date) is missing in ''dayfile.txt''.  Although Cumulus does not recognise the concept of a sensor not being available, it will write solar information even if you don't have a solar sensor; it does have to cope with reading a monthly log file that might have fewer derivatives than it wants (when using Create Missing) and therefore it may not know what to write into dayfile.txt as the calculated value. Cumulus 1 can't write a null value, so it writes zero for values, and "00:00" for time stamps. If you are using a 9am or 10am rollover time, be aware that create missing in Cumulus 1 always inserts 00:00 for null time-stamps, but in normal running Cumulus uses the rollover time for null time-stamps.


If there is an error in ''dayfile.txt'', then it is most likely to be found when you are viewing its data on one of the screens for editing the monthly, annual or all-time extremes.  Cumulus 1 will illuminate its ''Error'' light if it finds an error in such cases and tell you the line/row number of the first found error, together with some details of the error it found. For example, if a row is blank, a row is duplicated, a field is corrupted, a field does not have an acceptable value, or a field is missing so subsequent fields are to the left of where they should be.
==== Using Standard logs to deal with shorter (or incomplete) dayfile.txt records for particular dates ====


If you do have a 'duplicate' error, you need to decide which row to ''delete'', and whether to copy any values from that row into the row you are keeping to ensure the correct extremes are retained.
'''WORKAROUND if required dates are present in both the standard log and dayfile.txt, but not all fields for that date exist in dayfile.txt'''


=== Editing externally ===
Example: '''add extra fields to records created by an earlier version of Cumulus''' [to help you, the versions (not builds) at which fields were added are indicated below].
Second example: records imported prior to Cumulus processing them, so some calculated parameters (apparent temperature, heat index, rain rate, wind run) may not have been available from your weather station to insert in the log files.


See earlier section on this page for the rules and later section for advice on dealing with rogue values.
''One method '''for Cumulus 1 only''' is (not near rollover time) to (1) take a copy of dayfile.txt original as backup, (2) in original file delete any days with partial information (e.g. from Cumulus versions that created fewer fields), (3) use ''create missing'' in the [[dayfile.txt]] selection in the '''Edit''' menu option of Cumulus (note whilst datafile.txt normally calculates all parameters like minimums and maximums from very frequent samples of your weather station, the resolution of create missing is limited to the interval between logging records in the monthly log), (4) rename the amended dayfile.txt as dayfile(generated).txt, (5) create a new dayfile.txt and (6) use a text editor to merge the required fields from the new dayfile(generated).txt with all other fields from (with reading access only) the backup copy of the original file.  (This method preserves the original as a backup so you can experiment with different merges and do some cross-checking).''


=== Create Missing ===
'''Cumulus MX'''
Although there is a tentative plan for an executable to be added to the MX package that can read the standard logs and calculate all the fields needed for a line in dayfile.txt, this is only a gleam in the developer's eye!


The Cumulus 1 editor provides a "Create Missing" option where it will, for any dates for which a line does not exist, create a line if it can from reading the [[Monthly log files|detailed log file]] to extract all values relevant to that day and do the necessary minimum/maximum/total/average calculation for each dayfile.txt field, storing the time from the relevant other log file in any time-stamp field in dayfile.txt. If a particular day does not exist as a row on the daily summary log, then 'create missing' can search the observations in the relevant monthly log, and calculate approximate highs, lows and totals to insert as an extra row in the daily summary log. These are approximate because the actual highs and lows for that day are quite likely to have occurred at moments in-between those that were logged. For ''Create missing'' a list of inserted records is produced in [[dayfileeditlog.txt]]. If just some fields are wrong in a particular row (meteorological day) on day file, then there is a [[Monthly_log_files#Using_Monthly_logs_to_deal_with_shorter_.28or_incomplete.29_dayfile.txt_records_for_particular_dates | work around]] as at all current versions (up to 1.9.4) you can only use 'Create missing' to read from the [[Monthly_log_files]] if the whole day (a line starting with that date) is missing in ''dayfile.txt''.  Although Cumulus does not recognise the concept of a sensor not being available, it will write solar information even if you don't have a solar sensor; it does have to cope with reading a monthly log file that might have fewer derivatives than it wants (when using Create Missing) and therefore it may not know what to write into dayfile.txt as the calculated value. Cumulus 1 can't write a null value, so it writes zero for values, and "00:00" for time stamps. If you are using a 9am or 10am rollover time, be aware that create missing in Cumulus 1 always inserts 00:00 for null time-stamps, but in normal running Cumulus uses the rollover time for null time-stamps.
The only method available at the time of writing involves multiple steps:
#*Either use '''ExportMySQL.exe monthly''' to create a database table called "monthly" (you can call it another name, but you must have set name in MX, before you run ExportMySQL.exe), and read all the standard logs into that database table
#*Or if you already have the table and have MX updating the standard logs into that database table
#Then, you can fairly easily update to add any missing values into existing columns in this monthly table, and from it update columns in a daily summary table. See [https://cumulus.hosiene.co.uk/viewtopic.php?f=18&t=18096 this post in support forum] where I describe two PHP scripts designed for this type of task.


=== Importing data not recorded by Cumulus ===
=== Importing data not recorded by Cumulus ===


As an alternative to manual line  ''insert'', in the Cumulus 1 editor, you may wish to use a procedure for importing, and processing, pre-Cumulus observations into [[Monthly_log_files]].  Once there is data for required days in monthly logs, ''Create missing'' can insert the new rows for those days previously missing in dayfile.txt.
As an alternative to manual line  ''insert'', in the Cumulus 1 editor, you may wish to use a procedure for importing, and processing, pre-Cumulus observations into [[Standard_log_files]].  Once there is data for required days in monthly logs, ''Create missing'' can insert the new rows for those days previously missing in dayfile.txt.


== Cumulus 2 ==
== Cumulus 2 ==
Line 185: Line 210:


== Cumulus MX ==
== Cumulus MX ==
There is a dayfile editor within the admin interface to edit this log file.
Only from MX version 3.6.0 has this been able to read the log file if it has some lines that were created using Cumulus 1 (with less than 46 fields). In the same version of MX, the number of fields in this log file was increased by 4 when Feels Like temperature was added. From that version all lines viewed in this editor will have 50 fields. The content of any field that was not in the line when it was created will be an empty string as far as this editor is concerned and any line edited and saved, therefore gains all these empty fields and will be stored as 50 fields until version 3.6.10.
From Emergency Version 3.6.12 (formally released in 3.7.0), all lines have 54 fields. The extras are Canadian Humidity Index (Humidex).


[[File:Badge vMx.png]]For Cumulus MX, when you select a line, both  '''Edit''' and '''Delete'''  buttons are enabled. There is no way of inserting new lines into dayfile.txt from within MX, nor of changing the dates in the file.
[[File:Badge vMx.png]]For Cumulus MX, when you select a line, both  '''Edit''' and '''Delete'''  buttons are enabled. There is no way of inserting new lines into dayfile.txt from within MX, nor of changing the dates in the file.


=== Editing  inside MX ===
=== Editing  inside MX ===


Pick Edit, click that and an editing screen pops up, that does not let you change the line number nor the date, but all other fields show their current contents and you can overtype as necessary. Scroll down to see 2 buttons (how they are labelled depends on which version you are using), the left button ignores any edits you have made (it is 'cancel' even if it is labelled 'close'), and the right hand button saves your changes (even if it is labelled 'Edit').
Pick Edit, click that and an editing dialog pops up, that does not let you change the line number nor the date, but all other fields show their current contents and you can overtype as necessary. Scroll down to see 2 buttons (how they are labelled depends on which version you are using), the left button ignores any edits you have made (it is labelled 'Close' or "Cancel" and simply does same effect as clicking the "x" in the top right corner), and the right hand button saves your changes (even if it is labelled 'Edit' rather than "Save" in the version you are using).


=== Editing externally ===
=== Editing externally ===


See earlier section on this page for the rules and later section for advice on dealing with rogue values.
See earlier section on this page for the rules and later section for advice on dealing with rogue values. Remember if you edit this file externally, either do not add any missing fields, or if you do then these must remain empty for every extra field in every line that was originally shorter!


MX does not have the capability to recalculate, the values and time-stamp for any entry in dayfile.txt,  by reading the [[Monthly log files|detailed log file]] to extract all values relevant to that day and do the necessary minimum/maximum/total/average calculation.  It can be done in a script if you are a programmer. I have done this, but it was not as easy as I thought, the log file you read from may have duplicate times potentially making the calculation harder, and you cannot edit the file as you go along, you basically rename the old file and create a new file with original name as you work through all days changing individual fields whenever you need to.
MX does not have the capability to recalculate, the values and time-stamp for any entry in dayfile.txt,  by reading the [[Monthly log files|detailed log file]] to extract all values relevant to that day and do the necessary minimum/maximum/total/average calculation.  It can be done in a script if you are a programmer. I have done this, but it was not as easy as I thought, the log file you read from may have duplicate times potentially making the calculation harder, and you cannot edit the file as you go along, you basically rename the old file and create a new file with original name as you work through all days changing individual fields whenever you need to.
Line 200: Line 233:
== Editing the file or other Manipulation outside Cumulus ==
== Editing the file or other Manipulation outside Cumulus ==


{{Version badge 1}}Apart from bulk changes, Cumulus 1 made editing this log file quite easy. Although the create missing did not work where a line was present for the date, but an individual field needed to be corrected or populated, there was a [[Monthly_log_files#Using_Monthly_logs_to_deal_with_shorter_.28or_incomplete.29_dayfile.txt_records_for_particular_dates |work around]] for this.
{{Version badge 1}}Apart from bulk changes, Cumulus 1 made editing this log file quite easy. Although the create missing did not work where a line was present for the date, but an individual field needed to be corrected or populated, there was a [[Standard_log_files#Using_Standard_logs_to_deal_with_shorter_.28or_incomplete.29_dayfile.txt_records_for_particular_dates |work around]] for this.


[[File:Badge vMx.png]]The beta versions of MX did not include any feature to view or edit dayfile.txt, so any checking or editing had to take place outside the software. As mentioned above, MX does not provide any way to read, or calculate, values from any other file, nor will it do bulk edits. For any of these, you will need to take a copy of the Cumulus file and manipulate using a script or a spreadsheet processor. Do be careful not to change the encoding, the position of line feeds, the format of any field, the locale, or anything else that might stop MX being able to read the file.
[[File:Badge vMx.png]]The beta versions of MX did not include any feature to view or edit dayfile.txt, so any checking or editing had to take place outside the software. As mentioned above, MX does not provide any way to read, or calculate, values from any other file, nor will it do bulk edits. For any of these, you will need to take a copy of the Cumulus file and manipulate using a script or a spreadsheet processor. Do be careful not to change the encoding, the position of line feeds, the format of any field, the locale, or anything else that might stop MX being able to read the file.
Line 229: Line 262:
   (Each of these screens is a text editor, and works best when at full screen).''
   (Each of these screens is a text editor, and works best when at full screen).''
* create the relevant monthly and/or annual NOAA style report by choosing NOAA Monthly Report or NOAA Annual Report from the View menu, then select the required period using the selectors. Click the Update Display button to see various statistics (including mean temperature) calculated. Generation of complete NOAA reports takes most information from dayfile.txt (based on rollover to rollover meteorological days), except average wind speed and dominant wind direction (both of these it calculates from the monthly log files) for period in question. Finally press Save button to store the new or amended report.  
* create the relevant monthly and/or annual NOAA style report by choosing NOAA Monthly Report or NOAA Annual Report from the View menu, then select the required period using the selectors. Click the Update Display button to see various statistics (including mean temperature) calculated. Generation of complete NOAA reports takes most information from dayfile.txt (based on rollover to rollover meteorological days), except average wind speed and dominant wind direction (both of these it calculates from the monthly log files) for period in question. Finally press Save button to store the new or amended report.  
Ideally, you will subsequently try to edit the rogue data for the particular time it was logged; see [[Monthly_log_files#Correcting_any_logged_data_problems]], but correcting the daily summary in dayfile.txt must always be the priority.
Ideally, you will subsequently try to edit the rogue data for the particular time it was logged; see [[Standard_log_files#Correcting_any_logged_data_problems]], but correcting the daily summary in dayfile.txt must always be the priority.


== Using the daily summary log on your web-site ==
== Using the daily summary log on your web-site ==
Line 240: Line 273:


==Viewing summary figures for a month or period==
==Viewing summary figures for a month or period==
'''These notes apply to Cumulus 1 only'''
To view a summary of dayfile.txt for a month, calendar year or selected period, use ''This month'' (choose any month, default is month from your computer system date), ''This year'' (choose any year, default is year from your computer system date), or ''This period'' (choose any start and end dates, default is yesterday calculated from your computer system date), within the '''View''' [[Cumulus_Screenshots#File.2FEdit.2FHelp_Menu|menu]].  
To view a summary of dayfile.txt for a month, calendar year or selected period, use ''This month'' (choose any month, default is month from your computer system date), ''This year'' (choose any year, default is year from your computer system date), or ''This period'' (choose any start and end dates, default is yesterday calculated from your computer system date), within the '''View''' [[Cumulus_Screenshots#File.2FEdit.2FHelp_Menu|menu]].  
*Remember the daily summary log has its records based on rollover to rollover days.
*Remember the daily summary log has its records based on rollover to rollover days.
Line 260: Line 296:
**The web tags report longest dry or wet period in the month.
**The web tags report longest dry or wet period in the month.


= List of fields in dayfile.txt =


== List of fields in dayfile.txt ==
== Variation by Cumulus version ==
 
=== Variation by Cumulus version ===


The dayfile.txt has grown as Cumulus's functionality has been extended, the table below shows fields grouped by the Cumulus version when those fields were added.  
The dayfile.txt has grown as Cumulus's functionality has been extended, the table below shows fields grouped by the Cumulus version when those fields were added.  
Line 273: Line 308:
'''For your installed build please see ''dayfileheader.txt'' (stored within the folder that contains your Cumulus executable), as that will list which fields are available for you.'''
'''For your installed build please see ''dayfileheader.txt'' (stored within the folder that contains your Cumulus executable), as that will list which fields are available for you.'''


=== Information shown in the table ===
== Information shown in the table ==


*The field number is shown starting from zero, this has two advantages:
*The fields are now numbered starting from 1 to fit in with Cumulus MX where when the log file is read, adds a line number in front of the date field.
**It stresses that the line consists of a date, (that should be a unique identifier, the same date should not be repeated in another line) plus data (mostly numerical, but some values are paired with a time)
** The Cumulus MX user may not be aware of this happening as it is within the internal workings.
**Numbering starting from zero is consistent with standard indexing used for arrays in programming languages (like JavaScript), so the number shown is the number to quote in any scripts you write to read this file if you just want to examine that particular derivative.
*The original table below was for Cumulus 1 and then field number '''was''' starting from zero. So in some forum posts you might see references to old numbering, in others to new numbering. The old numbering from zero had two advantages:
*#It stressed that the date field was different to the rest. The date '''must''' be a unique identifier, the same date should not be repeated in another line.
*#The remaining fields were all either numerical values or a time paired with preceding numerical value.
**Numbering starting from zero is consistent with standard indexing used for arrays in programming languages (like JavaScript), so the number shown '''was''' the number to quote in any scripts where a line was converted to an array, and you needed to address a single field.
*The alphabetic column identifiers used by many spreadsheets are shown, please see warnings about using spreadsheets for editing earlier on this page
*The alphabetic column identifiers used by many spreadsheets are shown, please see warnings about using spreadsheets for editing earlier on this page
*The type of field is shown, you must not put a sign for an unsigned field, you can not specify a decimal point in an integer field, all time fields must use HH:mm format
*The type of field is shown, you must not put a sign for an unsigned field, you can not specify a decimal point in an integer field, all time fields must use HH:mm format
Line 290: Line 328:
!style="width:600px" | Description  
!style="width:600px" | Description  
|-
|-
|colspan="4" style="background:lightgray;"|Included from when dayfile.txt first invented (assumed in first public release 1.0)
|0
|colspan="3"|For internal MX purposes, the zero field identifies a field that holds the line number. It is not actually stored as a field in the log file, but precedes any line exchanged via an application programming interface, and therefore is also included in an array representing all the fields in any log file line.
 
If you are processing this log file using a third party (or your own) script, that probably does not place the line number into any array, and your array elements will start at 0 for the field labelled 1 in this table, so putting all field numbers out by 1.
|-
|-
|0
|colspan="4" style="background:lightgray;"|Those fields included below have been in dayfile.txt from the start of Cumulus 1 (Version 1.0, the First release on 27th January 2004).
|-
|1
|A
|A
|8 characters
|8 characters
|Date as  ''2 figure day [separator] 2 figure month [separator] 2 figure year'' - the separator is that set in the windows system short date format (see [[setup]])  
|Date as  ''2 figure day [separator] 2 figure month [separator] 2 figure year'' - the separator is that set in the windows system short date format (see [[setup]])  
|-
|-
|1
|2
|B
|B
|Unsigned number
|Unsigned number
|Highest wind [[Wind_measurement#Weather_Stations_and_Cumulus|gust]] speed
|Highest wind [[Wind_measurement#Weather_Stations_and_Cumulus|gust]] speed
|-
|-
|2
|3
|C
|C
|unsigned integer
|unsigned integer
|[[Wind_measurement#Wind_Direction | Bearing]] of highest wind gust
|[[Wind_measurement#Wind_Direction | Bearing]] of highest wind gust
|-
|-
|3
|4
|D
|D
|5 characters
|5 characters
|Time of highest wind gust
|Time of highest wind gust
|-
|-
|4
|5
|E
|E
|signed decimal
|signed decimal
|Minimum [[Temperature_(and_humidity)_measurement#Cumulus_Calculated_Parameters | temperature]]
|Minimum [[Temperature_(and_humidity)_measurement#Cumulus_Calculated_Parameters | temperature]]
|-
|-
|5
|6
|F
|F
|5 characters
|5 characters
|Time of minimum temperature
|Time of minimum temperature
|-
|-
|6
|7
|G
|G
|signed decimal
|signed decimal
|Maximum temperature
|Maximum temperature
|-
|-
|7
|8
|H
|H
|5 characters
|5 characters
|Time of maximum temperature
|Time of maximum temperature
|-
|-
|8
|9
|I
|I
|Unsigned number
|Unsigned number
|Minimum [[Pressure_Measurement | sea level pressure]]
|Minimum [[Pressure_Measurement | sea level pressure]]
|-
|-
|9
|10
|J
|J
|5 characters
|5 characters
|Time of minimum pressure
|Time of minimum pressure
|-
|-
|10
|11
|K
|K
|Unsigned number
|Unsigned number
|Maximum sea level pressure
|Maximum sea level pressure
|-
|-
|11
|12
|L
|L
|5 characters
|5 characters
|Time of maximum pressure
|Time of maximum pressure
|-
|-
|12
|13
|M
|M
|unsigned number
|unsigned number
|Maximum [[Rain_measurement#Rain_Rate | rainfall rate]]
|Maximum [[Rain_measurement#Rain_Rate | rainfall rate]]
|-
|-
|13
|14
|N
|N
|5 characters
|5 characters
|Time of maximum rainfall rate
|Time of maximum rainfall rate
|-
|-
|14
|15
|O
|O
|unsigned number
|unsigned number
|Total rainfall for the day
|Total rainfall for the day
|-
|-
|colspan="4" style="background:gray;"|Above here represents the minimum length for every line, a count of 15 items
|colspan="4" style="background:lightblue;"|Above here represents the minimum length for every line, a count of 15 items
|-
|-
|colspan="4" style="background:lightgray;"|(The release history between versions 1.2.5 and 1.5.1 was lost by Steve Loft, and for MX in "DataEditor.cs" this addition has " Extended for ???" as a comment)
|colspan="4" style="background:pink;"|(There is no record of which version added this next field, it is almost certainly one of the versions in the release history between versions 1.2.5 and 1.5.1 that was lost by Steve Loft. The first mention of it in the forum relates to a question re the 1.8.2 release confirming it was present by December 2008, but those release notes don't mention it being introduced in that release.
 
Because of that, in "DataEditor.cs" (part of the source code that is compiled into CumulusMX.exe) this addition has "Extended for ???" as a comment)
|-
|-
|15
|16
|P
|P
|signed decimal
|signed decimal
Line 378: Line 423:
|colspan="4" style="background:lightgray;"|(Wind run was added from version 1.8.4)
|colspan="4" style="background:lightgray;"|(Wind run was added from version 1.8.4)
|-
|-
|16
|17
|Q
|Q
|unsigned number
|unsigned number
|Daily [[Windrun | wind run]]
|Daily [[Windrun | wind run]]
|-
|-
|colspan="4" style="background:lightgray;"|(The next pair of entries were added from version 1.8.9)
|colspan="4" style="background:lightgray;"|(The next pair of entries were added from version 1.8.9 build 907 (June 2010) as part of a total redesign of how dayfile.txt was implemented in Cumulus 1)
|-
|-
|17
|18
|R
|R
|unsigned number
|unsigned number
|Highest [[Wind_measurement#Weather_Stations_and_Cumulus|Average Wind Speed]]
|Highest [[Wind_measurement#Weather_Stations_and_Cumulus|Average Wind Speed]]
|-
|-
|18
|19
|S
|S
|5 characters
|5 characters
|Time of Highest Avg. Wind speed
|Time of Highest Avg. Wind speed
|-
|-
|colspan="4" style="background:lightgray;"|(The two pairs of humidity entries were added from v 1.9.0)
|colspan="4" style="background:lightgray;"|(The two pairs of humidity entries were added in a v 1.9.0 beta, the exact build number is now lost)
|-
|-
|19
|20
|T
|T
|unsigned integer
|unsigned integer
|Lowest [[Temperature_(and_humidity)_measurement | humidity]]
|Lowest [[Temperature_(and_humidity)_measurement | humidity]]
|-
|-
|20
|21
|U
|U
|5 characters
|5 characters
|Time of lowest humidity
|Time of lowest humidity
|-
|-
|21
|22
|V
|V
|unsigned integer
|unsigned integer
|Highest humidity
|Highest humidity
|-
|-
|22
|23
|W
|W
|5 characters
|5 characters
Line 419: Line 464:
|colspan="4" style="background:lightgray;"|(The next two entries were added from version 1.9.0)
|colspan="4" style="background:lightgray;"|(The next two entries were added from version 1.9.0)
|-
|-
|23
|24
|X
|X
|(not documented)
|(not documented)
|Total evapotranspiration (Only valid for Davis stations, shows zero otherwise)
|Total evapotranspiration (Only valid for Davis stations, shows zero otherwise)
|-
|-
|24
|25
|Y
|Y
|unsigned
|unsigned
|Total hours of sunshine (only valid if sunshine sensor connected)
|Total hours of sunshine (only valid if sunshine sensor connected)
|-
|-
|colspan="4" style="background:lightgray;"|(The next 16 entries were added from version 1.9.1)
|colspan="4" style="background:lightgray;"|(The next 16 entries were added from version 1.9.1 May 2011)
|-
|-
|25
|26
|Z
|Z
|signed decimal
|signed decimal
|High [[Heat index]] (added to Cumulus in 1.7.11 only as spot value, not stored)
|High [[Heat index]] (added to Cumulus in 1.7.11 only as spot value, not stored)
|-
|-
|26
|27
|AA
|AA
|5 characters
|5 characters
|Time of high heat index
|Time of high heat index
|-
|-
|27
|28
|AB
|AB
|Signed decimal
|Signed decimal
|High [[Apparent temperature]]
|High [[Apparent temperature]]
|-
|-
|28
|29
|AC
|AC
|5 characters
|5 characters
|Time of high apparent temperature
|Time of high apparent temperature
|-
|-
|29
|30
|AD
|AD
|signed decimal
|signed decimal
|Low apparent temperature
|Low apparent temperature
|-
|-
|30
|31
|AE
|AE
|5 characters
|5 characters
|Time of low apparent temperature
|Time of low apparent temperature
|-
|-
|31
|32
|AF
|AF
|unsigned number
|unsigned number
|High hourly rain
|High hourly rain
|-
|-
|32
|33
|AG
|AG
|5 characters
|5 characters
|Time of high hourly rain
|Time of high hourly rain
|-
|-
|33
|34
|AH)
|AH)
|signed decimal
|signed decimal
|Greatest [[wind chill]] (high wind speed, low temperature) (added in 1.8.3 as spot value, not stored)
|Greatest [[wind chill]] (high wind speed, low temperature) (calculated since version 1.8.3 as spot value, not stored)
|-
|-
|34
|35
|AI
|AI
|5 characters
|5 characters
|Time of greatest wind chill
|Time of greatest wind chill
|-
|-
|colspan="4" style="background:lightgray;"|(The next two pairs were added in version 1.9.2 beta build)
|colspan="4" style="background:lightgray;"|(The next two pairs for dew point were added in version 1.9.2 beta build)
|-
|-
|35
|36
|AJ
|AJ
|signed decimal
|signed decimal
|High [[Temperature_(and_humidity)_measurement#Cumulus_Calculated_Parameters | dew point]]
|High [[Temperature_(and_humidity)_measurement#Cumulus_Calculated_Parameters | dew point]]
|-
|-
|36
|37
|AK
|AK
|5 characters
|5 characters
|Time of high dew point
|Time of high dew point
|-
|-
|37
|38
|AL
|AL
|signed decimal
|signed decimal
|Low dew point
|Low dew point
|-
|-
|38
|39
|AM)
|AM)
|5 characters
|5 characters
Line 505: Line 550:
|colspan="4" style="background:lightgray;"|(The next three entries were added in version 1.9.2 Build 1004)
|colspan="4" style="background:lightgray;"|(The next three entries were added in version 1.9.2 Build 1004)
|-
|-
|39
|40
|AN
|AN
|unsigned integer
|unsigned integer
|Today's dominant/average wind direction
|Today's dominant/average wind direction
|-
|-
|40
|41
|AO
|AO
|unsigned decimal
|unsigned decimal
|[[Heat/cold degree days and Chill hours | Heating degree days]]
|[[Heat/cold degree days and Chill hours | Heating degree days]]
|-
|-
|41
|42
|AP
|AP
|unsigned decimal
|unsigned decimal
Line 522: Line 567:
|colspan="4" style="background:lightgray;"|The next two pairs were added in version 1.9.3 build 1036 (these only show valid values if appropriate sensors exist)
|colspan="4" style="background:lightgray;"|The next two pairs were added in version 1.9.3 build 1036 (these only show valid values if appropriate sensors exist)
|-
|-
|42
|43
|AQ
|AQ
|unsigned decimal
|unsigned decimal
|High solar radiation
|High solar radiation
|-
|-
|43
|44
|AR
|AR
|5 characters
|5 characters
|Time of high solar radiation
|Time of high solar radiation
|-
|-
|44
|45
|AS
|AS
|unsigned decimal
|unsigned decimal
|High UV Index
|High UV Index
|-
|-
|45
|46
|AT
|AT
|5 characters
|5 characters
|Time of high UV Index
|Time of high UV Index
|-
|-
|colspan="4" style="background:lightgray;"|The next two pairs were added in version 3.6.0, 2 more derived values
|colspan="4" style="background:lightgray;"|The next two pairs were added in version 3.6.0, 2 more derived values and their times
|-
|-
|46
|47
|AU
|AU
|signed decimal
|signed decimal
|High [[Feels Like]] temperature
|High [[Feels Like]] temperature
|-
|-
|47
|48
|AV
|AV
|5 characters
|5 characters
|Time of high feels like temperature
|Time of high feels like temperature
|-
|-
|48
|49
|AW
|AW
|signed decimal
|signed decimal
|Low Feels Like temperature
|Low Feels Like temperature
|-
|-
|49
|50
|AX
|AX
|5 characters
|5 characters
|Time of low feels like temperature
|Time of low feels like temperature
|-
|colspan="4" style="background:lightgray;"|The next two pairs were added in version 3.6.12
*Version 3.6.12 (build 3088) was an emergency release to cure serious problems in previous build 3087. It added the following 4 fields (2 values and their times).
**The 4 extra fields are left empty in this release, although you can add values and time-stamps using the dayfile editor.
*From version 3.7.0 the first 2 of these 4 fields are populated, and the last 2 are removed, so I have labelled them as error.
|-
|51
|AY
|signed decimal
|High Canadian Humidity Index or [[Humidex]]
|-
|52
|AZ
|5 characters
|Time of high Humidex
|-
|colspan="4" style="background:lightblue;"|Just confirming that the next 2 fields were included by mistake in an emergency release (3.6.12), and are not included in current nor any other version, so have labelled them as error.
|-
|53 ('''error''')
|BA
|signed decimal
|Labelled as Low Humidex, but not used, (appear in 3.6.12, but no other version)
|-
|54 ('''error''')
|BB
|5 characters
|Labelled as Time of low Humidex, but not used,  (appear in 3.6.12, but no other version)
|}
|}


5,838

edits

Navigation menu