Difference between revisions of "TrueWind"
(→calculate True Wind from Apparent Wind) |
(→calculate current) |
||
Line 57: | Line 57: | ||
** <code>TWD = ATAN ( TWx / TWy )</code> | ** <code>TWD = ATAN ( TWx / TWy )</code> | ||
− | == calculate current == | + | [[File:Wind_1.jpg|500px]] |
+ | |||
+ | == (calculate current) == | ||
* <b>COG</b> Course Over Ground <b>navigation.courseOverGroundTrue</b> | * <b>COG</b> Course Over Ground <b>navigation.courseOverGroundTrue</b> | ||
* <b>SOG</b> Speed Over Ground <b>navigation.speedOverGround</b> | * <b>SOG</b> Speed Over Ground <b>navigation.speedOverGround</b> | ||
Line 68: | Line 70: | ||
** <b>SET</b> Set (direction relative to true north) <b>???</b> | ** <b>SET</b> Set (direction relative to true north) <b>???</b> | ||
** <code>SET = ATAN ( DFTx / DFTy )</code> | ** <code>SET = ATAN ( DFTx / DFTy )</code> | ||
− | |||
== signalk-derived-data groundWind.js== | == signalk-derived-data groundWind.js== |
Revision as of 13:29, 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 HDG) environment.wind.angleApparent
- HDT 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 )
(calculate current)
- COG Course Over Ground navigation.courseOverGroundTrue
- SOG Speed Over Ground navigation.speedOverGround
- HDT Heading (relative to true north) navigation.headingTrue
- S Speed (over ground?) in direction of HDG
- 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)