THIS SUBROUTINE COMPUTES THE GEOCENTRIC POSITION AND VELOCITY OF AN OBSERVER ON THE SURFACE OF THE EARTH OR ON A NEAR-EARTH SPACECRAFT. THE FINAL VECTORS ARE EXPRESSED IN THE GCRS.
TJD = TT JULIAN DATE (IN)
LOCATN = INTEGER CODE SPECIFYING LOCATION OF OBSERVER (IN)
SET LOCATN=0 FOR OBSERVER AT GEOCENTER
SET LOCATN=1 FOR OBSERVER ON SURFACE OF EARTH
SET LOCATN=2 FOR OBSERVER ON NEAR-EARTH SPACECRAFT
OBSERV = ARRAY OF DATA SPECIFYING LOCATION OF OBSERVER (IN)
FOR LOCATN=0, THIS ARRAY NOT USED
FOR LOCATN=1,
OBSERV(1) = GEODETIC LONGITUDE (WGS-84) OF OBSERVER
(EAST +) IN DEGREES (IN)
OBSERV(2) = GEODETIC LATITUDE (WGS-84) OF OBSERVER
(NORTH +) IN DEGREES (IN)
OBSERV(3) = HEIGHT OF OBSERVER ABOVE ELLIPSOID
IN METERS (IN)
OBSERV(4) = VALUE OF DELTA-T IN SECONDS (IN)
(DELTA-T=TT-UT1)
OBSERV(5) = (NOT USED, RESERVED FOR FUTURE USE)
OBSERV(6) = (NOT USED, RESERVED FOR FUTURE USE)
FOR LOCATN=2,
OBSERV(1) = GEOCENTRIC X IN KILOMETERS
OBSERV(2) = GEOCENTRIC Y IN KILOMETERS
OBSERV(3) = GEOCENTRIC Z IN KILOMETERS
OBSERV(4) = GEOCENTRIC X-DOT IN KILOMETERS/SECOND
OBSERV(5) = GEOCENTRIC Y-DOT IN KILOMETERS/SECOND
OBSERV(6) = GEOCENTRIC Z-DOT IN KILOMETERS/SECOND
WITH RESPECT TO TRUE EQUATOR AND EQUINOX OF DATE
POS = POSITION VECTOR OF OBSERVER, WITH RESPECT TO ORIGIN
AT GEOCENTER, REFERRED TO GCRS AXES, COMPONENTS
IN AU (OUT)
VEL = VELOCITY VECTOR OF OBSERVER, WITH RESPECT TO ORIGIN
AT GEOCENTER, REFERRED TO GCRS AXES, COMPONENTS
IN AU/DAY (OUT)
NOTE 1: IF LOCATN=1 AND OBSERV(4)=0.D0, THE VALUE OF DELTA-T WILL BE OBTAINED FROM GETDT, WHICH PROVIDES THE LAST VALUE OF DELTA-T DEFINED BY USER VIA CALL TO SETDT.
NOTE 2: THIS SUBROUTINE CALLS SUBROUTINE TERRA FOR AN OBSERVER ON THE SURFACE OF THE EARTH. TERRA NEGLECTS POLAR MOTION, AN APPROXIMATION WHICH MAY YIELD UP TO 15 METERS ERROR IN POSITION AND SEVERAL MILLIMETERS/SEC ERROR IN VELOCITY.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp) | :: | tjd | ||||
integer | :: | locatn | ||||
real(kind=wp), | dimension(6) | :: | observ | |||
real(kind=wp), | dimension(3) | :: | pos | |||
real(kind=wp), | dimension(3) | :: | vel |