Mean/true local time, longitude, right ascension (ECI/ECF, Earth only)
[par_out] = CL_op_locTime(cjd, type_par, par, type_par_out [[, ut1_tref, tt_tref]])
Performs various conversions between quantities akin to local time.
The quantities that are computed are linked to rotation angles about the Z axis of the reference frame (ECI).
Quick definitions (used for input and output):
- The right ascension (ra) is the rotation angle around the Z axis from the inertial reference axis (X axis of ECI).
- The longitude (lon) is the rotation angle around the Z axis from the Greenwich meridian.
- The sidereal time (sidt) is the rotation angle around the Z axis between the inertial reference axis (X axis of ECI) and the Greenwich meridian.
- The true solar angle (tsa) is the rotation angle from the projection of the Sun direction onto the equatorial plane (X-Y plane).
- The mean solar angle (msa) is the "mean" value of the true solar angle, that is the rotation angle from a fictitious "mean" direction of the Sun that is rotating uniformly in the equator (i.e. unaffected by the equation of time).
- The true local hour (tlh) is the true local time expressed in hours and is defined as the true solar angle increased by pi and expressed in hours ([0h,24h[ for tlh corresponds to [-pi,pi[ for tsa). See formulas below.
- The mean local hour (mlh) is the mean local time expressed in hours and is defined as the mean solar angle increased by pi and expressed in hours ([0h,24h[ for mlh corresponds to [-pi,pi[ for msa). See formulas below.
We also define (output only):
- The right ascension of the "true" Sun direction (stra).
- The right ascension of the "mean" Sun direction (smra).
The relations between the different parameters are as follows:
ra = lon + sidt
tsa = ra - stra
msa = ra - smra
smra = sidt - 2*pi*decimal(t) + pi
tlh = tsa * 12/pi + 12
mlh = msa * 12/pi + 12
where:
- t is the number of days from some origin at 00h00 (UT);
- decimal(t) = t - floor(t) (decimal part of the number of days).
The type and number of output arguments depend on "type_par_out":
- If type_par_out is a (row) vector of strings, the number of output arguments must be equal to the size of type_par_out (and they are returned in the requested order).
- If type_par_out is 'all', only one output argument is returned in a structure. The field names are: ra, lon, tsa, msa, tlh, mlh, sidt, stra, smra.
Notes:
- The function is only valid for the Earth.
- The inertial axis (origin for right ascensions or sidereal time) is the x-axis of the ECI reference frame. (See Reference frames for more details).
- Conversions are performed assuming a common polar (Z) axis for the inertial (ECI) and terrestrial (ECF) reference frames.
- Some output quantities do not depend on all the inputs. Examples:
lon = CL_op_locTime(cjd, 'lon', 0, 'lon') => cjd should not be necessary (but it is used in practice!)
sidt = CL_op_locTime(cjd, 'lon', 0, 'sidt') => the result does not depend on 'lon'!
- The computations are valid for locations at any latitude.
Modified (1950.0) Julian date (Time scale: TREF) (1xN or 1x1)
(string) Name of the input parameter: 'lon', 'ra', 'tsa', 'tlh', 'msa' or 'mlh' (1x1)
Value of input parameter. Radians for lon, ra, msa, tsa. Hours for mlh and tlh. (1xN or 1x1).
(string) Name(s) of output parameter(s): 'lon', 'ra', 'tsa', 'tlh', 'msa', 'mlh', 'sidt', 'stra', 'smra', or a vector of any of these, or 'all'. (1xM)
(optional) UT1-TREF [seconds]. Default is %CL_UT1_TREF (1xN or 1x1)
(optional) TT-TREF [seconds]. Default is %CL_TT_TREF. (1xN or 1x1)
Value(s) of output parameter(s). See description for more details.
CNES - DCT/SB