mice_subslr |
|||

## AbstractMICE_SUBSLR compute the rectangular coordinates of the sub-solar point on a target body at a specified epoch, optionally corrected for light time and stellar aberration. This routine supersedes cspice_subsol, which does not have an input argument for the target body-fixed frame name. ## I/OGiven: method a string providing parameters defining the computation method to use. [1,c1] = size(method); char = class(method) or [1,1] = size(method); cell = class(method) The supported values of 'method' are listed below. Please note that the colon is a required delimiter; using a blank will not work. 'Near point: ellipsoid' The sub-solar point computation uses a triaxial ellipsoid to model the surface of the target body. The sub-solar point is defined as the nearest point on the target relative to the Sun. 'Intercept: ellipsoid' The sub-solar point computation uses a triaxial ellipsoid to model the surface of the target body. The sub-solar point is defined as the target surface intercept of the line containing the Sun and the target's center. Neither case nor white space are significant in 'method'. For example, the string ' nearpoint:ELLIPSOID ' is valid. target the name of the target body. The target body is an ephemeris object (its trajectory is given by SPK data), and is an extended object. [1,c2] = size(target); char = class(target) or [1,1] = size(target); cell = class(target) The string 'target' is case-insensitive, and leading and trailing blanks in 'target' are not significant. Optionally, you may supply a string containing the integer ID code for the object. For example both 'MOON' and '301' are legitimate strings that indicate the moon is the target body. When the target body's surface is represented by a tri-axial ellipsoid, this routine assumes that a kernel variable representing the ellipsoid's radii is present in the kernel pool. Normally the kernel variable would be defined by loading a PCK file. et the epoch(s), expressed as seconds past J2000 TDB, of the observer: 'et' is the epoch at which the observer's state is computed. [1,n] = size(et); double = class(et) When aberration corrections are not used, 'et' is also the epoch at which the position and orientation of the target body are computed. When aberration corrections are used, 'et' is the epoch at which the observer's state relative to the solar system barycenter is computed; in this case the position and orientation of the target body are computed at et-lt or et+lt, where 'lt' is the one-way light time between the sub-solar point and the observer, and the sign applied to 'lt' depends on the selected correction. See the description of 'abcorr' below for details. fixref the name of the body-fixed, body-centered reference frame associated with the target body. The output sub-solar point 'spoint' will be expressed relative to this reference frame. [1,c3] = size(fixref); char = class(fixref) or [1,1] = size(fixref); cell = class(fixref) abcorr the aberration correction to apply when computing the observer-target state and the orientation of the target body. [1,c4] = size(abcorr); char = class(abcorr) or [1,1] = size(abcorr); cell = class(abcorr) For remote sensing applications, where the apparent sub-solar point seen by the observer is desired, normally either of the corrections 'LT+S' 'CN+S' should be used. These and the other supported options are described below. 'abcorr' may be any of the following: 'NONE' Apply no correction. Return the geometric sub-solar point on the target body. Let 'lt' represent the one-way light time between the observer and the sub-solar point (note: NOT between the observer and the target body's center). The following values of 'abcorr' apply to the "reception" case in which photons depart from the sub-solar point's location at the light-time corrected epoch et-lt and *arrive* at the observer's location at 'et': 'LT' Correct for one-way light time (also called "planetary aberration") using a Newtonian formulation. This correction yields the location of sub-solar point at the moment it emitted photons arriving at the observer at 'et'. The light time correction uses an iterative solution of the light time equation. The solution invoked by the 'LT' option uses one iteration. Both the target position as seen by the observer, and rotation of the target body, are corrected for light time. 'LT+S' Correct for one-way light time and stellar aberration using a Newtonian formulation. This option modifies the state obtained with the 'LT' option to account for the observer's velocity relative to the solar system barycenter. The result is the apparent sub-solar point as seen by the observer. 'CN' Converged Newtonian light time correction. In solving the light time equation, the 'CN' correction iterates until the solution converges. Both the position and rotation of the target body are corrected for light time. 'CN+S' Converged Newtonian light time and stellar aberration corrections. This option produces a solution that is at least as accurate at that obtainable with the 'LT+S' option. Whether the 'CN+S' solution is substantially more accurate depends on the geometry of the participating objects and on the accuracy of the input data. In all cases this routine will execute more slowly when a converged solution is computed. obsrvr the scalar string name of the observing body. The observing body is an ephemeris object: it typically is a spacecraft, the earth, or a surface point on the earth. 'obsrvr' is case-insensitive, and leading and 'obsrvr' are not significant. Optionally, you may trailing blanks in supply a string containing the integer ID code for the object. For example both 'MOON' and '301' are legitimate strings that indicate the Moon is the observer. [1,c5] = size(obsrvr); char = class(obsrvr) or [1,1] = size(obsrvr); cell = class(obsrvr) the call: subslr = ## ExamplesAny numerical results shown for this example may differ between platforms as the results depend on the SPICE kernels used as input and the machine specific arithmetic implementation. % % Load kernel files via the meta-kernel. % cspice_furnsh( '/kernels/standard.tm' ); % % Convert the UTC request time to ET (seconds past % J2000, TDB). % et0 = cspice_str2et( '2008 aug 11 00:00:00' ); % % Create a vector of times. The code will also run for 'et' % a scalar. % et = [0:10]*cspice_spd + et0; % % Look up the target body's radii. We'll use these to % convert Cartesian to planetodetic coordinates. Use % the radii to compute the flattening coefficient of % the reference ellipsoid. % radii = cspice_bodvrd( 'MARS', 'RADII', 3 ); % % Let RE and RP be, respectively, the equatorial and % polar radii of the target. % re = radii(1); rp = radii(3); f = ( re-rp)/re; % % Compute the sub-solar point using light time and stellar % aberration corrections. Use the "target surface intercept" % definition of the sub-solar point on the first loop % iteration, and use the "near point" definition on the % second. % method = { 'Intercept: ellipsoid', 'Near point: ellipsoid' }; for i=1:2 subslr = ## ParticularsA sister version of this routine exists named cspice_subslr that returns the structure field data as separate arguments. ## Required ReadingFor important details concerning this module's function, please refer to the CSPICE routine subslr_c. MICE.REQ FRAMES.REQ PCK.REQ SPK.REQ TIME.REQ ## Version-Mice Version 1.1.0, 12-JAN-2015, EDW (JPL) Vectorized interface on input 'et'. Edited I/O section to conform to NAIF standard for Mice documentation. Update to Example section. -Mice Version 1.0.1, 11-JUN-2013, EDW (JPL) I/O descriptions edits to conform to Mice documentation format. -Mice Version 1.0.0, 30-JAN-2008, EDW (JPL) ## Index_Entriesfind sub-solar point on target body find nearest point to Sun on target body |

Wed Apr 5 18:00:37 2017