Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

True Wind Data in NMEA #367

Open
quantenschaum opened this issue Aug 15, 2024 · 3 comments
Open

True Wind Data in NMEA #367

quantenschaum opened this issue Aug 15, 2024 · 3 comments

Comments

@quantenschaum
Copy link
Contributor

quantenschaum commented Aug 15, 2024

I recently had some exchange with the guys from https://www.yachtd.com/ about the calculation of true wind from apparent wind and course data in one of their products.

me: this means that it is not possible to send true wind data using NMEA0183 at all?
they: Formally, yes, as there is simply no clear definition in NMEA 0183 what the True wind is.

Now I am wondering how to correctly read/write true wind data from/to NMEA0183.
It is less obvious than one might think at first glance.

Definitions

  • apparent wind = wind as measured on the ship
  • true wind = wind relative to (moving) water as observed when not moving through water
  • ground wind = wind relative to ground as observed when not moving over ground
  • wind direction = direction of the wind relative to (true) north
  • wind angle = angle of the wind relative to (true) heading (ship's center line)

Sentences

NMEA sentences containing wind data

  • MWD - Wind Direction & Speed
  • MWV - Wind Speed and Angle
  • VWR - Relative Wind Speed and Angle
  • VWT - True Wind Speed and Angle (obsolete)

Let's have a look at these.

MWD contains wind direction (rel. to true/mag north) and wind speed.
But what wind, apparent or true or ground?
We may assume true wind, here but the docs are not clear.

MWV contains wind angle (rel. to heading) and wind speed.
But again what wind, apparent or true or ground?
We may assume apparent wind here, but the docs are not clear.

The docs on gpsd seem to be wrong about the reference flag, the write

Reference, R = Relative, T = True

But T actually stands for "theoretical" (compare to this). From the yachtd folks I got this description (source not known to me).

image

This means MWV data with the R flag = apparent wind, with T flag it could be true or ground wind, I cannot really tell from the description.

Furthermore there is VWT, which does contain true wind (rel. to water), but the use of this sentence is discouraged (why?). One should use MWV instead, which is not well defined. So, one may conclude that a T flagged MWV does contain true wind.

image

VWR contains apparent (relative) wind.

Summary

Despite the unclear definitions in the docs I would assume (as it is done in the current implementation)

  • MWD - true wind direction and speed
  • MWV (R) - apparent wind angle and speed
  • MWV (T) - true (theoretical/calculated) wind angle and speed (could be ground wind)
  • VWR - apparent wind angle and speed (as MWV (R))
  • VWT - true wind angle and speed (as MWV (T))

So, nothing new, but I think it's good to keep this here for the the record.

@wellenvogel
Copy link
Owner

Thanks for digging into those details.

@quantenschaum
Copy link
Contributor Author

quantenschaum commented Aug 21, 2024

For completeness the N2K PGNs for wind data.

Wind Data is sent in PGN 130306 which contains an angle/direction and a speed. There the following WindReferences defined.

  • True_North = Ground Wind direction (rel. to true north) and speed (GWD/GWS) ❗ "true" means true north not true wind
  • Magnetic = Ground Wind direction (rel. to mag. north) and speed (GWDM/GWS) (Who needs that?)
  • Apparent = Apparent Wind angle (rel. to boat center line) and speed (AWA/AWS) ➡️ apparent wind
  • True_boat = Ground Wind angle (rel. to boat center line) and speed (GWA/GWS)
  • True_water = True Wind angle (rel. to boat center line) and speed (TWA/TWS) ➡️ true wind

@quantenschaum
Copy link
Contributor Author

quantenschaum commented Aug 22, 2024

for the record

In the manual of the Yacht Devices WiFi Gateway YDWG-02 and others they write (page 32)

Historically, STW/HDG are used to calculate true wind. However, this is not correct
in places with strong current, and the «true» value of true wind can be obtained using
the SOG/HDG pair. Therefore, our gateways offer four options: SOG/HDG (if you love
truth), SOG/COG (if you have GPS only), STW/HDG (if tradition is most important),
or you can disable calculations. In the last case the gateway reports true wind data
only if they are calculated by another device available on NMEA 2000 network.

IMHO this statement is totally wrong!

  • True wind must be calculated using STW/HDG (and leeway) otherwise it's not true wind.
  • Wind calculated from SOG/HDG is something completely undefined, a crude mixture of true and ground wind. (Might be used as fallback when there is no compass or no log, but the result is wrong.)
  • Wind calculated from SOG/COG (and HDG to convert AWA->AWD) is ground wind.

❤️ open source software where you can actually see how it is done in the code and even change it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants