Webtags (preserving history): Difference between revisions

From Cumulus Wiki
Jump to navigationJump to search
m
(36 intermediate revisions by the same user not shown)
Line 229: Line 229:
=Output 'format' Parameter=
=Output 'format' Parameter=


=== Output Parameter Differences between Cumulus 1 and Cumulus MX (Cumulus 3) ===
The majority, but not all, of web tags either can use an output format parameter or, in a few cases, really do need an output format parameter.


There are a number of differences between Cumulus 1 (C1) and Cumulus MX (MX). C1 can work with times in 14.24 format using a full stop ('.') to separate the figures, MX must have colon (':') between hour and minute numbers. But with both flavours you can choose whether 12-hour clock is used with am/pm (in lowercase or capitals) or the 24-hour clock is used. You can choose to include/exclude leading zero for hours. You can only report the hour if you don't care about the minutes, or only report the minutes if you don't need the hour. In most cases you can add seconds to the output, and either milliseconds or microseconds. This does not imply that Cumulus calculates everything every microsecond, in fact many are only calculated once a minute, but the flexibility is there for time outputs.
== Output Parameter Differences between Cumulus 1 and Cumulus MX (Cumulus 3) ==
 
There are a number of differences between Cumulus 1 (C1) and Cumulus MX (MX). These nearly all involve times and dates, so the next section deals with this.
 
 
=== Output (format modifier) parameters for times and dates ===
 
Time/Date format codes are used in two places:
# As part of report names for NOAA style reports (see [[Cumulus.ini#Section:_NOAA]])
# As part of web-tags that report either times or dates or both a date and a time
From version 1.9.1 most web-tags  that report any form of time or date will accept an optional 'format' parameter, e.g. (Cumulus 1 only): <#YearTempHT format=hh:nn>.
 
This allows you to override the default display format for that item, using the format specifiers in the table below.
 
Although, in theory, you can specify date formatting to times, and vice versa, this will not always yield a sensible result. It is best to look at the default format (in most, but not all, cases this reveals whether date and time information are both available):
*The time-stamps for today, and yesterday, only contain time information, so only time-based format instructions should be applied to them. You can use date format parameters on (for example) <#metdate>, and <#metdateyesterday> and that may give you your desired date information to augment the time-stamps.
*Almanac times such as sun-rise, moon-rise, are also only times, and time-based format instructions can generally be applied to them.  However, be aware these are calculated as at midnight GMT and for some of your calendar days, the times may be reported (in default format) as '--' if for example the moon does not rise that day.
 
C1 can work with times in 14.24 format using a full stop ('.') to separate the figures, MX must have colon (':') between hour and minute numbers. But with both flavours you can choose whether 12-hour clock is used with am/pm (in lowercase or capitals) or the 24-hour clock is used. You can choose to include/exclude leading zero for hours. You can only report the hour if you don't care about the minutes, or only report the minutes if you don't need the hour. In most cases you can add seconds to the output, and either milliseconds or microseconds. This does not imply that Cumulus calculates everything every microsecond, in fact many are only calculated once a minute, but the flexibility is there for time outputs.


Some web tags contain dates, or both dates and times, and for these there is flexibility (apart from those with fixed format, these might have ISO, or another format indicator, in their tag name) as to how the date is output. Thus you can choose to include or exclude the year; you can represent month in letters or numbers, and you can vary the order in which elements of the date are shown.
Some web tags contain dates, or both dates and times, and for these there is flexibility (apart from those with fixed format, these might have ISO, or another format indicator, in their tag name) as to how the date is output. Thus you can choose to include or exclude the year; you can represent month in letters or numbers, and you can vary the order in which elements of the date are shown.
Line 275: Line 293:
* You may need to use both single quotes and back slashes in some format specifiers, depending whether the characters you want to include can be interpreted as control characters (yes, backslash is also used to escape control characters, so backslash will NOT work for some characters such as those in "on" and "at" [\n will produce new line not the letter n, \t will produce a tab not the letter t]), consequently for some characters you must use the literal approach to include them in your format.
* You may need to use both single quotes and back slashes in some format specifiers, depending whether the characters you want to include can be interpreted as control characters (yes, backslash is also used to escape control characters, so backslash will NOT work for some characters such as those in "on" and "at" [\n will produce new line not the letter n, \t will produce a tab not the letter t]), consequently for some characters you must use the literal approach to include them in your format.


==== Using HTML tags within format parameters (available in MX only) ====
=== List of allowed modifiers for output format parameters ===
Note for Cumulus 1 - where lower (or upper, for easier comparison with MX) case shown, because Delphi is case insensitive, upper (or lower) case (in some cases, indicated by use of curved brackets) could be used instead (exceptions: a/p, ampm, am/pm, Am/Pm, AM/PM, A/P, AMPM etc display as input).


'''Example using a class to change the look of part of the output'''
[[File:Badge vMx.png]]Remember that most single character format specifiers have a different meaning to when the same letter appears in a multi-character format.


<pre><#TapptempH format="dd'&nbsp;'MMM'&nbsp;'yyyy'<span class=\'xx\'> at 'HH:mm'</span>'"></pre>
the output from this will look like ''04&nbsp;Dec&nbsp;2018<span class='xx'> at 10:12</span>''


'''Note where the quotes are, and where you need to use '\' escape characters'''.
==== Forum reference ====


'''Example using HTML tags'''
For official full details see [https://cumulus.hosiene.co.uk/viewtopic.php?f=39&t=17888 Cumulus MX forum], the following table is revised for simplicity. (I've given a different selection of combinations and included '%' where necessary to avoid single character versus custom complications).


<pre><#RecentTS d=2 format="h:mm'&nbsp;'tt'<small>on' d/M/yyyy'</small>'"></pre>
==== My Revised Table of Time and Date Output Modifiers ====
This puts the date in a smaller font than the time


=== Output (format modifier) parameters for decimal places ===
In some rows of this table, square brackets [] indicate optional items, they are included just to make it clearer how items can be combined in a single output parameter.
 
{| class="wikitable" border="1"
 
|-
Cumulus 1 allows use of <tt>dp=n</tt> modifier (where n represents desired number of decimal places for latitude and longitude e.g. <#latitude dp=5> gives "59.24250". This is also available in MX.
!style="width:150px" | {{Version badge 1}}Delphi Specifier for Cumulus 1.9.x
MX makes much more usage of these '''dp''' parameters. For example in the moon tags  <#MoonAge> gives "11" but <#MoonAge dp=3> gives "11.234"  
!style="width:150px" | [[File:Badge vMx.png]]Mono/.NET Specifier for Cumulus MX
 
!style="width:600px" | Displays
*<tt>dp=i</tt> is used for both Cumulus 1 and MX. The value '''i''' following the attribute '''dp''' is an integer, how many decimal places you want for the output you see. Only available for a limited range of web tags (latitude and longitude, plus in MX <#MoonPercent> and <#MoonPercentAbs>).
!style="width:600px" | Example
*<tt>tc=y</tt> is a new parameter only in MX, the attribute '''tc''' takes the value 'y' to remove decimal places by truncation instead of using <tt>dp=0</tt> which would round to nearest integer. e.g. <#MoonAge tc=y>. At present not available in any other web tags.
|-
 
|c
=== Output (format modifier) indicating remove commas ===
|G
 
|Displays the date using the format given by the Short Date format, followed by the time using the format given by the Long Time format. The time is not displayed in Cumulus 1 if the date-time value indicates midnight precisely.
"rc=y" is a '''new parameter for MX''', the attribute '''rc''' takes the value 'y' to replace any commas defined by the locale with full stops to separate integer and decimal parts of the output value. It was initially only implemented on a few new web tags (#MoonPercent, #MoonPercentAbs, #MoonAge) for MX versions up to and including 3.5.3. From version 3.6.6 only can all web tags that can output real numbers can now use alternative syntax of <tt><#tag_name rc=y></tt> to replace all commas in the output by a full stop (don't worry, MX does not use a comma for separating off thousands, so it is the decimal comma that becomes a decimal full stop like character when this remove comma specifier is used.
|'22/03/2019 09:47:25' produced by {{Version badge 1}}<#time format=c>[[File:Badge vMx.png]]<#time format=G>
 
|-
 
|d
Why would you want to remove decimal commas?  Well because the JavaScript language cannot understand decimal commas, and MX has several scripts written in this language, equally some third party alternative web pages rely on ajax to update them (and Ajax uses JavaScript).
|%d
 
|Displays the day as a number without a leading zero (1-31). [[File:Badge vMx.png]]Note that Cumulus MX requires a ' ' (space), '%' or other modifier to be included, as 'd' on its own returns full 'short date').
=== Additional text in output format partameters ===
|27 produced by {{Version badge 1}}<#metdate format="d">[[File:Badge vMx.png]]<#metdate format="%d">
 
|-
You should put anything that is additional, to the defined format modifier specification below, into single quotation marks to prevent it being interpreted as a date or time format modifier:
|dd
 
|dd
#For example, the word "on" contains the character "n", which for Cumulus versions 1.9.1 to 1.9.4 will be interpreted as a time format modifier unless you put it into single quotation marks. Example of valid Cumulus 1 syntax: <#TtempH format="'at' hh: mm 'on' dd / mm / yyyy">.
|Displays the day as a number with a leading zero (01-31).
#You can include HTML tags (but they cannot have any attributes because both single and double quote characters have defined meanings) and special characters as quoted text within the 'format' parameter.<br>  Example of valid syntax: <#TapptempH format="'at 'h:nn'&nbsp;'am/pm '&lt;small&gt;on' d/m/yyyy'&lt;/small&gt;'">.
|07 produced by <#metdate format="dd">
 
{{Version badge 1}}'''Note for Cumulus 1 -  if your format has any spaces in it''', you must enclose the whole format parameter value in double quotes, for example (Cumulus 1.9.x): <#YearTempHT format="hh nn">. Consequently, you cannot include double quote characters in any other position (see [[Php_webtags#Web_tag_Complications| here for work-around]]).
 
[[File:Badge vMx.png]]Note for MX - you can use single quotation marks round spaces and text (e.g. ' on '), but you can also use '\' as escape character (e.g. for 'on' use '''\o\n'''). However for 'at' the only alternative is '''\a't''''  because the character t has another meaning and escape followed by a t becomes a tab!
 
=== List of allowed modifiers for output format parameters ===
Note for Cumulus 1 - where lower (or upper, for easier comparison with MX) case shown, because Delphi is case insensitive, upper (or lower) case (in some cases, indicated by use of curved brackets) could be used instead (exceptions: a/p, ampm, am/pm, Am/Pm, AM/PM, A/P, AMPM etc display as input).
 
[[File:Badge vMx.png]]Remember that most single character format specifiers have a different meaning to when the same letter appears in a multi-character format.
 
 
==== Forum reference ====
 
For official full details see [https://cumulus.hosiene.co.uk/viewtopic.php?f=39&t=17888 Cumulus MX forum], the following table is revised for simplicity. (I've given a different selection of combinations and included '%' where necessary to avoid single character versus custom complications).
 
==== My Revised Table of Time and Date Output Modifiers ====
 
In some rows of this table, square brackets [] indicate optional items, they are included just to make it clearer how items can be combined in a single output parameter.
{| class="wikitable" border="1"
|-
|-
!style="width:150px" | {{Version badge 1}}Delphi Specifier for Cumulus 1.9.x
|ddd
!style="width:150px" | [[File:Badge vMx.png]]Mono/.NET Specifier for Cumulus MX
|ddd
!style="width:600px" | Displays
|Displays the day as an abbreviation (Sun-Sat) using the strings appropriate to the Locale.
!style="width:600px" | Example
|'Wed' produced by <#metdate format="ddd"> (English locale)
|-
|c
|G
|Displays the date using the format given by the Short Date format, followed by the time using the format given by the Long Time format. The time is not displayed in Cumulus 1 if the date-time value indicates midnight precisely.
|'22/03/2019 09:47:25' produced by {{Version badge 1}}<#time format=c>[[File:Badge vMx.png]]<#time format=G>
|-
|d
|%d
|Displays the day as a number without a leading zero (1-31). [[File:Badge vMx.png]]Note that Cumulus MX requires a ' ' (space), '%' or other modifier to be included, as 'd' on its own returns full 'short date').
|27 produced by {{Version badge 1}}<#metdate format="d">[[File:Badge vMx.png]]<#metdate format="%d">
|-
|dd
|dd
|Displays the day as a number with a leading zero (01-31).
|07 produced by <#metdate format="dd">
|-
|ddd
|ddd
|Displays the day as an abbreviation (Sun-Sat) using the strings appropriate to the Locale.
|'Wed' produced by <#metdate format="ddd"> (English locale)
|-
|-
|dddd
|dddd
Line 522: Line 499:
|'xy' or ''\x\y''
|'xy' or ''\x\y''
|Characters enclosed in single quotation marks are displayed as such, and do not affect formatting. In MX each character to be displayed as it was typed can be prefixed by a backslash.
|Characters enclosed in single quotation marks are displayed as such, and do not affect formatting. In MX each character to be displayed as it was typed can be prefixed by a backslash.
|Hypens are added in this PHP language example  '<#LastDataReadT format=yyyy>'.'-'.'<#LastDataReadT format=MM>'.'-'.'<#LastDataReadT format="dd">'
|Hyphens are added in this PHP language example  '<#LastDataReadT format=yyyy>'.'-'.'<#LastDataReadT format=MM>'.'-'.'<#LastDataReadT format="dd">'
|}
|}


=The Web Tags for Cumulus =
==== Using HTML tags within format parameters (available in MX only) ====


These are available in both Cumulus 1 and MX unless indicated by a version 1 or MX badge.
'''Example using a class to change the look of part of the output'''


Here follow tables indicating what web tags/tokens can be used, tables group the tags/tokens by the basic purpose of the tags listed.
<pre><#TapptempH format="dd'&nbsp;'MMM'&nbsp;'yyyy'<span class=\'xx\'> at 'HH:mm'</span>'"></pre>
the output from this will look like ''04&nbsp;Dec&nbsp;2018<span class='xx'> at 10:12</span>''


'''Note where the quotes are, and where you need to use '\' escape characters'''.


===System===
'''Example using HTML tags'''
 
<pre><#RecentTS d=2 format="h:mm'&nbsp;'tt'<small>on' d/M/yyyy'</small>'"></pre>
This puts the date in a smaller font than the time
 
=== Output (format modifier) parameters for decimal places ===
 
 
Cumulus 1 allows use of <tt>dp=n</tt> modifier (where n represents desired number of decimal places for latitude and longitude e.g. <#latitude dp=5> gives "59.24250". This is also available in MX.
MX makes much more usage of these '''dp''' parameters. For example in the moon tags  <#MoonAge> gives "11" but <#MoonAge dp=3> gives "11.234"
 
*<tt>dp=i</tt> is used for both Cumulus 1 and MX. The value '''i''' following the attribute '''dp''' is an integer, how many decimal places you want for the output you see. Only available for a limited range of web tags (latitude and longitude, plus in MX <#MoonPercent> and <#MoonPercentAbs>).
*<tt>tc=y</tt> is a new parameter only in MX, the attribute '''tc''' takes the value 'y' to remove decimal places by truncation instead of using <tt>dp=0</tt> which would round to nearest integer. e.g. <#MoonAge tc=y>. At present not available in any other web tags.
 
=== Output (format modifier) indicating remove commas ===
 
"rc=y" is a '''new parameter for MX''', the attribute '''rc''' takes the value 'y' to replace any commas defined by the locale with full stops to separate integer and decimal parts of the output value. It was initially only implemented on a few new web tags (#MoonPercent, #MoonPercentAbs, #MoonAge) for MX versions up to and including 3.5.3. From version 3.6.6 only can all web tags that can output real numbers can now use alternative syntax of <tt><#tag_name rc=y></tt> to replace all commas in the output by a full stop (don't worry, MX does not use a comma for separating off thousands, so it is the decimal comma that becomes a decimal full stop like character when this remove comma specifier is used.


Special tags returning information about the Windows device hosting Cumulus 1. ''If you are running MX, then most tags do not work.
''


{| class="wikitable" border="1"
Why would you want to remove decimal commas?  Well because the JavaScript language cannot understand decimal commas, and MX has several scripts written in this language, equally some third party alternative web pages rely on ajax to update them (and Ajax uses JavaScript).
|-
!style="width:150px" |Web tag_name
!style="width:600px" |Function
|-
|<#OsVersion>
|OS version, e.g. "Windows 7 x64 build 7600"
|-
|<#OsLanguage>
|OS language, e.g. "English"
|-
|<#SystemUpTime>
|{{Version badge 1}}How long the system has been up, e.g. "8 hours 21 minutes" (not available on MX)
|-
|<#ProgramUpTime>
|How long Cumulus has been running, e.g. "7 hours 55 minutes"
|-
|<#CpuName>
|{{Version badge 1}}CPU type, e.g. "Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz" (not available on MX)
|-
|<#CpuCount>
|Number of processors, e.g. "4"
|-
|<#MemoryStatus>
|{{Version badge 1}}Free and total system RAM, e.g. "4619/8191 MB (free/total)" (not available on MX)
|-
|<#DisplayMode>
|{{Version badge 1}}Screen display mode, e.g. "1680x1050, 32 bit" (not available on MX)
|-
|<#AllocatedMemory>
|{{Version badge 1}}Amount of memory allocated to Cumulus, e.g. "18.76 MB" (not available on MX)
|-
|<#DiskSize>
|{{Version badge 1}}Size of disk on which Cumulus is running, e.g. "931.51 GB" (not available on MX)
|-
|<#DiskFree>
|{{Version badge 1}}Free space on disk on which Cumulus is running, e.g. "515.36 GB" (not available on MX)
|}


==Miscellaneous==
== Additional text in output format parameters ==


All tags are available in all flavours, as far as I know, although their output might vary, and which input/output parameters they permit might vary between Cumulus 1 and MX.
You should put anything that is additional, to the defined format modifier specification below, into single quotation marks to prevent it being interpreted as a date or time format modifier:


{| class="wikitable" border="1"
#For example, the word "on" contains the character "n", which for Cumulus versions 1.9.1 to 1.9.4 will be interpreted as a time format modifier unless you put it into single quotation marks. Example of valid Cumulus 1 syntax: <#TtempH format="'at' hh: mm 'on' dd / mm / yyyy">.
#You can include HTML tags (but they cannot have any attributes because both single and double quote characters have defined meanings) and special characters as quoted text within the 'format' parameter.<br>  Example of valid syntax: <#TapptempH format="'at 'h:nn'&nbsp;'am/pm '&lt;small&gt;on' d/m/yyyy'&lt;/small&gt;'">.
 
{{Version badge 1}}'''Note for Cumulus 1 -  if your format has any spaces in it''', you must enclose the whole format parameter value in double quotes, for example (Cumulus 1.9.x): <#YearTempHT format="hh nn">. Consequently, you cannot include double quote characters in any other position (see [[Php_webtags#Web_tag_Complications| here for work-around]]).
 
[[File:Badge vMx.png]]Note for MX - you can use single quotation marks round spaces and text (e.g. ' on '), but you can also use '\' as escape character (e.g. for 'on' use '''\o\n''').  However for 'at' the only alternative is '''\a't''''  because the character t has another meaning and escape followed by a "t" i.e. "\t" becomes a tab!
 
 
 
=The Web Tags for Cumulus =
 
These are available in both Cumulus 1 and MX unless indicated by a version 1 or MX badge.
 
Here follow tables indicating what web tags/tokens can be used, tables group the web tags available by the basic purpose of the tags listed.
 
== System ==
 
Special tags returning information about the Windows device hosting Cumulus 1. ''If you are running MX, then most tags do not work.
''
 
{| class="wikitable" border="1"
|-
|-
!style="width:150px" |Web tag_name
!style="width:150px" |Web tag_name
!style="width:900px" | Function
!style="width:600px" |Function
|-
|-
|<#LatestError>
|<#OsVersion>
|Displays the last error from the Cumulus 1 error log. (The value is cleared when you click the error light in Cumulus 1).<br />
|OS version, e.g. "Windows 7 x64 build 7600"
Note: This tag displays ''all'' errors, even if they do not cause the error light to flash in Cumulus 1. Although this tag and the next 3 are in MX, none of them are actually used (as at April 2020).
|-
|-
|<#LatestErrorDate>
|<#OsLanguage>
|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
|OS language, e.g. "English"
|-
|-
|<#LatestErrorTime>
|<#SystemUpTime>
|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
|{{Version badge 1}}How long the system has been up, e.g. "8 hours 21 minutes" (not available on MX)
|-
|-
|<#ErrorLight>
|<#ProgramUpTime>
|1 if the 'error' light is flashing, 0 if not
|How long Cumulus has been running, e.g. "7 hours 55 minutes"
|-
|-
|<#version>
|<#CpuName>
|The version of Cumulus in use e.g. '1.9.4' or '3.4.1'
|{{Version badge 1}}CPU type, e.g. "Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz" (not available on MX)
|-
|-
|<#build>
|<#CpuCount>
|The build of Cumulus in use e.g. '10992' for latest Cumulus 1 patch (Cumulus MX is under development so new builds are released frequently)
|Number of processors, e.g. "4"
 
|-
|-
|<#realtimeinterval>
|<#MemoryStatus>
|The realtime update interval in seconds (integer)
|{{Version badge 1}}Free and total system RAM, e.g. "4619/8191 MB (free/total)" (not available on MX)
|-
|-
|<#interval>
|<#DisplayMode>
|The web site update interval in minutes (integer)
|{{Version badge 1}}Screen display mode, e.g. "1680x1050, 32 bit" (not available on MX)
|-
|-
|<#rollovertime>
|<#AllocatedMemory>
|The time that the logs rollover to the next day: 'Midnight', '9 am' or '10 am'
|{{Version badge 1}}Amount of memory allocated to Cumulus, e.g. "18.76 MB" (not available on MX)
 
This is the end of the meteorological day, so if during Daylight Saving Time it is "10 am", then on the day DST ends it will return to "9 am" ensuring every meteorological day is exactly 24 hours long. If the time is "Midnight" or during DST it is "9 am", then days will be 23 or 25 hours long just on day clocks change, 24 hours otherwise.
|-
|-
|<#update>
|<#DiskSize>
|The date and time of the last web site update
|{{Version badge 1}}Size of disk on which Cumulus is running, e.g. "931.51 GB" (not available on MX)
|-
|-
|<#LastDataReadT>
|<#DiskFree>
|The date/time data was last read from the station
|{{Version badge 1}}Free space on disk on which Cumulus is running, e.g. "515.36 GB" (not available on MX)
|}
 
== Miscellaneous ==
 
All tags are available in all flavours, as far as I know, although their output might vary, and which input/output parameters they permit might vary between Cumulus 1 and MX.
 
{| class="wikitable" border="1"
|-
|-
|<#stationtype>
!style="width:150px" |Web tag_name
|The weather station [https://cumuluswiki.org/a/Cumulus.ini#Section:_Station model] description (you choose what text appears for this on 'Display' settings screen within Configuration menu - the field is at the bottom left of that screen).
!style="width:900px" | Function
|-
|-
|<#latitude>
|<#LatestError>
|The station [http://en.wikipedia.org/wiki/Latitude latitude] (as you entered during setup).
|Displays the last error from the Cumulus 1 error log. (The value is cleared when you click the error light in Cumulus 1).<br />
Supports an optional 'dp' parameter, if supplied, instead of the usual web-encoded text format with degrees/minutes/seconds, the result is in decimal degrees to the specified number of decimal places. E.g<br />
Note: This tag displays ''all'' errors, even if they do not cause the error light to flash in Cumulus 1. Although this tag and the next 3 are in MX, none of them are actually used (as at April 2020).
<#latitude> gives "N&nbsp;59& deg;&amp;nbsp;14&amp;#39;&amp;nbsp;33&amp;quot;" for N 59 14 33<br />
<#latitude dp=5> gives "59.24250"
 
If the "dp" parameter is supplied, then supplying "rc=y" in addition will cause any decimal comma to be converted to a decimal point.
|-
|-
|<#longitude>
|<#LatestErrorDate>
|The station [http://en.wikipedia.org/wiki/Longitude longitude]  (as you entered during setup). Supports an optional 'dp' and 'rc' parameters as per the latitude tag.
|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
|-
|-
|<#altitude>
|<#LatestErrorTime>
|The station [http://en.wikipedia.org/wiki/Altitude altitude] value (webtag outputs web encoded format containing figure, '&amp;nbsp;' and units) in either feet or metres just as you entered during setup (so it is more complex to extract number for script arithmetric); e.g. '123&amp;nbsp;m'
|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
|-
|-
|<#location>
|<#ErrorLight>
|The station location (as you entered during setup)
|1 if the 'error' light is flashing, 0 if not
|-
|-
|<#longlocation>
|<#version>
|Longer description of the station location (as you entered during setup)
|The version of Cumulus in use e.g. '1.9.4' or '3.4.1'
|-
|-
|<#forum>
|<#build>
|URL of the forum (as you entered during setup)
|The build of Cumulus in use e.g. '10992' for latest Cumulus 1 patch (Cumulus MX is under development so new builds are released frequently)
For Cumulus 1, this defaults to a Sandaysoft URL that is no longer available, for MX this defaults to the current support forum hosted by "Freddie" site
 
|-
|-
|<#webcam>
|<#realtimeinterval>
|URL of the webcam (as you entered during setup). Default is blank.
|The realtime update interval in seconds (integer)
|-
|-
|<#graphperiod>
|<#interval>
|The number of hours displayed by the graphs, as set using '''Configuration''' menu, ''Display'' settings screen 'Detailed Chart Period'
|The web site update interval in minutes (integer)
|-
|-
|<#dailygraphperiod>
|<#rollovertime>
|The number of days displayed by the graphs, as set using '''Configuration''' menu, ''Display'' settings screen 'Daily Chart Period' (available from build 1098)
|The time that the logs rollover to the next day: 'Midnight', '9 am' or '10 am'
|-
|<#LatestNOAAMonthlyReport>
|Gives file name of latest auto-saved NOAA monthly report
|-
|<#LatestNOAAYearlyReport>
|Gives file name of latest auto-saved NOAA yearly report
|}


==Units==
This is the end of the meteorological day, so if during Daylight Saving Time it is "10 am", then on the day DST ends it will return to "9 am" ensuring every meteorological day is exactly 24 hours long. If the time is "Midnight" or during DST it is "9 am", then days will be 23 or 25 hours long just on day clocks change, 24 hours otherwise.
 
Apply to Cumulus 1 and MX, no optional input nor output parameters.
{| class="wikitable" border="1"
|-
|-
!style="width:150px" | Web tag_name
|<#update>
!style="width:600px" | Function
|The date and time of the last web site update
|-
|-
|<#tempunit>
|<#LastDataReadT>
|Unit of temperature being used (Set in Cumulus as [http://en.wikipedia.org/wiki/Centigrade Celsius] or [http://en.wikipedia.org/wiki/Fahrenheit Fahrenheit]) values "&amp;deg;C" or "&amp;deg;F"
|The date/time data was last read from the station
|-
|-
|<#tempunitnodeg>
|<#stationtype>
|The temperature units being used, without a degree symbol, i.e. "F" or "C"
|The weather station [https://cumuluswiki.org/a/Cumulus.ini#Section:_Station model] description (you choose what text appears for this on 'Display' settings screen within Configuration menu - the field is at the bottom left of that screen).
|-
|-
|<#pressunit>
|<#latitude>
|Unit of measure for pressure. Possible values: "mb", "hPa", "in"
|The station [http://en.wikipedia.org/wiki/Latitude latitude] (as you entered during setup).
Supports an optional 'dp' parameter, if supplied, instead of the usual web-encoded text format with degrees/minutes/seconds, the result is in decimal degrees to the specified number of decimal places. E.g<br />
<#latitude> gives "N&nbsp;59& deg;&amp;nbsp;14&amp;#39;&amp;nbsp;33&amp;quot;" for N 59 14 33<br />
<#latitude dp=5> gives "59.24250"
 
If the "dp" parameter is supplied, then supplying "rc=y" in addition will cause any decimal comma to be converted to a decimal point.
|-
|-
|<#rainunit>
|<#longitude>
|Unit of measure for rain fall. Possible values: "mm" or "inches"
|The station [http://en.wikipedia.org/wiki/Longitude longitude]  (as you entered during setup). Supports an optional 'dp' and 'rc' parameters as per the latitude tag.
|-
|-
|<#windunit>
|<#altitude>
|Unit of measure for wind speed. Possible values: "m/s", "mph", "km/h", "kts"
|The station [http://en.wikipedia.org/wiki/Altitude altitude] value (webtag outputs web encoded format containing figure, '&amp;nbsp;' and units) in either feet or metres just as you entered during setup (so it is more complex to extract number for script arithmetric); e.g. '123&amp;nbsp;m'
|-
|-
|<#windrununit>
|<#location>
|Unit of measure for wind run (distance). Possible values: "km", "miles", "km", "nm" (for wind speeds in m/s, mph, km/h, kts)
|The station location (as you entered during setup)
|-
|-
|<#cloudbaseunit>
|<#longlocation>
|The units used for cloudbase value. Possible values:  "ft" or "m"
|Longer description of the station location (as you entered during setup)
|}
 
==Date & Time==
Both Cumulus 1 and MX support all of these, most of these web tags can be used with output parameters.
{| class="wikitable" border="1"
|-
|-
!style="width:150px" |Web tag_name
|<#forum>
!style="width:600px" | Function
|URL of the forum (as you entered during setup)
For Cumulus 1, this defaults to a Sandaysoft URL that is no longer available, for MX this defaults to the current support forum hosted by "Freddie" site
|-
|-
|<#date>
|<#webcam>
|The current date
|URL of the webcam (as you entered during setup). Default is blank.
|-
|-
|<#time>
|<#graphperiod>
|The current time and date. Example result: 18:30 on 30 December 2009.  If you simply wish the time, use next tag (below)
|The number of hours displayed by the graphs, as set using '''Configuration''' menu, ''Display'' settings screen 'Detailed Chart Period'
|-
|-
|<#timehhmmss>
|<#dailygraphperiod>
|The current time. Example format: 18:30:27
|The number of days displayed by the graphs, as set using '''Configuration''' menu, ''Display'' settings screen 'Daily Chart Period' (available from build 1098)
|-
|-
|<#timeUTC>
|<#LatestNOAAMonthlyReport>
|The current UTC date/time rather than local date/time
|Gives file name of latest auto-saved NOAA monthly report
|-
|-
|<#minute>
|<#LatestNOAAYearlyReport>
|The current time, just the minutes. Example format: 07
|Gives file name of latest auto-saved NOAA yearly report
|}
 
==Units==
 
Apply to Cumulus 1 and MX, no optional input nor output parameters.
{| class="wikitable" border="1"
|-
|-
|<#hour>
!style="width:150px" | Web tag_name
|The current time, just the hour. Example format: 07
!style="width:600px" | Function
|-
|-
|<#day>
|<#tempunit>
| The current day as a 2-digit number. Example format: 07 
|Unit of temperature being used (Set in Cumulus as [http://en.wikipedia.org/wiki/Centigrade Celsius] or [http://en.wikipedia.org/wiki/Fahrenheit Fahrenheit]) values "&amp;deg;C" or "&amp;deg;F"
|-
|-
|<#dayname>
|<#tempunitnodeg>
| The current day as a word. For example, Monday
|The temperature units being used, without a degree symbol, i.e. "F" or "C"
|-
|-
|<#shortdayname>
|<#pressunit>
| The current day as a shortened word. Example format: Mon
|Unit of measure for pressure. Possible values: "mb", "hPa", "in"
|-
|-
|<#month>
|<#rainunit>
|The current month as a 2-digit number. Example format: 07
|Unit of measure for rain fall. Possible values: "mm" or "inches"
|-
|<#monthname>
|The current month as a word. Example format: July
|-
|-
|<#shortmonthname>
|<#windunit>
|The current month as a shortened word. Example format: Jul
|Unit of measure for wind speed. Possible values: "m/s", "mph", "km/h", "kts"
|-
|-
|<#year>
|<#windrununit>
|The current year as a 4-digit number. Example format: 2009
|Unit of measure for wind run (distance). Possible values: "km", "miles", "km", "nm" (for wind speeds in m/s, mph, km/h, kts)
|-
|-
|<#shortyear>
|<#cloudbaseunit>
|The current year as a 2-digit number. Example format: 09
|The units used for cloudbase value. Possible values: "ft" or "m"
|-
|}
|<#metdate>
|The current meteorological date. After rollover time on current calendar date, this date will be the same as the current date. If using a 9am/10am rollover, then between midnight and 9am/10am the <#metdate> will be the previous calendar day. 


Can be used with relevant format parameters to indicate current meteorological day on todayT.htm template page, meteorological month on thismonthT.htm template page, or meteorological year on thisyearT.htm template page
==Date & Time==
Both Cumulus 1 and MX support all of these, most of these web tags can be used with output parameters.
{| class="wikitable" border="1"
|-
|-
|<#metdateyesterday>
!style="width:150px" |Web tag_name
|The previous meteorological date. If using a 9am/10am rollover, then between midnight and 9am/10am the <#metdateyesterday> will be the calendar day before that returned by <#yesterday>, otherwise both return same. 
!style="width:600px" | Function
 
Can be used with relevant format parameters to indicate correct day on yesterdayT.htm template page, and can be used to return latest day stored on [[dayfile.txt]] and NOAA report for latest month.
|-
|-
|<#yesterday>
|<#date>
|Yesterdays date
|The current date
|-
|-
|<#rollovertime>
|<#time>
|The time that the logs rollover to the next day: 'Midnight', '9 am' or '10 am'
|The current time and date. Example result: 18:30 on 30 December 2009.  If you simply wish the time, use next tag (below)
|-
|-
|<#update>
|<#timehhmmss>
|The date and time of the last web site update
|The current time. Example format: 18:30:27
|-
|-
|<#LastDataReadT>
|<#timeUTC>
|The date/time data was last read from the station
|The current UTC date/time rather than local date/time
|-
|-
|<#DaysSince30Dec1899>  
|<#minute>
|Day count (gives whole and fractional part) Example: 41250.6523310301
|The current time, just the minutes. Example format: 07
|-
|-
|<#recordsbegandate>
|<#hour>
|Date when records began (appears twice on "recordsT.htm" provided, and used to calculate next tag, but ignored for all other Cumulus processing)
|The current time, just the hour. Example format: 07
|-
|-
|<#DaysSinceRecordsBegan>
|<#day>
|Day count since Cumulus records started
| The current day as a 2-digit number. Example format: 07 
|}
 
==Current Conditions==
 
The web tags/token shown here are mainly determined by which appear on "Now" page (index.htm).
Rainfall this month and this year are included here for consistency with supplied web templates (indexT.htm, thismonthT.htm, and thisyearT.htm) and with the dashboard 'Now' part of the Cumulus MX user; although you might expect to find them listed in tables for this month and this year, those web pages do not show these derivatives.
Those listed here cover both measurements obtained from a weather station (like air temperature, wind speed and direction, humidity and barometric pressure); and all the derived values (like humidex, feels like, apparent temperature, wind chill and heat index).
 
Note however, that the derived values calculated for Cumulus 1 and for MX may not agree, see derived value section within Recent History tags section for examples.
{| class="wikitable" border="1"
|-
|-
!style="width:150px" | Web tag_name
|<#dayname>
!style="width:600px" | Function
| The current day as a word.  For example, Monday
|-
|-
|colspan="2" style="background:lightgray;"|Temperature
|<#shortdayname>
| The current day as a shortened word. Example format: Mon
|-
|-
|<#temp>
|<#month>
|The outside (air) temperature
|The current month as a 2-digit number. Example format: 07
|-
|<#monthname>
|The current month as a word. Example format: July
|-
|-
|<#intemp>
|<#shortmonthname>
|The inside temperature
|The current month as a shortened word. Example format: Jul
|-
|-
|<#temptrend>
|<#year>
|The average rate of change in temperature over the last three hours. Trend = (temp_now - temp_3hrs_ago) / 3
|The current year as a 4-digit number. Example format: 2009
|-
|-
|<#temptrendtext>
|<#shortyear>
|Temperature change over the last three hours - Rising/Falling/Steady (values can be set in strings.ini)
|The current year as a 2-digit number. Example format: 09
|-
|-
|<#temptrendenglish>
|<#metdate>
|Temperature change over the last three hours - Rising/Falling/Steady (for use by [[Webtags_as_boolean_operators_in_HTML|HTML]], [[Editing_content_of_a_webpage_using_either_HTML_or_Script|javascript]] etc, values can't be changed)
|The current meteorological date. After rollover time on current calendar date, this date will be the same as the current date. If using a 9am/10am rollover, then between midnight and 9am/10am the <#metdate> will be the previous calendar day. 
 
Can be used with relevant format parameters to indicate current meteorological day on todayT.htm template page, meteorological month on thismonthT.htm template page, or meteorological year on thisyearT.htm template page
|-
|-
|<#TempChangeLastHour>
|<#metdateyesterday>
|The change in temperature over the last hour
|The previous meteorological date. If using a 9am/10am rollover, then between midnight and 9am/10am the <#metdateyesterday> will be the calendar day before that returned by <#yesterday>, otherwise both return same. 
 
Can be used with relevant format parameters to indicate correct day on yesterdayT.htm template page, and can be used to return latest day stored on [[dayfile.txt]] and NOAA report for latest month.
|-
|-
|<#heatindex>
|<#yesterday>
|Current [[heat index]].  The referenced page in weather terminology section of this Wiki explains it.
|Yesterdays date
|-
|-
|<#humidex>
|<#rollovertime>
|Current [http://en.wikipedia.org/wiki/Humidex Humidex]
|The time that the logs rollover to the next day: 'Midnight', '9 am' or '10 am'
|-
|-
|<#apptemp>
|<#update>
|The [[Apparent_temperature|apparent]] temperature.  The referenced page in weather terminology section of this Wiki explains it. The formula used is that defined by BOM. Although at temperatures above 20°C (68°F) Feels like reports an "apparent temperature" it uses a different formula.
|The date and time of the last web site update
|-
|-
|<#wchill>
|<#LastDataReadT>
|The current [[wind chill]] temperature.  The referenced page in weather terminology section of this Wiki explains it. For temperatures below 10°C (50°F) Feels like reports the same value.
|The date/time data was last read from the station
|-
|-
|<#feelslike>
|<#DaysSince30Dec1899>  
|The current [[Feels_Like|Feels Like]] temperature.  The referenced page in weather terminology section of this Wiki explains it. Although output from version 3.5.4 build 3075, the correct value is only available from version 3.6.10 (build 3086) onwards as incorrect formula used in builds 3084 and 3085, and a different formula used in builds from 3075 to 3083.
|Day count (gives whole and fractional part) Example: 41250.6523310301
|-
|-
|<#IsFreezing>
|<#recordsbegandate>
|If outside temperature is at or below 0°C/32°F. 0=Above freezing, 1=Below freezing
|Date when records began (appears twice on "recordsT.htm" provided, and used to calculate next tag, but ignored for all other Cumulus processing)
|-
|-
|<#chillhours>
|<#DaysSinceRecordsBegan>
|The number of [[Heat/cold_degree_days_and_Chill_hours#Chill_Hours_and.2For_Air_Frost|'chill hours']] so far this season (threshold temperature and start date are configurable).
|Day count since Cumulus records started
|-
|}
|colspan="2" style="background:lightgray;"|Humidity
 
==Current Conditions==
 
The web tags/token shown here are mainly determined by which appear on "Now" page (index.htm).
Rainfall this month and this year are included here for consistency with supplied web templates (indexT.htm, thismonthT.htm, and thisyearT.htm) and with the dashboard 'Now' part of the Cumulus MX user; although you might expect to find them listed in tables for this month and this year, those web pages do not show these derivatives.
Those listed here cover both measurements obtained from a weather station (like air temperature, wind speed and direction, humidity and barometric pressure); and all the derived values (like humidex, feels like, apparent temperature, wind chill and heat index).
 
Note however, that the derived values calculated for Cumulus 1 and for MX may not agree, see derived value section within Recent History tags section for examples.
{| class="wikitable" border="1"
|-
!style="width:150px" | Web tag_name
!style="width:600px" | Function
|-
|colspan="2" style="background:lightgray;"|Temperature
|-
|<#temp>
|The outside (air) temperature
|-
|<#intemp>
|The inside temperature
|-
|<#temptrend>
|The average rate of change in temperature over the last three hours. Trend = (temp_now - temp_3hrs_ago) / 3
|-
|<#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 [[Webtags_as_boolean_operators_in_HTML|HTML]], [[Editing_content_of_a_webpage_using_either_HTML_or_Script|javascript]] etc, values can't be changed)
|-
|<#TempChangeLastHour>
|The change in temperature over the last hour
|-
|<#heatindex>
|Current [[heat index]].  The referenced page in weather terminology section of this Wiki explains it.
|-
|<#humidex>
|Current [http://en.wikipedia.org/wiki/Humidex Humidex]
|-
|<#apptemp>
|The [[Apparent_temperature|apparent]] temperature.  The referenced page in weather terminology section of this Wiki explains it. The formula used is that defined by BOM. Although at temperatures above 20°C (68°F) Feels like reports an "apparent temperature" it uses a different formula.
|-
|<#wchill>
|The current [[wind chill]] temperature.  The referenced page in weather terminology section of this Wiki explains it. For temperatures below 10°C (50°F) Feels like reports the same value.
|-
|<#feelslike>
|Not available in Cumulus 1. Not available in all MX versions. Please see sub-section below this table regarding availability by MX versions if you are using a MX version earlier than 3.6.10.
 
The current [[Feels_Like|Feels Like]] temperature.  The referenced page in weather terminology section of this Wiki explains it.
|-
|<#IsFreezing>
|If outside temperature is at or below 0°C/32°F. 0=Above freezing, 1=Below freezing
|-
|<#chillhours>
|The number of [[Heat/cold_degree_days_and_Chill_hours#Chill_Hours_and.2For_Air_Frost|'chill hours']] so far this season (threshold temperature and start date are configurable).
|-
|colspan="2" style="background:lightgray;"|Humidity
|-
|<#hum>
|The outside [http://en.wikipedia.org/wiki/Humidity humidity]
|-
|<#inhum>
|The inside humidity
|-
|<#dew>
|The current dew point
|-
|<#wetbulb>
|Estimated [http://en.wikipedia.org/wiki/Wet_bulb wet bulb] temperature, can be seen if hover over 'Dewpoint' on Cumulus 1 main screen
|-
|colspan="2" style="background:lightgray;"|Rainfall
|-
|<#rfall>
|The total rainfall so far today
|-
|<#rrate>
|The current rainfall rate
|-
|<#rhour>
|The rainfall in the last hour
|-
|<#rmidnight>
|The total rainfall since midnight. Useful if you don't use midnight as your start of day
|-
|<#r24hour>
|Amount of rain in the last 24 hours
|-
|<#LastRainTipISO>
|Fixed ISO format output giving date and time of last rain gauge tip (e.g 2010-09-06 06:09) The format is a shown, and cannot be modified by locale or addition of parameters.
|-
|<#LastRainTip>
| (available from release 3.6.1) Date/time of last rain gauge tip (default format is as set in locale) '''PLEASE NOTE: this web tag WILL accept any date and time output format modifiers'''
|-
|<#MinutesSinceLastRainTip>
|The number of minutes since the last rain gauge tip, in whole numbers, rounded down
|-
|<#IsRaining>
|For [[Rain_measurement#Optical_Rain_Gauge| Hydreon RG-11 devices]], shows the current rain state. 0=No rain, 1=It's raining
|-
|<#rmonth>
|The total rainfall so far this month
|-
|-
|<#hum>
|<#ryear>
|The outside [http://en.wikipedia.org/wiki/Humidity humidity]
|Annual rainfall total for rainfall season year (i.e. starting month as set on Configuration menu, station screen,  Annual rainfall frame)
|-
|-
|<#inhum>
|<#ConsecutiveRainDays>
|The inside humidity
|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, the units for the threshold are the same as your rain units, meteorologists exclude dew (and other times when single tip of recorder).
|-
|-
|<#dew>
|<#ConsecutiveDryDays>
|The current dew point
|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 the units for the threshold are the same as your rain units
|-
|-
|<#wetbulb>
|colspan="2" style="background:lightgray;"|Pressure
|Estimated [http://en.wikipedia.org/wiki/Wet_bulb wet bulb] temperature, can be seen if hover over 'Dewpoint' on Cumulus 1 main screen
|-
|-
|colspan="2" style="background:lightgray;"|Rainfall
|<#press>
|The [http://en.wikipedia.org/wiki/Sea_level_pressure sea level pressure]
|-
|-
|<#rfall>
|<#presstrendval>
|The total rainfall so far today
|The average rate of pressure change over the last three hours.
|-
|-
|<#rrate>
|<#presstrend>
|The current rainfall rate
|The pressure trend in words - values can be set in the 'strings.ini' file
|-
|-
|<#rhour>
|<#presstrendenglish>
|The rainfall in the last hour
| a singe word description for the pressure trend - Rising/Falling/Steady (for use by [[Webtags_as_boolean_operators_in_HTML|HTML]], [[Editing_content_of_a_webpage_using_either_HTML_or_Script|javascript]] etc, values can't be changed)
|-
|-
|<#rmidnight>
|<#altimeterpressure>
|The total rainfall since midnight. Useful if you don't use midnight as your start of day
|Altimeter pressure. Pressure corrected to sea level using the station's altitude only. Same as sea-level pressure for non-Davis stations.
|-
|-
|<#r24hour>
|colspan="2" style="background:lightgray;"|Wind
|Amount of rain in the last 24 hours
|-
|-
|<#LastRainTipISO>
|<#wlatest>
|Fixed ISO format output giving date and time of last rain gauge tip (e.g 2010-09-06 06:09) The format is a shown, and cannot be modified by locale or addition of parameters.
|Current wind speed reading from console. Corresponds to 'latest' on the Cumulus main screen.
|-
|-
|<#LastRainTip>
|<#bearing>
| (available from release 3.6.1) Date/time of last rain gauge tip (default format is as set in locale) '''PLEASE NOTE: this web tag WILL accept any date and time output format modifiers'''
|Current wind bearing in degrees
|-
|-
|<#MinutesSinceLastRainTip>
|<#currentwdir>
|The number of minutes since the last rain gauge tip, in whole numbers, rounded down
|Current wind bearing as a compass point - e.g. ESE
|-
|-
|<#IsRaining>
|<#wspeed>
|For [[Rain_measurement#Optical_Rain_Gauge| Hydreon RG-11 devices]], shows the current rain state. 0=No rain, 1=It's raining
|The 10-minute average, if you have Cumulus set to calculate a 10-minute average. Otherwise, it's the latest 'wind' value from the console (i.e. the current speed as determined by the station). Corresponds to 'average' on the Cumulus main screen.
|-
|-
|<#rmonth>
|<#avgbearing>
|The total rainfall so far this month
|Average wind bearing in degrees over last 10 minutes. Range 1-360, 0=Calm
|-
|-
|<#ryear>
|<#wdir>
|Annual rainfall total for rainfall season year (i.e. starting month as set on Configuration menu, station screen,  Annual rainfall frame)
|Average wind bearing over last 10 minutes as a [http://en.wikipedia.org/wiki/Compass compass] point - e.g. ESE
|-
|-
|<#ConsecutiveRainDays>
|<#wgust>
|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, the units for the threshold are the same as your rain units, meteorologists exclude dew (and other times when single tip of recorder).
|The highest wind reading in the last 10 minutes. Corresponds to 'gust' on the Cumulus main screen.
|-
|-
|<#ConsecutiveDryDays>
|<#wdirdata>
|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 the units for the threshold are the same as your rain units
|Comma separated list of recent wind bearing readings (every x seconds, up to 3600 entries). This is a circular buffer; to find the most recent value use nextwindindex. Reading interval x varies by station type.
|-
|-
|colspan="2" style="background:lightgray;"|Pressure
|<#wspddata>
|Comma separated list of recent individual (non-averaged) wind speed (correspond to 'latest' on the Cumulus main screen) readings (every x seconds, up to 3600 entries). This is a circular buffer; to find the most recent value use nextwindindex. Reading interval x varies by station type.
|-
|-
|<#press>
|<#nextwindindex>
|The [http://en.wikipedia.org/wiki/Sea_level_pressure sea level pressure]
|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!
|-
|-
|<#presstrendval>
|<#beaufort>
|The average rate of pressure change over the last three hours.
|The current wind speed on the [http://en.wikipedia.org/wiki/Beaufort_scale Beaufort scale] (e.g. F8)
|-
|-
|<#presstrend>
|<#beaufortnumber>
|The pressure trend in words - values can be set in the 'strings.ini' file
|The current wind speed on the Beaufort scale, without a leading "F", e.g. "6"
|-
|-
|<#presstrendenglish>
|<#beaudesc>
| a singe word description for the pressure trend - Rising/Falling/Steady (for use by [[Webtags_as_boolean_operators_in_HTML|HTML]], [[Editing_content_of_a_webpage_using_either_HTML_or_Script|javascript]] etc, values can't be changed)
|The current wind speed Beaufort description (e.g. "Gale")
|-
|-
|<#altimeterpressure>
|<#BearingRangeFrom>
|Altimeter pressure. Pressure corrected to sea level using the station's altitude only. Same as sea-level pressure for non-Davis stations.
|The 'lowest' clockwise bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini)
|-
|-
|colspan="2" style="background:lightgray;"|Wind
|<#BearingRangeTo>
|The 'highest' clockwise bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini)
|-
|-
|<#wlatest>
|<#BearingRangeFrom10>
|Current wind speed reading from console.  Corresponds to 'latest' on the Cumulus main screen.
|The 'lowest' clockwise bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini), rounded down to nearest 10 degrees
|-
|-
|<#bearing>
|<#BearingRangeTo10>
|Current wind bearing in degrees
|The 'highest' clockwise bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini), rounded down to nearest 10 degrees
|-
|-
|<#currentwdir>
|<#WindRoseData>
|Current wind bearing as a compass point - e.g. ESE
|A comma-separated list of the wind 'totals' used to draw the wind rose (8 or 16 values)
|-
|-
|<#wspeed>
|<#WindRosePoints>
|The 10-minute average, if you have Cumulus set to calculate a 10-minute average. Otherwise, it's the latest 'wind' value from the console (i.e. the current speed as determined by the station). Corresponds to 'average' on the Cumulus main screen.
|The number of items in <#WindRoseData> (i.e. 8 or 16)
|-
|-
|<#avgbearing>
|<#WindSampleCount>
|Average wind bearing in degrees over last 10 minutes. Range 1-360, 0=Calm
|The number of wind samples making up the wind rose (etc) data (up to 3600)
|-
|-
|<#wdir>
|colspan="2" style="background:lightgray;"|Miscellaneous
|Average wind bearing over last 10 minutes as a [http://en.wikipedia.org/wiki/Compass compass] point - e.g. ESE
|-
|-
|<#wgust>
|<#cloudbase>
|The highest wind reading in the last 10 minutes. Corresponds to 'gust' on the Cumulus main screen.
|Calculated [http://en.wikipedia.org/wiki/Cloud_base cloud base]
|-
|-
|<#wdirdata>
|<#cloudbasevalue>
|Comma separated list of recent wind bearing readings (every x seconds, up to 3600 entries). This is a circular buffer; to find the most recent value use nextwindindex. Reading interval x varies by station type.
|Current calculated cloud base without units
|-
|-
|<#wspddata>
|<#UV>
|Comma separated list of recent individual (non-averaged) wind speed (correspond to 'latest' on the Cumulus main screen) readings (every x seconds, up to 3600 entries). This is a circular buffer; to find the most recent value use nextwindindex. Reading interval x varies by station type.
|Current [http://en.wikipedia.org/wiki/Uv_index UV index]. Requires your station to have a UV sensor.
|-
|-
|<#nextwindindex>
|<#SolarRad>
|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!
|Current [http://en.wikipedia.org/wiki/Solar_radiation solar radiation]. Requires your station to have a solar sensor.
|-
|-
|<#beaufort>
|The current wind speed on the [http://en.wikipedia.org/wiki/Beaufort_scale Beaufort scale] (e.g. F8)
|-
|-
|<#beaufortnumber>
|<#Light>
|The current wind speed on the Beaufort scale, without a leading "F", e.g. "6"
|Current Current light level in Lux. Requires your station to have a solar sensor. Only applies to Fine Offset stations.
|-
|-
|<#beaudesc>
|[[Forecast_webtag|<#forecast>]]
|The current wind speed Beaufort description (e.g. "Gale")
|The current forecast
|-
|-
|<#BearingRangeFrom>
|<#forecastenc>
|The 'lowest' clockwise bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini)
|The same as <#forecast> but with all reserved HTML characters, and those above character code 159, encoded as HTML entities
|-
|-
|<#BearingRangeTo>
|<#forecastnumber>
|The 'highest' clockwise bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini)
|The number relating to the current forecast entry in the [[strings.ini]] file.  If your station is not providing it's own forecast and Cumulus is not calculating one then 0 (zero) is returned. Note: two negative numbers can be returned by Cumulus: -1 (neg 1) = Exceptional Fine, -26 (neg 26) = Exceptional Bad
|-
|-
|<#BearingRangeFrom10>
|<#cumulusforecast>
|The 'lowest' clockwise bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini), rounded down to nearest 10 degrees
|Always gives Cumulus (Zambretti) forecast, even if the <#forecast> tag provides a station forecast
|-
|-
|<#BearingRangeTo10>
|<#cumulusforecastenc>
|The 'highest' clockwise bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini), rounded down to nearest 10 degrees
|The same as <#cumulusforecast> but with all reserved HTML characters, and those above character code 159, encoded as HTML entities
|-
|-
|<#WindRoseData>
|<#wsforecast>
|A comma-separated list of the wind 'totals' used to draw the wind rose (8 or 16 values)
|Always gives station forecast (if available)
|-
|-
|<#WindRosePoints>
|<#wsforecastenc>
|The number of items in <#WindRoseData> (i.e. 8 or 16)
|The same as <#wsforecast> but with all reserved HTML characters, and those above character code 159, encoded as HTML entities
|-
|-
|<#WindSampleCount>
|<#currcond>
|The number of wind samples making up the wind rose (etc) data (up to 3600)
|Represents the value entered on the screen within Cumulus for the Current Weather condition, or the value as held in the [[currentconditions.txt]] file. Any reserved HTML characters are encoded as HTML entities
|-
|-
|colspan="2" style="background:lightgray;"|Miscellaneous
|<#currcondenc>
|-
|The same as <#currcond> but also has all characters above (decimal base) code 159 encoded as HTML entities for example this would encode any use of symbol for degree.
|<#cloudbase>
|}
|Calculated [http://en.wikipedia.org/wiki/Cloud_base cloud base]
==== Feels Like ====
 
The figures quoted for this derivative vary between versions:
* The first formula was used from MX version 3.5.4 (25 Apr 2020) build 3075 until version 3.6.7 (4 June 2020) build 3083
* The second formula, which was coded incorrectly, and so gave strange results, applied in versions 3.6.8 to 3.6.9 (build 3084, 3085)
* The third, and hopefully final, formula applies from version 3.6.10 (build 3086).
 
A php script for adding feels like as calculated in version 3.6.10 to any standard log line created either without feels like, or with an older calculation, can be downloaded from [https://cumulus.hosiene.co.uk/viewtopic.php?f=18&t=18096 Create Missing topic on support forum]
 
==Extra Sensors Davis (and a few others)==
 
These web tags hold current values for additional sensors supported by Cumulus. Most of the tags in this section relate to Davis stations, but not exclusively.
 
Some tags are only available for certain builds, see general tip at top of page to check for the build you are using. In particular Cumulus 1 has fewer channels available.
 
There are no web tags for past values from extra sensors, see the [[Extra_Sensor_Files]] page for information about log files from where you can extract those values.
 
{| class="wikitable" border="1"
|-
|-
|<#cloudbasevalue>
!style="width:150px"|Web tag_name
|Current calculated cloud base without units
!style="width:600px"|The related description can be changed in 'strings.ini', but below are default descriptions that will be shown in viewer/editor
|-
|-
|<#UV>
|<#ExtraTemp1>
|Current [http://en.wikipedia.org/wiki/Uv_index UV index]. Requires your station to have a UV sensor.
|Extra temperature channel 1
|-
|-
|<#SolarRad>
|<#ExtraTemp2>
|Current [http://en.wikipedia.org/wiki/Solar_radiation solar radiation]. Requires your station to have a solar sensor.
|Extra temperature channel 2
|-
|-
|<#ExtraTemp3>
|Extra temperature channel 3
|-
|-
|<#Light>
|colspan="2"|... and so on up to <#ExtraTemp10> = Extra temperature channel 10
|Current Current light level in Lux. Requires your station to have a solar sensor. Only applies to Fine Offset stations.
|-
|-
|[[Forecast_webtag|<#forecast>]]
|<#ExtraDP1>
|The current forecast
|Extra dew point channel 1
|-
|-
|<#forecastenc>
|<#ExtraDP2>
|The same as <#forecast> but with all reserved HTML characters, and those above character code 159, encoded as HTML entities
|Extra dew point channel 2
|-
|-
|<#forecastnumber>
|<#ExtraDP3>
|The number relating to the current forecast entry in the [[strings.ini]] file.  If your station is not providing it's own forecast and Cumulus is not calculating one then 0 (zero) is returned.  Note: two negative numbers can be returned by Cumulus: -1 (neg 1) = Exceptional Fine, -26 (neg 26) = Exceptional Bad
|Extra dew point channel 3
|-
|-
|<#cumulusforecast>
|colspan="2"|... and so on up to <#ExtraDP10>
|Always gives Cumulus (Zambretti) forecast, even if the <#forecast> tag provides a station forecast
|-
|-
|<#cumulusforecastenc>
|<#ExtraHum1>
|The same as <#cumulusforecast> but with all reserved HTML characters, and those above character code 159, encoded as HTML entities
|Extra humidity channel 1
|-
|-
|<#wsforecast>
|<#ExtraHum2>
|Always gives station forecast (if available)
|Extra humidity channel 2
|-
|-
|<#wsforecastenc>
|<#ExtraHum3>
|The same as <#wsforecast> but with all reserved HTML characters, and those above character code 159, encoded as HTML entities
|Extra humidity channel 3
|-
|-
|<#currcond>
|colspan="2"|... and so on up to <#ExtraHum10>
|Represents the value entered on the screen within Cumulus for the Current Weather condition, or the value as held in the [[currentconditions.txt]] file. Any reserved HTML characters are encoded as HTML entities
|-
|-
|<#currcondenc>
|<#SoilTemp1>
|The same as <#currcond> but also has all characters above (decimal base) code 159 encoded as HTML entities for example this would encode any use of symbol for degree.
|Soil temperature 1
|}
 
==Extra Sensors Davis (and a few others)==
 
These web tags hold current values for additional sensors supported by Cumulus. Most of the tags in this section relate to Davis stations, but not exclusively.
 
Some tags are only available for certain builds, see general tip at top of page to check for the build you are using. In particular Cumulus 1 has fewer channels available.
 
There are no web tags for past values from extra sensors, see the [[Extra_Sensor_Files]] page for information about log files from where you can extract those values.
 
{| class="wikitable" border="1"
|-
|-
!style="width:150px"|Web tag_name
|<#SoilTemp2>
!style="width:600px"|The related description can be changed in 'strings.ini', but below are default descriptions that will be shown in viewer/editor
|Soil temperature 2
|-
|-
|<#ExtraTemp1>
|colspan="2"|... and so on up to <#SoilTemp16>
|Extra temperature channel 1
|-
|-
|<#ExtraTemp2>
|<#SoilMoisture1>
|Extra temperature channel 2
|Soil moisture 1
|-
|-
|<#ExtraTemp3>
|<#SoilMoisture2>
|Extra temperature channel 3
|Soil moisture 2
|-
|-
|colspan="2"|... and so on up to <#ExtraTemp10> = Extra temperature channel 10
|colspan="2"|... and so on up to <#SoilMoisture16>
|-
|-
|<#ExtraDP1>
|<#LeafTemp1>
|Extra dew point channel 1
|Leaf temperature 1
|-
|-
|<#ExtraDP2>
|<#LeafTemp2>
|Extra dew point channel 2
|Leaf temperature 2
|-
|-
|<#ExtraDP3>
|<#LeafWetness1>
|Extra dew point channel 3
|Leaf wetness 1
|-
|-
|colspan="2"|... and so on up to <#ExtraDP10>
|<#LeafWetness2>
|Leaf wetness 2  
|}
 
==Extra Sensors Ecowitt==
 
This section applies only to those using Ecowitt GW1000 (Froggit DS1500) an interface unit that picks up various external sensors and sends the data via an application programming interface to MX which then generates the following web tags:
 
{| class="wikitable" border="1"
|-
|-
|<#ExtraHum1>
!style="width:150px" |Web tag_name
|Extra humidity channel 1
!style="width:600px" |Function
|-
|-
|<#ExtraHum2>
|<#GW1000FirmwareVersion>
|Extra humidity channel 2
|GW1000 firmware version string
|}
 
 
{| class="wikitable" border="1"
|-
|-
|<#ExtraHum3>
!style="width:150px"|Web tag_name
|Extra humidity channel 3
!style="width:600px"|The related description can be changed in 'strings.ini', but below are default descriptions that will be shown in the viewer/editor
|-
|-
|colspan="2"|... and so on up to <#ExtraHum10>
|<#AirQuality1>
|Air quality 1
|-
|-
|<#SoilTemp1>
|colspan="2"|... and so on up to <#AirQuality4>
|Soil temperature 1
|-
|-
|<#SoilTemp2>
|<#LeakSensor1>
|Soil temperature 2
|Leak sensor - 0 or 1
|-
|-
|colspan="2"|... and so on up to <#SoilTemp16>
|colspan="2"|... and so on up to <#LeakSensor4>
|-
|-
|<#SoilMoisture1>
|<#LightningDistance>
|Soil moisture 1
|Distance to last strike (same units as wind run - miles/km/nm) (Returns 0.0 if you don't have a sensor, GW1000 api returns max value you can put in a byte - 0xFF which translates to 158.4 miles = 255 km if have sensor but no strike detected yet, so MX translates that to '----')
|-
|-
|<#SoilMoisture2>
|<#LightningTime>
|Soil moisture 2
|Date and Time of last strike (default without output parameters is locale's short time format e.g. 18:02 or 6:02 pm, without date, but tag accepts both date and time output parameters). Returns '----' if you don't have sensor or there has not been a strike since the sensor was installed. (GW1000 api returns FFFF FFFF seconds after midnight on 01 Jan 1970, which translates to 07/02/2106 06:28:15, so MX translates that to '----')
|-
|-
|colspan="2"|... and so on up to <#SoilMoisture16>
|<#LightningStrikesToday>
|Number of strikes since midnight, default 0
|-
|-
|<#LeafTemp1>
|<#UserTemp1>  
|Leaf temperature 1
|User Temperature 1
support for the Ecowitt WH34 (other model types exist and are reported here as if WH34) soil and water temperature sensors
|-
|-
|<#LeafTemp2>
|colspan="2"|... and so on up to <#UserTemp8> = User temperature 8
|Leaf temperature 2
|-
|<#LeafWetness1>
|Leaf wetness 1
|-
|<#LeafWetness2>
|Leaf wetness 2
|}
|}


==Extra Sensors Ecowitt==


This section applies only to those using Ecowitt GW1000 (Froggit DS1500) an interface unit that picks up various external sensors and sends the data via an application programming interface to MX which then generates the following web tags:
Ecowitt stations are sold under other names depending on nation,  e.g. Ambient in USA, Froggit in central Europe, so Ecowitt is used as a generic name in same way as Fine Offset is used elsewhere in this article.
 
==Recent History==
 
There are a set of web tags for 'recent historical data', based on an array stored by Cumulus giving data values from 1 minute ago, up to 1 week ago, in 1 minute intervals. As Cumulus runs it will add the latest values to the array with full resolution, and shift existing values along so those older than 7 days fall off.  Following the table giving the tags actually available, there is a section on how to derive a few more tags.


{| class="wikitable" border="1"
(Note that Cumulus uses current time read from the computer to determine which array element it stores each value in. Hence ''when clocks go back'' the value stored for winter time overwrites the value previously stored for same time during summer time for the relevant repeating hour. Hence even if you use 10am for your rollover time in summer, you will not have access to a whole hour worth of data when the clocks change as either the hour has been overwritten or ''when the clocks go forward'' it simply does not exist).
|-
 
!style="width:150px" |Web tag_name
[[#No_Commas]] versions of the array are available for use in script.
!style="width:600px" |Function
 
|-
=== Input Parameters ===
|<#GW1000FirmwareVersion>
 
|GW1000 firmware version string
You specify which value you want from the array by using parameters on the web tags for number of days ago, hours ago, and minutes ago. The same d, h, and m, parameters are used by Cumulus 1 and MX.
|}
 
All values supplied for parameters must be whole numbers.
 
If you don't supply any parameters, the result is undefined for Cumulus 1, and an illegal web tag for MX.
 
<#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>).


<#RecentOutsideTemp d=1> will give the temperature one day ago. '''Please note:''' Some Cumulus users say that using <#RecentOutsideTemp  d=1 m=1> is more reliable at getting the temperature at a similar time the day before, the extra minute apparently gives better results when you might not be using Cumulus all the time, or your weather station might have some drift on when it supplies readings. See which works best for you.


{| class="wikitable" border="1"
<#RecentOutsideTemp d=1 h=1 m=1> will give the temperature one day, one hour and one minute ago.
|-
!style="width:150px"|Web tag_name
!style="width:600px"|The related description can be changed in 'strings.ini', but below are default descriptions that will be shown in the viewer/editor
|-
|<#AirQuality1>
|Air quality 1
|-
|colspan="2"|... and so on up to <#AirQuality4>
|-
|<#LeakSensor1>
|Leak sensor - 0 or 1  
|-
|colspan="2"|... and so on up to <#LeakSensor4>
|-
|<#LightningDistance>
|Distance to last strike (same units as wind run - miles/km/nm) (Returns 0.0 if you don't have a sensor, GW1000 api returns max value you can put in a byte - 0xFF which translates to 158.4 miles = 255 km if have sensor but no strike detected yet, so MX translates that to '----')
|-
|<#LightningTime>
|Date and Time of last strike (default without output parameters is locale's short time format e.g. 18:02 or 6:02 pm, without date, but tag accepts both date and time output parameters). Returns '----' if you don't have sensor or there has not been a strike since the sensor was installed. (GW1000 api returns FFFF FFFF seconds after midnight on 01 Jan 1970, which translates to 07/02/2106 06:28:15, so MX translates that to '----')
|-
|<#LightningStrikesToday>
|Number of strikes since midnight, default 0
|-
|<#UserTemp1>
|User Temperature 1
support for the Ecowitt WH34 (other model types exist and are reported here as if WH34) soil and water temperature sensors
|-
|colspan="2"|... and so on up to <#UserTemp8> = User temperature 8
|}


'''Please note that parameters specify time-stamped array element to retrieve based on counting back from current local time''' so the result for ''any period including when clocks change'' may not be quite what you anticipated.


Ecowitt stations are sold under other names depending on nation,  e.g. Ambient in USA, Froggit in central Europe, so Ecowitt is used as a generic name in same way as Fine Offset is used elsewhere in this article.


==Recent History==
=== During catch-up ===
When Cumulus is re-started the array it sets up will be based on reading the logs, so the contents 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 a time for which there is currently no exact match, and the first tag listed tells you that nearest time.


There are a set of web tags for 'recent historical data', based on an array stored by Cumulus giving data values from 1 minute ago, up to 1 week ago, in 1 minute intervals. As Cumulus runs it will add the latest values to the array with full resolution, and shift existing values along so those older than 7 days fall off.  Following the table giving the tags actually available, there is a section on how to derive a few more tags.
=== Variations between Builds/Versions ===
Before build 1098, the recent history array did not initialise correctly from the station logger for the period since Cumulus was last run.


(Note that Cumulus uses current time read from the computer to determine which array element it stores each value in. Hence ''when clocks go back'' the value stored for winter time overwrites the value previously stored for same time during summer time for the relevant repeating hour. Hence even if you use 10am for your rollover time in summer, you will not have access to a whole hour worth of data when the clocks change as either the hour has been overwritten or ''when the clocks go forward'' it simply does not exist).
The input parameters are same for Cumulus 1 and Cumulus MX, they always use lower case d, h or m.


[[#No_Commas]] versions of the array are available for use in script.
The list of tags available has not changed between last Cumulus 1 release and any MX release. Any new derivatives reported elsewhere have not resulted in equivalent new recent history tags.
 
=== Input Parameters ===
 
You specify which value you want from the array by using parameters on the web tags for number of days ago, hours ago, and minutes ago. The same d, h, and m, parameters are used by Cumulus 1 and MX.
 
All values supplied for parameters must be whole numbers.
 
If you don't supply any parameters, the result is undefined for Cumulus 1, and an illegal web tag for MX.
 
<#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>).
 
<#RecentOutsideTemp d=1> will give the temperature one day ago. '''Please note:''' Some Cumulus users say that using <#RecentOutsideTemp  d=1 m=1> is more reliable at getting the temperature at a similar time the day before, the extra minute apparently gives better results when you might not be using Cumulus all the time, or your weather station might have some drift on when it supplies readings. See which works best for you.
 
<#RecentOutsideTemp d=1 h=1 m=1> will give the temperature one day, one hour and one minute ago.
 
'''Please note that parameters specify time-stamped array element to retrieve based on counting back from current local time''' so the result for ''any period including when clocks change'' may not be quite what you anticipated.
 
 
=== During catch-up ===
When Cumulus is re-started the array it sets up will be based on reading the logs, so the contents 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 a time for which there is currently no exact match, and the first tag listed tells you that nearest time.
 
=== Variations between Builds/Versions ===
Before build 1098, the recent history array did not initialise correctly from the station logger for the period since Cumulus was last run.
 
The input parameters are same for Cumulus 1 and Cumulus MX, they always use lower case d, h or m.
 
The list of tags available has not changed between last Cumulus 1 release and any MX release. Any new derivatives reported elsewhere have not resulted in equivalent new recent history tags.


=== Table of Recent History web tags available ===
=== Table of Recent History web tags available ===
Line 1,189: Line 1,218:
|-
|-
|<#RecentWindChill>
|<#RecentWindChill>
|Wind Chill
|Wind Chill (if temperature is below 10°C or 50 °F, then the new Feels Like now available in MX will report this same value).
| <#RecentWindChill d=48 m=1> reports the wind chill temperature 2 days ago
| <#RecentWindChill d=48 m=1> reports the wind chill temperature 2 days ago
|-
|-
Line 1,250: Line 1,279:
| d=n (where n runs 0 to 6) days ago; h=n (where n is any number of hours ago); m=n (where n is any number of minutes ago)
| d=n (where n runs 0 to 6) days ago; h=n (where n is any number of hours ago); m=n (where n is any number of minutes ago)
|}
|}


=== Other weather derivatives ===
=== Other weather derivatives ===
Line 1,271: Line 1,299:
H = (5/9 * (<#RecentHumidity h=3> /100 * svp - 10)) + <#RecentOutsideTemp h=3;
H = (5/9 * (<#RecentHumidity h=3> /100 * svp - 10)) + <#RecentOutsideTemp h=3;


==== Apparent Temperature ====
==== Apparent Temperature and Feels Like ====


Note this formula uses Celsius for temperature and metres per second for wind speed. You will need to do the appropriate conversions if you use different units.  Formula is same for Cumulus 1 and MX.
Note this apparent temperature formula uses Celsius for temperature and '''metres per second''' for wind speed. You will need to do the appropriate conversions from the quoted recent history tags if you use different units.  The Australian Apparent temperature formula is same for Cumulus 1 and MX:


var actualVaporPress = <#RecentHumidity h=3>/100) * 6.105 * Math.exp(17.27 * <#RecentOutsideTemp h=3>) / (237.7 + parseFloat(<#RecentOutsideTemp h=3>))));
var actualVaporPress = <#RecentHumidity h=3>/100) * 6.105 * Math.exp(17.27 * <#RecentOutsideTemp h=3>) / (237.7 + parseFloat(<#RecentOutsideTemp h=3>))));
var appTempDegC = parseFloat(<#RecentOutsideTemp h=3) + (0.33 * actualVaporPress) - (0.7 * <#RecentWindSpeed h=3>) - 4;
var appTempDegC = parseFloat(<#RecentOutsideTemp h=3) + (0.33 * actualVaporPress) - (0.7 * <#RecentWindSpeed h=3>) - 4;


==== Feels Like ====
Feels Like as implemented at version 3.6.10 (see [[#Feels_Like|Feels Like section below Current condition web tags]]) uses Celsius for temperature and '''km per hour''' for wind speed. Again, you will need to do the appropriate conversions from the quoted recent history tags if you use different units.
 
Calculation from recent history tags is much more complicated because there are 3 different calculations: Feels Like reports exactly same as wind chill for temperatures '''below''' 10°C or 50°F so the WC here should equal <#RecentWindChill h=3>:
<pre>if(<#RecentWindSpeed h=3> < 4.828) WC =  <#RecentOutsideTemp h=3>;
else{
wind_pow =  Math.pow(<#RecentWindSpeed h=3>, 0.16);
WC = (13.12 + 0.1625 * <#RecentOutsideTemp h=3>) - (11.37 * wind_pow) + (0.3965 * <#RecentOutsideTemp h=3> * wind_pow);// Brackets used to ensure "+" is interpreted as addition not concatenation
} </pre>
 
For temperatures '''above''' 20°C or 68°F Feels Like uses a different way to calculate apparent temperature that it uses at these higher temperatures (this formula only used for 3.6.10 onwards):
<pre>var actualVaporPress = <#RecentHumidity h=3>/100) * 6.112* Math.exp((17.62 * <#RecentOutsideTemp h=3>)/(243.12 + <#RecentOutsideTemp h=3>)) / 10.0;  // Not same as at build 3084
/* uses kilometres per hour for wind speed */
/*  What Cumulus MX will use to calculate apparent temperature for feels like is changed very slightly */
if(<#RecentWindSpeed h=3> > 72) <#RecentWindSpeed h=3> =72;
AT= (1.04 * <#RecentOutsideTemp h=3>) + (2 * actualVaporPress) - (0.1805553 * <#RecentWindSpeed h=3>) - 2.7;</pre>
 
For in-between temperatures it uses a more complicated merge of the two formulas for AT and WC as defined above:
<pre>app_temp_mult = (<#RecentOutsideTemp h=3> - 10) / 10;
wind_chill_mult = 1 - app_temp_mult;


Formula deleted, as only used from MX version 3.5.4 (25 Apr 2020) build 3075 until version 3.6.7 (4 June 2020) build 3083
FL= AT * app_temp_mult + WC * wind_chill_mult;</pre>


==Today==
==Today==
Many of these web tags are used on the supplied '''todayT.htm''' template, and the supplied '''todayyest.html''' page within the MX admin interface.
For web tags that report values that refer to a particular time of day, there is a corresponding web tag that can give the time of day, shown in same row of table below.  
For web tags that report values that refer to a particular time of day, there is a corresponding web tag that can give the time of day, shown in same row of table below.  


Line 1,289: Line 1,338:
|-
|-
!style="width:150px" | Web tag_name
!style="width:150px" | Web tag_name
!style="width:450px" | Function
!style="width:650px" | Function
!style="width:150px" | Time tag_name
!style="width:150px" | Time tag_name
|-
|-
Line 1,319: Line 1,368:
|-
|-
|<#feelslikeTH>
|<#feelslikeTH>
|[[File:Badge vMx.png]] Available from version 3.6.0 Today's high feels like temperature
|[[File:Badge vMx.png]] Available from version 3.6.10 Today's high feels like temperature
|<#TfeelslikeH>
|<#TfeelslikeTH>
|-
|-
|<#feelslikeL>
|<#feelslikeTL>
|[[File:Badge vMx.png]] Available from version 3.6.0 Today's low feels like temperature
|[[File:Badge vMx.png]] Available from version 3.6.10 Today's low feels like temperature
|<#TfeelslikeL>
|<#TfeelslikeTL>
|-
|-
|<#heatindexTH>
|<#heatindexTH>
Line 1,453: Line 1,502:


==Yesterday==
==Yesterday==
Note that the Y indicating yesterday is sometimes a prefix, sometimes a suffix (with H for High, L for Low), web tags are not named consistently!
Note that the Y indicating yesterday is sometimes a prefix, sometimes a suffix (with H for High, L for Low), web tags are not named consistently!


Many of these web tags are used on the supplied yesterdayT.htm template, and the supplied todayyest.html page within the MX user interface.
Many of these web tags are used on the supplied '''yesterdayT.htm''' template, and the supplied '''todayyest.html''' page within the MX admin interface.


For web tags that refer to a particular time of day, there is a corresponding web tag that can give the time of day. Please note none of the time web tags can be modified by output parameters to give a date, but they can be changed from the default time format that is 'h:mm'.
For web tags that refer to a particular time of day, there is a corresponding web tag that can give the time of day. Please note none of the time web tags can be modified by output parameters to give a date, but they can be changed from the default time format that is 'h:mm'.
Line 1,461: Line 1,511:
|-
|-
!style="width:150px" | Web tag_name
!style="width:150px" | Web tag_name
!style="width:450px" | Function
!style="width:550px" | Function
!style="width:150px" | Time
!style="width:150px" | Time
|-
|-
Line 1,608: Line 1,658:


==Monthly==
==Monthly==
This table shows the web tags used on the "thismonthT.htm" web page, the rainfall this month does not appear  on that page, does not appear  on that page, it is shown in [[#Current_Conditions|indexT.htm]] table earlier on this page.


The web tags in the date column output dates in the format "dd MMMM" (same for Cumulus 1 and Cumulus MX), this can be changed using the [[#Time.2FDate_.27format.27_Parameter|format parameters]] described above. For web tags that represent daily values, there are (obviously) no corresponding time web tags, but for high and low spot values the default 'h:mm' format of the time output can be changed using output parameters.
This table shows the web tags used on the '''thismonthT.htm''' web page,and the '''records.html''' page (accessed by penultimate tab) in the admin interface.
 
Because the rainfall this month does not appear on '''thismonthT.htm''' web page, it is shown in [[#Current_Conditions|indexT.htm]] table earlier in this article which is for the web page where it does appear.
 
The web tags in the date column output dates in the format "dd MMMM" (for once this is same for Cumulus 1 and Cumulus MX). Should you require a different output format, this can be changed using the [[#Time.2FDate_.27format.27_Parameter|format parameters]] described above. For web tags that represent daily values, there are (obviously) no corresponding time web tags, but for high and low spot values the default 'h:mm' format of the time output can be changed using output parameters. Do make sure that you get the web tag names right and the output form at parameters right.
 
As another example of inconsistency in how web tags added in different versions are coded, there are two web tags (highest minimum/lowest maximum temperatures) where a standard web tag is not provided by Cumulus (1 or MX) for the associated time-stamp. Consequently, for these 2 (and their corresponding tags in the this year group), there are mandatory output parameters required as shown in the table. Obviously Cumulus 1 lets you use "NN", "nn", "MM", or "mm" for the minutes, but minutes can only be represented in one way in Cumulus MX.


NB This table shows time of extremes for two daily figures (highest minimum/lowest maximum temperatures as of course these are actually associated with a particular time although a standard web tag was not provided for that), by including Cumulus time modifiers, and how minutes in time modifiers can be specified in two ways in Cumulus 1 but only in one way in Cumulus MX.
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 1,762: Line 1,816:


==Yearly==
==Yearly==
This table shows the web tags used on the "thisyearT.htm" web page, the rainfall this season (it need not start on 1 January) does not appear on that page, it is shown on [[#Current_Conditions|indexT.htm]].
This table shows the web tags used on the "thisyearT.htm" web page, and the '''records.html''' page (accessed by final tab) in the admin interface.
 
Because the rainfall this year does not appear on '''thisyearT.htm''' web page, it is shown in [[#Current_Conditions|indexT.htm]] table earlier in this article which is for the web page where it does appear.
 
The web tags in the date column output dates in the format "dd MMMM" (for once this is same for Cumulus 1 and Cumulus MX). Should you require a different output format, this can be changed using the [[#Time.2FDate_.27format.27_Parameter|format parameters]] described above. For web tags that represent daily values, there are (obviously) no corresponding time web tags, but for high and low spot values the default 'h:mm' format of the time output can be changed using output parameters. Do make sure that you get the web tag names right and the output form at parameters right.


The default format for web tags in the date column is (like the monthly web tags) "dd MMMM" (same for Cumulus 1 and Cumulus MX), this can be changed using the [[#Time.2FDate_.27format.27_Parameter|format parameters]] described above. For web tags that represent daily values, there are (obviously) no corresponding time web tags, but for high and low spot values the default 'h:mm' format of the time output can be changed using output parameters.
As another example of inconsistency in how web tags added in different versions are coded, there are two web tags (highest minimum/lowest maximum temperatures) where a standard web tag is not provided by Cumulus (1 or MX) for the associated time-stamp. Consequently, for these 2 (and their corresponding tags in the this month group), there are mandatory output parameters required as shown in the table. Obviously Cumulus 1 lets you use "NN", "nn", "MM", or "mm" for the minutes, but minutes can only be represented in one way in Cumulus MX.


NB Year runs from roll-over time on 1 January for all web tags listed here
Remember that the Year-to-date runs from roll-over time on 1 January for all web tags listed here. Although, some web tags represent seasonal derivatives, i.e. where you define the month from which they start counting, this does not apply to any listed in this group.




Line 1,773: Line 1,831:
!style="width:150px"|Web tag_name
!style="width:150px"|Web tag_name
!style="width:300px"|Function
!style="width:300px"|Function
!style="width:150px"|Time
!style="width:350px"|Time
!style="width:150px"|Date
!style="width:150px"|Date
|-
|-
Line 1,840: Line 1,898:
|<#YearMinTempH>
|<#YearMinTempH>
|This years highest daily minimum temperature
|This years highest daily minimum temperature
|<#YearMinTempHD format=HH:nn> for Cumulus 1, <#YearMinTempHD format=HH:mm> for Cumulus MX
|Flavour specific mandatory output parameters:
* <#YearMinTempHD format=HH:nn> ''for Cumulus 1'',
* <#YearMinTempHD format=HH:mm> ''for Cumulus MX''
|<#YearMinTempHD>
|<#YearMinTempHD>
|-
|-
|<#YearMaxTempL>
|<#YearMaxTempL>
|This years lowest daily maximum temperature
|This years lowest daily maximum temperature
|<#YearMaxTempHD format=HH:nn> for Cumulus 1, <#YearMaxTempHD format=HH:mm> for Cumulus MX
|Flavour specific mandatory output parameters:
* <#YearMaxTempHD format=HH:nn> ''for Cumulus 1'',
* <#YearMaxTempHD format=HH:mm> ''for Cumulus MX''
 
|<#YearMaxTempLD>
|<#YearMaxTempLD>
|-
|-
Line 1,921: Line 1,984:


==All Time==
==All Time==
The web tags in the date/time column have the default format seen on "records.htm". So for an extreme month it just shows the month name in full i.e. format 'MMMM'. For an extreme day it shows the day of the month and the month name in full i.e. format "dd MMMM" (same for Cumulus 1 and Cumulus MX), prefixed with the word 'on'. For the highest/lowest within a day in the year it shows both time and date adding the word "at" before the time, and the word 'on' before the date.


You can change the default output using the [[#Time.2FDate_.27format.27_Parameter|formats features described above, but this can involve complicated use of single and double quotes and there are differences between Cumulus 1 and Cumulus MX.
The web tags in the date/time column have the default format as seen on "records.htm" in the standard web pages.
 
These are also available in the admin interface on "records.html" where they appear in the first tab, although the format used there is different and not able to be edited (any time is shown after the date).
 
*The default format for an extreme month is to show the month name in full i.e. format 'MMMM' followed by the year in full.
*For an extreme day it shows the day of the month and the month name in full i.e. format "dd MMMM" (same for Cumulus 1 and Cumulus MX), prefixed with the word 'on' again ending with the year.
*For the highest/lowest within a day in the year it shows both time and date adding the word "at" before the time, and the word 'on' before the date (i.e. on the standard web page the time comes first, not as seen in admin interface).
 
You can change the default output on either the standard web template, or in your own file,  by using the [[#Time.2FDate_.27format.27_Parameter|formats features described above, but this can involve complicated use of single and double quotes and there are differences between Cumulus 1 and Cumulus MX. Please see examples section above for advice.
 
Note that unlike the this month and this year web tags, the time and the date are both included in the default format of the standard time-stamp web tags for the 'highest minimum' and 'lowest maximum' temperatures, yet another inconsistency!


Note that unlike the monthly web tags, the time is included in the default format of the standard web tags for the 'highest minimum' and 'lowest maximum'.
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
!style="width:150px" | Web tag_name
!style="width:150px" | Web tag_name
!style="width:300px" | Function
!style="width:400px" | Function
!style="width:150px" | Date/Time
!style="width:150px" | Date/Time
|-
|-
Line 1,995: Line 2,066:
|-
|-
|<#wchillH>
|<#wchillH>
|All time greatest wind chill (i.e. lowest temperature)  
|All time greatest wind chill (i.e. lowest temperature, but highest wind speed)  
|<#TwchillH>
|<#TwchillH>
|-
|-
Line 2,051: Line 2,122:
==Monthly All Time Records==
==Monthly All Time Records==


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 input 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.  The corresponding date/time web tags are formatted like the all time records directly above this section.
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. To supply both optional input, and optional output parameters, separate them with spaces, e.g. <#ByMonthTempHT mon=7 format=hh:nn>. In that example, the highest ever temperature in July is returned in the value after processing by Cumulus.
 
Each Monthly All Time Records web tag has an optional input 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).  The corresponding date/time web tags are formatted like the all time records directly above this section. You can customise the date and time formats using the output  'format' parameter on the web tag.


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. To supply both input and output parameters, separate them with spaces, e.g. <#ByMonthTempHT mon=7 format=hh:nn>
If you don't supply an input parameter (or supply an invalid value like zero) the current month will be used. This is useful if you want to write a template that will always supply values for the current month and don't want to use a script to enter the correct input parameter by processing with that script before Cumulus processes the template.




Line 2,059: Line 2,132:
|-
|-
!style="width:150px"|Web tag_name
!style="width:150px"|Web tag_name
!style="width:300px"|Function
!style="width:400px"|Function
!style="width:150px"|Date/Time
!style="width:150px"|Date/Time
|-
|-
Line 2,077: Line 2,150:
|-
|-
|<#ByMonthWChillL>
|<#ByMonthWChillL>
|Greatest wind chill (i.e. lowest temperature)
|Greatest wind chill (i.e. lowest temperature and highest wind speed)
|<#ByMonthWChillLT>
|<#ByMonthWChillLT>
|-
|-
Line 2,184: Line 2,257:
|-
|-
!style="width:150px" | Web tag_name
!style="width:150px" | Web tag_name
!style="width:600px" | Function
!style="width:900px" | Function
|-
|-
|<#sunrise>
|<#sunrise>
5,838

edits

Navigation menu