Feels Like: Difference between revisions

2,174 bytes added ,  31 May 2020
m
''Feels Like'' is a concept often quoted in weather forecasts, as the name suggests it attempts to quantify what human skin detects as the temperature, taking into account any warming or cooling effect of exposure to different humidity levels, high wind, or shade/sunshine. The best way to quantify that has been discussed in many scientific papers following on from experimentation in various laboratories, and so different formulae have been used at different times as more is learnt about how the body reacts to different conditions.
 
All formulae involve the air temperature and at least one of the following variables as well as air temperature:
* (relative) humidity
* wind (speed)
* sunshine (radiation)
 
== The various ways to express Feels Like ==
Cumulus MX from version 3.6.0 fully supports the latest "Feels Like" definition as agreed by the Joint Action Group for temperature Indices (JAG/TI). If you understand PHP Hypertext Preprocessor language (other languages use similar operators) then here is how to calculate apparent temperature and feels like. The '''JAG/TI feels like''' scale follows [[Wind chill|wind chill]] below 10 degrees Celsius, [[Apparent temperature|apparent temperature]] above 20 degrees C, and blends the proportion of each of those at in-between temperatures. Note the function makes assumptions about units used for temperature (Celsius) and wind speed (kilometres per hour).
 
<pre>
Most versions of Cumulus output [[Wind chill]], [[Heat index]], [[Humidex|Humidity Index]], [[Apparent temperature]], and now MX also outputs "Feels Like". All of these are different formulae. All have been very popular and used as measures for Feels Like at different dates by people. You will find when some of these formulae are quoted that a year is given as well as the name, as the definition of many of them has varied as the years past, so the date of the relevant scientific paper or committee meeting is relevant to understanding how the named parameter was calculated.
//----------------------------------------------------------------
 
// CALCULATE APPARENT TEMPERATURE AND FEELS LIKE TEMPRATURE FROM AIR TEMPERATURE, WIND SPEED, AND HUMIDITY
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.
function Calculate_FeelsLike ($temp_degC, $wind_kph, $humidity)
 
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.
 
 
 
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>
 
Cumulus MX from version 3.6.0 fully supports the latest "Feels Like" definition as agreed by the Joint Action Group for temperature Indices (JAG/TI). If you understand PHP Hypertext Preprocessor language (other languages use similar operators) thenyou herewill issee howfrom tothis calculatethat apparentfor temperatureMX, and feels like. Thethe '''JAG/TI 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. Note the function makes assumptions about units used for temperature (Celsius) and wind speed (kilometres per hour).
 
The following function
<pre>function calcFeelsLike(temp, tempLetter, wind, windUnit, RHumidity)
{
var calcWC = calcWindChill(temp, tempLetter, wind, windUnit, RHumidity);
if($wind_kph <4.828)
var calcAT = calcAppTemp(temp, tempLetter, wind, windUnit, RHumidity);
{
var tempDegC = calcTempC(temp, tempLetter);
$wind_chill = $temp_degC;
var WCDegC = calcTempC(calcWC, tempLetter);
}else{
var ATDegC = calcTempC(calcAT, tempLetter);
$wind_chill = 13.12 +0.6125 * $temp_degC - 11.37 * pow($wind_kph, 0.16) + 0.3965 * $temp_degC * pow($wind_kph, 0.16);
var wind_km_h;
}
switch(windUnit)
// $v = $rh / 100 * 6.105 * pow (0.16, 17.27 * $tempC / (237.7 + $tempC) );
{
$vapour_pressure = (($humidity / 100) * 6.105) * 6.105 * exp(17.27 * $temp_degC / (237.7 + $temp_degC)) / 10;
case "m/s": wind_km_h = wind * 3.6; break;
$apparent_temp = -2.7 + (1.04 * $temp_degC) + (2 * $vapour_pressure) - ($wind_kph * 01.1805553);
case "mph": wind_km_h = wind * 1.609344; break;
if($temp_degC < 10)
case "km/h": wind_km_h = wind; break;
{
case "kts": wind_km_h = wind * 1.85184; break;
$feels_like = $wind_chill;
}
}elseif($temp_degC > 20)
var feels_likeDegC;
{
if( tempDegC < 10)
$feels_like = $apparent_temp;
{
}else{
feels_likeDegC = WCDegC;
$app_temp_mult = ($temp_degC - 10) / 10;
}else if( tempDegC > 20)
$wind_chill_mult = 1 - $app_temp_mult;
{
$feels_like = ($apparent_temp * $app_temp_mult) + ($wind_chill * $wind_chill_mult);
feels_likeDegC = ATDegC;
}
}else{
$return_array[0] = $apparent_temp;
app_temp_mult = ( tempDegC - 10) / 10;
$return_array[1] = $feels_like;
wind_chill_mult = 1 - app_temp_mult;
return $return_array;
feels_likeDegC = (ATDegC * app_temp_mult) + (WCDegC * wind_chill_mult);
}
var feelsLike = calcTempR(feels_likeDegC, tempLetter);
return feelsLike;
}</pre>
 
5,838

edits