About Cumulus

From Cumulus Wiki
Revision as of 14:44, 6 July 2020 by Sfws (talk | contribs) (Cumulus 3 aka MX)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

What is Cumulus software

Cumulus is free software for retrieving, storing and displaying data from an electronic Automatic Weather Station (AWS). It offers a lot of features, here, in case you are wondering about trying this software, are the key ones:

Features of Cumulus Software

If you have not used Cumulus before, and are wondering whether to explore it further, this article is for you,

If there is information that you would like to see added to this page, either sdd it yourself (you need to register), or put your suggestion in the correct Support Sub-Forum. Thank you.

Key Features

  1. How much does Cumulus cost?
    • Cumulus is totally Free for personal and non-profit use,
    • Commercial use of Cumulus MX is not permitted due to library software used with it
    • (Steve Loft who was the original developer called it shareware and said "a donation would be appreciated if you continue to use Cumulus after trying it")
    • Please note: since Steve retired from developing Cumulus, the donation option for Cumulus has ended, but there is a donation option for Steelseries options used in MX.
  2. What devices does Cumulus run on?
    • Cumulus 1 runs on Windows XP, Windows Vista, Windows 7, Windows 8.1, and Windows 10
    • Cumulus 2 is no longer available
    • Cumulus 3 (normally known as MX) runs on the last two Windows versions plus all devices running a Unix type environment (such as Linux and Mac OS X).
  3. What weather stations does Cumulus work with?
    • Cumulus 1 Supports Davis Vantage Pro and Pro2; Oregon Scientific WM918, WMR-918, WMR-928, WMR-968 weather stations; EasyWeather stations (MyDEL, Nevada, Watson, Fine Offset, WH1080, WH1081, W8681, FWS-20 etc); La Crosse WS-2300, and other models in the WS23xx range.
    • Cumulus MX adds further modern stations to the list see Supported Devices page for up-to-date details.
  4. How can I view the weather derivatives calculated by Cumulus?
    • Whatever units your weather station uses for the weather readings it provides to Cumulus, Cumulus will derive values in your chosen units, and calculate other values derived from combining say temperature, humidity and wind speed.
    • Cumulus 1 has a simple main screen summarising all the current weather shown on PC running the software, from that various menu options give access to settings screens, graphs, screens to show extremes for any period, screens to correct errors in your extreme records, screens to view log files, and screens to edit log files and extreme files.
    • Cumulus MX generates an admin interface that is viewed (on your local network) using a browser. Tabs in that interface give access to settings, charts, a summary dashboard, a tabular current conditions, a tabular today/yesterday summary, and the extremes for various fixed periods
  5. A key feature of all Cumulus flavours is they give you a choice of meteorological day
    • The choice is between midnight to midnight or 0900 to 0900 (optionally during summertime only 1000 to 1000). This enables you to emulate official weather stations that work on days starting at 9am.
    • Where you do use a 9 am start, all weather observations are attributed to the calendar date when the meteorological day starts.
    • Cumulus will not automatically log minimum temperature against the date when the meteorological day ends as per official meteorological practice nor will it attribute some other parameters to the calendar date. But since Cumulus makes all the values it derives available, this processing can be done outside Cumulus to ensure your own web pages show correctly according to meteorological practice.
  6. How frequently does Cumulus update its outputs?
    • The screens in the MX admin interface use ajax to interrogate application programming interfaces that will show updates as frequently as your weather station can provide them.
    • Cumulus 1 and MX can upload information at a default period of every 15 minutes, but this can be varied to suit you. There is also functionality to do some actions after a meteorological day has ended, in Cumulus 1 this is very basic, but in MX the functionality available is similar as at the standard updating interval.
    • You can optionally also use real-time uploading, set at a much more frequent interval to upload files relating to current conditions.
    • Cumulus 1 offered real time web display of wind speed and direction using Silverlight software that is no longer functional
  7. Can Cumulus upload to external home automation servers or other sites that accept weather records?
    • Yes, there is automatic generation of xAP home automation weather reports, and uploads to external web sites.
    • For Cumulus 1 and MX these include: Weather Underground, CWOP/APRS, PSW Weather/WeatherForYou/HAMweather, WOW, Twitter
    • For MX, MQTT is added for home automation and windy is added to external web sites.
  8. Can Cumulus upload to a personal web site?
    • Yes, there are ready-made web template files supplied that can create web pages. Plus all the information that Cumulus outputs is available in web tags that you can incorporate into your own web templates for Cumulus to upload for you as web pages.
    • Cumulus MX will also automatically send rows to update a MySQL database, and you can use that database for further web pages on your web site.
  9. Does Cumulus warn me if the temperature is very high or very low or other extremes happen?
    • Yes both Cumulus 1 and MX provide configurable alarms for various conditions
  10. Does Cumulus provide any non-weather information for my web site?
    • Yes, Cumulus will provide times for sunrise, sunset, and a selection of parameters about the moon including an image to show current phase.
  11. What help and support is available?
    • Comprehensive help file included in Cumulus 1
    • This wiki is an extensive documentation feature capturing all that people have said or asked about in the past
    • Free support available in the support forum, particularly for MX.

What does it look like

For Cumulus 1, all the screen shots are shown on Cumulus_Screenshots page.

For Cumulus MX, most of the standard web pages look the same as those for Cumulus 1. MX also provides an admin interface, that is used for 3 main purposes:

  1. Entering all the settings
  2. Editing the extreme records, and viewing/editing the log files
  3. Looking at the weather readings and derivatives, there is a summary dashboard (a replacement for Cumulus 1 main screen, this is where alarms are heard), and screens for current conditions, today/yesterday, this month/this year/monthly all years, monthly reports, yearly reports.

Building up a library of screen shots for MX is planned, when development slows down (so it is not a moving target). Meanwhile, a number of the MX screenshots, as they used to be, is currently still available at CumulusMX-with-a-home-weather-station

Periodic Actions

Reading Weather Station

When Cumulus software (of any flavour) interrogates the weather station for more readings, (which is done very frequently) it compares the readings against those read earlier, so it can maintain a whole series of extremes (maximum and minimum in each day, each month, that month in all years, each year, and all-time).

Given that weather stations are prone to having hiccups in their output:

  • Cumulus can (for some weather station types only) compare the latest reading with the previous. If the discrepancy is large (and this can be configured), then the new reading is rejected
  • If Cumulus is reading a item that should not suddenly decrease (such as a rain counter) then Cumulus can detect whether that is a new starting value or a faulty value
  • If a particular reading is not valid, then for up to 6 reads, Cumulus can substitute the last good reading for the invalid one. After those 6 rejections, Cumulus will normally stop work properly and the output value will remain at zero (as Cumulus does not have ability to use "nulls).
  • Because temperature, humidity, wind speed, and pressure, are used for calculating derived values, a failure in any of these source sensors will result in incorrect derived values, and may cause Cumulus to stop some processes.

Real Time Interval

These actions are optional:

  • you need to enable the various possible actions at a real time interval, as well as selecting the time interval between the end of one set of actions and the start of the next set of actions.
  1. Cumulus 1 and MX can produce a realtime file for external systems to use:
    • Cumulus 1 uses it for the optional wind graphics on its gauges pages
    • MX does not use this file for any functionality it offers.
  2. Cumulus 1 and MX can upload files to a web server at this interval
    • Cumulus MX (only) can upload a new row for a database table at this interval, the default content resembles the realtime file

Standard Upload Interval actions

At this interval, and you can change the time between these actions, Cumulus (of all flavours) will process templates that create web pages, upload other files, and (MX only) run SQL to update a database for you.

Logging Interval

This is when Cumulus stores, the set of readings it has processed, in a detailed log created specially for each individual month. It does NOT record the maximum and minimum since the last log entry, it just a snapshot of the readings at that logging time, so it is unlikely to capture extremes.

You need to have an external processing system looking at any real-time output to have a better chance of capturing the true extremes.

End of Day Actions

Cumulus software of all flavours as already mentioned can support various times when the meteorological days end. As the new day starts, Cumulus does a lot of actions, here is the list for MX:

Entering Day Reset (message about current day of month)
Day Reset (message about date ending, time shown as 00:00:00 because time not defined, not because it is midnight, it might be 9am or 10am)
Run EOD standard or custom SQL (the SQl is updated every time readings are updated)
Custom Http EOD call
Create line to append to dayfile.txt (this does hold extremes for each day)
Open dayfile.txt
Update dayfile.txt
Read Rain Counter
Update today.ini with yesterday's rain
Write yesterday.ini
Create NOAA monthly
Save NOAA monthly
Create NOAA yearly
Save NOAA yearly
Run EOD External Program
Processs any Extra Files with EOD option selected
Day reset complete
Read readings from weather station to assign to start of new day
Create daily backup folder to hold files as at start of new day
Copy all files from data folder (plus Cumulus.ini) into new daily folder
Resume normal operation of reading station, processing real-time and standard time interval functions
In the first Extra Files with standard interval FTP upload, add upload of NOAA files and Extra Files processed at end of day

You will see that if you set your standard logging interval to 10 minutes, and this end of day action was triggered at 10am, it would not finish until after 10:10am, so it is crucial not to have a power cut or anything else affecting the running of Cumulus throughout that period. Do not stop Cumulus after it starts processing end of day. For early versions of Cumulus 1, there was extra processing in the same interval before roll-over, so you could not restart Cumulus just before rollover was due.

Special Features

  1. A key feature of Cumulus software, although only a minority of users utilise this feature, is its ability to mimic what many professional meteorologists do by starting a new meteorological day at 9am GMT (or your local time) with the option of either still using 9am in summer time (Daylight Saving Time - DST) or keeping to 9am GMT in summer by changing at 10am DST. This latter option preserves 24 hour long days even when the clocks change. Alternatively it can start each new day at midnight, and have shorter or longer days when the clocks change, this is the option that is slightly more popular.
  2. Another feature of Cumulus is that it can work with a number of different AWS, see suitable AWS list, most of these connect by a wire to the device that you are running Cumulus on. A side-effect of this is that it it tries to use as much common code that will work with various makes as possible, and is not specifically designed for, nor ideally suited to, any one make.
  3. Another key feature is that Cumulus reads the basic temperature, humidity, pressure, rain, and wind, readings from the AWS, but its outputs include many derived weather values.
    • Regardless of whether the AWS can calculate the highest and lowest values, Cumulus can (and for 9am to 9am if required),
    • it can combine the temperature it reads and the wind strength it reads to calculate current wind chill and also calculate the greatest wind chill in a day, month, year, or all-time,
    • it can also take into account humidity to calculate apparent temperature, Heat Index, Humidex, and feels like values
    • Cumulus can count the time when the temperature is above or below configurable temperatures:
      • The total number of hours below a set values (default 7 Celsius) is output as a total for a season and named Chill Hours, you can tailor which month the count restarts each year.
      • Taking into account the number of degrees away from the threshold the temperature is on each reading, Cumulus will calculate "Heat_Degree_Days" and "Cool_Degree_Days".
    • It can track the duration for each observed wind speed and calculate wind run for each day, it can report the day each month (or year, or all-time) with the highest daily wind run
    • Cumulus also tracks the actual rainfall over each 5 minutes and uses that to calculate a rain rate; it can report the highest hourly rainfall in a day, a month, a year or all-time; and it can report the wettest day in a month, year or all-time.
  4. Cumulus also includes a weather diary where you can record (in free text) any aspect of the weather for a day that your AWS does not capture, this diary includes ability to record for each day if snow is falling, if snow is lying, the snow depth, and from the last it can calculate a snow index for a month or for a winter.
  5. Cumulus also produces monthly climatological reports summarising the weather each day of that month, and a yearly climatological report summarising the weather each month of that year.
  6. Cumulus includes some templates that it processes to generate web pages, and provides hundreds of web tags that you can incorporate into templates of your own that Cumulus will process into scripts or web pages for you; there is a choice of how frequently this processing happens
  7. Cumulus also has the ability to launch external processes, at its "real-time" processing interval, its "normal updating" interval or as it is processing the daily "rollover" to a new meteorological day.


Two flavours of Cumulus are available for download from this page, another flavour was briefly available.

Cumulus 1

This is no longer developed and runs only on a device using the Windows operating system.

There are large numbers of web sites (both private and public) using Cumulus 1 and it is probably the simplest version to install. However, there is no source available, and no author knowledge available (other than what appears at FAQ for Cumulus 1 and other pages in this Wiki.

The current stable version is 1.9.4 (28 November 2014). This is an installer, run it and it will install all the functionality and files that you need.

If you want to use Cumulus 1, after you have installed the above download, download patch 2 (28 Jan 2020) as that patch will changedthe drop down year selectors to allow selection of future years (to 2030) as well as past years. The non-patched version will accept you typing in any dates, but the drop-down selectors can only display 2000 to 2020.

Cumulus 2

This is no longer available as it never worked satisfactorily.

Some of its features were incorporated into Cumulus 1.9.x and from there into Cumulus MX.

Some other ideas like standardising on ISO format for dates; separating the engine and admin interface; and a few more; formed the basis for Cumulus 3.

So despite Steve Loft feeling he wasted a lot of time working on Cumulus 2, as only a small number of users did use it, most of the ideas he worked on then have now been given an ongoing existence in MX! Plus the design of Cumulus 3 (MX) is much more robust, because it has learnt from the pitfalls of Cumulus 2

Cumulus 3 aka MX

Cumulus MX is newer, and still being actively developed, it will run on a number of operating systems and has the advantage that it consists of an engine that reads the AWS, does the calculations, and creates a web server. There is then a separate user interface that runs in this web server, and lets you see a number of dashboard type web pages and edit settings. This separate user interface can run on any device connected to your local network (LAN) or wifi, as it just just needs a private link to the device running MX. Despite MX being more complicated to get to know, it does offer more features and can connect to more AWS than Cumulus 1. This is not the place to list all extra features, but it can output to a database, it maintains its file of extremes for a month and year beyond the end of those periods, and adds the ability to process a file only at end of each day.

Should I use Cumulus 1 or Cumulus 2 or Cumulus 3 (MX)?

Steve Loft (who originated all 3 versions) had no recommendations one way or the other. However, since he focussed on enjoying retirement and withdrew from involvement in Cumulus, a lot has changed. Now newcomers should probably choose Cumulus MX, but read on if you are not sure.

Cumulus 1 is a finished version, and because the development environment is obsolete no further changes are possible. That said there have been two recent patches to the screen interface, allowing dates from 2021 to 2030 to be selected in drop downs, but the core code will never change. Cumulus 1 is reliable and has more functionality to cope with problems if your weather station set-up may experience problems. However, it does not support some new weather station models, and it will only run on a Microsoft Windows device, so those two facts may imply you cannot use it! Although there remains some expertise with Cumulus 1 established users, any newcomer may prefer to choose a MX as that has more technical support available.

Cumulus 2 explored an improved data approach using UTC and having better handling of rainfall. Although it was hoped it would make enhancement easier, and allow use of alternative languages possible, it proved too complicated. and has been abandoned and is no longer available, so if you don't already have it hard luck. Subsequently, some of the developments in Cumulus 2 were ported into new version 1.9.0, and remain in final Cumulus 1.9.4 from where they were in turn ported to Cumulus MX. So whichever of the two versions still available you choose, you are benefiting from work done for Cumulus 2.

Cumulus 3 is live and is still being improved. It is more often known as Cumulus MX. It is using a different architecture (partly inspired by Cumulus 2), it provides some enhancements in functionality and will run on a range of platforms. It can be used in a production system as it has good reliability, but perhaps should be avoided in a few rare cases where people's systems are not very reliable. Initially MX lacked several key parts of the functionality in Cumulus 1, but the number of such facilities continues to decrease as Mark Crossley is adding missing functionality.

Outputs to external web sites

Cumulus will store full weather records, along with daily and all-time records, and graphical data. Cumulus can upload its data to a web server and comes packaged with template web pages for this purpose. Cumulus also supports automatic uploads to Weather Underground, PWS weather, Weatherbug, WOW, CWOP/APRS, Windy.COM, Awekas and Weathercloud.

Releases after 3072 include an interface to MQTT which allows users to feed data to their home automation systems (e.g. you can feed internal temperatures from your weather station to your home automation system to control your central heating).

A variety of example screen shots are available for Cumulus 1, and those for MX will be added in the future.

Supported Devices

This varies between Cumulus 1 and MX.

There is a full list of Supported Devices

Web pages

Steve Loft once described the web pages his wife designed and he provided with Cumulus with these words: "They exist because they're our web pages, and they're really only included with Cumulus as examples of how the web tags work. It never occurred to me that most people would simply use the supplied examples instead of creating their own pages!"

Web pages included:

  • Current Conditions
  • Gauges (in Cumulus 1 with real time wind display, in MX using Steel Series dial representations)
  • Current Meteorological Day: Maxima and Minima
  • Previous Meteorological Day: Maxima and Minima
  • This month and this year: Maxima and Minima
  • Monthly Records: Maxima and Minima
  • Monthly-all-time Records: Maxima and Minima
  • All Time Records: Maxima and Minima
  • Trend Graphs (in Cumulus 1 the graphs shown are generated by the software as images; in MX the software generates the figures for plotting in Json files, the graphs are then drawn from those figures)

The standard menu navigation allows for inclusion of both a support forum link and a link to a webcam. Both of these links go to a URL that is defined in the settings. There is nothing to stop you putting a URL for some other web page on your site or to another external web page in these settings so you can use existing links in the provided web pages (although it would be less muddling if you changed the text for the links on the web pages.

Be aware that in the supplied web pages, where there is a table (as on all web pages other than gauges and trend graphs) the standard menu is placed within the table and stops the table resizing to fit the screen width of device you are viewing those web pages on.

Custom web pages can be achieved through the use of web tags added to any HTML/CSS layout.

Help and Support

Cumulus 1 includes a comprehensive Help File, this can be downloaded from here if you are using MX, but the format used can only be read on windows operating system.

To read more about this Wiki see About Cumulus Wiki.

There are pages within this Wiki contents page that discuss:

  • Frequently Asked Questions for Cumulus 1 (although it has some applicability to MX and does discuss weather station positioning; and a new one for Cumulus MX (only rough outline at present)
  • each of the configuration and log files,
  • list the web tags available, and how to use input and output parameters with them
  • give guidance for setting up a web site whether using the provided template pages, or ones you have edited/created, plus other "web tips"
  • some 3rd party apps and tools that can be run on your web site
  • weather terminology, explaining the various terms that Cumulus uses, the way that derivatives are calculated, and the ways that your weather station can measure what it reports to Cumulus

Further help, support, and discussion is available on our Forum. Anyone can read the forum. You will need to register to be able to see attachments or post to the forum. Please submit bug reports and requests for enhancements there. You will find a guide to how to capture a what is on your screen in this wiki, as that can be useful when requesting support. You may also be asked to supply various files to help diagnose your problem. Do that by using Zip to compress all the requested files, then below the window where you post your response click on the tab labelled attachments for further instructions.

Donations & Sandaysoft

Since Steve Loft stopped developing Cumulus, there has been no mechanism for donating.

a note from the original developer...

Sandaysoft was the home of Cumulus, software to help you make the most of your weather station. When I wrote it I was located on the island of Sanday, in Orkney, off the north coast of Scotland in the UK. Cumulus is donationware. If you like the software and find it useful, please make a contribution towards the continuing development of Cumulus.

I rely on your donations to allow me to buy the software that I need to continue improving Cumulus. 100% of any donation received goes towards software development, either towards the cost of new development tools or the cost of hosting this site. I and my wife didn’t make a profit from Sandaysoft - when I was writing Cumulus 1, 2, and 3, I had a full-time job and Sandaysoft was one thing we did in our spare time.


Steve Loft