Sensação térmica ou wind chill, em inglês, é a temperatura aparente sentida pela pele exposta, em virtude da combinação entre temperatura do ar e velocidade do vento.
Para calcular precisamos de dois dados a temperatura e a velocidade do vento.
Função em PHP:
function calSensacaoTermica($temperatura,$vel_vento){
$vel_vento = $vel_vento / 3.6;
$sensação = 33 + (10 * sqrt($vel_vento) + 10.45 - $vel_vento) * ($temperatura - 33) / 22;
return round($sensação);
}
#Exemplo
echo calSensacaoTermica(28,15);
Calcular Índice de Calor
<?php
function calIndCalor($temp, $umR){
$tempF = (($temp * 1.8) + 32);
if ($umR > 100) {
return ("A umidade relativa não pode ser superior a 100%.");
exit;
}else if ($umR < 0) {
return ("A umidade relativa não pode ser menor do que 0%.");
exit;
}else if (floatval($tempF) <= 32) {
$HI = $tempF;
}else {
$HI = 0.5 * ($tempF + 61.0 + (($tempF - 68.0) * 1.2) + ($umR * 0.094));
if ($HI > 79) {
$HI = -42.379 + 2.04901523 * $tempF + 10.14333127 * $umR - 0.22475541 * $tempF * $umR - 0.00683783 * $tempF * $tempF - 0.05481717 * $umR * $umR + 0.00122874 * $tempF * $tempF * $umR + 0.00085282 * $tempF * $umR * $umR - 0.00000199 * $tempF * $tempF * $umR * $umR;
if (($umR <= 13) && (($tempF >= 80) && $tempF <= 112)) {
$HI -= ((13 - $umR) / 4) * sqrt((17 - abs($tempF - 95.)) / 17);
}
if (($umR > 85) && (($tempF >= 80) && $tempF <= 87)) {
$HI += (($umR - 85) / 10) * ((87 - $tempF) / 5);
}
}
}
$resultado = ($HI - 32) / 1.8;
return round($resultado);
}
# Exemplo
echo calIndCalor('20','47')
?>
Fonte – https://ciram.epagri.sc.gov.br/index.php/indice-de-calor-e-sensacao-termica/

Comentários