inertial_frame_class Derived Type

type, public, extends(reference_frame) :: inertial_frame_class

a non-rotating frame (a frame where the orientation axes are time invariant)


Inherits

type~~inertial_frame_class~~InheritsGraph type~inertial_frame_class inertial_frame_class type~reference_frame reference_frame type~inertial_frame_class->type~reference_frame type~celestial_body celestial_body type~reference_frame->type~celestial_body primary_body type~base_class base_class type~celestial_body->type~base_class

Inherited by

type~~inertial_frame_class~~InheritedByGraph type~inertial_frame_class inertial_frame_class type~ecliptic_frame ecliptic_frame type~ecliptic_frame->type~inertial_frame_class type~icrf_frame icrf_frame type~icrf_frame->type~inertial_frame_class

Type-Bound Procedures

procedure, public, pass(from) :: transform

coordinate transformation routine

  • private subroutine transform(from, rv, to, et, eph, rv_out, status_ok)

    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.

    Arguments

    Type IntentOptional 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

Source Code

    type,abstract,extends(reference_frame),public :: inertial_frame_class
        !! a non-rotating frame (a frame where the orientation axes are time invariant)
    end type inertial_frame_class