helio Subroutine

private pure subroutine helio(np, jd, p, itbl)

For planet np and julian date jd and using using table itbl, return j2000 ecliptic position (au) and velocity (au/yr). in cartesian coordinates (p(1)-p(6)).

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: np

planet 1-9

real(kind=wp), intent(in) :: jd

julian date

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

position (au)/velocity (au/yr)

integer, intent(out) :: itbl

table used or error if zero


Calls

proc~~helio~~CallsGraph proc~helio standish_module::helio proc~calcelements standish_module::calcelements proc~helio->proc~calcelements proc~el2op standish_module::el2op proc~helio->proc~el2op proc~op2ec standish_module::op2ec proc~helio->proc~op2ec proc~tbl standish_module::tbl proc~helio->proc~tbl proc~kepler standish_module::kepler proc~calcelements->proc~kepler

Called by

proc~~helio~~CalledByGraph proc~helio standish_module::helio proc~standish_module_test standish_module::standish_module_test proc~standish_module_test->proc~helio proc~standish_rv_func standish_module::standish_ephemeris%standish_rv_func proc~standish_module_test->proc~standish_rv_func proc~standish_rv_func->proc~helio

Source Code

    pure subroutine helio (np, jd, p, itbl)

    implicit none

    integer, intent (in) :: np      !! planet 1-9
    real(wp), intent (in) :: jd     !! julian date
    real(wp), dimension(6), intent(out) :: p !! position (au)/velocity (au/yr)
    integer, intent (out) :: itbl   !! table used or error if zero

    real(wp),dimension(8) :: z  !! elements [a, e, i, l, w, o, ma, ea]
    real(wp),dimension(8) :: po

    z = zero
    po = zero
    itbl = tbl (jd)
    if (itbl > 0) then
        call calcelements (np, jd, itbl, z)
        call el2op (z, po)
        call op2ec (z, po, p)
    end if

    end subroutine helio