>  Docs Center  >  Libraries  >  Markwardt  >  LITMSOL
Libraries

LITMSOL

LITMSOL

Name


  LITMSOL

Author


  Craig B. Markwardt, NASA/GSFC Code 662, Greenbelt, MD 20770
  craigm@lheamail.gsfc.nasa.gov
  UPDATED VERSIONs can be found on my WEB PAGE:
      http://cow.physics.wisc.edu/~craigm/idl/idl.html

Purpose


  Solve the light-time equation between two moving bodies

Major Topics


  Geometry, Physics

Calling Sequence


  LITMSOL, T1, X1, Y1, Z1, T2, INFO2, RAW2, OBJ2, INFOSUN, RAWSUN, $
            /RECEIVER, TBASE=, TOLERANCE=, POSUNITS=, MAXITER=, $
            /NO_SHAPIRO

Description



  The procedure LITMSOL solves the light time equation between two
  moving bodies in the solar system. Given the time and position of
  reception or transmission of a photon, this equation determines the
  time of transmission or reception at the other solar system body.
  Since both bodies may be moving, the equation must be solved
  iteratively.
  The trajectories of solar system bodies must be described by either
  a JPL ephemeris, or by a JPL-like ephemeris generated by
  JPLEPHMAKE. This routine calls JPLEPHINTERP.
  The user specifies the known time and position of interaction as
  T1, X1, Y1 and Z1, in units of POSUNITS. The time of interaction
  at the other body -- the solution to the light time equation -- is
  returned as T2. If the photon was *received* at time T1, then the
  RECEIVER keyword should be set (in which case the transmission must
  have occurred in the past).
  Since the solution is iterative, the user may specify a solution
  tolerance, and a maximum number of iterations.
  If users wish to include the Shapiro time delay, which has a
  maximum amplitude of approximately 250 usec, they must specify the
  ephemeris of the Sun (INFOSUN, RAWSUN). The Shapiro delay is the
  extra general relativistic delay caused by the Sun's potential.

Inputs



  T1 - epoch of interaction, in Julian days, in the TDB timescale.
        (scalar or vector)
  X1, Y1, Z1 - coordinates of interaction, referred to the solar
                system barycenter, in J2000 coordinates. Units are
                described by POSUNITS. (scalar or vector)
  INFO2, RAW2 - ephemeris of other solar system body, returned by
                JPLEPHREAD or JPLEPHMAKE.
  INFOSUN, RAWSUN - ephemeris of at least the Sun, as returned by
                    JPLEPHREAD. Only used of NO_SHAPIRO is not set.

Outputs



  T2 - upon output, epoch of interaction at the second solar system
        body, in Julian days, in the TDB timescale.

Keyword Parameters



  RECEIVER - if set, then the epoch T1 is a reception of a photon.
              Otherwise T1 is the epoch of transmission of a photon.
  VX1, VY1, VZ1 - upon input, the body velocity at time T1, in
                  VELUNITS units. This information is required only
                  if the SHAPIRO_DERIV is required.
  X2, Y2, Z2 - upon return, the body position at time T2, in
                POSUNITS units.
  VX2, VY2, VZ2 - upon return, the body velocity at time T2, in
                VELUNITS units.
  TBASE - a fixed epoch time (Julian days) to be added to each value
          of T1. Since subtraction of large numbers occurs with
          TBASE first, the greatest precision is achieved when TBASE
          is expressed as a nearby julian epoch, T1 is expressed
          as a small offset from the fixed epoch.
          Default: 0
  POSUNITS - the units for positions, one of 'CM', 'KM', 'LT-S' or
              'AU'.
              Default: 'CM'
  VELUNITS - the units for velocities (and Shapiro derivative).
              Default: POSUNITS+'/S'
  TOLERANCE - the solution tolerance, expressed in POSUNITS.
              Default: 1000 CM
  ERROR - upon return, a vector giving the estimated error in the
          solution for each point, expressed in POSUNITS. This
          quantity should be less than TOLERANCE unless the number
          of iterations exceeded MAXITER.
  MAXITER - maximum number of solution iterations to be taken.
            Default: 5
  NITER - upon return, contains the actual number of iterations used.
  SHAPIRO_CALC - method of calculating Shapiro delay, a string with
                  one value of 'NONE', 'DELAY' or 'BOTH'. NONE means
                  do not calculate any Shapiro delay values. DELAY
                  means calculate Shapiro delay only. BOTH means
                  calculate the delay *and* its derivative with
                  respect to time. If SHAPIRO_CALC is set to
                  DELAY or BOTH, then INFOSUN and RAWSUN must be
                  specified. If BOTH, then VX1, VY1 and VZ1 must
                  also be specified. This keyword overrides
                  NO_SHAPIRO.
  NO_SHAPIRO - if set, then the Shapiro delay will not be accounted
                for. Use SHAPIRO_CALC instead.
  SHAPIRO_DELAY - upon return, contains the Shapiro delay in
                  seconds, if SHAPIRO_CALC is set to 'DELAY' or
                  'BOTH'.
  SHAPIRO_DERIV - upon return, contains the derivative of the
                  Shapiro delay, in light seconds per time unit of
                  velocity (SHAPIRO_CALC must be set to 'BOTH' to
                  enable this calculation). Note that you must
                  supply VX1, VY1 and VZ1 to get the derivative
                  value.

Example


See Also



  JPLEPHREAD, JPLEPHINTERP

Modification History


  Written, 6 May 2002, CM
  Documented, 12 May 2002, CM
  Added TGUESS keyword, 29 May 2002, CM
  Added ERROR and X/Y/ZOFF keywords, 25 Sep 2002, CM
  Extensive revisions: addition of SHAPIRO_{CALC,DELAY,DERIV}
    values; input VX1, VY1 and VZ1; output X2, Y2, Z2 and VX2 VY2
    and VZ2; and VELUNITS keyword, 07 Mar 2007, CM
  Allow user specified function to interpolate INFO2/RAW2 via
    INTERP_FUNC keyword, 09 Oct 2008, CM



© 2024 NV5 Geospatial Solutions, Inc. |  Legal
   Contact Us