Aller au contenu
Les Forums d'Infoclimat

Ce tchat, hébergé sur une plateforme indépendante d'Infoclimat, est géré et modéré par une équipe autonome, sans lien avec l'Association.
Un compte séparé du site et du forum d'Infoclimat est nécessaire pour s'y connecter.

Calcul direction moyenne du vent


Messages recommandés

Bonjour,

Je souhaiterais savoir quelle est la formule mathématique "officielle" permettant de calculer la direction moyenne du vent à partir de mesures ponctuelles pendant un intervalle de temps donné.

Par exemple, supposons que j'effectue une mesure de la direction du vent exprimée en degrés (0-360°) toutes le minutes, quelle sera formule pour obtenir la direction moyenne du vent sur une heure (60 mesures) ?

Evidemment, si j'ai deux mesures de direction donnant par exemple 5° et 355°, la direction moyenne n'est pas (5+355)/2 !

Merci

Lien à poster
Partager sur d’autres sites

Bonjour,

Il faut réaliser une moyenne vectoriel.

J'utilise par exemple le code C suivant pour mes calculs :

//-----------------------------------------------------------------------------

// Calcul de la vitesse moyenne et de la direction moyenne du vent

//

// moyenne vectorielle (composantes sur les axes est/ouest (X) et sud/nord (Y))

//

// la direction du vent est référencée par rapport au nord magnétique ;

// il s'agit de la direction de provenance du vent.

//-----------------------------------------------------------------------------

void Calcul_Vent_moyen(double *tab_val, double *tab_dirv, int nb_vent, double *vvent_moy,

double *vvent_max, double *dirmoy_vent)

{

int i, j;

double Vx, Vy, sVx, sVy, V, Vmax;

sVx = sVy = Vmax = 0.0;

if (nb_vent == 0) // pas de mesures ?

{

*vvent_max = *vvent_moy = 0.0;

*dirmoy_vent = 0.0;

return;

}

// somme des vecteurs et détermination de la vitesse maxi

for (i=0; i

{

// composantes X et Y

Vx = tab_val * cos((270.0 - tab_dirv) * DEG_EN_RAD);

Vy = tab_val * sin((270.0 - tab_dirv) * DEG_EN_RAD);

// somme des composantes

sVx += Vx;

sVy += Vy;

// détermination de la vitesse maxi

V = sqrt(Vx*Vx + Vy*Vy);

if (V > Vmax)

Vmax = V;

}

*vvent_max = Vmax;

// calcul de la direction moyenne

if ((sVx != 0.0) && (sVy != 0.0))

*dirmoy_vent = 270.0 - atan2(sVy, sVx) * RAD_EN_DEG;

else

*dirmoy_vent = 0.0;

if (*dirmoy_vent > 360.0)

*dirmoy_vent -= 360.0;

// calcul de la vitesse moyenne

*vvent_moy = sqrt(sVx*sVx + sVy*sVy) / ((double)nb_vent * 1.0);

}

Il y a peut-être plus simple mais ce calcul fonctionne très bien avec un capteur Vaisala WXT510

Alain

Lien à poster
Partager sur d’autres sites

Tu peux faire la somme des résultantes Nord Ouest Est et Sud. Je m'explique, c'est assez simple.

Tu prends un repère Ouest ->est en abscisse et Sud -> nord dans l'ordre de croissance.

Pour calculer une résultante, par exemple Nord, il faut additionner : (f N= fréquence vent du Nord ...)

RN = f N +0.92 * f NNO + 0.92* f NNE + 0.707 f NO + 0.707* f NE + 0.38* f ONO + 0.38* f ENE

<=> RN = f N + 0.92* (f NNO + f NNE) + 0.707* (f NE +f NE) + 0.38* (f ENE+ f ONO)

Faire de même pour l'ouest l'est le sud.

Ensuite résultante sud nord R SN = RN-RS (positif si plus de vent de nord, négatif si plus de vent de sud.

Résultante ouest est R OE = RE-RO (positif si plus à l'est et négatif vers ouest.

On a un vecteur de coordonnées (R OE ; R SN) partant de l'origine, c'est la direction moyenne du vent.

Ce n'est pas si compliqué. Il faut juste calculer la fréquence de chaque vent mais ça sur excel c'est facile. Après c'est juste un calcul assez simple, des soustractions des additions des multiplications ^^

Lien à poster
Partager sur d’autres sites

  • 11 months later...

Bonjour,

Il faut réaliser une moyenne vectoriel.

J'utilise par exemple le code C suivant pour mes calculs :

//-----------------------------------------------------------------------------

// Calcul de la vitesse moyenne et de la direction moyenne du vent

//

// moyenne vectorielle (composantes sur les axes est/ouest (X) et sud/nord (Y))

//

// la direction du vent est référencée par rapport au nord magnétique ;

// il s'agit de la direction de provenance du vent.

//-----------------------------------------------------------------------------

void Calcul_Vent_moyen(double *tab_val, double *tab_dirv, int nb_vent, double *vvent_moy,

double *vvent_max, double *dirmoy_vent)

{

int i, j;

double Vx, Vy, sVx, sVy, V, Vmax;

sVx = sVy = Vmax = 0.0;

if (nb_vent == 0) // pas de mesures ?

{

*vvent_max = *vvent_moy = 0.0;

*dirmoy_vent = 0.0;

return;

}

// somme des vecteurs et détermination de la vitesse maxi

for (i=0; i

{

// composantes X et Y

Vx = tab_val * cos((270.0 - tab_dirv) * DEG_EN_RAD);

Vy = tab_val * sin((270.0 - tab_dirv) * DEG_EN_RAD);

// somme des composantes

sVx += Vx;

sVy += Vy;

// détermination de la vitesse maxi

V = sqrt(Vx*Vx + Vy*Vy);

if (V > Vmax)

Vmax = V;

}

*vvent_max = Vmax;

// calcul de la direction moyenne

if ((sVx != 0.0) && (sVy != 0.0))

*dirmoy_vent = 270.0 - atan2(sVy, sVx) * RAD_EN_DEG;

else

*dirmoy_vent = 0.0;

if (*dirmoy_vent > 360.0)

*dirmoy_vent -= 360.0;

// calcul de la vitesse moyenne

*vvent_moy = sqrt(sVx*sVx + sVy*sVy) / ((double)nb_vent * 1.0);

}

Il y a peut-être plus simple mais ce calcul fonctionne très bien avec un capteur Vaisala WXT510

Alain

Bonjour,

Je recherche moi aussi une façon de calculer la direction moyenne du vent. Votre calcul m'intéresse et je souhaiterais savoir pourquoi est-ce que la valeur de l'angle est soustraite à 270 (cos((270.0 - tab_dirv) ou sin((270.0 - tab_dirv) puis dans le calcul moyen

(*dirmoy_vent = 270.0 - atan...) est encore soustrait de 270.

Quelle en est l'explication ?

Merci d'avance

Pierre

Lien à poster
Partager sur d’autres sites

Bonjour,

celà provient du décallage entre le 0° à "l'Est" du cercle trigonométrique et le 0° au Nord pour le vent. L'utilisation des sinus, cosinus, tangente etc... nous donne une valeur trigonométrique de l'angle par rapport à l'Est.

J'espère avoir été clair.

Lien à poster
Partager sur d’autres sites

  • 2 weeks later...

Tu peux prendre le 0 où tu veux et n'importe quel angle dans n'importe quel sens possède un sinus cosinus tangente.

Dans la méthode que j'ai donné plus haut les nombres 0.38 0.707 et 0.92 correspondent à cos77.5 cos45 cos22.5 correspondant aux composantes par rapport à l'axe centre -> nord sud est ou ouest des directions de la rose des vents

Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
 Partager

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...