body_eph Derived Type

type, private :: body_eph


Inherited by

type~~body_eph~~InheritedByGraph type~body_eph body_eph type~body_eph_interface body_eph_interface type~body_eph_interface->type~body_eph eph type~jpl_ephemeris_splined jpl_ephemeris_splined type~jpl_ephemeris_splined->type~body_eph_interface earth_eph_interface, sun_eph_interface, ssb_eph_interface, jupiter_eph_interface

Components

Type Visibility Attributes Name Initial
integer, public :: id = 0
real(kind=wp), public, dimension(:,:), allocatable :: f

function evals. not needed once the spline has been computed

real(kind=wp), public, dimension(:,:), allocatable :: tx
real(kind=wp), public, dimension(:,:), allocatable :: bcoef
integer, public :: nx = 0

Type-Bound Procedures

procedure, public :: destroy => destroy_body_eph

  • private subroutine destroy_body_eph(me)

    Arguments

    Type IntentOptional Attributes Name
    class(body_eph), intent(out) :: me

procedure, public :: allocate => allocate_body_eph

  • private subroutine allocate_body_eph(me, nx, kx)

    Arguments

    Type IntentOptional Attributes Name
    class(body_eph), intent(inout) :: me
    integer, intent(in) :: nx
    integer, intent(in) :: kx

procedure, public :: populate => populate_body_eph

  • private subroutine populate_body_eph(me, eph, et, targ, obs, i)

    populate the f array with the ephemeris data

    Arguments

    Type IntentOptional Attributes Name
    class(body_eph), intent(inout) :: me
    type(jpl_ephemeris), intent(inout) :: eph
    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

    integer, intent(in) :: i

    index in the ephemeris

procedure, public :: spline => spline_body_eph

  • private subroutine spline_body_eph(me, et_vec, i)

    Arguments

    Type IntentOptional Attributes Name
    class(body_eph), intent(inout) :: me
    real(kind=wp), intent(in), dimension(:) :: et_vec

    ephemeris time vector [sec]

    integer, intent(in) :: i

    state element index (1-6)

Source Code

        type :: body_eph
            integer :: id = 0
            real(wp),dimension(:,:),allocatable :: f !! function evals. not needed once the spline has been computed
            real(wp),dimension(:,:),allocatable :: tx
            real(wp),dimension(:,:),allocatable :: bcoef
            integer :: nx = 0
            contains
            procedure,public :: destroy => destroy_body_eph
            procedure,public :: allocate => allocate_body_eph
            procedure,public :: populate => populate_body_eph
            procedure,public :: spline   => spline_body_eph
        end type body_eph