ephemeris_class Derived Type

type, public :: ephemeris_class

abstract class for interfacing with ephemeris systems.


Inherited by

type~~ephemeris_class~~InheritedByGraph type~ephemeris_class ephemeris_class type~jpl_ephemeris jpl_ephemeris type~jpl_ephemeris->type~ephemeris_class type~spice_ephemeris spice_ephemeris type~spice_ephemeris->type~ephemeris_class type~standish_ephemeris standish_ephemeris type~standish_ephemeris->type~ephemeris_class

Type-Bound Procedures

procedure(rv_func), public, deferred :: get_rv

get the state of one body w.r.t. another body.

  • subroutine rv_func(me, et, targ, obs, rv, status_ok) Prototype

    function to return the state of the targ body relative to the obs body, in the inertial frame [ICRF].

    Arguments

    Type IntentOptional Attributes Name
    class(ephemeris_class), intent(inout) :: me
    real(kind=wp), intent(in) :: et

    ephemeris time [sec]

    type(celestial_body), intent(in) :: targ

    target body

    type(celestial_body), intent(in) :: obs

    observer body

    real(kind=wp), intent(out), dimension(6) :: rv

    state of targ w.r.t. obs

    logical, intent(out) :: status_ok

    true if there were no problems

Source Code

    type,abstract,public :: ephemeris_class
        !! abstract class for interfacing with ephemeris systems.
        private
    contains
        private
        procedure(rv_func),deferred,public :: get_rv  !! get the state of one body w.r.t. another body.
    end type ephemeris_class