Come calcolare la media della velocità e della direzione del vento

Il problema è quello di, dati N coppie di campioni che indicano velocità e direzione del vento, quello di trovare un metodo per calcolarne il valore medio.
Per quanto riguarda la velocità intuitivamente si potrebbe pensare che il calcolo sia abbastanza banale, ovvero dividere la somma delle velocità per il numero di campioni.
Ma se consideriamo anche gli angoli ovvero la direzione del vento ci rendiamo conto che il problema non può essere risolto così semplicemente.
In effetti il problema si risolve usando la trigonometria, considerando i campioni come vettori e facendo il valore medio.
Il procedimento è ben documentato nella pagina Vector Computations di WebMET.com.

In pratica, partendo dalla sequenza di N osservazioni di velocità e direzione, si calcola la media delle componenti nord/sud e est/ovest dei vettori.


La velocità e la direzione media sono quindi

dove flusso = 180 per arctan(Ve/Vn)>180 e -180 per arctan(Ve/Vn)<180

Volendo implementare l’algoritmo descritto per mediare i valori della velocità del vento sulla mia stazione meteo, ho scritto una funzione in C che ho poi integrato nel programma wu2300 del pacchetto open2300.

La stazione, il cui sensore è collegato alla base tramite filo, restituisce i dati ogni 8 secondi, i dati vengono mediati con l’algoritmo descritto e poi postati in rete.
Nel mio caso il numero di coppie velocità/direzione mediate sono 8, la media è mobile, in questo modo ho una media degli ultimi 8*8 = 64 secondi.
L’implementazione in C contiene anche il codice per salvare/prelevare i campioni su un file e un semplice algoritmo per il calcolo della raffica, che la stazione meteo non restituisce.
Nel mio caso la raffica viene calcolata sugli stessi 8 campioni, applicando queste regole.
In pratica, le raffiche vengono riportate quando la velocità di picco del vento raggiunge almeno 16 nodi e la variazione di velocità tra i picchi e le pause è di almeno 9 nodi.

Trovate l’implementazione in C qui.

Riferimenti