Wind direction and speed units

I’m trying to verify what is the reference system used for the wind estimation and what units are used.

This is what I understood:

  • Reference System: Earth Frame (ENU)
  • Wind speed: m/s
  • Wind direction: degrees (the direction is intended as the point the wind comes from).

Is my understanding right?

Thank you.

Where are you reading these values? If it’s from a dataflash log: what is the message, and what firmware version are you using?

My logs have VWN and VWE, with the following sign convention:
VWN (as logged) is the wind’s N-S component with positive values blowing TO the North (FROM the South).
VWE (as logged) is the E-W component, with positive values blowing TO the East.

Hi, thank you for your answer.

The version of the firmware is the latest.

For my needs, I have to read the wind estimation in real time, during flight. In order to this, I’m using the method wind_estimate() inside the class AP_AHRS_DCM.h:

// return a wind estimation vector, in m/s
Vector3f wind_estimate() override {
return _wind;

Do you have any other suggestion on how to do it?

My first suggestion is to make sure that AP_AHRS_DCM is used. In Plane.h, I see that if AP_AHRS_NAVEKF_AVAILABLE is true, then the (old) DCM is not used at all.

If you’ve figured that out already, then I’m not sure I understand your question? Are you asking how to use the AP_AHRS_DCM::wind_estimate() function?

Yes, my question is about how to use the result of the wind_estimate() function.

Precisely, I’m trying to understand what is the reference system used in that function.
Doest the Vector3f describes the three components of the wind in the NED reference system (being x=N, y=E, z=D), ENU or something else?

Thank you.

Perhaps someone else can chime in here who knows? (I haven’t tried to figure it out from the code.)