from_j2000moon_to_j2000ssb Subroutine

public subroutine from_j2000moon_to_j2000ssb(eph, et, rv_moon, rv_ssb)

convert from a j2000-moon frame to a j2000-ssb frame.

Arguments

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

ephemeris time (sec)

real(kind=wp), intent(in), dimension(6) :: rv_moon

j2000-moon state (km, km/s)

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

j2000-ssb state (km, km/s)


Calls

proc~~from_j2000moon_to_j2000ssb~~CallsGraph proc~from_j2000moon_to_j2000ssb from_j2000moon_to_j2000ssb icrf_frame icrf_frame proc~from_j2000moon_to_j2000ssb->icrf_frame transform transform proc~from_j2000moon_to_j2000ssb->transform

Called by

proc~~from_j2000moon_to_j2000ssb~~CalledByGraph proc~from_j2000moon_to_j2000ssb from_j2000moon_to_j2000ssb proc~get_sun_fraction get_sun_fraction proc~get_sun_fraction->proc~from_j2000moon_to_j2000ssb proc~generate_eclipse_data mission_type%generate_eclipse_data proc~generate_eclipse_data->proc~get_sun_fraction proc~halo_solver_main halo_solver_main proc~halo_solver_main->proc~generate_eclipse_data

Source Code

    subroutine from_j2000moon_to_j2000ssb(eph, et, rv_moon, rv_ssb)

        !! convert from a j2000-moon frame to a j2000-ssb frame.

        class(jpl_ephemeris),intent(inout) :: eph
        real(wp),intent(in) :: et !! ephemeris time (sec)
        real(wp),dimension(6),intent(in) :: rv_moon !! j2000-moon state (km, km/s)
        real(wp),dimension(6),intent(out) :: rv_ssb !! j2000-ssb state (km, km/s)

        type(icrf_frame) :: f1, f2
        logical :: status_ok

        f1 = icrf_frame(b=body_moon)
        f2 = icrf_frame(b=body_ssb)
        call f1%transform(rv_moon,f2,et,eph,rv_ssb,status_ok) ! from f1 to f2
        if (.not. status_ok) error stop 'transformation error in from_j2000moon_to_j2000ssb'

    end subroutine from_j2000moon_to_j2000ssb