Migrating from Cumulus 1 to MX: Difference between revisions

From Cumulus Wiki
Jump to navigationJump to search
m
corrected cross reference that was linking to text that has moved to different page
m (corrected cross reference that was linking to text that has moved to different page)
 
(7 intermediate revisions by the same user not shown)
Line 58: Line 58:
When you successfully start MX, the engine is running, and it continues, until it is terminated by control C (or its equivalent in a Mac environment). (You can also run MX as a service, that has different ways to start and stop, discussed in the links given in previous section).
When you successfully start MX, the engine is running, and it continues, until it is terminated by control C (or its equivalent in a Mac environment). (You can also run MX as a service, that has different ways to start and stop, discussed in the links given in previous section).


The separate [[MX Administrative Interface|admin interface]](unfortunately this is called various names in the support forum, including "user interface", "dashboard interface", and "admin interface") is provided by virtue of the engine acting as a web server. You can view the admin interface by typing the URL of the built-in web server into your browser, either on the same machine, or on a separate machine sharing the same local network.   
The separate [[MX Administrative Interface|admin interface]](unfortunately this is called various names in the support forum, including "user interface", "dashboard", and "interface") is provided by virtue of the engine acting as a web server. You can view the admin interface by typing the URL of the built-in web server into your browser, either on the same machine, or on a separate machine sharing the same local network.   


If you install MX on Microsoft Windows, then a few extra one-off steps are needed to allow this web server functionality:
If you install MX on Microsoft Windows, then a few extra one-off steps are needed to allow this web server functionality:
Line 67: Line 67:


The default URL if the browser is on the same machine as MX is http://localhost:8998/.  Newer releases of MX will tell you an IPv4 address to use, such as by typing "http://192.168.1.64:8998/".
The default URL if the browser is on the same machine as MX is http://localhost:8998/.  Newer releases of MX will tell you an IPv4 address to use, such as by typing "http://192.168.1.64:8998/".
Equally, if "localhost" is already in use for another web server (that you already run on your device), unless you can differentiate purely by port number you may need to use the correct IPv4 address as above, even on the same device.


For security reasons, the admin interface should not be accessible via the public internet.
For security reasons, the admin interface should not be accessible via the public internet.
Line 74: Line 72:
=Migrating existing data files from legacy Cumulus to a recent build of MX=
=Migrating existing data files from legacy Cumulus to a recent build of MX=


If you want to continue using the same weather station, and you are not moving to a different home, you will want to maintain the data you collected using Cumulus 1 in your MX installation. This is what is meant by migration, and is the subject of the rest of this article.
If you want to continue using the same weather station, and you are not moving to a different home, you will want to maintain the data you collected using Cumulus 1 in your MX installation. This is what is meant by migration, and there is quite a bit to read, taking up most of the rest of this Wiki page.  The Cumulus configuration files for Cumulus 1 and for MX share the same name, but their content is very different, so these are discussed at length in subsections below.
 
Obviously, you will want to copy ALL (''except weather diary which uses a different file'') the files in the [[#"data" folder]], from any old installation into the new installation, but migrating these is not always easy, here is a quick summary of the potential issues (all discussed further in various subsections later):
* '''When you first run MX, the [[#Start date|Start Date]] is recorded in the configuration file'''
** In the legacy software, this date is purely used as something to appear on one of the [[Customised_templates#The_Standard_Templates_for_Cumulus_1|sample web templates]]
** In Cumulus MX, this date controls what data is read from [[Monthly log files]], such as [[Standard log files]], and [[Extra Sensor Files]], any lines in those files with earlier dates are ignored by CumulusMX.exe, ExportToMySQL.exe, and other utilities.
**  You can edit this [[Cumulus.ini#Data_Logging|'''StartDate=xxxxx''']] parameter, in the admin interface select ''Station Settings → Common Options → Advanced Options → Records Began date''
* Be aware your new installation has to use the same "locale" as the old installation, or MX will struggle as the locale affects how new lines are stored, and how MX expects old lines to have been stored the same way.
** The legacy software was fairly tolerant about date formats, and use of decimal commas
* Cumulus MX is much more fussy than Cumulus 1 about every line in any data file using exactly the same locale formatting:
** Cumulus 1 is able to accept any character (other than the list separator, and space) being used to separate hour and minutes in time-stamps, MX only accepts a colon ":"
** [[Amending dayfile]] tells you about how MX is far more fussy about the content in [[dayfile.txt]]
** [[:Category:Ini Files|.ini files]] explains how time-stamps are formatted differently in the extreme tracking files, and how MX prefers decimal points to decimal commas
* If your old installation, is on a different operating system to the new installation, remember that Microsoft Windows uses different line terminators to all other operating systems, although MX should cope with mixed line terminators, any third party routines reading your data files will probably not accept a line terminator change.
 
==Simplest migration==
 
There is no harm in trying the following steps, but whether this simple approach works, really does depend on what parts of Cumulus functionality you actually use, and how you had your legacy Cumulus working, as each subsection below explains.
 
# Copy the configuration files ('''Cumulus.ini''' and the optional  '''strings.ini''') from the directory with Cumulus.exe in it to the directory with CumulusMX.exe in it
# If you use the [[Weather Diary]], see that cross reference, because MX cannot read the old file, and there is no conversion utility.
# Copy all the [[:Category:Ini Files|extreme tracking files ending in .ini]] and the [[:Category:Files with Comma Separated Values|files with your data ending in .txt]] in the old [[Data folder]] across to MX folder with same name
# If you have files in the [[Reports folder]], copy them across to the MX folder of same name, see that cross reference for information about different defaults


==File names==
==File names==


Note that if you run MX on a UNIX based operating system (e.g. Linux or Raspberry Pi OS) all file names are case-sensitive, please read documentation to see where capital letters are required in those file names. Be aware that Wiki pages change first letter to a capital even when a file that must be all lower-case is being described.
Note that if you run MX on a UNIX based operating system (e.g. Linux or Raspberry Pi OS) all file names are case-sensitive, please read documentation to see where capital letters are required in those file names. Be aware that Wiki pages always change first letter to a capital, so do check carefully if that wiki page is describing a file name that must be all lower-case.


==Line terminators==
==Line terminators==


If you are not running MX on a Microsoft Windows computer, ideally you should change the characters appearing at the end of every line in any file you move from Cumulus 1.
If you are not running MX on a Microsoft Windows computer, ideally you should change the characters appearing at the end of every line in every file you move from Cumulus 1.


I say ideally, because although Microsoft is fussy, and determined to be different by insisting files match its choice, most other operating systems can tolerate different line terminators.   
I say ideally, because although Microsoft is fussy, and determined to be different by insisting files match its choice, most other operating systems can tolerate different line terminators.  This means that MX will generally tolerate files using a mixture of line terminators. However, if you are using third-party routines, please be aware that these are often written to expect a particular line terminator, and they may give unexpected results when used with files that do not match that expectation!


With Cumulus 1 (or MX) on Windows, each line in every file ends with both carriage return and line feed.
With Cumulus 1 (or MX) on Windows, each line in every file ends with both carriage return and line feed.
Line 92: Line 112:
For all Unix-based operating systems (Linux, Raspberry Pi OS, and other variants), each line should end with just a Line Feed.
For all Unix-based operating systems (Linux, Raspberry Pi OS, and other variants), each line should end with just a Line Feed.


To change end of line characters, run each file through an editor designed for programmers. Various editors are available but "Notepad ++" is one that is popular on Windows, but can run on other operating systems. In its '''Edit''' menu, choose '''EOL conversion'''.  
To change end of line characters, run each file through an editor designed for programmers. Various editors are available but "Notepad ++" is one that is popular on Windows, but can run on other operating systems. In its '''Edit''' menu, choose '''EOL conversion'''.   On a Linux system like a Raspberry Pi computer, please see [[Preparing_your_Linux_computer_for_MX#Changing_line_terminators|Changing line terminators]].


If you use PHP Hypertest Pre-processor anywhere on your installation, normally that is written for "Line-feed" as line terminator and any "carriage return" in your files may mess up the content unless you code in a "trim" to remove it. Hopefully, if you use PHP, you are technical enough to realise you may need to edit the code depending on which device it is being run on!
If you use PHP Hypertext Pre-processor (php) anywhere on your installation, normally that is written for "Line-feed" as line terminator and any "carriage return" in your files may mess up the content unless you code in a "trim" function to remove it. Hopefully, if you use PHP, you are technical enough to realise you may need to edit the code depending on which device it is being run on!


==Configuration file==
==Configuration file==


MX's [[Cumulus.ini]] has different content to the legacy [[Cumulus.ini_(Cumulus_1)|'''cumulus.ini''']].
MX's [[Cumulus.ini]] has different content to the legacy [[Cumulus.ini_(Cumulus_1)|'''cumulus.ini''']]. From release 3.12.0,many more new settings were added, more settings were removed, and some parameters in the file were renamed.  The first cross reference, in listing all the parameters, makes it clear which settings were introduced in the legacy software, and which MX release added new settings, this should help you to grasp how many new settings exist!
 
===Differences===
 
The original Cumulus MX beta by Steve Loft was partly written by machine code translation from his Cumulus 1 code, and therefore MX initially worked fairly similarly to the legacy software.
 
The development of MX since then, has replaced significant coding and it is safest to assume that MX works differently to the legacy software.
 
This does mean that some settings do have to be changed when moving from the legacy software to MX:
* Some settings actually have a different parameter name, e.g. '''Port=n''' is replaced by '''Comport=tttttttt''', these differences are explained later
* Some settings work in a different way e.g. the real-time interval in the legacy software is the number of seconds after real-time actions end to when they starts again, so two real-time cycles cannot overlap. For Cumulus MX, a real-time interval kicks off a cycle after the specified number of seconds and therefore you probably need to increase the time in the setting to ensure all actions in one cycle finish before the next attempt starts
 
Consequently, if you are migrating from the legacy software to MX now, it is best to rename your old '''cumulus.ini'' file  so it is is not seen by MX.  Let MX create a new configuration file with just the parameters it needs using the various [MX_Administrative_Interface#Changing_Settings|settings pages in the admin interface]].  That will ensure you don't get muddled by parameters used for Cumulus 1 (but not for MX); and you do have all the parameters you do need, set correctly.
 
===Configuration file naming restrictions===


Cumulus 1 can recognise, in some circumstances, "cumulus1.ini", and other variants, not just "cumulus.ini".  
Cumulus 1 can recognise, in some circumstances, "cumulus1.ini", and other variants, not just "cumulus.ini".  


MX only recognises "Cumulus.ini".
MX only recognises "Cumulus.ini". The Windows operating system is not case sensitive for file names.  All other operating systems require the first letter of the filename to be a capital, and the remainder to be lower case as shown.


The old approach for migration, was to copy across your existing file, and let MX ignore all the parameters that do not apply to it.  To add the parameters that MX does need, you would then go to the [[MX_Administrative_Interface#Changing_Settings]] pages and work steadily through ALL the options.  For any parameters that were not set by the admin interface (and there were many "read-only" parameters in early releases of MX), one assumed these also existed in Cumulus 1 and so were already in your file.
===Historical evolution of configuration file===


At releases like 3.3.0 and 3.6.0, amongst others, there were changes to "read-only" parameters for MX. These could not be adjusted through the admin interface, and needed to be entered manually as listed on [[Cumulus.ini (MX 3.0.0 to 3.7.0)]] page. If you choose to migrate to an old MX release, to simplify some data file issues listed below, then refer to that page for the new parameters, and refer to [[Cumulus.ini (Cumulus 1)]] if you need to check if particular parameters were used by the legacy software.  However, you should reuse your old file, and just use the admin interface to work through all settings pages and finalise the new settings.
The oldest approach for migration from the legacy software, was to copy across to MX your existing configuration file, and let MX ignore all the parameters that do not apply to it.  This worked because the early MX releases had few new parameters, and mostly used the majority of the old parameters.  


Substantial changes to changes were made from release 3.8.0 onwards, hence [[Cumulus.ini]] is a new page applicable from that release. More changes were made in 3.10.0, and subsequent releases, as settings that used to have to be made directly in file were gradually moved to be advanced settings controlled in the admin interface.  From release 3.12.0,many more new settings were added, more settings were removed, and some parameters in the file were renamed.
For any parameters that were not set by the admin interface (and there were many "read-only" parameters in early releases of MX), one assumed these also existed in Cumulus 1 (refer to [[Cumulus.ini (Cumulus 1)]]) and so were already in your file.
 
To add the few new parameters that MX did need (see [[Cumulus.ini (MX 3.0.0 to 3.7.0)]] page), you would then go to the [[MX_Administrative_Interface#Changing_Settings]] pages and work steadily through ALL the options.
 
Retaining your old settings as far as possible simplified any migration of data files from your legacy installation into MX, because it ensured you kept to same unit selections, and same extra sensor selections.
 
At releases like 3.3.0 and 3.6.0, amongst others, there were changes to "read-only" parameters for MX. These could not be adjusted through the admin interface, and needed to be entered manually into the '''Cumulus.ini''' file, as instructed on [[Cumulus.ini (MX 3.0.0 to 3.7.0)]] page.
 
===Subsequent evolution of configuration file===
 
Substantial changes to settings available were made from release 3.8.0 onwards.  The content of the '''Cumulus.ini''' file changed drastically, with much deviation from the configuration file used in earlier releases (including for the legacy software), hence [[Cumulus.ini]] is a new page describing the settings, and the parameters appearing in the configuration file, applicable from that release.  
 
More changes were made in 3.10.0, and subsequent releases, as settings that previously had to be made directly in file were gradually moved to be advanced settings controlled in the admin interface.  In addition, these releases, have added many new settings never encountered in your legacy software. 
 
For example the changes include the (advanced) ability to change the number of decimal places for storing derived values like daily rainfall, sea level pressure, and wind speeds.
 
Changes to the [[New Default Web Site Information|Default Web Site]] (diverging away from the [[Customised templates]] approach in the legacy software) and implementing the option to use (as was available in the legacy software, and the earliest MX beta, but then removed) a copy action instead of a file transfer action for [[Your Own Server]], has led to many,many new settings. Thus the advice has become abandon your old legacy software cumulus.ini file when you move to MX.


Consequently, if you are migrating from the legacy software to MX now, it is best to rename your old '''cumulus.ini'' file  so it is is not seen by MX.  Let MX create a new configuration file with just the parameters it needs using the various [MX_Administrative_Interface#Changing_Settings|settings pages in the admin interface]].  That will ensure you don't get muddled by parameters used for Cumulus 1 (but not for MX); and you do have all the parameters you do need, set correctly.


==Settings==
===How to make new Settings take effect===


The settings pages in Cumulus 1 and MX work differently:
'''The [[MX_Administrative_Interface#Changing_Settings|settings pages]] in MX, work differently to the [[Cumulus_Screenshots#Configuration_Menu_Screens|settings screens]] in Cumulus 1:
* for Cumulus 1 you choose to save changes by clicking OK,  
* for Cumulus 1 you choose to save changes by clicking OK,  
* for MX changes are only saved when you click a '''Save''' button if one is provided.  
* for MX changes are only saved when you click a '''Save''' button if one is provided.  
* If there is no Save button anywhere on the screen (as in Extra Web Files) then the setting is saved when you move to next field/line.
* The alarms page works slightly differently, with an "Update alarms" button.
* If there is no Save button anywhere on the screen (as in Extra Web Files) then the setting is saved to configuration file when you move to next field/line, and acted on when you next restart MX.


Be aware that you should restart MX after changing settings, as many settings are only read from file when MX starts.
Be aware that you do have to restart MX after changing certain settings
* You certainly need to restart after any changes that relate to weather station input reading
* You may need to restart after changes that relate to processing of outputs
* At time of writing there is no list of which settings require a restart
* Early releases of MX tended to write new settings to configuration file, but not change how the internal code behaved
* Such settings only took effect on restart, when MX reads the configuration file
* As MX is rewritten for later releases, the handling of settings is changing, and more and more take effect immediately


===Start date===
===Start date===
Line 125: Line 181:
When you first run any Cumulus software (whatever flavour) a parameter is added to the configuration file that documents the date Cumulus was first used.  
When you first run any Cumulus software (whatever flavour) a parameter is added to the configuration file that documents the date Cumulus was first used.  


For Cumulus 1, this parameter appeared in two places on the example web template for all-time records, but was otherwise ignored.  Thus if you decided to import into your data logs readings from before you first ran Cumulus, the legacy software would be able to find those earlier records.
For Cumulus 1, this parameter appeared in two places on the example web template for all-time records, but was otherwise ignored.  Thus if you decided to import into your data logs readings from before you first ran Cumulus, the legacy software would be able to find those earlier records, without you needing to change the date that appeared on the web page.


'''CumulusMX.exe''' uses this parameter to determine the first standard log file to start reading from, it will ignore any log files for earlier dates. Thus if you were to migrate your Cumulus 1 configuration file into MX, you should check the "StartDate=" line in the '[Station]' section is correct for your earliest data before you let MX read this configuration file for first time.  If you need to make any edit, ensure you stick to exactly the same date format.
'''CumulusMX.exe''' uses this parameter to determine the first standard data file to start reading from, it will ignore any data files for earlier dates, it will also ignore any lines with an earlier date in the first data file. Thus if you were to migrate your Cumulus 1 configuration file into MX, you should check the [[Cumulus.ini#Data_Logging|'''StartDate=xxxxx''']] parameter in the '[Station]' section is correct for your earliest data before you let MX read this configuration file for first time.  If you need to make any edit, ensure you stick to exactly the same date format.


From release 3.10.1, MX allows you to edit this start date within the admin interface. It is "hidden" as an "advanced" setting, with a strict danger warning, but it is there!
From release 3.10.1, MX allows you to edit this start date within the admin interface, just select ''Station Settings → Common Options → Advanced Options → Records Began date''. It is "hidden" as an "advanced" setting, with a strict danger warning, because of the importance of sticking to exactly the right date format when you edit it!


=== Station connections===
=== Station connections===


You can skip this sub-section if your weather station connects to mX either by uSB or by wireless connection.
''You can skip this subsection if your weather station connects to MX either by USB or by wireless connection''.


If your weather station used a port to connect to Cumulus 1, that port was set on the settings screen as a number and stored in Cumulus.ini_(Cumulus_1) in the station section as a parameter in the format '''Port=n'''.  
This subsection is relevant if your station connects by a serial connection and MX needs to be told which port.  It also applies if the serial connection is converted to USB.
 
If your weather station used a port to connect to Cumulus 1, that port was set on the settings screen as a number and stored in [[Cumulus.ini_(Cumulus_1)]] in the station section as a parameter in the format '''Port=n'''.  


In Cumulus MX, as it runs on various operating systems, the port is specified using text (instead of a number), again you select it within settings, on Station settings page, but within [[Cumulus.ini]] in the station section the parameter is in the format  '''Comport=tttttttt'''.  
In Cumulus MX, as it runs on various operating systems, the port is specified using text (instead of a number), again you select it within settings, on Station settings page, but within [[Cumulus.ini]] in the station section the parameter is in the format  '''Comport=tttttttt'''.  


If your old parameter had a value of '''3''', and you are still using Windows, the new setting would have value of '''COM3'''.   
If your old parameter had a value of '''3''', and you are still using Windows, the new setting would have value of '''COM3''', i.e. serial port 3 now requires a "COM" prefix.   


A typical parameter value for other serial connecting devices might be "/dev/ttyUSB0".
A typical parameter value for other serial connecting devices might be "/dev/ttyUSB3" where the final digit will change depending on the new connection.  You can search for posts on the support forum that talk about how to find out what connection is being used, depending on what hardware you are using.
 
===Fine Offset Read Avoid Setting===
 
The "read-avoid" timer setting for traditional Fine Offset Stations, was intended to reduce the lock-up problem.
 
This type of weather station consists of some remote sensors that transmit a short burst of readings every 40 seconds (those models with solar sensors do a second transmission every 60 seconds).
 
The legacy Cumulus 1 software would read data from these weather stations every 30 seconds, i.e. slightly more frequently than the updates, so sometimes it would read the same data twice. The way the "read-avoid" was implemented in the legacy software was that the software attempted to see which subsequent reads were same, and which were different, as the latter indicated a transmission had taken place. Thereafter, a (configurable) delay of a few seconds would ensure thereafter the 30 second interval reads would never clash with the update following transmission.
 
MX reads the same station type every 10 seconds, with extra processing once a minute, both timings are fixed, based on computer time.  Therefore if read-avoid is enabled, then some of the fixed 10 second interval actions will be skipped. The current advice is not to enable the read avoid as the result can be that almost all reads are skipped.


===RG11 Rain gauge===
===RG11 Rain gauge===


If you use a RG11 rain gauge:
If you use a RG11 rain gauge:
*Replace: '''RG11port=n''' and '''RG11port2 =n''' (Cumulus 1) where n is a number, by '''RG11portName=xxxx''' and '''RG11portName2=yyyy'''  (Cumulus MX on Windows) where the value is a string with values as per previous paragraph depending on device on which Cumulus MX is running.
*Replace: '''RG11port=n''' and '''RG11port2 =n''' (Cumulus 1) where n is a number,  
* With: '''RG11portName=xxxx''' and '''RG11portName2=yyyy'''  (Cumulus MX on Windows)
 
The new value is a string with values as per previous paragraph depending on device on which Cumulus MX is running.
 
===Other Cumulus.ini parameters===


From release 3.10.1, there appear to be other new parameters, not yet documented.
Lots of parameters in [[Cumulus.ini]] are being changed as MX is developed.  So much had changed by the time that MX releases reached 3.12.0, the first run of that particular release created a brand new '''Cumulus.ini''' discarding the old file. If you migrate from Cumulus 1 to MX without stepping through MX releases, you may have several issues, but without knowing which MX release you have selected, all I can suggest is that you work through all settings found in the Settings page of the MX release you choose. Although you could compare [[Cumulus.ini (Cumulus 1)]] and [[Cumulus.ini]] pages, there is no guarantee that either is totally accurate!


==Strings.ini==
==Strings.ini==
Line 156: Line 229:
If you install MX on another operating system, then the file system is case sensitive, in this case MX will only recognise "strings.ini".
If you install MX on another operating system, then the file system is case sensitive, in this case MX will only recognise "strings.ini".


If you have not created a [[Strings.ini|strings.ini]] file in your (leagacy) Cumulus top level folder, then you have no file to move to your MX installation, and you should skip the rest of this sub-section.
If you have not created a [[Strings.ini|strings.ini]] file in your (legacy) Cumulus top level folder, then you have no file to move to your MX installation, and you should skip the rest of this sub-section.


The contents of the [[Samplestring.ini|samplestring.ini]] file you get in your MX release distribution varies depending on the release you have downloaded.   
The contents of the [[Samplestring.ini|samplestring.ini]] file you get in your MX release distribution varies depending on the release you have downloaded.   


Check your existing '''strings.ini''' file against the ''samplestring.ini'' file in the MX distribution you have.  If the attribute names (left hand side of the equals sign) match for the parameters you selected to include in your '''strings.ini''', then you can reuse your existing file. If your file includes attributes that are no longer in the MX ''samplesting.ini'' file, then you will need to edit your '''strings.ini''' file that is placed in the folder containing CumulusMX.exe.
Check your existing '''strings.ini''' file against the ''samplestring.ini'' file in the MX distribution you have.  If the attribute names (left hand side of the equals sign) match for the parameters you selected to include in your '''strings.ini''', then you can reuse your existing file. If your file includes attributes that are no longer in the MX ''samplesting.ini'' file, then you will need to edit your '''strings.ini''' file that is placed in the folder containing CumulusMX.exe.  You may also need to add new items into your '''strings.ini''' based on new content in ''samplestring.ini''.


==NOAA style reports==
==NOAA style reports==
Line 166: Line 239:
The generation of reports is an optional feature, if you have never used it your (legacy) Cumulus Reports folder will be empty, then you have no files to move to your MX installation, and you should skip the rest of this sub-section.
The generation of reports is an optional feature, if you have never used it your (legacy) Cumulus Reports folder will be empty, then you have no files to move to your MX installation, and you should skip the rest of this sub-section.


Please see [[Reports_folder]] for full information.  Cumulus software creates reports, it does not edit existing reports, so migration is simple. Just copy the contents of the '''Reports''' folder in your original Cumulus installation into the folder in the new installation.
Please see [[Reports_folder]] for full information.  Cumulus software creates reports, it does not edit existing reports, so migration is fairly simple. Just copy the contents of the '''Reports''' folder in your original Cumulus installation into the folder in the new installation. Of course, nothing is totally simple, the encoding default changes between Cumulus 1 and MX, and once again we might need to consider end of line characters!


For those of you who are more technical:
For those of you who are more technical:
* files created in Microsoft's Windows Operating System use two characters (carriage return and line feed) to end each line, while all other operating systems use a single character (line feed in most Unix derived systems). Apple Mac are again different in using just Carriage Return. This should not cause any problems.
* files created in Microsoft's Windows Operating System use two characters (carriage return and line feed) to end each line, while all other operating systems use a single character (line feed in most Unix derived systems). Apple Mac are again different in using just Carriage Return. This should not cause any problems.
* files can be encoded (how individual characters are represented by binary codes) in different ways. There is more about encoding at [[Reports_folder#Encoding]], the relevance here is that if your MX settings and Cumulus 1 settings use different encodings you may find some characters (e.g. degree symbol) do not appear correctly when viewing some of your reports.
* files can be encoded (how individual characters are represented by binary codes) by Cumulus in two different ways. There is more about encoding at [[Reports_folder#Encoding]], the relevance here is that if your MX settings and Cumulus 1 settings use different encodings (as they will if you let this default) you may find some characters (e.g. degree symbol) do not appear correctly when viewing some of your reports.


=="data" folder==
=="data" folder==


You should copy all files in the [[data folder]] from your legacy Cumulus installation to your MX installation if you want to be able to see past data.
You should copy all files in the [[data folder]] from your legacy Cumulus installation to your MX installation if you want to be able to see past data, but as mentioned earlier there are some complications:
 
There are some complications:
* See [[#Start date]] earlier on this page for a change that you may need to make to ensure MX accepts data in any old [[Standard log files]] and [[Extra Sensor Files]]
* See [[#Start date]] earlier on this page for a change that you may need to make to ensure MX accepts data in any old [[Standard log files]] and [[Extra Sensor Files]]
* See [[#Weather Diary]] later on this page, and [[Weather Diary]] page; Cumulus does not provide any utility to convert the old legacy format to the new MX format.
* See [[#Weather Diary]] later on this page, and [[Weather Diary]] page; Cumulus does not provide any utility to convert the old legacy format to the new MX format.
Line 182: Line 253:
* See [[#dayfile.txt]] later still on this page, and [[Amending dayfile]] page, for how you can ensure MX can read your existing dayfile.txt file
* See [[#dayfile.txt]] later still on this page, and [[Amending dayfile]] page, for how you can ensure MX can read your existing dayfile.txt file
* See [[#Line terminators]] earlier on this page for some technical issues if MX is running on a different computer to your Cumulus 1 installation.
* See [[#Line terminators]] earlier on this page for some technical issues if MX is running on a different computer to your Cumulus 1 installation.
===Standard log files and other log files===
The [[Speciallog.txt]] file optionally used by the legacy Cumulus 1, is not used by MX.
The [[Standard_log_files]] and any (optional) [[Extra Sensor Files]], from the legacy software can be transferred to your MX installation, but see [[#Start date]] earlier on this page, and [[Calculate Missing Values]] page to read about extra tasks you may need to do.
MX extends these [[Monthly log files]] by adding [[Air_Link_Log.txt|another optional set of files]].


===Weather Diary===
===Weather Diary===
Line 201: Line 280:
===the .ini files===
===the .ini files===


Your Cumulus 1 '''.ini''' files can be read in all release versions from 3.0.0 to 3.5.y. Steve Loft did make two changes in his beta MX, these mean your .ini files may look strange while they have some entries made by Cumulus 1 and some made by MX:
Once again, the simple instruction is to copy these from your old installation to your new installation, to ensure your extreme record history is maintained. Once again, differences between Cumulus 1 and MX mean that the process may not be that simple, especially if you try to migrate straight to the latest MX release.
 
====MX releases up to 3.5.4====
 
'''Your Cumulus 1 '''.ini''' files can be read in all release versions from 3.0.0 to 3.5.y.''' Steve Loft did make two changes in his beta MX, these mean your .ini files may look strange while they have some entries made by Cumulus 1 and some made by MX:
# all newly stored values will use decimal points in these files, (i.e. any decimal commas valid in the legacy software, are not used by MX).   
# all newly stored values will use decimal points in these files, (i.e. any decimal commas valid in the legacy software, are not used by MX).   
# all newly stored time-stamps will use the ISO specification (ISO 8601 Data elements and interchange formats – Information interchange – Representation of dates and times) so new dates have year first, the parts of the date are separated by hyphens, and new times use colon (:) between hour and minutes (i.e. the regional settings that the legacy software adopted have been abandoned by MX)
# all newly stored time-stamps will use the ISO specification (ISO 8601 Data elements and interchange formats – Information interchange – Representation of dates and times) so new dates have year first, the parts of the date are separated by hyphens, and new times use colon (:) between hour and minutes (i.e. the regional settings that the legacy software adopted have been abandoned by MX)
Line 226: Line 309:
====Historical background to dates/times====
====Historical background to dates/times====


When Steve Loft designed his original Cumulus (1), he had no experience to draw upon as to the best way to treat items like dates. He wrote the software originally just for his own benefit and did not need to worry about time zones. Subsequently as he enhanced his software to make it usable by others, he faced many issues on how to cope with different time zones, and different weather stations having different sensors. In Cumulus 1, he basically focussed on compatibility by keeping to his original design for the data log files (both those ending in '''.ini''' and those ending in '''.txt''', and only adding extra fields to the end.
When Steve Loft designed his original Cumulus (1), he had no experience to draw upon as to the best way to treat items like dates. He wrote the software originally just for his own benefit and did not need to worry about time zones. Subsequently as he enhanced his software to make it usable by others, he faced many issues on how to cope with different time zones, and different weather stations having different sensors. In Cumulus 1, he basically focussed on compatibility by keeping to his original design for the data logging files (both those ending in '''.ini''' and those ending in '''.txt''', and only adding extra fields to the end.


When Steve Loft took a new look at the data log files for Cumulus 2, he started with a new design, the principal change was that he decided to use UTC for all fields in them that reference dates and times. Steve struggled with Cumulus 2 largely because he was (at that time) not familiar with the C# language he was later to use for MX. It is fair to say that conversions between local time and UTC did contribute to his failure to get Cumulus 2 to provide the functionality he had offered in the original Cumulus.
When Steve Loft took a new look at the data log files for Cumulus 2, he started with a new design, the principal change was that he decided to use UTC for all fields in them that reference dates and times. Steve struggled with Cumulus 2 largely because he was (at that time) not familiar with the C# language he was later to use for MX. It is fair to say that conversions between local time and UTC did contribute to his failure to get Cumulus 2 to provide the functionality he had offered in the original Cumulus.
Line 232: Line 315:
When Steve Loft designed Cumulus MX, he was able to learn from his experiences with both Cumulus 1 and Cumulus 2, so he decided to use dates to an ISO specification (ISO 8601 Data elements and interchange formats – Information interchange – Representation of dates and times), but in the local time zone of the particular user, and therefore log files are not [https://cumulus.hosiene.co.uk/viewtopic.php?f=4&t=15167 backwards compatible].   
When Steve Loft designed Cumulus MX, he was able to learn from his experiences with both Cumulus 1 and Cumulus 2, so he decided to use dates to an ISO specification (ISO 8601 Data elements and interchange formats – Information interchange – Representation of dates and times), but in the local time zone of the particular user, and therefore log files are not [https://cumulus.hosiene.co.uk/viewtopic.php?f=4&t=15167 backwards compatible].   


===dayfile.txt===
==dayfile.txt==


MX (except early releases) reads the whole of this file as it starts running, so all lines must use exactly the same format.  
MX (except early releases) reads the whole of this file as it starts running, so all lines must use exactly the same format.  


====date format issue====
===date format issue===


For MX (from release 3.5.4 onwards), the date separator specified for the locale when you run MX must be used in all lines of this file.  Please see [[Amending_dayfile#Date_Separator_in_MX]] for more detail of what MX expects.
For MX (from release 3.5.4 onwards), the date separator specified for the locale when you run MX must be used in all lines of this file.  Please see [[Amending_dayfile#Date_Separator_in_MX]] for more detail of what MX expects.
Line 254: Line 337:
It is all a bit technical, if MX expects "/", but you have "-" in some older lines. The complication comes because "-" may be used in value fields too, so you need to find a way of specifying a minus with two digits before it and two digits after it. For this correction you need to select '''Regular expression''' and then set  '''Find what''' to "^([\d]{2})-([\d]{2})-" and '''Replace with''' to "$1/$2/".  Please check this, as this was copied from a forum post by Mark Crossley and I have not verified it.
It is all a bit technical, if MX expects "/", but you have "-" in some older lines. The complication comes because "-" may be used in value fields too, so you need to find a way of specifying a minus with two digits before it and two digits after it. For this correction you need to select '''Regular expression''' and then set  '''Find what''' to "^([\d]{2})-([\d]{2})-" and '''Replace with''' to "$1/$2/".  Please check this, as this was copied from a forum post by Mark Crossley and I have not verified it.


====time-stamp format issue====
===time-stamp format issue===


The dayfile.txt contains time-stamps following any value that represents a highest or lowest in the day.
The dayfile.txt contains time-stamps following any value that represents a highest or lowest in the day.
Line 264: Line 347:
MX will only accept colon ":" separator, all dayfile.txt time-stamps must be in "HH:mm" format.  You will need to edit your old lines if any use a different separator.
MX will only accept colon ":" separator, all dayfile.txt time-stamps must be in "HH:mm" format.  You will need to edit your old lines if any use a different separator.


====value format issues=====
===value format issues===


If you moved your Cumulus 1 installation from one windows pc to another, it is just possible that you might have a mix of "decimal comma" and "decimal point" in your values, or you might have changed the field separator (normally ";" or ",").  Again, these must be consistent in all dayfile.txt lines for MX, and must match what is defined in the locale used.
If you moved your Cumulus 1 installation from one windows pc to another, it is just possible that you might have a mix of "decimal comma" and "decimal point" in your values, or you might have changed the field separator (normally ";" or ",").  Again, these must be consistent in all dayfile.txt lines for MX, and must match what is defined in the locale used.


=web server=
=web server=
Line 279: Line 361:
=Library software=
=Library software=


Any non-technical person can skip this sub-section!
Any non-technical person can skip this final sub-section!


MX uses a number of library software utilities like Highstock, jQuery, boot strap, and others, see [[MX_Basic_info#Library_software_for_your_web_server]].  Be aware that MX determines the versions of these it seeks, and they may not match the versions needed for anything on your web server that is not supplied in the MX release distribution.  A browser tries to reuse components that are already loaded, so there is a possibility of the wrong version being loaded.
MX uses a number of library software utilities like Highstock, jQuery, boot-strap, and others, see [[MX_Basic_info#Library_software_for_your_web_server]].  Be aware that MX determines the versions of these it seeks, and they may not match the versions needed for anything on your web server that is not supplied in the MX release distribution.  A browser tries to reuse components that are already loaded, so there is a possibility of the wrong version being loaded.
5,838

edits

Navigation menu