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/