-
Notifications
You must be signed in to change notification settings - Fork 69
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
clarify: Wind #520
Comments
It might be better to fork and make a pull request, so we can see what you are proposing in code. Is it the descriptions you are lproposing to change? |
reworked things, here is my proposal:
My (limited) knowledge is based upon |
As this would be a breaking change, and any clients using the existing schema would have to be re-written, I would suggest refining the descriptions instead of the path names. Granted, the current path names can lead to confusion, but that can be resolved more easily by the descriptions. I would propose that you make a pull request with the additions and the description changes you propose |
You're changes make sense and too bad you weren't here before we finalized 1.0. But as @joabakk said, we can't make breaking changes in the 1.x spec. It could be considered for 2.0, but that's probably a long way off. |
The different wind related figures seem to cause endless debates. Honing the descriptions would be the way to go here - no matter how you name them, they won't be crystal clear to everybody. Plus the backwards compatibility already mentioned. |
Yes, of course, because the current naming it terrible and it's wrong in almost every software project I came cross.
[not all SignalK but the same/related issues: here, here, here, here, here, here] Even expensive commercial products get it wrong. So, this wind thing seems confusing, but actually it is very well defined. You just have to take 10 minutes to think about the definitions and use a proper naming scheme. @Dirk--'s proposal #520 (comment) is very good to clean up that mess. 👍
Well, the current scheme is broken so it requires a breaking change to fix it. |
After some debate with a co-worker once, I made this drawing. I feel it's accurate, so maybe it's of use to someone, or maybe just creating more confusion ;) Either way, what it tries to get right is:
It does not contain the concept of magnetic north... I suppose that's another topic of discussion. Considering it's 2024, I think it should no longer exist, except for converting a magnetic north measurement to true north, but that's my humble opinion. |
The drawing is good, maybe somewhat confusing due the may triangles, but all in all it's correct. I made a similar drawing and also gave the (vector) equations to perform the calculations. What you call "drift" is usually called "leeway (angle)" in that scheme and the current (or tide) vector is composed of "set" (current direction) and "drift" (current speed), "wind" is usually called "ground wind" and "ground wind speed" and "speed" is "water speed" just to be clear. The wind vectors are usually drawn reverse because the wind direction is the direction where the wind in coming from, where as velocity vectors and current vector point in the direction it is going into. This makes it more confusing, but this is the common definition. It all boils down to the current triangle which is also used to work out a course to steer.
These drawings and some descriptions/definitions should end these discussions. The concept of the magnetic directions does actually not belong here directly. All directions should always be relative to true north. The only place where you need a magnetic direction is when reading a magnetic compass (course or bearing) or working out a (magnetic) compass course to steer. All other calculations should be done "true" only. In the end you can convert back to a compass course using variation and deviation. This saves a lot of headache. |
@quantenschaum Thanks for the feedback! |
That is smart. - Together with some explanatory text this is a good solution. So, everyone participating in a discussion on this topic should study our drawings and explanations first. |
the drawing by @jrversteegh mentioned in #520 (comment) |
@quantenschaum nice picture! More readable than mine. Content wise they look about the same so at least there are two people who agree on this ;) DFT and SET as speed and direction of current are new to me, but seem well established, so good, I should adopt those! |
That is a good point, I left this open just due to the reason you mentioned, the angle is small (usually). STW in this scheme is the velocity measured by the paddle wheel log, so it is the component along the keel. I did not include this in the formulas since I suspect the measurement error to be greater than the effect of cos(LEE), but could be added easily. STW could also be defined along CRS, there is no common definition afaik, it depends on the use case. |
@quantenschaum Yes, I thought of that as well. The velocity measured by the paddle wheel is usually equated to STW and hence the 'forward' velocity of the boat. My statement would be that it doesn't measure STW exactly by definition, just the forward component of it and this is then again no issue, because it didn't measure anything exactly anyway as you also mentioned and every sailor knows. However, a more advance speed log, like an acoustic doppler log would also measure the forward speed. Your code, contrary to your drawing, also appears to consider STW with respect to CRS ;) In my book whatever a sensor measures should not muddle definitions, but I'm a coder and not a pragmatic ;D |
I think the best way to get rid of all naming conventions for wind is to recognise that the different wind definitions all use a different frame of reference (FoR). Apparent wind uses the vessel as a FoR, True wind uses the water as a FoR, ground wind the earth, etc. So the best way to get rid of the current mess in naming is to add the frame of reference to the path. Once that is done we would just need windspeed and windangle. In my opinion apparent and true wind are nice for labeling but not for a data model. |
@Asw1n absolutely, that would make it very concise. How would these paths look like? |
@quantenschaum Well, I did not think that trough :-). I do think that ROS (Robotic Operating System) has worked this out really nice. Maybe that could serve as an ispiration. |
@quantenschaum. I gave it a bit more thought. |
Sounds very good to me. I would consider maybe |
TWD:
AWD:
TWS:
The text was updated successfully, but these errors were encountered: