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.