jd2doy $SSW/smei/bham/idl/utils/jd2doy.pro
[Previous] [Next]
 jd2doy
	Return, [y,d,h,m,s] given a julian day.

 Usage:
	time = jd2doy(jday)

 Argument:
	jd	double	input	The julian day number to be converted.

 CALLS: ***
	norm_time
 CALLED BY:
	FF_SUMMARY
 Restrictions:
	Only works to the nearest millisecond: because of a cop-out
	work around for a tendency to return exact hours
	(e.g. 3:00:00.00) as (e.g.) 2:59:59.999998. It's not pretty
	but it works.

 History:
	Original: 3/12/99; SJT


JD2EPOCH $SSW/smei/bham/idl/utils/jd2epoch.pro
[Previous] [Next]
 NAME:
	JD2EPOCH


 PURPOSE:
	Convert Julian Day to SMEI epoch.


 CATEGORY:
	Utils


 CALLING SEQUENCE:
	epoch = jd2epoch(jd)


 INPUTS:
	jd	double	The julian day number(s) to convert


 OUTPUTS:
	epoch	double	The SMEI epoch(s) 


 CALLS: ***
	doy2jd
 MODIFICATION HISTORY:
	Original: 25/3/03; SJT


jpl_body $SSW/smei/ucsd/gen/idl/ephem/jpl_body.pro
[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, pos=pos, 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
	PlotPolarSkymap, PlotSolarDisk, RemoteView, RemoteView_BodyLoc
	RemoteView_Init_Display, RemoteView_Init_View, big_body, big_eph, big_orbit
	jpl_eph, jpl_phase, jpl_test, mpc_eph, qEphem_State, smei_frm_cvhdr
	smei_frm_eclipse, smei_frm_summary, smei_frm_where, smei_hdr_plot, smei_sky
	smei_star_fit, smei_zodiac_model, 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


jpl_close $SSW/smei/ucsd/gen/idl/ephem/jpl_close.pro
[Previous] [Next]
 NAME:
	jpl_close
 PURPOSE:
	Close an ephemeris file
 CATEGORY:
	ucsd/gen/idl/ephem
 CALLING SEQUENCE:
	jpl_close[, /kill]
 INPUTS:
	(none)
 OPTIONAL INPUTS:
	/kill
 INCLUDE:
	@compile_opt.pro		; On error, return to caller
 CALLS: ***
	InitVar, destroyvar
 CALLED BY:
	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


jpl_eph $SSW/smei/ucsd/gen/idl/ephem/jpl_eph.pro
[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)
 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, TimeString, TimeUnit, jpl_body, jpl_close, jpl_init, jpl_state
 CALLED BY:
	big_eph, jpl_phase, jpl_test, mpc_eph, smei_frm_cvhdr, smei_frm_where, smei_star_fit
	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.


jpl_init $SSW/smei/ucsd/gen/idl/ephem/jpl_init.pro
[Previous] [Next]
 NAME:
	jpl_init
 PURPOSE:
	Initialize a new ephemeris file
 CATEGORY:
	smei/gen/idl/ephem
 CALLING SEQUENCE:
	OK = jpl_init(ET, JPL_PNTR [, /loud])
 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)


jpl_inside $SSW/smei/ucsd/gen/idl/ephem/jpl_inside.pro
[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)


jpl_interp $SSW/smei/ucsd/gen/idl/ephem/jpl_interp.pro
[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:
 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


jpl_mag $SSW/smei/ucsd/gen/idl/ephem/jpl_mag.pro
[Previous] [Next]
 NAME:
	jpl_mag
 PURPOSE:
	Calculate apparent magnitude for body in JPL ephemeris
 CATEGORY:
	gen/idl/ephem
 CALLING SEQUENCE:
	mag = jpl_mag(ut [, body, mag_body=mag_body])
 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)
	/degrees		if set the phase angle is returned in degrees
						(default: radians)
	mag_body		same structure as 'body'; type: float
						absolute magnitude of 'body'
	int_phase=int_phase
					scalar; type: string
						name of function used for the phase integral
						This must be a function with as only input argument
						the phase angle in radians.
 OUTPUTS:
	mag				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'
 MODIFICATION HISTORY:
	NOV-2005, Paul Hick (UCSD/CASS; pphick@ucsd.edu)


jpl_phase $SSW/smei/ucsd/gen/idl/ephem/jpl_phase.pro
[Previous] [Next]
 NAME:
	jpl_phase
 PURPOSE:
	Calculate phase angle for body in JPL ephemeris
 CATEGORY:
	gen/idl/ephem
 CALLING SEQUENCE:
 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)
	/degrees		if set the phase angle is returned in degrees
						(default: radians)
 OUTPUTS:
	phase			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)


jpl_read $SSW/smei/ucsd/gen/idl/ephem/jpl_read.pro
[Previous] [Next]
 NAME:
	jpl_read
 PURPOSE:
	Read new record from open ephemeris file
 CATEGORY:
	ucsd/gen/idl/ephem
 CALLING SEQUENCE:
	OK = 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)


jpl_state $SSW/smei/ucsd/gen/idl/ephem/jpl_state.pro
[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:
	R = jpl_state(ET,LST, km=km,ssbary=ssbary)
 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.


jpl_test $SSW/smei/ucsd/gen/idl/ephem/jpl_test.pro
[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:
	jpl_test
 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, Reset_Colors, 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)