5,838
edits
(44 intermediate revisions by the same user not shown) | |||
Line 27: | Line 27: | ||
=What this article covers = | =What this article covers = | ||
At the last count MX produces nine and a half million | At the last count MX produces nine and a half million '''web tags'''! But the file mentioned in previous section contains just 717 items. How come this discrepancy? | ||
Well each web tag has the general format <tt><#tag_name | Well each web tag has the general format <tt><#tag_name optional_input_parameter optional_output_parameter></tt> and it is adding these optional parameters that allow 717 tag names to define 9½ million values! | ||
Because this article describes the parameters available, it covers more than just web tags, it lists the way that you can specify the naming format for the NOAA style reports that Cumulus produces as those names use a sub-set of the output parameters. | Because this article describes the parameters available, it covers more than just web tags, it lists the way that you can specify the naming format for the NOAA style reports that Cumulus produces as those names use a sub-set of the same output parameters as web tags use. | ||
Although web tags apply to all flavours of Cumulus (Cumulus 1, 2, and 3 aka MX), as mentioned above, the range available depends on the exact version/build of Cumulus you are using. Because Cumulus 2 is no longer available, it has been ignored in the tables below. However, in the tables of web tags below, some sections are marked '''Cumulus 1 only''', or '''MX only''', and some individual tags have icon markings indicating aspects that apply only to a particular flavour. It is important to stress that these "C1" markings are for the final version of Cumulus 1 (and so if you are running an earlier version, some may not be available to you). Similarly the "MX" markings apply to the latest version of MX (and if you are using an earlier build, some may not be available to you). In general, Cumulus 1 will silently ignore any web tags it does not recognise, but MX will raise an error for any web | Although web tags apply to all flavours of Cumulus (Cumulus 1, 2, and 3 aka MX), as mentioned above, the range available depends on the exact version/build of Cumulus you are using. Because Cumulus 2 is no longer available, it has been ignored in the tables below. However, in the tables of web tags below, some sections are marked '''Cumulus 1 only''', or '''MX only''', and some individual tags have icon markings indicating aspects that apply only to a particular flavour. It is important to stress that these "C1" markings are for the final version of Cumulus 1 (and so if you are running an earlier version, some may not be available to you). Similarly the "MX" markings apply to the latest version of MX (and if you are using an earlier build, some may not be available to you). In general, Cumulus 1 will silently ignore any web tags it does not recognise, but MX will raise an error for any web tag it does not understand how to process when the "token parser" runs. Both flavours may either ignore, give wrong values, or refuse to accept, incorrect input or incorrect output parameters, this varies by web tag and has not been indicated in the tables below. | ||
= NOAA style Report Naming = | = NOAA style Report Naming = | ||
Line 124: | Line 124: | ||
= Template Files = | = Template Files = | ||
This is the name given by Steve Loft to any files that contain web tags | This is the name given by Steve Loft to any files that contain web tags and need to be processed before they actually include values. | ||
When Cumulus processes these files it generates output files where the tags/tokens have been replaced by values. | When Cumulus processes these files it generates output files where the tags/tokens have been replaced by values. Consequently, a single template will actually generate a different file each time Cumulus processes that template because the part of the content that was web tags is now populated with text (values, times, dates, etc.) and as these values change that make the file different to the previous generated file. | ||
For standard Cumulus, all the output files are web pages which it then uploads to your web site. There is more about processing of files on the [[Customised templates]] page, but think of a template as containing text that Cumulus copies from the template file to the web page it is constructing. The processing process is basically a parse, each time it finds what MX calls a token (a web tag complete with any parameters it needs) it looks up the value that it will use to replace that web tag before moving on through the text. | For standard Cumulus, all the output files are web pages which it then uploads to your web site. There is more about processing of files on the [[Customised templates]] page, but think of a template as containing text that Cumulus copies from the template file to the web page it is constructing. The processing process is basically a parse, each time it finds what MX calls a token (a web tag complete with any parameters it needs) it looks up the value that it will use to replace that web tag before moving on through the text. | ||
The example web templates provided by Cumulus insert a "T" at the end of the intended web page name before the extension (.htm or .html), so that the template files and generated web pages cannot be confused. | The example web templates provided by Cumulus insert a "T" at the end of the intended web page name before the extension (.htm or .html), so that the template files and generated web pages cannot be confused. The generated file will often have "tmp" added to the end | ||
When writing your own templates, some people will stick to this "T" notation, others will change the extension to "tmpl" or "cum" to indicate they are Cumulus templates. Cumulus does not care what extension is used for any local file specified in the MX '''Extra Web Files''' settings or Cumulus 1 '''Files''' tab settings. | When writing your own templates, some people will stick to this "T" notation, others will change the extension to "tmpl" or "cum" to indicate they are Cumulus templates. Cumulus does not care what extension is used for any local file specified in the MX '''Extra Web Files''' settings or Cumulus 1 '''Files''' tab settings. | ||
For Cumulus 1 and MX, there are one template held within the program code, this is what produces the default [[Realtime.txt]]. You can define an alternative template with web tags and Cumulus can process that instead of its default template. | |||
For MX only, there are other templates held within the program code (so you cannot edit them), these output in json format. Some are application program interface, and feed information to the admin interface, you can only view these by using the development interface in your browser that lets you see what has been loaded. The rest become the json files that are created in the '''web''' folder from where (like the web pages produced after processing the standard web templates), they can be uploaded to your web site. | |||
= Web tags available in Cumulus = | = Web tags available in Cumulus = | ||
Line 146: | Line 150: | ||
The [[BETA webtags|additional webtags]] page was created to hold web tags that were not yet available in any Cumulus 1 formal release, but were available in any Beta version that was under development. When development of Cumulus 1 ceased, that page held all web tokens specific to the MX Beta then under development. So at that time you had 2 articles to read to find which web tokens were available in MX Beta, and it was not clear in this article which web tags were only available in Cumulus 1! | The [[BETA webtags|additional webtags]] page was created to hold web tags that were not yet available in any Cumulus 1 formal release, but were available in any Beta version that was under development. When development of Cumulus 1 ceased, that page held all web tokens specific to the MX Beta then under development. So at that time you had 2 articles to read to find which web tokens were available in MX Beta, and it was not clear in this article which web tags were only available in Cumulus 1! | ||
For a while, some web | For a while, some web tag alterations, for example [[BETA_webtags#Day.2FNight.2FSun.2FMoon|Moon web tags]] had parameters added to control the output from build 3047, continued to be added to the Beta article. You should keep an eye on that Beta article just in case as MX is being developed any more appear there, although at time of writing new MX web tokens are now being added to this article. | ||
When Mark Crossley brought MX out of Beta, all the web | When Mark Crossley brought MX out of Beta, all the web tags that were on that page were moved into this article, and it was made clear which flavours each web tag was available in (excluding Cumulus 2). | ||
== Case sensitivity == | == Case sensitivity == | ||
Line 174: | Line 178: | ||
=== Input modification Parameters === | === Input modification Parameters === | ||
Most web tags do not require any input parameters. | Most web tags do not require any input parameters. There are currently only two types of tags where an input parameter is mandatory: | ||
*The recent history tags where a separate one exists for [[#Recent_History|individual minutes in last week]] need input parameter specifying how many minutes ago is required. There are 3 separate input parameters that can be used alone or in combination as explained in relevant section. | |||
*The [[#Monthly_All_Time_Records]] where a separate one exists for each particular month (of any year) need input parameter specifying which month. Again see the respective section for full details of input parameter (which is 1 for January to 12 for December, but 0 is also available with a special meaning). | |||
=== Output modification parameters === | === Output modification parameters === | ||
Line 206: | Line 213: | ||
[[File:Badge vMx.png]] | [[File:Badge vMx.png]] | ||
Cumulus MX provides many, but not all web tags available in Cumulus 1. MX adds many more web | Cumulus MX provides many, but not all web tags that were available in Cumulus 1. MX adds many more web tags, mostly in support of new weather stations or new sensors. This badge is used against web tags listed in one of the tables that are only available in MX. See [[#GENERAL_TIP|tip]] at top of page for how to check which web tags are available in your build. | ||
A combination of badges appears where certain aspects apply to Cumulus 1 or to MX. No information is given for Cumulus 2 as it is no longer available. | A combination of badges appears where certain aspects apply to Cumulus 1 or to MX. No information is given for Cumulus 2 as it is no longer available. | ||
When MX is processing web | When MX is processing web tags and finds one it cannot understand, a "*** web tag error - see MXdiags file ***" message will appear in the engine console, and the diagnostic file will include something like this, notice the actual web tag is labelled "token": | ||
<pre>Web tag error | <pre>Web tag error | ||
Exception: i=8998 len=106297 | Exception: i=8998 len=106297 | ||
inputText.Length=106297 | inputText.Length=106297 | ||
token=<#daylightlength format=H></pre> | token=<#daylightlength format=H></pre> | ||
This particular error is that when you use a single output format character it does not have same meaning as when there are multiple characters, correct this particular | This particular error is that when you use a single output format character it does not have same meaning as when there are multiple characters, correct this particular web tag to: | ||
<pre><#daylightlength format=%H></pre> | <pre><#daylightlength format=%H></pre> | ||
Line 222: | Line 229: | ||
=Output 'format' Parameter= | =Output 'format' Parameter= | ||
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. | |||
== 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. | |||
In Cumulus 1 we are able to use "m" or "M" for two different meanings (minutes or month) depending on context. Similarly, in MX the same character sometimes has two different meanings depending on context, but this applies to lots of characters and the context is whether the character is used on its own or with other characters. '''Sounds confusing?''' Well it is complicated. | 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. | |||
The characters used to represent year, month, day, hour, minute, second, microsecond, do differ between C1 and MX. In Cumulus 1 we are able to use "m" or "M" for two different meanings (minutes or month) depending on context. Similarly, in MX the same character sometimes has two different meanings depending on context, but this applies to lots of characters and the context is whether the character is used on its own or with other characters. '''Sounds confusing?''' Well it is complicated. | |||
==== Explanation ==== | ==== Explanation ==== | ||
*Cumulus MX (when running on Windows) uses the '''.NET''' software. | *Cumulus MX (when running on Windows) uses the '''.NET''' software. | ||
*If Cumulus MX is running on Linux or Mac OS X, or any other device that uses UNIX derived operating system, then it uses '''Mono''' software for same purposes. (MONO is a operating system independent version of .NET, although they are developed independently, they have common origins). | *If Cumulus MX is running on Linux or Mac OS X, or any other device that uses UNIX derived operating system, then it uses '''Mono''' software for same purposes. (MONO is a operating system independent version of .NET, although they are developed independently, they have common origins). Please see the [[Cumulus MX]] article for more details of their differences and what will change in November 2020. | ||
*The date and time format characters in Mono (and .NET) software framework are not exactly the same as the '''Delphi''' software framework ones that Cumulus 1 uses. | *The date and time format characters in Mono (and .NET) software framework are not exactly the same as the '''Delphi''' software framework ones that Cumulus 1 uses. | ||
*For Cumulus MX see [http://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx this Microsoft site] for format selectors available. | *For Cumulus MX see [http://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx this Microsoft site] for format selectors available. | ||
*The differences come about because Delphi is case-insensitive, while .NET and MONO are case sensitive, | *The differences come about because Delphi is case-insensitive, while .NET and MONO are case sensitive. Consequently, .NET (and MONO) can use upper and lower case for different items, but Delphi has to use different letters, ignoring case, for each item. | ||
==== When it causes problems ==== | ==== When it causes problems ==== | ||
Line 268: | 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. | ||
=== | === 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 | |||
!style="width:150px" | [[File:Badge vMx.png]]Mono/.NET Specifier for Cumulus MX | |||
!style="width:600px" | Displays | |||
!style="width:600px" | Example | |||
|- | |||
|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 | |||
|Displays the day as a full name (Sunday-Saturday) using the strings appropriate to the Locale. | |||
|'Friday' produced by <#metdate format="dddd"> (English locale) | |||
{{Version badge 1}} | |||
[[File:Badge vMx.png]]Note | |||
[[File:Badge vMx.png]] | |||
|- | |- | ||
|ddddd | |||
|d (as single character format) | |||
|Displays the date using the format given by the Short Date format. | |||
|e.g. '22/03/2019' (British Locale) | |||
|ddddd | |||
|d (as single character format) | |||
|Displays the date using the format given by the Short Date format. | |||
|e.g. '22/03/2019' (British Locale) | |||
|- | |- | ||
|dddddd | |dddddd | ||
Line 528: | 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. | ||
| | |Hyphens are added in this PHP language example '<#LastDataReadT format=yyyy>'.'-'.'<#LastDataReadT format=MM>'.'-'.'<#LastDataReadT format="dd">' | ||
|} | |} | ||
= | ==== Using HTML tags within format parameters (available in MX only) ==== | ||
'''Example using a class to change the look of part of the output''' | |||
<pre><#TapptempH format="dd' 'MMM' 'yyyy'<span class=\'xx\'> at 'HH:mm'</span>'"></pre> | |||
the output from this will look like ''04 Dec 2018<span class='xx'> at 10:12</span>'' | |||
'''Note where the quotes are, and where you need to use '\' escape characters'''. | |||
'''Example using HTML tags''' | |||
<pre><#RecentTS d=2 format="h:mm' '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. | |||
{| class="wikitable" border="1" | === Output (format modifier) indicating remove commas === | ||
|- | |||
!style="width:150px" |Web tag_name | "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. | ||
!style="width:600px" |Function | |||
|- | |||
|<#OsVersion> | 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). | ||
|OS version, e.g. "Windows 7 x64 build 7600" | |||
|- | == Additional text in output format parameters == | ||
|<#OsLanguage> | |||
|OS language, e.g. "English" | 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: | ||
#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' 'am/pm '<small>on' d/m/yyyy'</small>'">. | |||
{{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: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 == | |||
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" | |||
|- | |||
!style="width:150px" |Web tag_name | |||
!style="width:900px" | Function | |||
|- | |||
|<#LatestError> | |||
|Displays the last error from the Cumulus 1 error log. (The value is cleared when you click the error light in Cumulus 1).<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). | |||
|- | |||
|<#LatestErrorDate> | |||
|The date of the latest error logged to the error log window, using the system short date format. Gives dashes when latest error is reset | |||
|- | |||
|<#LatestErrorTime> | |||
|The time of the latest error logged to the error log window, using the system short time format. Gives dashes when latest error is reset | |||
|- | |- | ||
|<# | |<#ErrorLight> | ||
| | |1 if the 'error' light is flashing, 0 if not | ||
|- | |- | ||
|<# | |<#version> | ||
| | |The version of Cumulus in use e.g. '1.9.4' or '3.4.1' | ||
|- | |- | ||
|<# | |<#build> | ||
| | |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) | ||
|- | |- | ||
|<# | |<#realtimeinterval> | ||
| | |The realtime update interval in seconds (integer) | ||
|- | |- | ||
|<# | |<#interval> | ||
| | |The web site update interval in minutes (integer) | ||
|- | |- | ||
|<# | |<#rollovertime> | ||
| | |The time that the logs rollover to the next day: 'Midnight', '9 am' or '10 am' | ||
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> | ||
| | |The date and time of the last web site update | ||
|- | |||
|<#LastDataReadT> | |||
|The date/time data was last read from the station | |||
|- | |- | ||
|<# | |<#stationtype> | ||
| | |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). | ||
|- | |- | ||
|<# | |<#latitude> | ||
| | |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 59& deg;&nbsp;14&#39;&nbsp;33&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> | |||
|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. | |||
|- | |- | ||
|<# | |<#altitude> | ||
| | |The station [http://en.wikipedia.org/wiki/Altitude altitude] value (webtag outputs web encoded format containing figure, '&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&nbsp;m' | ||
|- | |- | ||
|<# | |<#location> | ||
|The | |The station location (as you entered during setup) | ||
|- | |- | ||
|<# | |<#longlocation> | ||
| | |Longer description of the station location (as you entered during setup) | ||
|- | |- | ||
|<# | |<#forum> | ||
|1 | |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 | |||
|- | |- | ||
|<# | |<#webcam> | ||
| | |URL of the webcam (as you entered during setup). Default is blank. | ||
|- | |- | ||
|<# | |<#graphperiod> | ||
|The | |The number of hours displayed by the graphs, as set using '''Configuration''' menu, ''Display'' settings screen 'Detailed Chart Period' | ||
|- | |- | ||
|<# | |<#dailygraphperiod> | ||
|The | |The number of days displayed by the graphs, as set using '''Configuration''' menu, ''Display'' settings screen 'Daily Chart Period' (available from build 1098) | ||
|- | |- | ||
|<# | |<#LatestNOAAMonthlyReport> | ||
| | |Gives file name of latest auto-saved NOAA monthly report | ||
|- | |- | ||
|<# | |<#LatestNOAAYearlyReport> | ||
| | |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" | |||
|- | |- | ||
| | !style="width:150px" | Web tag_name | ||
| | !style="width:600px" | Function | ||
|- | |- | ||
|<# | |<#tempunit> | ||
| | |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 "&deg;C" or "&deg;F" | ||
|- | |- | ||
|<# | |<#tempunitnodeg> | ||
|The | |The temperature units being used, without a degree symbol, i.e. "F" or "C" | ||
|- | |- | ||
|<# | |<#pressunit> | ||
| | |Unit of measure for pressure. Possible values: "mb", "hPa", "in" | ||
|- | |- | ||
|<# | |<#rainunit> | ||
| | |Unit of measure for rain fall. Possible values: "mm" or "inches" | ||
|- | |- | ||
|<# | |<#windunit> | ||
| | |Unit of measure for wind speed. Possible values: "m/s", "mph", "km/h", "kts" | ||
|- | |- | ||
|<# | |<#windrununit> | ||
| | |Unit of measure for wind run (distance). Possible values: "km", "miles", "km", "nm" (for wind speeds in m/s, mph, km/h, kts) | ||
|- | |- | ||
|<# | |<#cloudbaseunit> | ||
| | |The units used for cloudbase value. Possible values: "ft" or "m" | ||
|} | |||
==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 | ||
!style="width:600px" | Function | |||
|- | |- | ||
|<# | |<#date> | ||
| | |The current date | ||
|- | |- | ||
|<# | |<#time> | ||
|The | |The current time and date. Example result: 18:30 on 30 December 2009. If you simply wish the time, use next tag (below) | ||
|- | |- | ||
|<# | |<#timehhmmss> | ||
|The | |The current time. Example format: 18:30:27 | ||
|- | |- | ||
|<# | |<#timeUTC> | ||
| | |The current UTC date/time rather than local date/time | ||
|- | |- | ||
|<# | |<#minute> | ||
| | |The current time, just the minutes. Example format: 07 | ||
|- | |- | ||
|<#hour> | |||
|The current time, just the hour. Example format: 07 | |||
|- | |- | ||
|<# | |<#day> | ||
| | | The current day as a 2-digit number. Example format: 07 | ||
|- | |- | ||
|<# | |<#dayname> | ||
|The | | The current day as a word. For example, Monday | ||
|- | |||
|<#shortdayname> | |||
| The current day as a shortened word. Example format: Mon | |||
|- | |- | ||
|<# | |<#month> | ||
| | |The current month as a 2-digit number. Example format: 07 | ||
|- | |||
|<#monthname> | |||
|The current month as a word. Example format: July | |||
|- | |- | ||
|<# | |<#shortmonthname> | ||
| | |The current month as a shortened word. Example format: Jul | ||
|- | |- | ||
|<# | |<#year> | ||
| | |The current year as a 4-digit number. Example format: 2009 | ||
|- | |- | ||
|<# | |<#shortyear> | ||
| | |The current year as a 2-digit number. Example format: 09 | ||
|- | |- | ||
|<# | |<#metdate> | ||
|The | |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 | |||
|- | |- | ||
|<#metdateyesterday> | |||
|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. | |||
|- | |- | ||
|<# | |<#yesterday> | ||
| | |Yesterdays date | ||
|- | |- | ||
|<# | |<#rollovertime> | ||
|The | |The time that the logs rollover to the next day: 'Midnight', '9 am' or '10 am' | ||
|- | |- | ||
|<# | |<#update> | ||
|The | |The date and time of the last web site update | ||
|- | |- | ||
|<# | |<#LastDataReadT> | ||
|The | |The date/time data was last read from the station | ||
|- | |- | ||
|<# | |<#DaysSince30Dec1899> | ||
| | |Day count (gives whole and fractional part) Example: 41250.6523310301 | ||
|- | |- | ||
|<# | |<#recordsbegandate> | ||
| | |Date when records began (appears twice on "recordsT.htm" provided, and used to calculate next tag, but ignored for all other Cumulus processing) | ||
|- | |- | ||
|<# | |<#DaysSinceRecordsBegan> | ||
| The | |Day count since Cumulus records started | ||
|} | |||
==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 | |The outside (air) temperature | ||
|- | |- | ||
|<# | |<#intemp> | ||
|The | |The inside temperature | ||
|- | |- | ||
|<# | |<#temptrend> | ||
|The | |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 | |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 | |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 | |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). | ||
The | |||
|- | |- | ||
|colspan="2" style="background:lightgray;"|Humidity | |||
|- | |- | ||
| | |<#hum> | ||
|The outside [http://en.wikipedia.org/wiki/Humidity humidity] | |||
|- | |- | ||
|<# | |<#inhum> | ||
|The | |The inside humidity | ||
|- | |- | ||
|<# | |<#dew> | ||
|The | |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 | |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 | |||
|- | |- | ||
|<# | |<#ryear> | ||
| | |Annual rainfall total for rainfall season year (i.e. starting month as set on Configuration menu, station screen, Annual rainfall frame) | ||
|- | |- | ||
|<# | |<#ConsecutiveRainDays> | ||
|The | |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). | ||
|- | |- | ||
|<# | |<#ConsecutiveDryDays> | ||
|The | |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 | ||
|- | |- | ||
| | |colspan="2" style="background:lightgray;"|Pressure | ||
| | |||
|- | |- | ||
| | |<#press> | ||
|The [http://en.wikipedia.org/wiki/Sea_level_pressure sea level pressure] | |||
|- | |- | ||
|<# | |<#presstrendval> | ||
|The | |The average rate of pressure change over the last three hours. | ||
|- | |- | ||
|<# | |<#presstrend> | ||
|The | |The pressure trend in words - values can be set in the 'strings.ini' file | ||
|- | |- | ||
|<# | |<#presstrendenglish> | ||
| | | 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) | ||
|- | |- | ||
|<# | |<#altimeterpressure> | ||
| | |Altimeter pressure. Pressure corrected to sea level using the station's altitude only. Same as sea-level pressure for non-Davis stations. | ||
|- | |- | ||
| | |colspan="2" style="background:lightgray;"|Wind | ||
| | |||
|- | |- | ||
|<# | |<#wlatest> | ||
| | |Current wind speed reading from console. Corresponds to 'latest' on the Cumulus main screen. | ||
|- | |- | ||
|<# | |<#bearing> | ||
| | |Current wind bearing in degrees | ||
|- | |- | ||
|<# | |<#currentwdir> | ||
| | |Current wind bearing as a compass point - e.g. ESE | ||
|- | |- | ||
|<# | |<#wspeed> | ||
| | |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. | ||
|- | |- | ||
|<# | |<#avgbearing> | ||
| | |Average wind bearing in degrees over last 10 minutes. Range 1-360, 0=Calm | ||
|- | |- | ||
|<# | |<#wdir> | ||
| | |Average wind bearing over last 10 minutes as a [http://en.wikipedia.org/wiki/Compass compass] point - e.g. ESE | ||
|- | |- | ||
|<# | |<#wgust> | ||
|The | |The highest wind reading in the last 10 minutes. Corresponds to 'gust' on the Cumulus main screen. | ||
|- | |- | ||
|<# | |<#wdirdata> | ||
| | |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. | ||
|- | |- | ||
| | |<#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. | |||
|- | |- | ||
|<# | |<#nextwindindex> | ||
|The | |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! | ||
|- | |- | ||
|<# | |<#beaufort> | ||
|The | |The current wind speed on the [http://en.wikipedia.org/wiki/Beaufort_scale Beaufort scale] (e.g. F8) | ||
|- | |- | ||
|<# | |<#beaufortnumber> | ||
|The | |The current wind speed on the Beaufort scale, without a leading "F", e.g. "6" | ||
|- | |- | ||
|<# | |<#beaudesc> | ||
| | |The current wind speed Beaufort description (e.g. "Gale") | ||
|- | |- | ||
|<# | |<#BearingRangeFrom> | ||
| | |The 'lowest' clockwise bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini) | ||
|- | |- | ||
| | |<#BearingRangeTo> | ||
|The 'highest' clockwise bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini) | |||
|- | |- | ||
|<# | |<#BearingRangeFrom10> | ||
| | |The 'lowest' clockwise bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini), rounded down to nearest 10 degrees | ||
|- | |- | ||
|<# | |<#BearingRangeTo10> | ||
| | |The 'highest' clockwise bearing in the last 10 minutes (or as configured using AvgBearingMinutes in cumulus.ini), rounded down to nearest 10 degrees | ||
|- | |- | ||
|<# | |<#WindRoseData> | ||
| | |A comma-separated list of the wind 'totals' used to draw the wind rose (8 or 16 values) | ||
|- | |- | ||
|<# | |<#WindRosePoints> | ||
|The | |The number of items in <#WindRoseData> (i.e. 8 or 16) | ||
|- | |- | ||
|<# | |<#WindSampleCount> | ||
| | |The number of wind samples making up the wind rose (etc) data (up to 3600) | ||
|- | |- | ||
| | |colspan="2" style="background:lightgray;"|Miscellaneous | ||
| | |||
|- | |- | ||
|<# | |<#cloudbase> | ||
| | |Calculated [http://en.wikipedia.org/wiki/Cloud_base cloud base] | ||
|- | |- | ||
|<# | |<#cloudbasevalue> | ||
| | |Current calculated cloud base without units | ||
|- | |- | ||
|<# | |<#UV> | ||
| | |Current [http://en.wikipedia.org/wiki/Uv_index UV index]. Requires your station to have a UV sensor. | ||
|- | |- | ||
|<# | |<#SolarRad> | ||
| | |Current [http://en.wikipedia.org/wiki/Solar_radiation solar radiation]. Requires your station to have a solar sensor. | ||
|- | |- | ||
|- | |- | ||
|<# | |<#Light> | ||
| | |Current Current light level in Lux. Requires your station to have a solar sensor. Only applies to Fine Offset stations. | ||
|- | |- | ||
|<# | |[[Forecast_webtag|<#forecast>]] | ||
|The current | |The current forecast | ||
|- | |- | ||
|<# | |<#forecastenc> | ||
|The | |The same as <#forecast> but with all reserved HTML characters, and those above character code 159, encoded as HTML entities | ||
|- | |- | ||
|<# | |<#forecastnumber> | ||
|The | |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 | ||
|- | |- | ||
|<# | |<#cumulusforecast> | ||
| | |Always gives Cumulus (Zambretti) forecast, even if the <#forecast> tag provides a station forecast | ||
|- | |- | ||
|<# | |<#cumulusforecastenc> | ||
|The | |The same as <#cumulusforecast> but with all reserved HTML characters, and those above character code 159, encoded as HTML entities | ||
|- | |- | ||
|<# | |<#wsforecast> | ||
| | |Always gives station forecast (if available) | ||
|- | |- | ||
|<# | |<#wsforecastenc> | ||
|The | |The same as <#wsforecast> but with all reserved HTML characters, and those above character code 159, encoded as HTML entities | ||
|- | |- | ||
|<# | |<#currcond> | ||
| | |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> | ||
|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. | |||
|} | |||
==== 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" | |||
|- | |- | ||
| | !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 viewer/editor | ||
|- | |- | ||
|<# | |<#ExtraTemp1> | ||
| | |Extra temperature channel 1 | ||
|- | |- | ||
|<# | |<#ExtraTemp2> | ||
| | |Extra temperature channel 2 | ||
|- | |- | ||
|<# | |<#ExtraTemp3> | ||
| | |Extra temperature channel 3 | ||
|- | |- | ||
|colspan="2"|... and so on up to <#ExtraTemp10> = Extra temperature channel 10 | |||
|- | |- | ||
|<# | |<#ExtraDP1> | ||
| | |Extra dew point channel 1 | ||
|- | |- | ||
|<#ExtraDP2> | |||
| | |Extra dew point channel 2 | ||
|- | |- | ||
|<# | |<#ExtraDP3> | ||
| | |Extra dew point channel 3 | ||
|- | |- | ||
|<# | |colspan="2"|... and so on up to <#ExtraDP10> | ||
| | |- | ||
|<#ExtraHum1> | |||
|Extra humidity channel 1 | |||
|- | |||
|<#ExtraHum2> | |||
|Extra humidity channel 2 | |||
|- | |- | ||
|<# | |<#ExtraHum3> | ||
| | |Extra humidity channel 3 | ||
|- | |- | ||
| | |colspan="2"|... and so on up to <#ExtraHum10> | ||
| | |||
|- | |- | ||
|<# | |<#SoilTemp1> | ||
| | |Soil temperature 1 | ||
|- | |- | ||
|<# | |<#SoilTemp2> | ||
| | |Soil temperature 2 | ||
|- | |- | ||
|<# | |colspan="2"|... and so on up to <#SoilTemp16> | ||
|- | |- | ||
|<# | |<#SoilMoisture1> | ||
| | |Soil moisture 1 | ||
|- | |- | ||
|<#SoilMoisture2> | |||
|Soil moisture 2 | |||
|- | |- | ||
|<# | |colspan="2"|... and so on up to <#SoilMoisture16> | ||
|- | |- | ||
|<# | |<#LeafTemp1> | ||
| | |Leaf temperature 1 | ||
|- | |- | ||
|<# | |<#LeafTemp2> | ||
| | |Leaf temperature 2 | ||
|- | |- | ||
| | |<#LeafWetness1> | ||
|Leaf wetness 1 | |||
|- | |- | ||
|<# | |<#LeafWetness2> | ||
|Extra | |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" | |||
|- | |- | ||
| | !style="width:150px" |Web tag_name | ||
| | !style="width:600px" |Function | ||
|- | |- | ||
|<# | |<#GW1000FirmwareVersion> | ||
| | |GW1000 firmware version string | ||
|} | |||
{| class="wikitable" border="1" | |||
|- | |- | ||
| | !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 <# | |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 | |||
|} | |||
|colspan="2"|... and so on up to <# | |||
| | 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. | |||
(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). | |||
[[#No_Commas]] versions of the array are available for use in script. | |||
=== 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 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> 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. | ||
Line 1,195: | 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,256: | 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,277: | 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. | 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; | |||
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,295: | Line 1,338: | ||
|- | |- | ||
!style="width:150px" | Web tag_name | !style="width:150px" | Web tag_name | ||
!style="width: | !style="width:650px" | Function | ||
!style="width:150px" | Time tag_name | !style="width:150px" | Time tag_name | ||
|- | |- | ||
Line 1,325: | Line 1,368: | ||
|- | |- | ||
|<#feelslikeTH> | |<#feelslikeTH> | ||
|[[File:Badge vMx.png]] Available from version 3.6. | |[[File:Badge vMx.png]] Available from version 3.6.10 Today's high feels like temperature | ||
|<# | |<#TfeelslikeTH> | ||
|- | |- | ||
|<# | |<#feelslikeTL> | ||
|[[File:Badge vMx.png]] Available from version 3.6. | |[[File:Badge vMx.png]] Available from version 3.6.10 Today's low feels like temperature | ||
|<# | |<#TfeelslikeTL> | ||
|- | |- | ||
|<#heatindexTH> | |<#heatindexTH> | ||
Line 1,459: | 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 | 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,467: | Line 1,511: | ||
|- | |- | ||
!style="width:150px" | Web tag_name | !style="width:150px" | Web tag_name | ||
!style="width: | !style="width:550px" | Function | ||
!style="width:150px" | Time | !style="width:150px" | Time | ||
|- | |- | ||
Line 1,614: | Line 1,658: | ||
==Monthly== | ==Monthly== | ||
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. | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 1,768: | Line 1,816: | ||
==Yearly== | ==Yearly== | ||
This table shows the web tags used on the "thisyearT.htm" web page, the rainfall this | 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. | |||
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. | |||
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,779: | 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: | !style="width:350px"|Time | ||
!style="width:150px"|Date | !style="width:150px"|Date | ||
|- | |- | ||
Line 1,846: | 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,927: | Line 1,984: | ||
==All Time== | ==All Time== | ||
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! | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
!style="width:150px" | Web tag_name | !style="width:150px" | Web tag_name | ||
!style="width: | !style="width:400px" | Function | ||
!style="width:150px" | Date/Time | !style="width:150px" | Date/Time | ||
|- | |- | ||
Line 2,001: | 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,057: | 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. | 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 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,065: | Line 2,132: | ||
|- | |- | ||
!style="width:150px"|Web tag_name | !style="width:150px"|Web tag_name | ||
!style="width: | !style="width:400px"|Function | ||
!style="width:150px"|Date/Time | !style="width:150px"|Date/Time | ||
|- | |- | ||
Line 2,083: | 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,190: | Line 2,257: | ||
|- | |- | ||
!style="width:150px" | Web tag_name | !style="width:150px" | Web tag_name | ||
!style="width: | !style="width:900px" | Function | ||
|- | |- | ||
|<#sunrise> | |<#sunrise> |
edits