Replies: 41 comments
-
Predictwind Definition (TWS & TWA relative to ground)has TWS and TWD as when stationary as if anchored or at dock.
Cruising Compass (TWS & TWA relative to ground)https://www.bwsailing.com/cc/2017/05/calculating-the-true-wind-and-why-it-matters/
Raymarine Definition (TWA & TWS relative to water)Also see discussion: https://forum.raymarine.com/showthread.php?tid=987
David Burch Starpath (TWA & TWS relative to water)True Wind and Ground Wind, why both are needed.
|
Beta Was this translation helpful? Give feedback.
-
ConclusionThere is no consensus about TWA and TWS, so we will always have to be clear about what is being used in context. David Burch Starpath regarding this issue:
|
Beta Was this translation helpful? Give feedback.
-
|
asking Copilot: In Polar Plots what is the definition of TWS/TWA? is it relative to water or ground? In polar plots used for sailing, True Wind Speed (TWS) and True Wind Angle (TWA) are "unaffected by the boats motion"
These metrics are crucial for understanding a sailboat's performance under various wind conditions, as polar plots graphically display the boat's speed at different TWAs for various TWS values. Sailing fast - TWA and TWS (relative to ground, anchored, docked, stationary in the water)https://mandurahyachtacademy.au/twa-and-tws/ |
Beta Was this translation helpful? Give feedback.
-
asking Copilot: Does the way polars are recorded determine how the TWS and TWA is defined?Yes, the method used to record polars can influence how True Wind Speed (TWS) and True Wind Angle (TWA) are defined and interpreted. Here's how:
The emphasis on the water as the reference frame aligns with the fact that sailboats interact with the wind and water, not the stationary ground. As a result, TWS and TWA definitions are closely tied to this practical perspective. Would you like to explore how modern technologies, like onboard systems, help sailors generate accurate polar plots? |
Beta Was this translation helpful? Give feedback.
-
Therefore, I believe that all polars are using TWS/TWA measured relative to the water.Indeed Raymarine the Instrument maker for many in this world, uses TWS relative to the water. @sebastien-rosset @quinton-hoole And therefore, Weather_routing is no different. It is using TWS/TWA measured relative to the water!!! Please make sure that this is the way TWS / TWA is defined, because Weather_routing has to read Polar files and on of the best ways that polar files are created is by recording the polar data with Wind instruments (which measure TWS/TWA as relative to water). |
Beta Was this translation helpful? Give feedback.
-
|
I will use GWS, GWS, TWS and TWD for variable names the code and the UI. All of these are needed for the computations. In the UI, I will add tooltips whenever possible, and if there is enough space, expand the acronyms. |
Beta Was this translation helpful? Give feedback.
-
|
That sounds good to me. In the manual we can make it clearer hopefully. |
Beta Was this translation helpful? Give feedback.
-
|
@sebastien-rosset May I close this now? or should I leave it open? |
Beta Was this translation helpful? Give feedback.
-
|
It is my opinion that in the code, we should use unambiguous terms (like WIND_SPEED_OVER_GROUND, WIND_SPEED_OVER_WATER etc), precisely because ambiguous terms like TWS are used by different people to mean different things (as evidenced above). I don't personally have an interest in debating which people are right and which people are wrong, only in making sure that someone reading and writing the code, understands exactly what they are looking at. The very fact that the three of us, and predictwind, and starpath, and raymarine, and B&G don't have a common understanding of what TWS means (and we're all relatively knowlegable about this stuff), tells me simply that the terms are ambiguous and widely misunderstood (not something we want to happen inside the code). As for the presentation, I think that's more up for debate, should be configurable (like the B&G instruments) to suit the specific use case and user. Having said all that, this is not a hill I'm interested in fighting for. Just wanted to add another perspective. I don't think there's a right answer here. |
Beta Was this translation helpful? Give feedback.
-
|
If you really want to mess your brain up, imagine a boat trying to sail past a dock in strong current. Because of the current, the boat is standing still relative to the ground. A guy standing on the dock, next to the boat, holds an anemometer in his hand and says the true wind speed is 10 knots. The sailor on the boat says the apparent wind is 10 knots, but the true wind is 20 knots. They are a few meters away from each other, stationary relative to each other, and looking each other in the eye. They are both right, but but both very confused. And the local weather station agrees with the guy on the doc, and says the wind is blowing at 10 knots. If the sailor on the boat said instead that the wind speed relative to the water he happens to be in at the moment is 20 knots, all confusion goes away. |
Beta Was this translation helpful? Give feedback.
-
|
My point is The plugin is using Data derived from instruments isn't it? Perhaps we should look more carefully at polar_pi which records the data coming from the instrument? |
Beta Was this translation helpful? Give feedback.
-
The input data is from GRIBs, climatology, shapefiles (OSMSHP or GSHHS), boundaries (OCPNDraw), polars and routing configuration. The plugin does not use any data coming directly from instruments, and specifically it does not consume any NMEA data directly, if that's what you meant. Given these inputs, the plugin predicts the future values of GWS, GWD, TWA, TWD, TWS, AWA, STW, CTW, COG, SOG, HEADING for every point in the isochrons. That is, if somehow predictions were 100% accurate, and you sail by following the optimal path and the conditions are exactly the same, what you would read on the instruments (from NMEA data) would be the same as what has been predicted. Even though the predicted values will be different from the reality, I agree it's a good idea to match the terminology between predicted and instrument (NMEA) readings such that the user can easily compare. For example, previously the WR plugin was displaying the "Wind velocity", so it wasn't clear how this mapped to NMEA data.
In the WR plugin, we know whether a predicted wind value is relative to water or ground, but it's as good as the input data.
|
Beta Was this translation helpful? Give feedback.
-
|
That is a good explanation, worth keeping.
But along comes the polar file which is used with the grib data in some form, as GWS and GWD or as TWS (relative to water) and TWS (relative to water). The polar file can be created by:
So I ask what is TWA\TWS In the polar files? Can we always be sure? |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
So despite what Raymarine uses for TWA\TWS all Polar files should be recorded with current speed=0 which is TWA\TWS anchored, at the dock or relative to ground! I hope you are sure of this. Can we be sure that Polar_pi when using the speedo, or nmea, or whatever is recording |
Beta Was this translation helpful? Give feedback.
-
|
It happens that this is the B&G display I am installing now with a new Jefa LD100 AP. I think I have reached a reasonably good understanding of the terminology and I appreciate this discussion. I will be referring to it to improve/clarify the Terminology in Tactics and may have some other questions. Thanks. |
Beta Was this translation helpful? Give feedback.
-
It is a preference setting that can have a major impact on sailing tactics. To calculate the TWD and TWS, you can decide to use speed over water and heading, or COG/SOG. On the H5000 system, you can also take the pitch, roll and yaw rates as well as the heel and trim angles, which are used to apply more advanced calculations.
From that perspective, the code has already improved a lot. The variable names and labels are more meaningful and consistent with other parts of OpenCPN, and there are code comments.There is still room for improvement for sure.
|
Beta Was this translation helpful? Give feedback.
-
|
I've been following along here. Great discussion. One other important thing worthy of clarification. In the absence of GPS or quite sophisticated water movement instruments, I assume it is impossible to determine leeway from the boat? And to make weather routings even vaguely accurate, they need to take into account leeway (which is typically substantial). And the polar curve does not account for leeway (if I understand correctly), because it's based on wind speed over water apparent wind direction (which is then converted to wind direction over water aka TWD using only AWA and STW). So leeway gets lost in the process. And given that routing is relative to ground (I want to get from Point A on the ground to Point B on the ground) we have to take into account leeway some other way. Is that in there somewhere? Sorry, my ocpn is crashing at the moment, so I can't check. |
Beta Was this translation helpful? Give feedback.
-
hmm, the wind forecast accuracy is typically the most significant factor influencing weather routing precision on large keelboats, not leeway. For large keelboats with substantial fixed keels, leeway is relatively minimal (often just a few degrees) compared to smaller boats or those with retractable keels.
These wind prediction discrepancies can completely change optimal routing decisions, whereas small leeway variations might only adjust your course by a minor amount. Even a 10-15 degree wind shift or 5-knot wind speed difference can dramatically affect optimal sail selection and routing strategy. There is code for leeway but it's not enabled right now. There is also leeway code in the tactics plugin, that could be useful. But I think for better modeling, leeway is not the first priority. The major areas of enhancements are: Ensemble forecast integration; advanced wave modeling integration, real-time polar adjustments, improve current modeling, historic performance database, bathymetry aware routing, reverse isochrons. |
Beta Was this translation helpful? Give feedback.
-
|
Quinton I like that question. "So leeway gets lost in the process?" |
Beta Was this translation helpful? Give feedback.
-
@sebastien-rosset I get it that there are many factors that make weather routing calculations non-optimal. In my relatively limited experience (although I have crossed three large oceans now) leeway is a big one. The leeway on many large cats, for example, can be in the order of 15 degrees, depending on wind direction and speed (and waves, of course). This article says up to 20 degrees for monohulls, which is consistent with my experience. That makes an enormous difference to things like estimated passage time, and achievable beating direction, especially upwind. Once the passage time becomes highly inaccurate, many of the other effects get compounded (because, for example, you end up not sailing through the weather you thought you would, because both the time and course in the routing might become infeasible). I agree that we need to improve all those other things on your list, but leeway should be near the top of that list, IMO. |
Beta Was this translation helpful? Give feedback.
-
|
Sure, sounds good. For initial contributions, may I suggest a list of good first issues? |
Beta Was this translation helpful? Give feedback.
-
Yes, as I've mentioned, I want to get some decent test coverage over the code first. I find it quite difficult to make reliable code changes without having tests in place to catch regressions. Feel free to advise otherwise. I see you've managed to make quite significant code changes without automated tests in place. I'm quite surprised. |
Beta Was this translation helpful? Give feedback.
-
|
Tactics https://opencpn-manuals.github.io/main/tactics/index.html#_3_8_settings_in_the_ini_file
Perhaps that could be used to help account for leeway. |
Beta Was this translation helpful? Give feedback.
-
|
Good idea. I think leeway is ideally represented as a polar curve, as it varies based on both wind angle and wind speed. I believe we already have support for this kind of combining of polars. |
Beta Was this translation helpful? Give feedback.
-
|
Here is an additional very useful article, focussed mainly on boat speed and direction (relative to both ground and water). https://davidburchnavigation.blogspot.com/2023/06/speed-and-heading-basic-but-not-always.html I'd love to find an equivalent article on wind speed and direction. |
Beta Was this translation helpful? Give feedback.
-
Good point, and that might be a way to have users utilize the existing interface to create a leeway polar file manually, but then that heeling/leeway polar file would deduct from the boat polars acting to reduce performance. |
Beta Was this translation helpful? Give feedback.
-
|
For reference, here is the relevant leeway code in the WR plugin: weather_routing_pi/include/Polar.h Lines 437 to 452 in 512fc73 weather_routing_pi/src/SailboatTransform.cpp Lines 1 to 91 in 512fc73 It's just a stub implementation for now. |
Beta Was this translation helpful? Give feedback.
-
|
Two more great articles from Starpath. We're not imagining the confusion - it's real :-) https://davidburchnavigation.blogspot.com/2021/12/TW-v-GW.html especially Also https://davidburchnavigation.blogspot.com/2023/06/speed-and-heading-basic-but-not-always.html |
Beta Was this translation helpful? Give feedback.
-
|
I linked to those above. |
Beta Was this translation helpful? Give feedback.


Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Under
Tactics https://opencpn-manuals.github.io/main/tactics/index.html#_4_terminology
Dashboard_Tactics https://dashboard-tactics-pi.readthedocs.io/en/latest/tactics/tactics.html#Calculate-true-wind-data
(has more detail and discusses certain aspects, but has the same terminology)
Refer to in line code documentation in weather_routing regarding terminology.
See line 528 weatherroutingUI.h
b4225aa
Beta Was this translation helpful? Give feedback.
All reactions