SUBROUTINE SOLSYS VERSION 1. THIS SUBROUTINE READS A COORDINATE FILE CONTAINING BARYCENTRIC POSITIONS OF SOLAR SYSTEM BODIES AT DAILY INTERVALS AND PROVIDES THE POSITION AND VELOCITY OF BODY M AT EPOCH TJD.
TJD = TDB JULIAN DATE OF DESIRED EPOCH (IN) M = BODY IDENTIFICATION NUMBER (IN) K = ORIGIN SELECTION CODE (IN) SET K=0 FOR ORIGIN AT SOLAR SYSTEM BARYCENTER SET K=1 FOR ORIGIN AT CENTER OF SUN POS = POSITION VECTOR, EQUATORIAL RECTANGULAR COORDINATES, REFERRED TO ICRS, COMPONENTS IN AU (OUT) VEL = VELOCITY VECTOR, EQUATORIAL RECTANGULAR COORDINATES, REFERRED TO ICRS, COMPONENTS IN AU/DAY (OUT) IERR = ERROR INDICATOR (OUT) IERR=0 MEANS EVERYTHING OK IERR=1 MEANS TJD BEFORE FIRST USABLE DATE IN FILE IERR=2 MEANS TJD AFTER LAST USABLE DATE IN FILE IERR=3 MEANS BAD VALUE OF M IERR=4 MEANS PROBLEM OPENING FILE
NOTE 1: INFORMATION ON THE COORDINATE FILE READ IN: - PATH/NAME OF FILE SPECIFIED IN COMMON /SSFILE/ - ALL RECORDS ASCII (FORMATTED) - FIRST RECORD: HEADER OR IDENTIFYING INFORMATION, IGNORED HERE - OTHER RECORDS: TDB JULIAN DATE, X,Y,Z COORDINATES OF SUN, X,Y,Z COORDINATES OF MERCURY, X,Y,Z COORDINATES OF VENUS, X,Y,Z COORDINATES OF EARTH, X,Y,Z COORDINATES OF MARS, ... READ IN AS PER FORMAT IN COMMON /SSFILE/ - RECORDS AT FIXED INTERVALS OF +1 DAY OF TDB - X,Y,Z VALUES IN AU WITH RESPECT TO BCRS (ICRS AXES) - FILE MUST CONTAIN AT LEAST THE COORDINATES OF THE SUN AND THE EARTH - EARTH REFERS TO GEOCENTER, NOT EARTH-MOON BARYCENTER MANY ASPECTS OF THE FILE CAN BE CONTROLLED AT EXECUTION TIME VIA SUBROUTINE FILDEF. DEFAULTS: FILE PATH/NAME 'SS_EPHEM.TXT' READ ON LOGICAL UNIT 20, CONTAINING, IN EACH RECORD, A TDB JULIAN DATE AND COORDINATES OF 11 BODIES (SUN, MERCURY, VENUS, EARTH, ..., PLUTO, MOON), READ IN WITH FORMAT (F10.2,11(3F16.12)).
NOTE 2: IN SUCCESSIVE CALLS TO THIS SUBROUTINE, INPUT JULIAN DATES (TJD) SHOULD GENERALLY BE IN ASCENDING ORDER TO AVOID MULTIPLE SEARCHES STARTING AT BEGINNING OF FILE.
NOTE 3: THIS SUBROUTINE USES A 7-POINT LAGRANGIAN INTERPOLATION SCHEME ON FIXED INTERVAL DATA, WHICH PRODUCES INTERPOLATION ERRORS THAT VARY WITH BODY.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
double precision | :: | tjd | ||||
integer | :: | m | ||||
integer | :: | k | ||||
double precision, | dimension(3) | :: | pos | |||
double precision, | dimension(3) | :: | vel | |||
integer | :: | ierr |