get_rv Function

private function get_rv(me, et) result(rv)

Type Bound

body_eph_interface

Arguments

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

ephemeris time (sec)

Return Value real(kind=wp), dimension(6)

position/velocity vector


Calls

proc~~get_rv~~CallsGraph proc~get_rv body_eph_interface%get_rv db1val db1val proc~get_rv->db1val

Called by

proc~~get_rv~~CalledByGraph proc~get_rv body_eph_interface%get_rv proc~get_rv_splined jpl_ephemeris_splined%get_rv_splined proc~get_rv_splined->proc~get_rv

Source Code

    function get_rv(me,et) result(rv)

        class(body_eph_interface),intent(inout) :: me
        real(wp),intent(in) :: et !! ephemeris time (sec)
        real(wp),dimension(6) :: rv !! position/velocity vector

        integer :: iflag, i

        do i = 1, 6
            call db1val(et, 0, me%eph%tx(:,i), me%eph%nx, kx, me%eph%bcoef(:,i), rv(i), iflag, &
                        me%inbvx, me%w0, extrap=.false.)
            if (iflag /= 0) then
                write(*,*) 'et    = ', et
                write(*,*) 'iflag = ', iflag
                error stop 'error calling get_rv'
            end if
        end do

    end function get_rv