The extent to which these different expressions for feels like are supported in Cumulus varies. Not all are fully supported (fully supports means derived maxima and minima outputs are available for each day, each month, each year, monthly all time, and all-time), and none of them allow you to set alarms for when it passes a particular threshold. For example Humidity Index (Humidex) is available only for current conditions. The greatest Wind Chill (highest wind speed, lowest temperature) is available for daily, monthly, yearly, monthly-all-time, and all-time.
The preferred expression varies as research into the effects of the 3 variables listed above on how temperature is perceived by bare skin on the human body continues. There has in the past been divergence between different nations, but most now use what Cumulus MX from version 3.6.0 fully supports (in terms of derived outputs just listed) for feels like. This is a variant on wind chill (good when temperature below 50 <sup>o</sup>F [10 <sup>o</sup>C]) and apparent temperature (good in range 20 to 28 <sup>o</sup>C), and was defined by the Joint Action Group for Temperature Indicators (JAG/TI) which is the formula used in the UK, Iceland, Australia, USA, and Canada, amongst others. As already mentioned MX uses same formula for what it reports as Wind Chill, and for what it reports as Feels like when temperature is below 10 °C (50 °F). Unfortunately, MX uses different formulae for Feels like when temperature is 10 °C (50 °F) or above; these formulae depend on version:
# versions 3.5.4 (25 Apr 2020 build 3075) to version 3.6.7 (4 June 2020 build 3083)
# version 3.6.8 build 3084
# version 3.6.10 build 3086
Because of these changes, I have deleted the formula that was quoted here.
The official formula of JAG/TI-2000 is:
G(J) = 13,12+0,6215∗T−11,37∗(W∗3,6)0,16+0,3965∗T∗(W∗3,6)0,16(2.3) where air temperature, T, is in °C, is measured at 1.50 metres, and wind speed, W, is in m/s as measured at 10 metres.
MX uses a slightly different formula, it is dependent on temperature, and can be expressed in PHP as:
<tt>if($temp_degC < 10)
{
$feels_like = $wind_chill;
}elseif($temp_degC > 20)
{
$feels_like = $apparent_temp;
}else{
$app_temp_mult = ($temp_degC - 10) / 10;
$wind_chill_mult = 1 - $app_temp_mult;
$feels_like = ($apparent_temp * $app_temp_mult) + ($wind_chill * $wind_chill_mult);
}</tt>
If you understand PHP Hypertext Preprocessor language (other languages use similar operators) you will see from this that for MX, the '''feels like''' scale follows [[Wind chill|wind chill]] below 10 degrees Celsius, it follows [[Apparent temperature|apparent temperature]] above 20 degrees C, and blends the proportion of each of those at in-between temperatures.
The following JavaScript function will work out the feels like temperature taking as input in first parameter the current air temperature (that can be in <sup>o</sup>F or <sup>o</sup>C), the C or F is supplied in second parameter, the third parameter is the current average wind speed, the fourth parameter is the wind units (as expressed in <#windunit>), and the final parameter is the current humidity (as a %). I say current, but this function can be applied to past values as stored in standard data log. Within the function it calls other functions for calculating apparent tempewrature (AT) and wind chill (WC) and for converting temperature to Celsius (calcTempC) and converting output back to units used by Cumulus user, with rounding (calcTempR).
<pre>function calcFeelsLike(temp, tempLetter, wind, windUnit, RHumidity)
{
var calcWC = calcWindChill(temp, tempLetter, wind, windUnit, RHumidity);
var calcAT = calcAppTemp(temp, tempLetter, wind, windUnit, RHumidity);
var tempDegC = calcTempC(temp, tempLetter);
var WCDegC = calcTempC(calcWC, tempLetter);
var ATDegC = calcTempC(calcAT, tempLetter);
var wind_km_h;
switch(windUnit)
{
case "m/s": wind_km_h = wind * 3.6; break;
case "mph": wind_km_h = wind * 1.609344; break;
case "km/h": wind_km_h = wind; break;
case "kts": wind_km_h = wind * 1.85184; break;
}
var feels_likeDegC;
if( tempDegC < 10)
{
feels_likeDegC = WCDegC;
}else if( tempDegC > 20)
{
feels_likeDegC = ATDegC;
}else{
app_temp_mult = ( tempDegC - 10) / 10;
wind_chill_mult = 1 - app_temp_mult;
feels_likeDegC = (ATDegC * app_temp_mult) + (WCDegC * wind_chill_mult);
}
var feelsLike = calcTempR(feels_likeDegC, tempLetter);
return feelsLike;
}</pre>
== Rest of this article ==
|