Webtags (preserving history): Difference between revisions

From Cumulus Wiki
Jump to navigationJump to search
m
no edit summary
m (Various improvements)
mNo edit summary
(29 intermediate revisions by 2 users not shown)
Line 2: Line 2:
Please be aware some content originally on this page has been moved to other pages.  Old posts on the support forum that used to link directly to the specific material, will instead bring you to this start of the page.  
Please be aware some content originally on this page has been moved to other pages.  Old posts on the support forum that used to link directly to the specific material, will instead bring you to this start of the page.  


The new links to material that has been moved off this page can be found approximately where the material used to be within two sections on this page: [#Input Modification Parameters and Output Modification Parameters]] and  [[#The tag name]].
The new links to material that has been moved off this page can be found approximately where the material used to be within three sections on this page: [[#Input Modification Parameters and Output Modification Parameters]], [[#The tag name]], and [[#Recent History]].


=Essential Background Reading=
[[File:Badge v1.png]][[Category:Cumulus 1]] This page was created for Cumulus 1. Steve/Beth Loft provided some example [[Cumulus template file|web template files]], but expected Cumulus users to develop their [[Customised templates|own Cumulus template files]] making use of the web tags, listed below, that the software provided.
 
If you have not used this Wiki page before, or are unsure about using "web tags", there are some concepts that you do need to understand in the sub-sections that follow.


Early releases of MX also followed that [[Customised templates|web page template files you could customise]] approach, but that has now stopped.
<div style="background: LemonChiffon;padding:5px; margin:2px;">
<div style="background: LemonChiffon;padding:5px; margin:2px;">
[[File:Crystal Clear info.png|40px]]
[[File:Crystal Clear info.png|40px]]  
<big>From release 3.10.1,
 
:if you use the [[New_Default_Web_Site_Information|default web site]], then web tags are provided to your web server using the [[WebsitedataT.json]] file, so see those 2 linked pages if you are interested in the default web pages.</big>


<br>
USING CURRENT RELEASE OF MX?
* Go to <big>[[WebsitedataT.json]]</big> page, instead of this one
* That page explains the ID names used on the [[New_Default_Web_Site_Information|default web site]] introduced from release 3.10.0
* That page documents each data pair in the file
* That page gives the source web tag for each ID name on the web pages
* That page explains what data is represented by the  ID name, JSON attribute, web tag name


Continue reading this Wiki Page if you are using your own (customised) web pages, using legacy web pages, ''or'' want a definitive list of all available web tags.
Continue reading this Wiki Page if you are using your own (customised) web pages, using legacy web pages, ''or'' want a definitive list of all available web tags.
</div>
</div>
=Essential Background Reading=
If you have not used this Wiki page before, or are unsure about using "web tags", there are some concepts that you do need to understand in the sub-sections that follow.


==What is a web tag? ==
==What is a web tag? ==


Weather values are always changing, so Cumulus needs a way for you to tell Cumuluss to enter the current value for a particular derivative, when it is [[Customised_templates#What_is_meant_by_.27Cumulus_processes_templates.27|processing templates]].
Weather values are always changing, so Cumulus needs a way for you to tell Cumulus to enter the current value for a particular derivative, when it is [[Customised_templates#What_is_meant_by_.27Cumulus_processes_templates.27|processing templates]].


==General Format for Web Tags==
==General Format for Web Tags==
Line 35: Line 40:
There is a basic guide to what these parameters can do, and another link to the new page at [[#Input Modification Parameters and Output Modification Parameters]] later on this page.
There is a basic guide to what these parameters can do, and another link to the new page at [[#Input Modification Parameters and Output Modification Parameters]] later on this page.


{{TOCright}} [[Category:Cumulus 1]]


===The tag names===
===The tag names===
Line 46: Line 50:


If you are using a Oregon Scientific weather station, then you should read [[#Web tags mentioning (outside) temperature]] in the optional reading section.
If you are using a Oregon Scientific weather station, then you should read [[#Web tags mentioning (outside) temperature]] in the optional reading section.
====Inconsistency of tag names====
For both the legacy Cumulus and for MX, it is vital that you use tag names exactly as they are listed.  That would be easy had Steve Loft created a naming standard and stuck to it.  To be fair, when he first created tag names, Cumulus could only report current values and the summary for the day so far; Steve did not anticipate, back then, that later he would add extreme record monitoring. The legacy tag names for this month and this year were all introduced in a single release and they remain consistent apart from what MX added later!  However, they are not consistent with the naming of the all-time extremes introduced much earlier.
This great inconsistency in the naming, gives rise to a problem as it very easy to spell a tag_name incorrectly (and I apologise if any such mistakes creep into the tables) as you naturally expect there to be a standard pattern.  Some tags are all lower-case, some are camel-case, and some start with a capital letter. Have a look yourself at just how much inconsistency is present in the names in the tables below.
=====Inconsistency in use of "Y"=====
The character "Y" has been selected to denote yesterday in tag names.  The inconsistency is where it appears.  In his oldest tag names (e.g. <#rfallY>, <#windrunY>, <#avgtempY>), Steve used this Y as a suffix. In newer tag names (e.g. <#Ybeaufort>, <#YSunshineHours>, <#Ychillhours>), Steve changed to using Y as a prefix.
=====Consistency becomes inconsistency for this month and this year=====
The legacy tag names for this year and this month were all introduced together by Steve in one release, with consistency in how they were named then, "Month" or "Year" was used as a prefix (this was after he had started using "Y" as a prefix for his new yesterday tag names) e.g. <#YearLongestDryPeriod>.
The development of MX broke this consistency, as Mark adds "Year" as a suffix e.g. <#SunshineHoursYear>.
=====Inconsistency in use of "T"=====
I said above, that early versions of Cumulus only had tag names for current values and for today-so-far.  Therefore it could be assumed that <#beaufort>,  <#temp> and <#press> all represented current values while <#avgtemp> and <#rfall> represented today-so-far values just by looking at their names.
The current value tag names could be used as the basic part of tag names with  "TH" and "TL" added as suffixes to represent daily highs and daily lows, (e.g. <#tempTH>, <#tempTL> and <#pressTH>, <#pressTL>), which made a lot of sense.
But that naming convention was broken when the extreme <#Tbeaufort> used "T" as a prefix, not suffix, and did not include a "H". Continuing looking at today-so-far tag names, we discover a prefix "T" is not just used for values, it is also used for time-stamps e.g. <#TtempTH>.
The use of "T" as a prefix for time-stamps continues in the tag names for all-time extreme records. However, when you look at time-stamps for extremes in this-year, the time-stamp denoting "T" is added as a suffix e.g. <#YearTempHT>.


====General Tip====
====General Tip====


''This sub-section applies to releases up to 3.11.4.'' (From 3.12.0, use the admin interface and Station settings → Common Options → Advanced options, to get to where you change this setting, instead of editing the file as described below).
''This sub-section applies to releases up to 3.11.4.'' (From 3.12.0, use the admin interface and Program settings → General options, to get to where you change this setting, instead of editing the file as described below).


The tag names available in the release/version/build you are using, can be listed (in Cumulus 1 or Cumulus MX) by adding the following line to [[Cumulus.ini#Section:_Station|Cumulus.ini]] in the [station] section...
The tag names available in the release/version/build you are using, can be listed (in Cumulus 1 or Cumulus MX) by adding the following line to [[Cumulus.ini#Section:_Station|Cumulus.ini]] in the [station] section...
Line 101: Line 132:
==Input Modification Parameters and Output Modification Parameters==
==Input Modification Parameters and Output Modification Parameters==


In [[#Scary_statistics]] section of this page, it is explained how less than a thousand [[#Full List of Tag Names|tag names]] as they are only part of the [[#General Format for Web Tags]] become billions of web tags, simply by adding modifiers.
In [[#Scary_statistics]] section of this page, it is explained how less than a thousand [[#Full List of Tag Names|tag names]] (the first part of the [[#General Format for Web Tags]]) become billions of web tags, simply by adding modifiers.


The modifiers available used to be listed on this page (so if you select the history tab for this page, you will find references to their introduction and growth).  There are some advantages in moving them to the new [[Webtags/Parameters|web tag parameters]] page:
The modifiers available used to be listed on this page (so if you select the history tab for this page, you will find references to their introduction and growth), but are now on a new [[Webtags/Parameters|web tag parameters]] page.  Here are some of the advantages achieved by moving them to the new page:
* This page is very long, even without the parameters
* This page is very long, so it is not easy to navigate this page, even without the parameters
* There would be a lot of repetition if you attempted to say beside each tag name which modification parameters were available.
* There would be a lot of repetition if you attempted to say beside each tag name which modification parameters were available.
* Having them on separate pages means you can have two tabs (or two separate browsers) open so you can see both the tag name and the modifier parameter by flicking between tabs,instead of lots of scrolling.
* Having them on separate pages means you can have two tabs (or two separate browsers) open so you can see both the tag name and the modifier parameter by flicking between tabs, instead of lots of scrolling between different parts of same page.
* The introduction of [[WebsitedataT.json]], which controls what data is available to tables in the web pages provided by MX, means that page, rather than this page is the entry point for MX, and it is easier for that page to reference a separate parameters page
* MX has introduced many more input and output modification parameters, it is easier to maintain a separate page (and easier for reference if you just want to refresh your mind on new modification parameters).
* MX has introduced many more input and output modification parameters, it is easier to maintain a separate page (and easier for reference if you just want to refresh your mind on new modification parameters).




For just a taste, there you can discover:
For just a taste, there you can discover:
* A score of [[Webtags/Parameters#Input_modification_Parameters|input modification parameters
* A score of [[Webtags/Parameters#Input_modification_Parameters|input modification parameters]]
** For  example, find which attribute is used with a value between 1 and 12, so the same tag name can give values for 12 different months)
** For  example, find which attribute is used with a value between 1 and 12, so the same tag name can give values for 12 different months)
* If your locale normally (in real numbers) uses an integer part, then a comma, and then the decimal part, you should be aware that some computer scripts, and some external servers where you might want to send data, insist on a decimal point, instead of a decimal comma:
* If your locale normally (in real numbers) uses an integer part, then a comma, and then the decimal part, you should be aware that some computer scripts, and some external servers where you might want to send data, insist on a decimal point, instead of a decimal comma:
Line 117: Line 149:
** If you have the legacy Cumulus 1 installed, stay on this page and look at [[#No_Commas]], as you have to use the restricted alternative set of tag names.
** If you have the legacy Cumulus 1 installed, stay on this page and look at [[#No_Commas]], as you have to use the restricted alternative set of tag names.
* How to [[Webtags/Parameters#Two_Output_.28format_modifier.29_parameters_for_decimal_places|control number of decimal places]] in any real number output
* How to [[Webtags/Parameters#Two_Output_.28format_modifier.29_parameters_for_decimal_places|control number of decimal places]] in any real number output
* All about the complex subject of modifying the way a '''duration''', a ''date'', or a  '''clock time''' is output by looking [[Webtags/Parameters#Multiple_Output_Format_Modifier_parameters_for_times_and_dates|here]]
* All about the complex subject of modifying the way a '''duration''', a ''date'', or a  '''clock time''' is output by looking at [[Webtags/Parameters#Multiple_Output_Format_Modifier_parameters_for_times_and_dates|Multiple_Output_Format_Modifier_parameters_for_times_and_dates]]


== Why does MX talk about tokens? ==
== Why does MX talk about tokens? ==


MX uses a '''token parser''' to read the web tags and replace them with the correct value, so if diagnostic output refers to tokens, it is saying the attempt to actually work out what content to return to replace the web tag with its tag name and parameters has encountered a problem.
MX uses a [[Cs_Code_Modules#TokenParser.cs|'''token parser''']] to read the web tags and replace them with the correct value, so if diagnostic output refers to tokens, it is saying the attempt to actually work out what content to return to replace the web tag with its tag name and parameters has encountered a problem.


==Scary statistics==
==Scary statistics==
Line 300: Line 332:
|<#intemp>
|<#intemp>
|The inside temperature
|The inside temperature
|-
|<#TempChangeLastHour>
|The change in outside temperature over the last hour (not available in early versions of Cumulus  1, when this was announced, a temperature change over 24 hours was also proposed, but never implemented)
|-
|-
|<#temptrend>
|<#temptrend>
|The average rate of change in temperature over the last three hours. Trend = (temp_now - temp_3hrs_ago) / 3
|The average rate of change in temperature over the last three hours. Trend = (temp_now - temp_3hrs_ago) / 3 (available in all releases, the calculation selected for this trend matches the standard-based calculation for <#presstrendval> despite the naming inconsistency)
|-
|-
|<#temptrendtext>
|<#temptrendtext>
Line 308: Line 343:
|-
|-
|<#temptrendenglish>
|<#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)
|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). From version 1.8.8 1st December 2009
|-
|<#TempChangeLastHour>
|The change in temperature over the last hour
|-
|-
|<#heatindex>
|<#heatindex>
Line 399: Line 431:
|-
|-
|<#presstrendval>
|<#presstrendval>
|The average rate of pressure change over the last three hours.
|The average rate of pressure change over the last three hours. Trend = (pressure_now - pressure_3hrs_ago) / 3    (Fixed from version 1.7.7 5th March 2008)
|-
|-
|<#presstrend>
|<#presstrend>
Line 405: Line 437:
|-
|-
|<#presstrendenglish>
|<#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)
| 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). From version 1.8.8 1st December 2009
|-
|-
| <#PressChangeLast3Hours>
| <#PressChangeLast3Hours>
Line 737: Line 769:


[[File:Badge vMx.png]] Unless otherwise indicated these web tags become available from release 3.9.5.
[[File:Badge vMx.png]] Unless otherwise indicated these web tags become available from release 3.9.5.
<big>THE INFORMATION HERE IS TAKEN FROM RELEASE ANNOUNCEMENTS THAT DO NOT EXPLAIN WHAT THESE WEB TAGS REPORT
PLEASE WOULD SOMEBODY WHO UNDERSTANDS THIS TERMINOLOGY UPDATE THE FOLLOWING TABLE</big>


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 746: Line 774:
!style="width:150px" |Web tag_name
!style="width:150px" |Web tag_name
!style="width:600px" |Function
!style="width:600px" |Function
|-
| <#CO2>
| The actual CO<small>2</small>concentration in ppm
|-
|-
| <#CO2-pm2p5>
| <#CO2-pm2p5>
| Air Quality expressed in terms of particulate matter of 2.5 micrometres or less
| Air Quality expressed in terms of particulate matter of 2.5 μm/m<small>3</small> or less
|-
|-
| <#CO2-pm2p5-24h>
| <#CO2-pm2p5-24h>
| Air Quality expressed in terms of particulate matter of 2.5 μm, or less, Last 24 hours average
| Air Quality expressed in terms of particulate matter of 2.5 μm/m<small>3</small>, or less, 24 hours moving average
 
WILL SOMEBODY WHO KNOWS UPDATE THIS ENTRY AND OTHERS
|-
|-
| <#CO2-pm10>
| <#CO2-pm10>
| Air Quality expressed in terms of particulate matter of 10 μm, or less
| Air Quality expressed in terms of particulate matter of 10 μm/m<small>3</small>, or less (yes, this includes the 2.5 figure)
|-
|-
| <#CO2-pm10-24h>
| <#CO2-pm10-24h>
| Air Quality expressed in terms of particulate matter of 10 μm, or less, Last 24 hours average  
| Air Quality expressed in terms of particulate matter of 10 μm/m<small>3</small>, or less, 24 hours moving average  
 
WILL SOMEBODY WHO KNOWS UPDATE THIS ENTRY AND OTHERS
|-
|-
| <#CO2-temp>
| <#CO2-temp>
| Temperature as reported by Air Quality monitor
| Temperature as reported by Air Quality monitor.
 
Note that this temperature has nothing to do with the temperature as reported by the main weather station. It reflects the temperature of the sensor and would be used in combination with the sensors measured humidity (see next) for correction of the measured PM (particulate matter) value. Determination of how to correct the PM value is highly dependent on the conditions and placement of the sensor. See the specification sheet for the sensor or create some multivariate regression line based on calibration measurements. This is also valid for PM sensors like the AirLink. The normal amateur usage of PM sensors is that the uncorrected values are published.
|-
|-
| <#CO2-hum>
| <#CO2-hum>
Line 800: Line 829:
|-
|-
|<#AirQuality1>
|<#AirQuality1>
| Air quality 1
| Air quality in μm/m<small>3</small> or less
|-
|<#AirQuality2>
| Air quality in μm/m<small>3</small> or less
|-
|-
|colspan="2"|... and so on up to <#AirQuality4>
|colspan="2"|... and so on up to <#AirQuality4>
|-
|<#AirQualityAvg1>
| 24 hr running average Air quality in μm/m<small>3</small> or less
|-
|<#AirQualityAvg2>
| 24 hr running average Air quality in μm/m<small>3</small> or less
|-
|colspan="2"|... and so on up to <#AirQualityAvg4>
|-
|-
|<#LeakSensor1>
|<#LeakSensor1>
|Leak sensor - 0 or 1  
|Leak sensor 1 - returns false/true as 0 or 1
|-
|<#LeakSensor2>
|Leak sensor 2 - returns false/true as 0 or 1  
|-
|-
|colspan="2"|... and so on up to <#LeakSensor4>
|colspan="2"|... and so on up to <#LeakSensor4>
Line 826: Line 869:
==Recent History==
==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. 
Please refer to the [[Recent history]] page for full information about using the tags in the following two tables, as material once on this page has been moved there.
*The input modification parameters available are listed at [[Webtags/Parameters#Input Modification Parameters for Recent History]].
**To save you looking up the details, these input parameters specify how many minutes ago is required. Instead of entering a very large number for minutes, you can include separate input parameters for days, hours, and minutes, ago.
**Examples appear in the table below, with explanations


Following the table giving the tag names actually available, there is a section on how to derive a few more weather derivatives using a combination of the tag names shown.
===Using input/output modification parameters with recent history tag names===


'''All tag names listed below, require the mandatory input modification parameters specified in this table.'''
The optional output modification parameters available are as specified in this table, depending on tag name:
{| class="wikitable" border="1"
|-
!style="width:150px" | Tag names
!style="width:200px" | Mandatory Input Modification Parameters
!style="width:200px" | Optional Output Modification Parameters
|-
| <#RecentTS> (see [[#Table of Recent History tag names available]]
| Mandatory parameters as table at [[Webtags/Parameters#Input_modification_Parameters]]
| Optional parameters to modify the time format described in tables starting at [[Webtags/Parameters#Multiple_Output_Format_Modifier_parameters_for_times_and_dates]]
|-
| All other tag names in [[#Available in 1.9.3, 1.9.4, and all MX releases]] and [[#Available in MX only]]
| Mandatory parameters as table at [[Webtags/Parameters#Input_modification_Parameters]]
| Whether you can modify the way these values are output depends on release you are using:
* From release 3.10.5: Please see tables at [[Webtags/Parameters#Output_Modification_Parameter_for_changing_any_decimal_comma_into_a_decimal_point]] and [[Webtags/Parameters#Controlling_the_number_of_decimal_places]]
* For legacy Cumulus, and earlier MX releases, no output format modification parameters are available, instead see [[#No_Commas]] section on this page.
|}


===Warning when Daylight Saving Time starts or ends===
=== Table of Recent History tag names available ===
 
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
* ''when the clocks go back'', one hour has been overwritten; or
* ''when the clocks go forward'', one hour in the array simply does not exist.
 
=== Table of Recent History web tags available ===
 


[[#No_Commas]] versions of the array are available for use in script. If you use MX, the tag names in this table can take a [[Webtags/Parameters#Output Modification Parameter for Removing Commas|rc=y]] parameter.
One tag name is available since 1.9.3 to report the time associated with values you request.


Although as [[Recent history]] page explains, the history is intended to cover every minute in last 7 days, some entries may be at less frequent intervals, and when clocks change some entries will be missing altogether.
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 860: Line 909:
|Gives the timestamp of the data that will be returned for any other recent history tag that uses same '''d, h, and m''' parameters
|Gives the timestamp of the data that will be returned for any other recent history tag that uses same '''d, h, and m''' parameters
|<#RecentTS h=3 m=1 format="HH:nn"> for cumulus 1; <#RecentTS h=3 m=1 format="HH:mm"> for cumulus MX
|<#RecentTS h=3 m=1 format="HH:nn"> for cumulus 1; <#RecentTS h=3 m=1 format="HH:mm"> for cumulus MX
|}
====Available in 1.9.3, 1.9.4, and all MX releases====
{| class="wikitable" border="1"
|-
!style="width:150px" | Tag_name
!style="width:600px" | Function
!style="width:600px" | Input Modification Parameters example
|-
|-
|colspan="3" style="background:lightgray;"|Temperature & Humidity tags
|colspan="3" style="background:lightgray;"|Temperature & Humidity tags
Line 868: Line 926:
|-
|-
|<#RecentWindChill>
|<#RecentWindChill>
|Wind Chill (if temperature is below 10°C or 50 °F, then the new Feels Like now available in MX (next item) will report this same value).
|Wind Chill  
| <#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
|-
|<#RecentFeelsLike>
| [[File:Badge v1.png]] Not available in Cumulus 1.
[[File:Badge vMx.png]] Available from version 3.6.11 (b.3087) onwards.
Feels Like Temperature
|<#RecentFeelsLike h=12 m=1> reports the feel like temperature 12 hours ago
|-
|<#RecentHumidex>
| [[File:Badge v1.png|File]] Not available in Cumulus 1.
[[File:Badge vMx.png]] Available from version 3.7.0 (build 3089) onwards.
Canadian Humidity Index (humidex) Dimensionless - no units
|<#RecentHumidex h=3> reports humidex 3 hours ago
|-
|-
|<#RecentDewPoint>
|<#RecentDewPoint>
Line 899: Line 941:
| 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)
|-
|-
|colspan="3" style="background:lightgray;"|Wind
|colspan="3" style="background:lightgray;"|Wind <br>(Note: Wind 'Speed', 'Gust' and 'Latest' have the usual Cumulus meanings see [[Wind measurement]])
|-
|-
|<#RecentWindSpeed>
|<#RecentWindSpeed>
Line 912: Line 954:
|-
|-
|<#RecentWindLatest>
|<#RecentWindLatest>
|Wind Latest. Note: Wind 'Speed', 'Gust' and 'Latest' have the usual Cumulus meanings
|Wind Latest.  
| 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)
|-
|-
Line 946: Line 988:
|}
|}


=== Other weather derivatives ===
====Available in MX only====


Although Humidex, 'Apparent Temperature', 'Feels Like temperature' and others listed in Current Conditions section, are not available at all versions, they can be calculated in a script from recent 'outside temperature', 'wind speed', and 'relative humidity' values (using the same time selection for all). There are other derivatives that can be calculated similarly from a set of simultaneous values. Note that Cumulus 1 and MX do not always use identical formula, and although MX added Feels Like it has changed the formula a few times.
Please note this section has NOT yet been updated for recent MX releases, it appears from [[cumulusmx.db|RecentData table in cumulusmx.db]] that the list here is not complete for MX.  However, no release announcement has been found listing tag names not shown here (i.e. apparent temperature, indoor temperature and humidity, air quality)
 
{| class="wikitable" border="1"
The relevant formulae using JavaScript, adjust for other languages, for some of these are shown below:
|-
 
!style="width:150px" | tag_name
==== Canadian Humidity Index ====
!style="width:150px" | Introduced
 
!style="width:600px" | Function
If you are in USA and use Fahrenheit instead of Celsius, you will need to omit the 5/9 term, but as the index is dimensionless no other conversion is needed. This example is for 3 hours ago, change the input parameters to suit your need.
!style="width:600px" | Input Modification Parameters example
 
|-
Cumulus 1:
|colspan="4" style="background:lightgray;"|Indoor Temperature & Humidity tags
 
|-
H = <#RecentOutsideTemp h=3> + 5/9 * (6.1094 * Math.exp(5417.753 *(1/273.16 - 1/ (273.16 + <#RecentDewPoint h=3> )))-10);
|colspan="4" style="background:lightgray;"|Outdoor Temperature & Humidity tags
 
|-
Cumulus MX:
|<#RecentWindChill>
 
| Legacy Cumulus version 1.8.5
svp = 6.112 * Math.exp((17.62 * <#RecentOutsideTemp h=3) / (243.12 + parseFloat(<#RecentOutsideTemp h=3)));
|Wind Chill  (if temperature is below 10°C or 50 °F, then the new Feels Like now available in MX (next item) will report this same value).
H = (5/9 * (<#RecentHumidity h=3> /100 * svp - 10)) + <#RecentOutsideTemp h=3;
| <#RecentWindChill d=48 m=1> reports the wind chill temperature 2 days ago
 
|-
==== Apparent Temperature and Feels Like ====
|<#RecentFeelsLike>
 
| Available from version 3.6.11 (build 3087) onwards.
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:
| Feels Like Temperature
 
| <#RecentFeelsLike h=12 m=1> reports the feel like temperature 12 hours ago
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;
|<#RecentHumidex>
 
| Available from version 3.7.0 (build 3089) onwards.
Feels Like was implemented as a recent history web tag at version 3.6.11 (see [[#Feels_Like|Feels Like section below Current condition web tags]]) for the gradual introduction of feels like elsewhere. For earlier MX versions, and if you are using Cumulus 1, you can calculate it:
| Canadian Humidity Index (humidex) Dimensionless - no units
 
| <#RecentHumidex h=3> reports humidex 3 hours ago
The formulas below use 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.
|-
 
|colspan="4" style="background:lightgray;"|Air Quality tags
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>


== System ==
== System ==
Line 1,405: Line 1,429:
This first table lists all the web tags available for reporting what is recorded in the weather diary. Just to be clear, the web tags shown below, will report data for previous day if the current time is before the snow depth hour setting, and report data for the current day if the current time matches the snow depth hour or is later.
This first table lists all the web tags available for reporting what is recorded in the weather diary. Just to be clear, the web tags shown below, will report data for previous day if the current time is before the snow depth hour setting, and report data for the current day if the current time matches the snow depth hour or is later.
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
!style="width:150px" | Web tag_name
!style="width:150px" | Web tag_name
!style="width:650px" | Function
!style="width:650px" | Function
|-
|-
|<#snowdepth>
|<#snowdepth>
|Meteorologists report snow depth in cm, so this is default unit for Cumulus.  
|Meteorologists report snow depth in cm, so this is default unit for Cumulus.  
 
 
If there is no entry in Weather Diary for the day explained above, reports zero.
If there is no entry in Weather Diary for the day explained above, reports zero.
 
 
[[File:Badge vMx.png]] Input is to 2 decimal places. Available from version 3.1.1 - build 3054 when weather diary editor was added to MX.  MX allows output in centimetres with decimal places without any script. You can't change the units shown in admin interface, but your value can be input as inches to 2 decimal places if you ignore "cm" that is displayed in that interface.
[[File:Badge vMx.png]] Input is to 2 decimal places. Available from version 3.1.1 - build 3054 when weather diary editor was added to MX.  MX allows output in centimetres with decimal places without any script. You can't change the units shown in admin interface, but your value can be input as inches to 2 decimal places if you ignore "cm" that is displayed in that interface.
 
 
[[File:Badge v1.png|Fil]] Input and output is always as integer. Available from very early builds, weather diary input amended from version 1.8.6 14th April 2009 to allow units to be specified on diary edit screen. If you choose to enter as whole millimetres,  you can use JavaScript (or another script language) on your web page to divide the web tag by 10 and get centimetres to 1 decimal place on output.  
[[File:Badge v1.png|Fil]] Input and output is always as integer. Available from very early builds, weather diary input amended from version 1.8.6 14th April 2009 to allow units to be specified on diary edit screen. If you choose to enter as whole millimetres,  you can use JavaScript (or another script language) on your web page to divide the web tag by 10 and get centimetres to 1 decimal place on output.  
|-
|-
|<#snowlying>
|<#snowlying>
| [[File:Badge vMx.png]] Available from version 3.1.1 - build 3054.  If there is no entry in Weather Diary for the day explained above, , this web tag returns Null. Otherwise reports 1 if tick in diary, 0 is unticked.
| [[File:Badge vMx.png]] Available from version 3.1.1 - build 3054.  If there is no entry in Weather Diary for the day explained above, , this web tag returns Null. Otherwise reports 1 if tick in diary, 0 is unticked.
 
 
[[File:Badge v1.png]] Although this tag is not available in Cumulus 1, your web page can use a script to check if <#snowdepth> is non zero, as that means snow is lying
[[File:Badge v1.png]] Although this tag is not available in Cumulus 1, your web page can use a script to check if <#snowdepth> is non zero, as that means snow is lying
|-
|-
|<#snowfalling>
|<#snowfalling>
| [[File:Badge vMx.png]] Available from version 3.1.1 - build 3054.    If there is no entry in Weather Diary for the day explained above, , this web tag returns Null. Otherwise reports 1 if tick in diary, 0 is unticked.
| [[File:Badge vMx.png]] Available from version 3.1.1 - build 3054.    If there is no entry in Weather Diary for the day explained above, , this web tag returns Null. Otherwise reports 1 if tick in diary, 0 is unticked.
 
 
[[File:Badge v1.png]] Not available in Cumulus 1. There is no web page workaround, unless you write a script that reads [[Weather Diary]] and makes relevant information available on your web server.
[[File:Badge v1.png]] Not available in Cumulus 1. There is no web page workaround, unless you write a script that reads [[Weather Diary]] and makes relevant information available on your web server.
|}
|}
 
 
===Today.ini===
===Today.ini===
 
 
As explained earlier, these tags relate to latest [[Meteorological day]], except for Sunshine Hours which relate to latest Calendar day.
As explained earlier, these tag names relate to latest [[Meteorological day]] and they are populated from information held in [[today.ini]], as the sub-section title suggests; except for Sunshine Hours which relate to latest Calendar day and can be taken from either [[yesterday.ini]] or "today.ini" depending on (respectively) whether before or after rollover time if that is not midnight.  
 
 
Information for these tags is taken from [[today.ini]], hence the sub-section title, although Sunshine Hours can be taken from either [[yesterday.ini]] or "today.ini" depending on (respectively) whether before or after rollover time if that is not midnight.
Where a tag name reports a value specific to a past time in today-so-far, there will also be a tag name that can give the time of day, shown in same row of table below. For those that cover whole day so far, the final column contains "n/a". Please note none of the time 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' (24 hour clock notation without leading zero for hour) for Cumulus 1 and MX.
 
 
Many of these web tags were used on the supplied '''todayT.htm''' template in the legacy "/web" folder.  If you are using MX, the today and yesterday page in the [[MX_Administrative_Interface]] shows similar information by using the [[Cumulus_MX_Local_API#Today.2FYesterday_Data|local application programming interface]].
Also as explained earlier, there is some inconsistency in naming with "T" not included in all tag names, "T" is used in conjunction with "H" or "L" as a suffix for extreme values/time-stamps, but a prefix "T" can identify today's value, or prefix "T" can signify a time-stamp.
 
 
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 those that cover whole day so far, the final column contains "n/a".
In the legacy '''todayT.htm''' template, in the legacy "/web" folder, use was made of a selection of the tag names listed here.
 
 
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' (24 hour clock notation without leading zero for hour) for Cumulus 1 and MX.  
If you are using MX, the today and yesterday page in the [[MX_Administrative_Interface]] shows similar information by using the [[Cumulus_MX_Local_API#Today.2FYesterday_Data|local application programming interface]].
 
If you are using output modifiers to change how the time is reported, be careful to use ones that work for the flavour of Cumulus you are using ('H' and 'h' are same for Cumulus 1, but the two codes represent different formats for MX; MX insists on 'mm' being used for minutes, but the 'NN' and 'nn' used by Cumulus 1 could be replaced by 'mm' if they followed an hour specifier).
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
Line 1,794: Line 1,816:
|n/a
|n/a
|-
|-
| <#windAvgY>>
| <#windAvgY>
| [[File:Badge vMx.png]] (Available from release 3.12.0 onwards)
| [[File:Badge vMx.png]] (Available from release 3.12.0 onwards)


Line 1,810: Line 1,832:
|n/a
|n/a
|-
|-
|<#SunshineHoursY>
|<#YSunshineHours>
|Yesterday's hours of sunshine so far. Added in Cumulus 2, then to 1.9.1 build 957, also in MX. From version 3.7.0 takes a parameter "dp=n" so the number of decimal places required can be specified
|Yesterday's hours of sunshine so far. Added in Cumulus 2, then to 1.9.1 build 957, also in MX. From version 3.7.0 takes a parameter "dp=n" so the number of decimal places required can be specified
|n/a
|n/a
Line 1,962: Line 1,984:
|-
|-
|<#YearWindRunH>
|<#YearWindRunH>
This year's highest Daily Wind Run
| This year's highest Daily Wind Run
|n/a
|n/a
|<#YearWindRunHD>  
|<#YearWindRunHD>  
Line 2,327: Line 2,349:
This table includes web tags that show the values in [[Monthlyalltime.ini]] log file, which was introduced in version 1.9.3 (build 1033, 10 Apr 2012).
This table includes web tags that show the values in [[Monthlyalltime.ini]] log file, which was introduced in version 1.9.3 (build 1033, 10 Apr 2012).


These 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 modification, and optional output modification 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.
These 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.   
 
# The tag names listed here require a [[Webtags/Parameters#Input_modification_Parameters|input modification parameter]].
For full details of the input modification parameters, see [[Webtags/Parameters#Input_modification_Parameters|Parameters]] page.
# The tag names here can optionally take any [[Webtags/Parameters#Output_modification_parameters|output modification parameters]].
# To supply both optional input modification, and optional output modification parameters, separate them with spaces, e.g. <#ByMonthTempHT mon=7 format=hh:nn>. In that example, the time (not date) of highest ever temperature in July is returned after processing by Cumulus.


Additional tags correctly populated from 3.6.10 (build 3086) or 3.7.0 (build 3089) are marked with a "MX" icon as they are not available in Cumulus 1. Please note the 3.6.10 release was available from 24 June 2020, if the date/time shown for those MX only tags is before when you installed that (or a later release), the feels like output may show incorrect values.
At release 3.6.10 (build 3086), and at release 3.7.0 (build 3089); additional tag names were introduced:
* They are marked with a "MX" icon as they are not available in legacy Cumulus 1.  
* If you have any "feels like temperatures" that appear with a date/time parameter with a date before 24 June 2020, or before you installed the 3.6.10 release (or a later release), then the value web tag may show incorrect values.
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-

Navigation menu