Cumulus Licence

Licence Agreement

Cumulus is free for personal non-commercial or non-profit use. You may use this software free of charge providing that you make no financial gain from it, directly or indirectly. You may not alter or reverse-engineer the software. You may not make or distribute copies of this software in any form other than its original format. You may not distribute this software with any hardware or software package.

Cumulus is supplied 'as-is'. No warranty of any kind is expressed or implied. You use this software at your own risk. The author is not responsible for any loss caused by the use of this software.

By using this software you agree to the terms of this agreement.

This software and its associated files are copyright © Sandaysoft 2012.


Introducing Cumulus

What is Cumulus?

Cumulus is a program for retrieving, storing and displaying data from an electronic Automatic Weather Station (AWS). It currently works with the following weather stations:

  • Oregon Scientific WM918
  • Oregon Scientific WMR918/WMR928/WMR968
  • Oregon Scientific WMR88/WMR100/WMR200
  • Radio Shack/Huger WX200
  • Davis Vantage Pro, Pro2, and Vue
  • Fine Offset and rebadged models - WH1080, WH1081, W8681, 265NC etc etc
  • La Crosse WS2300 and others in that range

If you find Cumulus useful and would like to make a donation towards its future development, you can send it via Paypal using the button below. You don't need a Paypal account to donate by credit card.


Contact Information

Please check the FAQ, to see if your question has already been answered.

There is a forum where you can report bugs, suggest improvements, and discuss Cumulus.


Getting Started

Connect your weather station to one of the serial ports on your computer, or USB ports, as appropriate, and switch it on. Make sure that you always have your weather station connected to your PC and switched on before you run Cumulus. When you first run Cumulus, the Station Settings screen will appear. As a minimum, you need to specify your Station Type and the COM Port (for serial stations) which you are using for your weather station. You may want to adjust the Settings, and supply information about your Location. See the Configuration: Station topic for more information.

It is important to note that you should choose your units the first time you run Cumulus, and then do not change them afterwards. Data is stored in your chosen units, so if you change units subsequently, your data no longer makes sense.

Once you have the values set correctly, click OK and the main Cumulus window will appear.

If your weather station has a logger, Cumulus will download the data from it each time it runs, except for the very first time you run it - it will only download logger data from that point onwards.

Note that if you are running Windows Vista or Windows 7, you should install outside the Program Files hierarchy.

Every time Cumulus starts, it takes a backup of the data files and puts them in the backups folder. Each backup is inside a folder whose name is the timestamp of the backup time in the format yyyymmddhhmmss. If you find at any time that bad data has been downloaded from your station, you can stop Cumulus and 'rewind' by using the appropriate backup files to over-write the ones in the Data folder. Cumulus will then re-download the data from your station (assuming it is a type which has a data logger), and this may well correct the problem.

Cumulus keeps the latest ten backups. Do not create your own files or folders in the backup folder, as this will interfere with the backup mechanism.


Acknowledgements

My thanks go to:

  • Beth for her encouragement and the wonderful web pages.
  • Paul Crabtree, David Jamieson, Marc Dupuis, Harry Bloomfield and all the other testers.
  • Michael Pendec and Jim Easterbrook for help with Easyweather/Fine Offset data.
  • Mathias Rauen for the 'MadExcept' exception handler.
  • Martin Stoeckli for the 'HTML Help' and 'Version Number' code snippets.
  • Troels Jakobsen for the 'CoolTrayIcon' component.
  • Olivier Touzot for the TQSpiderGraph component.
  • François Piette for the Internet Component Suite. (I still need to send him a post card!)
  • Adrock Software for the Timerlist component.
  • Robert Marquardt RIP for the USB component.
  • Erik van Bilsen for the GDI+ library
  • beteljuice for the forecast algorithm.
  • Steve Hatchett for some of the data calculation routines.
  • Mark Crossley for his web 'add-ons' and keeping the wiki up to date.
  • Everyone who has been kind enough to make a donation, and everyone who has helped with the wiki
  • Anyone else I've forgotten!


Configuration: Station

This screen allows you to supply information about your weather station and your location.

Station Type Select the make and model of your weather station. The EasyWeather setting is an (obsolete) alternative for stations which use the EasyWeather software (Fine Offset, MyDEL, Nevada, WH1080 etc) and is used when running Cumulus at the same time as EasyWeather so Cumulus can 'piggy-back' off the EasyWeather data file. It is preferable to choose the 'Fine Offset etc' setting instead for these stations so that Cumulus can drive them directly - but you must not try to run Easyweather at the same time when you choose this option. Note that if you really must use the Easyweather setting, you will have to run both Easyweather and Cumulus 24/7 (all the time) as otherwise you will get gaps in your data and many of your statistics will be meaningless. It is strongly recommended that you do not use the 'Easyweather' setting.

If you have a WH3080 or WH3081 station, or any other Fine Offset station which has UV and Solar Sensors, you must select 'Fine Offset with UV/Light sensor'. Note that there are some Fine Offset stations which have a solar charger for the batteries; this is not the same as having solar and UV sensors. If your station has a solar charger but does not have solar and UV sensors, use the 'normal' Fine Offset setting, not the 'Fine Offset with UV/Light sensor' setting.

For Oregon Scientific stations and similar re-badged stations (Huger, Radio Shack etc) which have a serial port connection, if your model is not listed, try WM-918 if your station has wired connections, and WMR-928 if it is wireless.

For all La Crosse WS23xx models, use the WS2300 setting.

If your exact station model isn't listed, then you probably need to select 'Fine Offset'.
COM port | Specify which COM port in your computer is connected to your weather station. You do not need to set a COM port for Fine Offset stations or Oregon Scientific USB stations (WMR100 etc).
SETTINGS:
Wind Bearing Use bearing zero when calm
Tick this to make Cumulus display a bearing of zero (and '---' for the compass point) when the wind is calm, otherwise it displays the current bearing read from the station (i.e. the last direction the wind was blowing from before it became calm). Note that the average wind bearing will always display zero bearing if there has been no wind for the last 10 minutes, as the average bearing takes wind speed into account.
Wind Speed Calculate 10-min wind average
Tick this to make Cumulus calculate and display a 10-minute average wind speed instead of using the value supplied by the station. Normally only useful for Oregon Scientific and Fine Offset stations, as these stations supply an average wind speed based on the last few seconds only. Davis stations supply a 10-minute average directly.
Use 'speed' for avg calculation
Typically, stations supply two wind speeds; a short-term speed, which Cumulus calls 'Latest', and a longer-term 'speed', which Cumulus uses for 'Average', unless the 'Calculate 10-min average wind speed' option is ticked, in which case Cumulus calculates a 10-minute average using the short-term 'latest' values. If you tick this option, Cumulus will instead use the longer-term 'speed' values in the calculation. The 'Calculate 10-min average wind speed' option must be selected for this option to have any effect. Note that the 'short-term' speed from Fine Offset stations is a 'gust' value (i.e. the highest sample over a 48-second period, and while it may seem odd to use this to calculate the average, many people find that this does give a good result. You may find, however, that ticking this option to use the 48-second wind value gives you a better result.

Note that there isn't really any point using this option for Davis stations, as their 'longer-term speed' is a 10 minute average anyway; neither for La Crosse stations, as they only supply one wind speed anyway.
Round wind speeds
Tick this to have wind speeds rounded to the nearest integer
Humidity Use 100% for 98% humidity
Tick this if your weather station registers a maximum of 98% relative humidity and you would like this to be displayed and recorded as 100%. Normally only useful for Oregon Scientific stations.
Dew Point

 Calculate dewpoint
Tick this to make Cumulus calculate the dew point instead of using the value supplied by the station. This avoids the restriction in the Oregon Scientific stations where the dew point can never be below freezing point.
Wind chill

 Calculate wind chill
Tick this to make Cumulus calculate the wind chill instead of using the value supplied by the station. Note that some stations (Fine Offset, for example, do not supply a wind chill value anyway, so Cumulus always calculates it). You should set this if you have specified any calibration values for wind or temperature, so that Cumulus can also apply those values to the wind chill.
Time Sync

 Synchronise station clock
When set, at start-up and at 0400, Cumulus will set the clock on some stations to the same time as the PC (recommended). This setting only applies to Davis and Instromet stations. Note: it appears that Weatherlink IP does not support this feature.
Logger

 Use data logger
Do not unset this unless you absolutely know what you are doing! When set (which is the default), at start-up, Cumulus will download data from the stations data logger (if it has one) to catch up from the point where Cumulus was last shut down. If you unset this, Cumulus will not use the data in the logger next time it runs, so if it hasn't been running for a while, you will get gaps in your data, and invalid daily highs and lows. You would not normally need to unset this option. If Cumulus is not currently running, and you want it to not use the logger the next time it runs, you can edit the cumulus.ini file, and change the line 'UseDataLogger' in the [Station] section so that it has a value of zero (add the line if it does not exist). Note that editing the cumulus.ini file is the same as unsetting the option; don't forget to select the 'use data logger' option again when you want Cumulus to start using the logger again.
La Crosse Clock Ignore La Crosse Clock
Tick this to use the PC clock as the reference for timestamping logger entries from La Crosse stations, instead of using the sometimes unreliable station clock.
Fine Offset USB problem Synchronise Fine Offset reads
This is an attempt at a work around for the 'USB lockup' problem with more recent Fine Offset stations. It works by avoiding communicating with the station at 'critical' times, i.e. when the console is updating memory. The station does this every 48 seconds, and every 60 seconds. Cumulus performs a synchronisation once a day, where it determines when the console is doing these updates, so it can avoid them.
Pressure trend names

 Cumulus pressure trend names
Set this to get Cumulus to generate the name for the current pressure trend, e.g. "Falling", "Rising quickly" etc, instead of the one supplied by your station. The names used are those in the UK Shipping Forecast. Note that some stations do not supply this anyway, so setting this has no effect (Cumulus always generates the names for those stations).
Vantage Pro Barometer Updates

 VP 1-min barometer update
Set this to force the Vantage Pro (and Pro2) barometer to update once a minute instead of the default 15 minutes. Note that you may not need this, more recent stations already update every minute.
Extra Sensors

 Set this if you have additional sensors (e.g. a Davis Leaf Wetness probe) to make Cumulus read, display, and log the readings from the sensors. You don't need to select this for Solar/UV sensors.
EasyWeather Interval

 Normally, you don't need to set this. If using the Easyweather.dat method (not recommended), set this to the same value that you have used in EasyWeather.
EasyWeather File

 Normally, you don't need to set this. If using the Easyweather.dat method (not recommended), set this to the location of the EasyWeather.dat file (you can click the little folder icon and browse for the file).
Program Settings
Confirm shutdown
 When set, Cumulus will ask when you close it whether you really want to close.
Close on suspend
 When set, Cumulus will attempt to close if you suspend/standby/hibernate your computer. You can use this option if you are in the habit of suspending your computer without closing down Cumulus. You should unset 'Confirm shutdown' if you use this option. Please note that this option can occasionally cause problems - including data corruption, and is not to be relied upon; you should avoid its use if at all possible. Better to make sure that your PC doesn't suspend!
Stop 2nd instance
 When set, prevents multiple instances of Cumulus from running. Requires a Cumulus restart to take effect.
Restart if unplugged When set, Cumulus will restart if it detects that a USB station is unplugged. It may recover, no guarantees! Use with care. Set other options sensibly (e.g. don't set 'confirm shutdown').
Restart if data stops When set, Cumulus will restart if it detects that no data has been read during the last minute. It may recover, depending on the cause of the problem, otherwise it will just do nothing, and hence stop logging - which is probably better than it repeatedly logging the last data it received. Use with care. Set other options sensibly (e.g. don't set 'confirm shutdown'). It appears that La Crosse stations can sometimes stop responding for several minutes if they are 'busy' doing something else, e.g. trying to sync to the clock signal. You should probably avoid this setting with those stations.
Davis Type | Only applicable to Davis Stations
Serial
 Select this if your Vantage Pro/Vue is connected to a serial port
TCP/IP | Select this if your Vantage Pro/Vue is connected via TCP/IP. You will also need to set the TCP Port and IP Address
If your station is connected via USB, you will need to install virtual serial port drivers and use the station in serial mode. See the Cumulus FAQ for more details.
Davis TCP/IP Settings | Only applicable to Davis stations, when connected via TCP/IP
TCP port | If your Vantage Pro/Vue is connected via TCP/IP, specify the TCP port number here
IP address | If your Vantage Pro/Vue is connected via TCP/IP, specify the IP address here
Discon period | Causes Cumulus to disconnect for the specified number of seconds, once a minute, on the minute (or as close as possible) to allow the Weatherlink IP to connect to the Davis Weatherlink site. Keep this figure as low as possible to minimise the amount of time which Cumulus spends disconnected from the station. Set it to zero to disable, if you are not using the Weatherlink site.
Annual rainfall
YTD Amount | You may have a total rainfall figure (from some other source) for the year to date up to the point when you first start using Cumulus. Enter the amount here, and Cumulus will add it to its own annual rainfall calculation for the specified year. The figure you supply will be effective the next time Cumulus starts.
Year | The year to which the year-to-date rainfall applies.
Rainfall season start | If you want your annual rainfall total to be counted from the start of a particular month (e.g. your rainfall year might be August to July rather than January to December), you can specify the start month here. This affects the way Cumulus calculates the rain total shown for each year.
LOCATION: Note that if you don't supply your latitude and longitude (correctly) your sunrise and sunset times will be incorrect
Latitude | Set to the appropriate values for the location of your weather station.
Longitude | Set to the appropriate values for the location of your weather station.
Altitude | Set to the appropriate value for the location of your weather station. Note that Cumulus does very little with this figure other than display it. It doesn't, for example, make any sea-level corrections to your pressure readings; you must make sure that you have set your station up to do the sea-level corrections itself - all stations have this facility. The exception to this is that it does use the altitude setting for WMR88/100/200 stations to calculate 'altimeter pressure' for upload to CWOP.
Name

Supply a 'short' name for your location.

Example: Wanlockhead.

Description

Supply a longer description of your location.
N.B. If you use the supplied HTML pages for your web site, this description will appear on your web site after the words "Welcome to ".

Example: Wanlockhead in the Lowther Hills, Dumfries and Galloway.

UNITS:
Wind Speed
Pressure
Temperature
Rainfall
 Select the units which you would like Cumulus to use to store and display the data.

IMPORTANT: You should choose your units the first time you run Cumulus and then stick to them. Cumulus logs the data using whichever units you have selected; so if you subsequently change units your data logs and all time records will be inconsistent and meaningless.
xAP Settings
Enabled | When set, Cumulus will periodically send out xAP weather reports. See http://www.xapautomation.org/ for more details
UID | Sets the UID for xAP messages. You should only need to change this if you have more than one instance of Cumulus running on a network.
Log Rollover 9am
Tick this if you want the daily logs to change over at 0900 hrs each day. Cumulus will automatically use 1000 hrs in summer.

midnight
Tick this if you want the daily logs to change over at midnight each day.
Data log interval | Choose the interval at which you would like Cumulus to add entries to the data log files. It is recommended that you set this to the same interval as your weather station logger (if it has one). This is particularly important for Davis stations. Note that Cumulus does not set the station's logger interval, you will need to use whatever method the station requires (i.e. via its console or supplied software). On Instromet stations, however, Cumulus does set the station logger interval, each time it starts up.
Forecast
Cumulus forecast | Set this to get Cumulus to generate a simple weather forecast, if your station does not supply one, or as an alternative to the one supplied by your station. Note that you should regard the forecast as 'for entertainment purposes only'. Please don't base any important decisions on it, and please don't complain to me if it doesn't get it right!
Update hourly | If you have chosen to have Cumulus generate a forecast, this setting causes the forecast to be updated only once an hour (on the hour), to avoid the fluctuations that can occur when the forecast is updated at every read of the station data.
Pressure extremes | Set the minimum and maximum pressures expected in your part of the world. The default values are expected to be suitable for the UK and similar latitudes, but you may wish to experiment. You can supply the extremes in either "mb" (which is the same as hPa) or "in" (inches of mercury), but make sure that the values you supply match the units you select. The units you use here are not related to the units you use for pressure in Cumulus; the option is given here simply as a convenience.
Solar
Sun threshold | If you have a solar sensor: Cumulus tries to determine whether the sun is shining by determining whether the current solar radiation value is above a certain percentage of the current theoretical maximum. The value you supply here is used as that percentage. The default value is 75%. You can view the current calculated theoretical maximum value by 'hovering' over the solar radiation value on the Cumulus main screen.
Sun minimum | This setting allows you to specify a minimum solar radiation value which needs to be reached before it can be considered to be sunny. Note that this setting does not replace the calculation using the current theoretical maximum, it specifies an additional condition which has to be met. This setting therefore allows you to cater for the periods at the beginning and end of the day when the theoretical maximum is very low.
Trans factor | Cumulus uses the Ryan-Stolzenbach formula to determine the current theoretical maximum solar radiation at your location at the current moment in time. This formula has a factor to allow for the transmission of the radiation through the atmosphere; the default is 0.8.
Use B/L | Set this if you have a Blake-Larsen Sun Recorder, and you want Cumulus to get today's sunshine hours from it. You need to configure the Blake-Larsen software to put the SRsunshine.dat file into the Cumulus data folder so that Cumulus can read it.


Display Settings

Configuration: Display Settings

This screen allows you to configure the appearance of Cumulus.

Heading | This changes the title heading on the main screen.
Minimise to tray | Selecting this causes Cumulus to appear as an icon in the system tray when it is minimized. The icon will flash if a record is broken or an error occurs. Double click on the icon to restore the main window (or right click on the icon and use the pop-up menu).
Forecast centred | Selecting this causes the forecast on the main screen to be centred rather than left-justified.
Display solar/extra data | Selecting this causes Vantage Pro solar data (ET, UV and Solar radiation) or Oregon solar data (Lux, Solar radiation and UV) to be displayed on the main screen (if supported by the station), and/or extra sensor data in the case of Oregon stations.
Display cloud base | Selecting this causes the calculated cloud base to be displayed on the main screen. The calculation is a simple one; 1000 feet for every 4.5 degrees Fahrenheit difference between the temperature and the dew point. Note that this simply gives the theoretical height at which Cumulus clouds would begin to form, the air being saturated.
Display humidex instead of heat index | Selecting this causes the calculated Humidex value to be displayed on the main screen instead of Heat Index. Note that Cumulus displays degrees C or F for Humidex, whereas strictly speaking it is unitless. This is for the convenience of those who use Fahrenheit but would still prefer to see Humidex displayed, where it might be confusing to show the unconverted value.
Show current conditions box | Selecting this causes the 'Current conditions' box on the main screen to be displayed. The contents of the box are entered manually, and the web tag <#currcond> corresponds to those contents, for inclusion on a web page. Note that the web tag always takes the contents of the box, regardless of whether it is currently visible or not.
Wind gauge animated | Selecting this causes the wind gauge on the Cumulus main screen to be 'animated' from one position to the next.
Transparent gauge backgrounds | Cumulus creates copies of the three wind gauges on its main screen, so that these can be uploaded to a web site. The square backgrounds for these gauges can be the same colour as the main window background, or, with this option selected, the images will be processed to make the background colour transparent. Note that if your colour settings are such that the background colour also appears in the gauges themselves (as part of a gradient, for example), those parts of the gauges will also unfortunately and unintentionally become transparent. Typically, this might appear as a diagonal line through the gauge with the web page background showing through, or other parts of the gauge going missing. You may be able to correct for this with careful choice of your colours; just changing them slightly to a different RGB value should be sufficent.
Transparent graph backgrounds | This is similar to the transparent gauges option above; with this option selected, the graph images which Cumulus creates for upload to a web site will be processed to make the background colour transparent. Note that for this to work properly, you will need to be using a 'solid' background for the graphs in Cumulus and not a gradient.
Show FTP errors on error log window | If set, FTP errors will be logged to the the error log window, and the red error light will flash. Clicking on the error light displays the error log window.
Save main window position | If set, the current position of the main window will be saved to cumulus.ini when Cumulus closes, and the window will open again at that position the next time Cumulus starts.
Start minimised | If set, Cumulus will start with the main window minimised, either to the system tray or the task bar, depending on the 'Minimise to tray' setting.
Display Beaufort description | If set, the Beaufort description of the current average wind speed will appear in the header of the wind panel on the main screen. If not set, it will instead appear as a 'tool tip' for the wind panel.
Display barometer trend text | If set, the description of the current barometer trend will appear in the header of the barometer panel on the main screen. If not set, it will instead appear as a 'tool tip' for the barometer panel.
Update display during logger download | If set, the display will be updated as data is downloaded and processed from the station's logger. This increases the time taken to process the data. Turning it off makes the download faster; this may be significant if there is a lot of data to download.
Flash when record broken | If set (the default), when an all-time record is broken, Cumulus will indicate this in various ways, including flashing the 'New Record' light on the main screen. Unset to turn off all 'new record' notifications.
Display 'Storm Rain' | Only applies to Davis stations. When set, 'storm rain' information read from the station will be displayed in the header of the 'Rainfall' panel on the Cumulus main screen, during those periods when the station decides that a 'storm' is in progress. Refer to the Davis documentation for details.
Wind gauge animation factor | This sets the speed of the wind gauge animation. Lower values correspond to a faster animation speed. Be careful not to set the animation too slow, particularly with stations which update frequently (e.g. Davis) as the animation will never catch up, and will use significant CPU time.
Wind gauge range | This allows you to select the initial range for the wind gauge. When the wind speed gets above this value, the range will increase to 2x the value, then 3x, and so on. The minimum value you can supply is 5. Note that some values will cause the gauge scale to look rather odd; multiples of 5 are probably best.
Snow units | This allows you to set the text that appears with the snow depth in the weather diary. Note that there is no significance attached to this and the effect is purely cosmetic; the snow depth is effectively unitless and you can supply any text you wish.
Station Model | You can specify the actual model of your weather station here so it will appear on the web pages rather than the default generic description. This is useful particularly if you have one of the many different 'Fine Offset' type stations, or, for example, if you have an Oregon Scientific station that has a slightly different model number than the ones Cumulus knows about.
Graphs: Detailed Chart Period | This allows you to choose the display interval for the graphs which are plotted once a minute. Note that if you increase the interval, the graphs are not immediately redrawn. If you decrease the interval, the change will take place the next time a point is added to the relevant graphs. If you want to force an immediate redraw at the the new interval, restart Cumulus, but note that this will cause the graphs to be drawn from the data in the log files.
Graphs: Daily Chart Period | This allows you to choose the display interval for the graphs which are plotted once a day. Note that if you change the interval, the graphs are not immediately redrawn. If you want to force an immediate redraw at the the new interval, restart Cumulus.
Graphs: Display 3D | This allows you to choose whether the graphs are displayed in 2D or 3D.
Graphs: Plot latest gust | On the wind graph, Cumulus normally plots the highest gust from the last 10 minutes. Selecting this option causes Cumulus to plot the latest 'gust' value from the station instead. The effect of this depends on the type of station you have, and how it generates this 'latest' value; you may prefer it this way, or you may not. Note that changing this does not cause the graph to be redrawn, it just changes the method of plotting from that point onwards.
Graphs: Use South for Wind dir origin | Makes the bottom axis on the wind direction graphs correspond to South
Graphs: Show freezing line | Plots a horizontal line at the 0C/32F point on the temperature graphs.
Graphs: Independent Graphs Window | Makes the Graphs window independent of the main window, so it appears on the task bar. Requires a restart of Cumulus to take effect.
Graphs: Chart line width | This allows you to set the thickness of the lines used to draw the charts.
Graphs: Legend symbol width | This allows you to set the thickness of the lines in the chart legends. Note: To see the change on the graph, you will need to select a different graph.
Graphs: Wind Rose Points | This setting relates to the Wind Rose on the main screen. It allows you to choose the number of discrete compass points which are plotted (8 or 16). This is an attempt to give a better display for Fine Offset stations which tend to under-report 'intermediate' wind directions.
WMR928 extra channel captions | Allows you to set the captions on the main screen which are displayed along with the extra channel data for WMR928 stations.


Internet Settings

Configuration: Internet Settings

[See "Setting up your website" first.]

This screen allows you to supply information about your web site so that Cumulus can upload the pages containing your weather statistics. You may need to restart Cumulus after changing certain settings, e.g. if you change server and you are using realtime FTP.

Sites/Options page:

Host name

This is the name (or the IP address) of the ftp server which you connect to when you upload pages to your web site. Just enter a HOST NAME or IP ADDRESS. Do not enter a URL - do not include "ftp://" or "http://" or anything similar.

Example: ftp.sanday.org.uk

FTP Port

 This is the port to use for ftp connections. You will not normally need to change this from the default (21).
Directory

This is the name of the directory on the ftp server which will hold your weather pages. Remember to include the path from your root directory if necessary. It's normally safer and easier to use a relative path, i.e. without a leading slash, so you avoid the need to know about how your hosting is set up. Leave it blank if you will be using the 'default' or 'root' directory, i.e. the one which the ftp server puts you in when you log in. Don't add a trailing slash.

Example: myweatherdirectory will change the upload directory on the ftp server to a first level subdirectory called myweatherdirectory.

User name | This is the user name you normally use when you log in to the ftp server for your web site.
Password | This is the password you normally use when you log in to the ftp server. Note that although Cumulus will hide the password on screen as you type it using asterisks, it will be stored in the .ini file on your computer in plain text.
Forum URL | This is an optional setting. You can use it to supply the URL of a discussion forum for your web site; Cumulus will place a link to it on the web pages it creates. If you wish, you can use the default, which is the support forum on the sandaysoft.com web site. If you erase the field, Cumulus will not create any forum links on your web pages.
Webcam URL | This is an optional setting. You can use it to supply the URL of your webcam, if you have one; Cumulus will place a link to it on the web pages it creates. If you wish, you can use the default, which is the webcam on the sanday.org.uk web site. If you erase the field, Cumulus will not create any forum links on your web pages.
Web settings
Auto update | If you tick this box, Cumulus will automatically create web pages and images, and if configured to do so will upload your updated web pages to your web site at regular intervals (as specified by the 'Update Interval'). If you choose not to have Cumulus do this, you can perform a manual update using the Web update button on the main screen.
Use Active FTP Mode | If you tick this box, Cumulus will use 'active' FTP mode instead of the default 'passive' mode. You should only select active mode if you are having problems with FTP uploads.
Use FTP rename | If you tick this box, Cumulus will upload files using a temporary file name, then rename it to the required name. It is recommended that you use this option if possible, but note that a few ftp servers do not support it.
Delete before upload | If you tick this box, Cumulus will delete a file on the server before uploading a new version. This is for ftp servers which do not allow over-writing of files. You will not normally need to use this - don't use it unless you are certain you need it. If you do need to set this option, make sure that you don't have 'Use FTP rename' set at the same time.
UTF-8 encode | If this box is ticked, the standard Cumulus web pages will be saved using UTF-8 encoding (without BOM) when they are processed. The default is for the checkbox to be ticked, as the standard files supplied with Cumulus use UTF-8 encoding. If you have replaced the standard files with your own files which use the same names, then you will need to turn this option off if your files do not use UTF-8 encoding.
Interval | Time in minutes between web updates. If you specify a period which is a factor of 60, the uploads will be synchronised to the clock, i.e. they will occur on the hour and every N minutes after the hour.
Enable Realtime | If you tick this box, Cumulus will start a timer at the interval specified by Realtime Interval (see below). Each time the timer expires, Cumulus will create a realtime.txt file, containing various weather parameters and is used by the CumulusRealtime.swf real time wind gauges (as on the supplied 'gauges' web page) and the separate Cumulus Realtime Silverlight web application. If you don't have this option selected, but do have the 'auto update' option set (and a suitable interval configured), Cumulus will still create the realtime.txt file at the specified Interval (not the Realtime Interval) so that you can specify it as an extra file to upload during the 'normal' upload, or use it for any other purpose on your PC.
Enable Realtime FTP | If you tick this box, Cumulus will establish an FTP connection to your web site, so that the realtime.txt file, and any other files you specify, can be uploaded when realtime processing takes place. The 'Enable Realtime' box must be ticked for this setting to have any effect. It is important that you do not select this option if you are not using FTP.
Realtime.txt FTP | If you tick this box, Cumulus will upload the realtime.txt to your web site during realtime processing. The 'Enable Realtime' and 'Enable Realtime FTP' boxes must both be ticked for this setting to have any effect. It is important that you do not select this option if you are not using FTP.
Realtime Interval | The time in seconds between processing of 'realtime' files. The default is 30 seconds. You may want to adjust this depending on the update interval of your station. For example, Fine Offset stations update every 48 seconds, so the default is probably reasonable for these, but Davis stations update approximately every three seconds, so you may want to reduce the realtime interval correspondingly. But note that while the realtime.txt file isn't particularly large (currently around 250 bytes), uploading it very frequently will use up a significant bandwidth over a long period, so you should check with your internet provider and/or web space provider to see what limits, if any, your accounts have.
APRS/CWOP Settings
Enabled | Tick this to allow Cumulus to upload data to CWOP/APRS at the interval specified in 'Interval' below.
ID | Your APRS identifier.
Pass | Your APRS pass code, if you have one. Normally only used by licensed radio amateurs, everyone else should leave this at -1.
Server | The APRS server to use.
Port | The port number to use on the APRS server.
Interval | Time in minutes between uploads to the APRS server. If you specify a period which is a factor of 60, the uploads will be synchronised to the clock, i.e. they will occur on the hour and every N minutes after the hour.
Include Solar rad | Causes Solar Radiation value to be sent with the data. Setting this also causes the solar radiation value to be added to the wxnow.txt file, if you have Cumulus creating one.
Weather Underground
Enabled | Tick this to allow Cumulus to upload data to Weather Underground at the interval specified in 'Interval' below.
Include Indoor | Causes indoor temperature and humidity to be sent with the data
Include UV | Causes UV value to be sent with the data
Include Solar rad | Causes Solar Radiation value to be sent with the data
Rapid fire | Tick this to enable 'rapid fire' mode. You should also tick 'Enabled'. Rapid fire updates occur every 5 seconds.
Send average wind | Tick this to cause average wind speed and directon to be sent rather than instantaneous/gust speed and direction.
Catch Up | When set, at start up Cumulus will attempt to send data to Weather Underground that it has just downloaded from the station's logger, thus avoiding gaps in your WU data for the period when Cumulus wasn't running. It sends one update per logger entry downloaded, regardless of your configured update interval. Note that if it can't contact WU for any reason, those updates will not be retried and are thus lost. Note also that if you close Cumulus while it is uploading the data, the update will be aborted and any data not already sent will be lost. The 'catch up' light on the main screen will flash while the catch up is in progress.
Station ID | Your Weather Underground station identifier (note: not your user name).
Password | Your Weather Underground password.
Interval | Time in minutes between upload. Weather Underground recommend an interval of 5 or 15 minutes. If you specify a period which is a factor of 60, the uploads will be synchronised to the clock, i.e. they will occur on the hour and every N minutes after the hour. When 'rapid fire' is selected, this setting has no effect; all updates are done in rapid fire mode.
PWS Weather
Enabled | Tick this to allow Cumulus to upload data to PWS Weather/WeatherForYou/HAMweather at the interval specified in 'Interval' below.
Include UV | Causes UV value to be sent with the data
Include Solar rad | Causes Solar Radiation value to be sent with the data
Catch Up | When set, at start up Cumulus will attempt to send data to PWS Weather that it has just downloaded from the station's logger, thus avoiding gaps in your PWS data for the period when Cumulus wasn't running. It sends one update per logger entry downloaded, regardless of your configured update interval. Note that if it can't contact PWS for any reason, those updates will not be retried and are thus lost. Note also that if you close Cumulus while it is uploading the data, the update will be aborted and any data not already sent will be lost. The 'catch up' light on the main screen will flash while the catch up is in progress. NOTE: At the time of writing (late 2011) PWS Weather say they do not support 'catch up' uploads.
Station ID | Your PWS Weather station identifier (note: not your user name).
Password | Your PWS Weather password.
Interval | Time in minutes between uploads. PWS Weather suggest an interval of 30 minutes. If you specify a period which is a factor of 60, the uploads will be synchronised to the clock, i.e. they will occur on the hour and every N minutes after the hour.
Weatherbug
Enabled | Tick this to allow Cumulus to upload data to Weatherbug at the interval specified in 'Interval' below.
Include UV | Causes UV value to be sent with the data
Include Solar rad | Causes Solar Radiation value to be sent with the data
Catch Up | When set, at start up Cumulus will attempt to send data to Weatherbug that it has just downloaded from the station's logger, thus avoiding gaps in your PWS data for the period when Cumulus wasn't running. It sends one update per logger entry downloaded, regardless of your configured update interval. Note that if it can't contact Weatherbug for any reason, those updates will not be retried and are thus lost. Note also that if you close Cumulus while it is uploading the data, the update will be aborted and any data not already sent will be lost. The 'catch up' light on the main screen will flash while the catch up is in progress.
Publisher ID | Your Weatherbug Publisher identifier
Number | Your Weatherbug station number
Password | Your Weatherbug password.
Interval | Time in minutes between uploads. If you specify a period which is a factor of 60, the uploads will be synchronised to the clock, i.e. they will occur on the hour and every N minutes after the hour.
WOW
Enabled | Tick this to allow Cumulus to upload data to the UK Met Office Weather Observations Website at the interval specified in 'Interval' below.
Include UV | Causes UV value to be sent with the data
Include Solar rad | Causes Solar Radiation value to be sent with the data
Catch Up | When set, at start up Cumulus will attempt to send data to WOW that it has just downloaded from the station's logger, thus avoiding gaps in your WOW data for the period when Cumulus wasn't running. It sends one update per logger entry downloaded, regardless of your configured update interval. Note that if it can't contact WOW for any reason, those updates will not be retried and are thus lost. Note also that if you close Cumulus while it is uploading the data, the update will be aborted and any data not already sent will be lost. The 'catch up' light on the main screen will flash while the catch up is in progress.
Site ID | Your WOW site identifier, as allocated by WOW when you created your site.
PIN | The six-digit PIN which you supplied to WOW when you created your site.
Interval | Time in minutes between uploads. If you specify a period which is a factor of 60, the uploads will be synchronised to the clock, i.e. they will occur on the hour and every N minutes after the hour.
Twitter
Enabled | Tick this to allow Cumulus to upload reports to Twitter (http://www.twitter.com) at the interval specified in 'Interval' below. If you want to customise the twitter message, create a file in the Cumulus installation directory called twitter.txt with your message in it. You can use the standard web tags.
Send location | If selected, Cumulus sends your latitude and longitude along with your tweet. If you want Twitter to display your location with each tweet, you will need to enable "Add a location to your tweets" in your Twitter account settings.
User | Your Twitter user name.
Password | Your Twitter password.
Interval | Time in minutes between uploads to Twitter. If you specify a period which is a factor of 60, the uploads will be synchronised to the clock, i.e. they will occur on the hour and every N minutes after the hour.
Graphs
Resize | Tick this to cause Cumulus to resize the large graph images when creating them for upload to your web site. Specify the required height and width in the corresponding boxes. Note that the images are simply scaled to the new size; there will be some loss of quality.
Height | The required image height.
Width | The required image width.
External Programs
Program | The name (including path) of a command-line program to be run at the 'normal' web update interval, after all of the processing has been performed. The corresponding 'params' box can be used to specify any parameters to be passed to the command.
Realtime Program | The name (including path) of a command-line program to be run at the 'realtime' web update interval, after all of the processing has been performed. The corresponding 'params' box can be used to specify any parameters to be passed to the command.
Daily | The name (including path) of a command-line program to be run once a day, after the daily 'rollover' has been performed. The corresponding 'params' box can be used to specify any parameters to be passed to the command.

Files page:

Include Standard Files | If this is ticked, the standard web files provided with Cumulus will be uploaded at each web update. If not ticked, the files will be processed and web pages created, but not uploaded.
Include Standard Images | If this is ticked, the standard image files generated by Cumulus (graphs, etc) will be uploaded at each web update. If not ticked, the images will be created, but not uploaded.
Solar | If this is ticked, the solar chart generated by Cumulus will be uploaded (or copied, if that option is selected) at each web update. If not ticked, the image will be created, but not uploaded or copied.
UV | If this is ticked, the UV chart generated by Cumulus will be uploaded (or copied, if that option is selected) at each web update. If not ticked, the image will be created, but not uploaded or copied.
Sunshine | If this is ticked, the sunshine hours chart generated by Cumulus will be uploaded (or copied, if that option is selected) at each web update. If not ticked, the image will be created, but not uploaded or copied.
Local Filenames | This column allows you to specify the names of up to 10 files on your system which will be uploaded to your web site at each web update. Clicking the 'Browse...' button opens a standard file selection dialogue to allow you to browse for a particular file. Don't list the 'standard' files here, use the two settings above. You can specify the string <currentlogfile> here, and Cumulus will use the current monthly log file.
Binary? | This column allows you to specify whether each file is Binary (e.g. images) or not (e.g. HTML files).
Remote Filenames | This column allows you to specify the corresponding name on your web site of each file. You cannot leave this blank, there is no default. It does not use the 'ftp directory' setting. You should specify the full path for the file, starting from the point you are at when you log in to your site's FTP server. If the FTP? box is not ticked (see below) then this specifies the file on the local system to which the specified file is to be copied. You can use the string <currentlogfile> here, and Cumulus will substitute the filename of the current log file (e.g. Jul11log.txt). You still need to specify a full path, ending with <currentlogfile> e.g. html_files/weather/<currentlogfile>
Process? | This column allows you to specify whether each file should be passed through the 'tag processor' in Cumulus, in the same way that the standard Cumulus web pages are. This allows to you to create your own web pages into which Cumulus will insert the various weather parameters. See the "Web tags" section of the help file for a list of the tags which you can use. Cumulus will create a temporary file to hold the processed version of your file and then upload that. Do not set this option if your file does not contain web tags, or is binary.
Realtime? | This column allows you to specify whether each file should be uploaded during the Realtime upload or the 'normal' upload. If you select this for any files, you will also need to select the Realtime option (on the Sites/Options tab). If you also select 'ftp' for any files designated as 'realtime', you will also need to select the 'realtime FTP' option.
FTP? | This column allows you to specify whether each file should be uploaded by ftp, or just copied to a location on the PC. In the latter case, the destination file is specified in the Remote Filename box.
UTF-8? | This column allows you to specify whether each file should be saved using UTF-8 encoding (without BOM) when it is processed by Cumulus.
Copy images to folder | This allows you to specify a folder to which the standard image files are copied at each web update interval, either the 'normal' interval, or the 'realtime' interval, depending on whether or not the 'realtime?' box is ticked. If you tick the 'realtime' box, you will also need to select the Realtime option (on the Sites/Options tab). Note that this setting is for copying the files locally; it's not required if you use ftp.

Note that while the display is limited to ten extra files, you can actually configure up to 99 files by editing the cumulus.ini file (with Cumulus stopped). Add sets of lines like this (one set per file) to the [FTP site] section:

ExtraLocalXX= (local file path + name)
ExtraRemoteXX= (remote file path + name)
ExtraProcessXX= (0 = file has no web tags, 1 = file has web tags)
ExtraBinaryXX= (0 = file is ascii, 1 = file is binary)
ExtraRealtimeXX= (0 = upload at 'normal' interval, 1= upload at realtime interval)
ExtraFTPXX= (0 = copy, 1 = ftp)

Replace XX with a number from 10 to 99 (the existing files are 0 to 9). Look at your existing files in cumulus.ini if you're unsure what to put.

Proxies page:

If you use a proxy for HTTP access, enter the details of your proxy server here. You need to add at least the proxy name or IP address, and the port. The username and password may be required depending on how your proxy server is set up. I'm assuming that since you are using a proxy, you will know what details you need to provide!


Calibration

This screen can be displayed by selecting Calibration from the Configuration menu. The screen allows you to set values to allow for inaccuracies in the data supplied by your weather station sensors, if you have an accurate reference to compare them to, or to compensate for the position of your sensors (e.g. the height of your anemometer). Values in the Offsets section are added to or subtracted from (if negative) the readings, and values in the Multipliers section are used to multiply the readings.

An offset of zero has no effect, and similarly a multiplier of 1 has no effect. A multiplier of 0.75, for example, reduces the data values by 25%, and a multiplier of 1.25 increases the data values by 25%, and so on.

If an item has both a multiplier and an offset, the multiplier is applied before the offset.

Note that if you specify any wind or temperature values here, you will probably also want to set the 'calculate wind chill' option in the station configuration settings, so that Cumulus can apply the values to the wind chill. Note also that you should try to avoid using the pressure calibration setting; it is much better to calibrate your station correctly for sea level pressure - all stations allow you to do this.

The Wet Bulb settings only apply to stations which supply a wet bulb reading directly, e.g. Instromet

The Davis Altitude offset is used in the calculation of Altimeter Pressure on Davis stations. The offset is applied to the altitude read from the console before being used in the calculation of Altimeter Pressure (Note: this is the not the altitude configured in Cumulus, it is the altitude configured in the Davis console). The point of this is that the station itself uses the altitude setting to calculate MSLP (sea-level pressure) and you may find that the configured altitude is OK for the MSLP calculation, but you need an offset for the Altimeter Pressure calculation. You should supply the offset in whatever units you have set for altitude in Cumulus (ft or m). Note that if you have supplied a Pressure Offset, this will also be applied to the Altimeter Pressure when it has been calculated.

The "Spike removal" section allows you to specify the maximum differences between successive readings that you wish to allow, mainly for Fine Offset and La Crosse stations. If a reading differs from the previous reading by the value you specify, or more, then it will be ignored. Be careful in your choice of values; if the difference is genuine, (i.e. not a 'spike') and exceeds your supplied value, then that reading will be 'stuck' at the previous value until a new reading returns to within your supplied difference. Every time a spike removal is actioned, it is logged to the current 'diags' file. Ticking the 'Log to Error Log' box will cause it to be also logged to the error log window, and the Error light will flash. Note that sometimes Cumulus detects invalid data for other reasons, and these will be logged in the same way.

The 'Max Rain Rate' setting only applies where Cumulus calculates rainfall rate itself (currently for Fine Offset and La Crosse stations). For this setting, and the 'Max Hourly Rain' setting, if the calculated value exceeds the configured value, it will be ignored, i.e. the previous valid calculated value will continue to apply. The 'Max Hourly Rain' setting applies to all station types.

Important: You must enter a valid number; if you just clear the box, you will get the minimum value of 0.1, which is probably not what you want! If you want to disable the spike removal, just enter a large value that will never be exceeded, e.g. 999 (which is the default setting)

Note that the spike removal values must be supplied in the units shown on the screen. The gust value has no effect on La Crosse stations, as it only supplies one wind value - 'spike removal' is applied at the station level, unlike offsets and multipliers which are applied at a 'common' level; just use the 'wind speed' value.

Spike removal only operates on 'live' data, not data read from the logger at start up. For Fine Offset stations, this means the data which changes at 48-second intervals, so bear this in mind when choosing your settings.


Cumulus Graphs Window

Customisation and Internationalisation

In the folder where you installed Cumulus, you will find a file called 'samplestrings.ini'. Take a copy of this, leave it in the Cumulus installation folder, and name it 'strings.ini'. The file contains strings used in various places in Cumulus, e.g. for forecasts.

forecast23=Precipitation at frequent intervals

Edit the string as desired, e.g.:

forecast23=Raining again!

or even:

forecast23=Il pleut!

When you start Cumulus, it will use the strings you have specified instead of the defaults. More strings will be added as time goes on.


NOAA Setup

This can be accessed by selecting NOAA Setup from the Configuration menu.

Site name/City/State | Description/Location of your site
Time format | Use 12 or 24 hour format for times in the reports
Monthly filename format | This allows you to set the format of the filename used for the monthly reports, using date formatting characters (see the format parameter for web tags). Note that any characters which are not date formatting characters should be in double quotes, e.g. the default format is "NOAAMO"mmyy".txt"
Yearly filename format | This allows you to set the format of the filename used for the yearly reports, using date formatting characters (see the format parameter for web tags). Note that any characters which are not date formatting characters should be in double quotes, e.g. the default format is "NOAAYR"yyyy".txt"
Use UTF-8 | If set, Cumulus will use UTF-8 encoding when saving the reports. This may be useful if you have any non-ANSI characters in your station name etc., and you want to embed the file in a web page. You may also need to change the encoding of your web page by specifying charset=UTF-8.
Auto save after daily reset | If set, when Cumulus does the end of day reset, it will auto create NOAA-style reports for the month and year corresponding to the day which has just ended.
Auto FTP after auto-save | If set, when Cumulus does the first FTP upload after the daily reset, it will also upload the latest auto-created monthly and yearly NOAA-style reports. Note that you must already have regular (non-realtime) FTP configured, and you must have "Auto save after daily reset" selected.
FTP directory | The FTP directory into which Cumulus will attempt to upload the latest NOAA-style reports. You must give the full path from the point of login, and do not supply a trailing 'slash'. Note that the directory must actually exist on the server.
Heating/Cooling threshold | The temperatures which are to be used to calculate heating and cooling degree days. Note that there are two different methods in Cumulus for determing the degree days figures. From the release where the facility was introduced, the figures are calculated on a minute-by-minute basis, and the totals stored in dayfile.txt at the end of the day. It is therefore not possible to affect these totals restrospectively by changing the thresholds. For data which was logged before the facility was introduced, there are obviously no degree day figures in dayfile.txt. The values for the NOAA report are then calculated simply by comparing the average daily temperature with the current threshold settings, so in this case any change in the threshold does apply retrospectively for those days. Note that the report itself will always show the value of the threshold at the time the report was produced. You should therefore choose your threshold settings carefully and stick with them.
Max/min temp comparisons | The values used in the reports for the counts of days with max/min temperatures above/below the specified temperatures. Note that it is intentional that one of the 'max' comparisons is 'greater' and one is 'less than'.
Rain comparisons | The values used in the reports for the counts of days with rain totals greater than (or equal to) the specified amounts.
Normal mean temp/Normal precipitation | If you have access to long term averages for monthly mean temperatures and rainfall for your location, you can enter them here. They will then be used in the 'departure from norm' column in the yearly reports.


RG-11 Settings

This screen can be displayed by selecting RG-11 from the Configuration menu. The screen allows you to configure settings for up to two Hydreon RG-11 rain sensors, connected to your PC via serial ports. The serial port can be a 'real' serial port, or provided by a USB to serial adapter. The rain sensor's 'normally open' relay contacts should be connected to the serial ports DSR and DTR pins, or to the RTS and CTS pins. You can connect two RG-11 sensors to the same port, one to DSR/DTR and one to RTS/CTS.

You can use an RG-11 sensor with Cumulus in one of two modes:

In "It's Raining" mode, the sensor indicates whether or not it is currently raining. Cumulus conveys this information via an indicator in the bottom right-hand corner of the rain panel on the main screen. This is grey when it's not raining, and red when it is raining. The web tag <#IsRaining> provides the same information for use on web sites, giving '0' when it's not raining, and '1' when it is.

In "Tipping Bucket" mode, the sensor acts like a tipping bucket rain gauge, with a tip size configured on the device. You need to supply the tip size to Cumulus (in the units that normally use in Cumulus for rainfall), and it will then display today's and yesterday's totals on the main screen, next to the equivalent values from the station's own rain gauge. Web tags are also provided, see the web tags section of the help for details.

It appears that a spurious tip can be recorded when Cumulus opens the com port. You can set 'Ignore first' if you find this happening, and Cumulus will ignore the first 'tip' indication.

Note that you need to make sure your settings are consistent; you can only have one device set to "tipping bucket" mode and one to "it's raining" mode. Cumulus does not do any checking.


Cumulus Main Window

The main window in Cumulus displays all the current weather data, updated as it is received from the weather station. The heading on this page is configurable by selecting Display from the Configuration menu.

The wind speed indicator shows three values:

  • The needle shows the current snapshot of the wind speed, as read from the weather station. What this figure represents exactly, depends on the type of weather station - in general it is the latest "short-term" speed and corresponds to the 'Latest' figure on the Cumulus display.
  • The green sector shows the current average wind speed. It corresponds to the 'Average' figure on the Cumulus display.
  • The red sector shows the recent highest gust (in the last ten minutes). It corresponds to the 'Gust' figure on the Cumulus display.
See below for further information about wind speeds.

The wind direction indicator shows the current snapshot of the wind direction, as read from the weather station, with a red pointer (also indicated by the bearing in the centre of the gauge); it also shows the average wind direction over the last ten minutes, with a blue pointer.

The third indicator (the Wind Rose) gives a visual summary of the relative wind strength and direction over last few hours; the lines drawn in each direction take into account the strength of the wind as well as the length of time it has been coming from that direction. If you find the Wind Rose doesn't seem to be showing anything, try setting 'Wind rose points' to 8 in the display settings, particularly if you have a Fine Offset station. These stations should report 16 compass positions, but they tend to only report 8.

The 'New Record' light will flash when any of the all time records has been broken. Clicking on the light will open the All Time Records display.

The 'Error' light will flash when an error has occurred, usually when updating your web site. Clicking on the light will open a window showing the most recent errors. Usually this is nothing to worry about, you can expect to get an upload error from time to time.

The 'Catch up' light will flash while Cumulus is 'catching up' at start up with web updates to Weather Underground etc from data downloaded from the station's logger. It may take some time to complete; if you close Cumulus while the catch up is in progress, any outstanding updates will be lost.

For Davis users, the status of the transmitter batteries is given at the bottom left of the main window. Transmitters whose batteries are good give an 'OK' status. Unfortunately, transmitters which aren't present also give an 'OK' status.

At the bottom right hand corner is a 'Current Conditions' text box, which is invisible until turned on with the option in the display settings. A description of the current conditions can be entered here, and the web tag <#currcond> will be replaced by this text if used in a web page processed by Cumulus. If a file called 'currentconditions.txt' exists in the same directory as the Cumulus executable, the contents of this file will be used for the web tag instead, and at the time the web tag is processed, the current conditions box will be updated with the contents of the file. The file will be deleted if the text in the current conditions box is modified, either by being edited, or as a result of the file being used in the processing of the <#currcond> web tag

The status bar, at the very bottom of the main window, displays various messages indicating when internet uploads are taking place, and at the right hand end of the status bar is displayed the number of entries downloaded from the logger the last time Cumulus was started, and the last time data was read from the station.

A note about wind speeds: No two types of weather station provide exactly the same type of wind speed information. Weather stations typically supply two wind speed values; a short-term value (sometimes called 'gust' by the station) and a longer-term or average value (sometimes called 'average' by the station, or sometimes simply 'speed'). Some weather stations only supply a single wind speed value. Cumulus tries to fit all of the various values into three displayed items:

  • Latest: This is the latest reading of the 'short-term' speed.
  • Gust: This is the highest value in the last 10 minutes of the 'short-term' values.
  • Average: This is the longer-term or average value. Sometimes this is taken directly from the station, and sometime it is a 10-minute average calculated by Cumulus, depending on whether you have told Cumulus to do so in the station settings.


Cumulus Menus

Menu

Item

Function

File

Web Update Causes an immediate update of the web site pages.

Print Sends an image of the main window to the default printer.

Exit Causes Cumulus to close.

Edit

All time records
 Opens the "All Time Records Setup" screen which allows the all time records to be edited

Alarms Displays the "Alarms" screen which allows you to set alarms for when various conditions occur.

Copy to clipboard Copies the current data to the clipboard

View

Highs and Lows All time - Displays the "All Time Records"Window.

Today - Displays today's highs and lows

Yesterday - Displays yesterday's highs and lows

This month - Displays this month's highs and lows

This year - Displays this year's highs and lows

This month Displays the "This Month" summary window.

This year Displays the "This Year" summary window.

This period Displays the "This Period" summary window.

Graphs Displays the "Graphs" Window.

Weather Diary Displays the "Weather Diary" Window.

Snow Index Displays the "Eden Winter Snow Index". See here for an explanation.

Select-A-Graph Displays the "Select-A-Graph" Window, which allows you to display historical data as a graph.

Configuration

Station Opens the Station Settings window which allows details of the weather station and its location to be set.

Internet Opens the Internet Settings window which allows details of the web site on which data from Cumulus is to be published to be set.

Display Opens the Display Settings window which allows the appearance of Cumulus to be configured.

Debug Log
 Select this to turn on debug logging. Entries are made to the log for debugging purposes. A file is created in the Cumulus program folder called "debug.log". Entries are flushed to this file every five minutes, or when the program closes. Note that this setting is not related to the logging of weather data. Please do not turn this on unless requested, and do not leave it turned on once the required diagnostics have been obtained.

FTP Logging
 Select this to turn on diagnostic ftp logging. Two files are created in the Cumulus program folder called "ftplog.txt" and "realtimeftplog.txt".

Help

Help topics Displays the Cumulus help file.

About Displays information about Cumulus.


Cumulus "All Time Records" Window

The "All Time Records" Window

This window can be displayed by either clicking on the Alarm light on the main window, or by selecting All time records from the View menu. The current records are shown; if any records have been broken since the last time the window was opened, the light next to that entry will be flashing. Clicking on the light will turn it off, and closing the window will turn off all the lights.


Cumulus "This Month" Window

The "This Month" Window

This window can be displayed by selecting This Month from the View menu. Various statistics for the current month so far are displayed.

Months other than the current month can be selected using the Month and Year selectors and then clicking Update display.

The currently displayed data can be copied to the clipboard (so it can be posted into a Usenet article, for example) by clicking on Copy to clipboard.

Note that the data that is displayed for the current month does not include data for the current day.


Cumulus Graphs Window

The "Graphs" Window

This window can be displayed by selecting Graphs from the View menu.

The data in the large graph is sampled every minute (apart from the Min/Max Temp and Daily Rainfall graphs, which are daily values), while the data in the smaller graphs is sampled every ten minutes.

Right clicking on one of the larger graphs brings up a pop-up menu allowing you to change the colour used for plotting that graph.

Right clicking on the outside temperature and humidity graphs also allows you to choose which items are plotted on those graphs.

You can change the graph captions using a strings.ini file; refer to the wiki - http://wiki.sandaysoft.com/a/Strings.ini

Clicking on one of the smaller graphs causes its larger version to appear in the large graph area. You can 'zoom' an area of the large graph by dragging with the mouse; to 'unzoom', drag from lower right to top left.

Note that if you are uploading graph images to a web site, they will appear exactly as they are in Cumulus - e.g. if you have 'zoomed' them, that is how they will appear on the web site.


Cumulus Logs Window

The "Weather Diary" Window

This window can be displayed by selecting Weather Diary from the View menu.

The Weather Diary facility allows the user to enter some short notes (up to 1024 characters) for each day, and to record whether snow was falling and/or lying on that day, along with the depth of snow.

To make an entry:

Select the date on the calendar by clicking on it, then enter the required details. Click on update to save the entry.

Clicking on Close closes the window and saves the entry to the log file.

To update an existing entry:

Select the date on the calendar by clicking on it, then amend the required details. Click on update to save the entry.

Clicking on Close closes the window and saves the entry to the log file.


The Select-A-Graph Display

The "Select-A-Graph" Screen

This screen can be displayed by selecting Select-A-Graph from the View menu. The screen allows you to display historical data from the log files as a graph. Choose the items to be displayed by ticking the appropriate boxes, set the start and end dates and times, and click the 'update' button to display the chosen graph. Note that some combinations of parameters may not produce nice results, as they all have to use the same Y-Axis scale.

You can change the colour of the graph lines using the colour buttons, and change between a 2D and 3D display with the 'Display 3D' checkbox.

The graph can be printed or saved as a PNG file from the corresponding items in the 'File' menu.

You can assign each item to either the left or right axis. This helps when comparing two items which have large differences in their scales, e.g. solar radiation and UV Index.

You can click the 'Clear' button when you have finished with Select-A-Graph to clear the graphs and release the memory used (which can be considerable for large timespans).


The Records (Highs and Lows) Editors

These can be accessed by selecting All time records, Monthly records, This month's records, or This year's records from the Edit menu.

The current records are shown; the values, dates and times can be changed by typing in the appropriate box. Clicking on 'Fetch log data' will cause a scan of all of your monthly log files to retrieve the highs and lows; these will then be displayed in the grid, in the 'Log value' column, and the adjacent 'Timestamp' column; resize the window if these are not visible. Similarly, clicking on 'Fetch dayfile data' will cause a scan of the dayfile.txt file to retrieve the highs and lows from that file, which will be displayed in the 'Dayfile value' column and the adjacent 'Timestamp' column; resize the window if these are not visible. You can copy either of the retrieved values (with their date and time) to the 'current' value in the grid by clicking the appropriate 'copy' button. Clicking the 'reset' button will cause the existing record to appear again. On the 'Monthly record' editor, clicking the 'reset' or 'copy' buttons in the header performs the appropriate action on all of the rows.

Note that when fetching the highs and lows from the log files, this is very much a case of 'garbage in, garbage out'. If you have any errors in your log files (caused by bad data, bugs in Cumulus now or at some time in the past, etc) these will appear in the grid, and you may find that you want to edit them from the log files before trying again. For some items, Cumulus may not be able to retrieve a value; this will usually be because it is not possible to determine that particular item from the log files (e.g. monthly rain totals cannot redaily be determined from the monthly log files, only from dayfile.txt).

Important: Even if your data is 100% perfect, do not expect to see all of the retrieved values agreeing exactly. This is due to fact that the log files are 'snapshots' of the data, so may not actually have caught a particular high or low. The facility is simply there so that you can retrieve a good value to replace an existing record which may have been corrupted in some way. Also, because the list of data items (and highs and lows) logged by Cumulus has changed over the years, a particular record may not currently go back all the way to the beginning of your data, so you can use the scan of the log files to find a better value. For Apparent Temperature and Heat Index, which Cumulus has only relatively recently started recording, it will retrospectively calculate these values from the Temperature, Humidity, and Wind Speed values, for those older entries which don't contain the items themselves.

When you are happy with all of the settings, click the OK button to save them. Alternatively, click the Cancel button to discard any changes.


The Dayfile.txt Editor

This can be accessed by selecting Dayfile.txt from the Edit menu.

Notes: the delete key will delete the current row; there is no way to delete a single cell. The insert key inserts a row before the current row (click on a data cell to make that row current). The editor has no intelligence about the types of data in each field, everything is treated as text. Make sure you use the correct formats.

When you have finished editing, click the OK button to save the values in the grid to dayfile.txt. Alternatively, click the Cancel button to discard any changes.

The 'Create Missing' facility attempts to create missing entries based on the data it can find in the monthly log files. It's not perfect, and of course it relies on the data in the monthly log files being OK. It creates a file in the Cumulus folder called dayfileeditlog.txt which contains the entries it created - it creates this file even if you click 'cancel', so you can see what it would have added if you had clicked OK. It makes no attempt to create values for 'highest hourly rainfall' but does the best it can with everything else.


Setting Alarms

The "Alarms" Screen

This screen can be displayed by selecting Alarms from the Edit menu. You can set an alarm for various conditions, e.g. the temperature falling below a particular value. Type the required value into the appropriate box, and tick the 'Alarm if...' box to set the alarm. You can also have a sound played when the alarm occurs by ticking the 'Play sound' box. A default sound is played, but clicking the 'Choose sound' button allows you to select a '.wav' file to be played for each alarm.

When an alarm condition occurs, the label for the item causing the alarm goes red. If you click on the label, it goes black again and the alarm is reset. Note that it may occur again immediately. If you do not click on the label and the alarm condition ceases to exist (e.g. the temperature rises above the pre-set value) the label goes blue to show that an alarm condition has existed at some time. Again, clicking on the label turns it black and the alarm is reset.


Website Setup

Setting up your website

Cumulus can create ready made web pages and upload them automatically to your web site. For it to be able to do this, you have to do a little once-only preparation. Apart from supplying Cumulus with details of your web site in Internet Settings, you have to do a little work preparing your web space.

First, decide on the name of the directory within your web space which is going to hold the web pages - this is the name of the directory whose path you supply in the Internet Settings. Log onto your web space (this is normally an ftp server) and create this directory. You can put your Cumulus web site into the 'root' of your web space if you wish, you would then normally not need to create a directory for it.

You now need to upload a few files. These are found in the webfiles folder on your computer in the folder where you installed Cumulus. Copy the contents of the webfiles folder (not including the webfiles folder itself) to your web site, i.e the following files and folders need to be uploaded to the directory whose path you supply in Internet Settings :

  • weatherstyle.css
  • wz_jsgraphics.js
  • folder dbimages and all of its contents
  • folder images and all of its contents
  • CumulusRealtime.swf

CumulusRealtime.swf is an Adobe Flash application which displays real-time wind speed and direction, when used with the "real time" settings in the Internet Settings. An example of its use is in the supplied 'gauges' web page template (gaugesT.htm). If you do not want to use the real time display, you do not need to upload the Flash file, and you can edit the gaugesT.htm file to remove the section which embeds the display. Instructions are in the gaugesT.htm file.

In the images folder on your web site, you will now have a file picture.jpg, this is the background image for the web pages. You can create your own version of this file; the file supplied is a picture of a Fulmar. Or you can omit the file altogether if you wish.

Example: You want your weather pages to appear at http://yourdomain.com/weather

In your web root folder, create the following folder and file structure:

  • weather
    • (folder)
    • weatherstyle.css
    • wz_jsgraphics.js
    • CumulusRealtime.swf
    • images
      • (folder)
      • picture.jpg
    • dbimages
      • (folder)
      • barometer2.gif
      • boxover.js
      • cloudbase.gif
      • dashboard.js
      • Falling.gif
      • humidl.gif
      • humids.gif
      • rainl10.gif
      • rainl100.gif
      • rainl200.gif
      • rainl400.gif
      • rains10.gif
      • rains100.gif
      • rains200.gif
      • rains400.gif
      • Rising.gif
      • Steady.gif
      • thermol.gif
      • thermos.gif
      • windrose10.gif
      • windrose120.gif
      • windrose20.gif
      • windrose40.gif
      • windrose80.gif


Web Tags

If you don't want to use the standard web pages provided with Cumulus, you can design your own and have Cumulus automatically insert the data into them before uploading them to your web site. You do this by using HTML-transparent tags in your HTML, in the form

<#tagname>

Immediately before uploading the file, Cumulus will replace the tag with the current value of the item the tag represents. When you put a tag into your HTML, be careful that whatever program you are using to develop your web pages doesn't change the angle brackets to &lt; and &gt; which some programs seem to do!

Here's a list of the tags you can use. Note that they are case-sensitive.

Current data:
<#time> | The current date and time. Default format: 18:30 on 14 May 2004
<#yesterday> | Yesterday's date
<#timeUTC> | The current date and time in UTC. Default format: 17:30 on 14 May 2004
<#timehhmmss> | The current time. Example format: 18:30:27
<#day> | The current day as a 2-digit number. Example format: 05
<#dayname> | The current day as a word. Example format: Thursday
<#shortdayname> | The current day as a shortened word. Example format: Thu
<#month> | The current month as a 2-digit number. Example format: 07
<#monthname> | The current month as a word. Example format: August
<#shortmonthname> | The current month as a shortened word. Example format: Aug
<#year> | The current year as a 4-digit number. Example format: 2008
<#shortyear> | The current year as a 2-digit number. Example format: 08
<#hour> | The current hour as a 2-digit number. Example format: 23
<#minute> | The current minute as a 2-digit number. Example format: 59
<#date> | The current date.
<#metdate> | The current 'meteorological' date. Takes into account whether your meteorological day starts at midnight or 0900/1000
<#metdateyesterday> | Yesterday's 'meteorological' date. Takes into account whether your meteorological day starts at midnight or 0900/1000
<#DaysSince30Dec1899> | The numbers of days (whole and fractional) since 30 Dec 1899
<#forecast> | The current forecast, as configured in Cumulus (i.e. either Cumulus forecast or weather station forecast)
<#forecastenc> | The same as <#forecast> but with all reserved HTML characters, and those above character code 159, encoded as HTML entities
<#cumulusforecast> | The current forecast, as determined by Cumulus using the 'Zambretti' algorithm.
<#cumulusforecastenc> | The same as <#cumulusforecast> but with all reserved HTML characters, and those above character code 159, encoded as HTML entities
<#wsforecast> | The current forecast, as determined by the weather station (if available).
<#wsforecastenc> | The same as <#wsforecast> but with all reserved HTML characters, and those above character code 159, encoded as HTML entities
<#temp> | The outside temperature.
<#IsFreezing> | Returns 1 if the outside temperature is currently at or below freezing point, otherwise 0
<#avgtemp> | The average outside temperature for today so far. Calculated from samples taken at 1-minute intervals.
<#avgtempY> | The average outside temperature for yesterday. Calculated from samples taken at 1-minute intervals.
<#apptemp> | The 'apparent' temperature (formula from Australian BOM)
<#temprange> | The temperature range (max - min) so far today
<#temprangeY> | The temperature range (max - min) yesterday
<#intemp> | The inside temperature.
<#hum> | The outside humidity.
<#inhum> | The inside humidity.
<#press> | The sea level pressure.
<#altimeterpressure> | Altimeter pressure. Pressure corrected to sea level using altitude only. Same as sea-level pressure for non-Davis stations.
<#presstrend> | The pressure trend over the last three hours in words (values can be set in strings.ini)
<#presstrendenglish> | Simple pressure trend - Rising/Falling/Steady (for use by javascript gauges, values can't be changed)
<#presstrendval> | The average rate of pressure change over the last three hours.
<#dew> | The outside dew point.
<#wetbulb> | Estimate of current 'wet bulb' temperature
<#rrate> | The current rainfall rate.
<#wchill> | The current wind chill temperature.
<#wgust> | The current 10-minute peak wind gust reading. Corresponds to 'gust' on the Cumulus main screen.
<#wspeed> | The current (average) wind speed reading. Corresponds to 'average' on the Cumulus main screen.
<#wlatest> | The latest wind speed/gust reading from the console. Corresponds to 'latest' on the Cumulus main screen.
<#bearing> | The current (latest) wind bearing as read from the console.
<#BearingRangeFrom> | The 'lowest' bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini)
<#BearingRangeTo> | The 'highest' bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini)
<#BearingRangeFrom10> | The 'lowest' bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini), rounded down to nearest 10 degrees
<#BearingRangeTo10> | The 'highest' bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini), rounded up to the nearest 10 degrees
<#currentwdir> | Current (latest) wind bearing as read from the console as a compass point - e.g. ESE
<#avgbearing> | Average wind bearing over last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini)
<#wdir> | Average wind bearing over last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini) as a compass point - e.g. ESE
<#wdirdata> | Comma separated list of recent wind bearing readings (up to 3600 entries). This is a circular buffer; to find the most recent value use nextwindindex.
<#wspddata> | Comma separated list of recent wind speed readings (up to 3600 entries). This is a circular buffer; to find the most recent value use nextwindindex.
<#WindSampleCount> | The current number of entries in wdirdata and wspddata.
<#nextwindindex> | The index of the entries in wdirdata and wspddata which Cumulus is going to use next - i.e. the latest entry used is one less than this; but don't forget to allow for the wrap around!
<#WindRoseData> | Comma separated list of the values currently being used to generate the Wind Rose. The values are the totals of the wind speeds in each direction. The first figure corresponds to North, and the figures then continue in a clockwise direction. The number of samples used to generate the wind rose can be found from the tag WindSampleCount.
<#WindRosePoints> | The number of compass points on the wind rose (8 or 16)
<#windrun> | The total wind run today so far.
<#windrunY> | The total wind run for yesterday.
<#domwindbearing> | The 'dominant' (average) wind bearing so far today, in degrees
<#domwinddir> | The 'dominant' (average) wind direction so far today, as a compass point - e.g. ESE
<#domwindbearingY> | The 'dominant' (average) wind bearing yesterday, in degrees
<#domwinddirY> | The 'dominant' (average) wind bearing yesterday, as a compass point - e.g. ESE
<#heatdegdays> | The heating degree days so far today
<#cooldegdays> | The cooling degree days so far today
<#heatdegdaysY> | The heating degree days yesterday
<#cooldegdaysY> | The cooling degree days yesterday
<#rfall> | The total rainfall so far today.
<#rfallY> | The total rainfall for yesterday.
<#rmidnight> | The total rainfall since midnight. Useful if you don't use midnight as your start of day.
<#rhour> | The rainfall in the last hour.
<#r24hour> | The rainfall in the last 24 hours.
<#rmonth> | The total rainfall so far this month.
<#ryear> | The total rainfall so far this year.
<#StormRain> | The current 'storm rain' total. Davis stations only. Refer to Davis documentation.
<#StormRainStart> | The start date of the current 'storm'. Format parameter applicable. Davis stations only. Refer to Davis documentation.
<#battery> | The console battery condition. Davis stations only.
<#txbattery> | The transmitter battery condition. Davis stations only. This gives a string created by the Davis software which gives the state of the batteries of all of the possible transmitters. Transmitters which are not present give 'ok'. The web tag has an option parameter 'channel', so you can request the status for an individual channel (1 to 8), e.g.: <#txbattery channel=1> will give "ok" if the battery for transmitter 1 is OK, otherwise "low".
<#beaufort> | The wind speed on the Beaufort scale (e.g. F8) - note that this includes the letter F (for "Force")
<#beaufortnumber> | The wind speed on the Beaufort scale - number only (e.g. 8)
<#beaudesc> | The wind speed Beaufort description (e.g. "Gale")
<#temptrend> | The average rate of change in temperature over the last three hours
<#TempChangeLastHour> | The change in temperature over the last hour
<#temptrendtext> | Temperature change over the last three hours - Rising/Falling/Steady (values can be set in strings.ini)
<#temptrendenglish> | Temperature change over the last three hours - Rising/Falling/Steady (for use by javascript gauges, values can't be changed)
<#heatindex> | Current heat index
<#humidex> | Current Humidex. See this entry in Wikipedia
<#cloudbase> | Theoretical height at which Cumulus type clouds might form (with units, e.g. 1200 ft)
<#cloudbasevalue> | Theoretical height at which Cumulus type clouds might form (without units e.g. 1200)
<#ET> | Today's evapotranspiration. Requires your station to have a solar sensor. Only applies to Davis stations.
<#UV> | Current UV index. Requires your station to have a UV sensor.
<#SolarRad> | Current solar radiation in W/m2. Requires your station to have a solar sensor.
<#Light> | Current light level in Lux. Requires your station to have a solar sensor. Only applies to Fine Offset stations.
<#THWindex> | Current Temperature/Humidity/Wind index. Only applies to Davis stations.
<#THSWindex> | Current Temperature/Humidity/Sun/Wind index. Requires your station to have a solar sensor. Only applies to Davis stations. Note that there seems to be a bug in the Davis code which means that this is always zero.
<#snowdepth> | Today's snow depth (as entered manually in the Weather Diary)
<#currcond> | The contents of the 'Current Conditions' box on the main screen (as entered manually). If a file called 'currentconditions.txt' exists in the same directory as the Cumulus executable, the contents of this file will be used instead, and at the time the web tag is processed, the current conditions box on the main screen will be updated with the contents. The file will be deleted if the text in the current conditions box is modified, either by being edited, or as a result of the file being used in the processing of the <#currcond> web tag. Reserved HTML characters are encoded as HTML entities.
<#currcondenc> | The same as <#currcond> but in addition all characters above character code 159 are encoded as HTML entities
<#LastRainTipISO> | The date and time of the last rain gauge tip, in ISO 8601 format: yyyy-mm-dd hh:mm
<#MinutesSinceLastRainTip> | The number of minutes since the last rain gauge tip, in whole numbers, rounded down
<#SunshineHours> | Hours of sunshine so far today. Requires your station to have a solar sensor.
<#YSunshineHours> | Total hours if sunshine yesterday. Requires your station to have a solar sensor.
<#CurrentSolarMax> | Current theoretical maximum solar radiation for your location.
<#IsSunny> | Returns 1 if the sun is shining, otherwise 0. Requires your station to have a solar sensor.
<#chillhours> | The number of chill hours so far this year. The threshold temperature is configurable, as is the start of year, via cumulus.ini settings
<#ConsecutiveRainDays> | The number of days up to (but not including) today where it has rained every day. The threshold amount of rain required to determine a rain day is configurable via the RainDayThreshold setting in cumulus.ini
<#ConsecutiveDryDays> | The number of days up to (but not including) today since it last rained. The threshold amount of rain required to determine a rain day is configurable via the RainDayThreshold setting in cumulus.ini
<#LatestNOAAMonthlyReport> | If you have configured Cumulus to automatically create NOAA-style reports, this tag gives the file name of the latest monthly report that was created
<#LatestNOAAYearlyReport> | If you have configured Cumulus to automatically create NOAA-style reports, this tag gives the file name of the latest yearly report that was created
<#IsRaining> | If you have an RG-11 rain sensor configured in "It's Raining" mode, this gives 1 when the sensor says it's raining and 0 when it says it isn't
<#RG11RainToday> | If you have an RG-11 rain sensor configured in "Tipping Bucket" mode, this gives today's rain total so far according to the sensor
<#RG11RainYest> | If you have an RG-11 rain sensor configured in "Tipping Bucket" mode, this gives yesterday's rain total according to the sensor

There are a set of tags for today's highs and lows, e.g. <#tempTH> is today's high temperature, and <#tempTL> is today's low temperature; <#TtempTH> is the time at which today's high temperature occurred, and so on. The full list of this set of tags follows; you should be able to work out what they represent from their names. Note that <#bearingTM> is the wind bearing at the time of the highest gust (<#wgustTM>).

<#tempTH> | <#pressTH> | <#windTM> | <#wgustTM> | <#rrateTM>
<#TtempTH> | <#TpressTH> | <#TwindTM> | <#TwgustTM> | <#TrrateTM>
<#tempTL> | <#pressTL> | <#bearingTM> | <#humTH> | <#humTL>
<#TtempTL> | <#TpressTL> | <#Tbeaufort> | <#Tbeaufortnumber> | <#Tbeaudesc>
<#ThumTH> | <#ThumTL> | <#heatindexTH> | <#apptempTH> | <#apptempTL>
<#wchillTL> | <#hourlyrainTH> | <#dewpointTH> | <#dewpointTL> | <#solarTH>
<#UVTH> |

Note that the tag <#Tbeaufort> includes the letter "F" (for "Force"), e.g. "F6". The tag <#Tbeaufortnumber> just gives the number, e.g "6".

There are a corresponding set of tags for yesterday's highs and lows, replace the T with a Y, e.g. <#tempYH>.

There are a set of tags for the all time highs and lows, as follows:

<#tempH> | All time high temperature
<#tempL> | All time low temperature
<#apptempH> | All time high apparent temperature
<#apptempL> | All time low apparent temperature
<#dewpointH> | All time high dew point
<#dewpointL> | All time low dew point
<#humH> | All time high humidity
<#humL> | All time low humidity
<#gustM> | All time high wind gust
<#wspeedH> | All time high average wind speed
<#windrunH> | All time high daily wind run
<#wchillH> | All time greatest wind chill (i.e. lowest temperature)
<#heatindexH> | All time high heat index
<#rrateM> | All time high rain rate
<#rfallH> | All time high daily rain
<#rfallhH> | All time high hourly rain
<#rfallmH> | All time high monthly rain
<#pressH> | All time high pressure
<#pressL> | All time low pressure
<#mintempH> | All time high minimum temperature
<#maxtempL> | All time low maximum temperature
<#LongestDryPeriod> | All time longest dry period (days)
<#LongestWetPeriod> | All time longest wet period (days)
<#LowDailyTempRange> | All time low daily temperature range
<#HighDailyTempRange> | All time high daily temperature range

Each of the above has a corresponding date/time tag, constructed by prefixing a capital T, e.g. <#TtempH> , which give the date and time in the form (for example) at 17:39 on 21 September 2007. The time will be formatted according to your Windows settings. You can customise the format using the 'format' parameter on the web tag, see below.

There are a set of tags for monthly all-time highs and lows, in other words the highest and lowest values for a particular month of the year. For example, the highest ever temperature in July. Each Value tag has an optional parameter "mon=N" where N is the index of the month of the year that you want the value for (January=1 and so on). For example, <#ByMonthTempH mon=7> will give you the highest ever temperature in July.

If you don't supply a parameter (or supply an invalid value) the current month will be used. You can customise the date and time formats using the 'format' parameter on the web tag, see below. To supply more than one parameter, separate them with spaces, e.g. <#ByMonthTempHT mon=7 format=hh:nn>

Description | Value | Timestamp
High Temperature | <#ByMonthTempH> | <#ByMonthTempHT>
Low Temperature | <#ByMonthTempL> | <#ByMonthTempLT>
High Heat Index | <#ByMonthHeatIndexH> | <#ByMonthHeatIndexHT>
Low Wind Chill | <#ByMonthWChillL> | <#ByMonthWChillLT>
High Apparent Temperature | <#ByMonthAppTempH> | <#ByMonthAppTempHT>
Low Apparent Temperature | <#ByMonthAppTempL> | <#ByMonthAppTempLT>
High Dew Point | <#ByMonthDewPointH> | <#ByMonthDewPointHT>
Low Dew Point | <#ByMonthDewPointL> | <#ByMonthDewPointLT>
Highest Daily Minimum Temperature | <#ByMonthMinTempH> | <#ByMonthMinTempHT>
Lowest Daily Maximum Temperature | <#ByMonthMaxTempL> | <#ByMonthMaxTempLT>
High Pressure | <#ByMonthPressH> | <#ByMonthPressHT>
Low Pressure | <#ByMonthPressL> | <#ByMonthPressLT>
High Humidity | <#ByMonthHumH> | <#ByMonthHumHT>
Low Humidity | <#ByMonthHumL> | <#ByMonthHumLT>
High Wind Gust | <#ByMonthGustH> | <#ByMonthGustHT>
High Wind Speed | <#ByMonthWindH> | <#ByMonthWindHT>
High Daily Wind Run | <#ByMonthWindRunH> | <#ByMonthWindRunHT>
High Rain Rate | <#ByMonthRainRateH> | <#ByMonthRainRateHT>
High Hourly Rain | <#ByMonthHourlyRainH> | <#ByMonthHourlyRainHT>
High Daily Rain | <#ByMonthDailyRainH> | <#ByMonthDailyRainHT>
Longest Dry Period | <#ByMonthLongestDryPeriod> | <#ByMonthLongestDryPeriodT>
Longest Wet Period | <#ByMonthLongestWetPeriod> | <#ByMonthLongestWetPeriodT>
High Daily Temp Range | <#ByMonthHighDailyTempRange> | <#ByMonthHighDailyTempRangeT>
Low Daily Temp Range | <#ByMonthLowDailyTempRange> | <#ByMonthLowDailyTempRangeT>

There are a set of tags for this month's highs and lows. You can customise the date and time formats using the 'format' parameter on the web tag, see below.

Description | Value | Time (Windows short format) | Date (day and long month name)
High Temperature | <#MonthTempH> | <#MonthTempHT> | <#MonthTempHD>
Low Temperature | <#MonthTempL> | <#MonthTempLT> | <#MonthTempLD>
High Heat Index | <#MonthHeatIndexH> | <#MonthHeatIndexHT> | <#MonthHeatIndexHD>
Low Wind Chill | <#MonthWChillL> | <#MonthWChillLT> | <#MonthWChillLD>
High Apparent Temperature | <#MonthAppTempH> | <#MonthAppTempHT> | <#MonthAppTempHD>
Low Apparent Temperature | <#MonthAppTempL> | <#MonthAppTempLT> | <#MonthAppTempLD>
High Dew Point | <#MonthDewPointH> | <#MonthDewPointHT> | <#MonthDewPointHD>
Low Dew Point | <#MonthDewPointL> | <#MonthDewPointLT> | <#MonthDewPointLD>
Highest Daily Minimum Temperature | <#MonthMinTempH> | N/A | <#MonthMinTempHD>
Lowest Daily Maximum Temperature | <#MonthMaxTempL> | N/A | <#MonthMaxTempLD>
High Pressure | <#MonthPressH> | <#MonthPressHT> | <#MonthPressHD>
Low Pressure | <#MonthPressL> | <#MonthPressLT> | <#MonthPressLD>
High Humidity | <#MonthHumH> | <#MonthHumHT> | <#MonthHumHD>
Low Humidity | <#MonthHumL> | <#MonthHumLT> | <#MonthHumLD>
High Wind Gust | <#MonthGustH> | <#MonthGustHT> | <#MonthGustHD>
High Wind Speed | <#MonthWindH> | <#MonthWindHT> | <#MonthWindHD>
High Daily Wind Run | <#MonthWindRunH> | N/A | <#MonthWindRunHD>
High Rain Rate | <#MonthRainRateH> | <#MonthRainRateHT> | <#MonthRainRateHD>
High Hourly Rain | <#MonthHourlyRainH> | <#MonthHourlyRainHT> | <#MonthHourlyRainHD>
High Daily Rain | <#MonthDailyRainH> | N/A | <#MonthDailyRainHD>
Longest Dry Period | <#MonthLongestDryPeriod> | N/A | <#MonthLongestDryPeriodD>
Longest Wet Period | <#MonthLongestWetPeriod> | N/A | <#MonthLongestWetPeriodD>
High Daily Temp Range | <#MonthHighDailyTempRange> | N/A | <#MonthHighDailyTempRangeD>
Low Daily Temp Range | <#MonthLowDailyTempRange> | N/A | <#MonthLowDailyTempRangeD>

There are a set of tags for this year's highs and lows. You can customise the date and time formats using the 'format' parameter on the web tag, see below.

Description | Value | Time (Windows short format) | Date (day and long month name)
High Temperature | <#YearTempH> | <#YearTempHT> | <#YearTempHD>
Low Temperature | <#YearTempL> | <#YearTempLT> | <#YearTempLD>
High Heat Index | <#YearHeatIndexH> | <#YearHeatIndexHT> | <#YearHeatIndexHD>
Low Wind Chill | <#YearWChillL> | <#YearWChillLT> | <#YearWChillLD>
High Apparent Temperature | <#YearAppTempH> | <#YearAppTempHT> | <#YearAppTempHD>
Low Apparent Temperature | <#YearAppTempL> | <#YearAppTempLT> | <#YearAppTempLD>
High Dew Point | <#YearDewPointH> | <#YearDewPointHT> | <#YearDewPointHD>
Low Dew Point | <#YearDewPointL> | <#YearDewPointLT> | <#YearDewPointLD>
Highest Daily Minimum Temperature | <#YearMinTempH> | N/A | <#YearMinTempHD>
Lowest Daily Maximum Temperature | <#YearMaxTempL> | N/A | <#YearMaxTempLD>
High Pressure | <#YearPressH> | <#YearPressHT> | <#YearPressHD>
Low Pressure | <#YearPressL> | <#YearPressLT> | <#YearPressLD>
High Humidity | <#YearHumH> | <#YearHumHT> | <#YearHumHD>
Low Humidity | <#YearHumL> | <#YearHumLT> | <#YearHumLD>
High Wind Gust | <#YearGustH> | <#YearGustHT> | <#YearGustHD>
High Wind Speed | <#YearWindH> | <#YearWindHT> | <#YearWindHD>
High Daily Wind Run | <#YearWindRunH> | N/A | <#YearWindRunHD>
High Rain Rate | <#YearRainRateH> | <#YearRainRateHT> | <#YearRainRateHD>
High Hourly Rain | <#YearHourlyRainH> | <#YearHourlyRainHT> | <#YearHourlyRainHD>
High Daily Rain | <#YearDailyRainH> | N/A | <#YearDailyRainHD>
High Monthly Rain | <#YearMonthlyRainH> | N/A | <#YearMonthlyRainHD>
Longest Dry Period | <#YearLongestDryPeriod> | N/A | <#YearLongestDryPeriodD>
Longest Wet Period | <#YearLongestWetPeriod> | N/A | <#YearLongestWetPeriodD>
High Daily Temp Range | <#YearHighDailyTempRange> | N/A | <#YearHighDailyTempRangeD>
Low Daily Temp Range | <#YearLowDailyTempRange> | N/A | <#YearLowDailyTempRangeD>

There are a set of tags for 'recent historical data', giving data values from 1 minute ago, up to 1 week ago, in 1 minute intervals. Note that the values are initialised from the log files when Cumulus starts, so they will initially have a resolution according to the logger interval you have set in Cumulus and/or your station. You'll get the nearest value if you ask for one for which there is currently no exact match.

You specify how old you want the value to be by using parameters on the web tags for number of days, hours, and minutes. For example, <#RecentOutsideTemp m=1> will give the temperature one minute ago, <#RecentOutsideTemp h=1> will give the temperature one hour ago (as will <#RecentOutsideTemp m=60>), and <#RecentOutsideTemp d=1> will give the temperature one day ago. <#RecentOutsideTemp d=1 h=1 m=1> will give the temperature one day, one hour and one minute ago. All values supplied for parameters must be whole numbers. If you don't supply any parameters, the result is undefined.

Description | Value
Outside Temperature | <#RecentOutsideTemp>
Wind Speed | <#RecentWindSpeed>
Wind Gust | <#RecentWindGust>
Wind Latest | <#RecentWindLatest>
Note: Wind 'Speed', 'Gust' and 'Latest' have the usual Cumulus meanings
Wind Direction (instantaneous) | <#RecentWindDir>
Wind Direction (average) | <#RecentWindAvgDir>
Wind Chill | <#RecentWindChill>
Dew Point | <#RecentDewPoint>
Heat Index | <#RecentHeatIndex>
Relative Humidity | <#RecentHumidity>
Sea-level Pressure | <#RecentPressure>
Rain so far today | <#RecentRainToday>
Solar Radiation | <#RecentSolarRad>
UV Index | <#RecentUV>
Timestamp | <#RecentTS>
RecentTS takes the same parameters as the others, and gives the time and date of the requested recent data. It also has the usual 'format' parameter.

There are also a set of the above 'recent history' tags with decimal commas replaced with decimal points, for those items which are not integers, i.e.:
<#RCRecentOutsideTemp> <#RCRecentWindSpeed> <#RCRecentWindGust> <#RCRecentWindLatest> <#RCRecentWindChill> <#RCRecentDewPoint> <#RCRecentHeatIndex> <#RCRecentPressure> <#RCRecentRainToday> <#RCRecentUV>

There are a set of tags giving the data units in use: <#windunit>, <#rainunit>, <#windrununit>, <#tempunit>, <#pressunit>. Note that the <#tempunit> tag includes the degree symbol. The tag <#tempunitnodeg> just gives the unit, F or C. The tag <#cloudbaseunit> gives the units used for cloud base.

There are a set of tags for extra sensors:

<#ExtraTemp1> | Extra temperature channel 1
<#ExtraTemp2> | Extra temperature channel 2
<#ExtraTemp3> | Extra temperature channel 3
... and so on up to <#ExtraTemp10>
<#ExtraDP1> | Extra dew point channel 1
<#ExtraDP2> | Extra dew point channel 2
<#ExtraDP3> | Extra dew point channel 3
... and so on up to <#ExtraDP10>
<#ExtraHum1> | Extra humidity channel 1
<#ExtraHum2> | Extra humidity channel 2
<#ExtraHum3> | Extra humidity channel 3
... and so on up to <#ExtraHum10>
<#SoilTemp1> | Soil temperature 1
<#SoilTemp2> | Soil temperature 2
... and so on up to <#SoilTemp4>
<#SoilMoisture1> | Soil moisture 1
<#SoilMoisture2> | Soil moisture 2
... and so on up to <#SoilMoisture4>
<#LeafTemp1> | Leaf temperature 1
<#LeafTemp2> | Leaf temperature 2
<#LeafWetness1> | Leaf wetness 1
<#LeafWetness2> | Leaf wetness 2

There are a set of tags for the Cumulus alarm states. They give a value of '1' if the alarm has been set and the alarm condition is currently met; otherwise '0'.

<#LowTempAlarm> | Low temperature alarm
<#HighTempAlarm> | High temperature alarm
<#TempChangeUpAlarm> | Temperature increase alarm
<#TempChangeDownAlarm> | Temperature decrease alarm
<#LowPressAlarm> | Low pressure alarm
<#HighPressAlarm> | High pressure alarm
<#PressChangeUpAlarm> | Pressure increase alarm
<#PressChangeDownAlarm> | Pressure decrease alarm
<#HighRainTodayAlarm> | High rain today alarm
<#HighRainRateAlarm> | High rainfall rate alarm
<#HighWindGustAlarm> | High wind gust alarm
<#HighWindSpeedAlarm> | High wind speed alarm

Davis Reception Statistics (only applicable to Davis stations)
All figures are reset when Cumulus starts, and are updated every 15 minutes. Note that these are simply the figures supplied by the station (they are also available on the console). Cumulus just reads them and passes them on. Please don't ask me to interpret them for you; if you have concerns or questions about these figures, please contact Davis.

<#DavisTotalPacketsReceived> | Total number of data packets received
<#DavisTotalPacketsMissed> | Number of missed data packets
<#DavisNumberOfResynchs> | Number of times the console resynchronised with the transmitter
<#DavisMaxInARow> | Longest streak of consecutive packets received
<#DavisNumCRCerrors> | Number of packets received with CRC errors

There are a set of tags where the decimal comma has been replaced with a full stop, where necessary, for use with gauges etc which don't like the commas. They all correspond to the same tag with 'RC' removed.

<#RCdew> <#RCheatindex> <#RChum> <#RCinhum> <#RCintemp> <#RCpress> <#RCpressTH>
<#RCpressTL> <#RCrfall> <#RCrrate> <#RCrrateTM> <#RCtemp> <#RCtempTH> <#RCtempTL>
<#RCwchill> <#RCwgust> <#RCwgustTM> <#RCwspeed> <#RCwlatest> <#RCdewpointTH>
<#RCdewpointTL> <#RCwchillTL> <#RCheatindexTH> <#RCapptempTH> <#RCapptempTL>

There are a set of tags giving system information, in a fixed format:

<#OsVersion> | OS version, e.g. "Windows 7 x64 build 7600"
<#OsLanguage> | OS language, e.g. "English"
<#SystemUpTime> | How long the system has been up, e.g. "8 hours 21 minutes"
<#ProgramUpTime> | How long Cumulus has been running, e.g. "7 hours 55 minutes"
<#CpuName> | CPU type, e.g. "Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz"
<#CpuCount> | Number of processors, e.g. "4"
<#MemoryStatus> | Free and total system RAM, e.g. "4619/8191 MB (free/total)"
<#DisplayMode> | Screen display mode, e.g. "1680x1050, 32 bit"
<#AllocatedMemory> | Amount of memory allocated to Cumulus, e.g. "18.76 MB". Note that this is not the amount of memory that Cumulus is actually using; it's the amount of memory currently allocated by Windows which Cumulus could use if it needed it.
<#DiskSize> | Size of disk on which Cumulus is running, e.g. "931.51 GB"
<#DiskFree> | Free space on disk on which Cumulus is running, e.g. "515.36 GB"

Finally, there are some miscellaneous tags:

<#version> | The version of Cumulus in use
<#build> | The build of Cumulus in use
<#interval> | The web site update interval
<#update> | The date and time of the last web site update
<#stationtype> | The type of station in use
<#latitude> | The station latitude. The default output is a web-encoded string in degrees/minutes/seconds. Has an optional parameter 'dp' which causes output to be in decimal degrees with the specified number of decimal places, e.g. <#latitude dp=5> might give 53.12345. Negative means 'South of the equator'. If the "dp" parameter has been supplied, then supplying "rc=y" in addition will cause any decimal comma to be converted to a decimal point.
<#longitude> | The station longitude. The default output is a web-encoded string in degrees/minutes/seconds. Has an optional parameter 'dp' which causes output to be in decimal degrees with the specified number of decimal places, e.g. <#longitude dp=5> might give -75.12345. Negative means 'West of the prime meridian'. If the "dp" parameter has been supplied, then supplying "rc=y" in addition will cause any decimal comma to be converted to a decimal point.
<#altitude> | The station altitude
<#location> | The station location
<#longlocation> | Longer description of the station location
<#sunrise> | Current sunrise time at the station
<#sunset> | Current sunset time at the station
<#daylength> | Length of day in hours and minutes (sunrise to sunset)
<#tomorrowdaylength> | A string giving the difference between the length of day today and tomorrow. NOTE: This web tag is unreliable and its use is not recommended.
<#dawn> | Start of Civil Twilight at the station
<#dusk> | End of Civil Twilight at the station
<#daylightlength> | Length of daylight in hours and minutes (dawn to dusk)
<#moonphase> | Current phase of the moon
<#MoonPercent> | Current percentage of moon visible (negative value indicates 'waning')
<#MoonPercentAbs> | Current percentage of moon visible (always positive)
<#MoonAge> | Current APPROXIMATE 'age' of the moon in days (0-29)
<#moonrise> | Current moonrise time at the station
<#moonset> | Current moonset time at the station
<#forum> | URL of the forum
<#webcam> | URL of the webcam
<#recordsbegandate> | The date that the all time records began (i.e the date you started using Cumulus)
<#DaysSinceRecordsBegan> | The number of days since records began (i.e since you started using Cumulus)
<#graphperiod> | The number of hours displayed by the graphs
<#dailygraphperiod> | The number of days displayed by the daily graphs
<#realtimeinterval> | The realtime update interval in seconds
<#rollovertime> | The time that the logs rollover to the next day: 'Midnight', '9 am' or '10 am'
<#forecastnumber> | Current forecast according to the Zambretti algorithm. See samplestrings.ini for list. A negative number is the same forecast as the equivalent positive number, but with 'Exceptional weather' applied. Zero means the forecast is not available.
<#isdaylight> | Returns 1 if currently within daylight hours (i.e. between dawn and dusk), 0 if not
<#IsSunUp> | Returns 1 if the sun is up (i.e. it is currently between sunrise and sunset), 0 if not
<#SensorContactLost> | 1 if the station has lost contact with its remote sensors (Fine Offset only), otherwise 0
<#DataStopped> | 1 if the station has apparently stopped sending data to Cumulus, otherwise 0
<#newrecord> | 1 if the 'new record' light is flashing, 0 if not
<#ErrorLight> | 1 if the 'error' light is flashing, 0 if not
<#LatestError> | The latest error logged to the error log window. Cleared to an empty string when the error light is clicked, and when Cumulus is restarted
<#LatestErrorDate> | The date of the latest error logged to the error log window, using the system short date format. Gives dashes when latest error is reset
<#LatestErrorTime> | The time of the latest error logged to the error log window, using the system short time format. Gives dashes when latest error is reset
<#TempRecordSet> | 1 if the indicator on the temperature tab on the all-time records screen is currently lit, 0 if not
<#WindRecordSet> | 1 if the indicator on the wind tab on the all-time records screen is currently lit, 0 if not
<#RainRecordSet> | 1 if the indicator on the rain tab on the all-time records screen is currently lit, 0 if not
<#HumidityRecordSet> | 1 if the indicator on the humidity tab on the all-time records screen is currently lit, 0 if not
<#PressureRecordSet> | 1 if the indicator on the pressure tab on the all-time records screen is currently lit, 0 if not
<#HighTempRecordSet> | 1 if the all-time high temperature light is currently flashing, 0 if not
<#LowTempRecordSet> | 1 if the all-time low temperature light is currently flashing, 0 if not
<#HighAppTempRecordSet> | 1 if the all-time high apparent temperature light is currently flashing, 0 if not
<#LowAppTempRecordSet> | 1 if the all-time low apparent temperature light is currently flashing, 0 if not
<#HighHeatIndexRecordSet> | 1 if the all-time high heat index light is currently flashing, 0 if not
<#LowWindChillRecordSet> | 1 if the all-time low wind chill light is currently flashing, 0 if not
<#HighDewPointRecordSet> | 1 if the all-time high dew point light is currently flashing, 0 if not
<#LowDewPointRecordSet> | 1 if the all-time low dew point light is currently flashing, 0 if not
<#HighMinTempRecordSet> | 1 if the all-time high minimum temperature light is currently flashing, 0 if not
<#LowMaxTempRecordSet> | 1 if the all-time low maximum temperature light is currently flashing, 0 if not
<#HighWindGustRecordSet> | 1 if the all-time high wind gust light is currently flashing, 0 if not
<#HighWindSpeedRecordSet> | 1 if the all-time high wind speed light is currently flashing, 0 if not
<#HighRainRateRecordSet> | 1 if the all-time high rain rate light is currently flashing, 0 if not
<#HighHourlyRainRecordSet> | 1 if the all-time high hourly rain light is currently flashing, 0 if not
<#HighDailyRainRecordSet> | 1 if the all-time high daily rain light is currently flashing, 0 if not
<#HighMonthlyRainRecordSet> | 1 if the all-time high monthly rain light is currently flashing, 0 if not
<#HighHumidityRecordSet> | 1 if the all-time high humidity light is currently flashing, 0 if not
<#LowHumidityRecordSet> | 1 if the all-time low humidity light is currently flashing, 0 if not
<#HighPressureRecordSet> | 1 if the all-time high pressure light is currently flashing, 0 if not
<#LowPressureRecordSet> | 1 if the all-time low pressure light is currently flashing, 0 if not
<#HighWindrunRecordSet> | 1 if the all-time high wind run light is currently flashing, 0 if not
<#LongestDryPeriodRecordSet> | 1 if the all-time longest dry period light is currently flashing, 0 if not
<#LongestWetPeriodRecordSet> | 1 if the all-time longest wet period light is currently flashing, 0 if not
<#HighTempRangeRecordSet> | 1 if the all-time high daily temperature range light is currently flashing, 0 if not
<#LowTempRangeRecordSet> | 1 if the all-time low daily temperature range light is currently flashing, 0 if not
<#DavisFirmwareVersion> | The console formware version (Davis stations only)
<#LastDataReadT> | Timestamp of the last time Cumulus read data from the station (format parameter can be used)

Parameters

Most date and/or time tags have an optional 'format' parameter, e.g: <#YearTempHT format=hh:nn>. This allows you to override the default display format for that item, using the format specifiers in the table below. Note that if your format has any spaces in it, you must enclose it in double quotes, thus: <#YearTempHT format="dd mm">. Note also that you can specify date formatting to times and vice versa, but this will not always yield a sensible result.

You should put anything which is not intended to be part of the date and time formatting into single quotation marks to prevent it being interpreted as a date or time formatter. For example, the word "on" contains the character "n", which will be interpreted as a time formatter unless you put it into single quotation marks. Example: <#TtempH format="'at' hh: mm 'on' dd / mm / yyyy">

Specifier | Displays
c | Displays the date using the format given by the Windows Short Date format, followed by the time using the format given by the Windows Long Time format. The time is not displayed if the date-time value indicates midnight precisely.
d | Displays the day as a number without a leading zero (1-31).
dd | Displays the day as a number with a leading zero (01-31).
ddd | Displays the day as an abbreviation (Sun-Sat) using the strings appropriate to the Windows Locale.
dddd | Displays the day as a full name (Sunday-Saturday) using the strings appropriate to the Windows Locale.
ddddd | Displays the date using the format given by the Windows Short Date format.
dddddd | Displays the date using the format given by the Windows Long Date format.
m | Displays the month as a number without a leading zero (1-12). If the m specifier immediately follows an h or hh specifier, the minute rather than the month is displayed.
mm | Displays the month as a number with a leading zero (01-12). If the mm specifier immediately follows an h or hh specifier, the minute rather than the month is displayed.
mmm | Displays the month as an abbreviation (Jan-Dec) using the strings appropriate to the Windows Locale.
mmmm | Displays the month as a full name (January-December) using the strings appropriate to the Windows Locale.
yy | Displays the year as a two-digit number (00-99).
yyyy | Displays the year as a four-digit number (0000-9999).
h | Displays the hour without a leading zero (0-23).
hh | Displays the hour with a leading zero (00-23).
n | Displays the minute without a leading zero (0-59).
nn | Displays the minute with a leading zero (00-59).
s | Displays the second without a leading zero (0-59).
ss | Displays the second with a leading zero (00-59).
z | Displays the millisecond without a leading zero (0-999).
zzz | Displays the millisecond with a leading zero (000-999).
t | Displays the time using the format given by the Windows Short Time format.
tt | Displays the time using the format given by the Windows Long Time format.
am/pm | Uses the 12-hour clock for the preceding h or hh specifier, and displays 'am' for any hour before noon, and 'pm' for any hour after noon. The am/pm specifier can use lower, upper, or mixed case, and the result is displayed accordingly.
a/p | Uses the 12-hour clock for the preceding h or hh specifier, and displays 'a' for any hour before noon, and 'p' for any hour after noon. The a/p specifier can use lower, upper, or mixed case, and the result is displayed accordingly.
ampm | Uses the 12-hour clock for the preceding h or hh specifier, and displays the contents of the Windows AM string for any hour before noon, and the contents of the Windows PM string for any hour after noon.
/ | Displays the date separator character given by the Windows Date Separator.
: | Displays the time separator character given by the Windows Time Separator.
'xx' | Characters enclosed in single quotation marks are displayed as such, and do not affect formatting.


Cumulus Data Log Files

Data Log Files

Cumulus creates two sets of log files, these are kept in a folder called data within the folder where you installed Cumulus. The units in the log files are those configured in the Cumulus station settings. Decimals use the Windows decimal separator. The fields are separated using the Windows list separator.

The first is a single file called dayfile.txt ; an entry is made to this file every day at midnight or 0900 (1000 in summer) depending on the chosen setting on the Station Configuration screen, summarising the day's data. The file is in comma-separated format (or using whatever list separator is configured in Windows), and each entry contains the following fields, in this order:

  • Date in the form dd/mm/yy (the slash may be replaced by a dash in some cases)
  • Highest wind gust
  • Bearing of highest wind gust
  • Time of highest wind gust
  • Minimum temperature
  • Time of minimum temperature
  • Maximum temperature
  • Time of maximum temperature
  • Minimum sea level pressure
  • Time of minimum pressure
  • Maximum sea level pressure
  • Time of maximum pressure
  • Maximum rainfall rate
  • Time of maximum rainfall rate
  • Total rainfall for the day
  • Average temperature for the day
  • Total wind run
  • Highest average wind speed
  • Time of highest average wind speed
  • Lowest humidity
  • Time of lowest humidity
  • Highest humidity
  • Time of highest humidity
  • Total evapotranspiration
  • Total hours of sunshine
  • High heat index
  • Time of high heat index
  • High apparent temperature
  • Time of high apparent temperature
  • Low apparent temperature
  • Time of low apparent temperature
  • High hourly rain
  • Time of high hourly rain
  • Low wind chill
  • Time of low wind chill
  • High dew point
  • Time of high dew point
  • Low dew point
  • Time of low dew point
  • Dominant wind bearing
  • Heating degree days
  • Cooling degree days
  • High solar radiation
  • Time of high solar radiation
  • High UV Index
  • Time of high UV Index

The second is a set of files with names in the form <Month><Year>log.txt (for example, the file for December 2003 is called Dec03log.txt (the Windows 'short month name' is used)); an entry is made to the current month's file every ten minutes (or as configured), recording the current sensor values. The file is in comma-separated format (i.e. using the Windows list separator), and each entry contains the following fields, in this order:

  • Date in the form dd/mm/yy (the slash may be replaced by a dash in some cases)
  • Current time
  • Current temperature
  • Current humidity
  • Current dewpoint
  • Current wind speed
  • Recent (10-minute) high gust
  • Average wind bearing
  • Current rainfall rate
  • Total rainfall today so far
  • Current sea level pressure
  • Total rainfall counter as held by the station
  • Inside temperature
  • Inside humidity
  • Current gust (i.e. 'Latest')
  • Wind chill
  • Heat Index
  • UV Index
  • Solar Radiation
  • Evapotranspiration
  • Annual Evapotranspiration
  • Apparent temperature
  • Current theoretical max solar radiation
  • Hours of sunshine so far today
  • Current wind bearing
  • RG-11 rain today
  • Rain since midnight

Times in these files are in the form hh:mm using the 24 hour clock and local time (system time). All data is logged in the units which which have been selected by the user on the station configuration screen. Note that 'comma-separated' does not necessarily mean that a comma is used to separate the values! If your PC uses a semicolon for the list separator, that will be used in these files. Decimal values use the Windows decimal separator.

Optionally, if 'Extra Sensors' is set in the Station settings, a set of files is freated with names in the form ExtraLogyyyymm.txt (for example, the file for December 2003 is called ExtraLog200312.txt ); an entry is made to the current month's file every ten minutes (or as configured), recording the current 'extra' sensor values. The file is in comma-separated format, and each entry contains the following fields, in this order:

  • Date in the form dd/mm/yy (the slash may be replaced by a dash in some cases)
  • Current time
  • 10 extra temperature values
  • 10 extra humidity values
  • 10 extra dew point values
  • 4 soil temperature values
  • 4 soil moisture values
  • 2 leaf temperature values
  • 2 leaf wetness values

If the 'realtime' option is selected, Cumulus creates a file called realtime.txt at the specified interval, and if configured to do so, uploads it to your web site. The format of this file is as follows:

Example: 18/10/08 16:03:45 8.4 84 5.8 24.2 33.0 261 0.0 1.0 999.7 W 6 mph C mb mm 146.6 +0.1 85.2 588.4 11.6 20.3 57 3.6 -0.7 10.9 12:00 7.8 14:41 37.4 14:38 44.0 14:28 999.8 16:01 998.4 12:06 1.8.2 448 36.0 10.3 10.5 13 0.2 14 260 2.3 13 1 0 NNW 2040 ft 12.3 11.1 420.1 1

Field | Example | Description
1 | 18/10/08 | date (always dd/mm/yy)
2 | 16:03:45 | time(always hh:mm:ss)
3 | 8.4 | outside temperature
4 | 84 | relative humidity
5 | 5.8 | dewpoint
6 | 24.2 | wind speed (average)
7 | 33.0 | latest wind speed reading
8 | 261 | wind bearing (degrees)
9 | 0.0 | current rain rate
10 | 1.0 | rain today
11 | 999.7 | barometer
12 | W | wind direction
13 | 6 | wind speed (beaufort)
14 | mph | wind units
15 | C | temperature units
16 | mb | pressure units
17 | mm | rain units
18 | 146.6 | wind run (today)
19 | +0.1 | pressure trend value
20 | 85.2 | monthly rainfall
21 | 588.4 | yearly rainfall
22 | 11.6 | yesterday's rainfall
23 | 20.3 | inside temperature
24 | 57 | inside humidity
25 | 3.6 | wind chill
26 | -0.7 | temperature trend value
27 | 10.9 | today's high temp
28 | 12:00 | time of today's high temp (hh:mm)
29 | 7.8 | today's low temp
30 | 14:41 | time of today's low temp (hh:mm)
31 | 37.4 | today's high wind speed (average)
32 | 14:38 | time of today's high wind speed (average) (hh:mm)
33 | 44.0 | today's high wind gust
34 | 14:28 | time of today's high wind gust (hh:mm)
35 | 999.8 | today's high pressure
36 | 16:01 | time of today's high pressure (hh:mm)
37 | 998.4 | today's low pressure
38 | 12:06 | time of today's low pressure (hh:mm)
39 | 1.8.2 | Cumulus version
40 | 448 | Cumulus build number
41 | 36.0 | 10-minute high gust
42 | 10.3 | heat index
43 | 10.5 | humidex
44 | 13 | UV Index
45 | 0.2 | Evapotranspiration today
46 | 14 | Solar Radiation W/m2
47 | 260 | 10-minute average wind bearing (degrees)
48 | 2.3 | rainfall last hour
49 | 13 | current forecast number (see samplestrings.ini). Negative means 'exceptional'
50 | 1 | Is it daylight? 1 if currently within daylight hours (between dawn and dusk), 0 if not
51 | 0 | Sensor contact lost (1 = yes) (Fine Offset only)
52 | NNW | wind direction (average)
53 | 2040 | Cloudbase
54 | ft | Cloudbase units
55 | 12.3 | Apparent Temperature
56 | 11.1 | Sunshine hours so far today
57 | 420.1 | Current theoretical max solar radiation
58 | 1 | Is it sunny? 1 if the sun is shining, otherwise 0. Requires your station to have a solar sensor.

Cumulus also keeps a log of changes to the alltime records, called alltimelog.txt, which can be found in the data folder. An entry is added to this file every time an all-time record changes, with details of the old and new records. This log can then be used to 'backtrack' if spurious data causes an all-time record to be broken incorrectly. It is also a useful log of when records were actually broken.

The format of entries in this log is as follows:

date time value "item name" old date old time old value

The dates are in ISO format (yyyy-mm-dd) and the times are in hh:mm 24-hour format (the separator is always a colon, irrespective of system settings), and the values are always to three decimal places. You should round the values appropriately when using them. The quotes are present with the item names. An example:

2010-02-24 05:19 -7.600 "Lowest temperature" 2009-02-09 04:50 -6.500


Cumulus "This Month" Window

The "This Period" Window

This window can be displayed by selecting This Period from the View menu. Various statistics for any chosen period can be displayed.

The desired period can be selected using the Start Date and End Date selectors and then clicking Update display.

The currently displayed data can be copied to the clipboard (so it can be posted into a Usenet article, for example) by clicking on Copy to clipboard.

The data displayed corresponds to the configured meteorological day, i.e 0900/1000 or midnight start/end of day


Cumulus "This Month" Window

The "This Year" Window

This window can be displayed by selecting This Year from the View menu. Various statistics for the current year so far are displayed.

Years other than the current month can be selected using the Year selector and then clicking Update display.

The currently displayed data can be copied to the clipboard (so it can be posted into a Usenet article, for example) by clicking on Copy to clipboard.

Note that the data that is displayed for the current year does not include data for the current day.