http://www.lineameteo.it/viewtopic.php?f=2&t=12889&p=374586#p374586
-----------------------------------
As_Needed
Dom 01 Nov, 2015 15:22

Re: Stazione Meteo Base (FAI DA TE)
-----------------------------------
[quote user="andrea75" post="374585"][quote user="As_Needed" post="374577"][quote user="andrea75" post="374575"]Se vuoi ti do quella che uso per la rete... considera che però è una funzione in PHP. Dovrai poi riconvertirla. ;)[/quote]

Va bene ci provo ;) Quella del windchill pare che va bene, anche se però vedo sulla stazione di pigi che anche con valori sopra 10 gradi il wind chill non è identico alla temperatura, quindi se hai anche quella mi farebbe piacere ;)
Il dew point invece quello che ho è perfetto l'ho confrontato ovunque ed è precisissimo  8))[/quote]

Allora, te l'ho un po' semplificata, perché in quella "ufficiale" ci sono più variabili. Cmq dovrebbe andare lo stesso:

[code syntax=php]$var1 = (7.5*temp)/(237.7+temp)     // temp in °C
$var2 = 6.11*Pow(10,$var1)          // cioè 10 elevato al valore di $var1
$var3 = (umid*$var2)/100            // umidità senza % (ad es: 75)
$var4 = log($var3/6.11)             // cioè logaritmo in base e del valore di ($var3/6.11)
$dewp = $var4*237.7/(7.5*log(10)-$var4)  // risultato finale in °C[/code]

Le tue variabili in ingresso sono ovviamente "temp" e "umid".

[hr]
Quella del windchill che uso è questa, con gli <if> del range di temperatura e vento già inclusi
[code syntax=php]
		if (($temp<10)&&($wind>4.6))
		{
			$windc=13.12+0.6215*$temp-11.37*pow($wind,0.16)+0.3965*$temp*pow($wind,0.16);
		}
[/code][/quote]

Allora quella del wind chill praticamente è identica:
[code]
  windchill=(13.12+0.6215*sensors.getTempCByIndex(0))-(11.37*pow(KMH,0.16))+(0.3965*sensors.getTempCByIndex(0)*pow(KMH,0.16));
if ((windchill<sensors.getTempCByIndex(0))&&(KMH>4.6))
{
windchill=(13.12+0.6215*sensors.getTempCByIndex(0))-(11.37*pow(KMH,0.16))+(0.3965*sensors.getTempCByIndex(0)*pow(KMH,0.16));
  }
  else
  {
    windchill=sensors.getTempCByIndex(0);
  }

[/code]

solo che ho messo per farla più precisa che se il wind chill diventa meno della temperatura allora esegue la formula, per non perdersi niente, mentre invece se è sopra alla temperatura allora il wind chill diventa uguale alla temperatura.

Per l'heat index non ho ben capito, devo calcolare tutte le variabili e poi con quelle si trova l'indice?

Comunque il dew point con linguaggio C il l'ho messo così è quello come ho detto è precisissimo, l'unico che non riesco a capire come fare è l'heat index...

[code]
dewPoint = (pow (h/100,0.125)*(112+(0.9*sensors.getTempCByIndex(0)))+0.1*sensors.getTempCByIndex(0)-112);

[/code]


