populate_body_eph Subroutine

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

populate the f array with the ephemeris data

Type Bound

body_eph

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


Calls

proc~~populate_body_eph~~CallsGraph proc~populate_body_eph body_eph%populate_body_eph get_rv get_rv proc~populate_body_eph->get_rv

Called by

proc~~populate_body_eph~~CalledByGraph proc~populate_body_eph body_eph%populate_body_eph proc~initialize_globals jpl_ephemeris_splined%initialize_globals proc~initialize_globals->proc~populate_body_eph proc~initialize_splinded_ephemeris jpl_ephemeris_splined%initialize_splinded_ephemeris proc~initialize_splinded_ephemeris->proc~initialize_globals

Source Code

    subroutine populate_body_eph(me,eph,et,targ,obs,i)
        !! populate the `f` array with the ephemeris data
        class(body_eph),intent(inout)   :: me
        type(jpl_ephemeris),intent(inout) :: eph
        real(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
        logical :: status_ok
        call eph%get_rv(et,targ,obs,me%f(i,:),status_ok)
        if (.not. status_ok) error stop 'eph error'
    end subroutine populate_body_eph