Software

Category:Cumulus MX This Wiki page has been created for those who use Cumulus MX. It lists all standard utilities as well as MX itself.
= What is Cumulus MX? =
: a cross platform version of Cumulus software that runs on Microsoft Windows, all varieties of UNIX and Linux (including the Raspberry Pi Operating System), and Mac OS X. 
==CumulusMX.exe Usage Restriction==
Both the mandatory MX Interface, and the optional default MX web site, include the HighStock product. 
Are you using MX for a non-profit organisation, personal website, or school project? 
Then download MX and start using it with Highcharts today.
Are you representing any commercial organisation running a facility that others use? If so, then you cannot use Cumulus MX to share weather data on behalf of your organisation without buying a licence from the High Charts organisation. 
HighCharts rules for usage of their products are described on their licence purchase web page, and it is your responsibility to ensure compliance.
== Help with ‘Stable’ MX releases ==
If you need any help with Cumulus MX, please first consult, in this Wiki, What_to_do_when_I_have_a_problem_with_MX.
It is recommended you check you have complied with any instructions in the announcement for the latest MX release in the forum before seeking help (to see what changes in any release affect you, and what actions you may need to take).
If you wish to research the documentation on MX to try to resolve your problem yourself, use the entry point of the :Category:Cumulus MX page for pointers to other Wiki pages connected with MX that may help. 
If you cannot answer your questions from information in this Wiki (and MX changes so quickly any information here can be very out of date), then use the correct MX support forum and the developer or Cumulus community will offer assistance.
== Current Release ==
There are inter-dependencies between different files in the MX release distribution:
* Therefore you must always install into your MX folders, every file included in the download zip.
* If you customise any file that is in the distribution, either give the new file a new name (perhaps add a prefix of "_" in front of files you edit) or place your tailored version in a different folder
** Either approach will ensure your tailored files are not overwritten by files from the download, and let you compare your tailored file with the new file in any future download to see if you need to tweak your tailored file
* When upgrading, it is strongly recommended that you install all files in the download for a new release of MX directly over your existing installation. 
** You can take a back-up of any existing installation before you copy in any new files, that will provide you with the ability to regress to the earlier release, if the new release does cause you an issue
** You may end up with some files no longer needed by the new release, left over from older release, but this is better than risking missing some vital files
** You need a good understanding of the use of each file, before considering deleting any file that you think might be obsolete, because not all files that Cumulus uses are contained within the release zip, some are created as it runs.
===Latest build distribution download===
 IMPORTANT: Before installing Cumulus MX v4.0 for the first time, please study and understand this installation guide
 
 ~ Download Cumulus MX v4.3.3 build 4070, 01-January-2024
===Latest MX Source Code===
 ~ View/download Cumulus MX Current Source Code 
This source code base is updated for all releases resulting from development by M Crossley, it includes some contributions from other developers.
===Raspberry Pi Image===
 ~ Download 32 bit image: [///Downloads/rpi-CumulusMX-lite-4.3.3.zip Raspberry Pi Image for Cumulus MX 4.3.3 x32]
 ~ Download 64 bit image: [///Downloads/rpi-CumulusMX-lite-4.3.3_X64.zip Raspberry Pi Image for Cumulus MX 4.3.3 x64]
As at April 2022, the image includes Raspberry Pi. O. S. 11 "Bullseye" version of Linux.
# This is a pre-built disk image file for your first installation onto a Raspberry Pi computer.
# Do read the instructions for using this image on the Raspberry Pi Image page to see what is in the image and how to use it
# It is of course possible that sometimes the image provided may have issues for you,
#* it is set up so that MX starts running as a service immediately you boot up your Raspberry Pi, rather than letting you first run MX interactively (see MX_on_Linux#Running_MX);
#* it is produced with a Raspberry Pi model 3, so with other models you may need to consider what updating rates your model can support;
#* it is produced using a GB locale and GB time-zone, so that automatically started MX may not initially be running correctly for your locale (however as you need to restart MX after changing settings you should be okay when MX starts recording data).
: Please note, this image may not always contain latest MX release, but once you have installed a release of MX on your Raspberry Pi, upgrading is done using main software download link, as none of the other components in the image need to be upgraded (unless the release announcement states that the new release needs a specific version of Mono).
==Upgrading==
: There is an installer utility available to help with upgrading.
We strongly advise upgrading to the latest release:
* The main developer can most easily offer support if you are using the most familiar recently released build.
* You may wish to wait a few days after a new release comes out, just in case a new release has some bugs
** MX is extremely complex, the developers work on MX edits in their spare time, have settings that suit them, and do not have the full set of sensors that MX can support, so pre-release testing is never perfect
* By switching to latest release, you gain any extra functionality it may offer (although it may not be useful to you), but more importantly you gain fixes of bugs your existing release may have
*Important, please read all of the release notes (in the appropriate forum announcement threads) for the builds since the version you are upgrading from, especially noting when there are references to necessary once-off actions.
*If you have never upgraded before, or you are currently running a fairly old release of MX, you are advised to read the Updating MX to new version page in this Wiki,
** you may be recommended to upgrade in stages, as certain releases do essential one off actions that are missed if you skip that release; e.g. rewriting Cumulus.ini or changes to columns in database tables
** overwriting an existing installation will add any new files, but it won't remove obsolete files, and sometimes replacement files have different names to their predecessors so don't overwrite the old files
*If you are upgrading from a previous version of the legacy Cumulus 1, then you might want to read Migrating from Cumulus 1 to MX page; and if you need more justification read Compare legacy Cumulus and MX page
** However, it is likely that information on those pages was written for earlier MX releases, and might be out of date, so like many other people you might want to ask in the correct MX support forum to see if others have more up-to-date advice.
Note by Steve Loft: you may find that anti-virus software flag a new release of Cumulus as a ‘threat’, for a few days or weeks after a new version has been released, even though it does not actually contain a virus of any kind. This is due to a system they call ‘reputation’ where they automatically block any versions of software that have recently been released. You may want to consider complaining to the provider of your anti-virus software about this ridiculous system, or better still, use some better anti-virus software. 
==Older releases==
It is always possible that a new release introduces a bug, and you decide to regress to an earlier release. 
Find link to earlier MX release distributions here.
(You can search using the history tab on this Wiki page to see which past builds were made available as Raspberry Pi images, as these are not created for all releases, but there is no way to tell if the old filenames can still be downloaded. Generally, it is easiest to download a different normal MX release distribution over whatever MX release was in the image you downloaded.)
= Other utilities =
==Cumulus MX Tools==
The utilities listed here are only for use with MX, they may be included in the MX release zip, but links to latest releases without the *.dll files ("software libraries") needed to run the respective utility, are provided below.
The "software libraries" are provided in the MX release zip that is stated alongside download link. The different utilities vary with regard to which software libraries they require, and those with technical understanding can check the code sources. 
If you are using an earlier MX release than that stated beside a utility download below, upgrade MX to bring in the new "*.dll" files needed, because the utility will not work with the versions of "software libraries" included with earlier MX releases.
If you are using a later MX release than that stated, check the MX release announcements for all releases since that stated below to see if the "software libraries" have been upgraded, if they have then the respective utility because it has been compiled with older versions of the respective .dll files will probably not work. (Sometimes the names of new .dll files are different to the names of the old .dll files, so an upgrade of MX done by copying files over an existing installation will leave the old files there, in that case the utility might still work by picking up old names).
=== Migrate Data v3 to v4 ===
 ~ The MigrateDatav3to4 v1.0.4 download dated 29 January 2025 is here.
A utility to migrate your data files from Cumulus MX v3 format to v4 format.
Read Cumulus MX Version 4 - IMPORTANT Additional Information for information on how to use this utility.
=== Create Missing ===
 ~ The CreateMissing v2.0.2 download dated 18 October 2024 (works with MX release of 4.0.0 onwards) is here.
 ~ The CreateMissing v1.4.3 download dated 05 February 2024 (works with MX release of 3.20.0 onwards) is here.
Check compatibility with the MX release you have running as per notes above. (Although earlier releases of "Create Missing" exist on "github.com/cumulusmx/CreateMissing/releases", their software bugs imply they should not be used). Install into same directory as "CumulusMX.exe".
This MX utility, affects Cumulus CSV files:
# It will create a new daily summary (dayfile.txt). If you already have a "dayfile.txt", that is renamed, the new file should include individual fields, and lines, missing from your old file. 
# It will read, and where appropriate update, your month by month (MMMyylog.txt) files.
#* The utility reads the source values in as input values. This utility has the ability to calculate many of the derived fields, so will add any missing derived values to your month by month files as it proceeds. 
#* Therefore the utility should be used to add the extra fields for those months where the input file was produced by Cumulus 1 or an earlier release of MX (which might have populated fewer fields or used a different calculation).
Usage information by the author of the utility can be found here.
* Learn more about this utility by reading the calculate missing page in this Wiki. 
** Elsewhere on that same page learn when this utility might be useful, and what else you can try.
* Check in the support forum for information about status of bugs in this utility, at time of last updating this paragraph there was an outstanding issue concerning storing the line in dayfile.txt for the first of some months if your rollover time is not midnight.
* For full information about solving problems with your dayfile.txt file read the amending daily summary file page.
=== Create Records ===
 ~ The CreateRecords v0.1.1 download dated 13 December 2023 is here.
A utility to create, or recreate, missing extreme records from Cumulus MX by parsing your daily summary (dayfile.txt).
See the Readme on githib
=== Export To MySQL ===
 ~ The ExportToMySQL v1.10.0 download dated 07 January 2024 (works with release of MX 3.28.1 or later) is here.
Check compatibility with the MX release you have running as per notes above. Note that compatibility is needed both with the .dll files and with the columns present in the database table to be updated.
If you are not using the MX release named above, then other release zips (and source code) for this utility are available at ExportToMySQL/releases and each release there is labelled as to which MX release creates default tables with correct columns.
This utility reads Settings that are also used by "CumulusMX.exe". Parameters supplied to this utility enable it to do one of the following actions affecting rows not already present on a MySQL, or MariaDB, database server:
# The parameter used is "dayfile", will insert missing rows into a database table that is called "dayfile" (by default, the user can change the name of that table) that (as minimum) has columns named as per the MX default for that table (at CumulusMX.exe release quoted for which the download applies) from the contents of daily summary (dayfile.txt) file
# Insert missing rows into a database table that is called "Monthly" (by default, the user can change the name of that table) that (as minimum) has columns named as per the MX default for that table (at CumulusMX.exe release quoted for which the download applies) from the contents of the single file of month by month (MMMyylog.txt) whose relative path "data/..." is named in the parameter
# The parameter used is "monthly", will insert missing rows into a database table that is called "Monthly" (by default, the user can change the name of that table) that (as minimum) has columns named as per the MX default for that table (at CumulusMX.exe release quoted for which the download applies) reading data from the contents of all files of type month by month (MMMyylog.txt) found in the data sub-folder.
Installation and usage information by the author of the utility can be found here.
This new utility replaces the "ExportMySQL.exe" (no "To" in that name) utility included by Steve Loft in his MX beta distributions. That is not compatible with any recent MX releases.
==Data Importers==
=== Import WeatherCat Data ===
 ~ The ImportWC v1.0.0 download dated 10 October 2024 is here.
This utility converts WeatherCat monthly log files into Cumulus MX v4 format monthy log files.
You can read more about how to use it here.
==Older Utilities By Steve Loft==
Source code for these utilities are not available, therefore they cannot be altered or upgraded.
=== Utility for Fine Offset Stations ===
*[///Downloads/SetLogger.zip Set Logger Interval] A utility by Steve Loft to adjust the internal logging interval on Fine Offset stations
=== Weather Display Converter ===
This utility was provided by Steve to convert Weather Display log files to legacy Cumulus 1 format, download it here. 
Please carefully read the readme file in the zip. There is a forum thread about using this converter with the legacy Cumulus here.
Remember this utility will not support all fields used by MX. It is advised you use #Create Missing (see above) after using this utility to populate the other fields. If you do find this utility does not work with your MX release, you may need to manually recreate records, etc. using Cumulus 1 formats, and then Migrate all your files from Cumulus 1 to MX.
=== WeatherLink Converter ===
This utility was provided by Steve to convert Davis WeatherLink log files to Cumulus format, download it here. Please carefully read the readme file in the zip to understand how to use this utility.
NOTE: this has nothing to do with Davis Weather Link Live despite confusing similarity in name.
Basically, this converter utility reads .wlk files, it creates a folder called converted into which it places Standard log files and dayfile.txt files as used by Cumulus software. You need to be able to manually merge (using a text file editor) the newly created files with any files of same name in your Cumulus data folder. You might also want to read (although not directly related to this converter utility) Importing_data_not_recorded_by_Cumulus.
A search on the support forum will reveal various posts on use of this converter. The key topics are:
* forum topic about using this converter with MX here
* forum topic about using this converter with the legacy Cumulus here.
== Third Party Contributions by other Cumulus Users ==
For files, and add-on's, contributed by Cumulus users, see these Categories (where third party authors may have mentioned what they offer):
# :Category:3rd Party Apps - contributions for various devices,
# :Category:AddOns - adding extra functionality,
# :Category:WebTools - for your web server, and 
# :Category:User_Contributions - key contributions from the user community
=Current MX Developed from =
Cumulus 3 (MX) software was developed as a beta with limited functionality by Steve Loft.
* Steve Loft previously developed Cumulus 2 (where he tested using the C# language, now used for MX) 
* Steve Loft created the original Cumulus software (now known as legacy cumulus 1) just for his use, before making it generally available, he then developed it over the next decade to include requirements suggested by thousands of users.
* Steve Loft, the author of Cumulus/Cumulus MX has since fully retired, and stopped providing support, or updates, to any of his software.
==Steve's final beta MX==
You can download below the final Cumulus 3 beta release, as made available by Steve Loft, and also his subsequent final source code. 
If you are able to understand his source code (linked below), and compare it to the latest source code (linked above), you can appreciate the transformation that has taken place in recent years.
*[///Downloads/CumulusMXDist3043.zip Cumulus MX v3.0.0 beta build 3043, 20-Jan-2017] Cumulus MX, a cross platform version of Cumulus 3 which runs on Windows, Linux (including the Raspberry Pi) and Mac OS X (Steve Loft - final release), single zip that includes both "CumulusMX.exe" and "ExportMySQL.exe".
*[///Downloads/CumulusMXSource.zip subsequent updated Cumulus MX Source Code] from Steve Loft. He made the following comments, as he handed the project over to "the community":
**This version of the code is post the last release I made at build 3043 as it includes some extra changes that I have not finalised. 
**My source code is offered as my parting gift, completely without support, in the hope that it might be useful to future developers. 
**My source code is very badly structured due to the 'Frankenstein' way I cobbled it together from various places. Some of it is a machine translation of parts of Cumulus 1.
= Legacy releases =
See downloads page for full details.
== Cumulus 1 ==
Cumulus 1 software was popular, when it went public in 2004, and its usage grew very rapidly in the subsequent decade until final 2014 release. Even now (in mid-2022) some people are still using the final release version (and a quite substantial number of public viewable weather sites are still driven by earlier builds).
Be aware, the longer you wait before swapping from legacy to Cumulus MX software; the more that MX will have developed away from the legacy. MX's development has effectively abandoned its former focus on compatibility, so you might encounter more difficulty with transferring your data files when you migrate.
In all months of 2020, (when the year selection drop-down provided in all releases of original software reached its limit, and MX gained a substantial increase in functionality), and continuing into mid-2021, there was an avalanche of people who used to use the legacy software successfully swapping to MX. As of mid-2022, the usage of this legacy software is in fast decline, implying fewer people can offer assistance. 
The installer for the FINAL release of the legacy Cumulus 1 is available here: 
#[///Downloads/CumulusSetup.exe Cumulus 1099 installer] Full set of files within an installer.
#* On the "this period" type, and snow index, screens you can still manually enter any year,but you have to over-type with the full year yourself, outside range 2008 to 2020.
#* You cannot manually regenerate NOAA reports after 2020, but there is no problem with automatic generation.
#[///Downloads/cumulus.1099.2.zip Cumulus 1.9.4 build 1099.2 patch] Patched version of one file (cumulus.exe) to replace that file from above installer 
#* Note this is not the full installation package, just one file to replace in the suite of files created by the installer. 
#* This patch modifies the drop-down year selectors, (on "this period" screens, for NOAA reports, and for Snow Index) making it easier to choose date entries (patch version 1099.2 was released 28 Jan 2020) up to the year 2030.
=== Legacy Cumulus 1 Resources ===
*[///Downloads/Cumulus%20basic%20installation%20guide.pdf Cumulus installation guide] Instructions for installing Cumulus 1
*[///Downloads/readme.txt Cumulus readme.txt] Please read this before installing or updating Cumulus
*[///Downloads/Cumulus.chm Cumulus help file] The Cumulus 1 help file (this also gets installed when Cumulus is installed)
*[///Downloads/CumulusFR.chm Cumulus help file in French] The Cumulus 1 help file translated into French
*[///Downloads/CumulusRealtime.zip Cumulus Realtime] An obsolete Silverlight (Silverlight is no longer developed or supported by Microsoft) application for displaying 2 extra dials showing real time wind data on the standard Cumulus gauges page (with temperature and rainfall in histogram style) for a web site
=== Special Variants ===
It is STRONGLY RECOMMENDED that users of Cumulus 1.9.4 variants migrate to Cumulus MX, which has ongoing support by Mark Crossley. The baud rate can be selected within MX as a configuration setting.
*[///Downloads/CumulusSetup1100.zip Cumulus 1.9.4 build 1100 setup] Use ONLY if you are an Instromet user, and your logger operates at 115200 baud, you should use build 1100
*[///Downloads/CumulusSetup1101.zip Cumulus 1.9.4 build 1101 setup] Use ONLY if you are an Instromet user, and your logger operates at 19200 baud, you should use build 1101
*NOTE: These Cumulus 1.9.4 variants will not have any updates in the future. 
* The patch for Cumulus.exe, cannot be used with these variants
* The menu items with year drop-down selectors will not display years beyond 2020.
**For example, this will happen on manual generation of NOAA-style reports. 
**This does not affect any automatic generation of NOAA reports, but does prevent re-generation.
== Cumulus 2 ==
The software for Cumulus 2 alpha release is no longer available.