APCG13 Subroutine

public subroutine APCG13(date1, date2, astrom)

For a geocentric observer, prepare star-independent astrometry parameters for transformations between ICRS and GCRS coordinates. The caller supplies the date, and SOFA models are used to predict the Earth ephemeris.

The parameters produced by this routine are required in the parallax, light deflection and aberration parts of the astrometric transformation chain.

Status: support routine.

Notes

  1. The TDB date DATE1+DATE2 is a Julian Date, apportioned in any convenient way between the two arguments. For example, JD(TDB)=2450123.7 could be expressed in any of these ways, among others:

        DATE1          DATE2
    
     2450123.7D0        0D0        (JD method)
      2451545D0      -1421.3D0     (J2000 method)
     2400000.5D0     50123.2D0     (MJD method)
     2450123.5D0       0.2D0       (date & time method)
    

    The JD method is the most natural and convenient to use in cases where the loss of several decimal digits of resolution is acceptable. The J2000 method is best matched to the way the argument is handled internally and will deliver the optimum resolution. The MJD method and the date & time methods are both good compromises between resolution and convenience. For most applications of this routine the choice will not be at all critical.

    TT can be used instead of TDB without any significant impact on accuracy.

  2. All the vectors are with respect to BCRS axes.

  3. In cases where the caller wishes to supply his own Earth ephemeris, the routine APCG can be used instead of the present routine.

  4. This is one of several routines that inserts into the ASTROM array star-independent parameters needed for the chain of astrometric transformations ICRS <-> GCRS <-> CIRS <-> observed.

    The various routines support different classes of observer and portions of the transformation chain:

        routines           observer        transformation
    
    APCG APCG13    geocentric      ICRS <-> GCRS
    APCI APCI13    terrestrial     ICRS <-> CIRS
    APCO APCO13    terrestrial     ICRS <-> observed
    APCS APCS13    space           ICRS <-> GCRS
    APER APER13    terrestrial     update Earth rotation
    APIO APIO13    terrestrial     CIRS <-> observed
    

    Those with names ending in "13" use contemporary SOFA models to compute the various ephemerides. The others accept ephemerides supplied by the caller.

    The transformation from ICRS to GCRS covers space motion, parallax, light deflection, and aberration. From GCRS to CIRS comprises frame bias and precession-nutation. From CIRS to observed takes account of Earth rotation, polar motion, diurnal aberration and parallax (unless subsumed into the ICRS <-> GCRS transformation), and atmospheric refraction.

  5. The context array ASTROM produced by this routine is used by ATCIQ and ATICQ.

History

  • IAU SOFA revision: 2017 March 12

Arguments

TypeIntentOptionalAttributesName
real(kind=wp), intent(in) :: date1

TDB as a 2-part...

real(kind=wp), intent(in) :: date2
real(kind=wp), intent(inout), dimension(30):: astrom

star-independent astrometry parameters:

(1) PM time interval (SSB, Julian years) (2-4) SSB to observer (vector, au) (5-7) Sun to observer (unit vector) (8) distance from Sun to observer (au) (9-11) v: barycentric observer velocity (vector, c) (12) sqrt(1-|v|^2): reciprocal of Lorenz factor (13-21) bias-precession-nutation matrix (22) unchanged (23) unchanged (24) unchanged (25) unchanged (26) unchanged (27) unchanged (28) unchanged (29) unchanged (30) unchanged


Calls

proc~~apcg13~~CallsGraph proc~apcg13 APCG13 proc~epv00 EPV00 proc~apcg13->proc~epv00 proc~apcg APCG proc~apcg13->proc~apcg proc~zpv ZPV proc~apcg->proc~zpv proc~apcs APCS proc~apcg->proc~apcs proc~zp ZP proc~zpv->proc~zp proc~ir IR proc~apcs->proc~ir proc~pn PN proc~apcs->proc~pn proc~pn->proc~zp proc~sxp SXP proc~pn->proc~sxp

Contents

Source Code


Source Code

    subroutine APCG13 ( date1, date2, astrom )

    implicit none

    real(wp),intent(in) :: date1 !! TDB as a 2-part...
    real(wp),intent(in) :: date2 !! ...Julian Date (Note 1)
    real(wp),dimension(30),intent(inout) :: astrom !! star-independent astrometry parameters:
                                                   !!
                                                   !! (1)      PM time interval (SSB, Julian years)
                                                   !! (2-4)    SSB to observer (vector, au)
                                                   !! (5-7)    Sun to observer (unit vector)
                                                   !! (8)      distance from Sun to observer (au)
                                                   !! (9-11)   v: barycentric observer velocity (vector, c)
                                                   !! (12)     sqrt(1-|v|^2): reciprocal of Lorenz factor
                                                   !! (13-21)  bias-precession-nutation matrix
                                                   !! (22)     unchanged
                                                   !! (23)     unchanged
                                                   !! (24)     unchanged
                                                   !! (25)     unchanged
                                                   !! (26)     unchanged
                                                   !! (27)     unchanged
                                                   !! (28)     unchanged
                                                   !! (29)     unchanged
                                                   !! (30)     unchanged

    integer :: j
    real(wp) :: ehpv(3,2), ebpv(3,2)

    !  Earth barycentric & heliocentric position/velocity (au, au/d).
    call EPV00 ( date1, date2, ehpv, ebpv, j )

    !  Compute the star-independent astrometry parameters.
    call APCG ( date1, date2, ebpv, ehpv, astrom )

    end subroutine APCG13