icrf_to_iau_earth Function

public pure function icrf_to_iau_earth(et) result(rotmat)

Rotation matrix from ICRF to IAU_EARTH.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: et

ephemeris time [sec]

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

the rotation matrix


Calls

proc~~icrf_to_iau_earth~~CallsGraph proc~icrf_to_iau_earth iau_orientation_module::icrf_to_iau_earth proc~iau_rotation_matrix iau_orientation_module::iau_rotation_matrix proc~icrf_to_iau_earth->proc~iau_rotation_matrix proc~rotation_matrix vector_module::rotation_matrix proc~iau_rotation_matrix->proc~rotation_matrix

Called by

proc~~icrf_to_iau_earth~~CalledByGraph proc~icrf_to_iau_earth iau_orientation_module::icrf_to_iau_earth proc~get_c_cdot_iau_earth transformation_module::iau_earth_rotating_frame%get_c_cdot_iau_earth proc~get_c_cdot_iau_earth->proc~icrf_to_iau_earth proc~iau_test iau_orientation_module::iau_test proc~iau_test->proc~icrf_to_iau_earth

Source Code

    pure function icrf_to_iau_earth(et) result(rotmat)

    implicit none

    real(wp),intent(in)     :: et        !! ephemeris time [sec]
    real(wp),dimension(3,3) :: rotmat    !! the rotation matrix

    real(wp) :: w,dec,ra,d,t

    d = et * sec2day     !interval in days from the J2000 epoch
    t = et * sec2century !interval in Julian centuries (36525 days) from the J2000 epoch

    ra  = (         - 0.641_wp * t          ) * deg2rad
    dec = ( 90.0_wp - 0.557_wp * t          ) * deg2rad
    w   = ( 190.147_wp + 360.9856235_wp * d ) * deg2rad

    rotmat = iau_rotation_matrix(w,dec,ra)

    end function icrf_to_iau_earth