diff --git a/WorldWideAstronomy/SOFA/SOFA.vcxproj b/WorldWideAstronomy/SOFA/SOFA.vcxproj
index e672d75..c8f758d 100644
--- a/WorldWideAstronomy/SOFA/SOFA.vcxproj
+++ b/WorldWideAstronomy/SOFA/SOFA.vcxproj
@@ -176,7 +176,11 @@
+
+
+
+
diff --git a/WorldWideAstronomy/SOFA/SOFA.vcxproj.filters b/WorldWideAstronomy/SOFA/SOFA.vcxproj.filters
index c78b3d8..4a07872 100644
--- a/WorldWideAstronomy/SOFA/SOFA.vcxproj.filters
+++ b/WorldWideAstronomy/SOFA/SOFA.vcxproj.filters
@@ -242,6 +242,10 @@
+
+
+
+
diff --git a/WorldWideAstronomy/SOFA/a2af.c b/WorldWideAstronomy/SOFA/a2af.c
index 7ae16bf..58f3a18 100644
--- a/WorldWideAstronomy/SOFA/a2af.c
+++ b/WorldWideAstronomy/SOFA/a2af.c
@@ -18,12 +18,9 @@ void iauA2af(int ndp, double angle, char *sign, int idmsf[4])
** angle double angle in radians
**
** Returned:
-** sign char '+' or '-'
+** sign char* '+' or '-'
** idmsf int[4] degrees, arcminutes, arcseconds, fraction
**
-** Called:
-** iauD2tf decompose days to hms
-**
** Notes:
**
** 1) The argument ndp is interpreted as follows:
@@ -56,11 +53,14 @@ void iauA2af(int ndp, double angle, char *sign, int idmsf[4])
** case where angle is very nearly 2pi and rounds up to 360 degrees,
** by testing for idmsf[0]=360 and setting idmsf[0-3] to zero.
**
-** This revision: 2013 June 18
+** Called:
+** iauD2tf decompose days to hms
+**
+** This revision: 2020 April 1
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Hours to degrees * radians to turns */
@@ -74,7 +74,7 @@ void iauA2af(int ndp, double angle, char *sign, int idmsf[4])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/a2tf.c b/WorldWideAstronomy/SOFA/a2tf.c
index c17b64c..a651a4e 100644
--- a/WorldWideAstronomy/SOFA/a2tf.c
+++ b/WorldWideAstronomy/SOFA/a2tf.c
@@ -18,12 +18,9 @@ void iauA2tf(int ndp, double angle, char *sign, int ihmsf[4])
** angle double angle in radians
**
** Returned:
-** sign char '+' or '-'
+** sign char* '+' or '-'
** ihmsf int[4] hours, minutes, seconds, fraction
**
-** Called:
-** iauD2tf decompose days to hms
-**
** Notes:
**
** 1) The argument ndp is interpreted as follows:
@@ -56,11 +53,14 @@ void iauA2tf(int ndp, double angle, char *sign, int ihmsf[4])
** case where angle is very nearly 2pi and rounds up to 24 hours,
** by testing for ihmsf[0]=24 and setting ihmsf[0-3] to zero.
**
-** This revision: 2013 July 31
+** Called:
+** iauD2tf decompose days to hms
+**
+** This revision: 2020 April 1
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Scale then use days to h,m,s function. */
@@ -70,7 +70,7 @@ void iauA2tf(int ndp, double angle, char *sign, int ihmsf[4])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/ab.c b/WorldWideAstronomy/SOFA/ab.c
index 70fbc3d..cf6e506 100644
--- a/WorldWideAstronomy/SOFA/ab.c
+++ b/WorldWideAstronomy/SOFA/ab.c
@@ -55,9 +55,9 @@ void iauAb(double pnat[3], double v[3], double s, double bm1,
**
** This revision: 2013 October 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int i;
@@ -82,7 +82,7 @@ void iauAb(double pnat[3], double v[3], double s, double bm1,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -175,5 +175,4 @@ void iauAb(double pnat[3], double v[3], double s, double bm1,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/ae2hd.c b/WorldWideAstronomy/SOFA/ae2hd.c
index b736a75..9765972 100644
--- a/WorldWideAstronomy/SOFA/ae2hd.c
+++ b/WorldWideAstronomy/SOFA/ae2hd.c
@@ -59,9 +59,9 @@ void iauAe2hd (double az, double el, double phi,
**
** Last revision: 2017 September 12
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double sa, ca, se, ce, sp, cp, x, y, z, r;
@@ -89,7 +89,7 @@ void iauAe2hd (double az, double el, double phi,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -182,5 +182,4 @@ void iauAe2hd (double az, double el, double phi,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/af2a.c b/WorldWideAstronomy/SOFA/af2a.c
index 63f90bf..4a47009 100644
--- a/WorldWideAstronomy/SOFA/af2a.c
+++ b/WorldWideAstronomy/SOFA/af2a.c
@@ -41,9 +41,9 @@ int iauAf2a(char s, int ideg, int iamin, double asec, double *rad)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
@@ -61,7 +61,7 @@ int iauAf2a(char s, int ideg, int iamin, double asec, double *rad)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/anp.c b/WorldWideAstronomy/SOFA/anp.c
index ee08e7b..0093b5b 100644
--- a/WorldWideAstronomy/SOFA/anp.c
+++ b/WorldWideAstronomy/SOFA/anp.c
@@ -21,9 +21,9 @@ double iauAnp(double a)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double w;
@@ -36,7 +36,7 @@ double iauAnp(double a)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/anpm.c b/WorldWideAstronomy/SOFA/anpm.c
index 2927d40..96fa2f0 100644
--- a/WorldWideAstronomy/SOFA/anpm.c
+++ b/WorldWideAstronomy/SOFA/anpm.c
@@ -21,9 +21,9 @@ double iauAnpm(double a)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double w;
@@ -36,7 +36,7 @@ double iauAnpm(double a)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/apcg.c b/WorldWideAstronomy/SOFA/apcg.c
index d20d3ae..1f0b0c0 100644
--- a/WorldWideAstronomy/SOFA/apcg.c
+++ b/WorldWideAstronomy/SOFA/apcg.c
@@ -109,9 +109,9 @@ void iauApcg(double date1, double date2,
**
** This revision: 2013 October 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Geocentric observer */
@@ -126,7 +126,7 @@ void iauApcg(double date1, double date2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -219,5 +219,4 @@ void iauApcg(double date1, double date2,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/apcg13.c b/WorldWideAstronomy/SOFA/apcg13.c
index d1efe81..1a4c3ff 100644
--- a/WorldWideAstronomy/SOFA/apcg13.c
+++ b/WorldWideAstronomy/SOFA/apcg13.c
@@ -111,9 +111,9 @@ void iauApcg13(double date1, double date2, iauASTROM *astrom)
**
** This revision: 2013 October 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double ehpv[2][3], ebpv[2][3];
@@ -129,7 +129,7 @@ void iauApcg13(double date1, double date2, iauASTROM *astrom)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -222,5 +222,4 @@ void iauApcg13(double date1, double date2, iauASTROM *astrom)
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/apci.c b/WorldWideAstronomy/SOFA/apci.c
index 5e59ee6..1862b21 100644
--- a/WorldWideAstronomy/SOFA/apci.c
+++ b/WorldWideAstronomy/SOFA/apci.c
@@ -119,9 +119,9 @@ void iauApci(double date1, double date2,
**
** This revision: 2013 September 25
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
@@ -135,7 +135,7 @@ void iauApci(double date1, double date2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -228,5 +228,4 @@ void iauApci(double date1, double date2,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/apci13.c b/WorldWideAstronomy/SOFA/apci13.c
index 3052a4a..97ae49f 100644
--- a/WorldWideAstronomy/SOFA/apci13.c
+++ b/WorldWideAstronomy/SOFA/apci13.c
@@ -117,9 +117,9 @@ void iauApci13(double date1, double date2,
**
** This revision: 2013 October 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double ehpv[2][3], ebpv[2][3], r[3][3], x, y, s;
@@ -147,7 +147,7 @@ void iauApci13(double date1, double date2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -240,5 +240,4 @@ void iauApci13(double date1, double date2,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/apco.c b/WorldWideAstronomy/SOFA/apco.c
index 75729b6..43a4dd3 100644
--- a/WorldWideAstronomy/SOFA/apco.c
+++ b/WorldWideAstronomy/SOFA/apco.c
@@ -159,9 +159,9 @@ void iauApco(double date1, double date2,
**
** This revision: 2013 October 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double sl, cl, r[3][3], pvc[2][3], pv[2][3];
@@ -209,7 +209,7 @@ void iauApco(double date1, double date2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -302,5 +302,4 @@ void iauApco(double date1, double date2,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/apco13.c b/WorldWideAstronomy/SOFA/apco13.c
index 26c35d6..c017d18 100644
--- a/WorldWideAstronomy/SOFA/apco13.c
+++ b/WorldWideAstronomy/SOFA/apco13.c
@@ -180,9 +180,9 @@ int iauApco13(double utc1, double utc2, double dut1,
**
** This revision: 2013 December 5
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int j;
@@ -232,7 +232,7 @@ int iauApco13(double utc1, double utc2, double dut1,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -325,5 +325,4 @@ int iauApco13(double utc1, double utc2, double dut1,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/apcs.c b/WorldWideAstronomy/SOFA/apcs.c
index ec49eae..3b743e5 100644
--- a/WorldWideAstronomy/SOFA/apcs.c
+++ b/WorldWideAstronomy/SOFA/apcs.c
@@ -129,9 +129,9 @@ void iauApcs(double date1, double date2, double pv[2][3],
**
** This revision: 2017 March 16
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* au/d to m/s */
@@ -178,7 +178,7 @@ void iauApcs(double date1, double date2, double pv[2][3],
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -271,5 +271,4 @@ void iauApcs(double date1, double date2, double pv[2][3],
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/apcs13.c b/WorldWideAstronomy/SOFA/apcs13.c
index 5d3c226..d0d3695 100644
--- a/WorldWideAstronomy/SOFA/apcs13.c
+++ b/WorldWideAstronomy/SOFA/apcs13.c
@@ -118,9 +118,9 @@ void iauApcs13(double date1, double date2, double pv[2][3],
**
** This revision: 2013 October 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double ehpv[2][3], ebpv[2][3];
@@ -136,7 +136,7 @@ void iauApcs13(double date1, double date2, double pv[2][3],
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -229,5 +229,4 @@ void iauApcs13(double date1, double date2, double pv[2][3],
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/aper.c b/WorldWideAstronomy/SOFA/aper.c
index 5d10ac9..ed128c8 100644
--- a/WorldWideAstronomy/SOFA/aper.c
+++ b/WorldWideAstronomy/SOFA/aper.c
@@ -96,9 +96,9 @@ void iauAper(double theta, iauASTROM *astrom)
**
** This revision: 2013 September 25
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
astrom->eral = theta + astrom->along;
@@ -107,7 +107,7 @@ void iauAper(double theta, iauASTROM *astrom)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -200,5 +200,4 @@ void iauAper(double theta, iauASTROM *astrom)
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/aper13.c b/WorldWideAstronomy/SOFA/aper13.c
index 8f945a3..e08e30c 100644
--- a/WorldWideAstronomy/SOFA/aper13.c
+++ b/WorldWideAstronomy/SOFA/aper13.c
@@ -115,9 +115,9 @@ void iauAper13(double ut11, double ut12, iauASTROM *astrom)
**
** This revision: 2013 September 25
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
iauAper(iauEra00(ut11,ut12), astrom);
@@ -126,7 +126,7 @@ void iauAper13(double ut11, double ut12, iauASTROM *astrom)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -219,5 +219,4 @@ void iauAper13(double ut11, double ut12, iauASTROM *astrom)
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/apio.c b/WorldWideAstronomy/SOFA/apio.c
index 3d9ea01..e52711e 100644
--- a/WorldWideAstronomy/SOFA/apio.c
+++ b/WorldWideAstronomy/SOFA/apio.c
@@ -120,9 +120,9 @@ void iauApio(double sp, double theta,
**
** This revision: 2013 October 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double sl, cl, pv[2][3];
@@ -158,7 +158,7 @@ void iauApio(double sp, double theta,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -251,5 +251,4 @@ void iauApio(double sp, double theta,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/apio13.c b/WorldWideAstronomy/SOFA/apio13.c
index 27e592c..f49d5dc 100644
--- a/WorldWideAstronomy/SOFA/apio13.c
+++ b/WorldWideAstronomy/SOFA/apio13.c
@@ -169,9 +169,9 @@ int iauApio13(double utc1, double utc2, double dut1,
**
** This revision: 2013 October 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int j;
@@ -204,7 +204,7 @@ int iauApio13(double utc1, double utc2, double dut1,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -297,5 +297,4 @@ int iauApio13(double utc1, double utc2, double dut1,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/atci13.c b/WorldWideAstronomy/SOFA/atci13.c
index a9bfc2c..5e99c32 100644
--- a/WorldWideAstronomy/SOFA/atci13.c
+++ b/WorldWideAstronomy/SOFA/atci13.c
@@ -85,9 +85,9 @@ void iauAtci13(double rc, double dc,
**
** This revision: 2017 March 12
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Star-independent astrometry parameters */
@@ -104,7 +104,7 @@ void iauAtci13(double rc, double dc,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -197,5 +197,4 @@ void iauAtci13(double rc, double dc,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/atciq.c b/WorldWideAstronomy/SOFA/atciq.c
index a536c97..2e254e0 100644
--- a/WorldWideAstronomy/SOFA/atciq.c
+++ b/WorldWideAstronomy/SOFA/atciq.c
@@ -71,9 +71,9 @@ void iauAtciq(double rc, double dc,
**
** This revision: 2013 October 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double pco[3], pnat[3], ppr[3], pi[3], w;
@@ -99,7 +99,7 @@ void iauAtciq(double rc, double dc,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -192,5 +192,4 @@ void iauAtciq(double rc, double dc,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/atciqn.c b/WorldWideAstronomy/SOFA/atciqn.c
index 353f805..d054b03 100644
--- a/WorldWideAstronomy/SOFA/atciqn.c
+++ b/WorldWideAstronomy/SOFA/atciqn.c
@@ -108,9 +108,9 @@ void iauAtciqn(double rc, double dc, double pr, double pd,
**
** This revision: 2013 October 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double pco[3], pnat[3], ppr[3], pi[3], w;
@@ -136,7 +136,7 @@ void iauAtciqn(double rc, double dc, double pr, double pd,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -229,5 +229,4 @@ void iauAtciqn(double rc, double dc, double pr, double pd,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/atciqz.c b/WorldWideAstronomy/SOFA/atciqz.c
index 45d92cc..7a116ea 100644
--- a/WorldWideAstronomy/SOFA/atciqz.c
+++ b/WorldWideAstronomy/SOFA/atciqz.c
@@ -70,9 +70,9 @@ void iauAtciqz(double rc, double dc, iauASTROM *astrom,
**
** This revision: 2013 October 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double pco[3], pnat[3], ppr[3], pi[3], w;
@@ -98,7 +98,7 @@ void iauAtciqz(double rc, double dc, iauASTROM *astrom,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -191,5 +191,4 @@ void iauAtciqz(double rc, double dc, iauASTROM *astrom,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/atco13.c b/WorldWideAstronomy/SOFA/atco13.c
index 131b2ae..e1b401e 100644
--- a/WorldWideAstronomy/SOFA/atco13.c
+++ b/WorldWideAstronomy/SOFA/atco13.c
@@ -158,9 +158,9 @@ int iauAtco13(double rc, double dc,
**
** This revision: 2016 February 2
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int j;
@@ -188,7 +188,7 @@ int iauAtco13(double rc, double dc,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -281,5 +281,4 @@ int iauAtco13(double rc, double dc,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/atic13.c b/WorldWideAstronomy/SOFA/atic13.c
index b4578b4..aa74394 100644
--- a/WorldWideAstronomy/SOFA/atic13.c
+++ b/WorldWideAstronomy/SOFA/atic13.c
@@ -78,9 +78,9 @@ void iauAtic13(double ri, double di, double date1, double date2,
**
** This revision: 2013 October 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Star-independent astrometry parameters */
@@ -97,7 +97,7 @@ void iauAtic13(double ri, double di, double date1, double date2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -190,5 +190,4 @@ void iauAtic13(double ri, double di, double date1, double date2,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/aticq.c b/WorldWideAstronomy/SOFA/aticq.c
index 8cc7a79..08d1ee0 100644
--- a/WorldWideAstronomy/SOFA/aticq.c
+++ b/WorldWideAstronomy/SOFA/aticq.c
@@ -66,9 +66,9 @@ void iauAticq(double ri, double di, iauASTROM *astrom,
**
** This revision: 2013 October 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int j, i;
@@ -144,7 +144,7 @@ void iauAticq(double ri, double di, iauASTROM *astrom,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -237,5 +237,4 @@ void iauAticq(double ri, double di, iauASTROM *astrom,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/aticqn.c b/WorldWideAstronomy/SOFA/aticqn.c
index 899c7f3..46623af 100644
--- a/WorldWideAstronomy/SOFA/aticqn.c
+++ b/WorldWideAstronomy/SOFA/aticqn.c
@@ -3,9 +3,9 @@
void iauAticqn(double ri, double di, iauASTROM *astrom,
int n, iauLDBODY b[], double *rc, double *dc)
/*
-** - - - - - - - - -
+** - - - - - - - - - -
** i a u A t i c q n
-** - - - - - - - - -
+** - - - - - - - - - -
**
** Quick CIRS to ICRS astrometric place transformation, given the star-
** independent astrometry parameters plus a list of light-deflecting
@@ -102,11 +102,11 @@ void iauAticqn(double ri, double di, iauASTROM *astrom,
** iauC2s p-vector to spherical
** iauAnp normalize angle into range +/- pi
**
-** This revision: 2013 October 9
+** This revision: 2018 December 13
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int j, i;
@@ -182,7 +182,7 @@ void iauAticqn(double ri, double di, iauASTROM *astrom,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -275,5 +275,4 @@ void iauAticqn(double ri, double di, iauASTROM *astrom,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/atio13.c b/WorldWideAstronomy/SOFA/atio13.c
index ad741c9..172dad2 100644
--- a/WorldWideAstronomy/SOFA/atio13.c
+++ b/WorldWideAstronomy/SOFA/atio13.c
@@ -139,11 +139,11 @@ int iauAtio13(double ri, double di,
** iauApio13 astrometry parameters, CIRS-observed, 2013
** iauAtioq quick CIRS to observed
**
-** This revision: 2016 February 2
+** This revision: 2016 February 2
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int j;
@@ -167,7 +167,7 @@ int iauAtio13(double ri, double di,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -260,5 +260,4 @@ int iauAtio13(double ri, double di,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/atioq.c b/WorldWideAstronomy/SOFA/atioq.c
index ff52590..151c7dc 100644
--- a/WorldWideAstronomy/SOFA/atioq.c
+++ b/WorldWideAstronomy/SOFA/atioq.c
@@ -102,9 +102,9 @@ void iauAtioq(double ri, double di, iauASTROM *astrom,
**
** This revision: 2016 March 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Minimum cos(alt) and sin(alt) for refraction purposes */
@@ -188,7 +188,7 @@ void iauAtioq(double ri, double di, iauASTROM *astrom,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -281,5 +281,4 @@ void iauAtioq(double ri, double di, iauASTROM *astrom,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/atoc13.c b/WorldWideAstronomy/SOFA/atoc13.c
index 59cdf2f..a9d2789 100644
--- a/WorldWideAstronomy/SOFA/atoc13.c
+++ b/WorldWideAstronomy/SOFA/atoc13.c
@@ -148,9 +148,9 @@ int iauAtoc13(const char *type, double ob1, double ob2,
**
** This revision: 2013 October 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int j;
@@ -178,7 +178,7 @@ int iauAtoc13(const char *type, double ob1, double ob2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -271,5 +271,4 @@ int iauAtoc13(const char *type, double ob1, double ob2,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/atoi13.c b/WorldWideAstronomy/SOFA/atoi13.c
index b869f25..0fb4fd3 100644
--- a/WorldWideAstronomy/SOFA/atoi13.c
+++ b/WorldWideAstronomy/SOFA/atoi13.c
@@ -147,9 +147,9 @@ int iauAtoi13(const char *type, double ob1, double ob2,
**
** This revision: 2013 October 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int j;
@@ -173,7 +173,7 @@ int iauAtoi13(const char *type, double ob1, double ob2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -266,5 +266,4 @@ int iauAtoi13(const char *type, double ob1, double ob2,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/atoiq.c b/WorldWideAstronomy/SOFA/atoiq.c
index 61769a0..67ca1ec 100644
--- a/WorldWideAstronomy/SOFA/atoiq.c
+++ b/WorldWideAstronomy/SOFA/atoiq.c
@@ -92,9 +92,9 @@ void iauAtoiq(const char *type,
**
** This revision: 2013 October 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int c;
@@ -202,7 +202,7 @@ void iauAtoiq(const char *type,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -295,5 +295,4 @@ void iauAtoiq(const char *type,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/bi00.c b/WorldWideAstronomy/SOFA/bi00.c
index e7c5600..19e2921 100644
--- a/WorldWideAstronomy/SOFA/bi00.c
+++ b/WorldWideAstronomy/SOFA/bi00.c
@@ -48,9 +48,9 @@ void iauBi00(double *dpsibi, double *depsbi, double *dra)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* The frame bias corrections in longitude and obliquity */
@@ -70,7 +70,7 @@ void iauBi00(double *dpsibi, double *depsbi, double *dra)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/bp00.c b/WorldWideAstronomy/SOFA/bp00.c
index 4394914..058a797 100644
--- a/WorldWideAstronomy/SOFA/bp00.c
+++ b/WorldWideAstronomy/SOFA/bp00.c
@@ -77,9 +77,9 @@ void iauBp00(double date1, double date2,
**
** This revision: 2013 August 21
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* J2000.0 obliquity (Lieske et al. 1977) */
@@ -126,7 +126,7 @@ void iauBp00(double date1, double date2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/bp06.c b/WorldWideAstronomy/SOFA/bp06.c
index b6413f0..680d799 100644
--- a/WorldWideAstronomy/SOFA/bp06.c
+++ b/WorldWideAstronomy/SOFA/bp06.c
@@ -71,9 +71,9 @@ void iauBp06(double date1, double date2,
**
** This revision: 2013 August 21
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double gamb, phib, psib, epsa, rbpw[3][3], rbt[3][3];
@@ -97,7 +97,7 @@ void iauBp06(double date1, double date2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/bpn2xy.c b/WorldWideAstronomy/SOFA/bpn2xy.c
index 546cbea..28012e1 100644
--- a/WorldWideAstronomy/SOFA/bpn2xy.c
+++ b/WorldWideAstronomy/SOFA/bpn2xy.c
@@ -41,9 +41,9 @@ void iauBpn2xy(double rbpn[3][3], double *x, double *y)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Extract the X,Y coordinates. */
@@ -54,7 +54,7 @@ void iauBpn2xy(double rbpn[3][3], double *x, double *y)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/c2i00a.c b/WorldWideAstronomy/SOFA/c2i00a.c
index cbd71b3..26042a0 100644
--- a/WorldWideAstronomy/SOFA/c2i00a.c
+++ b/WorldWideAstronomy/SOFA/c2i00a.c
@@ -75,9 +75,9 @@ void iauC2i00a(double date1, double date2, double rc2i[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double rbpn[3][3];
@@ -93,7 +93,7 @@ void iauC2i00a(double date1, double date2, double rc2i[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/c2i00b.c b/WorldWideAstronomy/SOFA/c2i00b.c
index b5522f2..945e70e 100644
--- a/WorldWideAstronomy/SOFA/c2i00b.c
+++ b/WorldWideAstronomy/SOFA/c2i00b.c
@@ -75,9 +75,9 @@ void iauC2i00b(double date1, double date2, double rc2i[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double rbpn[3][3];
@@ -93,7 +93,7 @@ void iauC2i00b(double date1, double date2, double rc2i[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/c2i06a.c b/WorldWideAstronomy/SOFA/c2i06a.c
index 9ce073d..7aa7046 100644
--- a/WorldWideAstronomy/SOFA/c2i06a.c
+++ b/WorldWideAstronomy/SOFA/c2i06a.c
@@ -66,9 +66,9 @@ void iauC2i06a(double date1, double date2, double rc2i[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double rbpn[3][3], x, y, s;
@@ -90,7 +90,7 @@ void iauC2i06a(double date1, double date2, double rc2i[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/c2ibpn.c b/WorldWideAstronomy/SOFA/c2ibpn.c
index c81851b..0fae02c 100644
--- a/WorldWideAstronomy/SOFA/c2ibpn.c
+++ b/WorldWideAstronomy/SOFA/c2ibpn.c
@@ -78,9 +78,9 @@ void iauC2ibpn(double date1, double date2, double rbpn[3][3],
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double x, y;
@@ -96,7 +96,7 @@ void iauC2ibpn(double date1, double date2, double rbpn[3][3],
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/c2ixy.c b/WorldWideAstronomy/SOFA/c2ixy.c
index ce96a24..d584835 100644
--- a/WorldWideAstronomy/SOFA/c2ixy.c
+++ b/WorldWideAstronomy/SOFA/c2ixy.c
@@ -72,9 +72,9 @@ void iauC2ixy(double date1, double date2, double x, double y,
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
@@ -85,7 +85,7 @@ void iauC2ixy(double date1, double date2, double x, double y,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/c2ixys.c b/WorldWideAstronomy/SOFA/c2ixys.c
index 1c5abab..20e76ef 100644
--- a/WorldWideAstronomy/SOFA/c2ixys.c
+++ b/WorldWideAstronomy/SOFA/c2ixys.c
@@ -54,9 +54,9 @@ void iauC2ixys(double x, double y, double s, double rc2i[3][3])
**
** This revision: 2014 November 7
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double r2, e, d;
@@ -77,7 +77,7 @@ void iauC2ixys(double x, double y, double s, double rc2i[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/c2s.c b/WorldWideAstronomy/SOFA/c2s.c
index e9d134e..09c5fc6 100644
--- a/WorldWideAstronomy/SOFA/c2s.c
+++ b/WorldWideAstronomy/SOFA/c2s.c
@@ -30,9 +30,9 @@ void iauC2s(double p[3], double *theta, double *phi)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double x, y, z, d2;
@@ -50,7 +50,7 @@ void iauC2s(double p[3], double *theta, double *phi)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/c2t00a.c b/WorldWideAstronomy/SOFA/c2t00a.c
index 84e1232..391947a 100644
--- a/WorldWideAstronomy/SOFA/c2t00a.c
+++ b/WorldWideAstronomy/SOFA/c2t00a.c
@@ -81,9 +81,9 @@ void iauC2t00a(double tta, double ttb, double uta, double utb,
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double rc2i[3][3], era, sp, rpom[3][3];
@@ -108,7 +108,7 @@ void iauC2t00a(double tta, double ttb, double uta, double utb,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/c2t00b.c b/WorldWideAstronomy/SOFA/c2t00b.c
index 2909514..b3025b2 100644
--- a/WorldWideAstronomy/SOFA/c2t00b.c
+++ b/WorldWideAstronomy/SOFA/c2t00b.c
@@ -80,9 +80,9 @@ void iauC2t00b(double tta, double ttb, double uta, double utb,
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double rc2i[3][3], era, rpom[3][3];
@@ -104,7 +104,7 @@ void iauC2t00b(double tta, double ttb, double uta, double utb,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/c2t06a.c b/WorldWideAstronomy/SOFA/c2t06a.c
index 872a2f5..d1b47f9 100644
--- a/WorldWideAstronomy/SOFA/c2t06a.c
+++ b/WorldWideAstronomy/SOFA/c2t06a.c
@@ -79,9 +79,9 @@ void iauC2t06a(double tta, double ttb, double uta, double utb,
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double rc2i[3][3], era, sp, rpom[3][3];
@@ -106,7 +106,7 @@ void iauC2t06a(double tta, double ttb, double uta, double utb,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/c2tcio.c b/WorldWideAstronomy/SOFA/c2tcio.c
index b1079fe..9685047 100644
--- a/WorldWideAstronomy/SOFA/c2tcio.c
+++ b/WorldWideAstronomy/SOFA/c2tcio.c
@@ -59,9 +59,9 @@ void iauC2tcio(double rc2i[3][3], double era, double rpom[3][3],
**
** This revision: 2013 August 24
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double r[3][3];
@@ -76,7 +76,7 @@ void iauC2tcio(double rc2i[3][3], double era, double rpom[3][3],
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/c2teqx.c b/WorldWideAstronomy/SOFA/c2teqx.c
index 1ca4af5..c4878c7 100644
--- a/WorldWideAstronomy/SOFA/c2teqx.c
+++ b/WorldWideAstronomy/SOFA/c2teqx.c
@@ -59,9 +59,9 @@ void iauC2teqx(double rbpn[3][3], double gst, double rpom[3][3],
**
** This revision: 2013 August 24
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double r[3][3];
@@ -76,7 +76,7 @@ void iauC2teqx(double rbpn[3][3], double gst, double rpom[3][3],
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/c2tpe.c b/WorldWideAstronomy/SOFA/c2tpe.c
index a04b5e4..99b186d 100644
--- a/WorldWideAstronomy/SOFA/c2tpe.c
+++ b/WorldWideAstronomy/SOFA/c2tpe.c
@@ -90,9 +90,9 @@ void iauC2tpe(double tta, double ttb, double uta, double utb,
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double epsa, rb[3][3], rp[3][3], rbp[3][3], rn[3][3],
@@ -121,7 +121,7 @@ void iauC2tpe(double tta, double ttb, double uta, double utb,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/c2txy.c b/WorldWideAstronomy/SOFA/c2txy.c
index 0255017..f9baa5e 100644
--- a/WorldWideAstronomy/SOFA/c2txy.c
+++ b/WorldWideAstronomy/SOFA/c2txy.c
@@ -86,9 +86,9 @@ void iauC2txy(double tta, double ttb, double uta, double utb,
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double rc2i[3][3], era, sp, rpom[3][3];
@@ -113,7 +113,7 @@ void iauC2txy(double tta, double ttb, double uta, double utb,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/cal2jd.c b/WorldWideAstronomy/SOFA/cal2jd.c
index 60d3d1f..8130ee7 100644
--- a/WorldWideAstronomy/SOFA/cal2jd.c
+++ b/WorldWideAstronomy/SOFA/cal2jd.c
@@ -50,9 +50,9 @@ int iauCal2jd(int iy, int im, int id, double *djm0, double *djm)
**
** This revision: 2013 August 7
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int j, ly, my;
@@ -93,7 +93,7 @@ int iauCal2jd(int iy, int im, int id, double *djm0, double *djm)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/cp.c b/WorldWideAstronomy/SOFA/cp.c
index 0a6c740..ab5ded2 100644
--- a/WorldWideAstronomy/SOFA/cp.c
+++ b/WorldWideAstronomy/SOFA/cp.c
@@ -21,9 +21,9 @@ void iauCp(double p[3], double c[3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
c[0] = p[0];
@@ -34,7 +34,7 @@ void iauCp(double p[3], double c[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/cpv.c b/WorldWideAstronomy/SOFA/cpv.c
index b991a5e..4bea81d 100644
--- a/WorldWideAstronomy/SOFA/cpv.c
+++ b/WorldWideAstronomy/SOFA/cpv.c
@@ -24,9 +24,9 @@ void iauCpv(double pv[2][3], double c[2][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
iauCp(pv[0], c[0]);
@@ -36,7 +36,7 @@ void iauCpv(double pv[2][3], double c[2][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/cr.c b/WorldWideAstronomy/SOFA/cr.c
index 730e169..f161679 100644
--- a/WorldWideAstronomy/SOFA/cr.c
+++ b/WorldWideAstronomy/SOFA/cr.c
@@ -24,9 +24,9 @@ void iauCr(double r[3][3], double c[3][3])
**
** This revision: 2016 May 19
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
iauCp(r[0], c[0]);
@@ -37,7 +37,7 @@ void iauCr(double r[3][3], double c[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/d2dtf.c b/WorldWideAstronomy/SOFA/d2dtf.c
index cc660fc..279e738 100644
--- a/WorldWideAstronomy/SOFA/d2dtf.c
+++ b/WorldWideAstronomy/SOFA/d2dtf.c
@@ -78,9 +78,9 @@ int iauD2dtf(const char *scale, int ndp, double d1, double d2,
**
** This revision: 2014 February 15
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int leap;
@@ -190,7 +190,7 @@ int iauD2dtf(const char *scale, int ndp, double d1, double d2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/d2tf.c b/WorldWideAstronomy/SOFA/d2tf.c
index 091a2ed..f50677a 100644
--- a/WorldWideAstronomy/SOFA/d2tf.c
+++ b/WorldWideAstronomy/SOFA/d2tf.c
@@ -18,7 +18,7 @@ void iauD2tf(int ndp, double days, char *sign, int ihmsf[4])
** days double interval in days
**
** Returned:
-** sign char '+' or '-'
+** sign char* '+' or '-'
** ihmsf int[4] hours, minutes, seconds, fraction
**
** Notes:
@@ -53,11 +53,11 @@ void iauD2tf(int ndp, double days, char *sign, int ihmsf[4])
** case where days is very nearly 1.0 and rounds up to 24 hours,
** by testing for ihmsf[0]=24 and setting ihmsf[0-3] to zero.
**
-** This revision: 2013 June 18
+** This revision: 2020 April 20
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int nrs, n;
@@ -114,7 +114,7 @@ void iauD2tf(int ndp, double days, char *sign, int ihmsf[4])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/dat.c b/WorldWideAstronomy/SOFA/dat.c
index 1f67e50..b7f60d6 100644
--- a/WorldWideAstronomy/SOFA/dat.c
+++ b/WorldWideAstronomy/SOFA/dat.c
@@ -1,6 +1,6 @@
#include "sofa.h"
-int iauDat(int iy, int im, int id, double fd, double *deltat )
+int iauDat(int iy, int im, int id, double fd, double *deltat)
/*
** - - - - - - -
** i a u D a t
@@ -120,15 +120,15 @@ int iauDat(int iy, int im, int id, double fd, double *deltat )
** Called:
** iauCal2jd Gregorian calendar to JD
**
-** This revision: 2017 October 7
+** This revision: 2020 May 31
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Release year for this version of iauDat */
- enum { IYV = 2017};
+ enum { IYV = 2020};
/* Reference dates (MJD) and drift rates (s/day), pre leap seconds */
static const double drift[][2] = {
diff --git a/WorldWideAstronomy/SOFA/dtdb.c b/WorldWideAstronomy/SOFA/dtdb.c
index d425a10..d6ee573 100644
--- a/WorldWideAstronomy/SOFA/dtdb.c
+++ b/WorldWideAstronomy/SOFA/dtdb.c
@@ -164,9 +164,9 @@ double iauDtdb(double date1, double date2,
**
** This revision: 2018 January 2
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double t, tsol, w, elsun, emsun, d, elj, els, wt, w0, w1, w2, w3, w4,
@@ -1167,7 +1167,7 @@ double iauDtdb(double date1, double date2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/dtf2d.c b/WorldWideAstronomy/SOFA/dtf2d.c
index ea89275..200d93b 100644
--- a/WorldWideAstronomy/SOFA/dtf2d.c
+++ b/WorldWideAstronomy/SOFA/dtf2d.c
@@ -82,9 +82,9 @@ int iauDtf2d(const char *scale, int iy, int im, int id,
**
** This revision: 2013 July 26
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int js, iy2, im2, id2;
@@ -157,7 +157,7 @@ int iauDtf2d(const char *scale, int iy, int im, int id,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/eceq06.c b/WorldWideAstronomy/SOFA/eceq06.c
index 9c1e836..ec42135 100644
--- a/WorldWideAstronomy/SOFA/eceq06.c
+++ b/WorldWideAstronomy/SOFA/eceq06.c
@@ -60,9 +60,9 @@ void iauEceq06(double date1, double date2, double dl, double db,
**
** This revision: 2016 February 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double rm[3][3], v1[3], v2[3], a, b;
@@ -86,7 +86,7 @@ void iauEceq06(double date1, double date2, double dl, double db,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -179,5 +179,4 @@ void iauEceq06(double date1, double date2, double dl, double db,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/ecm06.c b/WorldWideAstronomy/SOFA/ecm06.c
index 0995c8e..29ba346 100644
--- a/WorldWideAstronomy/SOFA/ecm06.c
+++ b/WorldWideAstronomy/SOFA/ecm06.c
@@ -66,9 +66,9 @@ void iauEcm06(double date1, double date2, double rm[3][3])
**
** This revision: 2015 December 11
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double ob, bp[3][3], e[3][3];
@@ -89,7 +89,7 @@ void iauEcm06(double date1, double date2, double rm[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -182,5 +182,4 @@ void iauEcm06(double date1, double date2, double rm[3][3])
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/ee00.c b/WorldWideAstronomy/SOFA/ee00.c
index ab680e9..0e18788 100644
--- a/WorldWideAstronomy/SOFA/ee00.c
+++ b/WorldWideAstronomy/SOFA/ee00.c
@@ -67,9 +67,9 @@ double iauEe00(double date1, double date2, double epsa, double dpsi)
**
** This revision: 2008 May 16
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double ee;
@@ -82,7 +82,7 @@ double iauEe00(double date1, double date2, double epsa, double dpsi)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/ee00a.c b/WorldWideAstronomy/SOFA/ee00a.c
index e5b3e8a..0db0cd1 100644
--- a/WorldWideAstronomy/SOFA/ee00a.c
+++ b/WorldWideAstronomy/SOFA/ee00a.c
@@ -65,9 +65,9 @@ double iauEe00a(double date1, double date2)
**
** This revision: 2008 May 16
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double dpsipr, depspr, epsa, dpsi, deps, ee;
@@ -89,7 +89,7 @@ double iauEe00a(double date1, double date2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/ee00b.c b/WorldWideAstronomy/SOFA/ee00b.c
index b88725e..0ccbb03 100644
--- a/WorldWideAstronomy/SOFA/ee00b.c
+++ b/WorldWideAstronomy/SOFA/ee00b.c
@@ -71,9 +71,9 @@ double iauEe00b(double date1, double date2)
**
** This revision: 2008 May 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double dpsipr, depspr, epsa, dpsi, deps, ee;
@@ -95,7 +95,7 @@ double iauEe00b(double date1, double date2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/ee06a.c b/WorldWideAstronomy/SOFA/ee06a.c
index c1bdbd1..c061a9e 100644
--- a/WorldWideAstronomy/SOFA/ee06a.c
+++ b/WorldWideAstronomy/SOFA/ee06a.c
@@ -57,9 +57,9 @@ double iauEe06a(double date1, double date2)
**
** This revision: 2008 May 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double gst06a, gmst06, ee;
@@ -76,7 +76,7 @@ double iauEe06a(double date1, double date2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/eect00.c b/WorldWideAstronomy/SOFA/eect00.c
index 6217cf1..72534de 100644
--- a/WorldWideAstronomy/SOFA/eect00.c
+++ b/WorldWideAstronomy/SOFA/eect00.c
@@ -96,11 +96,11 @@ double iauEect00(double date1, double date2)
** McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003),
** IERS Technical Note No. 32, BKG (2004)
**
-** This revision: 2017 October 12
+** This revision: 2019 June 23
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Time since J2000.0, in Julian centuries */
@@ -179,7 +179,7 @@ double iauEect00(double date1, double date2)
const int NE0 = (int) (sizeof e0 / sizeof (TERM));
const int NE1 = (int) (sizeof e1 / sizeof (TERM));
-/*--------------------------------------------------------------------*/
+/* ------------------------------------------------------------------ */
/* Interval between fundamental epoch J2000.0 and current date (JC). */
t = ((date1 - DJ00) + date2) / DJC;
@@ -236,7 +236,7 @@ double iauEect00(double date1, double date2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/eform.c b/WorldWideAstronomy/SOFA/eform.c
index 2a8eafb..645257b 100644
--- a/WorldWideAstronomy/SOFA/eform.c
+++ b/WorldWideAstronomy/SOFA/eform.c
@@ -62,9 +62,9 @@ int iauEform ( int n, double *a, double *f )
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
@@ -100,7 +100,7 @@ int iauEform ( int n, double *a, double *f )
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -193,5 +193,4 @@ int iauEform ( int n, double *a, double *f )
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/eo06a.c b/WorldWideAstronomy/SOFA/eo06a.c
index 4f9a19a..f38dd39 100644
--- a/WorldWideAstronomy/SOFA/eo06a.c
+++ b/WorldWideAstronomy/SOFA/eo06a.c
@@ -61,9 +61,9 @@ double iauEo06a(double date1, double date2)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double r[3][3], x, y, s, eo;
@@ -85,7 +85,7 @@ double iauEo06a(double date1, double date2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/eors.c b/WorldWideAstronomy/SOFA/eors.c
index 74290d7..21a7e3d 100644
--- a/WorldWideAstronomy/SOFA/eors.c
+++ b/WorldWideAstronomy/SOFA/eors.c
@@ -40,9 +40,9 @@ double iauEors(double rnpb[3][3], double s)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double x, ax, xs, ys, zs, p, q, eo;
@@ -62,7 +62,7 @@ double iauEors(double rnpb[3][3], double s)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/epb.c b/WorldWideAstronomy/SOFA/epb.c
index ec0aea8..fcb1d59 100644
--- a/WorldWideAstronomy/SOFA/epb.c
+++ b/WorldWideAstronomy/SOFA/epb.c
@@ -33,9 +33,9 @@ double iauEpb(double dj1, double dj2)
**
** This revision: 2013 August 21
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* J2000.0-B1900.0 (2415019.81352) in days */
@@ -45,7 +45,7 @@ double iauEpb(double dj1, double dj2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/epb2jd.c b/WorldWideAstronomy/SOFA/epb2jd.c
index e5a9a5f..c819722 100644
--- a/WorldWideAstronomy/SOFA/epb2jd.c
+++ b/WorldWideAstronomy/SOFA/epb2jd.c
@@ -33,9 +33,9 @@ void iauEpb2jd(double epb, double *djm0, double *djm)
**
** This revision: 2013 August 13
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
*djm0 = DJM0;
@@ -45,7 +45,7 @@ void iauEpb2jd(double epb, double *djm0, double *djm)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/epj.c b/WorldWideAstronomy/SOFA/epj.c
index 6302408..4d7e40f 100644
--- a/WorldWideAstronomy/SOFA/epj.c
+++ b/WorldWideAstronomy/SOFA/epj.c
@@ -33,9 +33,9 @@ double iauEpj(double dj1, double dj2)
**
** This revision: 2013 August 7
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double epj;
@@ -47,7 +47,7 @@ double iauEpj(double dj1, double dj2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/epj2jd.c b/WorldWideAstronomy/SOFA/epj2jd.c
index a681064..4b41aed 100644
--- a/WorldWideAstronomy/SOFA/epj2jd.c
+++ b/WorldWideAstronomy/SOFA/epj2jd.c
@@ -33,9 +33,9 @@ void iauEpj2jd(double epj, double *djm0, double *djm)
**
** This revision: 2013 August 7
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
*djm0 = DJM0;
@@ -45,7 +45,7 @@ void iauEpj2jd(double epj, double *djm0, double *djm)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/epv00.c b/WorldWideAstronomy/SOFA/epv00.c
index d287fd8..720b30c 100644
--- a/WorldWideAstronomy/SOFA/epv00.c
+++ b/WorldWideAstronomy/SOFA/epv00.c
@@ -99,11 +99,11 @@ int iauEpv00(double date1, double date2,
** 5) It is permissible to use the same array for pvh and pvb, which
** will receive the barycentric values.
**
-** This revision: 2017 March 16
+** This revision: 2019 June 23
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/*
@@ -2393,7 +2393,7 @@ int iauEpv00(double date1, double date2,
double t, t2, xyz, xyzd, a, b, c, ct, p, cp,
ph[3], vh[3], pb[3], vb[3], x, y, z;
-/*--------------------------------------------------------------------*/
+/* ------------------------------------------------------------------ */
/* Time since reference epoch, Julian years. */
t = ((date1 - DJ00) + date2) / DJY;
@@ -2543,7 +2543,7 @@ int iauEpv00(double date1, double date2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/eqec06.c b/WorldWideAstronomy/SOFA/eqec06.c
index 3302a33..ed3e6c0 100644
--- a/WorldWideAstronomy/SOFA/eqec06.c
+++ b/WorldWideAstronomy/SOFA/eqec06.c
@@ -61,9 +61,9 @@ void iauEqec06(double date1, double date2, double dr, double dd,
**
** This revision: 2016 February 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double rm[3][3], v1[3], v2[3], a, b;
@@ -87,7 +87,7 @@ void iauEqec06(double date1, double date2, double dr, double dd,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -180,5 +180,4 @@ void iauEqec06(double date1, double date2, double dr, double dd,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/eqeq94.c b/WorldWideAstronomy/SOFA/eqeq94.c
index f6a8532..dcb4638 100644
--- a/WorldWideAstronomy/SOFA/eqeq94.c
+++ b/WorldWideAstronomy/SOFA/eqeq94.c
@@ -58,9 +58,9 @@ double iauEqeq94(double date1, double date2)
**
** This revision: 2017 October 12
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double t, om, dpsi, deps, eps0, ee;
@@ -86,7 +86,7 @@ double iauEqeq94(double date1, double date2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/era00.c b/WorldWideAstronomy/SOFA/era00.c
index 125abf5..58d521a 100644
--- a/WorldWideAstronomy/SOFA/era00.c
+++ b/WorldWideAstronomy/SOFA/era00.c
@@ -61,9 +61,9 @@ double iauEra00(double dj1, double dj2)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double d1, d2, t, f, theta;
@@ -90,7 +90,7 @@ double iauEra00(double dj1, double dj2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/fad03.c b/WorldWideAstronomy/SOFA/fad03.c
index 2461765..40d8543 100644
--- a/WorldWideAstronomy/SOFA/fad03.c
+++ b/WorldWideAstronomy/SOFA/fad03.c
@@ -38,9 +38,9 @@ double iauFad03(double t)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double a;
@@ -57,7 +57,7 @@ double iauFad03(double t)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/fae03.c b/WorldWideAstronomy/SOFA/fae03.c
index da638e6..6a61456 100644
--- a/WorldWideAstronomy/SOFA/fae03.c
+++ b/WorldWideAstronomy/SOFA/fae03.c
@@ -41,9 +41,9 @@ double iauFae03(double t)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double a;
@@ -56,7 +56,7 @@ double iauFae03(double t)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/faf03.c b/WorldWideAstronomy/SOFA/faf03.c
index 17a8d07..e3f7e98 100644
--- a/WorldWideAstronomy/SOFA/faf03.c
+++ b/WorldWideAstronomy/SOFA/faf03.c
@@ -39,9 +39,9 @@ double iauFaf03(double t)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double a;
@@ -60,7 +60,7 @@ double iauFaf03(double t)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/faju03.c b/WorldWideAstronomy/SOFA/faju03.c
index 4012d39..6c32628 100644
--- a/WorldWideAstronomy/SOFA/faju03.c
+++ b/WorldWideAstronomy/SOFA/faju03.c
@@ -41,9 +41,9 @@ double iauFaju03(double t)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double a;
@@ -56,7 +56,7 @@ double iauFaju03(double t)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/fal03.c b/WorldWideAstronomy/SOFA/fal03.c
index 68fb781..3787e26 100644
--- a/WorldWideAstronomy/SOFA/fal03.c
+++ b/WorldWideAstronomy/SOFA/fal03.c
@@ -38,9 +38,9 @@ double iauFal03(double t)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double a;
@@ -57,7 +57,7 @@ double iauFal03(double t)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/falp03.c b/WorldWideAstronomy/SOFA/falp03.c
index 89b1979..9d4e1b2 100644
--- a/WorldWideAstronomy/SOFA/falp03.c
+++ b/WorldWideAstronomy/SOFA/falp03.c
@@ -38,9 +38,9 @@ double iauFalp03(double t)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double a;
@@ -57,7 +57,7 @@ double iauFalp03(double t)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/fama03.c b/WorldWideAstronomy/SOFA/fama03.c
index 2f2ea8a..cfffd30 100644
--- a/WorldWideAstronomy/SOFA/fama03.c
+++ b/WorldWideAstronomy/SOFA/fama03.c
@@ -41,9 +41,9 @@ double iauFama03(double t)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double a;
@@ -56,7 +56,7 @@ double iauFama03(double t)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/fame03.c b/WorldWideAstronomy/SOFA/fame03.c
index 43397c3..8347021 100644
--- a/WorldWideAstronomy/SOFA/fame03.c
+++ b/WorldWideAstronomy/SOFA/fame03.c
@@ -41,9 +41,9 @@ double iauFame03(double t)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double a;
@@ -56,7 +56,7 @@ double iauFame03(double t)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/fane03.c b/WorldWideAstronomy/SOFA/fane03.c
index 750b614..50227d3 100644
--- a/WorldWideAstronomy/SOFA/fane03.c
+++ b/WorldWideAstronomy/SOFA/fane03.c
@@ -38,9 +38,9 @@ double iauFane03(double t)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double a;
@@ -53,7 +53,7 @@ double iauFane03(double t)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/faom03.c b/WorldWideAstronomy/SOFA/faom03.c
index 530541a..953bd42 100644
--- a/WorldWideAstronomy/SOFA/faom03.c
+++ b/WorldWideAstronomy/SOFA/faom03.c
@@ -38,9 +38,9 @@ double iauFaom03(double t)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double a;
@@ -58,7 +58,7 @@ double iauFaom03(double t)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/fapa03.c b/WorldWideAstronomy/SOFA/fapa03.c
index 1b75a93..3ec1d56 100644
--- a/WorldWideAstronomy/SOFA/fapa03.c
+++ b/WorldWideAstronomy/SOFA/fapa03.c
@@ -42,9 +42,9 @@ double iauFapa03(double t)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double a;
@@ -57,7 +57,7 @@ double iauFapa03(double t)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/fasa03.c b/WorldWideAstronomy/SOFA/fasa03.c
index d18cbab..263ac99 100644
--- a/WorldWideAstronomy/SOFA/fasa03.c
+++ b/WorldWideAstronomy/SOFA/fasa03.c
@@ -41,9 +41,9 @@ double iauFasa03(double t)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double a;
@@ -56,7 +56,7 @@ double iauFasa03(double t)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/faur03.c b/WorldWideAstronomy/SOFA/faur03.c
index 8af6314..916939e 100644
--- a/WorldWideAstronomy/SOFA/faur03.c
+++ b/WorldWideAstronomy/SOFA/faur03.c
@@ -38,9 +38,9 @@ double iauFaur03(double t)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double a;
@@ -53,7 +53,7 @@ double iauFaur03(double t)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/fave03.c b/WorldWideAstronomy/SOFA/fave03.c
index e543ba9..d2ffaee 100644
--- a/WorldWideAstronomy/SOFA/fave03.c
+++ b/WorldWideAstronomy/SOFA/fave03.c
@@ -41,9 +41,9 @@ double iauFave03(double t)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double a;
@@ -56,7 +56,7 @@ double iauFave03(double t)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/fk52h.c b/WorldWideAstronomy/SOFA/fk52h.c
index f4b2c37..40b6ee4 100644
--- a/WorldWideAstronomy/SOFA/fk52h.c
+++ b/WorldWideAstronomy/SOFA/fk52h.c
@@ -60,9 +60,9 @@ void iauFk52h(double r5, double d5,
**
** This revision: 2017 October 12
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int i;
@@ -97,7 +97,7 @@ void iauFk52h(double r5, double d5,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/fk5hip.c b/WorldWideAstronomy/SOFA/fk5hip.c
index 58a2bce..387e1cc 100644
--- a/WorldWideAstronomy/SOFA/fk5hip.c
+++ b/WorldWideAstronomy/SOFA/fk5hip.c
@@ -43,9 +43,9 @@ void iauFk5hip(double r5h[3][3], double s5h[3])
**
** This revision: 2017 October 12
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double v[3];
@@ -80,7 +80,7 @@ void iauFk5hip(double r5h[3][3], double s5h[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/fk5hz.c b/WorldWideAstronomy/SOFA/fk5hz.c
index 2abf9f5..87d1cbc 100644
--- a/WorldWideAstronomy/SOFA/fk5hz.c
+++ b/WorldWideAstronomy/SOFA/fk5hz.c
@@ -76,9 +76,9 @@ void iauFk5hz(double r5, double d5, double date1, double date2,
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double t, p5e[3], r5h[3][3], s5h[3], vst[3], rst[3][3], p5[3],
@@ -114,7 +114,7 @@ void iauFk5hz(double r5, double d5, double date1, double date2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/fw2m.c b/WorldWideAstronomy/SOFA/fw2m.c
index d2debf1..9d4f21e 100644
--- a/WorldWideAstronomy/SOFA/fw2m.c
+++ b/WorldWideAstronomy/SOFA/fw2m.c
@@ -44,13 +44,16 @@ void iauFw2m(double gamb, double phib, double psi, double eps,
**
** NxPxB = R_1(-eps).R_3(-psi).R_1(phib).R_3(gamb)
**
-** 3) Three different matrices can be constructed, depending on the
-** supplied angles:
+** 3) The present function can construct three different matrices,
+** depending on which angles are supplied as the arguments gamb,
+** phib, psi and eps:
**
** o To obtain the nutation x precession x frame bias matrix,
-** generate the four precession angles, generate the nutation
-** components and add them to the psi_bar and epsilon_A angles,
-** and call the present function.
+** first generate the four precession angles known conventionally
+** as gamma_bar, phi_bar, psi_bar and epsilon_A, then generate
+** the nutation components Dpsi and Depsilon and add them to
+** psi_bar and epsilon_A, and finally call the present function
+** using those four angles as arguments.
**
** o To obtain the precession x frame bias matrix, generate the
** four precession angles and call the present function.
@@ -66,15 +69,16 @@ void iauFw2m(double gamb, double phib, double psi, double eps,
** iauRz rotate around Z-axis
** iauRx rotate around X-axis
**
-** Reference:
+** References:
**
+** Capitaine, N. & Wallace, P.T., 2006, Astron.Astrophys. 450, 855
** Hilton, J. et al., 2006, Celest.Mech.Dyn.Astron. 94, 351
**
-** This revision: 2013 June 18
+** This revision: 2019 July 26
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Construct the matrix. */
@@ -88,7 +92,7 @@ void iauFw2m(double gamb, double phib, double psi, double eps,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/fw2xy.c b/WorldWideAstronomy/SOFA/fw2xy.c
index 828c36b..c3197d5 100644
--- a/WorldWideAstronomy/SOFA/fw2xy.c
+++ b/WorldWideAstronomy/SOFA/fw2xy.c
@@ -57,9 +57,9 @@ void iauFw2xy(double gamb, double phib, double psi, double eps,
**
** This revision: 2013 September 2
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double r[3][3];
@@ -75,7 +75,7 @@ void iauFw2xy(double gamb, double phib, double psi, double eps,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/g2icrs.c b/WorldWideAstronomy/SOFA/g2icrs.c
index 17c85bb..40e6cea 100644
--- a/WorldWideAstronomy/SOFA/g2icrs.c
+++ b/WorldWideAstronomy/SOFA/g2icrs.c
@@ -68,9 +68,9 @@ void iauG2icrs ( double dl, double db, double *dr, double *dd )
**
** This revision: 2018 January 2
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double v1[3], v2[3];
@@ -115,7 +115,7 @@ void iauG2icrs ( double dl, double db, double *dr, double *dd )
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -208,5 +208,4 @@ void iauG2icrs ( double dl, double db, double *dr, double *dd )
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/gc2gd.c b/WorldWideAstronomy/SOFA/gc2gd.c
index 0a28f58..3038f33 100644
--- a/WorldWideAstronomy/SOFA/gc2gd.c
+++ b/WorldWideAstronomy/SOFA/gc2gd.c
@@ -58,9 +58,9 @@ int iauGc2gd ( int n, double xyz[3],
**
** This revision: 2013 September 1
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int j;
@@ -88,7 +88,7 @@ int iauGc2gd ( int n, double xyz[3],
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -181,5 +181,4 @@ int iauGc2gd ( int n, double xyz[3],
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/gc2gde.c b/WorldWideAstronomy/SOFA/gc2gde.c
index 5eb2972..d14e870 100644
--- a/WorldWideAstronomy/SOFA/gc2gde.c
+++ b/WorldWideAstronomy/SOFA/gc2gde.c
@@ -63,9 +63,9 @@ int iauGc2gde ( double a, double f, double xyz[3],
**
** This revision: 2014 November 7
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double aeps2, e2, e4t, ec2, ec, b, x, y, z, p2, absz, p, s0, pn, zc,
@@ -153,7 +153,7 @@ int iauGc2gde ( double a, double f, double xyz[3],
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -246,5 +246,4 @@ int iauGc2gde ( double a, double f, double xyz[3],
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/gd2gc.c b/WorldWideAstronomy/SOFA/gd2gc.c
index 7cea14e..8ae7c3d 100644
--- a/WorldWideAstronomy/SOFA/gd2gc.c
+++ b/WorldWideAstronomy/SOFA/gd2gc.c
@@ -61,9 +61,9 @@ int iauGd2gc ( int n, double elong, double phi, double height,
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int j;
@@ -87,7 +87,7 @@ int iauGd2gc ( int n, double elong, double phi, double height,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -180,5 +180,4 @@ int iauGd2gc ( int n, double elong, double phi, double height,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/gd2gce.c b/WorldWideAstronomy/SOFA/gd2gce.c
index 5ea9dd9..a3fd6f0 100644
--- a/WorldWideAstronomy/SOFA/gd2gce.c
+++ b/WorldWideAstronomy/SOFA/gd2gce.c
@@ -62,9 +62,9 @@ int iauGd2gce ( double a, double f, double elong, double phi,
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double sp, cp, w, d, ac, as, r;
@@ -91,7 +91,7 @@ int iauGd2gce ( double a, double f, double elong, double phi,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -184,5 +184,4 @@ int iauGd2gce ( double a, double f, double elong, double phi,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/gmst00.c b/WorldWideAstronomy/SOFA/gmst00.c
index f045cb1..b184fa3 100644
--- a/WorldWideAstronomy/SOFA/gmst00.c
+++ b/WorldWideAstronomy/SOFA/gmst00.c
@@ -75,9 +75,9 @@ double iauGmst00(double uta, double utb, double tta, double ttb)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double t, gmst;
@@ -99,7 +99,7 @@ double iauGmst00(double uta, double utb, double tta, double ttb)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/gmst06.c b/WorldWideAstronomy/SOFA/gmst06.c
index ba2981e..6d7471c 100644
--- a/WorldWideAstronomy/SOFA/gmst06.c
+++ b/WorldWideAstronomy/SOFA/gmst06.c
@@ -65,9 +65,9 @@ double iauGmst06(double uta, double utb, double tta, double ttb)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double t, gmst;
@@ -90,7 +90,7 @@ double iauGmst06(double uta, double utb, double tta, double ttb)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/gmst82.c b/WorldWideAstronomy/SOFA/gmst82.c
index b42d537..81806a7 100644
--- a/WorldWideAstronomy/SOFA/gmst82.c
+++ b/WorldWideAstronomy/SOFA/gmst82.c
@@ -65,11 +65,11 @@ double iauGmst82(double dj1, double dj2)
**
** Aoki et al., Astron.Astrophys., 105, 359-361 (1982).
**
-** This revision: 2017 October 12
+** This revision: 2020 January 12
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Coefficients of IAU 1982 GMST-UT1 model */
@@ -78,9 +78,8 @@ double iauGmst82(double dj1, double dj2)
double C = 0.093104;
double D = -6.2e-6;
-/* Note: the first constant, A, has to be adjusted by 12 hours */
-/* because the UT1 is supplied as a Julian date, which begins */
-/* at noon. */
+/* The first constant, A, has to be adjusted by 12 hours because the */
+/* UT1 is supplied as a Julian date, which begins at noon. */
double d1, d2, t, f, gmst;
@@ -105,7 +104,7 @@ double iauGmst82(double dj1, double dj2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/gst00a.c b/WorldWideAstronomy/SOFA/gst00a.c
index 7be40d2..1089384 100644
--- a/WorldWideAstronomy/SOFA/gst00a.c
+++ b/WorldWideAstronomy/SOFA/gst00a.c
@@ -76,9 +76,9 @@ double iauGst00a(double uta, double utb, double tta, double ttb)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double gmst00, ee00a, gst;
@@ -92,7 +92,7 @@ double iauGst00a(double uta, double utb, double tta, double ttb)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/gst00b.c b/WorldWideAstronomy/SOFA/gst00b.c
index 98400cf..604ea36 100644
--- a/WorldWideAstronomy/SOFA/gst00b.c
+++ b/WorldWideAstronomy/SOFA/gst00b.c
@@ -84,9 +84,9 @@ double iauGst00b(double uta, double utb)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double gmst00, ee00b, gst;
@@ -100,7 +100,7 @@ double iauGst00b(double uta, double utb)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/gst06.c b/WorldWideAstronomy/SOFA/gst06.c
index d60b3ce..27a7098 100644
--- a/WorldWideAstronomy/SOFA/gst06.c
+++ b/WorldWideAstronomy/SOFA/gst06.c
@@ -71,9 +71,9 @@ double iauGst06(double uta, double utb, double tta, double ttb,
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double x, y, s, era, eors, gst;
@@ -94,7 +94,7 @@ double iauGst06(double uta, double utb, double tta, double ttb,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/gst06a.c b/WorldWideAstronomy/SOFA/gst06a.c
index 758b8a7..0e6bdf7 100644
--- a/WorldWideAstronomy/SOFA/gst06a.c
+++ b/WorldWideAstronomy/SOFA/gst06a.c
@@ -67,9 +67,9 @@ double iauGst06a(double uta, double utb, double tta, double ttb)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double rnpb[3][3], gst;
@@ -85,7 +85,7 @@ double iauGst06a(double uta, double utb, double tta, double ttb)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/gst94.c b/WorldWideAstronomy/SOFA/gst94.c
index 807fbcf..ffb4654 100644
--- a/WorldWideAstronomy/SOFA/gst94.c
+++ b/WorldWideAstronomy/SOFA/gst94.c
@@ -69,9 +69,9 @@ double iauGst94(double uta, double utb)
**
** This revision: 2008 May 16
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double gmst82, eqeq94, gst;
@@ -85,7 +85,7 @@ double iauGst94(double uta, double utb)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/h2fk5.c b/WorldWideAstronomy/SOFA/h2fk5.c
index 873cf66..7824d80 100644
--- a/WorldWideAstronomy/SOFA/h2fk5.c
+++ b/WorldWideAstronomy/SOFA/h2fk5.c
@@ -62,9 +62,9 @@ void iauH2fk5(double rh, double dh,
**
** This revision: 2017 October 12
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int i;
@@ -102,7 +102,7 @@ void iauH2fk5(double rh, double dh,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/hd2ae.c b/WorldWideAstronomy/SOFA/hd2ae.c
index 33a75fb..533e762 100644
--- a/WorldWideAstronomy/SOFA/hd2ae.c
+++ b/WorldWideAstronomy/SOFA/hd2ae.c
@@ -63,9 +63,9 @@ void iauHd2ae (double ha, double dec, double phi,
**
** Last revision: 2017 September 12
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double sh, ch, sd, cd, sp, cp, x, y, z, r, a;
@@ -94,7 +94,7 @@ void iauHd2ae (double ha, double dec, double phi,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -187,5 +187,4 @@ void iauHd2ae (double ha, double dec, double phi,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/hd2pa.c b/WorldWideAstronomy/SOFA/hd2pa.c
index 957ec48..fc1c0b1 100644
--- a/WorldWideAstronomy/SOFA/hd2pa.c
+++ b/WorldWideAstronomy/SOFA/hd2pa.c
@@ -51,9 +51,9 @@ double iauHd2pa (double ha, double dec, double phi)
**
** Last revision: 2017 September 12
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double cp, cqsz, sqsz;
@@ -68,7 +68,7 @@ double iauHd2pa (double ha, double dec, double phi)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -161,5 +161,4 @@ double iauHd2pa (double ha, double dec, double phi)
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/hfk5z.c b/WorldWideAstronomy/SOFA/hfk5z.c
index 84579a2..92c3262 100644
--- a/WorldWideAstronomy/SOFA/hfk5z.c
+++ b/WorldWideAstronomy/SOFA/hfk5z.c
@@ -81,9 +81,9 @@ void iauHfk5z(double rh, double dh, double date1, double date2,
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double t, ph[3], r5h[3][3], s5h[3], sh[3], vst[3],
@@ -129,7 +129,7 @@ void iauHfk5z(double rh, double dh, double date1, double date2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/icrs2g.c b/WorldWideAstronomy/SOFA/icrs2g.c
index 5544045..f5158b8 100644
--- a/WorldWideAstronomy/SOFA/icrs2g.c
+++ b/WorldWideAstronomy/SOFA/icrs2g.c
@@ -68,9 +68,9 @@ void iauIcrs2g ( double dr, double dd, double *dl, double *db )
**
** This revision: 2018 January 2
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double v1[3], v2[3];
@@ -115,7 +115,7 @@ void iauIcrs2g ( double dr, double dd, double *dl, double *db )
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -208,5 +208,4 @@ void iauIcrs2g ( double dr, double dd, double *dl, double *db )
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/ir.c b/WorldWideAstronomy/SOFA/ir.c
index 5baaa58..44d4328 100644
--- a/WorldWideAstronomy/SOFA/ir.c
+++ b/WorldWideAstronomy/SOFA/ir.c
@@ -18,9 +18,9 @@ void iauIr(double r[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
r[0][0] = 1.0;
@@ -37,7 +37,7 @@ void iauIr(double r[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/jd2cal.c b/WorldWideAstronomy/SOFA/jd2cal.c
index de1fb3d..4530e91 100644
--- a/WorldWideAstronomy/SOFA/jd2cal.c
+++ b/WorldWideAstronomy/SOFA/jd2cal.c
@@ -1,4 +1,5 @@
#include "sofa.h"
+#include
int iauJd2cal(double dj1, double dj2,
int *iy, int *im, int *id, double *fd)
@@ -44,53 +45,94 @@ int iauJd2cal(double dj1, double dj2,
** 2400000.5 50123.2 (MJD method)
** 2450123.5 0.2 (date & time method)
**
+** Separating integer and fraction uses the "compensated summation"
+** algorithm of Kahan-Neumaier to preserve as much precision as
+** possible irrespective of the jd1+jd2 apportionment.
+**
** 3) In early eras the conversion is from the "proleptic Gregorian
** calendar"; no account is taken of the date(s) of adoption of
** the Gregorian calendar, nor is the AD/BC numbering convention
** observed.
**
-** Reference:
+** References:
**
** Explanatory Supplement to the Astronomical Almanac,
** P. Kenneth Seidelmann (ed), University Science Books (1992),
** Section 12.92 (p604).
**
-** This revision: 2017 January 12
+** Klein, A., A Generalized Kahan-Babuska-Summation-Algorithm.
+** Computing 76, 279-293 (2006), Section 3.
+**
+** This revision: 2020 June 24
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Minimum and maximum allowed JD */
const double DJMIN = -68569.5;
const double DJMAX = 1e9;
- long jd, l, n, i, k;
- double dj, d1, d2, f1, f2, f, d;
+ long jd, i, l, n, k;
+ double dj, f1, f2, d, s, cs, v[2], x, t, f;
/* Verify date is acceptable. */
dj = dj1 + dj2;
if (dj < DJMIN || dj > DJMAX) return -1;
-/* Copy the date, big then small, and re-align to midnight. */
- if (dj1 >= dj2) {
- d1 = dj1;
- d2 = dj2;
- } else {
- d1 = dj2;
- d2 = dj1;
+/* Separate day and fraction (where -0.5 <= fraction < 0.5). */
+ d = dnint(dj1);
+ f1 = dj1 - d;
+ jd = (long) d;
+ d = dnint(dj2);
+ f2 = dj2 - d;
+ jd += (long) d;
+
+/* Compute f1+f2+0.5 using compensated summation (Klein 2006). */
+ s = 0.5;
+ cs = 0.0;
+ v[0] = f1;
+ v[1] = f2;
+ for ( i = 0; i < 2; i++ ) {
+ x = v[i];
+ t = s + x;
+ cs += fabs(s) >= fabs(x) ? (s-t) + x : (x-t) + s;
+ s = t;
+ if ( s >= 1.0 ) {
+ jd++;
+ s -= 1.0;
+ }
+ }
+ f = s + cs;
+ cs = f - s;
+
+/* Deal with negative f. */
+ if ( f < 0.0 ) {
+
+ /* Compensated summation: assume that |s| <= 1.0. */
+ f = s + 1.0;
+ cs += (1.0-f) + s;
+ s = f;
+ f = s + cs;
+ cs = f - s;
+ jd--;
}
- d2 -= 0.5;
-/* Separate day and fraction. */
- f1 = fmod(d1, 1.0);
- f2 = fmod(d2, 1.0);
- f = fmod(f1 + f2, 1.0);
- if (f < 0.0) f += 1.0;
- d = dnint(d1-f1) + dnint(d2-f2) + dnint(f1+f2-f);
- jd = (long) dnint(d) + 1L;
+/* Deal with f that is 1.0 or more (when rounded to double). */
+ if ( (f-1.0) >= -DBL_EPSILON/4.0 ) {
+
+ /* Compensated summation: assume that |s| <= 1.0. */
+ t = s - 1.0;
+ cs += (s-t) - 1.0;
+ s = t;
+ f = s + cs;
+ if ( -DBL_EPSILON/2.0 < f ) {
+ jd++;
+ f = gmax(f, 0.0);
+ }
+ }
/* Express day in Gregorian calendar. */
l = jd + 68569L;
@@ -109,7 +151,7 @@ int iauJd2cal(double dj1, double dj2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/jdcalf.c b/WorldWideAstronomy/SOFA/jdcalf.c
index 5dd974e..e2c5787 100644
--- a/WorldWideAstronomy/SOFA/jdcalf.c
+++ b/WorldWideAstronomy/SOFA/jdcalf.c
@@ -60,15 +60,15 @@ int iauJdcalf(int ndp, double dj1, double dj2, int iymdf[4])
** P. Kenneth Seidelmann (ed), University Science Books (1992),
** Section 12.92 (p604).
**
-** This revision: 2016 December 2
+** This revision: 2020 April 13
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int j, js;
- double denom, d1, d2, f1, f2, f;
+ double denom, d1, d2, f1, f2, d, djd, f, rf;
/* Denominator of fraction (e.g. 100 for 2 decimal places). */
@@ -80,32 +80,43 @@ int iauJdcalf(int ndp, double dj1, double dj2, int iymdf[4])
denom = 1.0;
}
-/* Copy the date, big then small, and realign to midnight. */
- if (dj1 >= dj2) {
+/* Copy the date, big then small. */
+ if (fabs(dj1) >= fabs(dj2)) {
d1 = dj1;
d2 = dj2;
} else {
d1 = dj2;
d2 = dj1;
}
- d2 -= 0.5;
-/* Separate days and fractions. */
- f1 = fmod(d1, 1.0);
- f2 = fmod(d2, 1.0);
- d1 = dnint(d1-f1);
- d2 = dnint(d2-f2);
+/* Realign to midnight (without rounding error). */
+ d1 -= 0.5;
+
+/* Separate day and fraction (as precisely as possible). */
+ d = dnint(d1);
+ f1 = d1 - d;
+ djd = d;
+ d = dnint(d2);
+ f2 = d2 - d;
+ djd += d;
+ d = dnint(f1 + f2);
+ f = (f1 - d) + f2;
+ if (f < 0.0) {
+ f += 1.0;
+ d -= 1.0;
+ }
+ djd += d;
/* Round the total fraction to the specified number of places. */
- f = dnint((f1+f2)*denom) / denom;
+ rf = dnint(f*denom) / denom;
-/* Re-assemble the rounded date and re-align to noon. */
- d2 += f + 0.5;
+/* Re-align to noon. */
+ djd += 0.5;
/* Convert to Gregorian calendar. */
- js = iauJd2cal(d1, d2, &iymdf[0], &iymdf[1], &iymdf[2], &f);
+ js = iauJd2cal(djd, rf, &iymdf[0], &iymdf[1], &iymdf[2], &f);
if (js == 0) {
- iymdf[3] = (int) (f * denom);
+ iymdf[3] = (int) dnint(f * denom);
} else {
j = js;
}
@@ -115,7 +126,7 @@ int iauJdcalf(int ndp, double dj1, double dj2, int iymdf[4])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/ld.c b/WorldWideAstronomy/SOFA/ld.c
index 6f5877f..0b31836 100644
--- a/WorldWideAstronomy/SOFA/ld.c
+++ b/WorldWideAstronomy/SOFA/ld.c
@@ -75,9 +75,9 @@ void iauLd(double bm, double p[3], double q[3], double e[3],
**
** This revision: 2013 October 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int i;
@@ -106,7 +106,7 @@ void iauLd(double bm, double p[3], double q[3], double e[3],
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -199,5 +199,4 @@ void iauLd(double bm, double p[3], double q[3], double e[3],
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/ldn.c b/WorldWideAstronomy/SOFA/ldn.c
index f3b0c3f..c102948 100644
--- a/WorldWideAstronomy/SOFA/ldn.c
+++ b/WorldWideAstronomy/SOFA/ldn.c
@@ -85,9 +85,9 @@ void iauLdn(int n, iauLDBODY b[], double ob[3], double sc[3],
**
** This revision: 2017 March 16
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Light time for 1 au (days) */
@@ -128,7 +128,7 @@ void iauLdn(int n, iauLDBODY b[], double ob[3], double sc[3],
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -221,5 +221,4 @@ void iauLdn(int n, iauLDBODY b[], double ob[3], double sc[3],
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/ldsun.c b/WorldWideAstronomy/SOFA/ldsun.c
index a969ba7..f79477b 100644
--- a/WorldWideAstronomy/SOFA/ldsun.c
+++ b/WorldWideAstronomy/SOFA/ldsun.c
@@ -40,9 +40,9 @@ void iauLdsun(double p[3], double e[3], double em, double p1[3])
**
** This revision: 2016 June 16
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double em2, dlim;
@@ -60,7 +60,7 @@ void iauLdsun(double p[3], double e[3], double em, double p1[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -153,5 +153,4 @@ void iauLdsun(double p[3], double e[3], double em, double p1[3])
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/lteceq.c b/WorldWideAstronomy/SOFA/lteceq.c
index d7dcc43..d519fb2 100644
--- a/WorldWideAstronomy/SOFA/lteceq.c
+++ b/WorldWideAstronomy/SOFA/lteceq.c
@@ -57,9 +57,9 @@ void iauLteceq(double epj, double dl, double db, double *dr, double *dd)
**
** This revision: 2016 February 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double rm[3][3], v1[3], v2[3], a, b;
@@ -83,7 +83,7 @@ void iauLteceq(double epj, double dl, double db, double *dr, double *dd)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -176,5 +176,4 @@ void iauLteceq(double epj, double dl, double db, double *dr, double *dd)
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/ltecm.c b/WorldWideAstronomy/SOFA/ltecm.c
index 388c51f..d5ae6e9 100644
--- a/WorldWideAstronomy/SOFA/ltecm.c
+++ b/WorldWideAstronomy/SOFA/ltecm.c
@@ -63,9 +63,9 @@ void iauLtecm(double epj, double rm[3][3])
**
** This revision: 2015 December 6
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Frame bias (IERS Conventions 2010, Eqs. 5.21 and 5.33) */
@@ -102,7 +102,7 @@ void iauLtecm(double epj, double rm[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -195,5 +195,4 @@ void iauLtecm(double epj, double rm[3][3])
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/lteqec.c b/WorldWideAstronomy/SOFA/lteqec.c
index f9dbdb9..f0fd175 100644
--- a/WorldWideAstronomy/SOFA/lteqec.c
+++ b/WorldWideAstronomy/SOFA/lteqec.c
@@ -58,9 +58,9 @@ void iauLteqec(double epj, double dr, double dd, double *dl, double *db)
**
** This revision: 2016 February 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double rm[3][3], v1[3], v2[3], a, b;
@@ -84,7 +84,7 @@ void iauLteqec(double epj, double dr, double dd, double *dl, double *db)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -177,5 +177,4 @@ void iauLteqec(double epj, double dr, double dd, double *dl, double *db)
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/ltp.c b/WorldWideAstronomy/SOFA/ltp.c
index a082658..b951bf8 100644
--- a/WorldWideAstronomy/SOFA/ltp.c
+++ b/WorldWideAstronomy/SOFA/ltp.c
@@ -54,9 +54,9 @@ void iauLtp(double epj, double rp[3][3])
**
** This revision: 2015 December 6
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int i;
@@ -85,7 +85,7 @@ void iauLtp(double epj, double rp[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -178,5 +178,4 @@ void iauLtp(double epj, double rp[3][3])
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/ltpb.c b/WorldWideAstronomy/SOFA/ltpb.c
index c59c4fd..5464f60 100644
--- a/WorldWideAstronomy/SOFA/ltpb.c
+++ b/WorldWideAstronomy/SOFA/ltpb.c
@@ -52,9 +52,9 @@ void iauLtpb(double epj, double rpb[3][3])
**
** This revision: 2015 December 6
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Frame bias (IERS Conventions 2010, Eqs. 5.21 and 5.33) */
@@ -78,7 +78,7 @@ void iauLtpb(double epj, double rpb[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -171,5 +171,4 @@ void iauLtpb(double epj, double rpb[3][3])
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/ltpecl.c b/WorldWideAstronomy/SOFA/ltpecl.c
index c6f8f69..9ea6507 100644
--- a/WorldWideAstronomy/SOFA/ltpecl.c
+++ b/WorldWideAstronomy/SOFA/ltpecl.c
@@ -43,9 +43,9 @@ void iauLtpecl(double epj, double vec[3])
**
** This revision: 2016 February 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Obliquity at J2000.0 (radians). */
@@ -122,7 +122,7 @@ void iauLtpecl(double epj, double vec[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -215,5 +215,4 @@ void iauLtpecl(double epj, double vec[3])
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/ltpequ.c b/WorldWideAstronomy/SOFA/ltpequ.c
index 657c71f..3c4acb3 100644
--- a/WorldWideAstronomy/SOFA/ltpequ.c
+++ b/WorldWideAstronomy/SOFA/ltpequ.c
@@ -43,9 +43,9 @@ void iauLtpequ(double epj, double veq[3])
**
** This revision: 2016 February 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Polynomial coefficients */
@@ -122,7 +122,7 @@ void iauLtpequ(double epj, double veq[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -215,5 +215,4 @@ void iauLtpequ(double epj, double veq[3])
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/makefile b/WorldWideAstronomy/SOFA/makefile
index a3dcd12..99d68c9 100644
--- a/WorldWideAstronomy/SOFA/makefile
+++ b/WorldWideAstronomy/SOFA/makefile
@@ -33,7 +33,7 @@
# make distclean delete all generated binaries
# make realclean same as distclean
#
-# Last revision: 2018 January 26
+# Last revision: 2019 July 22
#
# Copyright International Astronomical Union. All rights reserved.
#
@@ -183,7 +183,11 @@ SOFA_OBS = iauA2af.o \
iauFasa03.o \
iauFaur03.o \
iauFave03.o \
+ iauFk425.o \
+ iauFk45z.o \
+ iauFk524.o \
iauFk52h.o \
+ iauFk54z.o \
iauFk5hip.o \
iauFk5hz.o \
iauFw2m.o \
@@ -572,8 +576,16 @@ iauFaur03.o : faur03.c sofa.h sofam.h
$(CCOMPC) $(CFLAGF) -o $@ faur03.c
iauFave03.o : fave03.c sofa.h sofam.h
$(CCOMPC) $(CFLAGF) -o $@ fave03.c
+iauFk425.o : fk425.c sofa.h sofam.h
+ $(CCOMPC) $(CFLAGF) -o $@ fk425.c
+iauFk45z.o : fk45z.c sofa.h sofam.h
+ $(CCOMPC) $(CFLAGF) -o $@ fk45z.c
+iauFk524.o : fk524.c sofa.h sofam.h
+ $(CCOMPC) $(CFLAGF) -o $@ fk524.c
iauFk52h.o : fk52h.c sofa.h sofam.h
$(CCOMPC) $(CFLAGF) -o $@ fk52h.c
+iauFk54z.o : fk54z.c sofa.h sofam.h
+ $(CCOMPC) $(CFLAGF) -o $@ fk54z.c
iauFk5hip.o : fk5hip.c sofa.h sofam.h
$(CCOMPC) $(CFLAGF) -o $@ fk5hip.c
iauFk5hz.o : fk5hz.c sofa.h sofam.h
diff --git a/WorldWideAstronomy/SOFA/num00a.c b/WorldWideAstronomy/SOFA/num00a.c
index 82cfea3..87c089e 100644
--- a/WorldWideAstronomy/SOFA/num00a.c
+++ b/WorldWideAstronomy/SOFA/num00a.c
@@ -59,9 +59,9 @@ void iauNum00a(double date1, double date2, double rmatn[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double dpsi, deps, epsa, rb[3][3], rp[3][3], rbp[3][3], rbpn[3][3];
@@ -75,7 +75,7 @@ void iauNum00a(double date1, double date2, double rmatn[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/num00b.c b/WorldWideAstronomy/SOFA/num00b.c
index 049db8b..6e8152a 100644
--- a/WorldWideAstronomy/SOFA/num00b.c
+++ b/WorldWideAstronomy/SOFA/num00b.c
@@ -59,9 +59,9 @@ void iauNum00b(double date1, double date2, double rmatn[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double dpsi, deps, epsa, rb[3][3], rp[3][3], rbp[3][3], rbpn[3][3];
@@ -75,7 +75,7 @@ void iauNum00b(double date1, double date2, double rmatn[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/num06a.c b/WorldWideAstronomy/SOFA/num06a.c
index 3e479a3..3327516 100644
--- a/WorldWideAstronomy/SOFA/num06a.c
+++ b/WorldWideAstronomy/SOFA/num06a.c
@@ -58,9 +58,9 @@ void iauNum06a(double date1, double date2, double rmatn[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double eps, dp, de;
@@ -79,7 +79,7 @@ void iauNum06a(double date1, double date2, double rmatn[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/numat.c b/WorldWideAstronomy/SOFA/numat.c
index f5ecbf3..9c190b6 100644
--- a/WorldWideAstronomy/SOFA/numat.c
+++ b/WorldWideAstronomy/SOFA/numat.c
@@ -48,9 +48,9 @@ void iauNumat(double epsa, double dpsi, double deps, double rmatn[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Build the rotation matrix. */
@@ -63,7 +63,7 @@ void iauNumat(double epsa, double dpsi, double deps, double rmatn[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/nut00a.c b/WorldWideAstronomy/SOFA/nut00a.c
index fed5116..452bfa2 100644
--- a/WorldWideAstronomy/SOFA/nut00a.c
+++ b/WorldWideAstronomy/SOFA/nut00a.c
@@ -153,11 +153,11 @@ void iauNut00a(double date1, double date2, double *dpsi, double *deps)
** Wallace, P.T., "Software for Implementing the IAU 2000
** Resolutions", in IERS Workshop 5.1 (2002)
**
-** This revision: 2013 June 18
+** This revision: 2019 June 23
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int i;
@@ -1856,7 +1856,7 @@ void iauNut00a(double date1, double date2, double *dpsi, double *deps)
/* Number of terms in the planetary nutation model */
const int NPL = (int) (sizeof xpl / sizeof xpl[0]);
-/*--------------------------------------------------------------------*/
+/* ------------------------------------------------------------------ */
/* Interval between fundamental date J2000.0 and given date (JC). */
t = ((date1 - DJ00) + date2) / DJC;
@@ -2001,7 +2001,7 @@ void iauNut00a(double date1, double date2, double *dpsi, double *deps)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/nut00b.c b/WorldWideAstronomy/SOFA/nut00b.c
index b447977..6d1df2c 100644
--- a/WorldWideAstronomy/SOFA/nut00b.c
+++ b/WorldWideAstronomy/SOFA/nut00b.c
@@ -121,11 +121,11 @@ void iauNut00b(double date1, double date2, double *dpsi, double *deps)
** Simon, J.-L., Bretagnon, P., Chapront, J., Chapront-Touze, M.,
** Francou, G., Laskar, J., Astron.Astrophys. 282, 663-683 (1994)
**
-** This revision: 2013 June 18
+** This revision: 2019 June 23
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double t, el, elp, f, d, om, arg, dp, de, sarg, carg,
@@ -255,7 +255,7 @@ void iauNut00b(double date1, double date2, double *dpsi, double *deps)
/* Number of terms in the series */
const int NLS = (int) (sizeof x / sizeof x[0]);
-/*--------------------------------------------------------------------*/
+/* ------------------------------------------------------------------ */
/* Interval between fundamental epoch J2000.0 and given date (JC). */
t = ((date1 - DJ00) + date2) / DJC;
@@ -326,7 +326,7 @@ void iauNut00b(double date1, double date2, double *dpsi, double *deps)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/nut06a.c b/WorldWideAstronomy/SOFA/nut06a.c
index 4bbb698..96e1724 100644
--- a/WorldWideAstronomy/SOFA/nut06a.c
+++ b/WorldWideAstronomy/SOFA/nut06a.c
@@ -79,9 +79,9 @@ void iauNut06a(double date1, double date2, double *dpsi, double *deps)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double t, fj2, dp, de;
@@ -104,7 +104,7 @@ void iauNut06a(double date1, double date2, double *dpsi, double *deps)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/nut80.c b/WorldWideAstronomy/SOFA/nut80.c
index 82c8b36..80ba6d3 100644
--- a/WorldWideAstronomy/SOFA/nut80.c
+++ b/WorldWideAstronomy/SOFA/nut80.c
@@ -53,11 +53,11 @@ void iauNut80(double date1, double date2, double *dpsi, double *deps)
** P. Kenneth Seidelmann (ed), University Science Books (1992),
** Section 3.222 (p111).
**
-** This revision: 2013 June 18
+** This revision: 2019 June 23
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double t, el, elp, f, d, om, dp, de, arg, s, c;
@@ -211,7 +211,7 @@ void iauNut80(double date1, double date2, double *dpsi, double *deps)
/* Number of terms in the series */
const int NT = (int) (sizeof x / sizeof x[0]);
-/*--------------------------------------------------------------------*/
+/* ------------------------------------------------------------------ */
/* Interval between fundamental epoch J2000.0 and given date (JC). */
t = ((date1 - DJ00) + date2) / DJC;
@@ -279,7 +279,7 @@ void iauNut80(double date1, double date2, double *dpsi, double *deps)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/nutm80.c b/WorldWideAstronomy/SOFA/nutm80.c
index b66dc2b..19431e0 100644
--- a/WorldWideAstronomy/SOFA/nutm80.c
+++ b/WorldWideAstronomy/SOFA/nutm80.c
@@ -52,9 +52,9 @@ void iauNutm80(double date1, double date2, double rmatn[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double dpsi, deps, epsa;
@@ -71,7 +71,7 @@ void iauNutm80(double date1, double date2, double rmatn[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/obl06.c b/WorldWideAstronomy/SOFA/obl06.c
index 9b5b8f6..bd793f5 100644
--- a/WorldWideAstronomy/SOFA/obl06.c
+++ b/WorldWideAstronomy/SOFA/obl06.c
@@ -49,9 +49,9 @@ double iauObl06(double date1, double date2)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double t, eps0;
@@ -72,7 +72,7 @@ double iauObl06(double date1, double date2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/obl80.c b/WorldWideAstronomy/SOFA/obl80.c
index 8b4dc67..81b449a 100644
--- a/WorldWideAstronomy/SOFA/obl80.c
+++ b/WorldWideAstronomy/SOFA/obl80.c
@@ -51,9 +51,9 @@ double iauObl80(double date1, double date2)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double t, eps0;
@@ -72,7 +72,7 @@ double iauObl80(double date1, double date2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/p06e.c b/WorldWideAstronomy/SOFA/p06e.c
index 479a5f0..7c951dd 100644
--- a/WorldWideAstronomy/SOFA/p06e.c
+++ b/WorldWideAstronomy/SOFA/p06e.c
@@ -76,13 +76,17 @@ void iauP06e(double date1, double date2,
** za z_A equatorial precession: -3rd 323 Euler angle
** zetaa zeta_A equatorial precession: -1st 323 Euler angle
** thetaa theta_A equatorial precession: 2nd 323 Euler angle
-** pa p_A general precession
+** pa p_A general precession (n.b. see below)
** gam gamma_J2000 J2000.0 RA difference of ecliptic poles
** phi phi_J2000 J2000.0 codeclination of ecliptic pole
** psi psi_J2000 longitude difference of equator poles, J2000.0
**
** The returned values are all radians.
**
+** Note that the t^5 coefficient in the series for p_A from
+** Capitaine et al. (2003) is incorrectly signed in Hilton et al.
+** (2006).
+**
** 3) Hilton et al. (2006) Table 1 also contains angles that depend on
** models distinct from the P03 precession theory itself, namely the
** IAU 2000A frame bias and nutation. The quoted polynomials are
@@ -118,18 +122,21 @@ void iauP06e(double date1, double date2,
** 8) It is permissible to re-use the same variable in the returned
** arguments. The quantities are stored in the stated order.
**
-** Reference:
+** References:
+**
+** Capitaine, N., Wallace, P.T. & Chapront, J., 2003,
+** Astron.Astrophys., 412, 567
**
** Hilton, J. et al., 2006, Celest.Mech.Dyn.Astron. 94, 351
**
** Called:
** iauObl06 mean obliquity, IAU 2006
**
-** This revision: 2013 June 18
+** This revision: 2020 June 2
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double t;
@@ -245,7 +252,7 @@ void iauP06e(double date1, double date2,
( 1.1054348 +
( 0.00007964 +
( -0.000023857 +
- ( 0.0000000383 )
+ ( -0.0000000383 )
* t) * t) * t) * t) * t * DAS2R;
/* Fukushima-Williams angles for precession. */
@@ -275,7 +282,7 @@ void iauP06e(double date1, double date2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/p2pv.c b/WorldWideAstronomy/SOFA/p2pv.c
index 996eaef..a8d3327 100644
--- a/WorldWideAstronomy/SOFA/p2pv.c
+++ b/WorldWideAstronomy/SOFA/p2pv.c
@@ -25,9 +25,9 @@ void iauP2pv(double p[3], double pv[2][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
iauCp(p, pv[0]);
@@ -37,7 +37,7 @@ void iauP2pv(double p[3], double pv[2][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/p2s.c b/WorldWideAstronomy/SOFA/p2s.c
index fd7b282..8dc5f3b 100644
--- a/WorldWideAstronomy/SOFA/p2s.c
+++ b/WorldWideAstronomy/SOFA/p2s.c
@@ -33,9 +33,9 @@ void iauP2s(double p[3], double *theta, double *phi, double *r)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
iauC2s(p, theta, phi);
@@ -45,7 +45,7 @@ void iauP2s(double p[3], double *theta, double *phi, double *r)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pap.c b/WorldWideAstronomy/SOFA/pap.c
index 8577fbe..c7c9dd9 100644
--- a/WorldWideAstronomy/SOFA/pap.c
+++ b/WorldWideAstronomy/SOFA/pap.c
@@ -44,9 +44,9 @@ double iauPap(double a[3], double b[3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double am, au[3], bm, st, ct, xa, ya, za, eta[3], xi[3], a2b[3], pa;
@@ -93,7 +93,7 @@ double iauPap(double a[3], double b[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pas.c b/WorldWideAstronomy/SOFA/pas.c
index 6e1394b..f7ac164 100644
--- a/WorldWideAstronomy/SOFA/pas.c
+++ b/WorldWideAstronomy/SOFA/pas.c
@@ -33,9 +33,9 @@ double iauPas(double al, double ap, double bl, double bp)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double dl, x, y, pa;
@@ -50,7 +50,7 @@ double iauPas(double al, double ap, double bl, double bp)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pb06.c b/WorldWideAstronomy/SOFA/pb06.c
index 16e533a..6bd6a7f 100644
--- a/WorldWideAstronomy/SOFA/pb06.c
+++ b/WorldWideAstronomy/SOFA/pb06.c
@@ -68,37 +68,43 @@ void iauPb06(double date1, double date2,
** iauPmat06 PB matrix, IAU 2006
** iauRz rotate around Z-axis
**
-** This revision: 2013 June 18
+** This revision: 2020 May 27
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
- double r[3][3], r31, r32;
+ double r[3][3], y, x;
/* Precession matrix via Fukushima-Williams angles. */
iauPmat06(date1, date2, r);
-/* Solve for z. */
- *bz = atan2(r[1][2], r[0][2]);
+/* Solve for z, choosing the +/- pi alternative. */
+ y = r[1][2];
+ x = -r[0][2];
+ if ( x < 0.0 ) {
+ y = -y;
+ x = -x;
+ }
+ *bz = ( x != 0.0 || y != 0.0 ) ? - atan2(y,x) : 0.0;
-/* Remove it from the matrix. */
- iauRz(*bz, r);
+/* Derotate it out of the matrix. */
+ iauRz ( *bz, r );
/* Solve for the remaining two angles. */
- *bzeta = atan2 (r[1][0], r[1][1]);
- r31 = r[2][0];
- r32 = r[2][1];
- *btheta = atan2(-dsign(sqrt(r31 * r31 + r32 * r32), r[0][2]),
- r[2][2]);
+ y = r[0][2];
+ x = r[2][2];
+ *btheta = ( x != 0.0 || y != 0.0 ) ? - atan2(y,x) : 0.0;
- return;
+ y = -r[1][0];
+ x = r[1][1];
+ *bzeta = ( x != 0.0 || y != 0.0 ) ? - atan2(y,x) : 0.0;
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pdp.c b/WorldWideAstronomy/SOFA/pdp.c
index 4fc2921..a5a21c1 100644
--- a/WorldWideAstronomy/SOFA/pdp.c
+++ b/WorldWideAstronomy/SOFA/pdp.c
@@ -22,9 +22,9 @@ double iauPdp(double a[3], double b[3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double w;
@@ -38,7 +38,7 @@ double iauPdp(double a[3], double b[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pfw06.c b/WorldWideAstronomy/SOFA/pfw06.c
index 749aebc..f1ac7b2 100644
--- a/WorldWideAstronomy/SOFA/pfw06.c
+++ b/WorldWideAstronomy/SOFA/pfw06.c
@@ -80,9 +80,9 @@ void iauPfw06(double date1, double date2,
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double t;
@@ -119,7 +119,7 @@ void iauPfw06(double date1, double date2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/plan94.c b/WorldWideAstronomy/SOFA/plan94.c
index 974dcca..49347fb 100644
--- a/WorldWideAstronomy/SOFA/plan94.c
+++ b/WorldWideAstronomy/SOFA/plan94.c
@@ -162,11 +162,11 @@ int iauPlan94(double date1, double date2, int np, double pv[2][3])
** Chapront-Touze, M., Francou, G., and Laskar, J.,
** Astron.Astrophys., 282, 663 (1994).
**
-** This revision: 2017 October 12
+** This revision: 2019 June 23
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Gaussian constant */
@@ -343,7 +343,7 @@ int iauPlan94(double date1, double date2, int np, double pv[2][3])
{ -47645, 11647, 2166, 3194, 679, 0,-244, -419, -2531, 48 }
};
-/*--------------------------------------------------------------------*/
+/* ------------------------------------------------------------------ */
/* Validate the planet number. */
if ((np < 1) || (np > 8)) {
@@ -468,7 +468,7 @@ int iauPlan94(double date1, double date2, int np, double pv[2][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pm.c b/WorldWideAstronomy/SOFA/pm.c
index 5e7bcd3..1dfd8f7 100644
--- a/WorldWideAstronomy/SOFA/pm.c
+++ b/WorldWideAstronomy/SOFA/pm.c
@@ -21,16 +21,16 @@ double iauPm(double p[3])
**
** This revision: 2013 August 7
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
return sqrt( p[0]*p[0] + p[1]*p[1] + p[2]*p[2] );
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pmat00.c b/WorldWideAstronomy/SOFA/pmat00.c
index 9b279d7..2a7f848 100644
--- a/WorldWideAstronomy/SOFA/pmat00.c
+++ b/WorldWideAstronomy/SOFA/pmat00.c
@@ -57,9 +57,9 @@ void iauPmat00(double date1, double date2, double rbp[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double rb[3][3], rp[3][3];
@@ -72,7 +72,7 @@ void iauPmat00(double date1, double date2, double rbp[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pmat06.c b/WorldWideAstronomy/SOFA/pmat06.c
index e051f27..3b6a0b3 100644
--- a/WorldWideAstronomy/SOFA/pmat06.c
+++ b/WorldWideAstronomy/SOFA/pmat06.c
@@ -58,9 +58,9 @@ void iauPmat06(double date1, double date2, double rbp[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double gamb, phib, psib, epsa;
@@ -76,7 +76,7 @@ void iauPmat06(double date1, double date2, double rbp[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pmat76.c b/WorldWideAstronomy/SOFA/pmat76.c
index d613cfc..a500ffa 100644
--- a/WorldWideAstronomy/SOFA/pmat76.c
+++ b/WorldWideAstronomy/SOFA/pmat76.c
@@ -73,9 +73,9 @@ void iauPmat76(double date1, double date2, double rmatp[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double zeta, z, theta, wmat[3][3];
@@ -95,7 +95,7 @@ void iauPmat76(double date1, double date2, double rmatp[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pmp.c b/WorldWideAstronomy/SOFA/pmp.c
index cb8be1e..1f03e6f 100644
--- a/WorldWideAstronomy/SOFA/pmp.c
+++ b/WorldWideAstronomy/SOFA/pmp.c
@@ -26,9 +26,9 @@ void iauPmp(double a[3], double b[3], double amb[3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
amb[0] = a[0] - b[0];
@@ -39,7 +39,7 @@ void iauPmp(double a[3], double b[3], double amb[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pmpx.c b/WorldWideAstronomy/SOFA/pmpx.c
index 4f44675..786c3a9 100644
--- a/WorldWideAstronomy/SOFA/pmpx.c
+++ b/WorldWideAstronomy/SOFA/pmpx.c
@@ -53,9 +53,9 @@ void iauPmpx(double rc, double dc, double pr, double pd,
**
** This revision: 2013 October 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Km/s to au/year */
@@ -98,7 +98,7 @@ void iauPmpx(double rc, double dc, double pr, double pd,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -191,5 +191,4 @@ void iauPmpx(double rc, double dc, double pr, double pd,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/pmsafe.c b/WorldWideAstronomy/SOFA/pmsafe.c
index 4fc880f..a473cb7 100644
--- a/WorldWideAstronomy/SOFA/pmsafe.c
+++ b/WorldWideAstronomy/SOFA/pmsafe.c
@@ -112,9 +112,9 @@ int iauPmsafe(double ra1, double dec1, double pmr1, double pmd1,
**
** This revision: 2014 July 1
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
@@ -151,7 +151,7 @@ int iauPmsafe(double ra1, double dec1, double pmr1, double pmd1,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -244,5 +244,4 @@ int iauPmsafe(double ra1, double dec1, double pmr1, double pmd1,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/pn.c b/WorldWideAstronomy/SOFA/pn.c
index 5fea4b5..ee45bea 100644
--- a/WorldWideAstronomy/SOFA/pn.c
+++ b/WorldWideAstronomy/SOFA/pn.c
@@ -35,9 +35,9 @@ void iauPn(double p[3], double *r, double u[3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double w;
@@ -63,7 +63,7 @@ void iauPn(double p[3], double *r, double u[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pn00.c b/WorldWideAstronomy/SOFA/pn00.c
index fac5a81..9bffbb1 100644
--- a/WorldWideAstronomy/SOFA/pn00.c
+++ b/WorldWideAstronomy/SOFA/pn00.c
@@ -102,9 +102,9 @@ void iauPn00(double date1, double date2, double dpsi, double deps,
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double dpsipr, depspr, rbpw[3][3], rnw[3][3];
@@ -131,7 +131,7 @@ void iauPn00(double date1, double date2, double dpsi, double deps,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pn00a.c b/WorldWideAstronomy/SOFA/pn00a.c
index 55da069..cc4dc63 100644
--- a/WorldWideAstronomy/SOFA/pn00a.c
+++ b/WorldWideAstronomy/SOFA/pn00a.c
@@ -102,9 +102,9 @@ void iauPn00a(double date1, double date2,
**
** This revision: 2013 November 14
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Nutation. */
@@ -117,7 +117,7 @@ void iauPn00a(double date1, double date2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pn00b.c b/WorldWideAstronomy/SOFA/pn00b.c
index 89c71b8..a1ebd1e 100644
--- a/WorldWideAstronomy/SOFA/pn00b.c
+++ b/WorldWideAstronomy/SOFA/pn00b.c
@@ -102,9 +102,9 @@ void iauPn00b(double date1, double date2,
**
** This revision: 2013 November 13
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Nutation. */
@@ -117,7 +117,7 @@ void iauPn00b(double date1, double date2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pn06.c b/WorldWideAstronomy/SOFA/pn06.c
index b476bdf..8142869 100644
--- a/WorldWideAstronomy/SOFA/pn06.c
+++ b/WorldWideAstronomy/SOFA/pn06.c
@@ -100,9 +100,9 @@ void iauPn06(double date1, double date2, double dpsi, double deps,
**
** This revision: 2013 November 14
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double gamb, phib, psib, eps, r1[3][3], r2[3][3], rt[3][3];
@@ -141,7 +141,7 @@ void iauPn06(double date1, double date2, double dpsi, double deps,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pn06a.c b/WorldWideAstronomy/SOFA/pn06a.c
index 13ce5e8..c3d0d7d 100644
--- a/WorldWideAstronomy/SOFA/pn06a.c
+++ b/WorldWideAstronomy/SOFA/pn06a.c
@@ -92,9 +92,9 @@ void iauPn06a(double date1, double date2,
**
** This revision: 2013 November 13
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Nutation. */
@@ -107,7 +107,7 @@ void iauPn06a(double date1, double date2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pnm00a.c b/WorldWideAstronomy/SOFA/pnm00a.c
index ea0ad2f..ed61a56 100644
--- a/WorldWideAstronomy/SOFA/pnm00a.c
+++ b/WorldWideAstronomy/SOFA/pnm00a.c
@@ -60,9 +60,9 @@ void iauPnm00a(double date1, double date2, double rbpn[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double dpsi, deps, epsa, rb[3][3], rp[3][3], rbp[3][3], rn[3][3];
@@ -75,7 +75,7 @@ void iauPnm00a(double date1, double date2, double rbpn[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pnm00b.c b/WorldWideAstronomy/SOFA/pnm00b.c
index 26286c2..ef67db9 100644
--- a/WorldWideAstronomy/SOFA/pnm00b.c
+++ b/WorldWideAstronomy/SOFA/pnm00b.c
@@ -60,9 +60,9 @@ void iauPnm00b(double date1, double date2, double rbpn[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double dpsi, deps, epsa, rb[3][3], rp[3][3], rbp[3][3], rn[3][3];
@@ -75,7 +75,7 @@ void iauPnm00b(double date1, double date2, double rbpn[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pnm06a.c b/WorldWideAstronomy/SOFA/pnm06a.c
index e9e3b93..ac3404b 100644
--- a/WorldWideAstronomy/SOFA/pnm06a.c
+++ b/WorldWideAstronomy/SOFA/pnm06a.c
@@ -57,9 +57,9 @@ void iauPnm06a(double date1, double date2, double rnpb[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double gamb, phib, psib, epsa, dp, de;
@@ -78,7 +78,7 @@ void iauPnm06a(double date1, double date2, double rnpb[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pnm80.c b/WorldWideAstronomy/SOFA/pnm80.c
index f5bc5ee..12d11f4 100644
--- a/WorldWideAstronomy/SOFA/pnm80.c
+++ b/WorldWideAstronomy/SOFA/pnm80.c
@@ -59,9 +59,9 @@ void iauPnm80(double date1, double date2, double rmatpn[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double rmatp[3][3], rmatn[3][3];
@@ -80,7 +80,7 @@ void iauPnm80(double date1, double date2, double rmatpn[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pom00.c b/WorldWideAstronomy/SOFA/pom00.c
index 1709d98..96e74c5 100644
--- a/WorldWideAstronomy/SOFA/pom00.c
+++ b/WorldWideAstronomy/SOFA/pom00.c
@@ -53,9 +53,9 @@ void iauPom00(double xp, double yp, double sp, double rpom[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
@@ -69,7 +69,7 @@ void iauPom00(double xp, double yp, double sp, double rpom[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/ppp.c b/WorldWideAstronomy/SOFA/ppp.c
index 5d4e3af..1f788d1 100644
--- a/WorldWideAstronomy/SOFA/ppp.c
+++ b/WorldWideAstronomy/SOFA/ppp.c
@@ -26,9 +26,9 @@ void iauPpp(double a[3], double b[3], double apb[3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
apb[0] = a[0] + b[0];
@@ -39,7 +39,7 @@ void iauPpp(double a[3], double b[3], double apb[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/ppsp.c b/WorldWideAstronomy/SOFA/ppsp.c
index 9b011ef..5024e2e 100644
--- a/WorldWideAstronomy/SOFA/ppsp.c
+++ b/WorldWideAstronomy/SOFA/ppsp.c
@@ -30,9 +30,9 @@ void iauPpsp(double a[3], double s, double b[3], double apsb[3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double sb[3];
@@ -48,7 +48,7 @@ void iauPpsp(double a[3], double s, double b[3], double apsb[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pr00.c b/WorldWideAstronomy/SOFA/pr00.c
index 348251b..3176b73 100644
--- a/WorldWideAstronomy/SOFA/pr00.c
+++ b/WorldWideAstronomy/SOFA/pr00.c
@@ -73,9 +73,9 @@ void iauPr00(double date1, double date2, double *dpsipr, double *depspr)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double t;
@@ -96,7 +96,7 @@ void iauPr00(double date1, double date2, double *dpsipr, double *depspr)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/prec76.c b/WorldWideAstronomy/SOFA/prec76.c
index 07b1935..ffcbd02 100644
--- a/WorldWideAstronomy/SOFA/prec76.c
+++ b/WorldWideAstronomy/SOFA/prec76.c
@@ -73,9 +73,9 @@ void iauPrec76(double date01, double date02, double date11, double date12,
**
** This revision: 2013 November 19
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double t0, t, tas2r, w;
@@ -102,7 +102,7 @@ void iauPrec76(double date01, double date02, double date11, double date12,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pv2p.c b/WorldWideAstronomy/SOFA/pv2p.c
index ac68fd9..c117469 100644
--- a/WorldWideAstronomy/SOFA/pv2p.c
+++ b/WorldWideAstronomy/SOFA/pv2p.c
@@ -24,9 +24,9 @@ void iauPv2p(double pv[2][3], double p[3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
iauCp(pv[0], p);
@@ -35,7 +35,7 @@ void iauPv2p(double pv[2][3], double p[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pv2s.c b/WorldWideAstronomy/SOFA/pv2s.c
index 8296b8a..267e6b8 100644
--- a/WorldWideAstronomy/SOFA/pv2s.c
+++ b/WorldWideAstronomy/SOFA/pv2s.c
@@ -41,9 +41,9 @@ void iauPv2s(double pv[2][3],
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double x, y, z, xd, yd, zd, rxy2, rxy, r2, rtrue, rw, xyp;
@@ -98,7 +98,7 @@ void iauPv2s(double pv[2][3],
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pvdpv.c b/WorldWideAstronomy/SOFA/pvdpv.c
index e7d1308..0f3f0bd 100644
--- a/WorldWideAstronomy/SOFA/pvdpv.c
+++ b/WorldWideAstronomy/SOFA/pvdpv.c
@@ -32,9 +32,9 @@ void iauPvdpv(double a[2][3], double b[2][3], double adb[2])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double adbd, addb;
@@ -56,7 +56,7 @@ void iauPvdpv(double a[2][3], double b[2][3], double adb[2])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pvm.c b/WorldWideAstronomy/SOFA/pvm.c
index fab1c2a..7726281 100644
--- a/WorldWideAstronomy/SOFA/pvm.c
+++ b/WorldWideAstronomy/SOFA/pvm.c
@@ -25,9 +25,9 @@ void iauPvm(double pv[2][3], double *r, double *s)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Distance. */
@@ -40,7 +40,7 @@ void iauPvm(double pv[2][3], double *r, double *s)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pvmpv.c b/WorldWideAstronomy/SOFA/pvmpv.c
index d8e33fe..efd78be 100644
--- a/WorldWideAstronomy/SOFA/pvmpv.c
+++ b/WorldWideAstronomy/SOFA/pvmpv.c
@@ -29,9 +29,9 @@ void iauPvmpv(double a[2][3], double b[2][3], double amb[2][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
iauPmp(a[0], b[0], amb[0]);
@@ -41,7 +41,7 @@ void iauPvmpv(double a[2][3], double b[2][3], double amb[2][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pvppv.c b/WorldWideAstronomy/SOFA/pvppv.c
index 684205f..dad3052 100644
--- a/WorldWideAstronomy/SOFA/pvppv.c
+++ b/WorldWideAstronomy/SOFA/pvppv.c
@@ -29,9 +29,9 @@ void iauPvppv(double a[2][3], double b[2][3], double apb[2][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
iauPpp(a[0], b[0], apb[0]);
@@ -41,7 +41,7 @@ void iauPvppv(double a[2][3], double b[2][3], double apb[2][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pvstar.c b/WorldWideAstronomy/SOFA/pvstar.c
index 691e567..bde411d 100644
--- a/WorldWideAstronomy/SOFA/pvstar.c
+++ b/WorldWideAstronomy/SOFA/pvstar.c
@@ -100,9 +100,9 @@ int iauPvstar(double pv[2][3], double *ra, double *dec,
**
** This revision: 2017 March 16
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double r, x[3], vr, ur[3], vt, ut[3], bett, betr, d, w, del,
@@ -161,7 +161,7 @@ int iauPvstar(double pv[2][3], double *ra, double *dec,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pvtob.c b/WorldWideAstronomy/SOFA/pvtob.c
index 7bb2790..1590c6a 100644
--- a/WorldWideAstronomy/SOFA/pvtob.c
+++ b/WorldWideAstronomy/SOFA/pvtob.c
@@ -68,9 +68,9 @@ void iauPvtob(double elong, double phi, double hm,
**
** This revision: 2013 October 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Earth rotation rate in radians per UT1 second */
@@ -107,7 +107,7 @@ void iauPvtob(double elong, double phi, double hm,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -200,5 +200,4 @@ void iauPvtob(double elong, double phi, double hm,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/pvu.c b/WorldWideAstronomy/SOFA/pvu.c
index 18af766..013fafa 100644
--- a/WorldWideAstronomy/SOFA/pvu.c
+++ b/WorldWideAstronomy/SOFA/pvu.c
@@ -35,9 +35,9 @@ void iauPvu(double dt, double pv[2][3], double upv[2][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
iauPpsp(pv[0], dt, pv[1], upv[0]);
@@ -47,7 +47,7 @@ void iauPvu(double dt, double pv[2][3], double upv[2][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pvup.c b/WorldWideAstronomy/SOFA/pvup.c
index 1c805e4..413f735 100644
--- a/WorldWideAstronomy/SOFA/pvup.c
+++ b/WorldWideAstronomy/SOFA/pvup.c
@@ -29,9 +29,9 @@ void iauPvup(double dt, double pv[2][3], double p[3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
p[0] = pv[0][0] + dt * pv[1][0];
@@ -42,7 +42,7 @@ void iauPvup(double dt, double pv[2][3], double p[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pvxpv.c b/WorldWideAstronomy/SOFA/pvxpv.c
index 274c0ff..94e6174 100644
--- a/WorldWideAstronomy/SOFA/pvxpv.c
+++ b/WorldWideAstronomy/SOFA/pvxpv.c
@@ -37,9 +37,9 @@ void iauPvxpv(double a[2][3], double b[2][3], double axb[2][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double wa[2][3], wb[2][3], axbd[3], adxb[3];
@@ -61,7 +61,7 @@ void iauPvxpv(double a[2][3], double b[2][3], double axb[2][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/pxp.c b/WorldWideAstronomy/SOFA/pxp.c
index 37327ab..10e9508 100644
--- a/WorldWideAstronomy/SOFA/pxp.c
+++ b/WorldWideAstronomy/SOFA/pxp.c
@@ -26,9 +26,9 @@ void iauPxp(double a[3], double b[3], double axb[3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double xa, ya, za, xb, yb, zb;
@@ -48,7 +48,7 @@ void iauPxp(double a[3], double b[3], double axb[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/refco.c b/WorldWideAstronomy/SOFA/refco.c
index 5d0aa2b..7964c44 100644
--- a/WorldWideAstronomy/SOFA/refco.c
+++ b/WorldWideAstronomy/SOFA/refco.c
@@ -152,9 +152,9 @@ void iauRefco(double phpa, double tc, double rh, double wl,
**
** This revision: 2013 October 9
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int optic;
@@ -207,7 +207,7 @@ void iauRefco(double phpa, double tc, double rh, double wl,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -300,5 +300,4 @@ void iauRefco(double phpa, double tc, double rh, double wl,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/rm2v.c b/WorldWideAstronomy/SOFA/rm2v.c
index 8ce1c9b..f405315 100644
--- a/WorldWideAstronomy/SOFA/rm2v.c
+++ b/WorldWideAstronomy/SOFA/rm2v.c
@@ -36,9 +36,9 @@ void iauRm2v(double r[3][3], double w[3])
**
** This revision: 2015 January 30
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double x, y, z, s2, c2, phi, f;
@@ -65,7 +65,7 @@ void iauRm2v(double r[3][3], double w[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/rv2m.c b/WorldWideAstronomy/SOFA/rv2m.c
index e8afa28..5fd6895 100644
--- a/WorldWideAstronomy/SOFA/rv2m.c
+++ b/WorldWideAstronomy/SOFA/rv2m.c
@@ -33,9 +33,9 @@ void iauRv2m(double w[3], double r[3][3])
**
** This revision: 2015 January 30
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double x, y, z, phi, s, c, f;
@@ -72,7 +72,7 @@ void iauRv2m(double w[3], double r[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/rx.c b/WorldWideAstronomy/SOFA/rx.c
index 1326a21..4869ea4 100644
--- a/WorldWideAstronomy/SOFA/rx.c
+++ b/WorldWideAstronomy/SOFA/rx.c
@@ -35,9 +35,9 @@ void iauRx(double phi, double r[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double s, c, a10, a11, a12, a20, a21, a22;
@@ -64,7 +64,7 @@ void iauRx(double phi, double r[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/rxp.c b/WorldWideAstronomy/SOFA/rxp.c
index ed3605f..32e1af7 100644
--- a/WorldWideAstronomy/SOFA/rxp.c
+++ b/WorldWideAstronomy/SOFA/rxp.c
@@ -28,9 +28,9 @@ void iauRxp(double r[3][3], double p[3], double rp[3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double w, wrp[3];
@@ -53,7 +53,7 @@ void iauRxp(double r[3][3], double p[3], double rp[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/rxpv.c b/WorldWideAstronomy/SOFA/rxpv.c
index 74aa307..8680550 100644
--- a/WorldWideAstronomy/SOFA/rxpv.c
+++ b/WorldWideAstronomy/SOFA/rxpv.c
@@ -28,9 +28,9 @@ void iauRxpv(double r[3][3], double pv[2][3], double rpv[2][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
iauRxp(r, pv[0], rpv[0]);
@@ -40,7 +40,7 @@ void iauRxpv(double r[3][3], double pv[2][3], double rpv[2][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/rxr.c b/WorldWideAstronomy/SOFA/rxr.c
index 1ea6511..e9070ca 100644
--- a/WorldWideAstronomy/SOFA/rxr.c
+++ b/WorldWideAstronomy/SOFA/rxr.c
@@ -29,9 +29,9 @@ void iauRxr(double a[3][3], double b[3][3], double atb[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int i, j, k;
@@ -53,7 +53,7 @@ void iauRxr(double a[3][3], double b[3][3], double atb[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/ry.c b/WorldWideAstronomy/SOFA/ry.c
index 6985fcb..14bd98c 100644
--- a/WorldWideAstronomy/SOFA/ry.c
+++ b/WorldWideAstronomy/SOFA/ry.c
@@ -35,9 +35,9 @@ void iauRy(double theta, double r[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double s, c, a00, a01, a02, a20, a21, a22;
@@ -64,7 +64,7 @@ void iauRy(double theta, double r[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/rz.c b/WorldWideAstronomy/SOFA/rz.c
index c437532..815c207 100644
--- a/WorldWideAstronomy/SOFA/rz.c
+++ b/WorldWideAstronomy/SOFA/rz.c
@@ -35,9 +35,9 @@ void iauRz(double psi, double r[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double s, c, a00, a01, a02, a10, a11, a12;
@@ -64,7 +64,7 @@ void iauRz(double psi, double r[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/s00.c b/WorldWideAstronomy/SOFA/s00.c
index 98a9182..808fc37 100644
--- a/WorldWideAstronomy/SOFA/s00.c
+++ b/WorldWideAstronomy/SOFA/s00.c
@@ -81,11 +81,11 @@ double iauS00(double date1, double date2, double x, double y)
** McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003),
** IERS Technical Note No. 32, BKG (2004)
**
-** This revision: 2013 June 18
+** This revision: 2019 June 23
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Time since J2000.0, in Julian centuries */
@@ -235,7 +235,7 @@ double iauS00(double date1, double date2, double x, double y)
const int NS3 = (int) (sizeof s3 / sizeof (TERM));
const int NS4 = (int) (sizeof s4 / sizeof (TERM));
-/*--------------------------------------------------------------------*/
+/* ------------------------------------------------------------------ */
/* Interval between fundamental epoch J2000.0 and current date (JC). */
t = ((date1 - DJ00) + date2) / DJC;
@@ -325,7 +325,7 @@ double iauS00(double date1, double date2, double x, double y)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/s00a.c b/WorldWideAstronomy/SOFA/s00a.c
index d36345b..026e1b4 100644
--- a/WorldWideAstronomy/SOFA/s00a.c
+++ b/WorldWideAstronomy/SOFA/s00a.c
@@ -76,9 +76,9 @@ double iauS00a(double date1, double date2)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double rbpn[3][3], x, y, s;
@@ -97,7 +97,7 @@ double iauS00a(double date1, double date2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/s00b.c b/WorldWideAstronomy/SOFA/s00b.c
index 3d13d66..36bcd55 100644
--- a/WorldWideAstronomy/SOFA/s00b.c
+++ b/WorldWideAstronomy/SOFA/s00b.c
@@ -76,9 +76,9 @@ double iauS00b(double date1, double date2)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double rbpn[3][3], x, y, s;
@@ -97,7 +97,7 @@ double iauS00b(double date1, double date2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/s06.c b/WorldWideAstronomy/SOFA/s06.c
index 7869e0a..1de4e8b 100644
--- a/WorldWideAstronomy/SOFA/s06.c
+++ b/WorldWideAstronomy/SOFA/s06.c
@@ -78,11 +78,11 @@ double iauS06(double date1, double date2, double x, double y)
** McCarthy, D.D., Petit, G. (eds.) 2004, IERS Conventions (2003),
** IERS Technical Note No. 32, BKG
**
-** This revision: 2013 June 18
+** This revision: 2019 June 23
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Time since J2000.0, in Julian centuries */
@@ -232,7 +232,7 @@ double iauS06(double date1, double date2, double x, double y)
static const int NS3 = (int) (sizeof s3 / sizeof (TERM));
static const int NS4 = (int) (sizeof s4 / sizeof (TERM));
-/*--------------------------------------------------------------------*/
+/* ------------------------------------------------------------------ */
/* Interval between fundamental epoch J2000.0 and current date (JC). */
t = ((date1 - DJ00) + date2) / DJC;
@@ -322,7 +322,7 @@ double iauS06(double date1, double date2, double x, double y)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/s06a.c b/WorldWideAstronomy/SOFA/s06a.c
index b94da0d..f987e03 100644
--- a/WorldWideAstronomy/SOFA/s06a.c
+++ b/WorldWideAstronomy/SOFA/s06a.c
@@ -78,9 +78,9 @@ double iauS06a(double date1, double date2)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double rnpb[3][3], x, y, s;
@@ -99,7 +99,7 @@ double iauS06a(double date1, double date2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/s2c.c b/WorldWideAstronomy/SOFA/s2c.c
index 6c5e73c..a48a060 100644
--- a/WorldWideAstronomy/SOFA/s2c.c
+++ b/WorldWideAstronomy/SOFA/s2c.c
@@ -22,9 +22,9 @@ void iauS2c(double theta, double phi, double c[3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double cp;
@@ -39,7 +39,7 @@ void iauS2c(double theta, double phi, double c[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/s2p.c b/WorldWideAstronomy/SOFA/s2p.c
index efbe2a1..9d5e0b8 100644
--- a/WorldWideAstronomy/SOFA/s2p.c
+++ b/WorldWideAstronomy/SOFA/s2p.c
@@ -27,9 +27,9 @@ void iauS2p(double theta, double phi, double r, double p[3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double u[3];
@@ -42,7 +42,7 @@ void iauS2p(double theta, double phi, double r, double p[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/s2pv.c b/WorldWideAstronomy/SOFA/s2pv.c
index 390024c..e88fb24 100644
--- a/WorldWideAstronomy/SOFA/s2pv.c
+++ b/WorldWideAstronomy/SOFA/s2pv.c
@@ -28,9 +28,9 @@ void iauS2pv(double theta, double phi, double r,
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double st, ct, sp, cp, rcp, x, y, rpd, w;
@@ -57,7 +57,7 @@ void iauS2pv(double theta, double phi, double r,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/s2xpv.c b/WorldWideAstronomy/SOFA/s2xpv.c
index 79f1600..28a3d0d 100644
--- a/WorldWideAstronomy/SOFA/s2xpv.c
+++ b/WorldWideAstronomy/SOFA/s2xpv.c
@@ -29,9 +29,9 @@ void iauS2xpv(double s1, double s2, double pv[2][3], double spv[2][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
iauSxp(s1, pv[0], spv[0]);
@@ -41,7 +41,7 @@ void iauS2xpv(double s1, double s2, double pv[2][3], double spv[2][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/sepp.c b/WorldWideAstronomy/SOFA/sepp.c
index e8c5e24..54ef2ab 100644
--- a/WorldWideAstronomy/SOFA/sepp.c
+++ b/WorldWideAstronomy/SOFA/sepp.c
@@ -37,9 +37,9 @@ double iauSepp(double a[3], double b[3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double axb[3], ss, cs, s;
@@ -59,7 +59,7 @@ double iauSepp(double a[3], double b[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/seps.c b/WorldWideAstronomy/SOFA/seps.c
index 8ef187b..57318d9 100644
--- a/WorldWideAstronomy/SOFA/seps.c
+++ b/WorldWideAstronomy/SOFA/seps.c
@@ -28,9 +28,9 @@ double iauSeps(double al, double ap, double bl, double bp)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double ac[3], bc[3], s;
@@ -47,7 +47,7 @@ double iauSeps(double al, double ap, double bl, double bp)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/sofa.h b/WorldWideAstronomy/SOFA/sofa.h
index 177802e..68c160e 100644
--- a/WorldWideAstronomy/SOFA/sofa.h
+++ b/WorldWideAstronomy/SOFA/sofa.h
@@ -11,11 +11,11 @@
** This file is part of the International Astronomical Union's
** SOFA (Standards Of Fundamental Astronomy) software collection.
**
-** This revision: 2017 October 7
+** This revision: 2018 December 5
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
#include "sofam.h"
@@ -296,10 +296,28 @@ int iauStarpv(double ra, double dec,
double pv[2][3]);
/* Astronomy/StarCatalogs */
+
+void iauFk425(double r1950, double d1950,
+ double dr1950, double dd1950,
+ double p1950, double v1950,
+ double *r2000, double *d2000,
+ double *dr2000, double *dd2000,
+ double *p2000, double *v2000);
+void iauFk45z(double r1950, double d1950, double bepoch,
+ double *r2000, double *d2000);
+void iauFk524(double r2000, double d2000,
+ double dr2000, double dd2000,
+ double p2000, double v2000,
+ double *r1950, double *d1950,
+ double *dr1950, double *dd1950,
+ double *p1950, double *v1950);
void iauFk52h(double r5, double d5,
double dr5, double dd5, double px5, double rv5,
double *rh, double *dh,
double *drh, double *ddh, double *pxh, double *rvh);
+void iauFk54z(double r2000, double d2000, double bepoch,
+ double *r1950, double *d1950,
+ double *dr1950, double *dd1950);
void iauFk5hip(double r5h[3][3], double s5h[3]);
void iauFk5hz(double r5, double d5, double date1, double date2,
double *rh, double *dh);
@@ -479,7 +497,7 @@ void iauSxpv(double s, double pv[2][3], double spv[2][3]);
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/sofam.h b/WorldWideAstronomy/SOFA/sofam.h
index 6d11cd9..be6b7a7 100644
--- a/WorldWideAstronomy/SOFA/sofam.h
+++ b/WorldWideAstronomy/SOFA/sofam.h
@@ -15,11 +15,11 @@
** the context of the SOFA software, and have no other official IAU
** status. In addition, self consistency is not guaranteed.
**
-** This revision: 2017 March 16
+** This revision: 2020 June 16
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
/* Star-independent astrometry parameters */
@@ -135,7 +135,8 @@ typedef struct {
#define dint(A) ((A)<0.0?ceil(A):floor(A))
/* dnint(A) - round to nearest whole number (double) */
-#define dnint(A) ((A)<0.0?ceil((A)-0.5):floor((A)+0.5))
+#define dnint(A) (fabs(A)<0.5?0.0\
+ :((A)<0.0?ceil((A)-0.5):floor((A)+0.5)))
/* dsign(A,B) - magnitude of A with sign of B (double) */
#define dsign(A,B) ((B)<0.0?-fabs(A):fabs(A))
@@ -155,7 +156,7 @@ typedef struct {
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/sp00.c b/WorldWideAstronomy/SOFA/sp00.c
index 776d936..c0987c4 100644
--- a/WorldWideAstronomy/SOFA/sp00.c
+++ b/WorldWideAstronomy/SOFA/sp00.c
@@ -54,9 +54,9 @@ double iauSp00(double date1, double date2)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double t, sp;
@@ -72,7 +72,7 @@ double iauSp00(double date1, double date2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/starpm.c b/WorldWideAstronomy/SOFA/starpm.c
index e533762..db6235c 100644
--- a/WorldWideAstronomy/SOFA/starpm.c
+++ b/WorldWideAstronomy/SOFA/starpm.c
@@ -113,9 +113,9 @@ int iauStarpm(double ra1, double dec1,
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double pv1[2][3], tl1, dt, pv[2][3], r2, rdv, v2, c2mv2, tl2,
@@ -159,7 +159,7 @@ int iauStarpm(double ra1, double dec1,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/starpv.c b/WorldWideAstronomy/SOFA/starpv.c
index b3edf67..e3008e4 100644
--- a/WorldWideAstronomy/SOFA/starpv.c
+++ b/WorldWideAstronomy/SOFA/starpv.c
@@ -120,9 +120,9 @@ int iauStarpv(double ra, double dec,
**
** This revision: 2017 March 16
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
/* Smallest allowed parallax */
@@ -219,7 +219,7 @@ int iauStarpv(double ra, double dec,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/sxp.c b/WorldWideAstronomy/SOFA/sxp.c
index 6859000..bbb3c50 100644
--- a/WorldWideAstronomy/SOFA/sxp.c
+++ b/WorldWideAstronomy/SOFA/sxp.c
@@ -25,9 +25,9 @@ void iauSxp(double s, double p[3], double sp[3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
sp[0] = s * p[0];
@@ -38,7 +38,7 @@ void iauSxp(double s, double p[3], double sp[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/sxpv.c b/WorldWideAstronomy/SOFA/sxpv.c
index bac5b5a..1567a60 100644
--- a/WorldWideAstronomy/SOFA/sxpv.c
+++ b/WorldWideAstronomy/SOFA/sxpv.c
@@ -28,9 +28,9 @@ void iauSxpv(double s, double pv[2][3], double spv[2][3])
**
** This revision: 2013 August 7
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
iauS2xpv(s, s, pv, spv);
@@ -39,7 +39,7 @@ void iauSxpv(double s, double pv[2][3], double spv[2][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/t_sofa_c.c b/WorldWideAstronomy/SOFA/t_sofa_c.c
index 6871936..c4e701d 100644
--- a/WorldWideAstronomy/SOFA/t_sofa_c.c
+++ b/WorldWideAstronomy/SOFA/t_sofa_c.c
@@ -17,11 +17,11 @@ static int verbose = 0;
**
** All messages go to stdout.
**
-** This revision: 2017 October 21
+** This revision: 2020 May 30
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
static void viv(int ival, int ivalok,
@@ -3844,6 +3844,125 @@ static void t_fave03(int *status)
"iauFave03", "", status);
}
+static void t_fk425(int *status)
+/*
+** - - - - - - - -
+** t _ f k 4 2 5
+** - - - - - - - -
+**
+** Test iauFk425 function.
+**
+** Returned:
+** status int FALSE = success, TRUE = fail
+**
+** Called: iauFk425, vvd
+**
+** This revision: 2018 December 6
+*/
+{
+ double r1950, d1950, dr1950, dd1950, p1950, v1950,
+ r2000, d2000, dr2000, dd2000, p2000, v2000;
+
+
+ r1950 = 0.07626899753879587532;
+ d1950 = -1.137405378399605780;
+ dr1950 = 0.1973749217849087460e-4;
+ dd1950 = 0.5659714913272723189e-5;
+ p1950 = 0.134;
+ v1950 = 8.7;
+
+ iauFk425(r1950, d1950, dr1950, dd1950, p1950, v1950,
+ &r2000, &d2000, &dr2000, &dd2000, &p2000, &v2000);
+
+ vvd(r2000, 0.08757989933556446040, 1e-14,
+ "iauFk425", "r2000", status);
+ vvd(d2000, -1.132279113042091895, 1e-12,
+ "iauFk425", "d2000", status);
+ vvd(dr2000, 0.1953670614474396139e-4, 1e-17,
+ "iauFk425", "dr2000", status);
+ vvd(dd2000, 0.5637686678659640164e-5, 1e-18,
+ "iauFk425", "dd2000", status);
+ vvd(p2000, 0.1339919950582767871, 1e-13, "iauFk425", "p2000", status);
+ vvd(v2000, 8.736999669183529069, 1e-12, "iauFk425", "v2000", status);
+
+}
+
+static void t_fk45z(int *status)
+/*
+** - - - - - - - -
+** t _ f k 4 5 z
+** - - - - - - - -
+**
+** Test iauFk45z function.
+**
+** Returned:
+** status int FALSE = success, TRUE = fail
+**
+** Called: iauFk45z, vvd
+**
+** This revision: 2018 December 6
+*/
+{
+ double r1950, d1950, bepoch, r2000, d2000;
+
+
+ r1950 = 0.01602284975382960982;
+ d1950 = -0.1164347929099906024;
+ bepoch = 1954.677617625256806;
+
+ iauFk45z(r1950, d1950, bepoch, &r2000, &d2000);
+
+ vvd(r2000, 0.02719295911606862303, 1e-15,
+ "iauFk45z", "r2000", status);
+ vvd(d2000, -0.1115766001565926892, 1e-13,
+ "iauFk45z", "d2000", status);
+
+}
+
+static void t_fk524(int *status)
+/*
+** - - - - - - - -
+** t _ f k 5 2 4
+** - - - - - - - -
+**
+** Test iauFk524 function.
+**
+** Returned:
+** status int FALSE = success, TRUE = fail
+**
+** Called: iauFk524, vvd
+**
+** This revision: 2018 December 6
+*/
+{
+ double r2000, d2000, dr2000, dd2000, p2000, v2000,
+ r1950, d1950, dr1950, dd1950, p1950, v1950;
+
+
+ r2000 = 0.8723503576487275595;
+ d2000 = -0.7517076365138887672;
+ dr2000 = 0.2019447755430472323e-4;
+ dd2000 = 0.3541563940505160433e-5;
+ p2000 = 0.1559;
+ v2000 = 86.87;
+
+ iauFk524(r2000, d2000, dr2000, dd2000, p2000, v2000,
+ &r1950, &d1950, &dr1950,&dd1950, &p1950, &v1950);
+
+ vvd(r1950, 0.8636359659799603487, 1e-13,
+ "iauFk524", "r1950", status);
+ vvd(d1950, -0.7550281733160843059, 1e-13,
+ "iauFk524", "d1950", status);
+ vvd(dr1950, 0.2023628192747172486e-4, 1e-17,
+ "iauFk524", "dr1950", status);
+ vvd(dd1950, 0.3624459754935334718e-5, 1e-18,
+ "iauFk524", "dd1950", status);
+ vvd(p1950, 0.1560079963299390241, 1e-13,
+ "iauFk524", "p1950", status);
+ vvd(v1950, 86.79606353469163751, 1e-11, "iauFk524", "v1950", status);
+
+}
+
static void t_fk52h(int *status)
/*
** - - - - - - - -
@@ -3888,6 +4007,42 @@ static void t_fk52h(int *status)
}
+static void t_fk54z(int *status)
+/*
+** - - - - - - - -
+** t _ f k 5 4 z
+** - - - - - - - -
+**
+** Test iauFk54z function.
+**
+** Returned:
+** status int FALSE = success, TRUE = fail
+**
+** Called: iauFk54z, vvd
+**
+** This revision: 2018 December 6
+*/
+{
+ double r2000, d2000, bepoch, r1950, d1950, dr1950, dd1950;
+
+
+ r2000 = 0.02719026625066316119;
+ d2000 = -0.1115815170738754813;
+ bepoch = 1954.677308160316374;
+
+ iauFk54z(r2000, d2000, bepoch, &r1950, &d1950, &dr1950, &dd1950);
+
+ vvd(r1950, 0.01602015588390065476, 1e-14,
+ "iauFk54z", "r1950", status);
+ vvd(d1950, -0.1164397101110765346, 1e-13,
+ "iauFk54z", "d1950", status);
+ vvd(dr1950, -0.1175712648471090704e-7, 1e-20,
+ "iauFk54z", "dr1950", status);
+ vvd(dd1950, 0.2108109051316431056e-7, 1e-20,
+ "iauFk54z", "dd1950", status);
+
+}
+
static void t_fk5hip(int *status)
/*
** - - - - - - - - -
@@ -5512,7 +5667,7 @@ static void t_p06e(int *status)
**
** Called: iauP06e, vvd
**
-** This revision: 2013 August 7
+** This revision: 2020 May 30
*/
{
double eps0, psia, oma, bpa, bqa, pia, bpia,
@@ -5547,7 +5702,7 @@ static void t_p06e(int *status)
"iauP06e", "zetaa", status);
vvd(thetaa, 0.2650932701657497181e-3, 1e-14,
"iauP06e", "thetaa", status);
- vvd(pa, 0.6651637681381016344e-3, 1e-14,
+ vvd(pa, 0.6651637681381016288e-3, 1e-14,
"iauP06e", "pa", status);
vvd(gam, 0.1398077115963754987e-5, 1e-14,
"iauP06e", "gam", status);
@@ -9838,7 +9993,11 @@ int main(int argc, char *argv[])
t_fasa03(&status);
t_faur03(&status);
t_fave03(&status);
+ t_fk425(&status);
+ t_fk45z(&status);
+ t_fk524(&status);
t_fk52h(&status);
+ t_fk54z(&status);
t_fk5hip(&status);
t_fk5hz(&status);
t_fw2m(&status);
@@ -9998,7 +10157,7 @@ int main(int argc, char *argv[])
}
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/taitt.c b/WorldWideAstronomy/SOFA/taitt.c
index 850d36f..e12e8f5 100644
--- a/WorldWideAstronomy/SOFA/taitt.c
+++ b/WorldWideAstronomy/SOFA/taitt.c
@@ -38,11 +38,11 @@ int iauTaitt(double tai1, double tai2, double *tt1, double *tt2)
** Explanatory Supplement to the Astronomical Almanac,
** P. Kenneth Seidelmann (ed), University Science Books (1992)
**
-** This revision: 2013 June 18
+** This revision: 2019 June 20
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
@@ -51,7 +51,7 @@ int iauTaitt(double tai1, double tai2, double *tt1, double *tt2)
/* Result, safeguarding precision. */
- if ( tai1 > tai2 ) {
+ if ( fabs(tai1) > fabs(tai2) ) {
*tt1 = tai1;
*tt2 = tai2 + dtat;
} else {
@@ -64,7 +64,7 @@ int iauTaitt(double tai1, double tai2, double *tt1, double *tt2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/taiut1.c b/WorldWideAstronomy/SOFA/taiut1.c
index b9b2f62..0a4980c 100644
--- a/WorldWideAstronomy/SOFA/taiut1.c
+++ b/WorldWideAstronomy/SOFA/taiut1.c
@@ -40,11 +40,11 @@ int iauTaiut1(double tai1, double tai2, double dta,
** Explanatory Supplement to the Astronomical Almanac,
** P. Kenneth Seidelmann (ed), University Science Books (1992)
**
-** This revision: 2013 June 18
+** This revision: 2019 June 20
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
**
*/
{
@@ -53,7 +53,7 @@ int iauTaiut1(double tai1, double tai2, double dta,
/* Result, safeguarding precision. */
dtad = dta / DAYSEC;
- if ( tai1 > tai2 ) {
+ if ( fabs(tai1) > fabs(tai2) ) {
*ut11 = tai1;
*ut12 = tai2 + dtad;
} else {
@@ -66,7 +66,7 @@ int iauTaiut1(double tai1, double tai2, double dta,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/taiutc.c b/WorldWideAstronomy/SOFA/taiutc.c
index 9e125d7..4d0e045 100644
--- a/WorldWideAstronomy/SOFA/taiutc.c
+++ b/WorldWideAstronomy/SOFA/taiutc.c
@@ -61,11 +61,11 @@ int iauTaiutc(double tai1, double tai2, double *utc1, double *utc2)
** Explanatory Supplement to the Astronomical Almanac,
** P. Kenneth Seidelmann (ed), University Science Books (1992)
**
-** This revision: 2013 September 12
+** This revision: 2019 June 20
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int big1;
@@ -74,7 +74,7 @@ int iauTaiutc(double tai1, double tai2, double *utc1, double *utc2)
/* Put the two parts of the TAI into big-first order. */
- big1 = ( tai1 >= tai2 );
+ big1 = ( fabs(tai1) >= fabs(tai2) );
if ( big1 ) {
a1 = tai1;
a2 = tai2;
@@ -113,7 +113,7 @@ int iauTaiutc(double tai1, double tai2, double *utc1, double *utc2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/tcbtdb.c b/WorldWideAstronomy/SOFA/tcbtdb.c
index cbf873b..0982c90 100644
--- a/WorldWideAstronomy/SOFA/tcbtdb.c
+++ b/WorldWideAstronomy/SOFA/tcbtdb.c
@@ -52,11 +52,11 @@ int iauTcbtdb(double tcb1, double tcb2, double *tdb1, double *tdb2)
**
** IAU 2006 Resolution B3
**
-** This revision: 2013 June 18
+** This revision: 2019 June 20
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
@@ -71,7 +71,7 @@ int iauTcbtdb(double tcb1, double tcb2, double *tdb1, double *tdb2)
/* Result, safeguarding precision. */
- if ( tcb1 > tcb2 ) {
+ if ( fabs(tcb1) > fabs(tcb2) ) {
d = tcb1 - t77td;
*tdb1 = tcb1;
*tdb2 = tcb2 + tdb0 - ( d + ( tcb2 - t77tf ) ) * ELB;
@@ -86,7 +86,7 @@ int iauTcbtdb(double tcb1, double tcb2, double *tdb1, double *tdb2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/tcgtt.c b/WorldWideAstronomy/SOFA/tcgtt.c
index a5f5aa0..72abed7 100644
--- a/WorldWideAstronomy/SOFA/tcgtt.c
+++ b/WorldWideAstronomy/SOFA/tcgtt.c
@@ -37,11 +37,11 @@ int iauTcgtt(double tcg1, double tcg2, double *tt1, double *tt2)
**
** IAU 2000 Resolution B1.9
**
-** This revision: 2013 June 18
+** This revision: 2019 June 20
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
@@ -50,7 +50,7 @@ int iauTcgtt(double tcg1, double tcg2, double *tt1, double *tt2)
/* Result, safeguarding precision. */
- if ( tcg1 > tcg2 ) {
+ if ( fabs(tcg1) > fabs(tcg2) ) {
*tt1 = tcg1;
*tt2 = tcg2 - ( ( tcg1 - DJM0 ) + ( tcg2 - t77t ) ) * ELG;
} else {
@@ -63,7 +63,7 @@ int iauTcgtt(double tcg1, double tcg2, double *tt1, double *tt2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/tdbtcb.c b/WorldWideAstronomy/SOFA/tdbtcb.c
index a445d76..370627b 100644
--- a/WorldWideAstronomy/SOFA/tdbtcb.c
+++ b/WorldWideAstronomy/SOFA/tdbtcb.c
@@ -52,11 +52,11 @@ int iauTdbtcb(double tdb1, double tdb2, double *tcb1, double *tcb2)
**
** IAU 2006 Resolution B3
**
-** This revision: 2013 June 18
+** This revision: 2019 June 20
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
@@ -74,7 +74,7 @@ int iauTdbtcb(double tdb1, double tdb2, double *tcb1, double *tcb2)
/* Result, preserving date format but safeguarding precision. */
- if ( tdb1 > tdb2 ) {
+ if ( fabs(tdb1) > fabs(tdb2) ) {
d = t77td - tdb1;
f = tdb2 - tdb0;
*tcb1 = tdb1;
@@ -82,7 +82,7 @@ int iauTdbtcb(double tdb1, double tdb2, double *tcb1, double *tcb2)
} else {
d = t77td - tdb2;
f = tdb1 - tdb0;
- *tcb1 = f + ( d - ( f - t77tf ) ) * elbb;
+ *tcb1 = f - ( d - ( f - t77tf ) ) * elbb;
*tcb2 = tdb2;
}
@@ -91,7 +91,7 @@ int iauTdbtcb(double tdb1, double tdb2, double *tcb1, double *tcb2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/tdbtt.c b/WorldWideAstronomy/SOFA/tdbtt.c
index b0b6ffd..039991b 100644
--- a/WorldWideAstronomy/SOFA/tdbtt.c
+++ b/WorldWideAstronomy/SOFA/tdbtt.c
@@ -50,11 +50,11 @@ int iauTdbtt(double tdb1, double tdb2, double dtr,
**
** IAU 2006 Resolution 3
**
-** This revision: 2013 June 18
+** This revision: 2019 June 20
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
**
*/
{
@@ -63,7 +63,7 @@ int iauTdbtt(double tdb1, double tdb2, double dtr,
/* Result, safeguarding precision. */
dtrd = dtr / DAYSEC;
- if ( tdb1 > tdb2 ) {
+ if ( fabs(tdb1) > fabs(tdb2) ) {
*tt1 = tdb1;
*tt2 = tdb2 - dtrd;
} else {
@@ -76,7 +76,7 @@ int iauTdbtt(double tdb1, double tdb2, double dtr,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/tf2a.c b/WorldWideAstronomy/SOFA/tf2a.c
index f4df97b..dd56016 100644
--- a/WorldWideAstronomy/SOFA/tf2a.c
+++ b/WorldWideAstronomy/SOFA/tf2a.c
@@ -41,9 +41,9 @@ int iauTf2a(char s, int ihour, int imin, double sec, double *rad)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
@@ -61,7 +61,7 @@ int iauTf2a(char s, int ihour, int imin, double sec, double *rad)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/tf2d.c b/WorldWideAstronomy/SOFA/tf2d.c
index 545179b..7909f41 100644
--- a/WorldWideAstronomy/SOFA/tf2d.c
+++ b/WorldWideAstronomy/SOFA/tf2d.c
@@ -41,9 +41,9 @@ int iauTf2d(char s, int ihour, int imin, double sec, double *days)
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
@@ -61,7 +61,7 @@ int iauTf2d(char s, int ihour, int imin, double sec, double *days)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/tpors.c b/WorldWideAstronomy/SOFA/tpors.c
index ad5021f..8739d28 100644
--- a/WorldWideAstronomy/SOFA/tpors.c
+++ b/WorldWideAstronomy/SOFA/tpors.c
@@ -90,9 +90,9 @@ int iauTpors(double xi, double eta, double a, double b,
**
** This revision: 2018 January 2
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double xi2, r, sb, cb, rsb, rcb, w2, w, s, c;
@@ -126,7 +126,7 @@ int iauTpors(double xi, double eta, double a, double b,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -219,5 +219,4 @@ int iauTpors(double xi, double eta, double a, double b,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/tporv.c b/WorldWideAstronomy/SOFA/tporv.c
index 836ac75..4a82870 100644
--- a/WorldWideAstronomy/SOFA/tporv.c
+++ b/WorldWideAstronomy/SOFA/tporv.c
@@ -85,9 +85,9 @@ int iauTporv(double xi, double eta, double v[3],
**
** This revision: 2018 January 2
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double x, y, z, rxy2, xi2, eta2p1, r, rsb, rcb, w2, w, c;
@@ -123,7 +123,7 @@ int iauTporv(double xi, double eta, double v[3],
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -216,5 +216,4 @@ int iauTporv(double xi, double eta, double v[3],
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/tpsts.c b/WorldWideAstronomy/SOFA/tpsts.c
index 6e8cc59..0cab32b 100644
--- a/WorldWideAstronomy/SOFA/tpsts.c
+++ b/WorldWideAstronomy/SOFA/tpsts.c
@@ -57,9 +57,9 @@ void iauTpsts(double xi, double eta, double a0, double b0,
**
** This revision: 2018 January 2
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double sb0, cb0, d;
@@ -74,7 +74,7 @@ void iauTpsts(double xi, double eta, double a0, double b0,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -167,5 +167,4 @@ void iauTpsts(double xi, double eta, double a0, double b0,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/tpstv.c b/WorldWideAstronomy/SOFA/tpstv.c
index 6a3622f..d35db7c 100644
--- a/WorldWideAstronomy/SOFA/tpstv.c
+++ b/WorldWideAstronomy/SOFA/tpstv.c
@@ -66,9 +66,9 @@ void iauTpstv(double xi, double eta, double v0[3], double v[3])
**
** This revision: 2018 January 2
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double x, y, z, f, r;
@@ -98,7 +98,7 @@ void iauTpstv(double xi, double eta, double v0[3], double v[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -191,5 +191,4 @@ void iauTpstv(double xi, double eta, double v0[3], double v[3])
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/tpxes.c b/WorldWideAstronomy/SOFA/tpxes.c
index fe2a33e..79c2d4c 100644
--- a/WorldWideAstronomy/SOFA/tpxes.c
+++ b/WorldWideAstronomy/SOFA/tpxes.c
@@ -61,9 +61,9 @@ int iauTpxes(double a, double b, double a0, double b0,
**
** This revision: 2018 January 2
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
const double TINY = 1e-6;
@@ -107,7 +107,7 @@ int iauTpxes(double a, double b, double a0, double b0,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -200,5 +200,4 @@ int iauTpxes(double a, double b, double a0, double b0,
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/tpxev.c b/WorldWideAstronomy/SOFA/tpxev.c
index 6ea785d..a93bc3a 100644
--- a/WorldWideAstronomy/SOFA/tpxev.c
+++ b/WorldWideAstronomy/SOFA/tpxev.c
@@ -72,9 +72,9 @@ int iauTpxev(double v[3], double v0[3], double *xi, double *eta)
**
** This revision: 2018 January 2
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
const double TINY = 1e-6;
@@ -127,7 +127,7 @@ int iauTpxev(double v[3], double v0[3], double *xi, double *eta)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
@@ -220,5 +220,4 @@ int iauTpxev(double v[3], double v0[3], double *xi, double *eta)
** United Kingdom
**
**--------------------------------------------------------------------*/
-
}
diff --git a/WorldWideAstronomy/SOFA/tr.c b/WorldWideAstronomy/SOFA/tr.c
index e566a0b..e44c613 100644
--- a/WorldWideAstronomy/SOFA/tr.c
+++ b/WorldWideAstronomy/SOFA/tr.c
@@ -27,9 +27,9 @@ void iauTr(double r[3][3], double rt[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double wm[3][3];
@@ -47,7 +47,7 @@ void iauTr(double r[3][3], double rt[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/trxp.c b/WorldWideAstronomy/SOFA/trxp.c
index 2ac95eb..f271d60 100644
--- a/WorldWideAstronomy/SOFA/trxp.c
+++ b/WorldWideAstronomy/SOFA/trxp.c
@@ -18,7 +18,7 @@ void iauTrxp(double r[3][3], double p[3], double trp[3])
** p double[3] p-vector
**
** Returned:
-** trp double[3] r * p
+** trp double[3] r^T * p
**
** Note:
** It is permissible for p and trp to be the same array.
@@ -27,11 +27,11 @@ void iauTrxp(double r[3][3], double p[3], double trp[3])
** iauTr transpose r-matrix
** iauRxp product of r-matrix and p-vector
**
-** This revision: 2013 June 18
+** This revision: 2020 May 24
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double tr[3][3];
@@ -47,7 +47,7 @@ void iauTrxp(double r[3][3], double p[3], double trp[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/trxpv.c b/WorldWideAstronomy/SOFA/trxpv.c
index 7967240..4bab996 100644
--- a/WorldWideAstronomy/SOFA/trxpv.c
+++ b/WorldWideAstronomy/SOFA/trxpv.c
@@ -29,9 +29,9 @@ void iauTrxpv(double r[3][3], double pv[2][3], double trpv[2][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double tr[3][3];
@@ -47,7 +47,7 @@ void iauTrxpv(double r[3][3], double pv[2][3], double trpv[2][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/tttai.c b/WorldWideAstronomy/SOFA/tttai.c
index 93e1849..8998c8a 100644
--- a/WorldWideAstronomy/SOFA/tttai.c
+++ b/WorldWideAstronomy/SOFA/tttai.c
@@ -38,11 +38,11 @@ int iauTttai(double tt1, double tt2, double *tai1, double *tai2)
** Explanatory Supplement to the Astronomical Almanac,
** P. Kenneth Seidelmann (ed), University Science Books (1992)
**
-** This revision: 2013 June 18
+** This revision: 2019 June 20
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
@@ -51,7 +51,7 @@ int iauTttai(double tt1, double tt2, double *tai1, double *tai2)
/* Result, safeguarding precision. */
- if ( tt1 > tt2 ) {
+ if ( fabs(tt1) > fabs(tt2) ) {
*tai1 = tt1;
*tai2 = tt2 - dtat;
} else {
@@ -64,7 +64,7 @@ int iauTttai(double tt1, double tt2, double *tai1, double *tai2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/tttcg.c b/WorldWideAstronomy/SOFA/tttcg.c
index b5accfb..09092e6 100644
--- a/WorldWideAstronomy/SOFA/tttcg.c
+++ b/WorldWideAstronomy/SOFA/tttcg.c
@@ -37,11 +37,11 @@ int iauTttcg(double tt1, double tt2, double *tcg1, double *tcg2)
**
** IAU 2000 Resolution B1.9
**
-** This revision: 2013 June 18
+** This revision: 2019 June 20
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
@@ -53,7 +53,7 @@ int iauTttcg(double tt1, double tt2, double *tcg1, double *tcg2)
/* Result, safeguarding precision. */
- if ( tt1 > tt2 ) {
+ if ( fabs(tt1) > fabs(tt2) ) {
*tcg1 = tt1;
*tcg2 = tt2 + ( ( tt1 - DJM0 ) + ( tt2 - t77t ) ) * elgg;
} else {
@@ -66,7 +66,7 @@ int iauTttcg(double tt1, double tt2, double *tcg1, double *tcg2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/tttdb.c b/WorldWideAstronomy/SOFA/tttdb.c
index 3f43576..1f74fee 100644
--- a/WorldWideAstronomy/SOFA/tttdb.c
+++ b/WorldWideAstronomy/SOFA/tttdb.c
@@ -50,11 +50,11 @@ int iauTttdb(double tt1, double tt2, double dtr,
**
** IAU 2006 Resolution 3
**
-** This revision: 2013 June 18
+** This revision: 2019 June 20
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double dtrd;
@@ -62,7 +62,7 @@ int iauTttdb(double tt1, double tt2, double dtr,
/* Result, safeguarding precision. */
dtrd = dtr / DAYSEC;
- if ( tt1 > tt2 ) {
+ if ( fabs(tt1) > fabs(tt2) ) {
*tdb1 = tt1;
*tdb2 = tt2 + dtrd;
} else {
@@ -75,7 +75,7 @@ int iauTttdb(double tt1, double tt2, double dtr,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/ttut1.c b/WorldWideAstronomy/SOFA/ttut1.c
index 8e41bb8..d38caef 100644
--- a/WorldWideAstronomy/SOFA/ttut1.c
+++ b/WorldWideAstronomy/SOFA/ttut1.c
@@ -39,11 +39,11 @@ int iauTtut1(double tt1, double tt2, double dt,
** Explanatory Supplement to the Astronomical Almanac,
** P. Kenneth Seidelmann (ed), University Science Books (1992)
**
-** This revision: 2013 June 18
+** This revision: 2019 June 20
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double dtd;
@@ -51,7 +51,7 @@ int iauTtut1(double tt1, double tt2, double dt,
/* Result, safeguarding precision. */
dtd = dt / DAYSEC;
- if ( tt1 > tt2 ) {
+ if ( fabs(tt1) > fabs(tt2) ) {
*ut11 = tt1;
*ut12 = tt2 - dtd;
} else {
@@ -64,7 +64,7 @@ int iauTtut1(double tt1, double tt2, double dt,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/ut1tai.c b/WorldWideAstronomy/SOFA/ut1tai.c
index 6d16f01..39419c5 100644
--- a/WorldWideAstronomy/SOFA/ut1tai.c
+++ b/WorldWideAstronomy/SOFA/ut1tai.c
@@ -40,11 +40,11 @@ int iauUt1tai(double ut11, double ut12, double dta,
** Explanatory Supplement to the Astronomical Almanac,
** P. Kenneth Seidelmann (ed), University Science Books (1992)
**
-** This revision: 2013 June 18
+** This revision: 2019 June 20
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double dtad;
@@ -52,7 +52,7 @@ int iauUt1tai(double ut11, double ut12, double dta,
/* Result, safeguarding precision. */
dtad = dta / DAYSEC;
- if ( ut11 > ut12 ) {
+ if ( fabs(ut11) > fabs(ut12) ) {
*tai1 = ut11;
*tai2 = ut12 - dtad;
} else {
@@ -65,7 +65,7 @@ int iauUt1tai(double ut11, double ut12, double dta,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/ut1tt.c b/WorldWideAstronomy/SOFA/ut1tt.c
index 18a919e..18292db 100644
--- a/WorldWideAstronomy/SOFA/ut1tt.c
+++ b/WorldWideAstronomy/SOFA/ut1tt.c
@@ -39,11 +39,11 @@ int iauUt1tt(double ut11, double ut12, double dt,
** Explanatory Supplement to the Astronomical Almanac,
** P. Kenneth Seidelmann (ed), University Science Books (1992)
**
-** This revision: 2013 June 18
+** This revision: 2019 June 20
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double dtd;
@@ -51,7 +51,7 @@ int iauUt1tt(double ut11, double ut12, double dt,
/* Result, safeguarding precision. */
dtd = dt / DAYSEC;
- if ( ut11 > ut12 ) {
+ if ( fabs(ut11) > fabs(ut12) ) {
*tt1 = ut11;
*tt2 = ut12 + dtd;
} else {
@@ -64,7 +64,7 @@ int iauUt1tt(double ut11, double ut12, double dt,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/ut1utc.c b/WorldWideAstronomy/SOFA/ut1utc.c
index e99b212..0393e9c 100644
--- a/WorldWideAstronomy/SOFA/ut1utc.c
+++ b/WorldWideAstronomy/SOFA/ut1utc.c
@@ -67,11 +67,11 @@ int iauUt1utc(double ut11, double ut12, double dut1,
** Explanatory Supplement to the Astronomical Almanac,
** P. Kenneth Seidelmann (ed), University Science Books (1992)
**
-** This revision: 2013 June 18
+** This revision: 2019 June 20
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int big1;
@@ -83,7 +83,7 @@ int iauUt1utc(double ut11, double ut12, double dut1,
duts = dut1;
/* Put the two parts of the UT1 into big-first order. */
- big1 = ( ut11 >= ut12 );
+ big1 = ( fabs(ut11) >= fabs(ut12) );
if ( big1 ) {
u1 = ut11;
u2 = ut12;
@@ -147,7 +147,7 @@ int iauUt1utc(double ut11, double ut12, double dut1,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/utctai.c b/WorldWideAstronomy/SOFA/utctai.c
index f6dd9b1..a8c6336 100644
--- a/WorldWideAstronomy/SOFA/utctai.c
+++ b/WorldWideAstronomy/SOFA/utctai.c
@@ -63,11 +63,11 @@ int iauUtctai(double utc1, double utc2, double *tai1, double *tai2)
** Explanatory Supplement to the Astronomical Almanac,
** P. Kenneth Seidelmann (ed), University Science Books (1992)
**
-** This revision: 2013 July 26
+** This revision: 2019 June 20
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
**
*/
{
@@ -77,7 +77,7 @@ int iauUtctai(double utc1, double utc2, double *tai1, double *tai2)
/* Put the two parts of the UTC into big-first order. */
- big1 = ( utc1 >= utc2 );
+ big1 = ( fabs(utc1) >= fabs(utc2) );
if ( big1 ) {
u1 = utc1;
u2 = utc2;
@@ -132,7 +132,7 @@ int iauUtctai(double utc1, double utc2, double *tai1, double *tai2)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/utcut1.c b/WorldWideAstronomy/SOFA/utcut1.c
index 392895e..f945b96 100644
--- a/WorldWideAstronomy/SOFA/utcut1.c
+++ b/WorldWideAstronomy/SOFA/utcut1.c
@@ -70,9 +70,9 @@ int iauUtcut1(double utc1, double utc2, double dut1,
**
** This revision: 2013 August 12
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
int iy, im, id, js, jw;
@@ -101,7 +101,7 @@ int iauUtcut1(double utc1, double utc2, double dut1,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/xy06.c b/WorldWideAstronomy/SOFA/xy06.c
index 53c2424..578c95b 100644
--- a/WorldWideAstronomy/SOFA/xy06.c
+++ b/WorldWideAstronomy/SOFA/xy06.c
@@ -90,11 +90,11 @@ void iauXy06(double date1, double date2, double *x, double *y)
**
** Wallace, P.T. & Capitaine, N., 2006, Astron.Astrophys. 459, 981
**
-** This revision: 2013 August 21
+** This revision: 2019 June 23
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
@@ -2563,7 +2563,7 @@ void iauXy06(double date1, double date2, double *x, double *y)
sc[2];
int jpt, i, j, jxy, ialast, ifreq, m, ia, jsc;
-/*--------------------------------------------------------------------*/
+/* ------------------------------------------------------------------ */
/* Interval between fundamental date J2000.0 and given date (JC). */
t = ((date1 - DJ00) + date2) / DJC;
@@ -2712,7 +2712,7 @@ void iauXy06(double date1, double date2, double *x, double *y)
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/xys00a.c b/WorldWideAstronomy/SOFA/xys00a.c
index 10a320a..a2b5fb4 100644
--- a/WorldWideAstronomy/SOFA/xys00a.c
+++ b/WorldWideAstronomy/SOFA/xys00a.c
@@ -21,7 +21,7 @@ void iauXys00a(double date1, double date2,
**
** Returned:
** x,y double Celestial Intermediate Pole (Note 2)
-** s double the CIO locator s (Note 2)
+** s double the CIO locator s (Note 3)
**
** Notes:
**
@@ -64,11 +64,11 @@ void iauXys00a(double date1, double date2,
** McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003),
** IERS Technical Note No. 32, BKG (2004)
**
-** This revision: 2013 June 18
+** This revision: 2019 November 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double rbpn[3][3];
@@ -87,7 +87,7 @@ void iauXys00a(double date1, double date2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/xys00b.c b/WorldWideAstronomy/SOFA/xys00b.c
index 62563f2..69ec5b4 100644
--- a/WorldWideAstronomy/SOFA/xys00b.c
+++ b/WorldWideAstronomy/SOFA/xys00b.c
@@ -66,9 +66,9 @@ void iauXys00b(double date1, double date2,
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double rbpn[3][3];
@@ -87,7 +87,7 @@ void iauXys00b(double date1, double date2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/xys06a.c b/WorldWideAstronomy/SOFA/xys06a.c
index b9df0c9..d9b8e6c 100644
--- a/WorldWideAstronomy/SOFA/xys06a.c
+++ b/WorldWideAstronomy/SOFA/xys06a.c
@@ -66,9 +66,9 @@ void iauXys06a(double date1, double date2,
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
double rbpn[3][3];
@@ -87,7 +87,7 @@ void iauXys06a(double date1, double date2,
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/zp.c b/WorldWideAstronomy/SOFA/zp.c
index ad9dc02..bc28a3f 100644
--- a/WorldWideAstronomy/SOFA/zp.c
+++ b/WorldWideAstronomy/SOFA/zp.c
@@ -18,9 +18,9 @@ void iauZp(double p[3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
p[0] = 0.0;
@@ -31,7 +31,7 @@ void iauZp(double p[3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/zpv.c b/WorldWideAstronomy/SOFA/zpv.c
index 18d75c7..6020070 100644
--- a/WorldWideAstronomy/SOFA/zpv.c
+++ b/WorldWideAstronomy/SOFA/zpv.c
@@ -21,9 +21,9 @@ void iauZpv(double pv[2][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
iauZp(pv[0]);
@@ -33,7 +33,7 @@ void iauZpv(double pv[2][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/SOFA/zr.c b/WorldWideAstronomy/SOFA/zr.c
index dcc944b..d9aeb95 100644
--- a/WorldWideAstronomy/SOFA/zr.c
+++ b/WorldWideAstronomy/SOFA/zr.c
@@ -18,9 +18,9 @@ void iauZr(double r[3][3])
**
** This revision: 2013 June 18
**
-** SOFA release 2018-01-30
+** SOFA release 2020-07-21
**
-** Copyright (C) 2018 IAU SOFA Board. See notes at end.
+** Copyright (C) 2020 IAU SOFA Board. See notes at end.
*/
{
r[0][0] = 0.0;
@@ -37,7 +37,7 @@ void iauZr(double r[3][3])
/*----------------------------------------------------------------------
**
-** Copyright (C) 2018
+** Copyright (C) 2020
** Standards Of Fundamental Astronomy Board
** of the International Astronomical Union.
**
diff --git a/WorldWideAstronomy/WWA.Core/Astronomy/GeodeticGeocentric/pvtob.cs b/WorldWideAstronomy/WWA.Core/Astronomy/GeodeticGeocentric/pvtob.cs
deleted file mode 100644
index 64d619a..0000000
--- a/WorldWideAstronomy/WWA.Core/Astronomy/GeodeticGeocentric/pvtob.cs
+++ /dev/null
@@ -1,76 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WorldWideAstronomy
-{
- //public static partial class SOFA
- //{
- // ///
- // /// Position and velocity of a terrestrial observing station.
- // ///
- // ///
- // ///
- // /// World Wide Astronomy - WWA
- // /// Set of C# algorithms and procedures that implement standard models used in fundamental astronomy.
- // ///
- // /// This program is derived from the International Astronomical Union's
- // /// SOFA (Standards of Fundamental Astronomy) software collection.
- // /// http://www.iausofa.org
- // ///
- // /// The WWA code does not itself constitute software provided by and/or endorsed by SOFA.
- // /// This version is intended to retain identical functionality to the SOFA library, but
- // /// made distinct through different function names (prefixes) and C# language specific
- // /// modifications in code.
- // ///
- // /// Contributor
- // /// Attila Abrudán
- // ///
- // /// Please read the ReadMe.1st text file for more information.
- // ///
- // /// longitude (radians, east +ve, Note 1)
- // /// latitude (geodetic, radians, Note 1)
- // /// height above ref. ellipsoid (geodetic, m)
- // /// coordinates of the pole (radians, Note 2)
- // /// coordinates of the pole (radians, Note 2)
- // /// the TIO locator s' (radians, Note 2)
- // /// Earth rotation angle (radians, Note 3)
- // /// position/velocity vector (m, m/s, CIRS)
- // public static void wwaPvtob(double elong, double phi, double hm, double xp, double yp, double sp, double theta, double[,] pv)
- // {
- // /* Earth rotation rate in radians per UT1 second */
- // const double OM = 1.00273781191135448 * D2PI / DAYSEC;
-
- // double[] xyzm = new double[3];
- // double[] xyz = new double[3];
- // double[,] rpm = new double[3, 3];
- // double x, y, z, s, c;
-
- // /* Geodetic to geocentric transformation (WGS84). */
- // wwaGd2gc(1, elong, phi, hm, xyzm);
-
- // /* Polar motion and TIO position. */
- // wwaPom00(xp, yp, sp, rpm);
- // wwaTrxp(rpm, xyzm, xyz);
- // x = xyz[0];
- // y = xyz[1];
- // z = xyz[2];
-
- // /* Functions of ERA. */
- // s = Math.Sin(theta);
- // c = Math.Cos(theta);
-
- // /* Position. */
- // pv[0, 0] = c * x - s * y;
- // pv[0, 1] = s * x + c * y;
- // pv[0, 2] = z;
-
- // /* Velocity. */
- // pv[1, 0] = OM * (-s * x - c * y);
- // pv[1, 1] = OM * (c * x - s * y);
- // pv[1, 2] = 0.0;
- // }
- //}
-}
\ No newline at end of file
diff --git a/WorldWideAstronomy/WWA.Core/Astronomy/SpaceMotion/pmsafe.cs b/WorldWideAstronomy/WWA.Core/Astronomy/SpaceMotion/pmsafe.cs
deleted file mode 100644
index feb76cd..0000000
--- a/WorldWideAstronomy/WWA.Core/Astronomy/SpaceMotion/pmsafe.cs
+++ /dev/null
@@ -1,95 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WorldWideAstronomy
-{
- //public static partial class SOFA
- //{
- // ///
- // /// Star proper motion: update star catalog data for space motion, with
- // /// special handling to handle the zero parallax case.
- // ///
- // ///
- // ///
- // /// World Wide Astronomy - WWA
- // /// Set of C# algorithms and procedures that implement standard models used in fundamental astronomy.
- // ///
- // /// This program is derived from the International Astronomical Union's
- // /// SOFA (Standards of Fundamental Astronomy) software collection.
- // /// http://www.iausofa.org
- // ///
- // /// The WWA code does not itself constitute software provided by and/or endorsed by SOFA.
- // /// This version is intended to retain identical functionality to the SOFA library, but
- // /// made distinct through different function names (prefixes) and C# language specific
- // /// modifications in code.
- // ///
- // /// Contributor
- // /// Attila Abrudán
- // ///
- // /// Please read the ReadMe.1st text file for more information.
- // ///
- // /// right ascension (radians), before
- // /// declination (radians), before
- // /// RA proper motion (radians/year), before
- // /// Dec proper motion (radians/year), before
- // /// parallax (arcseconds), before
- // /// radial velocity (km/s, +ve = receding), before
- // /// "before" epoch, part A (Note 1)
- // /// "before" epoch, part B (Note 1)
- // /// "after" epoch, part A (Note 1)
- // /// "after" epoch, part B (Note 1)
- // /// right ascension (radians), after
- // /// declination (radians), after
- // /// RA proper motion (radians/year), after
- // /// Dec proper motion (radians/year), after
- // /// parallax (arcseconds), after
- // /// radial velocity (km/s, +ve = receding), after
- // /// status:
- // /// -1 = system error (should not occur)
- // /// 0 = no warnings or errors
- // /// 1 = distance overridden (Note 6)
- // /// 2 = excessive velocity (Note 7)
- // /// 4 = solution didn't converge (Note 8)
- // /// else = binary logical OR of the above warnings
- // ///
- // public static int iauPmsafe(double ra1, double dec1, double pmr1, double pmd1,
- // double px1, double rv1,
- // double ep1a, double ep1b, double ep2a, double ep2b,
- // ref double ra2, ref double dec2, ref double pmr2, ref double pmd2,
- // ref double px2, ref double rv2)
- // {
-
- // /* Minimum allowed parallax (arcsec) */
- // const double PXMIN = 5e-7;
-
- // /* Factor giving maximum allowed transverse speed of about 1% c */
- // const double F = 326.0;
-
- // int jpx, j;
- // double pm, px1a;
-
-
- // /* Proper motion in one year (radians). */
- // pm = wwaSeps(ra1, dec1, ra1 + pmr1, dec1 + pmd1);
-
- // /* Override the parallax to reduce the chances of a warning status. */
- // jpx = 0;
- // px1a = px1;
- // pm *= F;
- // if (px1a < pm) { jpx = 1; px1a = pm; }
- // if (px1a < PXMIN) { jpx = 1; px1a = PXMIN; }
-
- // /* Carry out the transformation using the modified parallax. */
- // j = wwaStarpm(ra1, dec1, pmr1, pmd1, px1a, rv1,
- // ep1a, ep1b, ep2a, ep2b,
- // ra2, dec2, pmr2, pmd2, px2, rv2);
-
- // /* Revise and return the status. */
- // if (!j % 2) j += jpx;
- // return j;
- // }
- //}
-}
diff --git a/WorldWideAstronomy/WWA/Astronomy/Astrometry/apco.cs b/WorldWideAstronomy/WWA/Astronomy/Astrometry/apco.cs
index 1a2b1ea..bd4a963 100644
--- a/WorldWideAstronomy/WWA/Astronomy/Astrometry/apco.cs
+++ b/WorldWideAstronomy/WWA/Astronomy/Astrometry/apco.cs
@@ -55,7 +55,7 @@ public static void wwaApco(double date1, double date2, double[,] ebpv, double[]
double elong, double phi, double hm, double xp, double yp, double sp, double refa, double refb, ref wwaASTROM astrom)
{
double sl, cl;
- double [,] r = new double[3, 3];
+ double[,] r = new double[3, 3];
double[,] pvc = new double[2, 3] { { 0, 0, 0 }, { 0, 0, 0 } };
double[,] pv = new double[2, 3] { { 0, 0, 0 }, { 0, 0, 0 } };
diff --git a/WorldWideAstronomy/WWA/Astronomy/Calendars/jd2cal.cs b/WorldWideAstronomy/WWA/Astronomy/Calendars/jd2cal.cs
index 5ab4bb1..b824ee7 100644
--- a/WorldWideAstronomy/WWA/Astronomy/Calendars/jd2cal.cs
+++ b/WorldWideAstronomy/WWA/Astronomy/Calendars/jd2cal.cs
@@ -47,34 +47,71 @@ public static int wwaJd2cal(double dj1, double dj2, ref int iy, ref int im, ref
const double DJMIN = -68569.5;
const double DJMAX = 1e9;
- long jd, l, n, i, k;
- double dj, d1, d2, f1, f2, f, d;
+ long jd, i, l, n, k;
+ double dj, f1, f2, d, s, cs, x, t, f;
+ double[] v = new double[2];
/* Verify date is acceptable. */
dj = dj1 + dj2;
if (dj < DJMIN || dj > DJMAX) return -1;
- /* Copy the date, big then small, and re-align to midnight. */
- if (dj1 >= dj2)
+ /* Separate day and fraction (where -0.5 <= fraction < 0.5). */
+ d = dnint(dj1);
+ f1 = dj1 - d;
+ jd = (long)d;
+ d = dnint(dj2);
+ f2 = dj2 - d;
+ jd += (long)d;
+
+ /* Compute f1+f2+0.5 using compensated summation (Klein 2006). */
+ s = 0.5;
+ cs = 0.0;
+ v[0] = f1;
+ v[1] = f2;
+ for (i = 0; i < 2; i++)
{
- d1 = dj1;
- d2 = dj2;
+ x = v[i];
+ t = s + x;
+ cs += Math.Abs(s) >= Math.Abs(x) ? (s - t) + x : (x - t) + s;
+ s = t;
+ if (s >= 1.0)
+ {
+ jd++;
+ s -= 1.0;
+ }
}
- else
+ f = s + cs;
+ cs = f - s;
+
+ /* Deal with negative f. */
+ if (f < 0.0)
{
- d1 = dj2;
- d2 = dj1;
+
+ /* Compensated summation: assume that |s| <= 1.0. */
+ f = s + 1.0;
+ cs += (1.0 - f) + s;
+ s = f;
+ f = s + cs;
+ cs = f - s;
+ jd--;
}
- d2 -= 0.5;
- /* Separate day and fraction. */
- f1 = d1 % 1.0;
- f2 = d2 % 1.0;
- f = Math.IEEERemainder(f1 + f2, 1.0);
- if (f < 0.0) f += 1.0;
- d = dnint(d1 - f1) + dnint(d2 - f2) + dnint(f1 + f2 - f);
- jd = (long)Math.Round(d, MidpointRounding.AwayFromZero) + 1L;
+ /* Deal with f that is 1.0 or more (when rounded to double). */
+ if ((f - 1.0) >= -DBL_EPSILON / 4.0)
+ {
+
+ /* Compensated summation: assume that |s| <= 1.0. */
+ t = s - 1.0;
+ cs += (s - t) - 1.0;
+ s = t;
+ f = s + cs;
+ if (-DBL_EPSILON / 2.0 < f)
+ {
+ jd++;
+ f = gmax(f, 0.0);
+ }
+ }
/* Express day in Gregorian calendar. */
l = jd + 68569L;
diff --git a/WorldWideAstronomy/WWA/Astronomy/Calendars/jdcalf.cs b/WorldWideAstronomy/WWA/Astronomy/Calendars/jdcalf.cs
index 032b839..127a6ac 100644
--- a/WorldWideAstronomy/WWA/Astronomy/Calendars/jdcalf.cs
+++ b/WorldWideAstronomy/WWA/Astronomy/Calendars/jdcalf.cs
@@ -44,7 +44,8 @@ public static partial class WWA
public static int wwaJdcalf(int ndp, double dj1, double dj2, int[] iymdf)
{
int j, js;
- double denom, d1, d2, f1, f2, f;
+ double denom, d1, d2, f1, f2, d, djd, f, rf;
+
/* Denominator of fraction (e.g. 100 for 2 decimal places). */
if ((ndp >= 0) && (ndp <= 9))
@@ -58,8 +59,8 @@ public static int wwaJdcalf(int ndp, double dj1, double dj2, int[] iymdf)
denom = 1.0;
}
- /* Copy the date, big then small, and realign to midnight. */
- if (dj1 >= dj2)
+ /* Copy the date, big then small. */
+ if (Math.Abs(dj1) >= Math.Abs(dj2))
{
d1 = dj1;
d2 = dj2;
@@ -69,25 +70,37 @@ public static int wwaJdcalf(int ndp, double dj1, double dj2, int[] iymdf)
d1 = dj2;
d2 = dj1;
}
- d2 -= 0.5;
- /* Separate days and fractions. */
- f1 = d1 % 1.0;
- f2 = d2 % 1.0;
- d1 = dnint(d1 - f1);
- d2 = dnint(d2 - f2);
+ /* Realign to midnight (without rounding error). */
+ d1 -= 0.5;
+
+ /* Separate day and fraction (as precisely as possible). */
+ d = dnint(d1);
+ f1 = d1 - d;
+ djd = d;
+ d = dnint(d2);
+ f2 = d2 - d;
+ djd += d;
+ d = dnint(f1 + f2);
+ f = (f1 - d) + f2;
+ if (f < 0.0)
+ {
+ f += 1.0;
+ d -= 1.0;
+ }
+ djd += d;
/* Round the total fraction to the specified number of places. */
- f = Math.Floor((f1 + f2) * denom + 0.5) / denom;
+ rf = dnint(f * denom) / denom;
- /* Re-assemble the rounded date and re-align to noon. */
- d2 += f + 0.5;
+ /* Re-align to noon. */
+ djd += 0.5;
/* Convert to Gregorian calendar. */
- js = wwaJd2cal(d1, d2, ref iymdf[0], ref iymdf[1], ref iymdf[2], ref f);
+ js = wwaJd2cal(djd, rf, ref iymdf[0], ref iymdf[1], ref iymdf[2], ref f);
if (js == 0)
{
- iymdf[3] = (int)(f * denom);
+ iymdf[3] = (int)dnint(f * denom);
}
else
{
diff --git a/WorldWideAstronomy/WWA/Astronomy/GeodeticGeocentric/pvtob.cs b/WorldWideAstronomy/WWA/Astronomy/GeodeticGeocentric/pvtob.cs
deleted file mode 100644
index 64d619a..0000000
--- a/WorldWideAstronomy/WWA/Astronomy/GeodeticGeocentric/pvtob.cs
+++ /dev/null
@@ -1,76 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WorldWideAstronomy
-{
- //public static partial class SOFA
- //{
- // ///
- // /// Position and velocity of a terrestrial observing station.
- // ///
- // ///
- // ///
- // /// World Wide Astronomy - WWA
- // /// Set of C# algorithms and procedures that implement standard models used in fundamental astronomy.
- // ///
- // /// This program is derived from the International Astronomical Union's
- // /// SOFA (Standards of Fundamental Astronomy) software collection.
- // /// http://www.iausofa.org
- // ///
- // /// The WWA code does not itself constitute software provided by and/or endorsed by SOFA.
- // /// This version is intended to retain identical functionality to the SOFA library, but
- // /// made distinct through different function names (prefixes) and C# language specific
- // /// modifications in code.
- // ///
- // /// Contributor
- // /// Attila Abrudán
- // ///
- // /// Please read the ReadMe.1st text file for more information.
- // ///
- // /// longitude (radians, east +ve, Note 1)
- // /// latitude (geodetic, radians, Note 1)
- // /// height above ref. ellipsoid (geodetic, m)
- // /// coordinates of the pole (radians, Note 2)
- // /// coordinates of the pole (radians, Note 2)
- // /// the TIO locator s' (radians, Note 2)
- // /// Earth rotation angle (radians, Note 3)
- // /// position/velocity vector (m, m/s, CIRS)
- // public static void wwaPvtob(double elong, double phi, double hm, double xp, double yp, double sp, double theta, double[,] pv)
- // {
- // /* Earth rotation rate in radians per UT1 second */
- // const double OM = 1.00273781191135448 * D2PI / DAYSEC;
-
- // double[] xyzm = new double[3];
- // double[] xyz = new double[3];
- // double[,] rpm = new double[3, 3];
- // double x, y, z, s, c;
-
- // /* Geodetic to geocentric transformation (WGS84). */
- // wwaGd2gc(1, elong, phi, hm, xyzm);
-
- // /* Polar motion and TIO position. */
- // wwaPom00(xp, yp, sp, rpm);
- // wwaTrxp(rpm, xyzm, xyz);
- // x = xyz[0];
- // y = xyz[1];
- // z = xyz[2];
-
- // /* Functions of ERA. */
- // s = Math.Sin(theta);
- // c = Math.Cos(theta);
-
- // /* Position. */
- // pv[0, 0] = c * x - s * y;
- // pv[0, 1] = s * x + c * y;
- // pv[0, 2] = z;
-
- // /* Velocity. */
- // pv[1, 0] = OM * (-s * x - c * y);
- // pv[1, 1] = OM * (c * x - s * y);
- // pv[1, 2] = 0.0;
- // }
- //}
-}
\ No newline at end of file
diff --git a/WorldWideAstronomy/WWA/Astronomy/PrecNutPolar/pb06.cs b/WorldWideAstronomy/WWA/Astronomy/PrecNutPolar/pb06.cs
index a19f9bf..5022d67 100644
--- a/WorldWideAstronomy/WWA/Astronomy/PrecNutPolar/pb06.cs
+++ b/WorldWideAstronomy/WWA/Astronomy/PrecNutPolar/pb06.cs
@@ -40,23 +40,32 @@ public static partial class WWA
public static void wwaPb06(double date1, double date2, ref double bzeta, ref double bz, ref double btheta)
{
double[,] r = new double[3, 3];
- double r31, r32;
-
+ double y, x;
/* Precession matrix via Fukushima-Williams angles. */
wwaPmat06(date1, date2, r);
- /* Solve for z. */
- bz = Math.Atan2(r[1, 2], r[0, 2]);
+ /* Solve for z, choosing the +/- pi alternative. */
+ y = r[1, 2];
+ x = -r[0, 2];
+ if (x < 0.0)
+ {
+ y = -y;
+ x = -x;
+ }
+ bz = (x != 0.0 || y != 0.0) ? -Math.Atan2(y, x) : 0.0;
- /* Remove it from the matrix. */
+ /* Derotate it out of the matrix. */
wwaRz(bz, r);
/* Solve for the remaining two angles. */
- bzeta = Math.Atan2(r[1, 0], r[1, 1]);
- r31 = r[2, 0];
- r32 = r[2, 1];
- btheta = Math.Atan2(-dsign(Math.Sqrt(r31 * r31 + r32 * r32), r[0, 2]), r[2, 2]);
+ y = r[0, 2];
+ x = r[2, 2];
+ btheta = (x != 0.0 || y != 0.0) ? -Math.Atan2(y, x) : 0.0;
+
+ y = -r[1, 0];
+ x = r[1, 1];
+ bzeta = (x != 0.0 || y != 0.0) ? -Math.Atan2(y, x) : 0.0;
return;
}
diff --git a/WorldWideAstronomy/WWA/Astronomy/SpaceMotion/pmsafe.cs b/WorldWideAstronomy/WWA/Astronomy/SpaceMotion/pmsafe.cs
deleted file mode 100644
index feb76cd..0000000
--- a/WorldWideAstronomy/WWA/Astronomy/SpaceMotion/pmsafe.cs
+++ /dev/null
@@ -1,95 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace WorldWideAstronomy
-{
- //public static partial class SOFA
- //{
- // ///
- // /// Star proper motion: update star catalog data for space motion, with
- // /// special handling to handle the zero parallax case.
- // ///
- // ///
- // ///
- // /// World Wide Astronomy - WWA
- // /// Set of C# algorithms and procedures that implement standard models used in fundamental astronomy.
- // ///
- // /// This program is derived from the International Astronomical Union's
- // /// SOFA (Standards of Fundamental Astronomy) software collection.
- // /// http://www.iausofa.org
- // ///
- // /// The WWA code does not itself constitute software provided by and/or endorsed by SOFA.
- // /// This version is intended to retain identical functionality to the SOFA library, but
- // /// made distinct through different function names (prefixes) and C# language specific
- // /// modifications in code.
- // ///
- // /// Contributor
- // /// Attila Abrudán
- // ///
- // /// Please read the ReadMe.1st text file for more information.
- // ///
- // /// right ascension (radians), before
- // /// declination (radians), before
- // /// RA proper motion (radians/year), before
- // /// Dec proper motion (radians/year), before
- // /// parallax (arcseconds), before
- // /// radial velocity (km/s, +ve = receding), before
- // /// "before" epoch, part A (Note 1)
- // /// "before" epoch, part B (Note 1)
- // /// "after" epoch, part A (Note 1)
- // /// "after" epoch, part B (Note 1)
- // /// right ascension (radians), after
- // /// declination (radians), after
- // /// RA proper motion (radians/year), after
- // /// Dec proper motion (radians/year), after
- // /// parallax (arcseconds), after
- // /// radial velocity (km/s, +ve = receding), after
- // /// status:
- // /// -1 = system error (should not occur)
- // /// 0 = no warnings or errors
- // /// 1 = distance overridden (Note 6)
- // /// 2 = excessive velocity (Note 7)
- // /// 4 = solution didn't converge (Note 8)
- // /// else = binary logical OR of the above warnings
- // ///
- // public static int iauPmsafe(double ra1, double dec1, double pmr1, double pmd1,
- // double px1, double rv1,
- // double ep1a, double ep1b, double ep2a, double ep2b,
- // ref double ra2, ref double dec2, ref double pmr2, ref double pmd2,
- // ref double px2, ref double rv2)
- // {
-
- // /* Minimum allowed parallax (arcsec) */
- // const double PXMIN = 5e-7;
-
- // /* Factor giving maximum allowed transverse speed of about 1% c */
- // const double F = 326.0;
-
- // int jpx, j;
- // double pm, px1a;
-
-
- // /* Proper motion in one year (radians). */
- // pm = wwaSeps(ra1, dec1, ra1 + pmr1, dec1 + pmd1);
-
- // /* Override the parallax to reduce the chances of a warning status. */
- // jpx = 0;
- // px1a = px1;
- // pm *= F;
- // if (px1a < pm) { jpx = 1; px1a = pm; }
- // if (px1a < PXMIN) { jpx = 1; px1a = PXMIN; }
-
- // /* Carry out the transformation using the modified parallax. */
- // j = wwaStarpm(ra1, dec1, pmr1, pmd1, px1a, rv1,
- // ep1a, ep1b, ep2a, ep2b,
- // ra2, dec2, pmr2, pmd2, px2, rv2);
-
- // /* Revise and return the status. */
- // if (!j % 2) j += jpx;
- // return j;
- // }
- //}
-}
diff --git a/WorldWideAstronomy/WWA/Astronomy/Timescales/taitt.cs b/WorldWideAstronomy/WWA/Astronomy/Timescales/taitt.cs
index 2903dc8..0dbd2c6 100644
--- a/WorldWideAstronomy/WWA/Astronomy/Timescales/taitt.cs
+++ b/WorldWideAstronomy/WWA/Astronomy/Timescales/taitt.cs
@@ -45,7 +45,7 @@ public static int wwaTaitt(double tai1, double tai2, ref double tt1, ref double
const double dtat = TTMTAI / DAYSEC;
/* Result, safeguarding precision. */
- if (tai1 > tai2)
+ if (Math.Abs(tai1) > Math.Abs(tai2))
{
tt1 = tai1;
tt2 = tai2 + dtat;
diff --git a/WorldWideAstronomy/WWA/Astronomy/Timescales/taiut1.cs b/WorldWideAstronomy/WWA/Astronomy/Timescales/taiut1.cs
index 0c6b279..71b6833 100644
--- a/WorldWideAstronomy/WWA/Astronomy/Timescales/taiut1.cs
+++ b/WorldWideAstronomy/WWA/Astronomy/Timescales/taiut1.cs
@@ -46,7 +46,7 @@ public static int wwaTaiut1(double tai1, double tai2, double dta, ref double ut1
/* Result, safeguarding precision. */
dtad = dta / DAYSEC;
- if (tai1 > tai2)
+ if (Math.Abs(tai1) > Math.Abs(tai2))
{
ut11 = tai1;
ut12 = tai2 + dtad;
diff --git a/WorldWideAstronomy/WWA/Astronomy/Timescales/taiutc.cs b/WorldWideAstronomy/WWA/Astronomy/Timescales/taiutc.cs
index 70fe49e..a5bcda0 100644
--- a/WorldWideAstronomy/WWA/Astronomy/Timescales/taiutc.cs
+++ b/WorldWideAstronomy/WWA/Astronomy/Timescales/taiutc.cs
@@ -49,7 +49,7 @@ public static int wwaTaiutc(double tai1, double tai2, ref double utc1, ref doubl
double a1, a2, u1, u2, g1 = 0, g2 = 0;
/* Put the two parts of the TAI into big-first order. */
- big1 = (tai1 >= tai2 ? true : false);
+ big1 = (Math.Abs(tai1) >= Math.Abs(tai2));
if (big1)
{
a1 = tai1;
diff --git a/WorldWideAstronomy/WWA/Astronomy/Timescales/tcbtdb.cs b/WorldWideAstronomy/WWA/Astronomy/Timescales/tcbtdb.cs
index 1a40e7c..f518762 100644
--- a/WorldWideAstronomy/WWA/Astronomy/Timescales/tcbtdb.cs
+++ b/WorldWideAstronomy/WWA/Astronomy/Timescales/tcbtdb.cs
@@ -52,7 +52,7 @@ public static int wwaTcbtdb(double tcb1, double tcb2, ref double tdb1, ref doubl
/* Result, safeguarding precision. */
- if (tcb1 > tcb2)
+ if (Math.Abs(tcb1) > Math.Abs(tcb2))
{
d = tcb1 - t77td;
tdb1 = tcb1;
diff --git a/WorldWideAstronomy/WWA/Astronomy/Timescales/tcgtt.cs b/WorldWideAstronomy/WWA/Astronomy/Timescales/tcgtt.cs
index 8107fe8..d410593 100644
--- a/WorldWideAstronomy/WWA/Astronomy/Timescales/tcgtt.cs
+++ b/WorldWideAstronomy/WWA/Astronomy/Timescales/tcgtt.cs
@@ -46,7 +46,7 @@ public static int wwaTcgtt(double tcg1, double tcg2, ref double tt1, ref double
/* Result, safeguarding precision. */
- if (tcg1 > tcg2)
+ if (Math.Abs(tcg1) > Math.Abs(tcg2))
{
tt1 = tcg1;
tt2 = tcg2 - ((tcg1 - DJM0) + (tcg2 - t77t)) * ELG;
diff --git a/WorldWideAstronomy/WWA/Astronomy/Timescales/tdbtcb.cs b/WorldWideAstronomy/WWA/Astronomy/Timescales/tdbtcb.cs
index e5b17d9..66ef9e1 100644
--- a/WorldWideAstronomy/WWA/Astronomy/Timescales/tdbtcb.cs
+++ b/WorldWideAstronomy/WWA/Astronomy/Timescales/tdbtcb.cs
@@ -55,7 +55,7 @@ public static int wwaTdbtcb(double tdb1, double tdb2, ref double tcb1, ref doubl
/* Result, preserving date format but safeguarding precision. */
- if (tdb1 > tdb2)
+ if (Math.Abs(tdb1) > Math.Abs(tdb2))
{
d = t77td - tdb1;
f = tdb2 - tdb0;
@@ -66,7 +66,7 @@ public static int wwaTdbtcb(double tdb1, double tdb2, ref double tcb1, ref doubl
{
d = t77td - tdb2;
f = tdb1 - tdb0;
- tcb1 = f + (d - (f - t77tf)) * elbb;
+ tcb1 = f - (d - (f - t77tf)) * elbb;
tcb2 = tdb2;
}
diff --git a/WorldWideAstronomy/WWA/Astronomy/Timescales/tdbtt.cs b/WorldWideAstronomy/WWA/Astronomy/Timescales/tdbtt.cs
index caf6a6f..3854afe 100644
--- a/WorldWideAstronomy/WWA/Astronomy/Timescales/tdbtt.cs
+++ b/WorldWideAstronomy/WWA/Astronomy/Timescales/tdbtt.cs
@@ -46,7 +46,7 @@ public static int wwaTdbtt(double tdb1, double tdb2, double dtr, ref double tt1,
/* Result, safeguarding precision. */
dtrd = dtr / DAYSEC;
- if (tdb1 > tdb2)
+ if (Math.Abs(tdb1) > Math.Abs(tdb2))
{
tt1 = tdb1;
tt2 = tdb2 - dtrd;
diff --git a/WorldWideAstronomy/WWA/Astronomy/Timescales/tttai.cs b/WorldWideAstronomy/WWA/Astronomy/Timescales/tttai.cs
index b118622..b4c7d06 100644
--- a/WorldWideAstronomy/WWA/Astronomy/Timescales/tttai.cs
+++ b/WorldWideAstronomy/WWA/Astronomy/Timescales/tttai.cs
@@ -46,7 +46,7 @@ public static int wwaTttai(double tt1, double tt2, ref double tai1, ref double t
/* Result, safeguarding precision. */
- if (tt1 > tt2)
+ if (Math.Abs(tt1) > Math.Abs(tt2))
{
tai1 = tt1;
tai2 = tt2 - dtat;
diff --git a/WorldWideAstronomy/WWA/Astronomy/Timescales/tttcg.cs b/WorldWideAstronomy/WWA/Astronomy/Timescales/tttcg.cs
index ecd3875..bbef8ea 100644
--- a/WorldWideAstronomy/WWA/Astronomy/Timescales/tttcg.cs
+++ b/WorldWideAstronomy/WWA/Astronomy/Timescales/tttcg.cs
@@ -49,7 +49,7 @@ public static int wwaTttcg(double tt1, double tt2, ref double tcg1, ref double t
/* Result, safeguarding precision. */
- if (tt1 > tt2)
+ if (Math.Abs(tt1) > Math.Abs(tt2))
{
tcg1 = tt1;
tcg2 = tt2 + ((tt1 - DJM0) + (tt2 - t77t)) * elgg;
diff --git a/WorldWideAstronomy/WWA/Astronomy/Timescales/tttdb.cs b/WorldWideAstronomy/WWA/Astronomy/Timescales/tttdb.cs
index f820cd8..b98f5f3 100644
--- a/WorldWideAstronomy/WWA/Astronomy/Timescales/tttdb.cs
+++ b/WorldWideAstronomy/WWA/Astronomy/Timescales/tttdb.cs
@@ -46,7 +46,7 @@ public static int wwaTttdb(double tt1, double tt2, double dtr, ref double tdb1,
/* Result, safeguarding precision. */
dtrd = dtr / DAYSEC;
- if (tt1 > tt2)
+ if (Math.Abs(tt1) > Math.Abs(tt2))
{
tdb1 = tt1;
tdb2 = tt2 + dtrd;
diff --git a/WorldWideAstronomy/WWA/Astronomy/Timescales/ttut1.cs b/WorldWideAstronomy/WWA/Astronomy/Timescales/ttut1.cs
index b016e35..066e338 100644
--- a/WorldWideAstronomy/WWA/Astronomy/Timescales/ttut1.cs
+++ b/WorldWideAstronomy/WWA/Astronomy/Timescales/ttut1.cs
@@ -46,7 +46,7 @@ public static int wwaTtut1(double tt1, double tt2, double dt, ref double ut11, r
/* Result, safeguarding precision. */
dtd = dt / DAYSEC;
- if (tt1 > tt2)
+ if (Math.Abs(tt1) > Math.Abs(tt2))
{
ut11 = tt1;
ut12 = tt2 - dtd;
diff --git a/WorldWideAstronomy/WWA/Astronomy/Timescales/ut1tai.cs b/WorldWideAstronomy/WWA/Astronomy/Timescales/ut1tai.cs
index ae94d73..8bd1a6c 100644
--- a/WorldWideAstronomy/WWA/Astronomy/Timescales/ut1tai.cs
+++ b/WorldWideAstronomy/WWA/Astronomy/Timescales/ut1tai.cs
@@ -46,7 +46,7 @@ public static int wwaUt1tai(double ut11, double ut12, double dta, ref double tai
/* Result, safeguarding precision. */
dtad = dta / DAYSEC;
- if (ut11 > ut12)
+ if (Math.Abs(ut11) > Math.Abs(ut12))
{
tai1 = ut11;
tai2 = ut12 - dtad;
diff --git a/WorldWideAstronomy/WWA/Astronomy/Timescales/ut1tt.cs b/WorldWideAstronomy/WWA/Astronomy/Timescales/ut1tt.cs
index fcc42c2..ff11012 100644
--- a/WorldWideAstronomy/WWA/Astronomy/Timescales/ut1tt.cs
+++ b/WorldWideAstronomy/WWA/Astronomy/Timescales/ut1tt.cs
@@ -46,7 +46,7 @@ public static int wwaUt1tt(double ut11, double ut12, double dt, ref double tt1,
/* Result, safeguarding precision. */
dtd = dt / DAYSEC;
- if (ut11 > ut12)
+ if (Math.Abs(ut11) > Math.Abs(ut12))
{
tt1 = ut11;
tt2 = ut12 + dtd;
diff --git a/WorldWideAstronomy/WWA/Astronomy/Timescales/ut1utc.cs b/WorldWideAstronomy/WWA/Astronomy/Timescales/ut1utc.cs
index feec727..9faf16d 100644
--- a/WorldWideAstronomy/WWA/Astronomy/Timescales/ut1utc.cs
+++ b/WorldWideAstronomy/WWA/Astronomy/Timescales/ut1utc.cs
@@ -53,7 +53,7 @@ public static int wwaUt1utc(double ut11, double ut12, double dut1, ref double ut
duts = dut1;
/* Put the two parts of the UT1 into big-first order. */
- big1 = (ut11 >= ut12 ? true : false);
+ big1 = (Math.Abs(ut11) >= Math.Abs(ut12) ? true : false);
if (big1)
{
u1 = ut11;
diff --git a/WorldWideAstronomy/WWA/Astronomy/Timescales/utctai.cs b/WorldWideAstronomy/WWA/Astronomy/Timescales/utctai.cs
index 75fb789..516c7fb 100644
--- a/WorldWideAstronomy/WWA/Astronomy/Timescales/utctai.cs
+++ b/WorldWideAstronomy/WWA/Astronomy/Timescales/utctai.cs
@@ -48,7 +48,7 @@ public static int wwaUtctai(double utc1, double utc2, ref double tai1, ref doubl
double u1, u2, fd = 0, dat0 = 0, dat12 = 0, w = 0, dat24 = 0, dlod, dleap, z1 = 0, z2 = 0, a2;
/* Put the two parts of the UTC into big-first order. */
- big1 = (utc1 >= utc2 ? true : false);
+ big1 = (Math.Abs(utc1) >= Math.Abs(utc2) ? true : false);
if (big1)
{
u1 = utc1;
diff --git a/WorldWideAstronomy/WWA/NewFunctions/fk425.cs b/WorldWideAstronomy/WWA/NewFunctions/fk425.cs
new file mode 100644
index 0000000..a1e2302
--- /dev/null
+++ b/WorldWideAstronomy/WWA/NewFunctions/fk425.cs
@@ -0,0 +1,160 @@
+using System;
+
+namespace WorldWideAstronomy
+{
+ public static partial class WWA
+ {
+ ///
+ /// Convert B1950.0 FK4 star catalog data to J2000.0 FK5.
+ ///
+ ///
+ ///
+ /// World Wide Astronomy - WWA
+ /// Set of C# algorithms and procedures that implement standard models used in fundamental astronomy.
+ ///
+ /// This program is derived from the International Astronomical Union's
+ /// SOFA (Standards of Fundamental Astronomy) software collection.
+ /// http://www.iausofa.org
+ ///
+ /// The WWA code does not itself constitute software provided by and/or endorsed by SOFA.
+ /// This version is intended to retain identical functionality to the SOFA library, but
+ /// made distinct through different function names (prefixes) and C# language specific
+ /// modifications in code.
+ ///
+ /// Contributor
+ /// Attila Abrudán
+ ///
+ /// Please read the ReadMe.1st text file for more information.
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void wwaFk425(double r1950, double d1950,
+ double dr1950, double dd1950,
+ double p1950, double v1950,
+ ref double r2000, ref double d2000,
+ ref double dr2000, ref double dd2000,
+ ref double p2000, ref double v2000)
+ {
+ /* Radians per year to arcsec per century */
+ const double PMF = 100.0 * DR2AS;
+
+ /* Small number to avoid arithmetic problems */
+ const double TINY = 1e-30;
+
+ /* Miscellaneous */
+ double r, d, ur, ud, px, rv, pxvf, w, rd = 0;
+ int i, j, k, l;
+
+ /* Pv-vectors */
+ double[,] r0 = new double[2, 3];
+ double[,] pv1 = new double[2, 3];
+ double[,] pv2 = new double[2, 3];
+
+ /*
+ ** CANONICAL CONSTANTS (Seidelmann 1992)
+ */
+
+ /* Km per sec to AU per tropical century */
+ /* = 86400 * 36524.2198782 / 149597870.7 */
+ const double VF = 21.095;
+
+ /* Constant pv-vector (cf. Seidelmann 3.591-2, vectors A and Adot) */
+ double[,] a = new double[2, 3] {
+ { -1.62557e-6, -0.31919e-6, -0.13843e-6 },
+ { +1.245e-3, -1.580e-3, -0.659e-3 }
+ };
+
+ /* 3x2 matrix of pv-vectors (cf. Seidelmann 3.591-4, matrix M) */
+ double[,,,] em = new double[2, 3, 2, 3]
+ {
+ {
+ {
+ { +0.9999256782, -0.0111820611, -0.0048579477 },
+ { +0.00000242395018, -0.00000002710663, -0.00000001177656 }
+ },
+ {
+ { +0.0111820610, +0.9999374784, -0.0000271765 },
+ { +0.00000002710663, +0.00000242397878, -0.00000000006587 }
+ },
+ {
+ { +0.0048579479, -0.0000271474, +0.9999881997, },
+ { +0.00000001177656, -0.00000000006582, +0.00000242410173 }
+ }
+ },
+ {
+ {
+ { -0.000551, -0.238565, +0.435739 },
+ { +0.99994704, -0.01118251, -0.00485767 }
+ },
+ {
+ { +0.238514, -0.002667, -0.008541 },
+ { +0.01118251, +0.99995883, -0.00002718 }
+ },
+ {
+ { -0.435623, +0.012254, +0.002117 },
+ { +0.00485767, -0.00002714, +1.00000956 }
+ }
+ }
+ };
+
+ /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
+
+ /* The FK4 data (units radians and arcsec per tropical century). */
+ r = r1950;
+ d = d1950;
+ ur = dr1950 * PMF;
+ ud = dd1950 * PMF;
+ px = p1950;
+ rv = v1950;
+
+ /* Express as a pv-vector. */
+ pxvf = px * VF;
+ w = rv * pxvf;
+ wwaS2pv(r, d, 1.0, ur, ud, w, r0);
+
+ /* Allow for E-terms (cf. Seidelmann 3.591-2). */
+ wwaPvmpv(r0, a, pv1);
+ wwaSxp(wwaPdp(CopyArray(r0, 0), CopyArray(a, 0)), CopyArray(r0, 0), CopyArray(pv2, 0));
+ wwaSxp(wwaPdp(CopyArray(r0, 0), CopyArray(a, 1)), CopyArray(r0, 0), CopyArray(pv2, 1));
+ wwaPvppv(pv1, pv2, pv1);
+
+ /* Convert pv-vector to Fricke system (cf. Seidelmann 3.591-3). */
+ for (i = 0; i < 2; i++)
+ {
+ for (j = 0; j < 3; j++)
+ {
+ w = 0.0;
+ for (k = 0; k < 2; k++)
+ {
+ for (l = 0; l < 3; l++)
+ {
+ w += em[i, j, k, l] * pv1[k, l];
+ }
+ }
+ pv2[i, j] = w;
+ }
+ }
+
+ /* Revert to catalog form. */
+ wwaPv2s(pv2, ref r, ref d, ref w, ref ur, ref ud, ref rd);
+ if (px > TINY)
+ {
+ rv = rd / pxvf;
+ px = px / w;
+ }
+
+ /* Return the results. */
+ r2000 = wwaAnp(r);
+ d2000 = d;
+ dr2000 = ur / PMF;
+ dd2000 = ud / PMF;
+ v2000 = rv;
+ p2000 = px;
+
+ /* Finished. */
+ }
+ }
+}
diff --git a/WorldWideAstronomy/WWA/NewFunctions/fk45z.cs b/WorldWideAstronomy/WWA/NewFunctions/fk45z.cs
new file mode 100644
index 0000000..28ee02f
--- /dev/null
+++ b/WorldWideAstronomy/WWA/NewFunctions/fk45z.cs
@@ -0,0 +1,111 @@
+using System;
+
+namespace WorldWideAstronomy
+{
+ public static partial class WWA
+ {
+ ///
+ /// Convert a B1950.0 FK4 star position to J2000.0 FK5, assuming zero proper motion in the FK5 system.
+ ///
+ ///
+ ///
+ /// World Wide Astronomy - WWA
+ /// Set of C# algorithms and procedures that implement standard models used in fundamental astronomy.
+ ///
+ /// This program is derived from the International Astronomical Union's
+ /// SOFA (Standards of Fundamental Astronomy) software collection.
+ /// http://www.iausofa.org
+ ///
+ /// The WWA code does not itself constitute software provided by and/or endorsed by SOFA.
+ /// This version is intended to retain identical functionality to the SOFA library, but
+ /// made distinct through different function names (prefixes) and C# language specific
+ /// modifications in code.
+ ///
+ /// Contributor
+ /// Attila Abrudán
+ ///
+ /// Please read the ReadMe.1st text file for more information.
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void wwaFk45z(double r1950, double d1950, double bepoch, ref double r2000, ref double d2000)
+ {
+ /* Radians per year to arcsec per century */
+ const double PMF = 100.0 * DR2AS;
+
+ /* Position and position+velocity vectors */
+ double[] r0 = new double[3];
+ double[] p = new double[3];
+ double[,] pv = new double[2, 3];
+
+ /* Miscellaneous */
+ double w, djm0 = 0, djm = 0;
+ int i, j, k;
+
+ /*
+ ** CANONICAL CONSTANTS (Seidelmann 1992)
+ */
+
+ /* Vectors A and Adot (Seidelmann 3.591-2) */
+ double[] a = new double[3] { -1.62557e-6, -0.31919e-6, -0.13843e-6 };
+ double[] ad = new double[3] { +1.245e-3, -1.580e-3, -0.659e-3 };
+
+ /* 3x2 matrix of p-vectors (cf. Seidelmann 3.591-4, matrix M) */
+ double[,,] em = new double[2, 3, 3]
+ {
+ {
+ { +0.9999256782, -0.0111820611, -0.0048579477 },
+ { +0.0111820610, +0.9999374784, -0.0000271765 },
+ { +0.0048579479, -0.0000271474, +0.9999881997 }
+ },
+ {
+ { -0.000551, -0.238565, +0.435739 },
+ { +0.238514, -0.002667, -0.008541 },
+ { -0.435623, +0.012254, +0.002117 }
+ }
+ };
+
+ /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
+
+ /* Spherical coordinates to p-vector. */
+ wwaS2c(r1950, d1950, r0);
+
+ /* Adjust p-vector A to give zero proper motion in FK5. */
+ w = (bepoch - 1950) / PMF;
+ wwaPpsp(a, w, ad, p);
+
+ /* Remove E-terms. */
+ wwaPpsp(p, -wwaPdp(r0, p), r0, p);
+ wwaPmp(r0, p, p);
+
+ /* Convert to Fricke system pv-vector (cf. Seidelmann 3.591-3). */
+ for (i = 0; i < 2; i++)
+ {
+ for (j = 0; j < 3; j++)
+ {
+ w = 0.0;
+ for (k = 0; k < 3; k++)
+ {
+ w += em[i, j, k] * p[k];
+ }
+ pv[i, j] = w;
+ }
+ }
+
+ /* Allow for fictitious proper motion. */
+ wwaEpb2jd(bepoch, ref djm0, ref djm);
+ w = (wwaEpj(djm0, djm) - 2000.0) / PMF;
+ wwaPvu(w, pv, pv);
+
+ /* Revert to spherical coordinates. */
+ wwaC2s(CopyArray(pv, 0), ref w, ref d2000);
+ r2000 = wwaAnp(w);
+
+ /* Finished. */
+
+ }
+ }
+}
diff --git a/WorldWideAstronomy/WWA/NewFunctions/fk524.cs b/WorldWideAstronomy/WWA/NewFunctions/fk524.cs
new file mode 100644
index 0000000..75d8780
--- /dev/null
+++ b/WorldWideAstronomy/WWA/NewFunctions/fk524.cs
@@ -0,0 +1,181 @@
+using System;
+
+namespace WorldWideAstronomy
+{
+ public static partial class WWA
+ {
+ ///
+ /// Convert J2000.0 FK5 star catalog data to B1950.0 FK4.
+ ///
+ ///
+ ///
+ /// World Wide Astronomy - WWA
+ /// Set of C# algorithms and procedures that implement standard models used in fundamental astronomy.
+ ///
+ /// This program is derived from the International Astronomical Union's
+ /// SOFA (Standards of Fundamental Astronomy) software collection.
+ /// http://www.iausofa.org
+ ///
+ /// The WWA code does not itself constitute software provided by and/or endorsed by SOFA.
+ /// This version is intended to retain identical functionality to the SOFA library, but
+ /// made distinct through different function names (prefixes) and C# language specific
+ /// modifications in code.
+ ///
+ /// Contributor
+ /// Attila Abrudán
+ ///
+ /// Please read the ReadMe.1st text file for more information.
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void wwaFk524(double r2000, double d2000,
+ double dr2000, double dd2000,
+ double p2000, double v2000,
+ ref double r1950, ref double d1950,
+ ref double dr1950, ref double dd1950,
+ ref double p1950, ref double v1950)
+ {
+ /* Radians per year to arcsec per century */
+ const double PMF = 100.0 * DR2AS;
+
+ /* Small number to avoid arithmetic problems */
+ const double TINY = 1e-30;
+
+ /* Miscellaneous */
+ double r, d, ur, ud, px, rv, pxvf, w, rd = 0;
+ int i, j, k, l;
+
+ /* Vectors, p and pv */
+ double[,] r0 = new double[2, 3];
+ double[,] r1 = new double[2, 3];
+ double[] p1 = new double[3];
+ double[] p2 = new double[3];
+ double[,] pv = new double[2, 3];
+
+ /*
+ ** CANONICAL CONSTANTS (Seidelmann 1992)
+ */
+
+ /* Km per sec to AU per tropical century */
+ /* = 86400 * 36524.2198782 / 149597870.7 */
+ const double VF = 21.095;
+
+ /* Constant pv-vector (cf. Seidelmann 3.591-2, vectors A and Adot) */
+ double[,] a = new double[2, 3]
+ {
+ { -1.62557e-6, -0.31919e-6, -0.13843e-6 },
+ { +1.245e-3, -1.580e-3, -0.659e-3 }
+ };
+
+ /* 3x2 matrix of pv-vectors (cf. Seidelmann 3.592-1, matrix M^-1) */
+ double[,,,] em = new double[2, 3, 2, 3]
+ {
+ {
+ {
+ { +0.9999256795, +0.0111814828, +0.0048590039, },
+ { -0.00000242389840, -0.00000002710544, -0.00000001177742 }
+ },
+ {
+ { -0.0111814828, +0.9999374849, -0.0000271771, },
+ { +0.00000002710544, -0.00000242392702, +0.00000000006585 }
+ },
+ {
+ { -0.0048590040, -0.0000271557, +0.9999881946, },
+ { +0.00000001177742, +0.00000000006585, -0.00000242404995 }
+ }
+ },
+ {
+ {
+ { -0.000551, +0.238509, -0.435614, },
+ { +0.99990432, +0.01118145, +0.00485852 }
+ },
+ {
+ { -0.238560, -0.002667, +0.012254, },
+ { -0.01118145, +0.99991613, -0.00002717 }
+ },
+ {
+ { +0.435730, -0.008541, +0.002117, },
+ { -0.00485852, -0.00002716, +0.99996684 }
+ }
+ }
+ };
+ /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
+
+ /* The FK5 data (units radians and arcsec per Julian century). */
+ r = r2000;
+ d = d2000;
+ ur = dr2000 * PMF;
+ ud = dd2000 * PMF;
+ px = p2000;
+ rv = v2000;
+
+ /* Express as a pv-vector. */
+ pxvf = px * VF;
+ w = rv * pxvf;
+ wwaS2pv(r, d, 1.0, ur, ud, w, r0);
+
+ /* Convert pv-vector to Bessel-Newcomb system (cf. Seidelmann 3.592-1). */
+ for (i = 0; i < 2; i++)
+ {
+ for (j = 0; j < 3; j++)
+ {
+ w = 0.0;
+ for (k = 0; k < 2; k++)
+ {
+ for (l = 0; l < 3; l++)
+ {
+ w += em[i, j, k, l] * r0[k, l];
+ }
+ }
+ r1[i, j] = w;
+ }
+ }
+
+ /* Apply E-terms (equivalent to Seidelmann 3.592-3, one iteration). */
+
+ /* Direction. */
+ w = wwaPm(CopyArray(r1, 0));
+ wwaSxp(wwaPdp(CopyArray(r1, 0), CopyArray(a, 0)), CopyArray(r1, 0), p1);
+ wwaSxp(w, CopyArray(a, 0), p2);
+ wwaPmp(p2, p1, p1);
+ wwaPpp(CopyArray(r1, 0), p1, p1);
+
+ /* Recompute length. */
+ w = wwaPm(p1);
+
+ /* Direction. */
+ wwaSxp(wwaPdp(CopyArray(r1, 0), CopyArray(a, 0)), CopyArray(r1, 0), p1);
+ wwaSxp(w, CopyArray(a, 0), p2);
+ wwaPmp(p2, p1, p1);
+ wwaPpp(CopyArray(r1, 0), p1, CopyArray(pv, 0));
+
+ /* Derivative. */
+ wwaSxp(wwaPdp(CopyArray(r1, 0), CopyArray(a, 1)), CopyArray(pv, 0), p1);
+ wwaSxp(w, CopyArray(a, 1), p2);
+ wwaPmp(p2, p1, p1);
+ wwaPpp(CopyArray(r1, 1), p1, CopyArray(pv, 1));
+
+ /* Revert to catalog form. */
+ wwaPv2s(pv, ref r, ref d, ref w, ref ur, ref ud, ref rd);
+ if (px > TINY)
+ {
+ rv = rd / pxvf;
+ px = px / w;
+ }
+
+ /* Return the results. */
+ r1950 = wwaAnp(r);
+ d1950 = d;
+ dr1950 = ur / PMF;
+ dd1950 = ud / PMF;
+ p1950 = px;
+ v1950 = rv;
+
+ /* Finished. */
+
+ }
+ }
+}
diff --git a/WorldWideAstronomy/WWA/NewFunctions/fk54z.cs b/WorldWideAstronomy/WWA/NewFunctions/fk54z.cs
new file mode 100644
index 0000000..1f68677
--- /dev/null
+++ b/WorldWideAstronomy/WWA/NewFunctions/fk54z.cs
@@ -0,0 +1,74 @@
+using System;
+
+namespace WorldWideAstronomy
+{
+ public static partial class WWA
+ {
+ ///
+ /// Convert a J2000.0 FK5 star position to B1950.0 FK4, assuming zero proper motion in FK5 and parallax.
+ ///
+ ///
+ ///
+ /// World Wide Astronomy - WWA
+ /// Set of C# algorithms and procedures that implement standard models used in fundamental astronomy.
+ ///
+ /// This program is derived from the International Astronomical Union's
+ /// SOFA (Standards of Fundamental Astronomy) software collection.
+ /// http://www.iausofa.org
+ ///
+ /// The WWA code does not itself constitute software provided by and/or endorsed by SOFA.
+ /// This version is intended to retain identical functionality to the SOFA library, but
+ /// made distinct through different function names (prefixes) and C# language specific
+ /// modifications in code.
+ ///
+ /// Contributor
+ /// Attila Abrudán
+ ///
+ /// Please read the ReadMe.1st text file for more information.
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static void wwaFk54z(double r2000, double d2000, double bepoch,
+ ref double r1950, ref double d1950,
+ ref double dr1950, ref double dd1950)
+ {
+ double[] p = new double[3];
+ double[] v = new double[3];
+ double r = 0, d = 0, pr = 0, pd = 0, px = 0, rv = 0, w;
+ int i;
+
+
+ /* FK5 equinox J2000.0 to FK4 equinox B1950.0. */
+ wwaFk524(r2000, d2000, 0.0, 0.0, 0.0, 0.0,
+ ref r, ref d, ref pr, ref pd, ref px, ref rv);
+
+ /* Spherical to Cartesian. */
+ wwaS2c(r, d, p);
+
+ /* Fictitious proper motion (radians per year). */
+ v[0] = -pr * p[1] - pd * Math.Cos(r) * Math.Sin(d);
+ v[1] = pr * p[0] - pd * Math.Sin(r) * Math.Sin(d);
+ v[2] = pd * Math.Cos(d);
+
+ /* Apply the motion. */
+ w = bepoch - 1950.0;
+ for (i = 0; i < 3; i++)
+ {
+ p[i] += w * v[i];
+ }
+
+ /* Cartesian to spherical. */
+ wwaC2s(p, ref w, ref d1950);
+ r1950 = wwaAnp(w);
+
+ /* Fictitious proper motion. */
+ dr1950 = pr;
+ dd1950 = pd;
+
+ /* Finished. */
+ }
+ }
+}
diff --git a/WorldWideAstronomy/WWA/WWA.csproj b/WorldWideAstronomy/WWA/WWA.csproj
index 5f6d6b4..8584376 100644
--- a/WorldWideAstronomy/WWA/WWA.csproj
+++ b/WorldWideAstronomy/WWA/WWA.csproj
@@ -113,7 +113,6 @@
-
@@ -193,7 +192,6 @@
-
@@ -223,6 +221,10 @@
+
+
+
+
diff --git a/WorldWideAstronomy/WWA/wwa.cs b/WorldWideAstronomy/WWA/wwa.cs
index 41e2c9b..ea38e6e 100644
--- a/WorldWideAstronomy/WWA/wwa.cs
+++ b/WorldWideAstronomy/WWA/wwa.cs
@@ -208,16 +208,15 @@ public static double dint(double A)
return A < 0.0 ? Math.Ceiling(A) : Math.Floor(A);
}
+ /* dnint(A) - round to nearest whole number (double) */
///
/// dnint(A) - round to nearest whole number (double)
///
///
///
public static double dnint(double A)
- {
- //return A < 0.0 ? Math.Ceiling((A)-0.5) : Math.Floor((A)+0.5);
- return A < 0.0 ? Math.Ceiling((A) - 0.5) : Math.Floor((A) + 0.5);
- //return A < 0.0 ? Math.Round(A) : Math.Round(A, MidpointRounding.AwayFromZero);
+ {
+ return (Math.Abs(A) < 0.5 ? 0.0 : ((A) < 0.0 ? Math.Ceiling((A) - 0.5) : Math.Floor((A) + 0.5)));
}
///
@@ -326,5 +325,21 @@ public static bool AddArray2(ref double[,] arrayDest, double[] arraySource, int
return res;
}
+
+ // Const values come from sdk\inc\crt\float.h
+ public const double DBL_EPSILON = 2.2204460492503131e-016; /* smallest such that 1.0+DBL_EPSILON != 1.0 */
+ /////
+ ///// #define DBL_EPSILON 2.2204460492503131e-16
+ /////
+ /////
+ //public static double getDblEpsilon()
+ //{
+ // double d = 1;
+ // while (1.0 + d / 2 != 1.0)
+ // {
+ // d = d / 2;
+ // }
+ // return d;
+ //}
}
}
diff --git a/WorldWideAstronomy/WWATest/Program.cs b/WorldWideAstronomy/WWATest/Program.cs
index f84f348..5a6ab51 100644
--- a/WorldWideAstronomy/WWATest/Program.cs
+++ b/WorldWideAstronomy/WWATest/Program.cs
@@ -4051,6 +4051,125 @@ static void t_fave03(ref int status)
"wwaFave03", "", ref status);
}
+ static void t_fk425(ref int status)
+ /*
+ ** - - - - - - - -
+ ** t _ f k 4 2 5
+ ** - - - - - - - -
+ **
+ ** Test iauFk425 function.
+ **
+ ** Returned:
+ ** status int FALSE = success, TRUE = fail
+ **
+ ** Called: iauFk425, vvd
+ **
+ ** This revision: 2018 December 6
+ */
+ {
+ double r1950, d1950, dr1950, dd1950, p1950, v1950,
+ r2000 = 0, d2000 = 0, dr2000 = 0, dd2000 = 0, p2000 = 0, v2000 = 0;
+
+
+ r1950 = 0.07626899753879587532;
+ d1950 = -1.137405378399605780;
+ dr1950 = 0.1973749217849087460e-4;
+ dd1950 = 0.5659714913272723189e-5;
+ p1950 = 0.134;
+ v1950 = 8.7;
+
+ WWA.wwaFk425(r1950, d1950, dr1950, dd1950, p1950, v1950,
+ ref r2000, ref d2000, ref dr2000, ref dd2000, ref p2000, ref v2000);
+
+ vvd(r2000, 0.08757989933556446040, 1e-14,
+ "iauFk425", "r2000", ref status);
+ vvd(d2000, -1.132279113042091895, 1e-12,
+ "iauFk425", "d2000", ref status);
+ vvd(dr2000, 0.1953670614474396139e-4, 1e-17,
+ "iauFk425", "dr2000", ref status);
+ vvd(dd2000, 0.5637686678659640164e-5, 1e-18,
+ "iauFk425", "dd2000", ref status);
+ vvd(p2000, 0.1339919950582767871, 1e-13, "iauFk425", "p2000", ref status);
+ vvd(v2000, 8.736999669183529069, 1e-12, "iauFk425", "v2000", ref status);
+
+ }
+
+ static void t_fk45z(ref int status)
+ /*
+ ** - - - - - - - -
+ ** t _ f k 4 5 z
+ ** - - - - - - - -
+ **
+ ** Test iauFk45z function.
+ **
+ ** Returned:
+ ** status int FALSE = success, TRUE = fail
+ **
+ ** Called: iauFk45z, vvd
+ **
+ ** This revision: 2018 December 6
+ */
+ {
+ double r1950, d1950, bepoch, r2000 = 0, d2000 = 0;
+
+
+ r1950 = 0.01602284975382960982;
+ d1950 = -0.1164347929099906024;
+ bepoch = 1954.677617625256806;
+
+ WWA.wwaFk45z(r1950, d1950, bepoch, ref r2000, ref d2000);
+
+ vvd(r2000, 0.02719295911606862303, 1e-15,
+ "iauFk45z", "r2000", ref status);
+ vvd(d2000, -0.1115766001565926892, 1e-13,
+ "iauFk45z", "d2000", ref status);
+
+ }
+
+ static void t_fk524(ref int status)
+ /*
+ ** - - - - - - - -
+ ** t _ f k 5 2 4
+ ** - - - - - - - -
+ **
+ ** Test iauFk524 function.
+ **
+ ** Returned:
+ ** status int FALSE = success, TRUE = fail
+ **
+ ** Called: iauFk524, vvd
+ **
+ ** This revision: 2018 December 6
+ */
+ {
+ double r2000, d2000, dr2000, dd2000, p2000, v2000,
+ r1950 = 0, d1950 = 0, dr1950 = 0, dd1950 = 0, p1950 = 0, v1950 = 0;
+
+
+ r2000 = 0.8723503576487275595;
+ d2000 = -0.7517076365138887672;
+ dr2000 = 0.2019447755430472323e-4;
+ dd2000 = 0.3541563940505160433e-5;
+ p2000 = 0.1559;
+ v2000 = 86.87;
+
+ WWA.wwaFk524(r2000, d2000, dr2000, dd2000, p2000, v2000,
+ ref r1950, ref d1950, ref dr1950, ref dd1950, ref p1950, ref v1950);
+
+ vvd(r1950, 0.8636359659799603487, 1e-13,
+ "iauFk524", "r1950", ref status);
+ vvd(d1950, -0.7550281733160843059, 1e-13,
+ "iauFk524", "d1950", ref status);
+ vvd(dr1950, 0.2023628192747172486e-4, 1e-17,
+ "iauFk524", "dr1950", ref status);
+ vvd(dd1950, 0.3624459754935334718e-5, 1e-18,
+ "iauFk524", "dd1950", ref status);
+ vvd(p1950, 0.1560079963299390241, 1e-13,
+ "iauFk524", "p1950", ref status);
+ vvd(v1950, 86.79606353469163751, 1e-11, "iauFk524", "v1950", ref status);
+
+ }
+
static void t_fk52h(ref int status)
/*
** - - - - - - - -
@@ -4097,6 +4216,42 @@ static void t_fk52h(ref int status)
}
+ static void t_fk54z(ref int status)
+ /*
+ ** - - - - - - - -
+ ** t _ f k 5 4 z
+ ** - - - - - - - -
+ **
+ ** Test iauFk54z function.
+ **
+ ** Returned:
+ ** status int FALSE = success, TRUE = fail
+ **
+ ** Called: iauFk54z, vvd
+ **
+ ** This revision: 2018 December 6
+ */
+ {
+ double r2000, d2000, bepoch, r1950 = 0, d1950 = 0, dr1950 = 0, dd1950 = 0;
+
+
+ r2000 = 0.02719026625066316119;
+ d2000 = -0.1115815170738754813;
+ bepoch = 1954.677308160316374;
+
+ WWA.wwaFk54z(r2000, d2000, bepoch, ref r1950, ref d1950, ref dr1950, ref dd1950);
+
+ vvd(r1950, 0.01602015588390065476, 1e-14,
+ "iauFk54z", "r1950", ref status);
+ vvd(d1950, -0.1164397101110765346, 1e-13,
+ "iauFk54z", "d1950", ref status);
+ vvd(dr1950, -0.1175712648471090704e-7, 1e-20,
+ "iauFk54z", "dr1950", ref status);
+ vvd(dd1950, 0.2108109051316431056e-7, 1e-20,
+ "iauFk54z", "dd1950", ref status);
+
+ }
+
static void t_fk5hip(ref int status)
/*
** - - - - - - - - -