Difference between revisions of "TrueWind"
(→signalk-derived-data (assuming COG=H)) |
(→signalk-derived-data groundWind.js) |
||
Line 68: | Line 68: | ||
* https://github.com/SignalK/signalk-derived-data/blob/master/calcs/groundWind.js | * https://github.com/SignalK/signalk-derived-data/blob/master/calcs/groundWind.js | ||
* <b>SOG</b> Speed Over Ground <b>navigation.speedOverGround</b> | * <b>SOG</b> Speed Over Ground <b>navigation.speedOverGround</b> | ||
− | * <b>AWA</b> Apparent Wind Angle (relative to | + | * <b>AWA</b> Apparent Wind Angle (relative to HDG) <b>environment.wind.angleApparent</b> |
* <b>AWS</b> Apparent Wind Speed <b>environment.wind.speedApparent</b> | * <b>AWS</b> Apparent Wind Speed <b>environment.wind.speedApparent</b> | ||
** <code>AWx = AWS * Cos (AWA)</code> | ** <code>AWx = AWS * Cos (AWA)</code> | ||
Line 76: | Line 76: | ||
** <b>GWS</b> Ground Wind Speed (relative to ground) <b>environment.wind.speedOverGround</b> | ** <b>GWS</b> Ground Wind Speed (relative to ground) <b>environment.wind.speedOverGround</b> | ||
** <code>GWS = SQRT (POWER(AWy,2) POWER(-SOG + AWx,2))</code> | ** <code>GWS = SQRT (POWER(AWy,2) POWER(-SOG + AWx,2))</code> | ||
+ | |||
+ | == signalk-derived-data windDirection.js == | ||
+ | * https://github.com/SignalK/signalk-derived-data/blob/master/calcs/windDirection.js | ||
+ | * <b>HDG</b> Heading | ||
+ | ** <b>HDT</b> Heading (relative to true north) <b>navigation.headingTrue</b> | ||
+ | ** <b>HDM</b> Heading (relative to magnetic north) <b>navigation.headingMagnetic</b> | ||
+ | * <b>AWA</b> Apparent Wind Angle (relative to HDG) <b>environment.wind.angleApparent</b> | ||
+ | ** <b>AWD</b> Apparent Wind Direction | ||
+ | ** <code>AWD = HDG + AWA</code><br><code>if (AWD > Math.PI * 2) AWD -= Math.PI * 2</code><br><code>else if (AWD < 0) AWD += Math.PI * 2</code> | ||
== Sensors == | == Sensors == |
Revision as of 13:18, 31 October 2018
Contents
see also
- http://davidburchnavigation.blogspot.com/2013/04/true-true-wind-from-apparent-wind.html
- https://coaps.fsu.edu/woce/truewind/paper/index.html
- http://signalk.org/specification/1.0.0/doc/otherBranches.html
- http://www.catb.org/gpsd/NMEA.html
- https://opencpn.org/wiki/dokuwiki/doku.php?id=opencpn:opencpn_user_manual:terminology
Terms
vessel's Movement and Orientation
- SOG Speed Over Ground navigation.speedOverGround
- COG Course Over Ground (relative to true north) navigation.courseOverGroundTrue
- COG Course Over Ground (relative to magnetic north) navigation.courseOverGroundMagnetic
- STW Speed Trough Water navigation.speedThroughWater
- HDG Heading
- HDT Heading (relative to true north) navigation.headingTrue
- HDM Heading (relative to magnetic north) navigation.headingMagnetic
Wind
- AW Apparent Wind (relative to vessel)
- AWS Apparent Wind Speed environment.wind.speedApparent
- AWD Apparent Wind Direction (relative to true north) environment.wind.
directionTruedirectionApparantTrue - AWD Apparent Wind Direction (relative to magnetic north) environment.wind.
directionMagneticdirectionApparantMagnetic - AWA Apparent Wind Angle (relative to HDG) environment.wind.angleApparent
- TW True Wind (relative to surface of the water)
- TWS True Wind Speed environment.wind.
speedTruespeedWater - TWD True Wind Direction (relative to true north) add: environment.wind.directionWaterTrue
- TWD True Wind Direction (relative to magnetic north) add: environment.wind.directionWaterMagnetic
- TWA True Wind Angle (relative to HDG) environment.wind.
angleTrueWaterangleWater
- TWS True Wind Speed environment.wind.
- GW Ground Wind (relative to ground) used in weather forecasts and reports
- GWS Ground Wind Speed environment.wind.speedOverGround
- GWD Ground Wind Direction (relative to true north) add: environment.wind.directionOverGroundTrue
- GWD Ground Wind Direction (relative to magnetic north) add: environment.wind.directionOverGroundMagnetic
- GWA Ground Wind Angle (relative to HDG) environment.wind.
angleTrueGroundangleOverGround
Current
- DFT Current Drift (speed relative to ground) environment.current.drift
- SET Current Set (direction relative to true north) environment.current.setTrue
- SET Current Set (direction relative to magnetic north) environment.current.setMagnetic
calculate True Wind from Apparent Wind
- AWA Apparent Wind Angle (relative to H) environment.wind.angleApparent
- H Heading (relative to true north) navigation.headingTrue
- AWD Apparent Wind Direction (relative to true north) environment.wind.directionTrue
AWD = MOD(H+AWA;360)
- AWS Apparent Wind Speed environment.wind.speedApparent
- COG Course Over Ground navigation.courseOverGroundTrue
- SOG Speed Over Ground navigation.speedOverGround
- TWS True Wind Speed (relative to ground) environment.wind.speedOverGround
TWx = OGx - AWx = SOG * Sin (COG) - AWS * Sin (AWD)
TWy = OGy - AWy = SOG * Cos (COG) - AWS * Cos (AWD)
TWS= SQRT (TWx*TWx + TWy*TWy)
- TWD True Wind Direction (relative to true north) ???
TWD = ATAN ( TWx / TWy )
- S Speed over ground in direction of H
- DFT Drift (speed relative to ground) ???
DFTx = OGx - SHx = SOG * Sin (COG) - S * Sin (H)
DFTy = OGy - SHy = SOG * Cos (COG) - S * Cos (H)
DFT= SQRT (DFTx*DFTx + DFTy*DFTy)
- SET Set (direction relative to true north) ???
SET = ATAN ( DFTx / DFTy )
signalk-derived-data groundWind.js
- https://github.com/SignalK/signalk-derived-data/blob/master/calcs/groundWind.js
- SOG Speed Over Ground navigation.speedOverGround
- AWA Apparent Wind Angle (relative to HDG) environment.wind.angleApparent
- AWS Apparent Wind Speed environment.wind.speedApparent
AWx = AWS * Cos (AWA)
AWy = AWS * Sin (AWA)
- GWA Ground Wind Angle (relative to HDG) environment.wind.angleTrueGround
GWA = ATAN2(AWy, -SOG + AWx)
- GWS Ground Wind Speed (relative to ground) environment.wind.speedOverGround
GWS = SQRT (POWER(AWy,2) POWER(-SOG + AWx,2))
signalk-derived-data windDirection.js
- https://github.com/SignalK/signalk-derived-data/blob/master/calcs/windDirection.js
- HDG Heading
- HDT Heading (relative to true north) navigation.headingTrue
- HDM Heading (relative to magnetic north) navigation.headingMagnetic
- AWA Apparent Wind Angle (relative to HDG) environment.wind.angleApparent
- AWD Apparent Wind Direction
AWD = HDG + AWA
if (AWD > Math.PI * 2) AWD -= Math.PI * 2
else if (AWD < 0) AWD += Math.PI * 2
Sensors
Heading
- see also http://www.navlab.net/Publications/The_Seven_Ways_to_Find_Heading.pdf
- magnetic compass
- H true = H magnetic + Magnetic declination
- Fluxgate compass
- H true = H magnetic + Magnetic declination
- Gyrocompass
- H true
- moving baseline Real-time kinematic (GPS)
- H true
SOG and COG
- GPS receiver
STW
AWS and AWA
- wind-vane (AWA)
- anemometer
- cup (AWS)
- hand held propeller (AWS)
- ultrasonic (AWS and AWA)