[Previous]
[Next]
NAME:
j15b0dif
CALLING SEQUENCE:
pro j15b0dif,imn=imn,imset=imset,img=img
CALLS: ***
WRITEFITS
[Previous]
[Next]
NAME:
j15bdif
CALLING SEQUENCE:
pro j15bdif,imn=imn,imset=imset,img=img
CALLS: ***
WRITEFITS
[Previous]
[Next]
NAME:
j15dif
CALLING SEQUENCE:
pro j15dif,imn=imn,imset=imset,img=img
CALLS: ***
WRITEFITS
[Previous]
[Next]
NAME:
j15sum_dif
CALLING SEQUENCE:
pro j15sum_dif,imn=imn,imset=imset,img=img
CALLS: ***
WRITEFITS
[Previous]
[Next]
NAME:
jpl_body
PURPOSE:
Used to set the 'body' and 'center' input to the main JPL Lunar
and planetary ephemeris routine jpl_eph
CATEGORY:
smei/gen/idl/ephem, JPL Lunar and Planetary ephemeris
CALLING SEQUENCE:
FUNCTION jpl_body, number , $
sun = sun , $
mercury = mercury , $
venus = venus , $
earth = earth , $
mars = mars , $
jupiter = jupiter , $
saturn = saturn , $
uranus = uranus , $
neptune = neptune , $
pluto = pluto , $
moon = moon , $
ssbary = ssbary , $
embary = embary , $
nutations=nutations , $
librations=librations,$
count = count , $
string = string
OPTIONAL INPUT PARAMETERS:
Only one of the following keywords should be set. If none is set then
a list of all names is returned.
/sun
/mercury
/venus
/earth
/mars
/jupiter
/saturn
/uranus
/neptune
/pluto
/moon selects the corresponding body
/ssbary selects the solar system barycenter
/embary selects the Earth-Moon barycenter
/nutations selects /nutations (may not be present in ephemeris file?)
/librations selects /librations (may not be present in ephemeris file?)
OUTPUTS:
Result scalar; type: integer
integer value corresponding to selected location
OPTIONAL OUTPUTS:
count=count scalar; type: integer
number of bodies in JPL ephem (Sun, planets and Moon)
These take the first 'count' position in the array
returned by jpl_body()
INCLUDE:
@compile_opt.pro ; On error, return to caller
CALLS: ***
InitVar, IsType, where_common
CALLED BY:
BZero, CvSky, CvSky_GSE, CvSky_GSEQ, CvSky_GSM, CvSky_RTN, EarthSky3DLoc
EarthTransit3DLoc, GeographicInfo, InsituTimeSeries, PlotEarthSkymap [2]
PlotPlanarCut, PlotPolarSkymap, PlotSolarDisk, RemoteView, RemoteView_BodyLoc
RemoteView_Init_Display, RemoteView_Init_View, allsky [1], allsky [2]
allsky [3], allsky_f, aurora, big_body, big_eph, big_orbit, forecast, forecast_cfg
forecast_movie, haystack_2006, jpl_eph, jpl_phase, jpl_test, maygeometry, mpc_eph
mpc_orbit_eph, qEphem_State, qRemoteView, qRemoteView_Pick, run_movie
smei_frm_cvhdr, smei_frm_eclipse, smei_frm_summary, smei_frm_where
smei_hdr_plot, smei_sky, smei_sky_track, smei_star_fit, smei_star_test
smei_zld_model, smei_zld_remove [1], smei_zld_remove [2], stardistance
vu_insitu, vu_movie, vu_point_source, vu_solardisk, vu_synopticmap, vu_timeseries
vu_vox_draworbit, vu_vox_write
SEE ALSO:
jpl_eph
PROCEDURE:
The numbering convention is:
0 = Sun 8 = Neptune
1 = Mercury 9 = Pluto
2 = Venus 10 = Moon
3 = Earth 13 = Solar-system barycenter
4 = Mars 14 = Earth-Moon barycenter
5 = Jupiter 11 = Nutations (longitude and obliquity)
6 = Saturn 12 = Librations (if on file)
7 = Uranus
A call to jpl_eph will typically contain two calls to jpl_body, e.g.
P = jpl_eph( UT, jpl_body(/earth), center=jpl_body(/sun))
returns heliocentric position and velocity coordinates for Earth.
MODIFICATION HISTORY:
DEC-2002, Paul Hick (UCSD/CASS)
OCT-2006, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Added keyword /string
[Previous]
[Next]
NAME:
jpl_close
PURPOSE:
Close an ephemeris file
CATEGORY:
ucsd/gen/idl/ephem
CALLING SEQUENCE:
PRO jpl_close, kill=kill
INPUTS:
(none)
OPTIONAL INPUTS:
/kill
INCLUDE:
@compile_opt.pro ; On error, return to caller
CALLS: ***
InitVar, destroyvar
CALLED BY:
PlotEarthSkymap [2], allsky [1], allsky [2], allsky [3], allsky_f, jpl_eph, jpl_test
SEE ALSO:
jpl_init
COMMON BLOCKS:
common JPL_INFO, JPL_PNTR ; Pointer to heap variable
PROCEDURE:
> Common block is filled by jpl_init
> jpl_close closes an open ephemeris file with logical unit
number (*JPL_PNTR).iU.
> If /kill is set then the heap variable to which JPL_PNTR points
is destroyed.
MODIFICATION HISTORY:
AUG-1999, Paul Hick (UCSD/CASS)
FEB-2005, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Introduced /kill keyword
[Previous]
[Next]
NAME:
jpl_eph
PURPOSE:
Access JPL planetary ephemeris DE405
Reads the JPL ephemeris and provides position and velocity vectors of 'body' relative to
'center' at the time ET by interpolating on the ephemeris data
CATEGORY:
smei/gen/idl/ephem, JPL Lunar and Planetary Ephemeris
CALLING SEQUENCE:
FUNCTION jpl_eph, UT, body, $
center = center , $
km = km , $
loud = loud , $
location = location , $
speed = speed , $
to_sphere = to_sphere , $
to_ecliptic = to_ecliptic,$
degrees = degrees , $
precess = precess , $
get = get , $
noclose = noclose , $
test = test
INPUTS:
UT array[2,n]; type: double
scalar ; type: double
array[n] ; type: double
array[n] ; type: time structure
Ephemeris times specified as Julian date where interpolated positions are needed.
The input times are usually specified as a pair of numbers in days
Generally, ET[0] will be set to some convenient fixed epoch (specified as a
Julian day number) used as 'time origin' for the integrations, and ET[1] will
be the elapsed time since ET[0] (in days).
Any time ET[0]+ET[1] falling in the time covered by the ephemeris file is OK
For maximum precision:
set ET[0] to the most recent midnight at or before the interpolation epoch and
set ET[1] to the fractional part of the day elapsed since ET[0]
Special cases for the input argument are:
A double scalar is interpreted as ET = [ET,0]
A double array[n] (with n NOT equal 2) is interpreted as n pairs [ET[i],0], i=0,n-1
For an array of time structures the midnight, T0, preceding ET[0] is used as epoch;
then elapsed times relative to this time origin are calculate to set up the pairs
[T0,ET[i]] (i=0,n-1).
body scalar type: integer; default: 3 (Earth)
index of the 'target' body
center scalar type: integer: default: 0 (Sun)
index of the center body
The numbering convention for body and center is:
0 = Sun 8 = Neptune
1 = Mercury 9 = Pluto
2 = Venus 10 = Moon
3 = Earth 13 = Solar-system barycenter
4 = Mars 14 = Earth-Moon barycenter
5 = Jupiter 11 = Nutations (longitude and obliquity)
6 = Saturn 12 = Librations (if on file)
7 = Uranus
For nutations (body = 11) and librations (body = 12), center is
ignored.
jpl_state returns the Earth-Moon barycenter state as body 3
This is moved to state 14. Then states 14 and 10 (geocentric
Moon) are combined to provide the state for Earth.
OPTIONAL INPUT PARAMETERS:
/km if set Sun, planets and Moon states are returned in
km and km/s; default is AU and AU/day
For nutations and librations the angle unit is always radians
/loud passed to jpl_init. Prints some info read from ephemeris files
/location only return location of 'body'
/speed only return speed of 'body'
/to_sphere return location in spherical coordinates (longitude, latitude, distance)
/noclose suppresses the call to jpl_close (closing the ephemeris file)
/precess
/to_ecliptic if set convert from equatorial to ecliptic coordinates
OUTPUTS:
Result array[6] type: double
contains positions and velocity vector of 'body' relative to
'center'. Units depend on setting of /km for Sun, planets and
Moon. For librations units are radians and radians/day
For nutations only the first four words are set to nutation and
nutation rates with units radians and radians/day
If the ephemeris could not be accessed or ET was out of the
range covered by the ephemeris than R is filled with NaN values
(!values.d_nan).
INCLUDE:
@compile_opt.pro ; On error, return to caller
CALLS: ***
AngleRange, BadValue, CV_COORD, CvPrecess, CvSky, InitVar, IsTime, IsType, TimeGet, TimeOp
TimeSet, TimeUnit, jpl_body, jpl_close, jpl_init, jpl_state
CALLED BY:
Carrington, PlotEarthSkymap [2], RemoteView_BodyLoc, allsky [1], allsky [2]
allsky [3], allsky_f, big_eph, coriolis_map, haystack_2006, jpl_phase, jpl_test
mpc_eph, mpc_orbit_eph, smei_frm_cvhdr, smei_frm_where, smei_star_fit
stardistance, usno_eph
SEE ALSO:
jpl_close, jpl_init, jpl_interp
COMMON BLOCKS:
common JPL_INFO, JPL_PNTR
RESTRICTIONS:
DE405 covers JED 2305424.50 (1599 DEC 09) to JED 2525008.50 (2201 FEB 20)
PROCEDURE:
> DE405 includes both nutations and libration, and covers
JED 2305424.50 (1599 DEC 09) to JED 2525008.50 (2201 FEB 20)
It is based upon the International Celestial Reference Frame (ICRF), which
apparently is within 0.01 arcseconds of the dynamical equator and
equinox of J2000.
> The ephemeris file is opened on the first call to jpl_eph.
> Unless /noclose is set, the ephemeris file is closed before returning.
The JPL_PNTR heap variable will still keep the last record (with 32 days
of ephemeris data) in memory. To destroy the heap variable an explicit
call jpl_close,/kill is required.
MODIFICATION HISTORY:
AUG-1999, Paul Hick (UCSD/CASS)
Translation of JPL Fortran software provided with the ephemeris package
DEC-2002, Paul Hick (UCSD/CASS)
Modified to accept time structures as input, in addition to pairs of
double precision numbers for a Julian date.
APR-2003, Paul Hick (UCSD/CASS)
Added keywords to_sphere, degrees, speed and location
FEB-2005, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Fairly substantial rewrite to minimize the time that the ephemeris file
is kept open.
APR-2009, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Bug fix. When body or center where set to 'SS-bary' or 'EM-bary' these
were mapped to integers 11 and 12, instead of 13 and 14.
[Previous]
[Next]
NAME:
jpl_init
PURPOSE:
Initialize a new ephemeris file
CATEGORY:
smei/gen/idl/ephem
CALLING SEQUENCE:
FUNCTION jpl_init, ET, JPL_PNTR, loud=loud, test=test
INPUTS:
ET(2) double ephemeris time
JPL_PNTR pointer to structure with info for current
ephemeris file
OPTIONAL INPUT PARAMETERS:
/loud if set some parameters read from the ephemeris file
are printed (used by jpl_test).
OUTPUTS:
OK =1: ephemeris file ready for next jpl_state call
=0: usually means ET is outside the range of the ephemeris
(currently 1950-2050)
JPL_PNTR update pointer
INCLUDE:
@compile_opt.pro ; On error, return to caller
CALLED BY:
jpl_eph
COMMON BLOCKS:
common JPL_BUF, BUF_MAP ; File handle for assoc read
CALLS: ***
FILEPATH, InitVar, jpl_inside, jpl_read, who_am_i
PROCEDURE:
> IDL implementation of the JPL Lunar and Planetary Ephemeris package
> Ephemeris data files are searched for in the subdirectory 'jpl' of the directory
where this file is located.
> jpl_init opens the appropriate ephemeris file for time ET and reads
the correct record in the pointer JPL_PNTR
> The ephemeris file is accessed using BUF_MAP, an 1018-element
double precesion array associated with a record in the ephemeris file.
MODIFICATION HISTORY:
AUG-1999, Paul Hick (UCSD/CASS)
FEB-2005, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
[Previous]
[Next]
NAME:
jpl_inside
PURPOSE:
Check whether time is inside current ephemeris file
CATEGORY:
CALLING SEQUENCE:
NR = jpl_inside(ET,SS)
INPUTS:
ET(2) double ephemeris time
SS(2) double time range of ephemeris file
OUTPUTS:
NR integer record number in ephemeris file
with data for time ET.
NR=-1 if outside range.
INCLUDE:
@compile_opt.pro ; On error, return to caller
CALLED BY:
jpl_init
PROCEDURE:
MODIFICATION HISTORY:
FEB-2005, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
[Previous]
[Next]
NAME:
jpl_interp
PURPOSE:
Differentiates and interpolates a set of Chebyshev coefficients to give
position and velocity
CATEGORY:
smei/gen/idl/ephem; JPL Lunar and Planetary Ephemeris
CALLING SEQUENCE:
FUNCTION jpl_interp, BUF,T,NCF,NCM,NA,IFL,PV
INPUTS:
BUF 1st location of array of double Chebyshev coefficients of position
T T[1] is double fractional time in interval covered by
coefficients at which interpolation is wanted (0 <= T[1] <= 1).
T[2] is double length of whole interval in input time units
NCF # coefficients per component
NCM # components per set of coefficients
NA # sets of coefficients in full array
(i.e, # sub-intervals in full interval)
IFL integer flag: =1 for positions only
=2 for position and velocity
OUTPUTS:
PV array[NCM,IFL]; type: double
interpolated quantities requested.
INCLUDE:
@compile_opt.pro ; On error, return to caller
CALLED BY:
jpl_state
COMMON BLOCKS:
common JPL_INTERP_SAVE, PC, VC, TWOT, NP, NV
PROCEDURE:
MODIFICATION HISTORY:
AUG-1999, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
adapted from JPL Fortran software
[Previous]
[Next]
NAME:
jpl_mag
PURPOSE:
Calculate apparent magnitude for body in JPL ephemeris
CATEGORY:
gen/idl/ephem
CALLING SEQUENCE:
FUNCTION jpl_mag, ut, body , $
observer = observer , $
mag_body = mag_body , $
degrees = degrees , $
phase = phase , $
int_phase = int_phase
INPUTS:
ut array[ntime]; type: time structure
list of times for which phase angles are needed
body scalar or array[nbody]; type: integer
default: jpl_body(/moon)
body for which apparent magnitude is needed
OPTIONAL INPUT PARAMETERS:
observer=observer
scalar or array[nobs]; type: integer
default: jpl_body(/earth)
mag_body same structure as 'body'; type: float
default: ([-26.73,-0.42,-4.40,-3.86,
-1.52,-9.40,-8.88,-7.19,-6.87,-1.0,0.21])[body]
absolute magnitude of 'body'
/degrees if set the phase angle is output in degrees
(default: radians)
int_phase=int_phase
scalar; type: string
name of function used for the phase integral
Must be function with as only input argument
the phase angle in radians.
OUTPUTS:
Result array[nbody,nobs,ntime]; type: float
(dummy dimensions are omitted)
apparent magnitude
OPTIONAL OUTPUTS:
phase array[nbody,nobs,ntime]; type: float
(dummy dimensions are omitted)
phase angle as returned by jpl_phase
INCLUDE:
@compile_opt.pro ; On error, return to caller
CALLS: ***
InitVar, IsType, SuperArray, ToRadians, jpl_phase
CALLED BY:
qEphem_State, smei_star_fit
PROCEDURE:
Visual absolute magnitudes for all bodies in the JPL ephemeris
are hardcoded. Override with the 'mag_body' keyword.
The apperent magnitude calculation uses the phase integral
for an ideal diffuse reflecting sphere by default.
Override this using argument 'int_phase'
The difference between jpl_eph and JPL's HORIZONS system is usally about ~.2-3, whereas the difference between
an astronomical almanac and jpl_eph is usually on the order of ~.4-5.
MODIFICATION HISTORY:
NOV-2005, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
[Previous]
[Next]
NAME:
jpl_parallax
PURPOSE:
Get size of parallax
CATEGORY:
gen/idl/ephem
CALLING SEQUENCE:
FUNCTION jpl_parallax, tt_or_rr, body=body, onebody=onebody, $
degrees=degrees, arcsec=arcsec
INPUTS:
tt
OPTIONAL INPUT PARAMETERS:
body=body
/onebody
/degrees
/arcsec
OUTPUTS:
rr
OPTIONAL OUTPUT PARAMETERS:
INCLUDE:
@compile_opt.pro ; On error, return to caller
CALLS: ***
InitVar, IsTime, SubArray, big_eph
PROCEDURE:
MODIFICATION HISTORY:
MAR-2007, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
[Previous]
[Next]
NAME:
jpl_phase
PURPOSE:
Calculate phase angle for body in JPL ephemeris
CATEGORY:
gen/idl/ephem
CALLING SEQUENCE:
FUNCTION jpl_phase, ut, body , $
observer = observer , $
degrees = degrees , $
sun = sun , $
pos = pos
INPUTS:
ut array[ntime]; type: time structure
list of times for which phase angles are needed
body scalar or array[nbody]; type: integer; default: jpl_body(/moon)
body for which phase is needed
OPTIONAL INPUT PARAMETERS:
observer=observer
scalar or array[nobs]; type: integer; default: jpl_body(/earth)
body to used as observer location
/degrees if set the phase angle is returned in degrees
(default: radians)
OUTPUTS:
Result scalar or array[nbody,nobs,ntime]; type: float
(dummy dimensions are omitted)
phase angles
OPTIONAL OUTPUTS:
sun array[3,nbody,nobs,ntime]; type: float
(dummy dimensions are omitted)
rectangular ecliptic location of Sun in topocentric
coordinates of 'body' (AU)
pos array[3,nbody,nobs,ntime]; type: float
(dummy dimensions are omitted)
rectangular ecliptic location of observer in topocentric
coordinates of 'body' (AU)
INCLUDE:
@compile_opt.pro ; On error, return to caller
CALLS: ***
InitVar, SubArray, SuperArray, ToRadians, jpl_body, jpl_eph, scalarproduct
CALLED BY:
jpl_mag, smei_frm_summary, smei_hdr_plot
PROCEDURE:
The phase angle is defined as the angle Sun-body-observer
The visible fraction of the disk of body as seen by observer
is approximately 1-phase/180, so phase=0 is 'full' and
phase=180 is 'new'.
'waxing' means that the size of the visible disk is increasing,
i.e. decreasing phase angle from 180 to 0; 'waning' means
the size of the disk is decreasing i.e. phase angle is
increasing from 0 to 180.
MODIFICATION HISTORY:
NOV-2005, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
[Previous]
[Next]
NAME:
jpl_read
PURPOSE:
Read new record from open ephemeris file
CATEGORY:
ucsd/gen/idl/ephem
CALLING SEQUENCE:
FUNCTION jpl_read, NR, JPL_PNTR, BUF_MAP
INPUTS:
NR
JPL_PNTR
BUF_MAP
OUTPUTS:
(*JPL_PNTR).NRL
(*JPL_PNTR).BUF
OPTIONAL OUTPUT PARAMETERS:
INCLUDE:
@compile_opt.pro ; On error, return to caller
CALLED BY:
jpl_init
PROCEDURE:
MODIFICATION HISTORY:
FEB-2005, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
[Previous]
[Next]
NAME:
jpl_sizeofsun
PURPOSE:
Get size of half the solar disk in angular measure
CATEGORY:
gen/idl/ephem
CALLING SEQUENCE:
FUNCTION jpl_sizeofsun, tt_or_rr, $
body = body , $
onebody = onebody, $
degrees = degrees, $
arcsec = arcsec
INPUTS:
tt_or_rr array; type: time structure or float
If time structure is specified this is
used with 'body' to calculate a heliocentric
distance using big_eph.
If float this should be a heliocentric
distance in AU
OPTIONAL INPUT PARAMETERS:
body=body passed to big_eph
/onebody passed to big_eph
/degrees return disk size in degrees (default is radians)
/arcsec return disk size in arcseconds (overrides /degrees)
OUTPUTS:
dd angular size of half the solar disk
INCLUDE:
@compile_opt.pro ; On error, return to caller
CALLS: ***
InitVar, IsTime, SubArray, ToRadians, big_eph
PROCEDURE:
Returns arcsin( radius of Sun / heliocentric distance)
MODIFICATION HISTORY:
MAR-2007, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
[Previous]
[Next]
NAME:
jpl_state
PURPOSE:
Reads and interpolates the JPL planetary ephemeris file
(internal use for jpl_eph only)
CATEGORY:
smei/gen/idl/ephem; JPL Lunar and Planetary Ephemeris
CALLING SEQUENCE:
FUNCTION jpl_state, ET, JPL_PNTR, LST, km=km, ssbary=ssbary, loud=loud
INPUTS:
ET array[2]; type: double (input is converted to double)
Julian ephemeris date where the interpolated positions are needed.
Any time ET[0]+ET[1] falling in the time covered by the ephemeris file is OK
Generally, ET[0] will be set to some convenient fixed epoch used as 'time
origin' for the integrations, and ET[1] will be the elapsed time since ET[0]
For maximum precision:
set ET[0] to the most recent midnight at or before the interpolation epoch and
set ET[1] to the fractional part of the day elapsed since ET[0]
LST array[13] type: integer
specifies what type of interpolation is needed for each body
= 0: no interpolation
= 1: position only
= 2: position and velocity
LST[0] (Sun) is internally set to 2
The designation of astronomical bodies in LST
0 = Sun 7 = Uranus
1 = Mercury 8 = Neptune
2 = Venus 9 = Pluto
3 = Earth 10 = geocentric Moon
4 = Mars 11 = nutations (longitude and obliquity)
5 = Jupiter 12 = librations (if present on file)
6 = Saturn
OPTIONAL INPUT PARAMETERS:
/km if set the units for PV[0:10] are in km; default is AU
/ssbary if set then PV[1:9] are returned in solar-system barycentric
coordinates; default is heliocentric
/loud passed to jpl_init. Prints some info read from ephemeris files
OUTPUTS:
PV array[6,13] type: double precision
requested interpolated quantities
The order of the components i: X,Y,Z,DX,DY,DZ.
Only those components are calculated as indicated by the LST array.
Everthing else is set to zero.
If the ephemeris file could not be accessed of JD is out of the range
covered by the ephemeris then PV will contain NaN values (!values.d_nan)
All output vectors are referenced to the Earth mea equator and equinox
of J2000 if the DE number is 200 or greater; of B1950 if the DE number
is less than 200.
PV[*,0] the Sun state is always solar-system barycentric
[PLH: I think, see how its used in jpl_eph].
PV[*,1:9] the planet states are heliocentric or solar system barycentric,
depending on the setting of ssbary
[PLH: actually I think PV[*,3] is the Earth-Moon barycenter;
see how its used in jpl_eph]
PV[*,10] the Moon state is always geocentric
PV[0:3,11] contains nutations and rates. The components are
dPSI nutation in longitude (radians)
dEPSILON nutation in obliquity (radians)
dPSI/dT rates (radians/day)
dEPSILON/dT
PV[*,12] lunar librations (if on file) if LST[12] is 1 or 2.
in radians and radians/day
INCLUDE:
@compile_opt.pro ; On error, return to caller
CALLS: ***
InitVar, jpl_interp
CALLED BY:
jpl_eph
PROCEDURE:
MODIFICATION HISTORY:
AUG-1999, Paul Hick (UCSD/CASS)
Based on JPL Fortran software
DEC-2002, Paul Hick (UCSD/CASS; pphick@ucsd.edu)
Bug fix. Fraction of day in ET[1] was not always processed properly.
[Previous]
[Next]
NAME:
jpl_test
PURPOSE:
Test program for JPL lunar and planetary ephemeris
CATEGORY:
smei/gen/idl/ephem JPL Lunar and Planetary Ephemeris
CALLING SEQUENCE:
PRO jpl_test, newcomb=newcomb, aa_equ=aa_equ, aa_ecl=aa_ecl, convert=convert
OPTIONAL INPUT PARAMETERS:
By default a test is run using the testp.405 file provided with the JPL software.
/newcomb the JPL heliocentric position of Earth is compared with the
result from the function NewcombSun (which is known to reproduce
values from the Astronomical Almanac with a precision on the order
of arcseconds. The only correction to the JPL values is a precession
from J2000 to the equinox of date.
/almanac compares JPL and NewcombSun results with numbers from
the Astronomical Almanac
OUTPUTS:
(none)
INCLUDE:
@compile_opt.pro ; On error, return to caller
CALLS: ***
AngleRange, AngleUnits, CV_COORD, CvPrecess, CvSky, FILEPATH, InitVar, MEAN, NewcombSun
PlotCurve, STDDEV, TimeOp, TimeSet, TimeUnit, TimeXAxis, ToDegrees, flt_read, gridgen
jpl_body, jpl_close, jpl_eph, twin, who_am_i
PROCEDURE:
Checks ephemeris calculations agains numbers in the test file
testpo.405 stored in the subdirectory 'jpl'.
MODIFICATION HISTORY:
FEB-2000, Paul Hick (UCSD/CASS; pphick@ucsd.edu)