the fundamental inertial frame for the ephemeris (i.e., J2000).
Constructor for a icrf_frame
Note
the et
doesn't matter for inertial frames
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(celestial_body), | intent(in) | :: | b |
the central body |
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 ICRF <-> ICRF
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(icrf_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(inertial_frame_class),public :: icrf_frame !! the fundamental inertial frame !! for the ephemeris (i.e., J2000). contains procedure :: get_c_cdot => get_c_cdot_icrf end type icrf_frame