Compare C1 and MX: Difference between revisions

139 bytes removed ,  07:47, 17 August 2021
m
Removal of much outdated information - another contributor needs to bring this page up to date
m (Removal of much outdated information - another contributor needs to bring this page up to date)
Line 1: Line 1:
<div style="background: LemonChiffon;padding:5px; margin:2px;">
[[File:Crystal Clear info.png|40px]] The text on this page was written when Cumulus MX offered a subset of the functionality that was available with the original Cumulus 1. 
Since then MX has developed very quickly and its functionality is now vastly different.  That has invalidated most of the text on this page.
If any contributor is willing to update content, so it is more friendly for those using latest release, can they ensure this page is still helping those using older MX releases and the legacy Cumulus software.
</div>
=Introduction=
=Introduction=


At the time of writing this text, there are two flavours of software that was originally developed by Steve Loft. The original Cumulus software (now called Legacy Cumulus 1) is no longer capable of being developed any further, as neither its development environment, nor its source, are available now. There was a Cumulus 2, but it is no longer available, some of its functionality was subsequently added to Cumulus 1, and some of its concepts formed the basis for Cumulus 3 (now generally known as Cumulus MX).
At the time of writing this text, two flavours of software developed by Steve Loft were available for people to choose between.  


This page compares functionality between the original Cumulus software and the current Cumulus MX software. It is aimed at those who are using the original software, and are unsure whether to keep using Cumulus 1, or to make the swap to Cumulus MX.
The original Cumulus software (now called Legacy Cumulus 1) is no longer capable of being developed any further, as neither its development environment, nor its source, are available now.  


It is not intended to be a prompt list for features to be considered for future inclusion in MX.
There was a Cumulus 2, but it is no longer available, some of its functionality was subsequently added to Cumulus 1, and some of its concepts formed the basis for Cumulus 3 (now generally known as Cumulus MX).


A basic introduction to the functionality available in both flavours of Cumulus software can be found at [[About Cumulus]].  That explains some of the background to its development and what functionality both flavours offer.
When Steve Loft abandoned Cumulus to concentrate on enjoying his retirement (in a new home in France), he made the MX 3.0.0 beta source available, so that others could take on future development.
 
As a result, MX has diverged greatly from that original [[Cumulus 3 (MX) beta documentation|beta functionality]] that was a subset of the [[About Cumulus|legacy Cumulus functionality]].


= Overview comparing Cumulus 1 and MX =
= Overview comparing Cumulus 1 and MX =


This is an overview, there will be further explanation later.
Unfortunately, there is no list anywhere of all features in Cumulus 1. [[About_Cumulus|About_Cumulus does not cover all features]].
 
Nor is there a list of features in, or still to be introduced into, MX since it emerged from the Steve Loft beta.  
 


Unfortunately, there is no list anywhere of all features in Cumulus 1. [[About_Cumulus|About_Cumulus does not cover all features]]. Nor is there a list of features in, or still to be introduced into, MX. Thus this section is neither authoritative nor definitive.
Thus this comparision is neither authoritative nor definitive.


== Cumulus 1 ==
== Cumulus 1 ==
Line 35: Line 47:
*MX runs on multiple Operating Systems (OS).
*MX runs on multiple Operating Systems (OS).
**MX runs on all UNIX-derived OS (principally Linux, Raspberry Pi Operating System, Apple Mac OS X), but it needs '''Mono''' runtime software to support running of executables
**MX runs on all UNIX-derived OS (principally Linux, Raspberry Pi Operating System, Apple Mac OS X), but it needs '''Mono''' runtime software to support running of executables
** To run MX on Windows, you need .NET installed, which is included on Windows 7 upwards. (This does mean MX cannot run on Vista, XP, or older Windows OS).
** To run MX on Windows, you need .NET installed, which is included on Windows 7 upwards.
*MX releases are made available as a zip containing all the files in the distribution in their hierachic positions
*** Neither .NET, nor Mono, are currently available for older Windows OS, so MX cannot run on Vista, XP, or other versions.
**There are two executables included in a MX release
*MX releases are made available as a zip containing all the files in the distribution in their hierarchical positions
** The contents included in a MX release varies depending on release being installed
** The functionality of MX depends on the release being installed
**A pre-built image, combining the MX distribution, and a Raspberry Lite OS, is also made available by the developer, this is for those with 2 devices on their local network; who run their Raspberry Pi computer in headless mode, and do all setting-up via their second computer
**A pre-built image, combining the MX distribution, and a Raspberry Lite OS, is also made available by the developer, this is for those with 2 devices on their local network; who run their Raspberry Pi computer in headless mode, and do all setting-up via their second computer
**There are third party tools to aid installation, and upgrade
**There are third party tools to aid installation, and [[Updating MX to new version|upgrade]], of MX
*Like Cumulus 2, the MX executable is just an engine to drive the various processes, but CumulusMX.exe generates a web server
*Like Cumulus 2, the MX executable is just an engine to drive the various processes, but CumulusMX.exe generates a web server
*The web server generated by CumulusMX.exe runs the separate [[MX Administrative Interface|admin interface]] where you can adjust settings, and locally view all the data that MX outputs
*The web server generated by CumulusMX.exe runs the separate [[MX Administrative Interface|admin interface]] where you can adjust settings, and locally view all the data that MX outputs
* MX comes with an example set of [[Customised templates|web templates]] (showing how [[Webtags|Web tags]] can be used to add the weather outputs that Cumulus generates to a web page
* MX comes with an example set of web pages that you install onto your web server
*MX generates charts that you can view on the admin interface, and generates data for trends page that can be optionally uploaded to a web server (web site) where that data is used to draw charts.
** This is a different approach to that used in the legacy software as Cumulus 1 included [[Customised templates|web templates]] (showing how [[Webtags|Web tags]] can be used to add the weather outputs that Cumulus generates to a web page
** Instead MX uses a series of [[:Category:JSON Files|.JSON Files]] that it can upload to your web server containing the data for those web pages to display
* MX offers both [[Highcharts_-_Recent|recent charts]] and [[Highcharts_-_Historic|historic charts]].
** These can be viewed both locally in the interface, and on your web server
** Cumulus 1 generated images of charts, so it was images that got uploaded to your web server
** MX uses [[:Category:JSON Files|.json files]] to transfer the data, and Highstock software on the local interface server, and your web server, to draw charts based on that data.
*MX (except in early releases) has a full moon image and uses a system routine to create an image that correctly shows the current phase, updated at every hour, and optionally uploaded to your web server
*MX (except in early releases) has a full moon image and uses a system routine to create an image that correctly shows the current phase, updated at every hour, and optionally uploaded to your web server
*New functionality areas provided in MX include:
** Reading data from new weather station types, and new sensor types, even combining data from different sources
** Calculating new derived values (like feels like temperature)
** Automatically, updating a remote database, at real-time interval, standard logging interval, end of day, and during catch-up
** (There are more, but nobody has added them to list yet)


==Derivatives only available in original Cumulus==


Comparing these two lists it is already obvious each of the two flavours has some features that are not available in the other. Some of the functionality listed above was not available in early releases.  There is a section later on this page indicating which releases added certain functionalityInitially, there was an attempt to add some Cumulus 1 features that were not in the MX beta. But MX development is now largely focussed on resolving bugs (and there seem to be many in the beta) and adding new functionality (it might take a few releases before the new functionality is bug free).
MX provides the functionality to update a MariaDB, or MySQL, databaseThe Cumulus user can therefore run queries against that that replicate the functionality built into the legacy software (listed below), and many more statistics.


There are no plans to add two useful Cumulus 1 (C1) features to MX:
*Select-a-graph (although both C1 and MX have control over what is plotted, C1 offers more control over period to be plotted than MX does)
*View Period (C1 allows a table summarising various derivatives to be output for any period from 1 day to all-time, MX pre-determines what period its tables cover, and as shown below omits several derivatives).


==Derivatives only available in original Cumulus==
[[File:This period.PNG|right]]Cumulus 1 can calculate the following additional parameters for any period from one day, through a month or year, to any number of days, in current or past years (you select start and end dates):
 
 
[[File:This period.PNG|right]]Cumulus 1 (but not MX) calculates various additional parameters for any period from one day, through a month or year, to any number of days, in current or past years (you select start and end dates):
*Average temperature from all readings (at 1 minute intervals if Cumulus is left running) in period
*Average temperature from all readings (at 1 minute intervals if Cumulus is left running) in period
*Average temperature from daily highest plus lowest in each day in period
*Average temperature from daily highest plus lowest in each day in period
Line 65: Line 84:
*Number of days with snow falling
*Number of days with snow falling
*Number of days with snow lying
*Number of days with snow lying
*Number of dry days in period (threshold set in settings, counts days in period below threshold)
*Number of dry days in any period (threshold set in settings, counts days in period below threshold)
*Number of wet days in period
*Number of wet days in any period


==Differences in way flavours calculate derivatives==
==Differences in way flavours calculate derivatives==
Line 77: Line 96:
*humidity index (humidex)
*humidity index (humidex)


==Interogation of Weather Stations==
==Interrogation of Weather Stations==


Cumulus MX has ability to work with every web station that the original Cumulus worked with, but it can also work with newer weather station hardware. The definitive list is on the  [[Supported_Devices]] page.
Cumulus MX has ability to work with every web station that the original Cumulus worked with, but it can also work with newer weather station hardware. The definitive list should be maintained on the  [[Supported_Devices]] page.


Also, there are some weather station specific differences between Cumulus 1 and MX for reading variables from the same weather station. As just one example, the original Cumulus has an error in the code for reading absolute pressure from a Fine Offset station and sometimes calculates the wrong value for sea-level pressure, this has been corrected in (all but earliest releases of) MX,  meaning MX is more reliable, and more accurate, for use with those old models.
There are some weather station specific differences between Cumulus 1 and MX for reading variables from the same weather station:
# Information is obtained from Davis stations differently, that affects which Davis derived measurements are available to MX
# The way that MX communicates with Instromet stations has changed (now you just need correct settings), with the legacy software, you needed to select the right [[Cumulus_Versions#Cumulus 1 - Legacy Version|special build]]
# The original Cumulus has an error in the code for reading absolute pressure from a Fine Offset station and consequently sometimes calculates the wrong value for sea-level pressure, this has been corrected in (all but earliest releases of) MX,  meaning MX is more reliable, and more accurate, for use with those old models.


=Files used by Cumulus=
=Files used by Cumulus=


It was mentioned above that '''Speciallog.txt''' is only generated by the original Cumulus. There are no plans for mX to generate this file.
'''[[Speciallog.txt]]''' is only generated by the original Cumulus. There are no plans for MX to generate this file.


==Basic files used by both flavours===
There are some extra files that MX can generate like [[Air Link Log.txt]].
 
==Basic files used by both flavours==
   
   
*Cumulus.ini (The configuration file [[Cumulus.ini]] has some differences between Cumulus 1 and MX, see that wiki page for more information, but essentially each flavour will ignore the parts they don't understand, and add the additional parts that they need but the other did not use.),
*cumulus.ini  (Despite the name being same, the [[Cumulus.ini (Cumulus 1)|file used by Cumulus 1]] and the [[Cumulus.ini|file used by MX]] only have the structure in common, the content is very different; in fact the first run of 3.12.0 deletes the old file and creates a brand new file)
*today.ini (This file holds some derived values, and time-stamps; although both flavours use the same file structure, there are differences in the format of the date, at the start of the file, that stops the file being interchangable),
*today.ini (This [[Today.ini|file]] holds some derived values, and time-stamps; although both flavours use the same file structure, there are differences in the content. It is differences in the format of the date, at the start of the file, that stops the MX file being understood by 1.9.4,although MX can understand the 1.9.4 file),
*yesterday.ini,
*yesterday.ini (Again the [[Yesterday.ini|yesterday.ini]] file content is different for MX, but MX can read the 1.9.4 file)
*dayfile.txt (The number of fields changes at certain releases, see [[Dayfile.txt#List_of_fields_in_dayfile.txt|daily summary log page]], but also MX releases 3.7.0 onwards are more fussy about how fields are formatted and so the file is no longer interchangable between flavours)
*dayfile.txt (The number of fields changes at certain releases, see [[Dayfile.txt#List_of_fields_in_dayfile.txt|daily summary log page]], but also MX releases 3.7.0 onwards are more fussy about [[Amending_dayfile#Summary_for_most_common_problems|how fields are formatted]] and so the file is no longer interchangeable between flavours)
*month.ini,
*month.ini (This [[Month.ini|file]] has like other [[:Category:Ini Files|'''.ini''' files]] differences that mean MX can read a legacy file, but 1.9.4 cannot read a MX file),
*year.ini,
*year.ini (This [[Year.ini|file]] has like other [[:Category:Ini Files|'''.ini''' files]] differences that mean MX can read a legacy file, but 1.9.4 cannot read a MX file),  
*alltime.ini,
*alltime.ini  (This [[alltime.ini|file]] has like other [[:Category:Ini Files|'''.ini''' files]] differences that mean MX can read a legacy file, but 1.9.4 cannot read a MX file),
*monthlyalltimelog.txt
*monthlyalltimelog.txt (same in both flavours)
*monthlyalltime.ini
*monthlyalltime.ini  (This [[Month.ini|file]] has like other [[:Category:Ini Files|'''.ini''' files]] differences that mean MX can read a legacy file, but 1.9.4 cannot read a MX file)
*sample string.ini
*sample string.ini (The content of [[Samplestring.ini]] varies depending on release being installed
*strings.ini (optional file)
*strings.ini (optional [[Strings.ini|file]], its contents has to relate to the samplestring.ini for the release being installed)
 
The format used for dates in each of the extreme record files depends on whether the individual parameter was last updated by the original Cumulus (day, then month, then year) or by MX (ISO format with 4 digit year, then hyphen, then 2 digit month number, then hyphen, then 2 digit day of month number). This means MX can read both date formats, but Cumulus 1 can only read its date format. For time-stamps, MX uses date-time entries in the "2019-03-06T02:05:00" style, while the original Cumulus uses a format like "02/09/2008 04:00:45".
 
More information about all of these files can be accessed by following links on [[:Category:Log Files|Log Files index page]].
 
==Example Web Templates==
 
===Processed frequently===
 
Both Cumulus 1 and Cumulus MX supply a number of templates that can be optionally processed into web pages.
*indexT.htm,  
*todayT.htm,
*yesterdayT.htm,  
*thismonthT.htm,
*thisyearT.htm.  
The above templates have same filename for both flavours, but are not interchangeable. These templates use web tags that Cumulus has to processs to create the related web page, so the frequency of processing the template determines the frequency that it can be uploaded to show fresh information on your web server
 
If you have edited a Cumulus 1 template, listed above, to customise what you see, you will have to start again with the equivalent MX template, and you will need to check information on the [[Webtags]] page, because any output formatters will either need to be changed, or perhaps added where modifiers were not needed before.
 
For Cumulus 1 only, there is one more template that needs to be updated frequently.
*gaugesT.htm (The gauges page provided with original Cumulus uses "Web Dashboard Components for FreeWX and FreeWX-Wi", plus Microsoft Silverlight tool)
 
===Processed just once===
 
The following template for original Cumulus software does not contain any variable data, so it only need to be processed once (to create heading), and optionally uploaded that one time.
*trendsT.htm


The following MX templates do not contain any variable data, so they only need to be processed once (to create heading), and optionally uploaded that one time.
*trendsT.htm,
*gaugesT.htm (The gauges page provided with MX is based on Mark's implementation of steel series)


These two templates are totally different between flavours, this is because Cumulus generates locally some images containing graphs and gauges, then uploads those images, in constrast MX generates files containing data, that it can optionally upload so that the web page then uses that data to draw charts or gauges.




= Key differences and similarities between Cumulus 1 and MX =
= Key differences and similarities between Cumulus 1 and MX =


NOTE: This section is also based on Steve Loft's wording taken from the support forum with minimal alteration for its new context.
NOTE: This section is also based on Steve Loft's wording taken from the support forum with minimal alteration for its new context. Consequently, references to MX mean the 3.0.0 beta, not any MX release by Mark Crossley.


* While Cumulus 1 has a tool to generate graphs itself and then uploads them to your website, the graphs used in Cumulus MX are drawn when the end-user loads the web page, they use Highcharts routines that are free for non-commercial use only, i.e. you may not use MX with these graphs on a company web site.
* While Cumulus 1 has a tool to generate graphs itself and then uploads them to your website, the graphs used in Cumulus MX are drawn when the end-user loads the web page, they use Highcharts routines that are free for non-commercial use only, i.e. you may not use MX with these graphs on a company web site.
Line 156: Line 150:




= Enhancements during Beta stage for MX and after MX came out of beta =
= Tracking of when some legacy software features were added to MX =


While MX was in beta, there was limited documentation about what features were included and why, there was some fault reporting and a tracking list that showed when some of those issues were fixed, also initially the documentation on how MX had implemented features it did have was very sparse. The lack of a list of features in Cumulus 1, meant it remains difficult to track which Cumulus 1 features are or are not implemented in MX. Steve Loft said parts of MX were simply machine code level copies of parts of Cumulus 1 functionality, and parts were trying to offer better functionality, but he never said what was included in these two categories.
While MX was in beta, there was limited documentation about what features were included and why, there was some fault reporting and a tracking list that showed when some of those issues were fixed, also initially the documentation on how MX had implemented features it did have was very sparse. The lack of a list of features in Cumulus 1, meant it remains difficult to track which Cumulus 1 features are or are not implemented in MX. Steve Loft said parts of MX were simply machine code level copies of parts of Cumulus 1 functionality, and parts were trying to offer better functionality, but he never said what was included in these two categories.
Line 225: Line 219:
==From 3.7.0 onwards==
==From 3.7.0 onwards==


Focus is now on adding new functionality.
Focus is now on adding new functionality. A new contributor must research these and document them


[[Category:Cumulus 1]][[Category:Cumulus MX]]
[[Category:Cumulus 1]][[Category:Cumulus MX]]
5,838

edits