Files
SOFA_Lib/20200721/c/doc/sofa_lib.lis
Francois NGUYEN 3121254bf4 Initial commit
2020-08-12 20:03:56 +02:00

752 lines
32 KiB
Plaintext

sofa_lib.lis 2018 December 7
----------------------
SOFA Astronomy Library
----------------------
PREFACE
The routines described here comprise the SOFA astronomy library. Their
general appearance and coding style conforms to conventions agreed by
the SOFA Board, and their functions, names and algorithms have been
ratified by the Board. Procedures for soliciting and agreeing additions
to the library are still evolving.
PROGRAMMING LANGUAGES
The SOFA routines are available in two programming languages at present:
Fortran 77 and ANSI C.
Except for a single obsolete Fortran routine, which has no C equivalent,
there is a one-to-one relationship between the two language versions.
The naming convention is such that a SOFA routine referred to
generically as "EXAMPL" exists as a Fortran subprogram iau_EXAMPL and a
C function iauExampl. The calls for the two versions are very similar,
with the same arguments in the same order. In a few cases, the C
equivalent of a Fortran SUBROUTINE subprogram uses a return value rather
than an argument.
GENERAL PRINCIPLES
The principal function of the SOFA Astronomy Library is to provide
definitive algorithms. A secondary function is to provide software
suitable for convenient direct use by writers of astronomical
applications.
The astronomy routines call on the SOFA vector/matrix library routines,
which are separately listed.
The routines are designed to exploit the full floating-point accuracy
of the machines on which they run, and not to rely on compiler
optimizations. Within these constraints, the intention is that the code
corresponds to the published formulation (if any).
Dates are always Julian Dates (except in calendar conversion routines)
and are expressed as two double precision numbers which sum to the
required value.
A distinction is made between routines that implement IAU-approved
models and those that use those models to create other results. The
former are referred to as "canonical models" in the preamble comments;
the latter are described as "support routines".
Using the library requires knowledge of positional astronomy and
time-scales. These topics are covered in "Explanatory Supplement to the
Astronomical Almanac", 3rd Edition, Sean E. Urban &
P. Kenneth Seidelmann (eds.), University Science Books, 2013. Recent
developments are documented in the scientific journals, and references
to the relevant papers are given in the SOFA code as required. The IERS
Conventions are also an essential reference. The routines concerned
with Earth attitude (precession-nutation etc.) are described in the SOFA
document sofa_pn.pdf. Those concerned with transformations between
different time scales are described in sofa_ts_f.pdf (Fortran) and
sofa_ts_c.pdf (C). Those concerned with astrometric transformations
are described in sofa_ast_f.pdf (Fortran) and sofa_ast_c (C).
ROUTINES
Calendars
CAL2JD Gregorian calendar to Julian Day number
EPB Julian Date to Besselian Epoch
EPB2JD Besselian Epoch to Julian Date
EPJ Julian Date to Julian Epoch
EPJ2JD Julian Epoch to Julian Date
JD2CAL Julian Date to Gregorian year, month, day, fraction
JDCALF Julian Date to Gregorian date for formatted output
Astrometry
AB apply stellar aberration
APCG prepare for ICRS <-> GCRS, geocentric, special
APCG13 prepare for ICRS <-> GCRS, geocentric
APCI prepare for ICRS <-> CIRS, terrestrial, special
APCI13 prepare for ICRS <-> CIRS, terrestrial
APCO prepare for ICRS <-> observed, terrestrial, special
APCO13 prepare for ICRS <-> observed, terrestrial
APCS prepare for ICRS <-> CIRS, space, special
APCS13 prepare for ICRS <-> CIRS, space
APER insert ERA into context
APER13 update context for Earth rotation
APIO prepare for CIRS <-> observed, terrestrial, special
APIO13 prepare for CIRS <-> observed, terrestrial
ATCI13 catalog -> CIRS
ATCIQ quick ICRS -> CIRS
ATCIQN quick ICRS -> CIRS, multiple deflections
ATCIQZ quick astrometric ICRS -> CIRS
ATCO13 ICRS -> observed
ATIC13 CIRS -> ICRS
ATICQ quick CIRS -> ICRS
ATCIQN quick CIRS -> ICRS, multiple deflections
ATIO13 CIRS -> observed
ATIOQ quick CIRS -> observed
ATOC13 observed -> astrometric ICRS
ATOI13 observed -> CIRS
ATOIQ quick observed -> CIRS
LD light deflection by a single solar-system body
LDN light deflection by multiple solar-system bodies
LDSUN light deflection by the Sun
PMPX apply proper motion and parallax
PMSAFE apply proper motion, with zero-parallax precautions
PVTOB observatory position and velocity
PVSTAR space motion pv-vector to star catalog data
REFCO refraction constants
STARPM apply proper motion
STARPV star catalog data to space motion pv-vector
Time scales
D2DTF format 2-part JD for output
DAT Delta(AT) (=TAI-UTC) for a given UTC date
DTDB TDB-TT
DTF2D encode time and date fields into 2-part JD
TAITT TAI to TT
TAIUT1 TAI to UT1
TAIUTC TAI to UTC
TCBTDB TCB to TDB
TCGTT TCG to TT
TDBTCB TDB to TCB
TDBTT TDB to TT
TTTAI TT to TAI
TTTCG TT to TCG
TTTDB TT to TDB
TTUT1 TT to UT1
UT1TAI UT1 to TAI
UT1TT UT1 to TT
UT1UTC UT1 to UTC
UTCTAI UTC to TAI
UTCUT1 UTC to UT1
Earth rotation angle and sidereal time
EE00 equation of the equinoxes, IAU 2000
EE00A equation of the equinoxes, IAU 2000A
EE00B equation of the equinoxes, IAU 2000B
EE06A equation of the equinoxes, IAU 2006/2000A
EECT00 equation of the equinoxes complementary terms, IAU 2000
EQEQ94 equation of the equinoxes, IAU 1994
ERA00 Earth rotation angle, IAU 2000
GMST00 Greenwich mean sidereal time, IAU 2000
GMST06 Greenwich mean sidereal time, IAU 2006
GMST82 Greenwich mean sidereal time, IAU 1982
GST00A Greenwich apparent sidereal time, IAU 2000A
GST00B Greenwich apparent sidereal time, IAU 2000B
GST06 Greenwich apparent ST, IAU 2006, given NPB matrix
GST06A Greenwich apparent sidereal time, IAU 2006/2000A
GST94 Greenwich apparent sidereal time, IAU 1994
Ephemerides (limited precision)
EPV00 Earth position and velocity
PLAN94 major-planet position and velocity
Precession, nutation, polar motion
BI00 frame bias components, IAU 2000
BP00 frame bias and precession matrices, IAU 2000
BP06 frame bias and precession matrices, IAU 2006
BPN2XY extract CIP X,Y coordinates from NPB matrix
C2I00A celestial-to-intermediate matrix, IAU 2000A
C2I00B celestial-to-intermediate matrix, IAU 2000B
C2I06A celestial-to-intermediate matrix, IAU 2006/2000A
C2IBPN celestial-to-intermediate matrix, given NPB matrix, IAU 2000
C2IXY celestial-to-intermediate matrix, given X,Y, IAU 2000
C2IXYS celestial-to-intermediate matrix, given X,Y and s
C2T00A celestial-to-terrestrial matrix, IAU 2000A
C2T00B celestial-to-terrestrial matrix, IAU 2000B
C2T06A celestial-to-terrestrial matrix, IAU 2006/2000A
C2TCIO form CIO-based celestial-to-terrestrial matrix
C2TEQX form equinox-based celestial-to-terrestrial matrix
C2TPE celestial-to-terrestrial matrix given nutation, IAU 2000
C2TXY celestial-to-terrestrial matrix given CIP, IAU 2000
EO06A equation of the origins, IAU 2006/2000A
EORS equation of the origins, given NPB matrix and s
FW2M Fukushima-Williams angles to r-matrix
FW2XY Fukushima-Williams angles to X,Y
LTP long-term precession matrix
LTPB long-term precession matrix, including ICRS frame bias
LTPECL long-term precession of the ecliptic
LTPEQU long-term precession of the equator
NUM00A nutation matrix, IAU 2000A
NUM00B nutation matrix, IAU 2000B
NUM06A nutation matrix, IAU 2006/2000A
NUMAT form nutation matrix
NUT00A nutation, IAU 2000A
NUT00B nutation, IAU 2000B
NUT06A nutation, IAU 2006/2000A
NUT80 nutation, IAU 1980
NUTM80 nutation matrix, IAU 1980
OBL06 mean obliquity, IAU 2006
OBL80 mean obliquity, IAU 1980
PB06 zeta,z,theta precession angles, IAU 2006, including bias
PFW06 bias-precession Fukushima-Williams angles, IAU 2006
PMAT00 precession matrix (including frame bias), IAU 2000
PMAT06 PB matrix, IAU 2006
PMAT76 precession matrix, IAU 1976
PN00 bias/precession/nutation results, IAU 2000
PN00A bias/precession/nutation, IAU 2000A
PN00B bias/precession/nutation, IAU 2000B
PN06 bias/precession/nutation results, IAU 2006
PN06A bias/precession/nutation results, IAU 2006/2000A
PNM00A classical NPB matrix, IAU 2000A
PNM00B classical NPB matrix, IAU 2000B
PNM06A classical NPB matrix, IAU 2006/2000A
PNM80 precession/nutation matrix, IAU 1976/1980
P06E precession angles, IAU 2006, equinox based
POM00 polar motion matrix
PR00 IAU 2000 precession adjustments
PREC76 accumulated precession angles, IAU 1976
S00 the CIO locator s, given X,Y, IAU 2000A
S00A the CIO locator s, IAU 2000A
S00B the CIO locator s, IAU 2000B
S06 the CIO locator s, given X,Y, IAU 2006
S06A the CIO locator s, IAU 2006/2000A
SP00 the TIO locator s', IERS 2003
XY06 CIP, IAU 2006/2000A, from series
XYS00A CIP and s, IAU 2000A
XYS00B CIP and s, IAU 2000B
XYS06A CIP and s, IAU 2006/2000A
Fundamental arguments for nutation etc.
FAD03 mean elongation of the Moon from the Sun
FAE03 mean longitude of Earth
FAF03 mean argument of the latitude of the Moon
FAJU03 mean longitude of Jupiter
FAL03 mean anomaly of the Moon
FALP03 mean anomaly of the Sun
FAMA03 mean longitude of Mars
FAME03 mean longitude of Mercury
FANE03 mean longitude of Neptune
FAOM03 mean longitude of the Moon's ascending node
FAPA03 general accumulated precession in longitude
FASA03 mean longitude of Saturn
FAUR03 mean longitude of Uranus
FAVE03 mean longitude of Venus
Star catalog conversions
FK52H transform FK5 star data into the Hipparcos system
FK5HIP FK5 to Hipparcos rotation and spin
FK5HZ FK5 to Hipparcos assuming zero Hipparcos proper motion
H2FK5 transform Hipparcos star data into the FK5 system
HFK5Z Hipparcos to FK5 assuming zero Hipparcos proper motion
FK425 transform FK4 star data into FK5
FK45Z FK4 to FK5 assuming zero FK5 proper motion
FK524 transform FK5 star data into FK4
FK54Z FK5 to FK4 assuming zero FK5 proper motion
Ecliptic coordinates
ECEQ06 ecliptic to ICRS, IAU 2006
ECM06 rotation matrix, ICRS to ecliptic, IAU 2006
EQEC06 ICRS to ecliptic, IAU 2006
LTECEQ ecliptic to ICRS, long term
LTECM rotation matrix, ICRS to ecliptic, long-term
LTEQEC ICRS to ecliptic, long term
Galactic coordinates
G2ICRS transform IAU 1958 galactic coordinates to ICRS
ICRS2G transform ICRS coordinates to IAU 1958 Galactic
Geodetic/geocentric
EFORM a,f for a nominated Earth reference ellipsoid
GC2GD geocentric to geodetic for a nominated ellipsoid
GC2GDE geocentric to geodetic given ellipsoid a,f
GD2GC geodetic to geocentric for a nominated ellipsoid
GD2GCE geodetic to geocentric given ellipsoid a,f
Gnomonic projection
TPORS solve for tangent point, spherical
TPORV solve for tangent point, vector
TPSTS deproject tangent plane to celestial, spherical
TPSTV deproject tangent plane to celestial, vector
TPXES project celestial to tangent plane, spherical
TPXEV project celestial to tangent plane, vector
Horizon/equatorial
AE2HD (azimuth, altitude) to (hour angle, declination)
HD2AE (hour angle, declination) to (azimuth, altitude)
HD2PA parallactic angle
Obsolete
C2TCEO former name of C2TCIO
CALLS: FORTRAN VERSION
CALL iau_AB ( PNAT, V, S, BM1, PPR )
CALL iau_AE2HD ( AZ, EL, PHI, HA, DEC )
CALL iau_APCG ( DATE1, DATE2, EB, EH, ASTROM )
CALL iau_APCG13 ( DATE1, DATE2, ASTROM )
CALL iau_APCI ( DATE1, DATE2, EB, EH, X, Y, S, ASTROM )
CALL iau_APCI13 ( DATE1, DATE2, ASTROM, EO )
CALL iau_APCO ( DATE1, DATE2, EB, EH, X, Y, S,
: THETA, ELONG, PHI, HM, XP, YP, SP,
: REFA, REFB, ASTROM )
CALL iau_APCO13 ( UTC1, UTC2, DUT1, ELONG, PHI, HM, XP, YP,
: PHPA, TC, RH, WL, ASTROM, EO, J )
CALL iau_APCS ( DATE1, DATE2, PV, EB, EH, ASTROM )
CALL iau_APCS13 ( DATE1, DATE2, PV, ASTROM )
CALL iau_APER ( THETA, ASTROM )
CALL iau_APER13 ( UT11, UT12, ASTROM )
CALL iau_APIO ( SP, THETA, ELONG, PHI, HM, XP, YP,
: REFA, REFB, ASTROM )
CALL iau_APIO13 ( UTC1, UTC2, DUT1, ELONG, PHI, HM, XP, YP,
: PHPA, TC, RH, WL, ASTROM, J )
CALL iau_ATCI13 ( RC, DC, PR, PD, PX, RV, DATE1, DATE2, RI, DI, EO )
CALL iau_ATCIQ ( RC, DC, PR, PD, PX, RV, ASTROM, RI, DI )
CALL iau_ATCIQN ( RC, DC, PR, PD, PX, RV, ASTROM, N, B, RI, DI )
CALL iau_ATCIQZ ( RC, DC, ASTROM, RI, DI )
CALL iau_ATCO13 ( RC, DC, PR, PD, PX, RV, UTC1, UTC2, DUT1, ELONG,
: PHI, HM, XP, YP, PHPA, TC, RH, WL,
: AOB, ZOB, HOB, DOB, ROB, EO, J )
CALL iau_ATIC13 ( RI, DI, DATE1, DATE2, RC, DC, EO )
CALL iau_ATICQ ( RI, DI, ASTROM, RC, DC )
CALL iau_ATCIQN ( RI, DI, ASTROM, N, B, RC, DC )
CALL iau_ATIO13 ( RI, DI, UTC1, UTC2, DUT1, ELONG, PHI, HM, XP, YP,
PHPA, TC, RH, WL, AOB, ZOB, HOB, DOB, ROB, J )
CALL iau_ATIOQ ( RI, DI, ASTROM, AOB, ZOB, HOB, DOB, ROB )
CALL iau_ATOC13 ( TYPE, OB1, OB2, UTC1, UTC2, DUT1,
: ELONG, PHI, HM, XP, YP, PHPA, TC, RH, WL,
: RC, DC, J )
CALL iau_ATOI13 ( TYPE, OB1, OB2, UTC1, UTC2, DUT1,
: ELONG, PHI, HM, XP, YP, PHPA, TC, RH, WL,
: RI, DI, J )
CALL iau_ATOIQ ( TYPE, OB1, OB2, ASTROM, RI, DI )
CALL iau_BI00 ( DPSIBI, DEPSBI, DRA )
CALL iau_BP00 ( DATE1, DATE2, RB, RP, RBP )
CALL iau_BP06 ( DATE1, DATE2, RB, RP, RBP )
CALL iau_BPN2XY ( RBPN, X, Y )
CALL iau_C2I00A ( DATE1, DATE2, RC2I )
CALL iau_C2I00B ( DATE1, DATE2, RC2I )
CALL iau_C2I06A ( DATE1, DATE2, RC2I )
CALL iau_C2IBPN ( DATE1, DATE2, RBPN, RC2I )
CALL iau_C2IXY ( DATE1, DATE2, X, Y, RC2I )
CALL iau_C2IXYS ( X, Y, S, RC2I )
CALL iau_C2T00A ( TTA, TTB, UTA, UTB, XP, YP, RC2T )
CALL iau_C2T00B ( TTA, TTB, UTA, UTB, XP, YP, RC2T )
CALL iau_C2T06A ( TTA, TTB, UTA, UTB, XP, YP, RC2T )
CALL iau_C2TCEO ( RC2I, ERA, RPOM, RC2T )
CALL iau_C2TCIO ( RC2I, ERA, RPOM, RC2T )
CALL iau_C2TEQX ( RBPN, GST, RPOM, RC2T )
CALL iau_C2TPE ( TTA, TTB, UTA, UTB, DPSI, DEPS, XP, YP, RC2T )
CALL iau_C2TXY ( TTA, TTB, UTA, UTB, X, Y, XP, YP, RC2T )
CALL iau_CAL2JD ( IY, IM, ID, DJM0, DJM, J )
CALL iau_D2DTF ( SCALE, NDP, D1, D2, IY, IM, ID, IHMSF, J )
CALL iau_DAT ( IY, IM, ID, FD, DELTAT, J )
D = iau_DTDB ( DATE1, DATE2, UT, ELONG, U, V )
CALL iau_DTF2D ( SCALE, IY, IM, ID, IHR, IMN, SEC, D1, D2, J )
CALL iau_ECEQ06 ( DATE1, DATE2, DL, DB, DR, DD )
CALL iau_ECM06 ( DATE1, DATE2, RM );
D = iau_EE00 ( DATE1, DATE2, EPSA, DPSI )
D = iau_EE00A ( DATE1, DATE2 )
D = iau_EE00B ( DATE1, DATE2 )
D = iau_EE06A ( DATE1, DATE2 )
D = iau_EECT00 ( DATE1, DATE2 )
CALL iau_EFORM ( N, A, F, J )
D = iau_EO06A ( DATE1, DATE2 )
D = iau_EORS ( RNPB, S )
D = iau_EPB ( DJ1, DJ2 )
CALL iau_EPB2JD ( EPB, DJM0, DJM )
D = iau_EPJ ( DJ1, DJ2 )
CALL iau_EPJ2JD ( EPJ, DJM0, DJM )
CALL iau_EPV00 ( DJ1, DJ2, PVH, PVB, J )
CALL iau_EQEC06 ( DATE1, DATE2, DR, DD, DL, DB )
D = iau_EQEQ94 ( DATE1, DATE2 )
D = iau_ERA00 ( DJ1, DJ2 )
D = iau_FAD03 ( T )
D = iau_FAE03 ( T )
D = iau_FAF03 ( T )
D = iau_FAJU03 ( T )
D = iau_FAL03 ( T )
D = iau_FALP03 ( T )
D = iau_FAMA03 ( T )
D = iau_FAME03 ( T )
D = iau_FANE03 ( T )
D = iau_FAOM03 ( T )
D = iau_FAPA03 ( T )
D = iau_FASA03 ( T )
D = iau_FAUR03 ( T )
D = iau_FAVE03 ( T )
CALL iau_FK425 ( R1950, D1950, DR1950, DD1950, P1950, V1950,
: R2000, D2000, DR2000, DD2000, P2000, V2000 )
CALL iau_FK45Z ( R1950, D1950, BEPOCH, R2000, D2000 )
CALL iau_FK524 ( R2000, D2000, DR2000, DD2000, P2000, V2000,
: R1950, D1950, DR1950, DD1950, P1950, V1950 )
CALL iau_FK52H ( R5, D5, DR5, DD5, PX5, RV5,
: RH, DH, DRH, DDH, PXH, RVH )
CALL iau_FK54Z ( R2000, D2000, BEPOCH, R1950, D1950, DR1950, DD1950 )
CALL iau_FK5HIP ( R5H, S5H )
CALL iau_FK5HZ ( R5, D5, DATE1, DATE2, RH, DH )
CALL iau_FW2M ( GAMB, PHIB, PSI, EPS, R )
CALL iau_FW2XY ( GAMB, PHIB, PSI, EPS, X, Y )
CALL iau_G2ICRS ( DL, DB, DR, DD )
CALL iau_GC2GD ( N, XYZ, ELONG, PHI, HEIGHT, J )
CALL iau_GC2GDE ( A, F, XYZ, ELONG, PHI, HEIGHT, J )
CALL iau_GD2GC ( N, ELONG, PHI, HEIGHT, XYZ, J )
CALL iau_GD2GCE ( A, F, ELONG, PHI, HEIGHT, XYZ, J )
D = iau_GMST00 ( UTA, UTB, TTA, TTB )
D = iau_GMST06 ( UTA, UTB, TTA, TTB )
D = iau_GMST82 ( UTA, UTB )
D = iau_GST00A ( UTA, UTB, TTA, TTB )
D = iau_GST00B ( UTA, UTB )
D = iau_GST06 ( UTA, UTB, TTA, TTB, RNPB )
D = iau_GST06A ( UTA, UTB, TTA, TTB )
D = iau_GST94 ( UTA, UTB )
CALL iau_H2FK5 ( RH, DH, DRH, DDH, PXH, RVH,
: R5, D5, DR5, DD5, PX5, RV5 )
CALL iau_HD2AE ( HA, DEC, PHI, AZ, EL )
D = iau_HD2PA ( HA, DEC, PHI )
CALL iau_HFK5Z ( RH, DH, DATE1, DATE2, R5, D5, DR5, DD5 )
CALL iau_ICRS2G ( DR, DD, DL, DB )
CALL iau_JD2CAL ( DJ1, DJ2, IY, IM, ID, FD, J )
CALL iau_JDCALF ( NDP, DJ1, DJ2, IYMDF, J )
CALL iau_LD ( BM, P, Q, E, EM, DLIM, P1 )
CALL iau_LDN ( N, B, OB, SC, SN )
CALL iau_LDSUN ( P, E, EM, P1 )
CALL iau_LTECEQ ( EPJ, DL, DB, DR, DD )
CALL iau_LTECM ( EPJ, RM] )
CALL iau_LTEQEC ( EPJ, DR, DD, DL, DB )
CALL iau_LTP ( EPJ, RP )
CALL iau_LTPB ( EPJ, RPB )
CALL iau_LTPECL ( EPJ, VEC )
CALL iau_LTPEQU ( EPJ, VEQ )
CALL iau_NUM00A ( DATE1, DATE2, RMATN )
CALL iau_NUM00B ( DATE1, DATE2, RMATN )
CALL iau_NUM06A ( DATE1, DATE2, RMATN )
CALL iau_NUMAT ( EPSA, DPSI, DEPS, RMATN )
CALL iau_NUT00A ( DATE1, DATE2, DPSI, DEPS )
CALL iau_NUT00B ( DATE1, DATE2, DPSI, DEPS )
CALL iau_NUT06A ( DATE1, DATE2, DPSI, DEPS )
CALL iau_NUT80 ( DATE1, DATE2, DPSI, DEPS )
CALL iau_NUTM80 ( DATE1, DATE2, RMATN )
D = iau_OBL06 ( DATE1, DATE2 )
D = iau_OBL80 ( DATE1, DATE2 )
CALL iau_PB06 ( DATE1, DATE2, BZETA, BZ, BTHETA )
CALL iau_PFW06 ( DATE1, DATE2, GAMB, PHIB, PSIB, EPSA )
CALL iau_PLAN94 ( DATE1, DATE2, NP, PV, J )
CALL iau_PMAT00 ( DATE1, DATE2, RBP )
CALL iau_PMAT06 ( DATE1, DATE2, RBP )
CALL iau_PMAT76 ( DATE1, DATE2, RMATP )
CALL iau_PMPX ( RC, DC, PR, PD, PX, RV, PMT, POB, PCO )
CALL iau_PMSAFE ( RA1, DEC1, PMR1, PMD1, PX1, RV1,
: EP1A, EP1B, EP2A, EP2B,
: RA2, DEC2, PMR2, PMD2, PX2, RV2, J )
CALL iau_PN00 ( DATE1, DATE2, DPSI, DEPS,
: EPSA, RB, RP, RBP, RN, RBPN )
CALL iau_PN00A ( DATE1, DATE2,
: DPSI, DEPS, EPSA, RB, RP, RBP, RN, RBPN )
CALL iau_PN00B ( DATE1, DATE2,
: DPSI, DEPS, EPSA, RB, RP, RBP, RN, RBPN )
CALL iau_PN06 ( DATE1, DATE2, DPSI, DEPS,
: EPSA, RB, RP, RBP, RN, RBPN )
CALL iau_PN06A ( DATE1, DATE2,
: DPSI, DEPS, RB, RP, RBP, RN, RBPN )
CALL iau_PNM00A ( DATE1, DATE2, RBPN )
CALL iau_PNM00B ( DATE1, DATE2, RBPN )
CALL iau_PNM06A ( DATE1, DATE2, RNPB )
CALL iau_PNM80 ( DATE1, DATE2, RMATPN )
CALL iau_P06E ( DATE1, DATE2,
: EPS0, PSIA, OMA, BPA, BQA, PIA, BPIA,
: EPSA, CHIA, ZA, ZETAA, THETAA, PA, GAM, PHI, PSI )
CALL iau_POM00 ( XP, YP, SP, RPOM )
CALL iau_PR00 ( DATE1, DATE2, DPSIPR, DEPSPR )
CALL iau_PREC76 ( DATE01, DATE02, DATE11, DATE12, ZETA, Z, THETA )
CALL iau_PVSTAR ( PV, RA, DEC, PMR, PMD, PX, RV, J )
CALL iau_PVTOB ( ELONG, PHI, HM, XP, YP, SP, THETA, PV )
CALL iau_REFCO ( PHPA, TC, RH, WL, REFA, REFB )
D = iau_S00 ( DATE1, DATE2, X, Y )
D = iau_S00A ( DATE1, DATE2 )
D = iau_S00B ( DATE1, DATE2 )
D = iau_S06 ( DATE1, DATE2, X, Y )
D = iau_S06A ( DATE1, DATE2 )
D = iau_SP00 ( DATE1, DATE2 )
CALL iau_STARPM ( RA1, DEC1, PMR1, PMD1, PX1, RV1,
: EP1A, EP1B, EP2A, EP2B,
: RA2, DEC2, PMR2, PMD2, PX2, RV2, J )
CALL iau_STARPV ( RA, DEC, PMR, PMD, PX, RV, PV, J )
CALL iau_TAITT ( TAI1, TAI2, TT1, TT2, J )
CALL iau_TAIUT1 ( TAI1, TAI2, DTA, UT11, UT12, J )
CALL iau_TAIUTC ( TAI1, TAI2, UTC1, UTC2, J )
CALL iau_TCBTDB ( TCB1, TCB2, TDB1, TDB2, J )
CALL iau_TCGTT ( TCG1, TCG2, TT1, TT2, J )
CALL iau_TDBTCB ( TDB1, TDB2, TCB1, TCB2, J )
CALL iau_TDBTT ( TDB1, TDB2, DTR, TT1, TT2, J )
CALL iau_TPORS ( XI, ETA, A, B, A01, B01, A02, B02, N )
CALL iau_TPORV ( XI, ETA, V, V01, V02, N )
CALL iau_TPSTS ( XI, ETA, A0, B0, A, B )
CALL iau_TPSTV ( XI, ETA, V0, V )
CALL iau_TPXES ( A, B, A0, B0, XI, ETA, J )
CALL iau_TPXEV ( V, V0, XI, ETA, J )
CALL iau_TTTAI ( TT1, TT2, TAI1, TAI2, J )
CALL iau_TTTCG ( TT1, TT2, TCG1, TCG2, J )
CALL iau_TTTDB ( TT1, TT2, DTR, TDB1, TDB2, J )
CALL iau_TTUT1 ( TT1, TT2, DT, UT11, UT12, J )
CALL iau_UT1TAI ( UT11, UT12, TAI1, TAI2, J )
CALL iau_UT1TT ( UT11, UT12, DT, TT1, TT2, J )
CALL iau_UT1UTC ( UT11, UT12, DUT, UTC1, UTC2, J )
CALL iau_UTCTAI ( UTC1, UTC2, DTA, TAI1, TAI2, J )
CALL iau_UTCUT1 ( UTC1, UTC2, DUT, UT11, UT12, J )
CALL iau_XY06 ( DATE1, DATE2, X, Y )
CALL iau_XYS00A ( DATE1, DATE2, X, Y, S )
CALL iau_XYS00B ( DATE1, DATE2, X, Y, S )
CALL iau_XYS06A ( DATE1, DATE2, X, Y, S )
CALLS: C VERSION
iauAb ( pnat, v, s, bm1, ppr );
iauAe2hd ( az, el, phi, &ha, &dec );
iauApcg ( date1, date2, eb, eh, &astrom );
iauApcg13 ( date1, date2, &astrom );
iauApci ( date1, date2, eb, eh, x, y, s, &astrom );
iauApci13 ( date1, date2, &astrom, &eo );
iauApco ( date1, date2, eb, eh, x, y, s,
theta, elong, phi, hm, xp, yp, sp,
refa, refb, &astrom );
i = iauApco13 ( utc1, utc2, dut1, elong, phi, hm, xp, yp,
phpa, tc, rh, wl, &astrom, &eo );
iauApcs ( date1, date2, pv, eb, eh, &astrom );
iauApcs13 ( date1, date2, pv, &astrom );
iauAper ( theta, &astrom );
iauAper13 ( ut11, ut12, &astrom );
iauApio ( sp, theta, elong, phi, hm, xp, yp, refa, refb,
&astrom );
i = iauApio13 ( utc1, utc2, dut1, elong, phi, hm, xp, yp,
phpa, tc, rh, wl, &astrom );
iauAtci13 ( rc, dc, pr, pd, px, rv, date1, date2,
&ri, &di, &eo );
iauAtciq ( rc, dc, pr, pd, px, rv, &astrom, &ri, &di );
iauAtciqn ( rc, dc, pr, pd, px, rv, astrom, n, b, &ri, &di );
iauAtciqz ( rc, dc, &astrom, &ri, &di );
i = iauAtco13 ( rc, dc, pr, pd, px, rv, utc1, utc2, dut1,
elong phi, hm, xp, yp, phpa, tc, rh, wl,
aob, zob, hob, dob, rob, eo );
iauAtic13 ( ri, di, date1, date2, &rc, &dc, &eo );
iauAticq ( ri, di, &astrom, &rc, &dc );
iauAtciqn ( ri, di, astrom, n, b, &rc, &dc );
i = iauAtio13 ( ri, di, utc1, utc2, dut1, elong, phi, hm, xp, yp,
phpa, tc, rh, wl, aob, zob, hob, dob, rob );
iauAtioq ( ri, di, &astrom, &aob, &zob, &hob, &dob, &rob );
i = iauAtoc13 ( type, ob1, ob2, utc1, utc2, dut1,
elong, phi, hm, xp, yp, phpa, tc, rh, wl,
&rc, &dc );
i = iauAtoi13 ( type, ob1, ob2, utc1, utc2, dut1, elong, phi, hm,
xp, yp, phpa, tc, rh, wl, &ri, &di );
iauAtoiq ( type, ob1, ob2, &astrom, &ri, &di );
iauBi00 ( &dpsibi, &depsbi, &dra );
iauBp00 ( date1, date2, rb, rp, rbp );
iauBp06 ( date1, date2, rb, rp, rbp );
iauBpn2xy ( rbpn, &x, &y );
iauC2i00a ( date1, date2, rc2i );
iauC2i00b ( date1, date2, rc2i );
iauC2i06a ( date1, date2, rc2i );
iauC2ibpn ( date1, date2, rbpn, rc2i );
iauC2ixy ( date1, date2, x, y, rc2i );
iauC2ixys ( x, y, s, rc2i );
iauC2t00a ( tta, ttb, uta, utb, xp, yp, rc2t );
iauC2t00b ( tta, ttb, uta, utb, xp, yp, rc2t );
iauC2t06a ( tta, ttb, uta, utb, xp, yp, rc2t );
iauC2tcio ( rc2i, era, rpom, rc2t );
iauC2teqx ( rbpn, gst, rpom, rc2t );
iauC2tpe ( tta, ttb, uta, utb, dpsi, deps, xp, yp, rc2t );
iauC2txy ( tta, ttb, uta, utb, x, y, xp, yp, rc2t );
i = iauCal2jd ( iy, im, id, &djm0, &djm );
i = iauD2dtf ( scale, ndp, d1, d2, &iy, &im, &id, ihmsf );
i = iauDat ( iy, im, id, fd, &deltat );
d = iauDtdb ( date1, date2, ut, elong, u, v );
i = iauDtf2d ( scale, iy, im, id, ihr, imn, sec, &d1, &d2 );
iauEceq06 ( date1, date2, dl, db, &dr, &dd );
iauEcm06 ( date1, date2, rm );
d = iauEe00 ( date1, date2, epsa, dpsi );
d = iauEe00a ( date1, date2 );
d = iauEe00b ( date1, date2 );
d = iauEe06 ( date1, date2 );
d = iauEect00 ( date1, date2 );
i = iauEform ( n, &a, &f );
d = iauEo06 ( date1, date2 );
d = iauEors ( rnpb, s );
d = iauEpb ( dj1, dj2 );
iauEpb2jd ( epb, &djm0, &djm );
d = iauEpj ( dj1, dj2 );
iauEpj2jd ( epj, &djm0, &djm );
i = iauEpv00 ( dj1, dj2, pvh, pvb );
iauEqec06 ( date1, date2, dr, dd, &dl, &db );
d = iauEqeq94 ( date1, date2 );
d = iauEra00 ( dj1, dj2 );
d = iauFad03 ( t );
d = iauFae03 ( t );
d = iauFaf03 ( t );
d = iauFaju03 ( t );
d = iauFal03 ( t );
d = iauFalp03 ( t );
d = iauFama03 ( t );
d = iauFame03 ( t );
d = iauFane03 ( t );
d = iauFaom03 ( t );
d = iauFapa03 ( t );
d = iauFasa03 ( t );
d = iauFaur03 ( t );
d = iauFave03 ( t );
iauFk425 ( r1950, d1950, dr1950, dd1950, p1950, v1950,
&r2000, &d2000, &dr2000, &dd2000, &p2000, &v2000 );
iauFk45z ( r1950, d1950, bepoch, &r2000, &d2000 );
iauFk524 ( r2000, d2000, dr2000, dd2000, p2000, v2000,
&r1950, &d1950, &dr1950, &dd1950, &p1950, &v1950 );
iauFk52h ( r5, d5, dr5, dd5, px5, rv5,
&rh, &dh, &drh, &ddh, &pxh, &rvh );
iauFk54z ( r2000, d2000, bepoch,
&r1950, &d1950, &dr1950, &dd1950 );
iauFk5hip ( r5h, s5h );
iauFk5hz ( r5, d5, date1, date2, &rh, &dh );
iauFw2m ( gamb, phib, psi, eps, r );
iauFw2xy ( gamb, phib, psi, eps, &x, &y );
iauG2icrs ( dl, db, &dr, &dd );
i = iauGc2gd ( n, xyz, &elong, &phi, &height );
i = iauGc2gde ( a, f, xyz, &elong, &phi, &height );
i = iauGd2gc ( n, elong, phi, height, xyz );
i = iauGd2gce ( a, f, elong, phi, height, xyz );
d = iauGmst00 ( uta, utb, tta, ttb );
d = iauGmst06 ( uta, utb, tta, ttb );
d = iauGmst82 ( uta, utb );
d = iauGst00a ( uta, utb, tta, ttb );
d = iauGst00b ( uta, utb );
d = iauGst06 ( uta, utb, tta, ttb, rnpb );
d = iauGst06a ( uta, utb, tta, ttb );
d = iauGst94 ( uta, utb );
iauH2fk5 ( rh, dh, drh, ddh, pxh, rvh,
&r5, &d5, &dr5, &dd5, &px5, &rv5 );
iauHd2ae ( ha, dec, phi, &az, &el );
d = iauHd2pa ( ha, dec, phi );
iauHfk5z ( rh, dh, date1, date2,
&r5, &d5, &dr5, &dd5 );
iauIcrs2g ( dr, dd, &dl, &db );
i = iauJd2cal ( dj1, dj2, &iy, &im, &id, &fd );
i = iauJdcalf ( ndp, dj1, dj2, iymdf );
iauLd ( bm, p, q, e, em, dlim, p1 );
iauLdn ( n, b, ob, sc, sn );
iauLdsun ( p, e, em, p1 );
iauLteceq ( epj, dl, db, &dr, &dd );
iauLtecm ( epj, rm );
iauLteqec ( epj, dr, dd, &dl, &db );
iauLtp ( epj, rp );
iauLtpb ( epj, rpb );
iauLtpecl ( epj, vec );
iauLtpequ ( epj, veq );
iauNum00a ( date1, date2, rmatn );
iauNum00b ( date1, date2, rmatn );
iauNum06a ( date1, date2, rmatn );
iauNumat ( epsa, dpsi, deps, rmatn );
iauNut00a ( date1, date2, &dpsi, &deps );
iauNut00b ( date1, date2, &dpsi, &deps );
iauNut06a ( date1, date2, &dpsi, &deps );
iauNut80 ( date1, date2, &dpsi, &deps );
iauNutm80 ( date1, date2, rmatn );
d = iauObl06 ( date1, date2 );
d = iauObl80 ( date1, date2 );
iauPb06 ( date1, date2, &bzeta, &bz, &btheta );
iauPfw06 ( date1, date2, &gamb, &phib, &psib, &epsa );
i = iauPlan94 ( date1, date2, np, pv );
iauPmat00 ( date1, date2, rbp );
iauPmat06 ( date1, date2, rbp );
iauPmat76 ( date1, date2, rmatp );
iauPmpx ( rc, dc, pr, pd, px, rv, pmt, pob, pco );
i = iauPmsafe ( ra1, dec1, pmr1, pmd1, px1, rv1,
ep1a, ep1b, ep2a, ep2b,
&ra2, &dec2, &pmr2, &pmd2, &px2, &rv2);
iauPn00 ( date1, date2, dpsi, deps,
&epsa, rb, rp, rbp, rn, rbpn );
iauPn00a ( date1, date2,
&dpsi, &deps, &epsa, rb, rp, rbp, rn, rbpn );
iauPn00b ( date1, date2,
&dpsi, &deps, &epsa, rb, rp, rbp, rn, rbpn );
iauPn06 ( date1, date2, dpsi, deps,
&epsa, rb, rp, rbp, rn, rbpn );
iauPn06a ( date1, date2,
&dpsi, &deps, &epsa, rb, rp, rbp, rn, rbpn );
iauPnm00a ( date1, date2, rbpn );
iauPnm00b ( date1, date2, rbpn );
iauPnm06a ( date1, date2, rnpb );
iauPnm80 ( date1, date2, rmatpn );
iauP06e ( date1, date2,
&eps0, &psia, &oma, &bpa, &bqa, &pia, &bpia,
&epsa, &chia, &za, &zetaa, &thetaa, &pa,
&gam, &phi, &psi );
iauPom00 ( xp, yp, sp, rpom );
iauPr00 ( date1, date2, &dpsipr, &depspr );
iauPrec76 ( date01, date02, date11, date12, &zeta, &z, &theta );
i = iauPvstar ( pv, &ra, &dec, &pmr, &pmd, &px, &rv );
iauPvtob ( elong, phi, hm, xp, yp, sp, theta, pv );
iauRefco ( phpa, tc, rh, wl, refa, refb );
d = iauS00 ( date1, date2, x, y );
d = iauS00a ( date1, date2 );
d = iauS00b ( date1, date2 );
d = iauS06 ( date1, date2, x, y );
d = iauS06a ( date1, date2 );
d = iauSp00 ( date1, date2 );
i = iauStarpm ( ra1, dec1, pmr1, pmd1, px1, rv1,
ep1a, ep1b, ep2a, ep2b,
&ra2, &dec2, &pmr2, &pmd2, &px2, &rv2 );
i = iauStarpv ( ra, dec, pmr, pmd, px, rv, pv );
i = iauTaitt ( tai1, tai2, &tt1, &tt2 );
i = iauTaiut1 ( tai1, tai2, dta, &ut11, &ut12 );
i = iauTaiutc ( tai1, tai2, &utc1, &utc2 );
i = iauTcbtdb ( tcb1, tcb2, &tdb1, &tdb2 );
i = iauTcgtt ( tcg1, tcg2, &tt1, &tt2 );
i = iauTdbtcb ( tdb1, tdb2, &tcb1, &tcb2 );
i = iauTdbtt ( tdb1, tdb2, dtr, &tt1, &tt2 );
i = iauTpors ( xi, eta, a, b, &a01, &b01, &a02, &b02 );
i = iauTporv ( xi, eta, v, v01, v02 );
iauTpsts ( xi, eta, a0, b0, &a, &b );
iauTpstv ( xi, eta, v0, v );
i = iauTpxes ( a, b, a0, b0, &xi, &eta );
i = iauTpxev ( v, v0, &xi, &eta );
i = iauTttai ( tt1, tt2, &tai1, &tai2 );
i = iauTttcg ( tt1, tt2, &tcg1, &tcg2 );
i = iauTttdb ( tt1, tt2, dtr, &tdb1, &tdb2 );
i = iauTtut1 ( tt1, tt2, dt, &ut11, &ut12 );
i = iauUt1tai ( ut11, ut12, &tai1, &tai2 );
i = iauUt1tt ( ut11, ut12, dt, &tt1, &tt2 );
i = iauUt1utc ( ut11, ut12, dut, &utc1, &utc2 );
i = iauUtctai ( utc1, utc2, dta, &tai1, &tai2 );
i = iauUtcut1 ( utc1, utc2, dut, &ut11, &ut12 );
iauXy06 ( date1, date2, &x, &y );
iauXys00a ( date1, date2, &x, &y, &s );
iauXys00b ( date1, date2, &x, &y, &s );
iauXys06a ( date1, date2, &x, &y, &s );