Difference between revisions of "TrueWind"
(→signalk-derived-data groundWind.js) |
(→signalk-derived-data windDirection.js) |
||
Line 84: | Line 84: | ||
* <b>AWA</b> Apparent Wind Angle (relative to HDG) <b>environment.wind.angleApparent</b> | * <b>AWA</b> Apparent Wind Angle (relative to HDG) <b>environment.wind.angleApparent</b> | ||
** <b>AWD</b> Apparent Wind Direction | ** <b>AWD</b> Apparent Wind Direction | ||
+ | *** <b>environment.wind.directionTrue</b> | ||
+ | *** <b>environment.wind.directionMagnetic</b> | ||
** <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> | ** <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> | ||
Revision as of 13:21, 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
- environment.wind.directionTrue
- environment.wind.directionMagnetic
AWD = HDG + AWA
if (AWD > Math.PI * 2) AWD -= Math.PI * 2
else if (AWD < 0) AWD += Math.PI * 2
- AWD Apparent Wind Direction
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)