Modern Fortran implementations of standard models used in fundamental astronomy
This library is based on the IAU SOFA library. The routines have been changed in the following ways:
Copyright (C) 2019 Standards Of Fundamental Astronomy Board of the International Astronomical Union.
===================== SOFA Software License =====================
NOTICE TO USER:
BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND CONDITIONS WHICH APPLY TO ITS USE.
The Software is owned by the IAU SOFA Board ("SOFA").
Permission is granted to anyone to use the SOFA software for any purpose, including commercial applications, free of charge and without payment of royalties, subject to the conditions and restrictions listed below.
You (the user) may copy and distribute SOFA source code to others, and use and adapt its code and algorithms in your own software, on a world-wide, royalty-free basis. That portion of your distribution that does not consist of intact and unchanged copies of SOFA source code files is a "derived work" that must comply with the following requirements:
a) Your work shall be marked or carry a statement that it (i) uses routines and computations derived by you from software provided by SOFA under license to you; and (ii) does not itself constitute software provided by and/or endorsed by SOFA.
b) The source code of your derived work must contain descriptions of how the derived work is based upon, contains and/or differs from the original SOFA software.
c) The names of all routines in your derived work shall not include the prefix "iau" or "sofa" or trivial modifications thereof such as changes of case.
d) The origin of the SOFA components of your derived work must not be misrepresented; you must not claim that you wrote the original software, nor file a patent application for SOFA software or algorithms embedded in the SOFA software.
e) These requirements must be reproduced intact in any source distribution and shall apply to anyone to whom you have granted a further right to modify the source code of your derived work.
Note that, as originally distributed, the SOFA software is intended to be a definitive implementation of the IAU standards, and consequently third-party modifications are discouraged. All variations, no matter how minor, must be explicitly marked as such, as explained above.
You shall not cause the SOFA software to be brought into disrepute, either by misuse, or use for inappropriate tasks, or by inappropriate modification.
The SOFA software is provided "as is" and SOFA makes no warranty as to its use or performance. SOFA does not and cannot warrant the performance or results which the user may obtain by using the SOFA software. SOFA makes no warranties, express or implied, as to non-infringement of third party rights, merchantability, or fitness for any particular purpose. In no event will SOFA be liable to the user for any consequential, incidental, or special damages, including any lost profits or lost savings, even if a SOFA representative has been advised of such damages, or for any claim by any third party.
The provision of any version of the SOFA software under the terms and conditions specified herein does not imply that future versions will also be made available under the same terms and conditions.
In any published work or commercial product which uses the SOFA software directly, acknowledgement (see www.iausofa.org) is appreciated.
Correspondence concerning SOFA software should be addressed as follows:
By email: sofa@ukho.gov.uk
By post: IAU SOFA Center
HM Nautical Almanac Office
UK Hydrographic Office
Admiralty Way, Taunton
Somerset, TA1 2DN
United Kingdom
Normalize angle into the range 0 <= A < 2pi.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | a | angle (radians) |
angle in range 0-2pi
Normalize angle into the range -pi <= A < +pi.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | a | angle (radians) |
angle in range +/-pi
An approximation to TDB-TT, the difference between barycentric dynamical time and terrestrial time, for an observer on the Earth.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | date, TDB (Notes 1-3) |
||
real(kind=wp), | intent(in) | :: | date2 | date, TDB (Notes 1-3) |
||
real(kind=wp), | intent(in) | :: | ut | universal time (UT1, fraction of one day) |
||
real(kind=wp), | intent(in) | :: | elong | longitude (east positive, radians) |
||
real(kind=wp), | intent(in) | :: | u | distance from Earth spin axis (km) |
||
real(kind=wp), | intent(in) | :: | v | distance north of equatorial plane (km) |
TDB-TT (seconds)
The equation of the equinoxes, compatible with IAU 2000 resolutions, given the nutation in longitude and the mean obliquity.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | epsa | mean obliquity (Note 2) |
||
real(kind=wp), | intent(in) | :: | dpsi | nutation in longitude (Note 3) |
equation of the equinoxes (Note 4)
Equation of the equinoxes, compatible with IAU 2000 resolutions.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
equation of the equinoxes (Note 2)
Equation of the equinoxes, compatible with IAU 2000 resolutions but using the truncated nutation model IAU 2000B.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
equation of the equinoxes (Note 2)
Equation of the equinoxes, compatible with IAU 2000 resolutions and IAU 2006/2000A precession-nutation.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
equation of the equinoxes (Note 2)
Equation of the equinoxes complementary terms, consistent with IAU 2000 resolutions.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
complementary terms (Note 2)
Equation of the origins, IAU 2006 precession and IAU 2000A nutation.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
equation of the origins in radians
Equation of the origins, given the classical NPB matrix and the quantity s.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,3) | :: | rnpb | classical nutation x precession x bias matrix |
|
real(kind=wp), | intent(in) | :: | s | the quantity s (the CIO locator) |
the equation of the origins in radians.
Julian Date to Besselian Epoch.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | dj1 | Julian Date (see note) |
||
real(kind=wp), | intent(in) | :: | dj2 | Julian Date (see note) |
the Besselian Epoch
Julian Date to Julian Epoch.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | dj1 | Julian Date (see note) |
||
real(kind=wp), | intent(in) | :: | dj2 | Julian Date (see note) |
the Julian Epoch.
Equation of the equinoxes, IAU 1994 model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TDB date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TDB date (Note 1) |
equation of the equinoxes (Note 2)
Earth rotation angle (IAU 2000 model).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | dj1 | UT1 as a 2-part Julian Date (see note) |
||
real(kind=wp), | intent(in) | :: | dj2 | UT1 as a 2-part Julian Date (see note) |
the Earth rotation angle (radians), in the range 0 to 2pi.
Fundamental argument, IERS Conventions (2003): mean elongation of the Moon from the Sun.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | t | TDB, Julian centuries since J2000.0 (Note 1) |
D, radians (Note 2)
Fundamental argument, IERS Conventions (2003): mean longitude of Earth.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | t | TDB, Julian centuries since J2000.0 (Note 1) |
mean longitude of Earth, radians (Note 2)
Fundamental argument, IERS Conventions (2003): mean longitude of the Moon minus mean longitude of the ascending node.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | t | TDB, Julian centuries since J2000.0 (Note 1) |
F, radians (Note 2)
Fundamental argument, IERS Conventions (2003): mean longitude of Jupiter.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | t | TDB, Julian centuries since J2000.0 (Note 1) |
mean longitude of Jupiter, radians (Note 2)
Fundamental argument, IERS Conventions (2003): mean anomaly of the Moon.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | t | TDB, Julian centuries since J2000.0 (Note 1) |
l, radians (Note 2)
Fundamental argument, IERS Conventions (2003): mean anomaly of the Sun.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | t | TDB, Julian centuries since J2000.0 (Note 1) |
l', radians (Note 2)
Fundamental argument, IERS Conventions (2003): mean longitude of Mars.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | t | TDB, Julian centuries since J2000.0 (Note 1) |
mean longitude of Mars, radians (Note 2)
Fundamental argument, IERS Conventions (2003): mean longitude of Mercury.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | t | TDB, Julian centuries since J2000.0 (Note 1) |
mean longitude of Mercury, radians (Note 2)
Fundamental argument, IERS Conventions (2003): mean longitude of Neptune.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | t | TDB, Julian centuries since J2000.0 (Note 1) |
mean longitude of Neptune, radians (Note 2)
Fundamental argument, IERS Conventions (2003): mean longitude of the Moon's ascending node.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | t | TDB, Julian centuries since J2000.0 (Note 1) |
Omega, radians (Note 2)
Fundamental argument, IERS Conventions (2003): general accumulated precession in longitude.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | t | TDB, Julian centuries since J2000.0 (Note 1) |
general precession in longitude, radians (Note 2)
Fundamental argument, IERS Conventions (2003): mean longitude of Saturn.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | t | TDB, Julian centuries since J2000.0 (Note 1) |
mean longitude of Saturn, radians (Note 2)
Fundamental argument, IERS Conventions (2003): mean longitude of Uranus.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | t | TDB, Julian centuries since J2000.0 (Note 1) |
mean longitude of Uranus, radians (Note 2)
Fundamental argument, IERS Conventions (2003): mean longitude of Venus.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | t | TDB, Julian centuries since J2000.0 (Note 1) |
mean longitude of Venus, radians (Note 2)
Greenwich Mean Sidereal Time (model consistent with IAU 2000 resolutions).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | uta | UT1 as a 2-part Julian Date (Notes 1,2) |
||
real(kind=wp), | intent(in) | :: | utb | UT1 as a 2-part Julian Date (Notes 1,2) |
||
real(kind=wp), | intent(in) | :: | tta | TT as a 2-part Julian Date (Notes 1,2) |
||
real(kind=wp), | intent(in) | :: | ttb | TT as a 2-part Julian Date (Notes 1,2) |
Greenwich mean sidereal time (radians)
Greenwich mean sidereal time (consistent with IAU 2006 precession).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | uta | UT1 as a 2-part Julian Date (Notes 1,2) |
||
real(kind=wp), | intent(in) | :: | utb | UT1 as a 2-part Julian Date (Notes 1,2) |
||
real(kind=wp), | intent(in) | :: | tta | TT as a 2-part Julian Date (Notes 1,2) |
||
real(kind=wp), | intent(in) | :: | ttb | TT as a 2-part Julian Date (Notes 1,2) |
Greenwich mean sidereal time (radians)
Universal Time to Greenwich Mean Sidereal Time (IAU 1982 model).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | dj1 | UT1 Julian Date (see note) |
||
real(kind=wp), | intent(in) | :: | dj2 | UT1 Julian Date (see note) |
Greenwich mean sidereal time (radians)
Greenwich Apparent Sidereal Time (consistent with IAU 2000 resolutions).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | uta | UT1 as a 2-part Julian Date (Notes 1,2) |
||
real(kind=wp), | intent(in) | :: | utb | UT1 as a 2-part Julian Date (Notes 1,2) |
||
real(kind=wp), | intent(in) | :: | tta | TT as a 2-part Julian Date (Notes 1,2) |
||
real(kind=wp), | intent(in) | :: | ttb | TT as a 2-part Julian Date (Notes 1,2) |
Greenwich apparent sidereal time (radians)
Greenwich Apparent Sidereal Time (consistent with IAU 2000 resolutions but using the truncated nutation model IAU 2000B).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | uta | UT1 as a 2-part Julian Date (Notes 1,2) |
||
real(kind=wp), | intent(in) | :: | utb | UT1 as a 2-part Julian Date (Notes 1,2) |
Greenwich apparent sidereal time (radians)
Greenwich apparent sidereal time, IAU 2006, given the NPB matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | uta | UT1 as a 2-part Julian Date (Notes 1,2) |
||
real(kind=wp), | intent(in) | :: | utb | UT1 as a 2-part Julian Date (Notes 1,2) |
||
real(kind=wp), | intent(in) | :: | tta | TT as a 2-part Julian Date (Notes 1,2) |
||
real(kind=wp), | intent(in) | :: | ttb | TT as a 2-part Julian Date (Notes 1,2) |
||
real(kind=wp), | intent(in), | dimension(3,3) | :: | rnpb | nutation x precession x bias matrix |
Greenwich apparent sidereal time (radians)
Greenwich apparent sidereal time (consistent with IAU 2000 and 2006 resolutions).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | uta | UT1 as a 2-part Julian Date (Notes 1,2) |
||
real(kind=wp), | intent(in) | :: | utb | UT1 as a 2-part Julian Date (Notes 1,2) |
||
real(kind=wp), | intent(in) | :: | tta | TT as a 2-part Julian Date (Notes 1,2) |
||
real(kind=wp), | intent(in) | :: | ttb | TT as a 2-part Julian Date (Notes 1,2) |
Greenwich apparent sidereal time (radians)
Greenwich Apparent Sidereal Time (consistent with IAU 1982/94 resolutions).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | uta | UT1 as a 2-part Julian Date (Notes 1,2) |
||
real(kind=wp), | intent(in) | :: | utb | UT1 as a 2-part Julian Date (Notes 1,2) |
Greenwich apparent sidereal time (radians)
Parallactic angle for a given hour angle and declination.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | ha | hour angle |
||
real(kind=wp), | intent(in) | :: | dec | declination |
||
real(kind=wp), | intent(in) | :: | phi | site latitude |
parallactic angle
Mean obliquity of the ecliptic, IAU 2006 precession model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
obliquity of the ecliptic (radians, Note 2)
Mean obliquity of the ecliptic, IAU 1980 model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
obliquity of the ecliptic (radians, Note 2)
The CIO locator s, positioning the Celestial Intermediate Origin on the equator of the Celestial Intermediate Pole, given the CIP's X,Y coordinates. Compatible with IAU 2000A precession-nutation.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | x | CIP coordinates (Note 3) |
||
real(kind=wp), | intent(in) | :: | y | CIP coordinates (Note 3) |
the CIO locator s in radians (Note 2)
The CIO locator s, positioning the Celestial Intermediate Origin on the equator of the Celestial Intermediate Pole, using the IAU 2000A precession-nutation model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
the CIO locator s in radians (Note 2)
The CIO locator s, positioning the Celestial Intermediate Origin on the equator of the Celestial Intermediate Pole, using the IAU 2000B precession-nutation model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
the CIO locator s in radians (Note 2)
The CIO locator s, positioning the Celestial Intermediate Origin on the equator of the Celestial Intermediate Pole, given the CIP's X,Y coordinates. Compatible with IAU 2006/2000A precession-nutation.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | x | CIP coordinates (Note 3) |
||
real(kind=wp), | intent(in) | :: | y | CIP coordinates (Note 3) |
the CIO locator s in radians (Note 2)
The CIO locator s, positioning the Celestial Intermediate Origin on the equator of the Celestial Intermediate Pole, using the IAU 2006 precession and IAU 2000A nutation models.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
the CIO locator s in radians (Note 2)
The TIO locator s', positioning the Terrestrial Intermediate Origin on the equator of the Celestial Intermediate Pole.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
the TIO locator s' in radians (Note 2)
Decompose radians into degrees, arcminutes, arcseconds, fraction.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ndp | resolution (Note 1) |
||
real(kind=wp), | intent(in) | :: | angle | angle in radians |
||
character(len=*), | intent(out) | :: | sign | '+' or '-' |
||
integer, | intent(out), | dimension(4) | :: | idmsf | degrees, arcminutes, arcseconds, fraction |
Decompose radians into hours, minutes, seconds, fraction.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ndp | resolution (Note 1) |
||
real(kind=wp), | intent(in) | :: | angle | angle in radians |
||
character(len=*), | intent(out) | :: | sign | '+' or '-' |
||
integer, | intent(out), | dimension(4) | :: | ihmsf | hours, minutes, seconds, fraction |
Apply aberration to transform natural direction into proper direction.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | pnat | natural direction to the source (unit vector) |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v | observer barycentric velocity in units of c |
|
real(kind=wp), | intent(in) | :: | s | distance between the Sun and the observer (au) |
||
real(kind=wp), | intent(in) | :: | bm1 | sqrt(1-|v|^2): reciprocal of Lorenz factor |
||
real(kind=wp), | intent(out), | dimension(3) | :: | ppr | proper direction to source (unit vector) |
Horizon to equatorial coordinates: transform azimuth and altitude to hour angle and declination.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | az | azimuth |
||
real(kind=wp), | intent(in) | :: | el | elevation |
||
real(kind=wp), | intent(in) | :: | phi | observatory latitude |
||
real(kind=wp), | intent(out) | :: | ha | hour angle |
||
real(kind=wp), | intent(out) | :: | dec | declination |
Convert degrees, arcminutes, arcseconds to radians.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=1), | intent(in) | :: | s | sign: '-' = negative, otherwise positive |
||
integer, | intent(in) | :: | ideg | degrees |
||
integer, | intent(in) | :: | iamin | arcminutes |
||
real(kind=wp), | intent(in) | :: | asec | arcseconds |
||
real(kind=wp), | intent(out) | :: | rad | angle in radians |
||
integer, | intent(out) | :: | j | 0 = OK 1 = IDEG outside range 0-359 2 = IAMIN outside range 0-59 3 = ASEC outside range 0-59.999... |
For a geocentric observer, prepare star-independent astrometry parameters for transformations between ICRS and GCRS coordinates. The Earth ephemeris is supplied by the caller.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TDB as a 2-part... |
||
real(kind=wp), | intent(in) | :: | date2 | |||
real(kind=wp), | intent(in), | dimension(3,2) | :: | ebpv | Earth barycentric position/velocity (au, au/day) |
|
real(kind=wp), | intent(in), | dimension(3) | :: | ehp | Earth heliocentric position (au) |
|
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 |
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.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
For a terrestrial observer, prepare star-independent astrometry parameters for transformations between ICRS and geocentric CIRS coordinates. The Earth ephemeris and CIP/CIO are supplied by the caller.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TDB as a 2-part... |
||
real(kind=wp), | intent(in) | :: | date2 | |||
real(kind=wp), | intent(in), | dimension(3,2) | :: | ebpv | Earth barycentric position/velocity (au, au/day) |
|
real(kind=wp), | intent(in), | dimension(3) | :: | ehp | Earth heliocentric position (au) |
|
real(kind=wp), | intent(in) | :: | x | CIP X (component of unit vector) |
||
real(kind=wp), | intent(in) | :: | y | CIP Y (component of unit vector) |
||
real(kind=wp), | intent(in) | :: | s | the CIO locator s (radians) |
||
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 |
For a terrestrial observer, prepare star-independent astrometry parameters for transformations between ICRS and geocentric CIRS coordinates. The caller supplies the date, and SOFA models are used to predict the Earth ephemeris and CIP/CIO.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
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 |
|
real(kind=wp), | intent(out) | :: | eo | equation of the origins (ERA-GST) |
For a terrestrial observer, prepare star-independent astrometry parameters for transformations between ICRS and observed coordinates. The caller supplies the Earth ephemeris, the Earth rotation information and the refraction constants as well as the site coordinates.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TDB as a 2-part... |
||
real(kind=wp), | intent(in) | :: | date2 | |||
real(kind=wp), | intent(in), | dimension(3,2) | :: | ebpv | Earth barycentric pos/vel (au, au/day, Note 2) |
|
real(kind=wp), | intent(in), | dimension(3) | :: | ehp | Earth heliocentric position (au, Note 2) |
|
real(kind=wp), | intent(in) | :: | x | CIP X (component of unit vector) |
||
real(kind=wp), | intent(in) | :: | y | CIP Y (component of unit vector) |
||
real(kind=wp), | intent(in) | :: | s | the CIO locator s (radians) |
||
real(kind=wp), | intent(in) | :: | theta | Earth rotation angle (radians) |
||
real(kind=wp), | intent(in) | :: | elong | longitude (radians, east +ve, Note 3) |
||
real(kind=wp), | intent(in) | :: | phi | latitude (geodetic, radians, Note 3) |
||
real(kind=wp), | intent(in) | :: | hm | height above ellipsoid (m, geodetic, Note 3) |
||
real(kind=wp), | intent(in) | :: | xp | polar motion coordinate (radians, Note 4) |
||
real(kind=wp), | intent(in) | :: | yp | polar motion coordinate (radians, Note 4) |
||
real(kind=wp), | intent(in) | :: | sp | the TIO locator s' (radians, Note 4) |
||
real(kind=wp), | intent(in) | :: | refa | refraction constant A (radians, Note 5) |
||
real(kind=wp), | intent(in) | :: | refb | refraction constant B (radians, Note 5) |
||
real(kind=wp), | intent(out), | 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) longitude + s' (radians) (23) polar motion xp wrt local meridian (radians) (24) polar motion yp wrt local meridian (radians) (25) sine of geodetic latitude (26) cosine of geodetic latitude (27) magnitude of diurnal aberration vector (28) "local" Earth rotation angle (radians) (29) refraction constant A (radians) (30) refraction constant B (radians) |
For a terrestrial observer, prepare star-independent astrometry parameters for transformations between ICRS and observed coordinates. The caller supplies UTC, site coordinates, ambient air conditions and observing wavelength, and SOFA models are used to obtain the Earth ephemeris, CIP/CIO and refraction constants.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | utc1 | UTC as a 2-part... |
||
real(kind=wp), | intent(in) | :: | utc2 | |||
real(kind=wp), | intent(in) | :: | dut1 | UT1-UTC (seconds, Note 3) |
||
real(kind=wp), | intent(in) | :: | elong | longitude (radians, east +ve, Note 4) |
||
real(kind=wp), | intent(in) | :: | phi | latitude (geodetic, radians, Note 4) |
||
real(kind=wp), | intent(in) | :: | hm | height above ellipsoid (m, geodetic, Notes 4,6) |
||
real(kind=wp), | intent(in) | :: | xp | polar motion coordinate (radians, Note 5) |
||
real(kind=wp), | intent(in) | :: | yp | polar motion coordinate (radians, Note 5) |
||
real(kind=wp), | intent(in) | :: | phpa | pressure at the observer (hPa = mB, Note 6) |
||
real(kind=wp), | intent(in) | :: | tc | ambient temperature at the observer (deg C) |
||
real(kind=wp), | intent(in) | :: | rh | relative humidity at the observer (range 0-1) |
||
real(kind=wp), | intent(in) | :: | wl | wavelength (micrometers, Note 7) |
||
real(kind=wp), | intent(out), | 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) longitude + s' (radians) (23) polar motion xp wrt local meridian (radians) (24) polar motion yp wrt local meridian (radians) (25) sine of geodetic latitude (26) cosine of geodetic latitude (27) magnitude of diurnal aberration vector (28) "local" Earth rotation angle (radians) (29) refraction constant A (radians) (30) refraction constant B (radians) |
|
real(kind=wp), | intent(out) | :: | eo | equation of the origins (ERA-GST) |
||
integer, | intent(out) | :: | j | 0 = OK -1 = unacceptable date |
For an observer whose geocentric position and velocity are known, prepare star-independent astrometry parameters for transformations between ICRS and GCRS. The Earth ephemeris is supplied by the caller.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TDB as a 2-part... |
||
real(kind=wp), | intent(in) | :: | date2 | |||
real(kind=wp), | intent(in), | dimension(3,2) | :: | pv | observer's geocentric pos/vel (m, m/s) |
|
real(kind=wp), | intent(in), | dimension(3,2) | :: | ebpv | Earth barycentric position/velocity (au, au/day) |
|
real(kind=wp), | intent(in), | dimension(3) | :: | ehp | Earth heliocentric position (au) |
|
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 |
For an observer whose geocentric position and velocity are known, prepare star-independent astrometry parameters for transformations between ICRS and GCRS. The Earth ephemeris is from SOFA models.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TDB as a 2-part... |
||
real(kind=wp), | intent(in) | :: | date2 | |||
real(kind=wp), | intent(in), | dimension(3,2) | :: | pv | observer's geocentric pos/vel (Note 3) |
|
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 |
In the star-independent astrometry parameters, update only the Earth rotation angle, supplied by the caller explicitly.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | theta | Earth rotation angle (radians, Note 2) |
||
real(kind=wp), | intent(inout), | dimension(30) | :: | astrom | star-independent astrometry parameters: * In: astrom(22): longitude + s' (radians) * Out: astrom(28): "local" Earth rotation angle (radians) |
In the star-independent astrometry parameters, update only the Earth rotation angle. The caller provides UT1 (n.b. not UTC).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | ut11 | UT1 as a 2-part... |
||
real(kind=wp), | intent(in) | :: | ut12 | |||
real(kind=wp), | intent(inout), | dimension(30) | :: | astrom | star-independent astrometry parameters: * In: astrom(22): longitude + s' (radians) * Out: astrom(28): "local" Earth rotation angle (radians) |
For a terrestrial observer, prepare star-independent astrometry parameters for transformations between CIRS and observed coordinates. The caller supplies the Earth orientation information and the refraction constants as well as the site coordinates.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | sp | the TIO locator s' (radians, Note 1) |
||
real(kind=wp), | intent(in) | :: | theta | Earth rotation angle (radians) |
||
real(kind=wp), | intent(in) | :: | elong | longitude (radians, east +ve, Note 2) |
||
real(kind=wp), | intent(in) | :: | phi | geodetic latitude (radians, Note 2) |
||
real(kind=wp), | intent(in) | :: | hm | height above ellipsoid (m, geodetic Note 2) |
||
real(kind=wp), | intent(in) | :: | xp | polar motion coordinate (radians, Note 3) |
||
real(kind=wp), | intent(in) | :: | yp | polar motion coordinate (radians, Note 3) |
||
real(kind=wp), | intent(in) | :: | refa | refraction constant A (radians, Note 4) |
||
real(kind=wp), | intent(in) | :: | refb | refraction constant B (radians, Note 4) |
||
real(kind=wp), | intent(inout), | dimension(30) | :: | astrom | star-independent astrometry parameters: (1) unchanged (2-4) unchanged (5-7) unchanged (8) unchanged (9-11) unchanged (12) unchanged (13-21) unchanged (22) longitude + s' (radians) (23) polar motion xp wrt local meridian (radians) (24) polar motion yp wrt local meridian (radians) (25) sine of geodetic latitude (26) cosine of geodetic latitude (27) magnitude of diurnal aberration vector (28) "local" Earth rotation angle (radians) (29) refraction constant A (radians) (30) refraction constant B (radians) |
For a terrestrial observer, prepare star-independent astrometry parameters for transformations between CIRS and observed coordinates. The caller supplies UTC, site coordinates, ambient air conditions and observing wavelength.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | utc1 | UTC as a 2-part... |
||
real(kind=wp), | intent(in) | :: | utc2 | |||
real(kind=wp), | intent(in) | :: | dut1 | UT1-UTC (seconds) |
||
real(kind=wp), | intent(in) | :: | elong | longitude (radians, east +ve, Note 3) |
||
real(kind=wp), | intent(in) | :: | phi | geodetic latitude (radians, Note 3) |
||
real(kind=wp), | intent(in) | :: | hm | height above ellipsoid (m, geodetic Notes 4,6) |
||
real(kind=wp), | intent(in) | :: | xp | polar motion x-coordinate (radians, Note 5) |
||
real(kind=wp), | intent(in) | :: | yp | polar motion x-coordinate (radians, Note 5) |
||
real(kind=wp), | intent(in) | :: | phpa | pressure at the observer (hPa = mB, Note 6) |
||
real(kind=wp), | intent(in) | :: | tc | ambient temperature at the observer (deg C) |
||
real(kind=wp), | intent(in) | :: | rh | relative humidity at the observer (range 0-1) |
||
real(kind=wp), | intent(in) | :: | wl | wavelength (micrometers, Note 7) |
||
real(kind=wp), | intent(inout), | dimension(30) | :: | astrom | star-independent astrometry parameters: (1) unchanged (2-4) unchanged (5-7) unchanged (8) unchanged (9-11) unchanged (12) unchanged (13-21) unchanged (22) longitude + s' (radians) (23) polar motion xp wrt local meridian (radians) (24) polar motion yp wrt local meridian (radians) (25) sine of geodetic latitude (26) cosine of geodetic latitude (27) magnitude of diurnal aberration vector (28) "local" Earth rotation angle (radians) (29) refraction constant A (radians) (30) refraction constant B (radians) |
|
integer, | intent(out) | :: | j |
Transform ICRS star data, epoch J2000.0, to CIRS.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | rc | ICRS right ascension at J2000.0 (radians, Note 1) |
||
real(kind=wp), | intent(in) | :: | dc | ICRS declination at J2000.0 (radians, Note 1) |
||
real(kind=wp), | intent(in) | :: | pr | RA proper motion (radians/year; Note 2) |
||
real(kind=wp), | intent(in) | :: | pd | Dec proper motion (radians/year) |
||
real(kind=wp), | intent(in) | :: | px | parallax (arcsec) |
||
real(kind=wp), | intent(in) | :: | rv | radial velocity (km/s, +ve if receding) |
||
real(kind=wp), | intent(in) | :: | date1 | TDB as a 2-part... |
||
real(kind=wp), | intent(in) | :: | date2 | |||
real(kind=wp), | intent(out) | :: | ri | CIRS geocentric RA (radians) |
||
real(kind=wp), | intent(out) | :: | di | CIRS geocentric Dec (radians) |
||
real(kind=wp), | intent(out) | :: | eo | equation of the origins (ERA-GST, Note 5) |
Quick ICRS, epoch J2000.0, to CIRS transformation, given precomputed star-independent astrometry parameters.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | rc | ICRS RA at J2000.0 (radians) |
||
real(kind=wp), | intent(in) | :: | dc | ICRS Dec at J2000.0 (radians) |
||
real(kind=wp), | intent(in) | :: | pr | RA proper motion (radians/year; Note 3) |
||
real(kind=wp), | intent(in) | :: | pd | Dec proper motion (radians/year) |
||
real(kind=wp), | intent(in) | :: | px | parallax (arcsec) |
||
real(kind=wp), | intent(in) | :: | rv | radial velocity (km/s, +ve if receding) |
||
real(kind=wp), | intent(in), | 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) longitude + s' (radians) (23) polar motion xp wrt local meridian (radians) (24) polar motion yp wrt local meridian (radians) (25) sine of geodetic latitude (26) cosine of geodetic latitude (27) magnitude of diurnal aberration vector (28) "local" Earth rotation angle (radians) (29) refraction constant A (radians) (30) refraction constant B (radians) |
|
real(kind=wp), | intent(out) | :: | ri | CIRS RA (radians) |
||
real(kind=wp), | intent(out) | :: | di | CIRS Dec (radians) |
Quick ICRS, epoch J2000.0, to CIRS transformation, given precomputed star-independent astrometry parameters plus a list of light- deflecting bodies.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | rc | ICRS RA at J2000.0 (radians, Note 1) |
||
real(kind=wp), | intent(in) | :: | dc | ICRS Dec at J2000.0 (radians, Note 1) |
||
real(kind=wp), | intent(in) | :: | pr | RA proper motion (radians/year; Note 2) |
||
real(kind=wp), | intent(in) | :: | pd | Dec proper motion (radians/year) |
||
real(kind=wp), | intent(in) | :: | px | parallax (arcsec) |
||
real(kind=wp), | intent(in) | :: | rv | radial velocity (km/s, +ve if receding) |
||
real(kind=wp), | intent(in), | 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) longitude + s' (radians) (23) polar motion xp wrt local meridian (radians) (24) polar motion yp wrt local meridian (radians) (25) sine of geodetic latitude (26) cosine of geodetic latitude (27) magnitude of diurnal aberration vector (28) "local" Earth rotation angle (radians) (29) refraction constant A (radians) (30) refraction constant B (radians) |
|
integer, | intent(in) | :: | n | number of bodies (Note 3) |
||
real(kind=wp), | intent(in), | dimension(8,n) | :: | b | data for each of the NB bodies (Notes 3,4): (1,I) mass of the body (solar masses, Note 5) (2,I) deflection limiter (Note 6) (3-5,I) barycentric position of the body (au) (6-8,I) barycentric velocity of the body (au/day) |
|
real(kind=wp), | intent(out) | :: | ri | CIRS RA (radians) |
||
real(kind=wp), | intent(out) | :: | di | CIRS Dec (radians) |
Quick ICRS to CIRS transformation, given precomputed star-independent astrometry parameters, and assuming zero parallax and proper motion.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | rc | ICRS astrometric RA (radians) |
||
real(kind=wp), | intent(in) | :: | dc | ICRS astrometric Dec (radians) |
||
real(kind=wp), | intent(in), | 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) longitude + s' (radians) (23) polar motion xp wrt local meridian (radians) (24) polar motion yp wrt local meridian (radians) (25) sine of geodetic latitude (26) cosine of geodetic latitude (27) magnitude of diurnal aberration vector (28) "local" Earth rotation angle (radians) (29) refraction constant A (radians) (30) refraction constant B (radians) |
|
real(kind=wp), | intent(out) | :: | ri | CIRS RA (radians) |
||
real(kind=wp), | intent(out) | :: | di | CIRS Dec (radians) |
ICRS RA,Dec to observed place. The caller supplies UTC, site coordinates, ambient air conditions and observing wavelength.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | rc | ICRS right ascension at J2000.0 (radians, Note 1) |
||
real(kind=wp), | intent(in) | :: | dc | ICRS declination at J2000.0 (radians, Note 1) |
||
real(kind=wp), | intent(in) | :: | pr | RA proper motion (radians/year; Note 2) |
||
real(kind=wp), | intent(in) | :: | pd | Dec proper motion (radians/year) |
||
real(kind=wp), | intent(in) | :: | px | parallax (arcsec) |
||
real(kind=wp), | intent(in) | :: | rv | radial velocity (km/s, +ve if receding) |
||
real(kind=wp), | intent(in) | :: | utc1 | UTC as a 2-part... |
||
real(kind=wp), | intent(in) | :: | utc2 | |||
real(kind=wp), | intent(in) | :: | dut1 | UT1-UTC (seconds, Note 5) |
||
real(kind=wp), | intent(in) | :: | elong | longitude (radians, east +ve, Note 6) |
||
real(kind=wp), | intent(in) | :: | phi | latitude (geodetic, radians, Note 6) |
||
real(kind=wp), | intent(in) | :: | hm | height above ellipsoid (m, geodetic, Notes 6,8) |
||
real(kind=wp), | intent(in) | :: | xp | polar motion coordinate (radians, Note 7) |
||
real(kind=wp), | intent(in) | :: | yp | polar motion coordinate (radians, Note 7) |
||
real(kind=wp), | intent(in) | :: | phpa | pressure at the observer (hPa = mB, Note 8) |
||
real(kind=wp), | intent(in) | :: | tc | ambient temperature at the observer (deg C) |
||
real(kind=wp), | intent(in) | :: | rh | relative humidity at the observer (range 0-1) |
||
real(kind=wp), | intent(in) | :: | wl | wavelength (micrometers, Note 9) |
||
real(kind=wp), | intent(out) | :: | aob | observed azimuth (radians: N=0,E=90) |
||
real(kind=wp), | intent(out) | :: | zob | observed zenith distance (radians) |
||
real(kind=wp), | intent(out) | :: | hob | observed hour angle (radians) |
||
real(kind=wp), | intent(out) | :: | dob | observed declination (radians) |
||
real(kind=wp), | intent(out) | :: | rob | observed right ascension (CIO-based, radians) |
||
real(kind=wp), | intent(out) | :: | eo | equation of the origins (ERA-GST) |
||
integer, | intent(out) | :: | j |
Transform star RA,Dec from geocentric CIRS to ICRS astrometric.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | ri | CIRS geocentric RA (radians) |
||
real(kind=wp), | intent(in) | :: | di | CIRS geocentric Dec (radians) |
||
real(kind=wp), | intent(in) | :: | date1 | TDB as a 2-part... |
||
real(kind=wp), | intent(in) | :: | date2 | |||
real(kind=wp), | intent(out) | :: | rc | ICRS astrometric RA (radians) |
||
real(kind=wp), | intent(out) | :: | dc | ICRS astrometric Dec (radians) |
||
real(kind=wp), | intent(out) | :: | eo | equation of the origins (ERA-GST, Note 4) |
Quick CIRS RA,Dec to ICRS astrometric place, given the star- independent astrometry parameters.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | ri | CIRS RA (radians) |
||
real(kind=wp), | intent(in) | :: | di | CIRS Dec (radians) |
||
real(kind=wp), | intent(in), | 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) longitude + s' (radians) (23) polar motion xp wrt local meridian (radians) (24) polar motion yp wrt local meridian (radians) (25) sine of geodetic latitude (26) cosine of geodetic latitude (27) magnitude of diurnal aberration vector (28) "local" Earth rotation angle (radians) (29) refraction constant A (radians) (30) refraction constant B (radians) |
|
real(kind=wp), | intent(out) | :: | rc | ICRS astrometric RA (radians) |
||
real(kind=wp), | intent(out) | :: | dc | ICRS astrometric Dec (radians) |
Quick CIRS to ICRS astrometric place transformation, given the star-independent astrometry parameters plus a list of light- deflecting bodies.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | ri | CIRS RA (radians) |
||
real(kind=wp), | intent(in) | :: | di | CIRS Dec (radians) |
||
real(kind=wp), | intent(in), | 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) longitude + s' (radians) (23) polar motion xp wrt local meridian (radians) (24) polar motion yp wrt local meridian (radians) (25) sine of geodetic latitude (26) cosine of geodetic latitude (27) magnitude of diurnal aberration vector (28) "local" Earth rotation angle (radians) (29) refraction constant A (radians) (30) refraction constant B (radians) |
|
integer, | intent(in) | :: | n | number of bodies (Note 3) |
||
real(kind=wp), | intent(in), | dimension(8,n) | :: | b | data for each of the NB bodies (Notes 3,4): (1,I) mass of the body (solar masses, Note 5) (2,I) deflection limiter (Note 6) (3-5,I) barycentric position of the body (au) (6-8,I) barycentric velocity of the body (au/day) |
|
real(kind=wp), | intent(out) | :: | rc | ICRS astrometric RA (radians) |
||
real(kind=wp), | intent(out) | :: | dc | ICRS astrometric Dec (radians) |
CIRS RA,Dec to observed place. The caller supplies UTC, site coordinates, ambient air conditions and observing wavelength.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | ri | CIRS right ascension (CIO-based, radians) |
||
real(kind=wp), | intent(in) | :: | di | CIRS declination (radians) |
||
real(kind=wp), | intent(in) | :: | utc1 | UTC as a 2-part... |
||
real(kind=wp), | intent(in) | :: | utc2 | |||
real(kind=wp), | intent(in) | :: | dut1 | UT1-UTC (seconds, Note 3) |
||
real(kind=wp), | intent(in) | :: | elong | longitude (radians, east +ve, Note 4) |
||
real(kind=wp), | intent(in) | :: | phi | geodetic latitude (radians, Note 4) |
||
real(kind=wp), | intent(in) | :: | hm | height above ellipsoid (m, geodetic Notes 4,6) |
||
real(kind=wp), | intent(in) | :: | xp | polar motion coordinates (radians, Note 5) |
||
real(kind=wp), | intent(in) | :: | yp | polar motion coordinates (radians, Note 5) |
||
real(kind=wp), | intent(in) | :: | phpa | pressure at the observer (hPa = mB, Note 6) |
||
real(kind=wp), | intent(in) | :: | tc | ambient temperature at the observer (deg C) |
||
real(kind=wp), | intent(in) | :: | rh | relative humidity at the observer (range 0-1) |
||
real(kind=wp), | intent(in) | :: | wl | wavelength (micrometers, Note 7) |
||
real(kind=wp), | intent(out) | :: | aob | observed azimuth (radians: N=0,E=90) |
||
real(kind=wp), | intent(out) | :: | zob | observed zenith distance (radians) |
||
real(kind=wp), | intent(out) | :: | hob | observed hour angle (radians) |
||
real(kind=wp), | intent(out) | :: | dob | observed declination (radians) |
||
real(kind=wp), | intent(out) | :: | rob | observed right ascension (CIO-based, radians) |
||
integer, | intent(out) | :: | j | 0 = OK -1 = unacceptable date |
Quick CIRS to observed place transformation.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | ri | CIRS right ascension |
||
real(kind=wp), | intent(in) | :: | di | CIRS declination |
||
real(kind=wp), | intent(in), | 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) longitude + s' (radians) (23) polar motion xp wrt local meridian (radians) (24) polar motion yp wrt local meridian (radians) (25) sine of geodetic latitude (26) cosine of geodetic latitude (27) magnitude of diurnal aberration vector (28) "local" Earth rotation angle (radians) (29) refraction constant A (radians) (30) refraction constant B (radians) |
|
real(kind=wp), | intent(out) | :: | aob | observed azimuth (radians: N=0,E=90) |
||
real(kind=wp), | intent(out) | :: | zob | observed zenith distance (radians) |
||
real(kind=wp), | intent(out) | :: | hob | observed hour angle (radians) |
||
real(kind=wp), | intent(out) | :: | dob | observed declination (CIO-based, radians) |
||
real(kind=wp), | intent(out) | :: | rob | observed right ascension (CIO-based, radians) |
Observed place at a groundbased site to to ICRS astrometric RA,Dec. The caller supplies UTC, site coordinates, ambient air conditions and observing wavelength.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | type | type of coordinates - 'R', 'H' or 'A' (Notes 1,2) |
||
real(kind=wp), | intent(in) | :: | ob1 | observed Az, HA or RA (radians; Az is N=0,E=90) |
||
real(kind=wp), | intent(in) | :: | ob2 | observed ZD or Dec (radians) |
||
real(kind=wp), | intent(in) | :: | utc1 | UTC as a 2-part... |
||
real(kind=wp), | intent(in) | :: | utc2 | |||
real(kind=wp), | intent(in) | :: | dut1 | UT1-UTC (seconds, Note 5) |
||
real(kind=wp), | intent(in) | :: | elong | longitude (radians, east +ve, Note 6) |
||
real(kind=wp), | intent(in) | :: | phi | geodetic latitude (radians, Note 6) |
||
real(kind=wp), | intent(in) | :: | hm | height above ellipsoid (m, geodetic Notes 6,8) |
||
real(kind=wp), | intent(in) | :: | xp | polar motion coordinates (radians, Note 7) |
||
real(kind=wp), | intent(in) | :: | yp | polar motion coordinates (radians, Note 7) |
||
real(kind=wp), | intent(in) | :: | phpa | pressure at the observer (hPa = mB, Note 8) |
||
real(kind=wp), | intent(in) | :: | tc | ambient temperature at the observer (deg C) |
||
real(kind=wp), | intent(in) | :: | rh | relative humidity at the observer (range 0-1) |
||
real(kind=wp), | intent(in) | :: | wl | wavelength (micrometers, Note 9) |
||
real(kind=wp), | intent(out) | :: | rc | ICRS astrometric RA (radians) |
||
real(kind=wp), | intent(out) | :: | dc | ICRS astrometric Dec (radians) |
||
integer, | intent(out) | :: | j | 0 = OK -1 = unacceptable date |
Observed place to CIRS. The caller supplies UTC, site coordinates, ambient air conditions and observing wavelength.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | type | type of coordinates - 'R', 'H' or 'A' (Notes 1,2) |
||
real(kind=wp), | intent(in) | :: | ob1 | observed Az, HA or RA (radians; Az is N=0,E=90) |
||
real(kind=wp), | intent(in) | :: | ob2 | observed ZD or Dec (radians) |
||
real(kind=wp), | intent(in) | :: | utc1 | UTC as a 2-part... |
||
real(kind=wp), | intent(in) | :: | utc2 | |||
real(kind=wp), | intent(in) | :: | dut1 | UT1-UTC (seconds, Note 5) |
||
real(kind=wp), | intent(in) | :: | elong | longitude (radians, east +ve, Note 6) |
||
real(kind=wp), | intent(in) | :: | phi | geodetic latitude (radians, Note 6) |
||
real(kind=wp), | intent(in) | :: | hm | height above the ellipsoid (meters, Notes 6,8) |
||
real(kind=wp), | intent(in) | :: | xp | polar motion coordinates (radians, Note 7) |
||
real(kind=wp), | intent(in) | :: | yp | polar motion coordinates (radians, Note 7) |
||
real(kind=wp), | intent(in) | :: | phpa | pressure at the observer (hPa = mB, Note 8) |
||
real(kind=wp), | intent(in) | :: | tc | ambient temperature at the observer (deg C) |
||
real(kind=wp), | intent(in) | :: | rh | relative humidity at the observer (range 0-1) |
||
real(kind=wp), | intent(in) | :: | wl | wavelength (micrometers, Note 9) |
||
real(kind=wp), | intent(out) | :: | ri | CIRS right ascension (CIO-based, radians) |
||
real(kind=wp), | intent(out) | :: | di | CIRS declination (radians) |
||
integer, | intent(out) | :: | j | 0 = OK -1 = unacceptable date |
Quick observed place to CIRS, given the star-independent astrometry parameters.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | type | type of coordinates: 'R', 'H' or 'A' (Note 2) |
||
real(kind=wp), | intent(in) | :: | ob1 | observed Az, HA or RA (radians; Az is N=0,E=90) |
||
real(kind=wp), | intent(in) | :: | ob2 | observed ZD or Dec (radians) |
||
real(kind=wp), | intent(in), | 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) longitude + s' (radians) (23) polar motion xp wrt local meridian (radians) (24) polar motion yp wrt local meridian (radians) (25) sine of geodetic latitude (26) cosine of geodetic latitude (27) magnitude of diurnal aberration vector (28) "local" Earth rotation angle (radians) (29) refraction constant A (radians) (30) refraction constant B (radians) |
|
real(kind=wp), | intent(out) | :: | ri | CIRS right ascension (CIO-based, radians) |
||
real(kind=wp), | intent(out) | :: | di | CIRS declination (radians) |
Frame bias components of IAU 2000 precession-nutation models (part of MHB2000 with additions).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(out) | :: | dpsibi | longitude correction |
||
real(kind=wp), | intent(out) | :: | depsbi | obliquity correction |
||
real(kind=wp), | intent(out) | :: | dra | the ICRS RA of the J2000.0 mean equinox |
Frame bias and precession, IAU 2000.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rb | frame bias matrix (Note 2) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rp | precession matrix (Note 3) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rbp | bias-precession matrix (Note 4) |
Frame bias and precession, IAU 2006.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rb | frame bias matrix (Note 2) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rp | precession matrix (Note 3) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rbp | bias-precession matrix (Note 4) |
Extract from the bias-precession-nutation matrix the X,Y coordinates of the Celestial Intermediate Pole.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,3) | :: | rbpn | celestial-to-true matrix (Note 1) |
|
real(kind=wp), | intent(out) | :: | x | Celestial Intermediate Pole (Note 2) |
||
real(kind=wp), | intent(out) | :: | y | Celestial Intermediate Pole (Note 2) |
Form the celestial-to-intermediate matrix for a given date using the IAU 2000A precession-nutation model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rc2i | celestial-to-intermediate matrix (Note 2) |
Form the celestial-to-intermediate matrix for a given date using the IAU 2000B precession-nutation model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rc2i | celestial-to-intermediate matrix (Note 2) |
Form the celestial-to-intermediate matrix for a given date using the IAU 2006 precession and IAU 2000A nutation models.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rc2i | celestial-to-intermediate matrix (Note 2) |
Form the celestial-to-intermediate matrix for a given date given the bias-precession-nutation matrix. IAU 2000.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in), | dimension(3,3) | :: | rbpn | celestial-to-true matrix (Note 2) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rc2i | celestial-to-intermediate matrix (Note 3) |
Form the celestial to intermediate-frame-of-date matrix for a given date when the CIP X,Y coordinates are known. IAU 2000.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | x | Celestial Intermediate Pole (Note 2) |
||
real(kind=wp), | intent(in) | :: | y | Celestial Intermediate Pole (Note 2) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rc2i | celestial-to-intermediate matrix (Note 3) |
Form the celestial to intermediate-frame-of-date matrix given the CIP X,Y and the CIO locator s.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | x | Celestial Intermediate Pole (Note 1) |
||
real(kind=wp), | intent(in) | :: | y | Celestial Intermediate Pole (Note 1) |
||
real(kind=wp), | intent(in) | :: | s | the CIO locator s (Note 2) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rc2i | celestial-to-intermediate matrix (Note 3) |
P-vector to spherical coordinates.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | p | p-vector |
|
real(kind=wp), | intent(out) | :: | theta | longitude angle (radians) |
||
real(kind=wp), | intent(out) | :: | phi | latitude angle (radians) |
Form the celestial to terrestrial matrix given the date, the UT1 and the polar motion, using the IAU 2000A nutation model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | tta | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | ttb | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | uta | UT1 as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | utb | UT1 as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | xp | coordinates of the pole (radians, Note 2) |
||
real(kind=wp), | intent(in) | :: | yp | coordinates of the pole (radians, Note 2) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rc2t | celestial-to-terrestrial matrix (Note 3) |
Form the celestial to terrestrial matrix given the date, the UT1 and the polar motion, using the IAU 2000B nutation model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | tta | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | ttb | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | uta | UT1 as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | utb | UT1 as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | xp | coordinates of the pole (radians, Note 2) |
||
real(kind=wp), | intent(in) | :: | yp | coordinates of the pole (radians, Note 2) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rc2t | celestial-to-terrestrial matrix (Note 3) |
Form the celestial to terrestrial matrix given the date, the UT1 and the polar motion, using the IAU 2006 precession and IAU 2000A nutation models.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | tta | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | ttb | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | uta | UT1 as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | utb | UT1 as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | xp | coordinates of the pole (radians, Note 2) |
||
real(kind=wp), | intent(in) | :: | yp | coordinates of the pole (radians, Note 2) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rc2t | celestial-to-terrestrial matrix (Note 3) |
Assemble the celestial to terrestrial matrix from CIO-based components (the celestial-to-intermediate matrix, the Earth Rotation Angle and the polar motion matrix).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,3) | :: | rc2i | celestial-to-intermediate matrix |
|
real(kind=wp), | intent(in) | :: | era | Earth rotation angle |
||
real(kind=wp), | intent(in), | dimension(3,3) | :: | rpom | polar-motion matrix |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rc2t | celestial-to-terrestrial matrix |
Assemble the celestial to terrestrial matrix from CIO-based components (the celestial-to-intermediate matrix, the Earth Rotation Angle and the polar motion matrix).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,3) | :: | rc2i | celestial-to-intermediate matrix |
|
real(kind=wp), | intent(in) | :: | era | Earth rotation angle (radians) |
||
real(kind=wp), | intent(in), | dimension(3,3) | :: | rpom | polar-motion matrix |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rc2t | celestial-to-terrestrial matrix |
Assemble the celestial to terrestrial matrix from equinox-based components (the celestial-to-true matrix, the Greenwich Apparent Sidereal Time and the polar motion matrix).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,3) | :: | rbpn | celestial-to-true matrix |
|
real(kind=wp), | intent(in) | :: | gst | Greenwich (apparent) Sidereal Time (radians) |
||
real(kind=wp), | intent(in), | dimension(3,3) | :: | rpom | polar-motion matrix |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rc2t | celestial-to-terrestrial matrix (Note 2) |
Form the celestial to terrestrial matrix given the date, the UT1, the nutation and the polar motion. IAU 2000.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | tta | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | ttb | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | uta | UT1 as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | utb | UT1 as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | dpsi | nutation (Note 2) |
||
real(kind=wp), | intent(in) | :: | deps | nutation (Note 2) |
||
real(kind=wp), | intent(in) | :: | xp | coordinates of the pole (radians, Note 3) |
||
real(kind=wp), | intent(in) | :: | yp | coordinates of the pole (radians, Note 3) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rc2t | celestial-to-terrestrial matrix (Note 4) |
Form the celestial to terrestrial matrix given the date, the UT1, the CIP coordinates and the polar motion. IAU 2000.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | tta | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | ttb | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | uta | UT1 as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | utb | UT1 as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | x | Celestial Intermediate Pole (Note 2) |
||
real(kind=wp), | intent(in) | :: | y | Celestial Intermediate Pole (Note 2) |
||
real(kind=wp), | intent(in) | :: | xp | coordinates of the pole (radians, Note 3) |
||
real(kind=wp), | intent(in) | :: | yp | coordinates of the pole (radians, Note 3) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rc2t | celestial-to-terrestrial matrix (Note 4) |
Gregorian Calendar to Julian Date.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | iy | year in Gregorian calendar (Note 1) |
||
integer, | intent(in) | :: | im | month in Gregorian calendar (Note 1) |
||
integer, | intent(in) | :: | id | day in Gregorian calendar (Note 1) |
||
real(kind=wp), | intent(out) | :: | djm0 | MJD zero-point: always 2400000.5 |
||
real(kind=wp), | intent(out) | :: | djm | Modified Julian Date for 0 hrs |
||
integer, | intent(out) | :: | j |
Copy a p-vector.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | p | p-vector to be copied |
|
real(kind=wp), | intent(out), | dimension(3) | :: | c | copy |
Copy a position/velocity vector.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,2) | :: | pv | position/velocity vector to be copied |
|
real(kind=wp), | intent(out), | dimension(3,2) | :: | c | copy |
Copy an r-matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,3) | :: | r | r-matrix to be copied |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | c | copy |
Format for output a 2-part Julian Date (or in the case of UTC a quasi-JD form that includes special provision for leap seconds).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | scale | time scale ID (Note 1) |
||
integer, | intent(in) | :: | ndp | resolution (Note 2) |
||
real(kind=wp), | intent(in) | :: | d1 | time as a 2-part Julian Date (Notes 3,4) |
||
real(kind=wp), | intent(in) | :: | d2 | time as a 2-part Julian Date (Notes 3,4) |
||
integer, | intent(out) | :: | iy | year in Gregorian calendar (Note 5) |
||
integer, | intent(out) | :: | im | month in Gregorian calendar (Note 5) |
||
integer, | intent(out) | :: | id | day in Gregorian calendar (Note 5) |
||
integer, | intent(out), | dimension(4) | :: | ihmsf | hours, minutes, seconds, fraction (Note 1) |
|
integer, | intent(out) | :: | j |
Decompose days to hours, minutes, seconds, fraction.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ndp | resolution (Note 1) |
||
real(kind=wp), | intent(in) | :: | days | interval in days |
||
character(len=*), | intent(out) | :: | sign | '+' or '-' |
||
integer, | intent(out), | dimension(4) | :: | ihmsf | hours, minutes, seconds, fraction |
For a given UTC date, calculate Delta(AT) = TAI-UTC.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | iy | UTC: year (Notes 1 and 2) |
||
integer, | intent(in) | :: | im | UTC: month (Note 2) |
||
integer, | intent(in) | :: | id | UTC: day (Notes 2 and 3) |
||
real(kind=wp), | intent(in) | :: | fd | UTC: fraction of day (Note 4) |
||
real(kind=wp), | intent(out) | :: | deltat | TAI minus UTC, seconds |
||
integer, | intent(out) | :: | j | status (Note 5):
|
Encode date and time fields into 2-part Julian Date (or in the case of UTC a quasi-JD form that includes special provision for leap seconds).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | scale | time scale ID (Note 1) |
||
integer, | intent(in) | :: | iy | year in Gregorian calendar (Note 2) |
||
integer, | intent(in) | :: | im | month in Gregorian calendar (Note 2) |
||
integer, | intent(in) | :: | id | day in Gregorian calendar (Note 2) |
||
integer, | intent(in) | :: | ihr | hour |
||
integer, | intent(in) | :: | imn | minute |
||
real(kind=wp), | intent(in) | :: | sec | seconds |
||
real(kind=wp), | intent(out) | :: | d1 | 2-part Julian Date (Notes 3,4) |
||
real(kind=wp), | intent(out) | :: | d2 | 2-part Julian Date (Notes 3,4) |
||
integer, | intent(out) | :: | j |
Transformation from ecliptic coordinates (mean equinox and ecliptic of date) to ICRS RA,Dec, using the IAU 2006 precession model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | dl | ecliptic longitude and latitude (radians) |
||
real(kind=wp), | intent(in) | :: | db | ecliptic longitude and latitude (radians) |
||
real(kind=wp), | intent(out) | :: | dr | ICRS right ascension and declination (radians) |
||
real(kind=wp), | intent(out) | :: | dd | ICRS right ascension and declination (radians) |
ICRS equatorial to ecliptic rotation matrix, IAU 2006.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rm | ICRS to ecliptic rotation matrix |
Earth reference ellipsoids.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | ellipsoid identifier (Note 1) |
||
real(kind=wp), | intent(out) | :: | a | equatorial radius (meters, Note 2) |
||
real(kind=wp), | intent(out) | :: | f | flattening (Note 2) |
||
integer, | intent(out) | :: | j |
Besselian Epoch to Julian Date.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | epb | Besselian Epoch (e.g. 1957.3D0) |
||
real(kind=wp), | intent(out) | :: | djm0 | MJD zero-point: always 2400000.5 |
||
real(kind=wp), | intent(out) | :: | djm | Modified Julian Date |
Julian Epoch to Julian Date.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | epj | Julian Epoch (e.g. 1996.8) |
||
real(kind=wp), | intent(out) | :: | djm0 | MJD zero-point: always 2400000.5 |
||
real(kind=wp), | intent(out) | :: | djm | Modified Julian Date |
Earth position and velocity, heliocentric and barycentric, with respect to the Barycentric Celestial Reference System.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TDB date part A (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TDB date part B (Note 1) |
||
real(kind=wp), | intent(out), | dimension(3,2) | :: | pvh | heliocentric Earth position/velocity (au,au/day) |
|
real(kind=wp), | intent(out), | dimension(3,2) | :: | pvb | barycentric Earth position/velocity (au,au/day) |
|
integer, | intent(out) | :: | jstat |
Transformation from ICRS equatorial coordinates to ecliptic coordinates (mean equinox and ecliptic of date) using IAU 2006 precession model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | dr | ICRS right ascension (radians) |
||
real(kind=wp), | intent(in) | :: | dd | ICRS declination (radians) |
||
real(kind=wp), | intent(out) | :: | dl | ecliptic longitude (radians) |
||
real(kind=wp), | intent(out) | :: | db | ecliptic latitude (radians) |
Convert B1950.0 FK4 star catalog data to J2000.0 FK5.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | r1950 | B1950.0 RA (rad) |
||
real(kind=wp), | intent(in) | :: | d1950 | B1950.0 Dec (rad) |
||
real(kind=wp), | intent(in) | :: | dr1950 | B1950.0 proper motions (rad/trop.yr) |
||
real(kind=wp), | intent(in) | :: | dd1950 | B1950.0 proper motions (rad/trop.yr) |
||
real(kind=wp), | intent(in) | :: | p1950 | parallax (arcsec) |
||
real(kind=wp), | intent(in) | :: | v1950 | radial velocity (km/s, +ve = moving away) |
||
real(kind=wp), | intent(out) | :: | r2000 | J2000.0 RA (rad) |
||
real(kind=wp), | intent(out) | :: | d2000 | J2000.0 Dec (rad) |
||
real(kind=wp), | intent(out) | :: | dr2000 | J2000.0 proper motions (rad/Jul.yr) |
||
real(kind=wp), | intent(out) | :: | dd2000 | J2000.0 proper motions (rad/Jul.yr) |
||
real(kind=wp), | intent(out) | :: | p2000 | parallax (arcsec) |
||
real(kind=wp), | intent(out) | :: | v2000 | radial velocity (km/s, +ve = moving away) |
Convert a B1950.0 FK4 star position to J2000.0 FK5, assuming zero proper motion in the FK5 system.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | r1950 | B1950.0 FK4 RA at epoch (rad) |
||
real(kind=wp), | intent(in) | :: | d1950 | B1950.0 FK4 Dec at epoch (rad) |
||
real(kind=wp), | intent(in) | :: | bepoch | Besselian epoch (e.g. 1979.3D0) |
||
real(kind=wp), | intent(out) | :: | r2000 | J2000.0 FK5 RA (rad) |
||
real(kind=wp), | intent(out) | :: | d2000 | J2000.0 FK5 Dec (rad) |
Convert J2000.0 FK5 star catalog data to B1950.0 FK4.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | r2000 | J2000.0 RA (rad) |
||
real(kind=wp), | intent(in) | :: | d2000 | J2000.0 Dec (rad) |
||
real(kind=wp), | intent(in) | :: | dr2000 | J2000.0 proper motions (rad/Jul.yr) |
||
real(kind=wp), | intent(in) | :: | dd2000 | J2000.0 proper motions (rad/Jul.yr) |
||
real(kind=wp), | intent(in) | :: | p2000 | parallax (arcsec) |
||
real(kind=wp), | intent(in) | :: | v2000 | radial velocity (km/s, +ve = moving away) |
||
real(kind=wp), | intent(out) | :: | r1950 | B1950.0 RA (rad) |
||
real(kind=wp), | intent(out) | :: | d1950 | B1950.0 Dec (rad) |
||
real(kind=wp), | intent(out) | :: | dr1950 | B1950.0 proper motions (rad/trop.yr) |
||
real(kind=wp), | intent(out) | :: | dd1950 | B1950.0 proper motions (rad/trop.yr) |
||
real(kind=wp), | intent(out) | :: | p1950 | parallax (arcsec) |
||
real(kind=wp), | intent(out) | :: | v1950 | radial velocity (km/s, +ve = moving away) |
Transform FK5 (J2000.0) star data into the Hipparcos system.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | r5 | RA (radians) |
||
real(kind=wp), | intent(in) | :: | d5 | Dec (radians) |
||
real(kind=wp), | intent(in) | :: | dr5 | proper motion in RA (dRA/dt, rad/Jyear) |
||
real(kind=wp), | intent(in) | :: | dd5 | proper motion in Dec (dDec/dt, rad/Jyear) |
||
real(kind=wp), | intent(in) | :: | px5 | parallax (arcsec) |
||
real(kind=wp), | intent(in) | :: | rv5 | radial velocity (km/s, positive = receding) |
||
real(kind=wp), | intent(out) | :: | rh | RA (radians) |
||
real(kind=wp), | intent(out) | :: | dh | Dec (radians) |
||
real(kind=wp), | intent(out) | :: | drh | proper motion in RA (dRA/dt, rad/Jyear) |
||
real(kind=wp), | intent(out) | :: | ddh | proper motion in Dec (dDec/dt, rad/Jyear) |
||
real(kind=wp), | intent(out) | :: | pxh | parallax (arcsec) |
||
real(kind=wp), | intent(out) | :: | rvh | radial velocity (km/s, positive = receding) |
Convert a J2000.0 FK5 star position to B1950.0 FK4, assuming zero proper motion in FK5 and parallax.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | r2000 | J2000.0 FK5 RA (rad) |
||
real(kind=wp), | intent(in) | :: | d2000 | J2000.0 FK5 Dec (rad) |
||
real(kind=wp), | intent(in) | :: | bepoch | Besselian epoch (e.g. 1950D0) |
||
real(kind=wp), | intent(out) | :: | r1950 | B1950.0 FK4 RA (rad) at epoch BEPOCH |
||
real(kind=wp), | intent(out) | :: | d1950 | B1950.0 FK4 Dec (rad) at epoch BEPOCH |
||
real(kind=wp), | intent(out) | :: | dr1950 | B1950.0 FK4 proper motions (rad/trop.yr) |
||
real(kind=wp), | intent(out) | :: | dd1950 | B1950.0 FK4 proper motions (rad/trop.yr) |
FK5 to Hipparcos rotation and spin.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(out), | dimension(3,3) | :: | r5h | r-matrix: FK5 rotation wrt Hipparcos (Note 2) |
|
real(kind=wp), | intent(out), | dimension(3) | :: | s5h |
Transform an FK5 (J2000.0) star position into the system of the Hipparcos catalogue, assuming zero Hipparcos proper motion.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | r5 | FK5 RA (radians), equinox J2000.0, at date |
||
real(kind=wp), | intent(in) | :: | d5 | FK5 Dec (radians), equinox J2000.0, at date |
||
real(kind=wp), | intent(in) | :: | date1 | TDB date (Notes 1,2) |
||
real(kind=wp), | intent(in) | :: | date2 | TDB date (Notes 1,2) |
||
real(kind=wp), | intent(out) | :: | rh | Hipparcos RA (radians) |
||
real(kind=wp), | intent(out) | :: | dh | Hipparcos Dec (radians) |
Form rotation matrix given the Fukushima-Williams angles.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | gamb | F-W angle gamma_bar (radians) |
||
real(kind=wp), | intent(in) | :: | phib | F-W angle phi_bar (radians) |
||
real(kind=wp), | intent(in) | :: | psi | F-W angle psi (radians) |
||
real(kind=wp), | intent(in) | :: | eps | F-W angle epsilon (radians) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | r | rotation matrix |
CIP X,Y given Fukushima-Williams bias-precession-nutation angles.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | gamb | F-W angle gamma_bar (radians) |
||
real(kind=wp), | intent(in) | :: | phib | F-W angle phi_bar (radians) |
||
real(kind=wp), | intent(in) | :: | psi | F-W angle psi (radians) |
||
real(kind=wp), | intent(in) | :: | eps | F-W angle epsilon (radians) |
||
real(kind=wp), | intent(out) | :: | x | CIP unit vector X,Y |
||
real(kind=wp), | intent(out) | :: | y | CIP unit vector X,Y |
Transformation from Galactic Coordinates to ICRS.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | dl | galactic longitude (radians) |
||
real(kind=wp), | intent(in) | :: | db | galactic latitude (radians) |
||
real(kind=wp), | intent(out) | :: | dr | ICRS right ascension (radians) |
||
real(kind=wp), | intent(out) | :: | dd | ICRS declination (radians) |
Transform geocentric coordinates to geodetic using the specified reference ellipsoid.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | ellipsoid identifier (Note 1) |
||
real(kind=wp), | intent(in), | dimension(3) | :: | xyz | geocentric vector (Note 2) |
|
real(kind=wp), | intent(out) | :: | elong | longitude (radians, east +ve, Note 3) |
||
real(kind=wp), | intent(out) | :: | phi | latitude (geodetic, radians, Note 3) |
||
real(kind=wp), | intent(out) | :: | height | height above ellipsoid (geodetic, Notes 2,3) |
||
integer, | intent(out) | :: | j |
Transform geocentric coordinates to geodetic for a reference ellipsoid of specified form.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | a | equatorial radius (Notes 2,4) |
||
real(kind=wp), | intent(in) | :: | f | flattening (Note 3) |
||
real(kind=wp), | intent(in), | dimension(3) | :: | xyz | geocentric vector (Note 4) |
|
real(kind=wp), | intent(out) | :: | elong | longitude (radians, east +ve) |
||
real(kind=wp), | intent(out) | :: | phi | latitude (geodetic, radians) |
||
real(kind=wp), | intent(out) | :: | height | height above ellipsoid (geodetic, Note 4) |
||
integer, | intent(out) | :: | j |
Transform geodetic coordinates to geocentric using the specified reference ellipsoid.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | ellipsoid identifier (Note 1) |
||
real(kind=wp), | intent(in) | :: | elong | longitude (radians, east +ve) |
||
real(kind=wp), | intent(in) | :: | phi | latitude (geodetic, radians, Note 3) |
||
real(kind=wp), | intent(in) | :: | height | height above ellipsoid (geodetic, Notes 2,3) |
||
real(kind=wp), | intent(out), | dimension(3) | :: | xyz | geocentric vector (Note 2) |
|
integer, | intent(out) | :: | j |
Transform geodetic coordinates to geocentric for a reference ellipsoid of specified form.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | a | equatorial radius (Notes 1,4) |
||
real(kind=wp), | intent(in) | :: | f | flattening (Notes 2,4) |
||
real(kind=wp), | intent(in) | :: | elong | longitude (radians, east +ve) |
||
real(kind=wp), | intent(in) | :: | phi | latitude (geodetic, radians, Note 4) |
||
real(kind=wp), | intent(in) | :: | height | height above ellipsoid (geodetic, Notes 3,4) |
||
real(kind=wp), | intent(out), | dimension(3) | :: | xyz | geocentric vector (Note 3) |
|
integer, | intent(out) | :: | j |
Transform Hipparcos star data into the FK5 (J2000.0) system.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | rh | RA (radians) [Hipparcos, epoch J2000.0] |
||
real(kind=wp), | intent(in) | :: | dh | Dec (radians) [Hipparcos, epoch J2000.0] |
||
real(kind=wp), | intent(in) | :: | drh | proper motion in RA (dRA/dt, rad/Jyear) [Hipparcos, epoch J2000.0] |
||
real(kind=wp), | intent(in) | :: | ddh | proper motion in Dec (dDec/dt, rad/Jyear) [Hipparcos, epoch J2000.0] |
||
real(kind=wp), | intent(in) | :: | pxh | parallax (arcsec) [Hipparcos, epoch J2000.0] |
||
real(kind=wp), | intent(in) | :: | rvh | radial velocity (km/s, positive = receding) [Hipparcos, epoch J2000.0] |
||
real(kind=wp), | intent(out) | :: | r5 | RA (radians) [FK5, equinox J2000.0, epoch J2000.0] |
||
real(kind=wp), | intent(out) | :: | d5 | Dec (radians) [FK5, equinox J2000.0, epoch J2000.0] |
||
real(kind=wp), | intent(out) | :: | dr5 | proper motion in RA (dRA/dt, rad/Jyear) [FK5, equinox J2000.0, epoch J2000.0] |
||
real(kind=wp), | intent(out) | :: | dd5 | proper motion in Dec (dDec/dt, rad/Jyear) [FK5, equinox J2000.0, epoch J2000.0] |
||
real(kind=wp), | intent(out) | :: | px5 | parallax (arcsec) [FK5, equinox J2000.0, epoch J2000.0] |
||
real(kind=wp), | intent(out) | :: | rv5 | radial velocity (km/s, positive = receding) [FK5, equinox J2000.0, epoch J2000.0] |
Equatorial to horizon coordinates: transform hour angle and declination to azimuth and altitude.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | ha | hour angle (local) |
||
real(kind=wp), | intent(in) | :: | dec | declination |
||
real(kind=wp), | intent(in) | :: | phi | site latitude |
||
real(kind=wp), | intent(out) | :: | az | azimuth |
||
real(kind=wp), | intent(out) | :: | el | altitude (informally, elevation) |
Transform a Hipparcos star position into FK5 J2000.0, assuming zero Hipparcos proper motion.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | rh | Hipparcos RA (radians) |
||
real(kind=wp), | intent(in) | :: | dh | Hipparcos Dec (radians) |
||
real(kind=wp), | intent(in) | :: | date1 | TDB date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TDB date (Note 1) |
||
real(kind=wp), | intent(out) | :: | r5 | RA (radians) [FK5, equinox J2000.0, date DATE1+DATE2] |
||
real(kind=wp), | intent(out) | :: | d5 | Dec (radians) [FK5, equinox J2000.0, date DATE1+DATE2] |
||
real(kind=wp), | intent(out) | :: | dr5 | FK5 RA proper motion (rad/year, Note 4) [FK5, equinox J2000.0, date DATE1+DATE2] |
||
real(kind=wp), | intent(out) | :: | dd5 | Dec proper motion (rad/year, Note 4) [FK5, equinox J2000.0, date DATE1+DATE2] |
Transformation from ICRS to Galactic Coordinates.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | dr | ICRS right ascension (radians) |
||
real(kind=wp), | intent(in) | :: | dd | ICRS declination (radians) |
||
real(kind=wp), | intent(out) | :: | dl | galactic longitude (radians) |
||
real(kind=wp), | intent(out) | :: | db | galactic latitude (radians) |
Initialize an r-matrix to the identity matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(out), | dimension(3,3) | :: | r | r-matrix |
Julian Date to Gregorian year, month, day, and fraction of a day.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | dj1 | Julian Date (Notes 1, 2) |
||
real(kind=wp), | intent(in) | :: | dj2 | Julian Date (Notes 1, 2) |
||
integer, | intent(out) | :: | iy | year |
||
integer, | intent(out) | :: | im | month |
||
integer, | intent(out) | :: | id | day |
||
real(kind=wp), | intent(out) | :: | fd | fraction of day |
||
integer, | intent(out) | :: | j |
Julian Date to Gregorian Calendar, expressed in a form convenient for formatting messages: rounded to a specified precision, and with the fields stored in a single array.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | ndp | number of decimal places of days in fraction |
||
real(kind=wp), | intent(in) | :: | dj1 | DJ1+DJ2 = Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | dj2 | DJ1+DJ2 = Julian Date (Note 1) |
||
integer, | intent(out), | dimension(4) | :: | iymdf | year, month, day, fraction in Gregorian calendar |
|
integer, | intent(out) | :: | j |
Apply light deflection by a solar-system body, as part of transforming coordinate direction into natural direction.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | bm | mass of the gravitating body (solar masses) |
||
real(kind=wp), | intent(in), | dimension(3) | :: | p | direction from observer to source (unit vector) |
|
real(kind=wp), | intent(in), | dimension(3) | :: | q | direction from body to source (unit vector) |
|
real(kind=wp), | intent(in), | dimension(3) | :: | e | direction from body to observer (unit vector) |
|
real(kind=wp), | intent(in) | :: | em | distance from body to observer (au) |
||
real(kind=wp), | intent(in) | :: | dlim | deflection limiter (Note 4) |
||
real(kind=wp), | intent(out), | dimension(3) | :: | p1 | observer to deflected source (unit vector) |
For a star, apply light deflection by multiple solar-system bodies, as part of transforming coordinate direction into natural direction.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | n | number of bodies (Note 1) |
||
real(kind=wp), | intent(in), | dimension(8,n) | :: | b | data for each of the N bodies (Notes 1,2): (1,I) mass of the body (solar masses, Note 3) (2,I) deflection limiter (Note 4) (3-5,I) barycentric position of the body (au) (6-8,I) barycentric velocity of the body (au/day) |
|
real(kind=wp), | intent(in), | dimension(3) | :: | ob | barycentric position of the observer (au) |
|
real(kind=wp), | intent(in), | dimension(3) | :: | sc | observer to star coordinate direction (unit vector) |
|
real(kind=wp), | intent(out), | dimension(3) | :: | sn | observer to deflected star (unit vector) |
Deflection of starlight by the Sun.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | p | direction from observer to star (unit vector) |
|
real(kind=wp), | intent(in), | dimension(3) | :: | e | direction from Sun to observer (unit vector) |
|
real(kind=wp), | intent(in) | :: | em | distance from Sun to observer (au) |
||
real(kind=wp), | intent(out), | dimension(3) | :: | p1 | observer to deflected star (unit vector) |
Transformation from ecliptic coordinates (mean equinox and ecliptic of date) to ICRS RA,Dec, using a long-term precession model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | epj | Julian epoch (TT) |
||
real(kind=wp), | intent(in) | :: | dl | ecliptic longitude (radians) |
||
real(kind=wp), | intent(in) | :: | db | ecliptic latitude (radians) |
||
real(kind=wp), | intent(out) | :: | dr | ICRS right ascension (radians) |
||
real(kind=wp), | intent(out) | :: | dd | ICRS declination (radians) |
ICRS equatorial to ecliptic rotation matrix, long-term.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | epj | Julian epoch (TT) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rm | ICRS to ecliptic rotation matrix |
Transformation from ICRS equatorial coordinates to ecliptic coordinates (mean equinox and ecliptic of date), using a long-term precession model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | epj | Julian epoch (TT) |
||
real(kind=wp), | intent(in) | :: | dr | ICRS right ascension (radians) |
||
real(kind=wp), | intent(in) | :: | dd | ICRS right declination (radians) |
||
real(kind=wp), | intent(out) | :: | dl | ecliptic longitude (radians) |
||
real(kind=wp), | intent(out) | :: | db | ecliptic latitude (radians) |
Long-term precession matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | epj | Julian epoch (TT) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rp | precession matrix, J2000.0 to date |
Long-term precession matrix, including ICRS frame bias.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | epj | Julian epoch (TT) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rpb | precession-bias matrix, J2000.0 to date |
Long-term precession of the ecliptic.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | epj | Julian epoch (TT) |
||
real(kind=wp), | intent(out), | dimension(3) | :: | vec | ecliptic pole unit vector |
Long-term precession of the equator.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | epj | Julian epoch (TT) |
||
real(kind=wp), | intent(out), | dimension(3) | :: | veq | equator pole unit vector |
Form the matrix of nutation for a given date, IAU 2000A model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rmatn | nutation matrix |
Form the matrix of nutation for a given date, IAU 2000B model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rmatn | nutation matrix |
Form the matrix of nutation for a given date, IAU 2006/2000A model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rmatn | nutation matrix |
Form the matrix of nutation.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | epsa | mean obliquity of date (Note 1) |
||
real(kind=wp), | intent(in) | :: | dpsi | nutation (Note 2) |
||
real(kind=wp), | intent(in) | :: | deps | nutation (Note 2) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rmatn | nutation matrix (Note 3) |
Nutation, IAU 2000A model (MHB2000 luni-solar and planetary nutation with free core nutation omitted).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out) | :: | dpsi | nutation, luni-solar + planetary (Note 2) |
||
real(kind=wp), | intent(out) | :: | deps | nutation, luni-solar + planetary (Note 2) |
Nutation, IAU 2000B model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out) | :: | dpsi | nutation, luni-solar + planetary (Note 2) |
||
real(kind=wp), | intent(out) | :: | deps | nutation, luni-solar + planetary (Note 2) |
IAU 2000A nutation with adjustments to match the IAU 2006 precession.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out) | :: | dpsi | nutation, luni-solar + planetary (Note 2) |
||
real(kind=wp), | intent(out) | :: | deps | nutation, luni-solar + planetary (Note 2) |
Nutation, IAU 1980 model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out) | :: | dpsi | nutation in longitude (radians) |
||
real(kind=wp), | intent(out) | :: | deps | nutation in obliquity (radians) |
Form the matrix of nutation for a given date, IAU 1980 model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TDB date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TDB date (Note 1) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rmatn | nutation matrix |
Precession angles, IAU 2006, equinox based.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out) | :: | eps0 | epsilon_0 [see Note 2] |
||
real(kind=wp), | intent(out) | :: | psia | psi_A [see Note 2] |
||
real(kind=wp), | intent(out) | :: | oma | omega_A [see Note 2] |
||
real(kind=wp), | intent(out) | :: | bpa | P_A [see Note 2] |
||
real(kind=wp), | intent(out) | :: | bqa | Q_A [see Note 2] |
||
real(kind=wp), | intent(out) | :: | pia | pi_A [see Note 2] |
||
real(kind=wp), | intent(out) | :: | bpia | Pi_A [see Note 2] |
||
real(kind=wp), | intent(out) | :: | epsa | obliquity epsilon_A [see Note 2] |
||
real(kind=wp), | intent(out) | :: | chia | chi_A [see Note 2] |
||
real(kind=wp), | intent(out) | :: | za | z_A [see Note 2] |
||
real(kind=wp), | intent(out) | :: | zetaa | zeta_A [see Note 2] |
||
real(kind=wp), | intent(out) | :: | thetaa | theta_A [see Note 2] |
||
real(kind=wp), | intent(out) | :: | pa | p_A [see Note 2] |
||
real(kind=wp), | intent(out) | :: | gam | F-W angle gamma_J2000 [see Note 2] |
||
real(kind=wp), | intent(out) | :: | phi | F-W angle phi_J2000 [see Note 2] |
||
real(kind=wp), | intent(out) | :: | psi | F-W angle psi_J2000 [see Note 2] |
Extend a p-vector to a pv-vector by appending a zero velocity.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | p | p-vector |
|
real(kind=wp), | intent(out), | dimension(3,2) | :: | pv | pv-vector |
P-vector to spherical polar coordinates.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | p | p-vector |
|
real(kind=wp), | intent(out) | :: | theta | longitude angle (radians) |
||
real(kind=wp), | intent(out) | :: | phi | latitude angle (radians) |
||
real(kind=wp), | intent(out) | :: | r | radial distance |
Position-angle from two p-vectors.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | a | direction of reference point |
|
real(kind=wp), | intent(in), | dimension(3) | :: | b | direction of point whose PA is required |
|
real(kind=wp), | intent(out) | :: | theta | position angle of B with respect to A (radians) |
Position-angle from spherical coordinates.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | al | longitude of point A (e.g. RA) in radians |
||
real(kind=wp), | intent(in) | :: | ap | latitude of point A (e.g. Dec) in radians |
||
real(kind=wp), | intent(in) | :: | bl | longitude of point B |
||
real(kind=wp), | intent(in) | :: | bp | latitude of point B |
||
real(kind=wp), | intent(out) | :: | theta | position angle of B with respect to A |
This routine forms three Euler angles which implement general precession from epoch J2000.0, using the IAU 2006 model. Frame bias (the offset between ICRS and mean J2000.0) is included.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out) | :: | bzeta | 1st rotation: radians clockwise around z |
||
real(kind=wp), | intent(out) | :: | bz | 3rd rotation: radians clockwise around z |
||
real(kind=wp), | intent(out) | :: | btheta | 2nd rotation: radians counterclockwise around y |
p-vector inner (=scalar=dot) product.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | a | first p-vector |
|
real(kind=wp), | intent(in), | dimension(3) | :: | b | second p-vector |
|
real(kind=wp), | intent(out) | :: | adb | A . B |
Precession angles, IAU 2006 (Fukushima-Williams 4-angle formulation).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out) | :: | gamb | F-W angle gamma_bar (radians) |
||
real(kind=wp), | intent(out) | :: | phib | F-W angle phi_bar (radians) |
||
real(kind=wp), | intent(out) | :: | psib | F-W angle psi_bar (radians) |
||
real(kind=wp), | intent(out) | :: | epsa | F-W angle epsilon_A (radians) |
Approximate heliocentric position and velocity of a nominated major planet: Mercury, Venus, EMB, Mars, Jupiter, Saturn, Uranus or Neptune (but not the Earth itself).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TDB date part A (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TDB date part B (Note 1) |
||
integer, | intent(in) | :: | np | planet (1=Mercury, 2=Venus, 3=EMB ... 8=Neptune) |
||
real(kind=wp), | intent(out), | dimension(3,2) | :: | pv | planet pos,vel (heliocentric, J2000.0, au, au/d) |
|
integer, | intent(out) | :: | j |
Modulus of p-vector.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | p | p-vector |
|
real(kind=wp), | intent(out) | :: | r | modulus |
Precession matrix (including frame bias) from GCRS to a specified date, IAU 2000 model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rbp | bias-precession matrix (Note 2) |
Precession matrix (including frame bias) from GCRS to a specified date, IAU 2006 model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rbp | bias-precession matrix (Note 2) |
Precession matrix from J2000.0 to a specified date, IAU 1976 model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | ending date, TT (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | ending date, TT (Note 1) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rmatp | precession matrix, J2000.0 -> DATE1+DATE2 |
P-vector subtraction.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | a | first p-vector |
|
real(kind=wp), | intent(in), | dimension(3) | :: | b | second p-vector |
|
real(kind=wp), | intent(out), | dimension(3) | :: | amb | A - B |
Proper motion and parallax.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | rc | ICRS RA at catalog epoch (radians) |
||
real(kind=wp), | intent(in) | :: | dc | ICRS Dec at catalog epoch (radians) |
||
real(kind=wp), | intent(in) | :: | pr | RA proper motion (radians/year; Note 1) |
||
real(kind=wp), | intent(in) | :: | pd | Dec proper motion (radians/year) |
||
real(kind=wp), | intent(in) | :: | px | parallax (arcsec) |
||
real(kind=wp), | intent(in) | :: | rv | radial velocity (km/s, +ve if receding) |
||
real(kind=wp), | intent(in) | :: | pmt | proper motion time interval (SSB, Julian years) |
||
real(kind=wp), | intent(in), | dimension(3) | :: | pob | SSB to observer vector (au) |
|
real(kind=wp), | intent(out), | dimension(3) | :: | pco | coordinate direction (BCRS unit vector) |
Star proper motion: update star catalog data for space motion, with special handling to handle the zero parallax case.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | ra1 | right ascension (radians), before |
||
real(kind=wp), | intent(in) | :: | dec1 | declination (radians), before |
||
real(kind=wp), | intent(in) | :: | pmr1 | RA proper motion (radians/year), before |
||
real(kind=wp), | intent(in) | :: | pmd1 | Dec proper motion (radians/year), before |
||
real(kind=wp), | intent(in) | :: | px1 | parallax (arcseconds), before |
||
real(kind=wp), | intent(in) | :: | rv1 | radial velocity (km/s, +ve = receding), before |
||
real(kind=wp), | intent(in) | :: | ep1a | "before" epoch, part A (Note 1) |
||
real(kind=wp), | intent(in) | :: | ep1b | "before" epoch, part B (Note 1) |
||
real(kind=wp), | intent(in) | :: | ep2a | "after" epoch, part A (Note 1) |
||
real(kind=wp), | intent(in) | :: | ep2b | "after" epoch, part B (Note 1) |
||
real(kind=wp), | intent(out) | :: | ra2 | right ascension (radians), after |
||
real(kind=wp), | intent(out) | :: | dec2 | declination (radians), after |
||
real(kind=wp), | intent(out) | :: | pmr2 | RA proper motion (radians/year), after |
||
real(kind=wp), | intent(out) | :: | pmd2 | Dec proper motion (radians/year), after |
||
real(kind=wp), | intent(out) | :: | px2 | parallax (arcseconds), after |
||
real(kind=wp), | intent(out) | :: | rv2 | radial velocity (km/s, +ve = receding), after |
||
integer, | intent(out) | :: | j |
Convert a p-vector into modulus and unit vector.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | p | p-vector |
|
real(kind=wp), | intent(out) | :: | r | modulus |
||
real(kind=wp), | intent(out), | dimension(3) | :: | u | unit vector |
Precession-nutation, IAU 2000 model: a multi-purpose routine, supporting classical (equinox-based) use directly and CIO-based use indirectly.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | dpsi | nutation (Note 2) |
||
real(kind=wp), | intent(in) | :: | deps | nutation (Note 2) |
||
real(kind=wp), | intent(out) | :: | epsa | mean obliquity (Note 3) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rb | frame bias matrix (Note 4) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rp | precession matrix (Note 5) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rbp | bias-precession matrix (Note 6) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rn | nutation matrix (Note 7) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rbpn | GCRS-to-true matrix (Note 8) |
Precession-nutation, IAU 2000A model: a multi-purpose routine, supporting classical (equinox-based) use directly and CIO-based use indirectly.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out) | :: | dpsi | nutation (Note 2) |
||
real(kind=wp), | intent(out) | :: | deps | nutation (Note 2) |
||
real(kind=wp), | intent(out) | :: | epsa | mean obliquity (Note 3) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rb | frame bias matrix (Note 4) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rp | precession matrix (Note 5) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rbp | bias-precession matrix (Note 6) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rn | nutation matrix (Note 7) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rbpn | GCRS-to-true matrix (Notes 8,9) |
Precession-nutation, IAU 2000B model: a multi-purpose routine, supporting classical (equinox-based) use directly and CIO-based use indirectly.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out) | :: | dpsi | nutation (Note 2) |
||
real(kind=wp), | intent(out) | :: | deps | nutation (Note 2) |
||
real(kind=wp), | intent(out) | :: | epsa | mean obliquity (Note 3) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rb | frame bias matrix (Note 4) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rp | precession matrix (Note 5) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rbp | bias-precession matrix (Note 6) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rn | nutation matrix (Note 7) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rbpn | GCRS-to-true matrix (Notes 8,9) |
Precession-nutation, IAU 2006 model: a multi-purpose routine, supporting classical (equinox-based) use directly and CIO-based use indirectly.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | dpsi | nutation (Note 2) |
||
real(kind=wp), | intent(in) | :: | deps | nutation (Note 2) |
||
real(kind=wp), | intent(out) | :: | epsa | mean obliquity (Note 3) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rb | frame bias matrix (Note 4) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rp | precession matrix (Note 5) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rbp | bias-precession matrix (Note 6) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rn | nutation matrix (Note 7) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rbpn | GCRS-to-true matrix (Note 8) |
Precession-nutation, IAU 2006/2000A models: a multi-purpose routine, supporting classical (equinox-based) use directly and CIO-based use indirectly.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out) | :: | dpsi | nutation (Note 2) |
||
real(kind=wp), | intent(out) | :: | deps | nutation (Note 2) |
||
real(kind=wp), | intent(out) | :: | epsa | mean obliquity (Note 3) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rb | frame bias matrix (Note 4) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rp | precession matrix (Note 5) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rbp | bias-precession matrix (Note 6) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rn | nutation matrix (Note 7) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rbpn | GCRS-to-true matrix (Notes 8,9) |
Form the matrix of precession-nutation for a given date (including frame bias), equinox-based, IAU 2000A model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rbpn | classical NPB matrix (Note 2) |
Form the matrix of precession-nutation for a given date (including frame bias), equinox-based, IAU 2000B model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rbpn | bias-precession-nutation matrix (Note 2) |
Form the matrix of precession-nutation for a given date (including frame bias), IAU 2006 precession and IAU 2000A nutation models.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rnpb | bias-precession-nutation matrix (Note 2) |
Form the matrix of precession/nutation for a given date, IAU 1976 precession model, IAU 1980 nutation model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TDB date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TDB date (Note 1) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rmatpn | combined precession/nutation matrix |
Form the matrix of polar motion for a given date, IAU 2000.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | xp | coordinates of the pole (radians, Note 1) |
||
real(kind=wp), | intent(in) | :: | yp | coordinates of the pole (radians, Note 1) |
||
real(kind=wp), | intent(in) | :: | sp | the TIO locator s' (radians, Note 2) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | rpom | polar-motion matrix (Note 3) |
P-vector addition.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | a | first p-vector |
|
real(kind=wp), | intent(in), | dimension(3) | :: | b | second p-vector |
|
real(kind=wp), | intent(out), | dimension(3) | :: | apb | A + B |
P-vector plus scaled p-vector.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | a | first p-vector |
|
real(kind=wp), | intent(in) | :: | s | scalar (multiplier for B) |
||
real(kind=wp), | intent(in), | dimension(3) | :: | b | second p-vector |
|
real(kind=wp), | intent(out), | dimension(3) | :: | apsb | A + S*B |
Precession-rate part of the IAU 2000 precession-nutation models (part of MHB2000).
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out) | :: | dpsipr | precession corrections (Notes 2,3) |
||
real(kind=wp), | intent(out) | :: | depspr | precession corrections (Notes 2,3) |
IAU 1976 precession model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date01 | TDB starting date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date02 | TDB starting date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date11 | TDB ending date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date12 | TDB ending date (Note 1) |
||
real(kind=wp), | intent(out) | :: | zeta | 1st rotation: radians clockwise around z |
||
real(kind=wp), | intent(out) | :: | z | 3rd rotation: radians clockwise around z |
||
real(kind=wp), | intent(out) | :: | theta | 2nd rotation: radians counterclockwise around y |
Discard velocity component of a pv-vector.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,2) | :: | pv | pv-vector |
|
real(kind=wp), | intent(out), | dimension(3) | :: | p | p-vector |
Convert position/velocity from Cartesian to spherical coordinates.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,2) | :: | pv | pv-vector |
|
real(kind=wp), | intent(out) | :: | theta | longitude angle (radians) |
||
real(kind=wp), | intent(out) | :: | phi | latitude angle (radians) |
||
real(kind=wp), | intent(out) | :: | r | radial distance |
||
real(kind=wp), | intent(out) | :: | td | rate of change of THETA |
||
real(kind=wp), | intent(out) | :: | pd | rate of change of PHI |
||
real(kind=wp), | intent(out) | :: | rd | rate of change of R |
Inner (=scalar=dot) product of two pv-vectors.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,2) | :: | a | first pv-vector |
|
real(kind=wp), | intent(in), | dimension(3,2) | :: | b | second pv-vector |
|
real(kind=wp), | intent(out), | dimension(2) | :: | adb | A . B (see note) |
Modulus of pv-vector.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,2) | :: | pv | pv-vector |
|
real(kind=wp), | intent(out) | :: | r | modulus of position component |
||
real(kind=wp), | intent(out) | :: | s | modulus of velocity component |
Subtract one pv-vector from another.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,2) | :: | a | first pv-vector |
|
real(kind=wp), | intent(in), | dimension(3,2) | :: | b | second pv-vector |
|
real(kind=wp), | intent(out), | dimension(3,2) | :: | amb | A - B |
Add one pv-vector to another.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,2) | :: | a | first pv-vector |
|
real(kind=wp), | intent(in), | dimension(3,2) | :: | b | second pv-vector |
|
real(kind=wp), | intent(out), | dimension(3,2) | :: | apb | A + B |
Convert star position+velocity vector to catalog coordinates.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(inout), | dimension(3,2) | :: | pv | pv-vector (au, au/day) [see Note 1] |
|
real(kind=wp), | intent(out) | :: | ra | right ascension (radians) [see Note 2] |
||
real(kind=wp), | intent(out) | :: | dec | declination (radians) [see Note 2] |
||
real(kind=wp), | intent(out) | :: | pmr | RA proper motion (radians/year) [see Note 2] |
||
real(kind=wp), | intent(out) | :: | pmd | Dec proper motion (radians/year) [see Note 2] |
||
real(kind=wp), | intent(out) | :: | px | parallax (arcsec) [see Note 2] |
||
real(kind=wp), | intent(out) | :: | rv | radial velocity (km/s, positive = receding) [see Note 2] |
||
integer, | intent(out) | :: | j | status [see Note 2]: * 0 = OK * -1 = superluminal speed (Note 5) * -2 = null position vector |
Position and velocity of a terrestrial observing station.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | elong | longitude (radians, east +ve, Note 1) |
||
real(kind=wp), | intent(in) | :: | phi | latitude (geodetic, radians, Note 1) |
||
real(kind=wp), | intent(in) | :: | hm | height above reference ellipsoid (geodetic, m) |
||
real(kind=wp), | intent(in) | :: | xp | coordinates of the pole (radians, Note 2) |
||
real(kind=wp), | intent(in) | :: | yp | coordinates of the pole (radians, Note 2) |
||
real(kind=wp), | intent(in) | :: | sp | the TIO locator s' (radians, Note 2) |
||
real(kind=wp), | intent(in) | :: | theta | Earth rotation angle (radians, Note 3) |
||
real(kind=wp), | intent(out), | dimension(3,2) | :: | pv | position/velocity vector (m, m/s, CIRS) |
Update a pv-vector.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | dt | time interval |
||
real(kind=wp), | intent(in), | dimension(3,2) | :: | pv | pv-vector |
|
real(kind=wp), | intent(out), | dimension(3,2) | :: | upv | p updated, v unchanged |
Update a pv-vector, discarding the velocity component.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | dt | time interval |
||
real(kind=wp), | intent(in), | dimension(3,2) | :: | pv | pv-vector |
|
real(kind=wp), | intent(out), | dimension(3) | :: | p | p-vector |
Outer (=vector=cross) product of two pv-vectors.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,2) | :: | a | first pv-vector |
|
real(kind=wp), | intent(in), | dimension(3,2) | :: | b | second pv-vector |
|
real(kind=wp), | intent(out), | dimension(3,2) | :: | axb | A x B |
p-vector outer (=vector=cross) product.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | a | first p-vector |
|
real(kind=wp), | intent(in), | dimension(3) | :: | b | second p-vector |
|
real(kind=wp), | intent(out), | dimension(3) | :: | axb | A x B |
Determine the constants A and B in the atmospheric refraction model dZ = A tan Z + B tan^3 Z.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | phpa | pressure at the observer (hPa = millibar) |
||
real(kind=wp), | intent(in) | :: | tc | ambient temperature at the observer (deg C) |
||
real(kind=wp), | intent(in) | :: | rh | relative humidity at the observer (range 0-1) |
||
real(kind=wp), | intent(in) | :: | wl | wavelength (micrometers) |
||
real(kind=wp), | intent(out) | :: | refa | tan Z coefficient (radians) |
||
real(kind=wp), | intent(out) | :: | refb | tan^3 Z coefficient (radians) |
Express an r-matrix as an r-vector.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,3) | :: | r | rotation matrix |
|
real(kind=wp), | intent(out), | dimension(3) | :: | w | rotation vector (Note 1) |
Form the r-matrix corresponding to a given r-vector.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | w | rotation vector (Note 1) |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | r | rotation matrix |
Rotate an r-matrix about the x-axis.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | phi | angle (radians) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | r | r-matrix, rotated |
Multiply a p-vector by an r-matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,3) | :: | r | r-matrix |
|
real(kind=wp), | intent(in), | dimension(3) | :: | p | p-vector |
|
real(kind=wp), | intent(out), | dimension(3) | :: | rp | R * P |
Multiply a pv-vector by an r-matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,3) | :: | r | r-matrix |
|
real(kind=wp), | intent(in), | dimension(3,2) | :: | pv | pv-vector |
|
real(kind=wp), | intent(out), | dimension(3,2) | :: | rpv | R * PV |
Multiply two r-matrices.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,3) | :: | a | first r-matrix |
|
real(kind=wp), | intent(in), | dimension(3,3) | :: | b | second r-matrix |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | atb | A * B |
Rotate an r-matrix about the y-axis.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | theta | angle (radians) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | r | r-matrix, rotated |
Rotate an r-matrix about the z-axis.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | psi | angle (radians) |
||
real(kind=wp), | intent(out), | dimension(3,3) | :: | r | r-matrix, rotated |
Convert spherical coordinates to Cartesian.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | theta | longitude angle (radians) |
||
real(kind=wp), | intent(in) | :: | phi | latitude angle (radians) |
||
real(kind=wp), | intent(out), | dimension(3) | :: | c | direction cosines |
Convert spherical polar coordinates to p-vector.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | theta | longitude angle (radians) |
||
real(kind=wp), | intent(in) | :: | phi | latitude angle (radians) |
||
real(kind=wp), | intent(in) | :: | r | radial distance |
||
real(kind=wp), | intent(out), | dimension(3) | :: | p | Cartesian coordinates |
Convert position/velocity from spherical to Cartesian coordinates.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | theta | longitude angle (radians) |
||
real(kind=wp), | intent(in) | :: | phi | latitude angle (radians) |
||
real(kind=wp), | intent(in) | :: | r | radial distance |
||
real(kind=wp), | intent(in) | :: | td | rate of change of THETA |
||
real(kind=wp), | intent(in) | :: | pd | rate of change of PHI |
||
real(kind=wp), | intent(in) | :: | rd | rate of change of R |
||
real(kind=wp), | intent(out), | dimension(3,2) | :: | pv | pv-vector |
Multiply a pv-vector by two scalars.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | s1 | scalar to multiply position component by |
||
real(kind=wp), | intent(in) | :: | s2 | scalar to multiply velocity component by |
||
real(kind=wp), | intent(in), | dimension(3,2) | :: | pv | pv-vector |
|
real(kind=wp), | intent(out), | dimension(3,2) | :: | spv | pv-vector: p scaled by S1, v scaled by S2 |
Angular separation between two p-vectors.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | a | first p-vector (not necessarily unit length) |
|
real(kind=wp), | intent(in), | dimension(3) | :: | b | second p-vector (not necessarily unit length) |
|
real(kind=wp), | intent(out) | :: | s | angular separation (radians, always positive) |
Angular separation between two sets of spherical coordinates.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | al | first longitude (radians) |
||
real(kind=wp), | intent(in) | :: | ap | first latitude (radians) |
||
real(kind=wp), | intent(in) | :: | bl | second longitude (radians) |
||
real(kind=wp), | intent(in) | :: | bp | second latitude (radians) |
||
real(kind=wp), | intent(out) | :: | s | angular separation (radians) |
Star proper motion: update star catalog data for space motion.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | ra1 | right ascension (radians), before |
||
real(kind=wp), | intent(in) | :: | dec1 | declination (radians), before |
||
real(kind=wp), | intent(in) | :: | pmr1 | RA proper motion (radians/year), before |
||
real(kind=wp), | intent(in) | :: | pmd1 | Dec proper motion (radians/year), before |
||
real(kind=wp), | intent(in) | :: | px1 | parallax (arcseconds), before |
||
real(kind=wp), | intent(in) | :: | rv1 | radial velocity (km/s, +ve = receding), before |
||
real(kind=wp), | intent(in) | :: | ep1a | "before" epoch, part A (Note 1) |
||
real(kind=wp), | intent(in) | :: | ep1b | "before" epoch, part B (Note 1) |
||
real(kind=wp), | intent(in) | :: | ep2a | "after" epoch, part A (Note 1) |
||
real(kind=wp), | intent(in) | :: | ep2b | "after" epoch, part B (Note 1) |
||
real(kind=wp), | intent(out) | :: | ra2 | right ascension (radians), after |
||
real(kind=wp), | intent(out) | :: | dec2 | declination (radians), after |
||
real(kind=wp), | intent(out) | :: | pmr2 | RA proper motion (radians/year), after |
||
real(kind=wp), | intent(out) | :: | pmd2 | Dec proper motion (radians/year), after |
||
real(kind=wp), | intent(out) | :: | px2 | parallax (arcseconds), after |
||
real(kind=wp), | intent(out) | :: | rv2 | radial velocity (km/s, +ve = receding), after |
||
integer, | intent(out) | :: | j |
Convert star catalog coordinates to position+velocity vector.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | ra | right ascension (radians) [see Note 1] |
||
real(kind=wp), | intent(in) | :: | dec | declination (radians) [see Note 1] |
||
real(kind=wp), | intent(in) | :: | pmr | RA proper motion (radians/year) [see Note 1] |
||
real(kind=wp), | intent(in) | :: | pmd | Dec proper motion (radians/year) [see Note 1] |
||
real(kind=wp), | intent(in) | :: | px | parallax (arcseconds) [see Note 1] |
||
real(kind=wp), | intent(in) | :: | rv | radial velocity (km/s, positive = receding) [see Note 1] |
||
real(kind=wp), | intent(out), | dimension(3,2) | :: | pv | pv-vector (au, au/day) [see Note 2] |
|
integer, | intent(out) | :: | j | status [see Note 2]: * 0 = no warnings * 1 = distance overridden (Note 6) * 2 = excessive velocity (Note 7) * 4 = solution didn't converge (Note 8) * else = binary logical OR of the above |
Multiply a p-vector by a scalar.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | s | scalar |
||
real(kind=wp), | intent(in), | dimension(3) | :: | p | p-vector |
|
real(kind=wp), | intent(out), | dimension(3) | :: | sp | S * P |
Multiply a pv-vector by a scalar.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | s | scalar |
||
real(kind=wp), | intent(in), | dimension(3,2) | :: | pv | pv-vector |
|
real(kind=wp), | intent(out), | dimension(3,2) | :: | spv | S * PV |
Time scale transformation: International Atomic Time, TAI, to Terrestrial Time, TT.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | tai1 | TAI as a 2-part Julian Date |
||
real(kind=wp), | intent(in) | :: | tai2 | TAI as a 2-part Julian Date |
||
real(kind=wp), | intent(out) | :: | tt1 | TT as a 2-part Julian Date |
||
real(kind=wp), | intent(out) | :: | tt2 | TT as a 2-part Julian Date |
||
integer, | intent(out) | :: | j |
Time scale transformation: International Atomic Time, TAI, to Universal Time, UT1.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | tai1 | TAI as a 2-part Julian Date |
||
real(kind=wp), | intent(in) | :: | tai2 | TAI as a 2-part Julian Date |
||
real(kind=wp), | intent(in) | :: | dta | UT1-TAI in seconds |
||
real(kind=wp), | intent(out) | :: | ut11 | UT1 as a 2-part Julian Date |
||
real(kind=wp), | intent(out) | :: | ut12 | UT1 as a 2-part Julian Date |
||
integer, | intent(out) | :: | j | status: 0 = OK |
Time scale transformation: International Atomic Time, TAI, to Coordinated Universal Time, UTC.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | tai1 | TAI as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | tai2 | TAI as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out) | :: | utc1 | UTC as a 2-part quasi Julian Date (Notes 1-3) |
||
real(kind=wp), | intent(out) | :: | utc2 | UTC as a 2-part quasi Julian Date (Notes 1-3) |
||
integer, | intent(out) | :: | j |
Time scale transformation: Barycentric Coordinate Time, TCB, to Barycentric Dynamical Time, TDB.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | tcb1 | TCB as a 2-part Julian Date |
||
real(kind=wp), | intent(in) | :: | tcb2 | TCB as a 2-part Julian Date |
||
real(kind=wp), | intent(out) | :: | tdb1 | TDB as a 2-part Julian Date |
||
real(kind=wp), | intent(out) | :: | tdb2 | TDB as a 2-part Julian Date |
||
integer, | intent(out) | :: | j |
Time scale transformation: Geocentric Coordinate Time, TCG, to Terrestrial Time, TT.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | tcg1 | TCG as a 2-part Julian Date |
||
real(kind=wp), | intent(in) | :: | tcg2 | TCG as a 2-part Julian Date |
||
real(kind=wp), | intent(out) | :: | tt1 | TT as a 2-part Julian Date |
||
real(kind=wp), | intent(out) | :: | tt2 | TT as a 2-part Julian Date |
||
integer, | intent(out) | :: | j |
Time scale transformation: Barycentric Dynamical Time, TDB, to Barycentric Coordinate Time, TCB.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | tdb1 | TDB as a 2-part Julian Date |
||
real(kind=wp), | intent(in) | :: | tdb2 | TDB as a 2-part Julian Date |
||
real(kind=wp), | intent(out) | :: | tcb1 | TCB as a 2-part Julian Date |
||
real(kind=wp), | intent(out) | :: | tcb2 | TCB as a 2-part Julian Date |
||
integer, | intent(out) | :: | j |
Time scale transformation: Barycentric Dynamical Time, TDB, to Terrestrial Time, TT.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | tdb1 | TDB as a 2-part Julian Date |
||
real(kind=wp), | intent(in) | :: | tdb2 | TDB as a 2-part Julian Date |
||
real(kind=wp), | intent(in) | :: | dtr | TDB-TT in seconds |
||
real(kind=wp), | intent(out) | :: | tt1 | TT as a 2-part Julian Date |
||
real(kind=wp), | intent(out) | :: | tt2 | TT as a 2-part Julian Date |
||
integer, | intent(out) | :: | j | status: 0 = OK |
Convert hours, minutes, seconds to radians.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=1), | intent(in) | :: | s | sign: '-' = negative, otherwise positive |
||
integer, | intent(in) | :: | ihour | hours |
||
integer, | intent(in) | :: | imin | minutes |
||
real(kind=wp), | intent(in) | :: | sec | seconds |
||
real(kind=wp), | intent(out) | :: | rad | angle in radians |
||
integer, | intent(out) | :: | j |
Convert hours, minutes, seconds to days.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=1), | intent(in) | :: | s | sign: '-' = negative, otherwise positive |
||
integer, | intent(in) | :: | ihour | hours |
||
integer, | intent(in) | :: | imin | minutes |
||
real(kind=wp), | intent(in) | :: | sec | seconds |
||
real(kind=wp), | intent(out) | :: | days | interval in days |
||
integer, | intent(out) | :: | j |
In the tangent plane projection, given the rectangular coordinates of a star and its spherical coordinates, determine the spherical coordinates of the tangent point.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | xi | rectangular coordinates of star image (Note 2) |
||
real(kind=wp), | intent(in) | :: | eta | rectangular coordinates of star image (Note 2) |
||
real(kind=wp), | intent(in) | :: | a | star's spherical coordinates (Note 3) |
||
real(kind=wp), | intent(in) | :: | b | star's spherical coordinates (Note 3) |
||
real(kind=wp), | intent(out) | :: | a01 | tangent point's spherical coordinates, Soln. 1 |
||
real(kind=wp), | intent(out) | :: | b01 | tangent point's spherical coordinates, Soln. 1 |
||
real(kind=wp), | intent(out) | :: | a02 | tangent point's spherical coordinates, Soln. 2 |
||
real(kind=wp), | intent(out) | :: | b02 | tangent point's spherical coordinates, Soln. 2 |
||
integer, | intent(out) | :: | n | number of solutions: * 0 = no solutions returned (Note 5) * 1 = only the first solution is useful (Note 6) * 2 = both solutions are useful (Note 6) |
In the tangent plane projection, given the rectangular coordinates of a star and its direction cosines, determine the direction cosines of the tangent point.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | xi | rectangular coordinates of star image (Note 2) |
||
real(kind=wp), | intent(in) | :: | eta | rectangular coordinates of star image (Note 2) |
||
real(kind=wp), | intent(in), | dimension(3) | :: | v | star's direction cosines (Note 3) |
|
real(kind=wp), | intent(out), | dimension(3) | :: | v01 | tangent point's direction cosines, Solution 1 |
|
real(kind=wp), | intent(out), | dimension(3) | :: | v02 | tangent point's direction cosines, Solution 2 |
|
integer, | intent(out) | :: | n | number of solutions: * 0 = no solutions returned (Note 4) * 1 = only the first solution is useful (Note 5) * 2 = both solutions are useful (Note 5) |
In the tangent plane projection, given the star's rectangular coordinates and the spherical coordinates of the tangent point, solve for the spherical coordinates of the star.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | xi | rectangular coordinates of star image (Note 2) |
||
real(kind=wp), | intent(in) | :: | eta | rectangular coordinates of star image (Note 2) |
||
real(kind=wp), | intent(in) | :: | a0 | tangent point's spherical coordinates |
||
real(kind=wp), | intent(in) | :: | b0 | tangent point's spherical coordinates |
||
real(kind=wp), | intent(out) | :: | a | star's spherical coordinates |
||
real(kind=wp), | intent(out) | :: | b | star's spherical coordinates |
In the tangent plane projection, given the star's rectangular coordinates and the direction cosines of the tangent point, solve for the direction cosines of the star.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | xi | rectangular coordinates of star image (Note 2) |
||
real(kind=wp), | intent(in) | :: | eta | rectangular coordinates of star image (Note 2) |
||
real(kind=wp), | intent(in), | dimension(3) | :: | v0 | tangent point's direction cosines (Note 4) |
|
real(kind=wp), | intent(out), | dimension(3) | :: | v | star's direction cosines |
In the tangent plane projection, given celestial spherical coordinates for a star and the tangent point, solve for the star's rectangular coordinates in the tangent plane.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | a | star's spherical coordinates |
||
real(kind=wp), | intent(in) | :: | b | star's spherical coordinates |
||
real(kind=wp), | intent(in) | :: | a0 | tangent point's spherical coordinates |
||
real(kind=wp), | intent(in) | :: | b0 | tangent point's spherical coordinates |
||
real(kind=wp), | intent(out) | :: | xi | rectangular coordinates of star image (Note 2) |
||
real(kind=wp), | intent(out) | :: | eta | rectangular coordinates of star image (Note 2) |
||
integer, | intent(out) | :: | j |
In the tangent plane projection, given celestial direction cosines for a star and the tangent point, solve for the star's rectangular coordinates in the tangent plane.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3) | :: | v | direction cosines of star (Note 4) |
|
real(kind=wp), | intent(in), | dimension(3) | :: | v0 | direction cosines of tangent point (Note 4) |
|
real(kind=wp), | intent(out) | :: | xi | tangent plane coordinates of star |
||
real(kind=wp), | intent(out) | :: | eta | tangent plane coordinates of star |
||
integer, | intent(out) | :: | j |
Transpose an r-matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,3) | :: | r | r-matrix |
|
real(kind=wp), | intent(out), | dimension(3,3) | :: | rt | transpose |
Multiply a p-vector by the transpose of an r-matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,3) | :: | r | r-matrix |
|
real(kind=wp), | intent(in), | dimension(3) | :: | p | p-vector |
|
real(kind=wp), | intent(out), | dimension(3) | :: | trp | R * P |
Multiply a pv-vector by the transpose of an r-matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(3,3) | :: | r | r-matrix |
|
real(kind=wp), | intent(in), | dimension(3,2) | :: | pv | pv-vector |
|
real(kind=wp), | intent(out), | dimension(3,2) | :: | trpv | R * PV |
Time scale transformation: Terrestrial Time, TT, to International Atomic Time, TAI.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | tt1 | TT as a 2-part Julian Date |
||
real(kind=wp), | intent(in) | :: | tt2 | TT as a 2-part Julian Date |
||
real(kind=wp), | intent(out) | :: | tai1 | TAI as a 2-part Julian Date |
||
real(kind=wp), | intent(out) | :: | tai2 | TAI as a 2-part Julian Date |
||
integer, | intent(out) | :: | j |
Time scale transformation: Terrestrial Time, TT, to Geocentric Coordinate Time, TCG.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | tt1 | TT as a 2-part Julian Date |
||
real(kind=wp), | intent(in) | :: | tt2 | TT as a 2-part Julian Date |
||
real(kind=wp), | intent(out) | :: | tcg1 | TCG as a 2-part Julian Date |
||
real(kind=wp), | intent(out) | :: | tcg2 | TCG as a 2-part Julian Date |
||
integer, | intent(out) | :: | j |
Time scale transformation: Terrestrial Time, TT, to Barycentric Dynamical Time, TDB.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | tt1 | TT as a 2-part Julian Date |
||
real(kind=wp), | intent(in) | :: | tt2 | TT as a 2-part Julian Date |
||
real(kind=wp), | intent(in) | :: | dtr | TDB-TT in seconds |
||
real(kind=wp), | intent(out) | :: | tdb1 | TDB as a 2-part Julian Date |
||
real(kind=wp), | intent(out) | :: | tdb2 | TDB as a 2-part Julian Date |
||
integer, | intent(out) | :: | j | status: 0 = OK |
Time scale transformation: Terrestrial Time, TT, to Universal Time, UT1.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | tt1 | TT as a 2-part Julian Date |
||
real(kind=wp), | intent(in) | :: | tt2 | TT as a 2-part Julian Date |
||
real(kind=wp), | intent(in) | :: | dt | TT-UT1 in seconds |
||
real(kind=wp), | intent(out) | :: | ut11 | UT1 as a 2-part Julian Date |
||
real(kind=wp), | intent(out) | :: | ut12 | UT1 as a 2-part Julian Date |
||
integer, | intent(out) | :: | j | status: 0 = OK |
Time scale transformation: Universal Time, UT1, to International Atomic Time, TAI.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | ut11 | UT1 as a 2-part Julian Date |
||
real(kind=wp), | intent(in) | :: | ut12 | UT1 as a 2-part Julian Date |
||
real(kind=wp), | intent(in) | :: | dta | UT1-TAI in seconds |
||
real(kind=wp), | intent(out) | :: | tai1 | TAI as a 2-part Julian Date |
||
real(kind=wp), | intent(out) | :: | tai2 | TAI as a 2-part Julian Date |
||
integer, | intent(out) | :: | j | status: 0 = OK |
Time scale transformation: Universal Time, UT1, to Terrestrial Time, TT.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | ut11 | UT1 as a 2-part Julian Date |
||
real(kind=wp), | intent(in) | :: | ut12 | UT1 as a 2-part Julian Date |
||
real(kind=wp), | intent(in) | :: | dt | TT-UT1 in seconds |
||
real(kind=wp), | intent(out) | :: | tt1 | TT as a 2-part Julian Date |
||
real(kind=wp), | intent(out) | :: | tt2 | TT as a 2-part Julian Date |
||
integer, | intent(out) | :: | j | status: 0 = OK |
Time scale transformation: Universal Time, UT1, to Coordinated Universal Time, UTC.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | ut11 | UT1 as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | ut12 | UT1 as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | dut1 | Delta UT1: UT1-UTC in seconds (Note 2) |
||
real(kind=wp), | intent(out) | :: | utc1 | UTC as a 2-part quasi Julian Date (Notes 3,4) |
||
real(kind=wp), | intent(out) | :: | utc2 | UTC as a 2-part quasi Julian Date (Notes 3,4) |
||
integer, | intent(out) | :: | j |
Time scale transformation: Coordinated Universal Time, UTC, to International Atomic Time, TAI.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | utc1 | UTC as a 2-part quasi Julian Date (Notes 1-4) |
||
real(kind=wp), | intent(in) | :: | utc2 | UTC as a 2-part quasi Julian Date (Notes 1-4) |
||
real(kind=wp), | intent(out) | :: | tai1 | TAI as a 2-part Julian Date (Note 5) |
||
real(kind=wp), | intent(out) | :: | tai2 | TAI as a 2-part Julian Date (Note 5) |
||
integer, | intent(out) | :: | j |
Time scale transformation: Coordinated Universal Time, UTC, to Universal Time, UT1.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | utc1 | UTC as a 2-part quasi Julian Date (Notes 1-4) |
||
real(kind=wp), | intent(in) | :: | utc2 | UTC as a 2-part quasi Julian Date (Notes 1-4) |
||
real(kind=wp), | intent(in) | :: | dut1 | Delta UT1 = UT1-UTC in seconds (Note 5) |
||
real(kind=wp), | intent(out) | :: | ut11 | UT1 as a 2-part Julian Date (Note 6) |
||
real(kind=wp), | intent(out) | :: | ut12 | UT1 as a 2-part Julian Date (Note 6) |
||
integer, | intent(out) | :: | j |
X,Y coordinates of celestial intermediate pole from series based on IAU 2006 precession and IAU 2000A nutation.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out) | :: | x | CIP X coordinate (Note 2) |
||
real(kind=wp), | intent(out) | :: | y | CIP Y coordinate (Note 2) |
For a given TT date, compute the X,Y coordinates of the Celestial Intermediate Pole and the CIO locator s, using the IAU 2000A precession-nutation model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out) | :: | x | Celestial Intermediate Pole (Note 2) |
||
real(kind=wp), | intent(out) | :: | y | Celestial Intermediate Pole (Note 2) |
||
real(kind=wp), | intent(out) | :: | s | the CIO locator s (Note 2) |
For a given TT date, compute the X,Y coordinates of the Celestial Intermediate Pole and the CIO locator s, using the IAU 2000B precession-nutation model.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out) | :: | x | Celestial Intermediate Pole (Note 2) |
||
real(kind=wp), | intent(out) | :: | y | Celestial Intermediate Pole (Note 2) |
||
real(kind=wp), | intent(out) | :: | s | the CIO locator s (Note 2) |
For a given TT date, compute the X,Y coordinates of the Celestial Intermediate Pole and the CIO locator s, using the IAU 2006 precession and IAU 2000A nutation models.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in) | :: | date1 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(in) | :: | date2 | TT as a 2-part Julian Date (Note 1) |
||
real(kind=wp), | intent(out) | :: | x | Celestial Intermediate Pole (Note 2) |
||
real(kind=wp), | intent(out) | :: | y | Celestial Intermediate Pole (Note 2) |
||
real(kind=wp), | intent(out) | :: | s | the CIO locator s (Note 2) |
Zero a p-vector.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(out), | dimension(3) | :: | p | p-vector |
Zero a pv-vector.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(out), | dimension(3,2) | :: | pv | pv-vector |
Initialize an r-matrix to the null matrix.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(out), | dimension(3,3) | :: | r | r-matrix |