IAU Moon frame
Constructor for a iau_moon_rotating_frame
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(celestial_body), | intent(in) | :: | b |
the central body |
||
| real(kind=wp), | intent(in) | :: | et |
epoch at which the frame is defined [sec] |
coordinate transformation routine
Transform a Cartesian state from one reference frame to another at
a specified epoch. The from and to reference_frames may each
be defined at a different epoch. The et ephemeris time is the time
the transformation is to be done, and accounts for the motion of the two
frame centers from from%et and to%et to et.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(reference_frame), | intent(inout) | :: | from | |||
| real(kind=wp), | intent(in), | dimension(6) | :: | rv | ||
| class(reference_frame), | intent(inout) | :: | to | |||
| real(kind=wp), | intent(in) | :: | et |
the time of the transformation [sec] |
||
| class(ephemeris_class), | intent(inout) | :: | eph |
for ephemeris computations (assumed to have already been initialized) |
||
| real(kind=wp), | intent(out), | dimension(6) | :: | rv_out | ||
| logical, | intent(out) | :: | status_ok |
rotation matrix for IAU_MOON <-> ICRF
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(iau_moon_rotating_frame), | intent(inout) | :: | me | |||
| class(ephemeris_class), | intent(inout) | :: | eph |
for ephemeris computations (assumed to have already been initialized) |
||
| logical, | intent(in) | :: | to_icrf | |||
| real(kind=wp), | intent(out), | dimension(3,3) | :: | c | ||
| real(kind=wp), | intent(out), | optional, | dimension(3,3) | :: | cdot | |
| logical, | intent(out) | :: | status_ok |
type,extends(iau_rotating_frame_class),public :: iau_moon_rotating_frame !! IAU Moon frame contains procedure :: get_c_cdot => get_c_cdot_iau_moon end type iau_moon_rotating_frame