SUBROUTINE iau_A2AF ( NDP, ANGLE, SIGN, IDMSF ) *+ * - - - - - - - - - * i a u _ A 2 A F * - - - - - - - - - * * Decompose radians into degrees, arcminutes, arcseconds, fraction. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * NDP i resolution (Note 1) * ANGLE d angle in radians * * Returned: * SIGN c '+' or '-' * IDMSF i(4) degrees, arcminutes, arcseconds, fraction * * Called: * iau_D2TF decompose days to hms * * Notes: * * 1) NDP is interpreted as follows: * * NDP resolution * : ...0000 00 00 * -7 1000 00 00 * -6 100 00 00 * -5 10 00 00 * -4 1 00 00 * -3 0 10 00 * -2 0 01 00 * -1 0 00 10 * 0 0 00 01 * 1 0 00 00.1 * 2 0 00 00.01 * 3 0 00 00.001 * : 0 00 00.000... * * 2) The largest positive useful value for NDP is determined by the * size of ANGLE, the format of DOUBLE PRECISION floating-point * numbers on the target platform, and the risk of overflowing * IDMSF(4). On a typical platform, for ANGLE up to 2pi, the * available floating-point precision might correspond to NDP=12. * However, the practical limit is typically NDP=9, set by the * capacity of a 32-bit IDMSF(4). * * 3) The absolute value of ANGLE may exceed 2pi. In cases where it * does not, it is up to the caller to test for and handle the * case where ANGLE is very nearly 2pi and rounds up to 360 degrees, * by testing for IDMSF(1)=360 and setting IDMSF(1-4) to zero. * * This revision: 2007 December 3 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE INTEGER NDP DOUBLE PRECISION ANGLE CHARACTER SIGN*(*) INTEGER IDMSF(4) * 2Pi DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) * Hours to degrees * radians to turns DOUBLE PRECISION F PARAMETER ( F = 15D0/D2PI ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Scale then use days to h,m,s routine. CALL iau_D2TF ( NDP, ANGLE*F, SIGN, IDMSF ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_A2TF ( NDP, ANGLE, SIGN, IHMSF ) *+ * - - - - - - - - - * i a u _ A 2 T F * - - - - - - - - - * * Decompose radians into hours, minutes, seconds, fraction. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * NDP i resolution (Note 1) * ANGLE d angle in radians * * Returned: * SIGN c '+' or '-' * IHMSF i(4) hours, minutes, seconds, fraction * * Called: * iau_D2TF decompose days to hms * * Notes: * * 1) NDP is interpreted as follows: * * NDP resolution * : ...0000 00 00 * -7 1000 00 00 * -6 100 00 00 * -5 10 00 00 * -4 1 00 00 * -3 0 10 00 * -2 0 01 00 * -1 0 00 10 * 0 0 00 01 * 1 0 00 00.1 * 2 0 00 00.01 * 3 0 00 00.001 * : 0 00 00.000... * * 2) The largest useful value for NDP is determined by the size * of ANGLE, the format of DOUBLE PRECISION floating-point numbers * on the target platform, and the risk of overflowing IHMSF(4). * On a typical platform, for ANGLE up to 2pi, the available * floating-point precision might correspond to NDP=12. However, * the practical limit is typically NDP=9, set by the capacity of * a 32-bit IHMSF(4). * * 3) The absolute value of ANGLE may exceed 2pi. In cases where it * does not, it is up to the caller to test for and handle the * case where ANGLE is very nearly 2pi and rounds up to 24 hours, * by testing for IHMSF(1)=24 and setting IHMSF(1-4) to zero. * * This revision: 2000 November 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE INTEGER NDP DOUBLE PRECISION ANGLE CHARACTER SIGN*(*) INTEGER IHMSF(4) * 2Pi DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Scale then use days to h,m,s routine. CALL iau_D2TF ( NDP, ANGLE/D2PI, SIGN, IHMSF ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_AB ( PNAT, V, S, BM1, PPR ) *+ * - - - - - - - * i a u _ A B * - - - - - - - * * Apply aberration to transform natural direction into proper * direction. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * PNAT d(3) natural direction to the source (unit vector) * V d(3) observer barycentric velocity in units of c * S d distance between the Sun and the observer (au) * BM1 d sqrt(1-|v|^2): reciprocal of Lorenz factor * * Returned: * PPR d(3) proper direction to source (unit vector) * * Notes: * * 1) The algorithm is based on Expr. (7.40) in the Explanatory * Supplement (Urban & Seidelmann 2013), but with the following * changes: * * o Rigorous rather than approximate normalization is applied. * * o The gravitational potential term from Expr. (7) in * Klioner (2003) is added, taking into account only the Sun's * contribution. This has a maximum effect of about * 0.4 microarcsecond. * * 2) In almost all cases, the maximum accuracy will be limited by the * supplied velocity. For example, if the SOFA iau_EPV00 routine is * used, errors of up to 5 microarcseconds could occur. * * References: * * Urban, S. & Seidelmann, P. K. (eds), Explanatory Supplement to * the Astronomical Almanac, 3rd ed., University Science Books * (2013). * * Klioner, Sergei A., "A practical relativistic model for micro- * arcsecond astrometry in space", Astr. J. 125, 1580-1597 (2003). * * Called: * iau_PDP scalar product of two p-vectors * * This revision: 2013 August 31 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION PNAT(3), V(3), S, BM1, PPR(3) * Schwarzschild radius of the Sun (au) * = 2 * 1.32712440041 D20 / (2.99792458 D8)^2 / 1.49597870700 D11 DOUBLE PRECISION SRS PARAMETER ( SRS = 1.97412574336D-08 ) INTEGER I DOUBLE PRECISION PDV, W1, W2, R2, W, P(3), R * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CALL iau_PDP ( PNAT, V, PDV ) W1 = 1D0 + PDV/(1D0+BM1) W2 = SRS / S R2 = 0D0 DO 1 I=1,3 W = PNAT(I)*BM1 + W1*V(I) + W2*(V(I)-PDV*PNAT(I)) P(I) = W R2 = R2 + W*W 1 CONTINUE R = SQRT ( R2 ) DO 2 I=1,3 PPR(I) = P(I) / R 2 CONTINUE * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_AE2HD (AZ, EL, PHI, HA, DEC) *+ * - - - - - - - - - - * i a u _ A E 2 H D * - - - - - - - - - - * * Horizon to equatorial coordinates: transform azimuth and altitude * to hour angle and declination. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * AZ d azimuth * EL d elevation * PHI d observatory latitude * * Returned: * HA d hour angle * DEC d declination * * Notes: * * 1) All the arguments are angles in radians. * * 2) The sign convention for azimuth is north zero, east +pi/2. * * 3) HA is returned in the range +/-pi. Declination is returned in * the range +/-pi/2. * * 4) The latitude PHI is pi/2 minus the angle between the Earth's * rotation axis and the adopted zenith. In many applications it * will be sufficient to use the published geodetic latitude of the * site. In very precise (sub-arcsecond) applications, PHI can be * corrected for polar motion. * * 5) The azimuth AZ must be with respect to the rotational north pole, * as opposed to the ITRS pole, and an azimuth with respect to north * on a map of the Earth's surface will need to be adjusted for * polar motion if sub-arcsecond accuracy is required. * * 6) Should the user wish to work with respect to the astronomical * zenith rather than the geodetic zenith, PHI will need to be * adjusted for deflection of the vertical (often tens of * arcseconds), and the zero point of HA will also be affected. * * 7) The transformation is the same as Ve = Ry(phi-pi/2)*Rz(pi)*Vh, * where Ve and Vh are lefthanded unit vectors in the (ha,dec) and * (az,el) systems respectively and Rz and Ry are rotations about * first the z-axis and then the y-axis. (n.b. Rz(pi) simply * reverses the signs of the x and y components.) For efficiency, * the algorithm is written out rather than calling other utility * functions. For applications that require even greater * efficiency, additional savings are possible if constant terms * such as functions of latitude are computed once and for all. * * 8) Again for efficiency, no range checking of arguments is carried * out. * * Last revision: 2018 January 2 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION AZ, EL, PHI, HA, DEC DOUBLE PRECISION SA, CA, SE, CE, SP, CP, X, Y, Z, R * Useful trig functions. SA = SIN(AZ) CA = COS(AZ) SE = SIN(EL) CE = COS(EL) SP = SIN(PHI) CP = COS(PHI) * Az,Alt unit vector. X = - CA*CE*SP + SE*CP Y = - SA*CE Z = CA*CE*CP + SE*SP * To spherical. R = SQRT(X*X + Y*Y) IF ( R.EQ.0D0 ) THEN HA = 0D0 ELSE HA = ATAN2(Y,X) END IF DEC = ATAN2(Z,R) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_AF2A ( S, IDEG, IAMIN, ASEC, RAD, J ) *+ * - - - - - - - - - * i a u _ A F 2 A * - - - - - - - - - * * Convert degrees, arcminutes, arcseconds to radians. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * S c sign: '-' = negative, otherwise positive * IDEG i degrees * IAMIN i arcminutes * ASEC d arcseconds * * Returned: * RAD d angle in radians * J i status: 0 = OK * 1 = IDEG outside range 0-359 * 2 = IAMIN outside range 0-59 * 3 = ASEC outside range 0-59.999... * * Notes: * * 1) If the s argument is a string, only the leftmost character is * used and no warning status is provided. * * 2) The result is computed even if any of the range checks fail. * * 3) Negative IDEG, IAMIN and/or ASEC produce a warning status, but * the absolute value is used in the conversion. * * 4) If there are multiple errors, the status value reflects only the * first, the smallest taking precedence. * * * This revision: 2013 December 2 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE CHARACTER S INTEGER IDEG, IAMIN DOUBLE PRECISION ASEC, RAD INTEGER J * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) DOUBLE PRECISION W * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Preset the status. J = 0 * Validate arcseconds, arcminutes, degrees. IF ( ASEC.LT.0D0 .OR. ASEC.GE.60D0 ) J=3 IF ( IAMIN.LT.0 .OR. IAMIN.GT.59 ) J=2 IF ( IDEG.LT.0 .OR. IDEG.GT.359 ) J=1 * Compute the angle. W = ( 60D0 * ( 60D0 * DBLE( ABS(IDEG) ) + : DBLE( ABS(IAMIN) ) ) + : ABS(ASEC) ) * DAS2R * Apply the sign. IF ( S .EQ. '-' ) W = -W * Return the result. RAD = W * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_ANP ( A ) *+ * - - - - - - - - * i a u _ A N P * - - - - - - - - * * Normalize angle into the range 0 <= A < 2pi. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * A d angle (radians) * * Returned: * iau_ANP d angle in range 0-2pi * * This revision: 2000 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION A * 2Pi DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) DOUBLE PRECISION W * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - W = MOD(A,D2PI) IF ( W .LT. 0D0 ) W = W + D2PI iau_ANP = W * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_ANPM ( A ) *+ * - - - - - - - - - * i a u _ A N P M * - - - - - - - - - * * Normalize angle into the range -pi <= A < +pi. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * A d angle (radians) * * Returned: * iau_ANPM d angle in range +/-pi * * This revision: 2000 November 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION A * Pi DOUBLE PRECISION DPI PARAMETER ( DPI = 3.141592653589793238462643D0 ) * 2Pi DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) DOUBLE PRECISION W * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - W = MOD(A,D2PI) IF ( ABS(W) .GE. DPI ) W = W - SIGN(D2PI,A) iau_ANPM = W * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_APCG13 ( DATE1, DATE2, ASTROM ) *+ * - - - - - - - - - - - * i a u _ A P C G 1 3 * - - - - - - - - - - - * * For a geocentric observer, prepare star-independent astrometry * parameters for transformations between ICRS and GCRS coordinates. * The caller supplies the date, and SOFA models are used to predict * the Earth ephemeris. * * The parameters produced by this routine are required in the * parallax, light deflection and aberration parts of the astrometric * transformation chain. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1 d TDB as a 2-part... * DATE2 d ...Julian Date (Note 1) * * Returned: * ASTROM d(30) star-independent astrometry parameters: * (1) PM time interval (SSB, Julian years) * (2-4) SSB to observer (vector, au) * (5-7) Sun to observer (unit vector) * (8) distance from Sun to observer (au) * (9-11) v: barycentric observer velocity (vector, c) * (12) sqrt(1-|v|^2): reciprocal of Lorenz factor * (13-21) bias-precession-nutation matrix * (22) unchanged * (23) unchanged * (24) unchanged * (25) unchanged * (26) unchanged * (27) unchanged * (28) unchanged * (29) unchanged * (30) unchanged * * Notes: * * 1) The TDB date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TDB)=2450123.7 could be expressed in any of these ways, among * others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in cases * where the loss of several decimal digits of resolution is * acceptable. The J2000 method is best matched to the way the * argument is handled internally and will deliver the optimum * resolution. The MJD method and the date & time methods are both * good compromises between resolution and convenience. For most * applications of this routine the choice will not be at all * critical. * * TT can be used instead of TDB without any significant impact on * accuracy. * * 2) All the vectors are with respect to BCRS axes. * * 3) In cases where the caller wishes to supply his own Earth * ephemeris, the routine iau_APCG can be used instead of the present * routine. * * 4) This is one of several routines that inserts into the ASTROM * array star-independent parameters needed for the chain of * astrometric transformations ICRS <-> GCRS <-> CIRS <-> observed. * * The various routines support different classes of observer and * portions of the transformation chain: * * routines observer transformation * * iau_APCG iau_APCG13 geocentric ICRS <-> GCRS * iau_APCI iau_APCI13 terrestrial ICRS <-> CIRS * iau_APCO iau_APCO13 terrestrial ICRS <-> observed * iau_APCS iau_APCS13 space ICRS <-> GCRS * iau_APER iau_APER13 terrestrial update Earth rotation * iau_APIO iau_APIO13 terrestrial CIRS <-> observed * * Those with names ending in "13" use contemporary SOFA models to * compute the various ephemerides. The others accept ephemerides * supplied by the caller. * * The transformation from ICRS to GCRS covers space motion, * parallax, light deflection, and aberration. From GCRS to CIRS * comprises frame bias and precession-nutation. From CIRS to * observed takes account of Earth rotation, polar motion, diurnal * aberration and parallax (unless subsumed into the ICRS <-> GCRS * transformation), and atmospheric refraction. * * 5) The context array ASTROM produced by this routine is used by * iau_ATCIQ* and iau_ATICQ*. * * Called: * iau_EPV00 Earth position and velocity * iau_APCG astrometry parameters, ICRS-GCRS, geocenter * * This revision: 2017 March 12 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, ASTROM(30) INTEGER J DOUBLE PRECISION EHPV(3,2), EBPV(3,2) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Earth barycentric & heliocentric position/velocity (au, au/d). CALL iau_EPV00 ( DATE1, DATE2, EHPV, EBPV, J ) * Compute the star-independent astrometry parameters. CALL iau_APCG ( DATE1, DATE2, EBPV, EHPV, ASTROM ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_APCG ( DATE1, DATE2, EBPV, EHP, ASTROM ) *+ * - - - - - - - - - * i a u _ A P C G * - - - - - - - - - * * For a geocentric observer, prepare star-independent astrometry * parameters for transformations between ICRS and GCRS coordinates. * The Earth ephemeris is supplied by the caller. * * The parameters produced by this routine are required in the parallax, * light deflection and aberration parts of the astrometric * transformation chain. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1 d TDB as a 2-part... * DATE2 d ...Julian Date (Note 1) * EBPV d(3,2) Earth barycentric position/velocity (au, au/day) * EHP d(3) Earth heliocentric position (au) * * Returned: * ASTROM d(30) star-independent astrometry parameters: * (1) PM time interval (SSB, Julian years) * (2-4) SSB to observer (vector, au) * (5-7) Sun to observer (unit vector) * (8) distance from Sun to observer (au) * (9-11) v: barycentric observer velocity (vector, c) * (12) sqrt(1-|v|^2): reciprocal of Lorenz factor * (13-21) bias-precession-nutation matrix * (22) unchanged * (23) unchanged * (24) unchanged * (25) unchanged * (26) unchanged * (27) unchanged * (28) unchanged * (29) unchanged * (30) unchanged * * Notes: * * 1) The TDB date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TDB)=2450123.7 could be expressed in any of these ways, among * others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in cases * where the loss of several decimal digits of resolution is * acceptable. The J2000 method is best matched to the way the * argument is handled internally and will deliver the optimum * resolution. The MJD method and the date & time methods are both * good compromises between resolution and convenience. For most * applications of this routine the choice will not be at all * critical. * * TT can be used instead of TDB without any significant impact on * accuracy. * * 2) All the vectors are with respect to BCRS axes. * * 3) This is one of several routines that inserts into the ASTROM * array star-independent parameters needed for the chain of * astrometric transformations ICRS <-> GCRS <-> CIRS <-> observed. * * The various routines support different classes of observer and * portions of the transformation chain: * * routines observer transformation * * iau_APCG iau_APCG13 geocentric ICRS <-> GCRS * iau_APCI iau_APCI13 terrestrial ICRS <-> CIRS * iau_APCO iau_APCO13 terrestrial ICRS <-> observed * iau_APCS iau_APCS13 space ICRS <-> GCRS * iau_APER iau_APER13 terrestrial update Earth rotation * iau_APIO iau_APIO13 terrestrial CIRS <-> observed * * Those with names ending in "13" use contemporary SOFA models to * compute the various ephemerides. The others accept ephemerides * supplied by the caller. * * The transformation from ICRS to GCRS covers space motion, * parallax, light deflection, and aberration. From GCRS to CIRS * comprises frame bias and precession-nutation. From CIRS to * observed takes account of Earth rotation, polar motion, diurnal * aberration and parallax (unless subsumed into the ICRS <-> GCRS * transformation), and atmospheric refraction. * * 4) The context array ASTROM produced by this routine is used by * iau_ATCIQ* and iau_ATICQ*. * * Called: * iau_ZPV zero pv-vector * iau_APCS astrometry parameters, ICRS-GCRS, space observer * * This revision: 2017 March 12 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, EBPV(3,2), EHP(3), ASTROM(30) DOUBLE PRECISION PV(3,2) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Geocentric observer. CALL iau_ZPV ( PV ) * Compute the star-independent astrometry parameters. CALL iau_APCS ( DATE1, DATE2, PV, EBPV, EHP, ASTROM ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_APCI13 ( DATE1, DATE2, ASTROM, EO ) *+ * - - - - - - - - - - - * i a u _ A P C I 1 3 * - - - - - - - - - - - * * For a terrestrial observer, prepare star-independent astrometry * parameters for transformations between ICRS and geocentric CIRS * coordinates. The caller supplies the date, and SOFA models are * used to predict the Earth ephemeris and CIP/CIO. * * The parameters produced by this routine are required in the parallax, * light deflection, aberration, and bias-precession-nutation parts of * the astrometric transformation chain. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1 d TDB as a 2-part... * DATE2 d ...Julian Date (Note 1) * * Returned: * ASTROM d(30) star-independent astrometry parameters: * (1) PM time interval (SSB, Julian years) * (2-4) SSB to observer (vector, au) * (5-7) Sun to observer (unit vector) * (8) distance from Sun to observer (au) * (9-11) v: barycentric observer velocity (vector, c) * (12) sqrt(1-|v|^2): reciprocal of Lorenz factor * (13-21) bias-precession-nutation matrix * (22) unchanged * (23) unchanged * (24) unchanged * (25) unchanged * (26) unchanged * (27) unchanged * (28) unchanged * (29) unchanged * (30) unchanged * EO d equation of the origins (ERA-GST) * * Notes: * * 1) The TDB date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TDB)=2450123.7 could be expressed in any of these ways, among * others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in cases * where the loss of several decimal digits of resolution is * acceptable. The J2000 method is best matched to the way the * argument is handled internally and will deliver the optimum * resolution. The MJD method and the date & time methods are both * good compromises between resolution and convenience. For most * applications of this routine the choice will not be at all * critical. * * TT can be used instead of TDB without any significant impact on * accuracy. * * 2) All the vectors are with respect to BCRS axes. * * 3) In cases where the caller wishes to supply his own Earth * ephemeris and CIP/CIO, the routine iau_APCI can be used instead of * the present routine. * * 4) This is one of several routines that inserts into the ASTROM * array star-independent parameters needed for the chain of * astrometric transformations ICRS <-> GCRS <-> CIRS <-> observed. * * The various routines support different classes of observer and * portions of the transformation chain: * * routines observer transformation * * iau_APCG iau_APCG13 geocentric ICRS <-> GCRS * iau_APCI iau_APCI13 terrestrial ICRS <-> CIRS * iau_APCO iau_APCO13 terrestrial ICRS <-> observed * iau_APCS iau_APCS13 space ICRS <-> GCRS * iau_APER iau_APER13 terrestrial update Earth rotation * iau_APIO iau_APIO13 terrestrial CIRS <-> observed * * Those with names ending in "13" use contemporary SOFA models to * compute the various ephemerides. The others accept ephemerides * supplied by the caller. * * The transformation from ICRS to GCRS covers space motion, * parallax, light deflection, and aberration. From GCRS to CIRS * comprises frame bias and precession-nutation. From CIRS to * observed takes account of Earth rotation, polar motion, diurnal * aberration and parallax (unless subsumed into the ICRS <-> GCRS * transformation), and atmospheric refraction. * * 5) The context array ASTROM produced by this routine is used by * iau_ATCIQ* and iau_ATICQ*. * * Called: * iau_EPV00 Earth position and velocity * iau_PNM06A classical NPB matrix, IAU 2006/2000A * iau_BPN2XY extract CIP X,Y coordinates from NPB matrix * iau_S06 the CIO locator s, given X,Y, IAU 2006 * iau_APCI astrometry parameters, ICRS-CIRS * iau_EORS equation of the origins, given NPB matrix and s * * This revision: 2017 March 12 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, ASTROM(30), EO INTEGER J DOUBLE PRECISION PVH(3,2), PVB(3,2), R(3,3), X, Y, S DOUBLE PRECISION iau_S06, iau_EORS * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Earth barycentric & heliocentric position/velocity (au, au/d). CALL iau_EPV00 ( DATE1, DATE2, PVH, PVB, J ) * Form the equinox based BPN matrix, IAU 2006/2000A. CALL iau_PNM06A ( DATE1, DATE2, R ) * Extract CIP X,Y. CALL iau_BPN2XY ( R, X, Y ) * Obtain CIO locator s. S = iau_S06 ( DATE1, DATE2, X, Y ) * Compute the star-independent astrometry parameters. CALL iau_APCI ( DATE1, DATE2, PVB, PVH, X, Y, S, ASTROM ) * Equation of the origins. EO = iau_EORS ( R, S ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_APCI ( DATE1, DATE2, EBPV, EHP, X, Y, S, ASTROM ) *+ * - - - - - - - - - * i a u _ A P C I * - - - - - - - - - * * For a terrestrial observer, prepare star-independent astrometry * parameters for transformations between ICRS and geocentric CIRS * coordinates. The Earth ephemeris and CIP/CIO are supplied by the * caller. * * The parameters produced by this routine are required in the parallax, * light deflection, aberration, and bias-precession-nutation parts of * the astrometric transformation chain. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1 d TDB as a 2-part... * DATE2 d ...Julian Date (Note 1) * EBPV d(3,2) Earth barycentric position/velocity (au, au/day) * EHP d(3) Earth heliocentric position (au) * X,Y d CIP X,Y (components of unit vector) * S d the CIO locator s (radians) * * Returned: * ASTROM d(30) star-independent astrometry parameters: * (1) PM time interval (SSB, Julian years) * (2-4) SSB to observer (vector, au) * (5-7) Sun to observer (unit vector) * (8) distance from Sun to observer (au) * (9-11) v: barycentric observer velocity (vector, c) * (12) sqrt(1-|v|^2): reciprocal of Lorenz factor * (13-21) bias-precession-nutation matrix * (22) unchanged * (23) unchanged * (24) unchanged * (25) unchanged * (26) unchanged * (27) unchanged * (28) unchanged * (29) unchanged * (30) unchanged * * Notes: * * 1) The TDB date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TDB)=2450123.7 could be expressed in any of these ways, among * others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in cases * where the loss of several decimal digits of resolution is * acceptable. The J2000 method is best matched to the way the * argument is handled internally and will deliver the optimum * resolution. The MJD method and the date & time methods are both * good compromises between resolution and convenience. For most * applications of this routine the choice will not be at all * critical. * * TT can be used instead of TDB without any significant impact on * accuracy. * * 2) All the vectors are with respect to BCRS axes. * * 3) In cases where the caller does not wish to provide the Earth * ephemeris and CIP/CIO, the routine iau_APCI13 can be used instead * of the present routine. This computes the required quantities * using other SOFA routines. * * 4) This is one of several routines that inserts into the ASTROM * array star-independent parameters needed for the chain of * astrometric transformations ICRS <-> GCRS <-> CIRS <-> observed. * * The various routines support different classes of observer and * portions of the transformation chain: * * routines observer transformation * * iau_APCG iau_APCG13 geocentric ICRS <-> GCRS * iau_APCI iau_APCI13 terrestrial ICRS <-> CIRS * iau_APCO iau_APCO13 terrestrial ICRS <-> observed * iau_APCS iau_APCS13 space ICRS <-> GCRS * iau_APER iau_APER13 terrestrial update Earth rotation * iau_APIO iau_APIO13 terrestrial CIRS <-> observed * * Those with names ending in "13" use contemporary SOFA models to * compute the various ephemerides. The others accept ephemerides * supplied by the caller. * * The transformation from ICRS to GCRS covers space motion, * parallax, light deflection, and aberration. From GCRS to CIRS * comprises frame bias and precession-nutation. From CIRS to * observed takes account of Earth rotation, polar motion, diurnal * aberration and parallax (unless subsumed into the ICRS <-> GCRS * transformation), and atmospheric refraction. * * 5) The context array ASTROM produced by this routine is used by * iau_ATCIQ* and iau_ATICQ*. * * Called: * iau_APCG astrometry parameters, ICRS-GCRS, geocenter * iau_C2IXYS celestial-to-intermediate matrix, given X,Y and s * * This revision: 2017 March 12 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, EBPV(3,2), EHP(3), X, Y, S, : ASTROM(30) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Star-independent astrometry parameters for geocenter. CALL iau_APCG ( DATE1, DATE2, EBPV, EHP, ASTROM ) * CIO based BPN matrix. CALL iau_C2IXYS ( X, Y, S, ASTROM(13) ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_APCO13 ( UTC1, UTC2, DUT1, ELONG, PHI, HM, XP, YP, : PHPA, TC, RH, WL, ASTROM, EO, J ) *+ * - - - - - - - - - - - * i a u _ A P C O 1 3 * - - - - - - - - - - - * * For a terrestrial observer, prepare star-independent astrometry * parameters for transformations between ICRS and observed coordinates. * The caller supplies UTC, site coordinates, ambient air conditions and * observing wavelength, and SOFA models are used to obtain the Earth * ephemeris, CIP/CIO and refraction constants. * * The parameters produced by this routine are required in the parallax, * light deflection, aberration, and bias-precession-nutation parts of * the ICRS/CIRS transformations. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * UTC1 d UTC as a 2-part... * UTC2 d ...quasi Julian Date (Notes 1,2) * DUT1 d UT1-UTC (seconds, Note 3) * ELONG d longitude (radians, east +ve, Note 4) * PHI d latitude (geodetic, radians, Note 4) * HM d height above ellipsoid (m, geodetic, Notes 4,6) * XP,YP d polar motion coordinates (radians, Note 5) * PHPA d pressure at the observer (hPa = mB, Note 6) * TC d ambient temperature at the observer (deg C) * RH d relative humidity at the observer (range 0-1) * WL d wavelength (micrometers, Note 7) * * Returned: * ASTROM d(30) star-independent astrometry parameters: * (1) PM time interval (SSB, Julian years) * (2-4) SSB to observer (vector, au) * (5-7) Sun to observer (unit vector) * (8) distance from Sun to observer (au) * (9-11) v: barycentric observer velocity (vector, c) * (12) sqrt(1-|v|^2): reciprocal of Lorenz factor * (13-21) bias-precession-nutation matrix * (22) longitude + s' (radians) * (23) polar motion xp wrt local meridian (radians) * (24) polar motion yp wrt local meridian (radians) * (25) sine of geodetic latitude * (26) cosine of geodetic latitude * (27) magnitude of diurnal aberration vector * (28) "local" Earth rotation angle (radians) * (29) refraction constant A (radians) * (30) refraction constant B (radians) * EO d equation of the origins (ERA-GST) * J i status: +1 = dubious year (Note 2) * 0 = OK * -1 = unacceptable date * * Notes: * * 1) UTC1+UTC2 is quasi Julian Date (see Note 2), apportioned in any * convenient way between the two arguments, for example where UTC1 * is the Julian Day Number and UTC2 is the fraction of a day. * * However, JD cannot unambiguously represent UTC during a leap * second unless special measures are taken. The convention in the * present routine is that the JD day represents UTC days whether * the length is 86399, 86400 or 86401 SI seconds. * * Applications should use the routine iau_DTF2D to convert from * calendar date and time of day into 2-part quasi Julian Date, as * it implements the leap-second-ambiguity convention just * described. * * 2) The warning status "dubious year" flags UTCs that predate the * introduction of the time scale or that are too far in the * future to be trusted. See iau_DAT for further details. * * 3) UT1-UTC is tabulated in IERS bulletins. It increases by exactly * one second at the end of each positive UTC leap second, * introduced in order to keep UT1-UTC within +/- 0.9s. n.b. This * practice is under review, and in the future UT1-UTC may grow * essentially without limit. * * 4) The geographical coordinates are with respect to the WGS84 * reference ellipsoid. TAKE CARE WITH THE LONGITUDE SIGN: the * longitude required by the present routine is east-positive * (i.e. right-handed), in accordance with geographical convention. * * 5) The polar motion XP,YP can be obtained from IERS bulletins. The * values are the coordinates (in radians) of the Celestial * Intermediate Pole with respect to the International Terrestrial * Reference System (see IERS Conventions 2003), measured along the * meridians 0 and 90 deg west respectively. For many applications, * XP and YP can be set to zero. * * Internally, the polar motion is stored in a form rotated onto * the local meridian. * * 6) If hm, the height above the ellipsoid of the observing station * in meters, is not known but phpa, the pressure in hPa (=mB), is * available, an adequate estimate of hm can be obtained from the * expression * * hm = -29.3 * tsl * log ( phpa / 1013.25 ); * * where tsl is the approximate sea-level air temperature in K * (See Astrophysical Quantities, C.W.Allen, 3rd edition, section * 52). Similarly, if the pressure phpa is not known, it can be * estimated from the height of the observing station, hm, as * follows: * * phpa = 1013.25 * exp ( -hm / ( 29.3 * tsl ) ); * * Note, however, that the refraction is nearly proportional to * the pressure and that an accurate phpa value is important for * precise work. * * 7) The argument WL specifies the observing wavelength in * micrometers. The transition from optical to radio is assumed to * occur at 100 micrometers (about 3000 GHz). * * 8) It is advisable to take great care with units, as even unlikely * values of the input parameters are accepted and processed in * accordance with the models used. * * 9) In cases where the caller wishes to supply his own Earth * ephemeris, Earth rotation information and refraction constants, * the routine iau_APCO can be used instead of the present routine. * * 10) This is one of several routines that inserts into the ASTROM * array star-independent parameters needed for the chain of * astrometric transformations ICRS <-> GCRS <-> CIRS <-> observed. * * The various routines support different classes of observer and * portions of the transformation chain: * * routines observer transformation * * iau_APCG iau_APCG13 geocentric ICRS <-> GCRS * iau_APCI iau_APCI13 terrestrial ICRS <-> CIRS * iau_APCO iau_APCO13 terrestrial ICRS <-> observed * iau_APCS iau_APCS13 space ICRS <-> GCRS * iau_APER iau_APER13 terrestrial update Earth rotation * iau_APIO iau_APIO13 terrestrial CIRS <-> observed * * Those with names ending in "13" use contemporary SOFA models to * compute the various ephemerides. The others accept ephemerides * supplied by the caller. * * The transformation from ICRS to GCRS covers space motion, * parallax, light deflection, and aberration. From GCRS to CIRS * comprises frame bias and precession-nutation. From CIRS to * observed takes account of Earth rotation, polar motion, diurnal * aberration and parallax (unless subsumed into the ICRS <-> GCRS * transformation), and atmospheric refraction. * * 11) The context array ASTROM produced by this routine is used by * iau_ATIOQ, iau_ATOIQ, iau_ATCIQ* and iau_ATICQ*. * * Called: * iau_UTCTAI UTC to TAI * iau_TAITT TAI to TT * iau_UTCUT1 UTC to UT1 * iau_EPV00 Earth position and velocity * iau_PNM06A classical NPB matrix, IAU 2006/2000A * iau_BPN2XY extract CIP X,Y coordinates from NPB matrix * iau_S06 the CIO locator s, given X,Y, IAU 2006 * iau_ERA00 Earth rotation angle, IAU 2000 * iau_SP00 the TIO locator s', IERS 2000 * iau_REFCO refraction constants for given ambient conditions * iau_APCO astrometry parameters, ICRS-observed * iau_EORS equation of the origins, given NPB matrix and s * * This revision: 2013 December 5 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION UTC1, UTC2, DUT1, ELONG, PHI, HM, XP, YP, : PHPA, TC, RH, WL, ASTROM(30), EO INTEGER J INTEGER JS, JW DOUBLE PRECISION TAI1, TAI2, TT1, TT2, UT11, UT12, : EHPV(3,2), EBPV(3,2), R(3,3), X, Y, S, THETA, : SP, REFA, REFB DOUBLE PRECISION iau_S06, iau_ERA00, iau_SP00, iau_EORS * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * UTC to other time scales. CALL iau_UTCTAI ( UTC1, UTC2, TAI1, TAI2, JS ) IF ( JS.LT.0 ) GO TO 9 CALL iau_TAITT ( TAI1, TAI2, TT1, TT2, JS ) CALL iau_UTCUT1 ( UTC1, UTC2, DUT1, UT11, UT12, JS ) IF ( JS.LT.0 ) GO TO 9 * Earth barycentric & heliocentric position/velocity (au, au/d). CALL iau_EPV00 ( TT1, TT2, EHPV, EBPV, JW ) * Form the equinox based BPN matrix, IAU 2006/2000A. CALL iau_PNM06A ( TT1, TT2, R ) * Extract CIP X,Y. CALL iau_BPN2XY ( R, X, Y ) * Obtain CIO locator s. S = iau_S06 ( TT1, TT2, X, Y ) * Earth rotation angle. THETA = iau_ERA00 ( UT11, UT12 ) * TIO locator s'. SP = iau_SP00 ( TT1, TT2 ) * Refraction constants A and B. CALL iau_REFCO ( PHPA, TC, RH, WL, REFA, REFB ) * Compute the star-independent astrometry parameters. CALL iau_APCO ( TT1, TT2, EBPV, EHPV, X, Y, S, THETA, : ELONG, PHI, HM, XP, YP, SP, REFA, REFB, : ASTROM ) * Equation of the origins. EO = iau_EORS ( R, S ) * Return the status. 9 CONTINUE J = JS * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_APCO ( DATE1, DATE2, EBPV, EHP, X, Y, S, : THETA, ELONG, PHI, HM, XP, YP, SP, : REFA, REFB, ASTROM ) *+ * - - - - - - - - - * i a u _ A P C O * - - - - - - - - - * * For a terrestrial observer, prepare star-independent astrometry * parameters for transformations between ICRS and observed coordinates. * The caller supplies the Earth ephemeris, the Earth rotation * information and the refraction constants as well as the site * coordinates. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1 d TDB as a 2-part... * DATE2 d ...Julian Date (Note 1) * EBPV d(3,2) Earth barycentric pos/vel (au, au/day, Note 2) * EHP d(3) Earth heliocentric position (au, Note 2) * X,Y d CIP X,Y (components of unit vector) * S d the CIO locator s (radians) * THETA d Earth rotation angle (radians) * ELONG d longitude (radians, east +ve, Note 3) * PHI d latitude (geodetic, radians, Note 3) * HM d height above ellipsoid (m, geodetic, Note 3) * XP,YP d polar motion coordinates (radians, Note 4) * SP d the TIO locator s' (radians, Note 4) * REFA d refraction constant A (radians, Note 5) * REFB d refraction constant B (radians, Note 5) * * Returned: * ASTROM d(30) star-independent astrometry parameters: * (1) PM time interval (SSB, Julian years) * (2-4) SSB to observer (vector, au) * (5-7) Sun to observer (unit vector) * (8) distance from Sun to observer (au) * (9-11) v: barycentric observer velocity (vector, c) * (12) sqrt(1-|v|^2): reciprocal of Lorenz factor * (13-21) bias-precession-nutation matrix * (22) longitude + s' (radians) * (23) polar motion xp wrt local meridian (radians) * (24) polar motion yp wrt local meridian (radians) * (25) sine of geodetic latitude * (26) cosine of geodetic latitude * (27) magnitude of diurnal aberration vector * (28) "local" Earth rotation angle (radians) * (29) refraction constant A (radians) * (30) refraction constant B (radians) * * Notes: * * 1) The TDB date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TDB)=2450123.7 could be expressed in any of these ways, among * others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in cases * where the loss of several decimal digits of resolution is * acceptable. The J2000 method is best matched to the way the * argument is handled internally and will deliver the optimum * resolution. The MJD method and the date & time methods are both * good compromises between resolution and convenience. For most * applications of this routine the choice will not be at all * critical. * * TT can be used instead of TDB without any significant impact on * accuracy. * * 2) The vectors EB, EH, and all the ASTROM vectors, are with respect * to BCRS axes. * * 3) The geographical coordinates are with respect to the WGS84 * reference ellipsoid. TAKE CARE WITH THE LONGITUDE SIGN * CONVENTION: the longitude required by the present routine is * right-handed, i.e. east-positive, in accordance with geographical * convention. * * 4) XP and YP are the coordinates (in radians) of the Celestial * Intermediate Pole with respect to the International Terrestrial * Reference System (see IERS Conventions), measured along the * meridians 0 and 90 deg west respectively. SP is the TIO locator * s', in radians, which positions the Terrestrial Intermediate * Origin on the equator. For many applications, XP, YP and * (especially) SP can be set to zero. * * Internally, the polar motion is stored in a form rotated onto the * local meridian. * * 5) The refraction constants REFA and REFB are for use in a * dZ = A*tan(Z)+B*tan^3(Z) model, where Z is the observed * (i.e. refracted) zenith distance and dZ is the amount of * refraction. * * 6) It is advisable to take great care with units, as even unlikely * values of the input parameters are accepted and processed in * accordance with the models used. * * 7) In cases where the caller does not wish to provide the Earth * Ephemeris, the Earth rotation information and refraction * constants, the routine iau_APCO13 can be used instead of the * present routine. This starts from UTC and weather readings etc. * and computes suitable values using other SOFA routines. * * 8) This is one of several routines that inserts into the ASTROM * array star-independent parameters needed for the chain of * astrometric transformations ICRS <-> GCRS <-> CIRS <-> observed. * * The various routines support different classes of observer and * portions of the transformation chain: * * routines observer transformation * * iau_APCG iau_APCG13 geocentric ICRS <-> GCRS * iau_APCI iau_APCI13 terrestrial ICRS <-> CIRS * iau_APCO iau_APCO13 terrestrial ICRS <-> observed * iau_APCS iau_APCS13 space ICRS <-> GCRS * iau_APER iau_APER13 terrestrial update Earth rotation * iau_APIO iau_APIO13 terrestrial CIRS <-> observed * * Those with names ending in "13" use contemporary SOFA models to * compute the various ephemerides. The others accept ephemerides * supplied by the caller. * * The transformation from ICRS to GCRS covers space motion, * parallax, light deflection, and aberration. From GCRS to CIRS * comprises frame bias and precession-nutation. From CIRS to * observed takes account of Earth rotation, polar motion, diurnal * aberration and parallax (unless subsumed into the ICRS <-> GCRS * transformation), and atmospheric refraction. * * 9) The context array ASTROM produced by this routine is used by * iau_ATIOQ, iau_ATOIQ, iau_ATCIQ*, and iau_ATICQ*. * * Called: * iau_APER astrometry parameters: update ERA * iau_C2IXYS celestial-to-intermediate matrix, given X,Y and s * iau_PVTOB position/velocity of terrestrial station * iau_TRXPV product of transpose of r-matrix and pv-vector * iau_APCS astrometry parameters, ICRS-GCRS, space observer * iau_CR copy r-matrix * * This revision: 2017 March 12 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, EBPV(3,2), EHP(3), X, Y, S, : THETA, ELONG, PHI, HM, XP, YP, SP, REFA, REFB, : ASTROM(30) DOUBLE PRECISION SL, CL, R(3,3), PVC(3,2), PV(3,2) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Longitude with adjustment for TIO locator s'. ASTROM(22) = ELONG + SP * Polar motion, rotated onto the local meridian. SL = SIN(ASTROM(22)) CL = COS(ASTROM(22)) ASTROM(23) = XP*CL - YP*SL ASTROM(24) = XP*SL + YP*CL * Functions of latitude. ASTROM(25) = SIN(PHI) ASTROM(26) = COS(PHI) * Refraction constants. ASTROM(29) = REFA ASTROM(30) = REFB * Local Earth rotation angle. CALL iau_APER ( THETA, ASTROM ) * Disable the (redundant) diurnal aberration step. ASTROM(27) = 0D0 * CIO based BPN matrix. CALL iau_C2IXYS ( X, Y, S, R ) * Observer's geocentric position and velocity (m, m/s, CIRS). CALL iau_PVTOB ( ELONG, PHI, HM, XP, YP, SP, THETA, PVC ) * Rotate into GCRS. CALL iau_TRXPV ( R, PVC, PV ) * ICRS <-> GCRS parameters. CALL iau_APCS ( DATE1, DATE2, PV, EBPV, EHP, ASTROM ) * Store the CIO based BPN matrix. CALL iau_CR ( R, ASTROM(13) ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_APCS13 ( DATE1, DATE2, PV, ASTROM ) *+ * - - - - - - - - - - - * i a u _ A P C S 1 3 * - - - - - - - - - - - * * For an observer whose geocentric position and velocity are known, * prepare star-independent astrometry parameters for transformations * between ICRS and GCRS. The Earth ephemeris is from SOFA models. * * The parameters produced by this routine are required in the space * motion, parallax, light deflection and aberration parts of the * astrometric transformation chain. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1 d TDB as a 2-part... * DATE2 d ...Julian Date (Note 1) * PV d(3,2) observer's geocentric pos/vel (Note 3) * * Returned: * ASTROM d(30) star-independent astrometry parameters: * (1) PM time interval (SSB, Julian years) * (2-4) SSB to observer (vector, au) * (5-7) Sun to observer (unit vector) * (8) distance from Sun to observer (au) * (9-11) v: barycentric observer velocity (vector, c) * (12) sqrt(1-|v|^2): reciprocal of Lorenz factor * (13-21) bias-precession-nutation matrix * (22) unchanged * (23) unchanged * (24) unchanged * (25) unchanged * (26) unchanged * (27) unchanged * (28) unchanged * (29) unchanged * (30) unchanged * * Notes: * * 1) The TDB date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TDB)=2450123.7 could be expressed in any of these ways, among * others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in cases * where the loss of several decimal digits of resolution is * acceptable. The J2000 method is best matched to the way the * argument is handled internally and will deliver the optimum * resolution. The MJD method and the date & time methods are both * good compromises between resolution and convenience. For most * applications of this routine the choice will not be at all * critical. * * TT can be used instead of TDB without any significant impact on * accuracy. * * 2) All the vectors are with respect to BCRS axes. * * 3) The observer's position and velocity PV are geocentric but with * respect to BCRS axes, and in units of m and m/s. No assumptions * are made about proximity to the Earth, and the routine can be * used for deep space applications as well as Earth orbit and * terrestrial. * * 4) In cases where the caller wishes to supply his own Earth * ephemeris, the routine iau_APCS can be used instead of the present * routine. * * 5) This is one of several routines that inserts into the ASTROM * array star-independent parameters needed for the chain of * astrometric transformations ICRS <-> GCRS <-> CIRS <-> observed. * * The various routines support different classes of observer and * portions of the transformation chain: * * routines observer transformation * * iau_APCG iau_APCG13 geocentric ICRS <-> GCRS * iau_APCI iau_APCI13 terrestrial ICRS <-> CIRS * iau_APCO iau_APCO13 terrestrial ICRS <-> observed * iau_APCS iau_APCS13 space ICRS <-> GCRS * iau_APER iau_APER13 terrestrial update Earth rotation * iau_APIO iau_APIO13 terrestrial CIRS <-> observed * * Those with names ending in "13" use contemporary SOFA models to * compute the various ephemerides. The others accept ephemerides * supplied by the caller. * * The transformation from ICRS to GCRS covers space motion, * parallax, light deflection, and aberration. From GCRS to CIRS * comprises frame bias and precession-nutation. From CIRS to * observed takes account of Earth rotation, polar motion, diurnal * aberration and parallax (unless subsumed into the ICRS <-> GCRS * transformation), and atmospheric refraction. * * 6) The context array ASTROM produced by this routine is used by * iau_ATCIQ* and iau_ATICQ*. * * Called: * iau_EPV00 Earth position and velocity * iau_APCS astrometry parameters, ICRS-GCRS, space observer * * This revision: 2017 March 12 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, PV(3,2), ASTROM(30) INTEGER J DOUBLE PRECISION EHPV(3,2), EBPV(3,2) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Earth barycentric & heliocentric position/velocity (au, au/d). CALL iau_EPV00 ( DATE1, DATE2, EHPV, EBPV, J ) * Compute the star-independent astrometry parameters. CALL iau_APCS ( DATE1, DATE2, PV, EBPV, EHPV, ASTROM ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_APCS ( DATE1, DATE2, PV, EBPV, EHP, ASTROM ) *+ * - - - - - - - - - * i a u _ A P C S * - - - - - - - - - * * For an observer whose geocentric position and velocity are known, * prepare star-independent astrometry parameters for transformations * between ICRS and GCRS. The Earth ephemeris is supplied by the * caller. * * The parameters produced by this routine are required in the space * motion, parallax, light deflection and aberration parts of the * astrometric transformation chain. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1 d TDB as a 2-part... * DATE2 d ...Julian Date (Note 1) * PV d(3,2) observer's geocentric pos/vel (m, m/s) * EBPV d(3,2) Earth barycentric position/velocity (au, au/day) * EHP d(3) Earth heliocentric position (au) * * Returned: * ASTROM d(30) star-independent astrometry parameters: * (1) PM time interval (SSB, Julian years) * (2-4) SSB to observer (vector, au) * (5-7) Sun to observer (unit vector) * (8) distance from Sun to observer (au) * (9-11) v: barycentric observer velocity (vector, c) * (12) sqrt(1-|v|^2): reciprocal of Lorenz factor * (13-21) bias-precession-nutation matrix * (22) unchanged * (23) unchanged * (24) unchanged * (25) unchanged * (26) unchanged * (27) unchanged * (28) unchanged * (29) unchanged * (30) unchanged * * Notes: * * 1) The TDB date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TDB)=2450123.7 could be expressed in any of these ways, among * others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in cases * where the loss of several decimal digits of resolution is * acceptable. The J2000 method is best matched to the way the * argument is handled internally and will deliver the optimum * resolution. The MJD method and the date & time methods are both * good compromises between resolution and convenience. For most * applications of this routine the choice will not be at all * critical. * * TT can be used instead of TDB without any significant impact on * accuracy. * * 2) All the vectors are with respect to BCRS axes. * * 3) Providing separate arguments for (i) the observer's geocentric * position and velocity and (ii) the Earth ephemeris is done for * convenience in the geocentric, terrestrial and Earth orbit cases. * For deep space applications it maybe more convenient to specify * zero geocentric position and velocity and to supply the * observer's position and velocity information directly instead of * with respect to the Earth. However, note the different units: * m and m/s for the geocentric vectors, au and au/day for the * heliocentric and barycentric vectors. * * 4) In cases where the caller does not wish to provide the Earth * ephemeris, the routine iau_APCS13 can be used instead of the * present routine. This computes the Earth ephemeris using the * SOFA routine iau_EPV00. * * 5) This is one of several routines that inserts into the ASTROM * array star-independent parameters needed for the chain of * astrometric transformations ICRS <-> GCRS <-> CIRS <-> observed. * * The various routines support different classes of observer and * portions of the transformation chain: * * routines observer transformation * * iau_APCG iau_APCG13 geocentric ICRS <-> GCRS * iau_APCI iau_APCI13 terrestrial ICRS <-> CIRS * iau_APCO iau_APCO13 terrestrial ICRS <-> observed * iau_APCS iau_APCS13 space ICRS <-> GCRS * iau_APER iau_APER13 terrestrial update Earth rotation * iau_APIO iau_APIO13 terrestrial CIRS <-> observed * * Those with names ending in "13" use contemporary SOFA models to * compute the various ephemerides. The others accept ephemerides * supplied by the caller. * * The transformation from ICRS to GCRS covers space motion, * parallax, light deflection, and aberration. From GCRS to CIRS * comprises frame bias and precession-nutation. From CIRS to * observed takes account of Earth rotation, polar motion, diurnal * aberration and parallax (unless subsumed into the ICRS <-> GCRS * transformation), and atmospheric refraction. * * 6) The context array ASTROM produced by this routine is used by * iau_ATCIQ* and iau_ATICQ*. * * Called: * iau_CP copy p-vector * iau_PM modulus of p-vector * iau_PN decompose p-vector into modulus and direction * iau_IR initialize r-matrix to identity * * This revision: 2017 March 16 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, PV(3,2), EBPV(3,2), EHP(3), : ASTROM(30) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian year DOUBLE PRECISION DJY PARAMETER ( DJY = 365.25D0 ) * Seconds per day DOUBLE PRECISION DAYSEC PARAMETER ( DAYSEC = 86400D0 ) * Speed of light (m/s) DOUBLE PRECISION CMPS PARAMETER ( CMPS = 299792458D0 ) * Astronomical unit (m, IAU 2012) DOUBLE PRECISION AUM PARAMETER ( AUM = 149597870.7D3 ) * Light time for 1 au (s) DOUBLE PRECISION AULT PARAMETER ( AULT = AUM/CMPS ) * au/d to m/s DOUBLE PRECISION AUDMS PARAMETER ( AUDMS = AUM/DAYSEC ) * Light time for 1 au (day) DOUBLE PRECISION CR PARAMETER ( CR = AULT/DAYSEC ) INTEGER I DOUBLE PRECISION DP, DV, PB(3), VB(3), PH(3), V2, W * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Time since reference epoch, years (for proper motion calculation). ASTROM(1) = ( ( DATE1 - DJ00 ) + DATE2 ) / DJY * Adjust Earth ephemeris to observer. DO 1 I=1,3 DP = PV(I,1) / AUM DV = PV(I,2) / AUDMS PB(I) = EBPV(I,1) + DP VB(I) = EBPV(I,2) + DV PH(I) = EHP(I) + DP 1 CONTINUE * Barycentric position of observer (au). CALL iau_CP ( PB, ASTROM(2) ) * Heliocentric direction and distance (unit vector and au). CALL iau_PN ( PH, ASTROM(8), ASTROM(5) ) * Barycentric vel. in units of c, and reciprocal of Lorenz factor. V2 = 0D0 DO 3 I=1,3 W = VB(I) * CR ASTROM(8+I) = W V2 = V2 + W*W 3 CONTINUE ASTROM(12) = SQRT ( 1D0 - V2 ) * Reset the NPB matrix. CALL iau_IR ( ASTROM(13) ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_APER13 ( UT11, UT12, ASTROM ) *+ * - - - - - - - - - - - * i a u _ A P E R 1 3 * - - - - - - - - - - - * * In the star-independent astrometry parameters, update only the * Earth rotation angle. The caller provides UT1 (n.b. not UTC). * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * UT11 d UT1 as a 2-part... * UT12 d ...Julian Date (Note 1) * ASTROM d(30) star-independent astrometry parameters: * (1) not used * (2-4) not used * (5-7) not used * (8) not used * (9-11) not used * (12) not used * (13-21) not used * (22) longitude + s' (radians) * (23) not used * (24) not used * (25) not used * (26) not used * (27) not used * (28) not used * (29) not used * (30) not used * * Returned: * ASTROM d(30) star-independent astrometry parameters: * (1) unchanged * (2-4) unchanged * (5-7) unchanged * (8) unchanged * (9-11) unchanged * (12) unchanged * (13-21) unchanged * (22) unchanged * (23) unchanged * (24) unchanged * (25) unchanged * (26) unchanged * (27) unchanged * (28) "local" Earth rotation angle (radians) * (29) unchanged * (30) unchanged * * Notes: * * 1) The UT1 date (n.b. not UTC) UT11+UT12 is a Julian Date, * apportioned in any convenient way between the arguments UT11 and * UT12. For example, JD(UT1)=2450123.7 could be expressed in any * of these ways, among others: * * UT11 UT12 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in cases * where the loss of several decimal digits of resolution is * acceptable. The J2000 and MJD methods are good compromises * between resolution and convenience. The date & time method is * best matched to the algorithm used: maximum precision is * delivered when the UT11 argument is for 0hrs UT1 on the day in * question and the UT12 argument lies in the range 0 to 1, or vice * versa. * * 2) If the caller wishes to provide the Earth rotation angle itself, * the routine iau_APER can be used instead. One use of this * technique is to substitute Greenwich apparent sidereal time and * thereby to support equinox based transformations directly. * * 3) This is one of several routines that inserts into the ASTROM * array star-independent parameters needed for the chain of * astrometric transformations ICRS <-> GCRS <-> CIRS <-> observed. * * The various routines support different classes of observer and * portions of the transformation chain: * * routines observer transformation * * iau_APCG iau_APCG13 geocentric ICRS <-> GCRS * iau_APCI iau_APCI13 terrestrial ICRS <-> CIRS * iau_APCO iau_APCO13 terrestrial ICRS <-> observed * iau_APCS iau_APCS13 space ICRS <-> GCRS * iau_APER iau_APER13 terrestrial update Earth rotation * iau_APIO iau_APIO13 terrestrial CIRS <-> observed * * Those with names ending in "13" use contemporary SOFA models to * compute the various ephemerides. The others accept ephemerides * supplied by the caller. * * The transformation from ICRS to GCRS covers space motion, * parallax, light deflection, and aberration. From GCRS to CIRS * comprises frame bias and precession-nutation. From CIRS to * observed takes account of Earth rotation, polar motion, diurnal * aberration and parallax (unless subsumed into the ICRS <-> GCRS * transformation), and atmospheric refraction. * * Called: * iau_APER astrometry parameters: update ERA * iau_ERA00 Earth rotation angle, IAU 2000 * * This revision: 2017 March 12 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION UT11, UT12, ASTROM(30) DOUBLE PRECISION iau_ERA00 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CALL iau_APER ( iau_ERA00 ( UT11, UT12 ), ASTROM ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_APER ( THETA, ASTROM ) *+ * - - - - - - - - - * i a u _ A P E R * - - - - - - - - - * * In the star-independent astrometry parameters, update only the * Earth rotation angle, supplied by the caller explicitly. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * THETA d Earth rotation angle (radians, Note 2) * ASTROM d(30) star-independent astrometry parameters: * (1) not used * (2-4) not used * (5-7) not used * (8) not used * (9-11) not used * (12) not used * (13-21) not used * (22) longitude + s' (radians) * (23) not used * (24) not used * (25) not used * (26) not used * (27) not used * (28) not used * (29) not used * (30) not used * * Returned: * ASTROM d(30) star-independent astrometry parameters: * (1) unchanged * (2-4) unchanged * (5-7) unchanged * (8) unchanged * (9-11) unchanged * (12) unchanged * (13-21) unchanged * (22) unchanged * (23) unchanged * (24) unchanged * (25) unchanged * (26) unchanged * (27) unchanged * (28) "local" Earth rotation angle (radians) * (29) unchanged * (30) unchanged * * Notes: * * 1) This routine exists to enable sidereal-tracking applications to * avoid wasteful recomputation of the bulk of the astrometry * parameters: only the Earth rotation is updated. * * 2) For targets expressed as equinox based positions, such as * classical geocentric apparent (RA,Dec), the supplied THETA can be * Greenwich apparent sidereal time rather than Earth rotation * angle. * * 3) The routine iau_APER13 can be used instead of the present routine, * and starts from UT1 rather than ERA itself. * * 4) This is one of several routines that inserts into the ASTROM * array star-independent parameters needed for the chain of * astrometric transformations ICRS <-> GCRS <-> CIRS <-> observed. * * The various routines support different classes of observer and * portions of the transformation chain: * * routines observer transformation * * iau_APCG iau_APCG13 geocentric ICRS <-> GCRS * iau_APCI iau_APCI13 terrestrial ICRS <-> CIRS * iau_APCO iau_APCO13 terrestrial ICRS <-> observed * iau_APCS iau_APCS13 space ICRS <-> GCRS * iau_APER iau_APER13 terrestrial update Earth rotation * iau_APIO iau_APIO13 terrestrial CIRS <-> observed * * Those with names ending in "13" use contemporary SOFA models to * compute the various ephemerides. The others accept ephemerides * supplied by the caller. * * The transformation from ICRS to GCRS covers space motion, * parallax, light deflection, and aberration. From GCRS to CIRS * comprises frame bias and precession-nutation. From CIRS to * observed takes account of Earth rotation, polar motion, diurnal * aberration and parallax (unless subsumed into the ICRS <-> GCRS * transformation), and atmospheric refraction. * * This revision: 2013 September 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION THETA, ASTROM(30) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ASTROM(28) = THETA + ASTROM(22) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_APIO13 ( UTC1, UTC2, DUT1, ELONG, PHI, HM, XP, YP, : PHPA, TC, RH, WL, ASTROM, J ) *+ * - - - - - - - - - - - * i a u _ A P I O 1 3 * - - - - - - - - - - - * * For a terrestrial observer, prepare star-independent astrometry * parameters for transformations between CIRS and observed coordinates. * The caller supplies UTC, site coordinates, ambient air conditions and * observing wavelength. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * UTC1 d UTC as a 2-part... * UTC2 d ...quasi Julian Date (Notes 1,2) * DUT1 d UT1-UTC (seconds) * ELONG d longitude (radians, east +ve, Note 3) * PHI d geodetic latitude (radians, Note 3) * HM d height above ellipsoid (m, geodetic Notes 4,6) * XP,YP d polar motion x-coordinates (radians, Note 5) * PHPA d pressure at the observer (hPa = mB, Note 6) * TC d ambient temperature at the observer (deg C) * RH d relative humidity at the observer (range 0-1) * WL d wavelength (micrometers, Note 7) * * Returned: * ASTROM d(30) star-independent astrometry parameters: * (1) unchanged * (2-4) unchanged * (5-7) unchanged * (8) unchanged * (9-11) unchanged * (12) unchanged * (13-21) unchanged * (22) longitude + s' (radians) * (23) polar motion xp wrt local meridian (radians) * (24) polar motion yp wrt local meridian (radians) * (25) sine of geodetic latitude * (26) cosine of geodetic latitude * (27) magnitude of diurnal aberration vector * (28) "local" Earth rotation angle (radians) * (29) refraction constant A (radians) * (30) refraction constant B (radians) * J i status: +1 = dubious year (Note 2) * 0 = OK * -1 = unacceptable date * * Notes: * * 1) UTC1+UTC2 is quasi Julian Date (see Note 2), apportioned in any * convenient way between the two arguments, for example where UTC1 * is the Julian Day Number and UTC2 is the fraction of a day. * * However, JD cannot unambiguously represent UTC during a leap * second unless special measures are taken. The convention in the * present routine is that the JD day represents UTC days whether * the length is 86399, 86400 or 86401 SI seconds. * * Applications should use the routine iau_DTF2D to convert from * calendar date and time of day into 2-part quasi Julian Date, as * it implements the leap-second-ambiguity convention just * described. * * 2) The warning status "dubious year" flags UTCs that predate the * introduction of the time scale or that are too far in the future * to be trusted. See iau_DAT for further details. * * 3) UT1-UTC is tabulated in IERS bulletins. It increases by exactly * one second at the end of each positive UTC leap second, * introduced in order to keep UT1-UTC within +/- 0.9s. n.b. This * practice is under review, and in the future UT1-UTC may grow * essentially without limit. * * 4) The geographical coordinates are with respect to the WGS84 * reference ellipsoid. TAKE CARE WITH THE LONGITUDE SIGN: the * longitude required by the present routine is east-positive * (i.e. right-handed), in accordance with geographical convention. * * 5) The polar motion XP,YP can be obtained from IERS bulletins. The * values are the coordinates (in radians) of the Celestial * Intermediate Pole with respect to the International Terrestrial * Reference System (see IERS Conventions 2003), measured along the * meridians 0 and 90 deg west respectively. For many applications, * XP and YP can be set to zero. * * Internally, the polar motion is stored in a form rotated onto * the local meridian. * * 6) If hm, the height above the ellipsoid of the observing station * in meters, is not known but phpa, the pressure in hPa (=mB), is * available, an adequate estimate of hm can be obtained from the * expression * * hm = -29.3 * tsl * log ( phpa / 1013.25 ); * * where tsl is the approximate sea-level air temperature in K * (See Astrophysical Quantities, C.W.Allen, 3rd edition, section * 52). Similarly, if the pressure phpa is not known, it can be * estimated from the height of the observing station, hm, as * follows: * * phpa = 1013.25 * exp ( -hm / ( 29.3 * tsl ) ); * * Note, however, that the refraction is nearly proportional to the * pressure and that an accurate phpa value is important for * precise work. * * 7) The argument WL specifies the observing wavelength in * micrometers. The transition from optical to radio is assumed to * occur at 100 micrometers (about 3000 GHz). * * 8) It is advisable to take great care with units, as even unlikely * values of the input parameters are accepted and processed in * accordance with the models used. * * 9) In cases where the caller wishes to supply his own Earth * rotation information and refraction constants, the routine * iau_APC can be used instead of the present routine. * * 10) This is one of several routines that inserts into the ASTROM * array star-independent parameters needed for the chain of * astrometric transformations ICRS <-> GCRS <-> CIRS <-> observed. * * The various routines support different classes of observer and * portions of the transformation chain: * * routines observer transformation * * iau_APCG iau_APCG13 geocentric ICRS <-> GCRS * iau_APCI iau_APCI13 terrestrial ICRS <-> CIRS * iau_APCO iau_APCO13 terrestrial ICRS <-> observed * iau_APCS iau_APCS13 space ICRS <-> GCRS * iau_APER iau_APER13 terrestrial update Earth rotation * iau_APIO iau_APIO13 terrestrial CIRS <-> observed * * Those with names ending in "13" use contemporary SOFA models to * compute the various ephemerides. The others accept ephemerides * supplied by the caller. * * The transformation from ICRS to GCRS covers space motion, * parallax, light deflection, and aberration. From GCRS to CIRS * comprises frame bias and precession-nutation. From CIRS to * observed takes account of Earth rotation, polar motion, diurnal * aberration and parallax (unless subsumed into the ICRS <-> GCRS * transformation), and atmospheric refraction. * * 11) The context array ASTROM produced by this routine is used by * iau_ATIOQ and iau_ATOIQ. * * Called: * iau_UTCTAI UTC to TAI * iau_TAITT TAI to TT * iau_UTCUT1 UTC to UT1 * iau_SP00 the TIO locator s', IERS 2000 * iau_ERA00 Earth rotation angle, IAU 2000 * iau_REFCO refraction constants for given ambient conditions * iau_APIO astrometry parameters, CIRS-observed * * This revision: 2013 September 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION UTC1, UTC2, DUT1, ELONG, PHI, HM, XP, YP, : PHPA, TC, RH, WL, ASTROM(30) INTEGER J INTEGER JS DOUBLE PRECISION TAI1, TAI2, TT1, TT2, UT11, UT12, SP, THETA, : REFA, REFB DOUBLE PRECISION iau_SP00, iau_ERA00 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * UTC to other time scales. CALL iau_UTCTAI ( UTC1, UTC2, TAI1, TAI2, JS ) CALL iau_TAITT ( TAI1, TAI2, TT1, TT2, JS ) CALL iau_UTCUT1 ( UTC1, UTC2, DUT1, UT11, UT12, JS ) * Abort if error. IF ( JS.LT.0 ) GO TO 9 * TIO locator s'. SP = iau_SP00 ( TT1, TT2 ) * Earth rotation angle. THETA = iau_ERA00 ( UT11, UT12 ) * Refraction constants A and B. CALL iau_REFCO ( PHPA, TC, RH, WL, REFA, REFB ) * CIRS <-> observed astrometry parameters. CALL iau_APIO ( SP, THETA, ELONG, PHI, HM, XP, YP, REFA, REFB, : ASTROM ) * Return the status. 9 CONTINUE J = JS * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_APIO ( SP, THETA, ELONG, PHI, HM, XP, YP, : REFA, REFB, ASTROM ) *+ * - - - - - - - - - * i a u _ A P I O * - - - - - - - - - * * For a terrestrial observer, prepare star-independent astrometry * parameters for transformations between CIRS and observed coordinates. * The caller supplies the Earth orientation information and the * refraction constants as well as the site coordinates. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * SP d the TIO locator s' (radians, Note 1) * THETA d Earth rotation angle (radians) * ELONG d longitude (radians, east +ve, Note 2) * PHI d geodetic latitude (radians, Note 2) * HM d height above ellipsoid (m, geodetic Note 2) * XP,YP d polar motion coordinates (radians, Note 3) * REFA d refraction constant A (radians, Note 4) * REFB d refraction constant B (radians, Note 4) * * Returned: * ASTROM d(30) star-independent astrometry parameters: * (1) unchanged * (2-4) unchanged * (5-7) unchanged * (8) unchanged * (9-11) unchanged * (12) unchanged * (13-21) unchanged * (22) longitude + s' (radians) * (23) polar motion xp wrt local meridian (radians) * (24) polar motion yp wrt local meridian (radians) * (25) sine of geodetic latitude * (26) cosine of geodetic latitude * (27) magnitude of diurnal aberration vector * (28) "local" Earth rotation angle (radians) * (29) refraction constant A (radians) * (30) refraction constant B (radians) * * Notes: * * 1) SP, the TIO locator s', is a tiny quantity needed only by the most * precise applications. It can either be set to zero or predicted * using the SOFA routine iau_SP00. * * 2) The geographical coordinates are with respect to the WGS84 * reference ellipsoid. TAKE CARE WITH THE LONGITUDE SIGN: the * longitude required by the present routine is east-positive * (i.e. right-handed), in accordance with geographical convention. * * 3) The polar motion XP,YP can be obtained from IERS bulletins. The * values are the coordinates (in radians) of the Celestial * Intermediate Pole with respect to the International Terrestrial * Reference System (see IERS Conventions 2003), measured along the * meridians 0 and 90 deg west respectively. For many applications, * XP and YP can be set to zero. * * Internally, the polar motion is stored in a form rotated onto the * local meridian. * * 4) The refraction constants REFA and REFB are for use in a * dZ = A*tan(Z)+B*tan^3(Z) model, where Z is the observed * (i.e. refracted) zenith distance and dZ is the amount of * refraction. * * 5) It is advisable to take great care with units, as even unlikely * values of the input parameters are accepted and processed in * accordance with the models used. * * 6) In cases where the caller does not wish to provide the Earth * rotation information and refraction constants, the routine * iau_APIO13 can be used instead of the present routine. This * starts from UTC and weather readings etc. and computes suitable * values using other SOFA routines. * * 7) This is one of several routines that inserts into the ASTROM * array star-independent parameters needed for the chain of * astrometric transformations ICRS <-> GCRS <-> CIRS <-> observed. * * The various routines support different classes of observer and * portions of the transformation chain: * * routines observer transformation * * iau_APCG iau_APCG13 geocentric ICRS <-> GCRS * iau_APCI iau_APCI13 terrestrial ICRS <-> CIRS * iau_APCO iau_APCO13 terrestrial ICRS <-> observed * iau_APCS iau_APCS13 space ICRS <-> GCRS * iau_APER iau_APER13 terrestrial update Earth rotation * iau_APIO iau_APIO13 terrestrial CIRS <-> observed * * Those with names ending in "13" use contemporary SOFA models to * compute the various ephemerides. The others accept ephemerides * supplied by the caller. * * The transformation from ICRS to GCRS covers space motion, * parallax, light deflection, and aberration. From GCRS to CIRS * comprises frame bias and precession-nutation. From CIRS to * observed takes account of Earth rotation, polar motion, diurnal * aberration and parallax (unless subsumed into the ICRS <-> GCRS * transformation), and atmospheric refraction. * * 8) The context array ASTROM produced by this routine is used by * iau_ATIOQ and iau_ATOIQ. * * Called: * iau_PVTOB position/velocity of terrestrial station * iau_APER astrometry parameters: update ERA * * This revision: 2013 September 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION SP, THETA, ELONG, PHI, HM, XP, YP, REFA, REFB, : ASTROM(30) * Speed of light (m/s) DOUBLE PRECISION CMPS PARAMETER ( CMPS = 299792458D0 ) DOUBLE PRECISION SL, CL, PV(3,2) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Longitude with adjustment for TIO locator s'. ASTROM(22) = ELONG + SP * Polar motion, rotated onto the local meridian. SL = SIN(ASTROM(22)) CL = COS(ASTROM(22)) ASTROM(23) = XP*CL - YP*SL ASTROM(24) = XP*SL + YP*CL * Functions of latitude. ASTROM(25) = SIN(PHI) ASTROM(26) = COS(PHI) * Observer's geocentric position and velocity (m, m/s, CIRS). CALL iau_PVTOB ( ELONG, PHI, HM, XP, YP, SP, THETA, PV ) * Magnitude of diurnal aberration vector. ASTROM(27) = SQRT ( PV(1,2)*PV(1,2) + PV(2,2)*PV(2,2) ) / CMPS * Refraction constants. ASTROM(29) = REFA ASTROM(30) = REFB * Local Earth rotation angle. CALL iau_APER ( THETA, ASTROM ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_ATCI13 ( RC, DC, PR, PD, PX, RV, DATE1, DATE2, : RI, DI, EO ) *+ * - - - - - - - - - - - * i a u _ A T C I 1 3 * - - - - - - - - - - - * * Transform ICRS star data, epoch J2000.0, to CIRS. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * RC d ICRS right ascension at J2000.0 (radians, Note 1) * DC d ICRS declination at J2000.0 (radians, Note 1) * PR d RA proper motion (radians/year; Note 2) * PD d Dec proper motion (radians/year) * PX d parallax (arcsec) * RV d radial velocity (km/s, +ve if receding) * DATE1 d TDB as a 2-part... * DATE2 d ...Julian Date (Note 3) * * Returned: * RI,DI d CIRS geocentric RA,Dec (radians) * EO d equation of the origins (ERA-GST, Note 5) * * Notes: * * 1) Star data for an epoch other than J2000.0 (for example from the * Hipparcos catalog, which has an epoch of J1991.25) will require a * preliminary call to iau_PMSAFE before use. * * 2) The proper motion in RA is dRA/dt rather than cos(Dec)*dRA/dt. * * 3) The TDB date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TDB)=2450123.7 could be expressed in any of these ways, among * others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in cases * where the loss of several decimal digits of resolution is * acceptable. The J2000 method is best matched to the way the * argument is handled internally and will deliver the optimum * resolution. The MJD method and the date & time methods are both * good compromises between resolution and convenience. For most * applications of this routine the choice will not be at all * critical. * * TT can be used instead of TDB without any significant impact on * accuracy. * * 4) The available accuracy is better than 1 milliarcsecond, limited * mainly by the precession-nutation model that is used, namely * IAU 2000A/2006. Very close to solar system bodies, additional * errors of up to several milliarcseconds can occur because of * unmodeled light deflection; however, the Sun's contribution is * taken into account, to first order. The accuracy limitations of * the SOFA routine iau_EPV00 (used to compute Earth position and * velocity) can contribute aberration errors of up to * 5 microarcseconds. Light deflection at the Sun's limb is * uncertain at the 0.4 mas level. * * 5) Should the transformation to (equinox based) apparent place be * required rather than (CIO based) intermediate place, subtract the * equation of the origins from the returned right ascension: * RA = RI - EO. (The iau_ANP routine can then be applied, as * required, to keep the result in the conventional 0-2pi range.) * * Called: * iau_APCI13 astrometry parameters, ICRS-CIRS, 2013 * iau_ATCIQ quick ICRS to CIRS * * This revision: 2017 March 12 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RC, DC, PR, PD, PX, RV, DATE1, DATE2, RI, DI, EO * Star-independent astrometry parameters DOUBLE PRECISION ASTROM(30) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * The transformation parameters. CALL iau_APCI13 ( DATE1, DATE2, ASTROM, EO ) * ICRS (epoch J2000.0) to CIRS. CALL iau_ATCIQ ( RC, DC, PR, PD, PX, RV, ASTROM, RI, DI ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_ATCIQ ( RC, DC, PR, PD, PX, RV, ASTROM, RI, DI ) *+ * - - - - - - - - - - * i a u _ A T C I Q * - - - - - - - - - - * * Quick ICRS, epoch J2000.0, to CIRS transformation, given precomputed * star-independent astrometry parameters. * * Use of this routine is appropriate when efficiency is important and * where many star positions are to be transformed for one date. The * star-independent parameters can be obtained by calling one of the * routines iau_APCI[13], iau_APCG[13], iau_APCO[13] or iau_APCS[13]. * * If the parallax and proper motions are zero the iau_ATCIQZ routine * can be used instead. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * RC,DC d ICRS RA,Dec at J2000.0 (radians) * PR d RA proper motion (radians/year; Note 3) * PD d Dec proper motion (radians/year) * PX d parallax (arcsec) * RV d radial velocity (km/s, +ve if receding) * ASTROM d(30) star-independent astrometry parameters: * (1) PM time interval (SSB, Julian years) * (2-4) SSB to observer (vector, au) * (5-7) Sun to observer (unit vector) * (8) distance from Sun to observer (au) * (9-11) v: barycentric observer velocity (vector, c) * (12) sqrt(1-|v|^2): reciprocal of Lorenz factor * (13-21) bias-precession-nutation matrix * (22) longitude + s' (radians) * (23) polar motion xp wrt local meridian (radians) * (24) polar motion yp wrt local meridian (radians) * (25) sine of geodetic latitude * (26) cosine of geodetic latitude * (27) magnitude of diurnal aberration vector * (28) "local" Earth rotation angle (radians) * (29) refraction constant A (radians) * (30) refraction constant B (radians) * * Returned: * RI,DI d CIRS RA,Dec (radians) * * Notes: * * 1) All the vectors are with respect to BCRS axes. * * 2) Star data for an epoch other than J2000.0 (for example from the * Hipparcos catalog, which has an epoch of J1991.25) will require a * preliminary call to iau_PMSAFE before use. * * 3) The proper motion in RA is dRA/dt rather than cos(Dec)*dRA/dt. * * Called: * iau_PMPX proper motion and parallax * iau_LDSUN light deflection by the Sun * iau_AB stellar aberration * iau_RXP product of r-matrix and pv-vector * iau_C2S p-vector to spherical * iau_ANP normalize angle into range 0 to 2pi * * This revision: 2013 August 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RC, DC, PR, PD, PX, RV, ASTROM(30), RI, DI DOUBLE PRECISION PCO(3), PNAT(3), PPR(3), PI(3), W DOUBLE PRECISION iau_ANP * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Proper motion and parallax, giving BCRS coordinate direction. CALL iau_PMPX ( RC, DC, PR, PD, PX, RV, ASTROM(1), ASTROM(2), : PCO ) * Light deflection by the Sun, giving BCRS natural direction. CALL iau_LDSUN ( PCO, ASTROM(5), ASTROM(8), PNAT ) * Aberration, giving GCRS proper direction. CALL iau_AB (PNAT, ASTROM(9), ASTROM(8), ASTROM(12), PPR ) * Bias-precession-nutation, giving CIRS proper direction. CALL iau_RXP ( ASTROM(13), PPR, PI ) * CIRS RA,Dec. CALL iau_C2S ( PI, W, DI ) RI = iau_ANP ( W ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_ATCIQN ( RC, DC, PR, PD, PX, RV, ASTROM, N, B, : RI, DI ) *+ * - - - - - - - - - - - * i a u _ A T C I Q N * - - - - - - - - - - - * * Quick ICRS, epoch J2000.0, to CIRS transformation, given precomputed * star-independent astrometry parameters plus a list of light- * deflecting bodies. * * Use of this routine is appropriate when efficiency is important and * where many star positions are to be transformed for one date. The * star-independent parameters can be obtained by calling one of the * routines iau_APCI[13], iau_APCG[13], iau_APCO[13] or iau_APCS[13]. * * If the only light-deflecting body to be taken into account is the * Sun, the iau_ATCIQ routine can be used instead. If in addition the * parallax and proper motions are zero, the iau_ATCIQZ routine can be * used. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * RC,DC d ICRS RA,Dec at J2000.0 (radians, Note 1) * PR d RA proper motion (radians/year; Note 2) * PD d Dec proper motion (radians/year) * PX d parallax (arcsec) * RV d radial velocity (km/s, +ve if receding) * ASTROM d(30) star-independent astrometry parameters: * (1) PM time interval (SSB, Julian years) * (2-4) SSB to observer (vector, au) * (5-7) Sun to observer (unit vector) * (8) distance from Sun to observer (au) * (9-11) v: barycentric observer velocity (vector, c) * (12) sqrt(1-|v|^2): reciprocal of Lorenz factor * (13-21) bias-precession-nutation matrix * (22) longitude + s' (radians) * (23) polar motion xp wrt local meridian (radians) * (24) polar motion yp wrt local meridian (radians) * (25) sine of geodetic latitude * (26) cosine of geodetic latitude * (27) magnitude of diurnal aberration vector * (28) "local" Earth rotation angle (radians) * (29) refraction constant A (radians) * (30) refraction constant B (radians) * N i number of bodies (Note 3) * B d(8,N) data for each of the NB bodies (Notes 3,4): * (1,I) mass of the body (solar masses, Note 5) * (2,I) deflection limiter (Note 6) * (3-5,I) barycentric position of the body (au) * (6-8,I) barycentric velocity of the body (au/day) * * Returned: * RI,DI d CIRS RA,Dec (radians) * * Notes: * * 1) Star data for an epoch other than J2000.0 (for example from the * Hipparcos catalog, which has an epoch of J1991.25) will require a * preliminary call to iau_PMSAFE before use. * * 2) The proper motion in RA is dRA/dt rather than cos(Dec)*dRA/dt. * * 3) The array B contains N entries, one for each body to be * considered. If N = 0, no gravitational light deflection will be * applied, not even for the Sun. * * 4) The array B should include an entry for the Sun as well as for any * planet or other body to be taken into account. The entries should * be in the order in which the light passes the body. * * 5) In the entry in the B array for body I, the mass parameter B(1,I) * can, as required, be adjusted in order to allow for such effects * as quadrupole field. * * 6) The deflection limiter parameter B(2,I) is phi^2/2, where phi is * the angular separation (in radians) between star and body at which * limiting is applied. As phi shrinks below the chosen threshold, * the deflection is artificially reduced, reaching zero for phi = 0. * Example values suitable for a terrestrial observer, together with * masses, are as follows: * * body I B(1,I) B(2,I) * * Sun 1D0 6D-6 * Jupiter 0.00095435D0 3D-9 * Saturn 0.00028574D0 3D-10 * * 7) For efficiency, validation of the B array is omitted. The * supplied masses must be greater than zero, the position and * velocity vectors must be right, and the deflection limiter * greater than zero. * * Called: * iau_PMPX proper motion and parallax * iau_LDN light deflection by n bodies * iau_AB stellar aberration * iau_RXP product of r-matrix and pv-vector * iau_C2S p-vector to spherical * iau_ANP normalize angle into range 0 to 2pi * * This revision: 2013 September 30 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RC, DC, PR, PD, PX, RV, ASTROM(30) INTEGER N DOUBLE PRECISION B(8,N), RI, DI DOUBLE PRECISION PCO(3), PNAT(3), PPR(3), PI(3), W DOUBLE PRECISION iau_ANP * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Proper motion and parallax, giving BCRS coordinate direction. CALL iau_PMPX ( RC, DC, PR, PD, PX, RV, ASTROM(1), ASTROM(2), : PCO ) * Light deflection, giving BCRS natural direction. CALL iau_LDN ( N, B, ASTROM(2), PCO, PNAT ) * Aberration, giving GCRS proper direction. CALL iau_AB (PNAT, ASTROM(9), ASTROM(8), ASTROM(12), PPR ) * Bias-precession-nutation, giving CIRS proper direction. CALL iau_RXP ( ASTROM(13), PPR, PI ) * CIRS RA,Dec. CALL iau_C2S ( PI, W, DI ) RI = iau_ANP ( W ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_ATCIQZ ( RC, DC, ASTROM, RI, DI ) *+ * - - - - - - - - - - - * i a u _ A T C I Q Z * - - - - - - - - - - - * * Quick ICRS to CIRS transformation, given precomputed star-independent * astrometry parameters, and assuming zero parallax and proper motion. * * Use of this routine is appropriate when efficiency is important and * where many star positions are to be transformed for one date. The * star-independent parameters can be obtained by calling one of the * routines iau_APCI[13], iau_APCG[13], iau_APCO[13] or iau_APCS[13]. * * The corresponding routine for the case of non-zero parallax and * proper motion is iau_ATCIQ. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * RC,DC d ICRS astrometric RA,Dec (radians) * ASTROM d(30) star-independent astrometry parameters: * (1) PM time interval (SSB, Julian years) * (2-4) SSB to observer (vector, au) * (5-7) Sun to observer (unit vector) * (8) distance from Sun to observer (au) * (9-11) v: barycentric observer velocity (vector, c) * (12) sqrt(1-|v|^2): reciprocal of Lorenz factor * (13-21) bias-precession-nutation matrix * (22) longitude + s' (radians) * (23) polar motion xp wrt local meridian (radians) * (24) polar motion yp wrt local meridian (radians) * (25) sine of geodetic latitude * (26) cosine of geodetic latitude * (27) magnitude of diurnal aberration vector * (28) "local" Earth rotation angle (radians) * (29) refraction constant A (radians) * (30) refraction constant B (radians) * * Returned: * RI,DI d CIRS RA,Dec (radians) * * Note: * * All the vectors are with respect to BCRS axes. * * References: * * Urban, S. & Seidelmann, P. K. (eds), Explanatory Supplement to * the Astronomical Almanac, 3rd ed., University Science Books * (2013). * * Klioner, Sergei A., "A practical relativistic model for micro- * arcsecond astrometry in space", Astr. J. 125, 1580-1597 (2003). * * Called: * iau_S2C spherical coordinates to unit vector * iau_LDSUN light deflection due to Sun * iau_AB stellar aberration * iau_RXP product of r-matrix and p-vector * iau_C2S p-vector to spherical * iau_ANP normalize angle into range +/- pi * * This revision: 2013 August 31 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RC, DC, ASTROM(30), RI, DI DOUBLE PRECISION PCO(3), PNAT(3), PPR(3), PI(3), W DOUBLE PRECISION iau_ANP * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * BCRS coordinate direction (unit vector). CALL iau_S2C ( RC, DC, PCO ) * Light deflection by the Sun, giving BCRS natural direction. CALL iau_LDSUN ( PCO, ASTROM(5), ASTROM(8), PNAT ) * Aberration, giving GCRS proper direction. CALL iau_AB ( PNAT, ASTROM(9), ASTROM(8), ASTROM(12), PPR ) * Bias-precession-nutation, giving CIRS proper direction. CALL iau_RXP ( ASTROM(13), PPR, PI ) * CIRS RA,Dec. CALL iau_C2S ( PI, W, DI ) RI = iau_ANP ( W ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_ATCO13 ( RC, DC, PR, PD, PX, RV, : UTC1, UTC2, DUT1, ELONG, PHI, HM, XP, YP, : PHPA, TC, RH, WL, : AOB, ZOB, HOB, DOB, ROB, EO, J ) *+ * - - - - - - - - - - - * i a u _ A T C O 1 3 * - - - - - - - - - - - * * ICRS RA,Dec to observed place. The caller supplies UTC, site * coordinates, ambient air conditions and observing wavelength. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * RC,DC d ICRS right ascension at J2000.0 (radians, Note 1) * PR d RA proper motion (radians/year; Note 2) * PD d Dec proper motion (radians/year) * PX d parallax (arcsec) * RV d radial velocity (km/s, +ve if receding) * UTC1 d UTC as a 2-part... * UTC2 d ...quasi Julian Date (Notes 3-4) * DUT1 d UT1-UTC (seconds, Note 5) * ELONG d longitude (radians, east +ve, Note 6) * PHI d latitude (geodetic, radians, Note 6) * HM d height above ellipsoid (m, geodetic, Notes 6,8) * XP,YP d polar motion coordinates (radians, Note 7) * PHPA d pressure at the observer (hPa = mB, Note 8) * TC d ambient temperature at the observer (deg C) * RH d relative humidity at the observer (range 0-1) * WL d wavelength (micrometers, Note 9) * * Returned: * AOB d observed azimuth (radians: N=0,E=90) * ZOB d observed zenith distance (radians) * HOB d observed hour angle (radians) * DOB d observed declination (radians) * ROB d observed right ascension (CIO-based, radians) * EO d equation of the origins (ERA-GST) * J i status: +1 = dubious year (Note 4) * 0 = OK * -1 = unacceptable date * * Notes: * * 1) Star data for an epoch other than J2000.0 (for example from the * Hipparcos catalog, which has an epoch of J1991.25) will require * a preliminary call to iau_PMSAFE before use. * * 2) The proper motion in RA is dRA/dt rather than cos(Dec)*dRA/dt. * * 3) UTC1+UTC2 is quasi Julian Date (see Note 2), apportioned in any * convenient way between the two arguments, for example where UTC1 * is the Julian Day Number and UTC2 is the fraction of a day. * * However, JD cannot unambiguously represent UTC during a leap * second unless special measures are taken. The convention in the * present routine is that the JD day represents UTC days whether * the length is 86399, 86400 or 86401 SI seconds. * * Applications should use the routine iau_DTF2D to convert from * calendar date and time of day into 2-part quasi Julian Date, as * it implements the leap-second-ambiguity convention just * described. * * 4) The warning status "dubious year" flags UTCs that predate the * introduction of the time scale or that are too far in the * future to be trusted. See iau_DAT for further details. * * 5) UT1-UTC is tabulated in IERS bulletins. It increases by exactly * one second at the end of each positive UTC leap second, * introduced in order to keep UT1-UTC within +/- 0.9s. n.b. This * practice is under review, and in the future UT1-UTC may grow * essentially without limit. * * 6) The geographical coordinates are with respect to the WGS84 * reference ellipsoid. TAKE CARE WITH THE LONGITUDE SIGN: the * longitude required by the present routine is east-positive * (i.e. right-handed), in accordance with geographical convention. * * 7) The polar motion XP,YP can be obtained from IERS bulletins. The * values are the coordinates (in radians) of the Celestial * Intermediate Pole with respect to the International Terrestrial * Reference System (see IERS Conventions 2003), measured along the * meridians 0 and 90 deg west respectively. For many applications, * XP and YP can be set to zero. * * 8) If hm, the height above the ellipsoid of the observing station * in meters, is not known but phpa, the pressure in hPa (=mB), * is available, an adequate estimate of hm can be obtained from * the expression * * hm = -29.3 * tsl * log ( phpa / 1013.25 ); * * where tsl is the approximate sea-level air temperature in K * (See Astrophysical Quantities, C.W.Allen, 3rd edition, section * 52). Similarly, if the pressure phpa is not known, it can be * estimated from the height of the observing station, hm, as * follows: * * phpa = 1013.25 * exp ( -hm / ( 29.3 * tsl ) ); * * Note, however, that the refraction is nearly proportional to * the pressure and that an accurate phpa value is important for * precise work. * * 9) The argument WL specifies the observing wavelength in * micrometers. The transition from optical to radio is assumed to * occur at 100 micrometers (about 3000 GHz). * * 10) The accuracy of the result is limited by the corrections for * refraction, which use a simple A*tan(z) + B*tan^3(z) model. * Providing the meteorological parameters are known accurately and * there are no gross local effects, the predicted observed * coordinates should be within 0.05 arcsec (optical) or 1 arcsec * (radio) for a zenith distance of less than 70 degrees, better * than 30 arcsec (optical or radio) at 85 degrees and better than * 20 arcmin (optical) or 30 arcmin (radio) at the horizon. * * Without refraction, the complementary routines iau_ATCO13 and * iau_ATOC13 are self-consistent to better than 1 microarcsecond * all over the celestial sphere. With refraction included, * consistency falls off at high zenith distances, but is still * better than 0.05 arcsec at 85 degrees. * * 11) "Observed" Az,ZD means the position that would be seen by a * perfect geodetically aligned theodolite. (Zenith distance is * used rather than altitude in order to reflect the fact that no * allowance is made for depression of the horizon.) This is * related to the observed HA,Dec via the standard rotation, using * the geodetic latitude (corrected for polar motion), while the * observed HA and RA are related simply through the Earth rotation * angle and the site longitude. "Observed" RA,Dec or HA,Dec thus * means the position that would be seen by a perfect equatorial * with its polar axis aligned to the Earth's axis of rotation. * * 12) It is advisable to take great care with units, as even unlikely * values of the input parameters are accepted and processed in * accordance with the models used. * * Called: * iau_APCO13 astrometry parameters, ICRS-observed, 2013 * iau_ATCIQ quick ICRS to CIRS * iau_ATIOQ quick CIRS to observed * * This revision: 2016 February 2 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RC, DC, PR, PD, PX, RV, UTC1, UTC2, DUT1, : ELONG, PHI, HM, XP, YP, PHPA, TC, RH, WL, : AOB, ZOB, HOB, DOB, ROB, EO INTEGER J INTEGER JS DOUBLE PRECISION ASTROM(30) DOUBLE PRECISION RI, DI * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Star-independent astrometry parameters. CALL iau_APCO13 ( UTC1, UTC2, DUT1, ELONG, PHI, HM, XP, YP, : PHPA, TC, RH, WL, ASTROM, EO, JS ) IF ( JS.LT.0 ) GO TO 9 * Transform ICRS to CIRS. CALL iau_ATCIQ ( RC, DC, PR, PD, PX, RV, ASTROM, RI, DI ) * Transform CIRS to observed. CALL iau_ATIOQ ( RI, DI, ASTROM, AOB, ZOB, HOB, DOB, ROB ) * Return OK/warning status. 9 CONTINUE J = JS * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_ATIC13 ( RI, DI, DATE1, DATE2, RC, DC, EO ) *+ * - - - - - - - - - - - * i a u _ A T I C 1 3 * - - - - - - - - - - - * * Transform star RA,Dec from geocentric CIRS to ICRS astrometric. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * RI,DI d CIRS geocentric RA,Dec (radians) * DATE1 d TDB as a 2-part... * DATE2 d ...Julian Date (Note 1) * * Returned: * RC,DC d ICRS astrometric RA,Dec (radians) * EO d equation of the origins (ERA-GST, Note 4) * * Notes: * * 1) The TDB date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TDB)=2450123.7 could be expressed in any of these ways, among * others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in cases * where the loss of several decimal digits of resolution is * acceptable. The J2000 method is best matched to the way the * argument is handled internally and will deliver the optimum * resolution. The MJD method and the date & time methods are both * good compromises between resolution and convenience. For most * applications of this routine the choice will not be at all * critical. * * TT can be used instead of TDB without any significant impact on * accuracy. * * 2) Iterative techniques are used for the aberration and light * deflection corrections so that the routines iau_ATIC13 (or * iau_ATICQ) and iau_ATCI13 (or iau_ATCIQ) are accurate inverses; * even at the edge of the Sun's disk the discrepancy is only about * 1 nanoarcsecond. * * 3) The available accuracy is better than 1 milliarcsecond, limited * mainly by the precession-nutation model that is used, namely * IAU 2000A/2006. Very close to solar system bodies, additional * errors of up to several milliarcseconds can occur because of * unmodeled light deflection; however, the Sun's contribution is * taken into account, to first order. The accuracy limitations of * the SOFA routine iau_EPV00 (used to compute Earth position and * velocity) can contribute aberration errors of up to * 5 microarcseconds. Light deflection at the Sun's limb is * uncertain at the 0.4 mas level. * * 4) Should the transformation to (equinox based) J2000.0 mean place * be required rather than (CIO based) ICRS coordinates, subtract the * equation of the origins from the returned right ascension: * RA = RI - EO. (The iau_ANP routine can then be applied, as * required, to keep the result in the conventional 0-2pi range.) * * Called: * iau_APCI13 astrometry parameters, ICRS-CIRS, 2013 * iau_ATICQ quick CIRS to ICRS astrometric * * This revision: 2017 March 12 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RI, DI, DATE1, DATE2, RC, DC, EO * Star-independent astrometry parameters DOUBLE PRECISION ASTROM(30) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Star-independent astrometry parameters. CALL iau_APCI13 ( DATE1, DATE2, ASTROM, EO ) * CIRS to ICRS astrometric CALL iau_ATICQ ( RI, DI, ASTROM, RC, DC ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_ATICQ ( RI, DI, ASTROM, RC, DC ) *+ * - - - - - - - - - - * i a u _ A T I C Q * - - - - - - - - - - * * Quick CIRS RA,Dec to ICRS astrometric place, given the star- * independent astrometry parameters. * * Use of this routine is appropriate when efficiency is important and * where many star positions are all to be transformed for one date. * The star-independent astrometry parameters can be obtained by * calling one of the routines iau_APCI[13], iau_APCG[13], iau_APCO[13] * or iau_APCS[13]. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * RI,DI d CIRS RA,Dec (radians) * ASTROM d(30) star-independent astrometry parameters: * (1) PM time interval (SSB, Julian years) * (2-4) SSB to observer (vector, au) * (5-7) Sun to observer (unit vector) * (8) distance from Sun to observer (au) * (9-11) v: barycentric observer velocity (vector, c) * (12) sqrt(1-|v|^2): reciprocal of Lorenz factor * (13-21) bias-precession-nutation matrix * (22) longitude + s' (radians) * (23) polar motion xp wrt local meridian (radians) * (24) polar motion yp wrt local meridian (radians) * (25) sine of geodetic latitude * (26) cosine of geodetic latitude * (27) magnitude of diurnal aberration vector * (28) "local" Earth rotation angle (radians) * (29) refraction constant A (radians) * (30) refraction constant B (radians) * * Returned: * RC,DC d ICRS astrometric RA,Dec (radians) * * Notes: * * 1) Only the Sun is taken into account in the light deflection * correction. * * 2) Iterative techniques are used for the aberration and light * deflection corrections so that the routines iau_ATIC13 (or * iau_ATICQ) and iau_ATCI13 (or iau_ATCIQ) are accurate inverses; * even at the edge of the Sun's disk the discrepancy is only about * 1 nanoarcsecond. * * Called: * iau_S2C spherical coordinates to unit vector * iau_TRXP product of transpose of r-matrix and p-vector * iau_ZP zero p-vector * iau_AB stellar aberration * iau_LDSUN light deflection by the Sun * iau_C2S p-vector to spherical * iau_ANP normalize angle into range +/- pi * * This revision: 2013 August 3 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RI, DI, ASTROM(30), RC, DC INTEGER J, I DOUBLE PRECISION PI(3), PPR(3), PNAT(3), PCO(3), W, D(3), : BEFORE(3), R2, R, AFTER(3) DOUBLE PRECISION iau_ANP * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * CIRS RA,Dec to Cartesian. CALL iau_S2C ( RI, DI, PI ) * Bias-precession-nutation, giving GCRS proper direction. CALL iau_TRXP ( ASTROM(13), PI, PPR ) * Aberration, giving GCRS natural direction. CALL iau_ZP ( D ) DO 50 J=1,2 R2 = 0D0 DO 10 I=1,3 W = PPR(I) - D(I) BEFORE(I) = W R2 = R2 + W*W 10 CONTINUE R = SQRT ( R2 ) DO 20 I=1,3 BEFORE(I) = BEFORE(I) / R 20 CONTINUE CALL iau_AB ( BEFORE, ASTROM(9), ASTROM(8), ASTROM(12), AFTER ) R2 = 0D0 DO 30 I=1,3 D(I) = AFTER(I) - BEFORE(I) W = PPR(I) - D(I) PNAT(I) = W R2 = R2 + W*W 30 CONTINUE R = SQRT ( R2 ) DO 40 I=1,3 PNAT(I) = PNAT(I) / R 40 CONTINUE 50 CONTINUE * Light deflection by the Sun, giving BCRS coordinate direction. CALL iau_ZP ( D ) DO 100 J=1,5 R2 = 0D0 DO 60 I=1,3 W = PNAT(I) - D(I) BEFORE(I) = W R2 = R2 + W*W 60 CONTINUE R = SQRT ( R2 ) DO 70 I=1,3 BEFORE(I) = BEFORE(I) / R 70 CONTINUE CALL iau_LDSUN ( BEFORE, ASTROM(5), ASTROM(8), AFTER ) R2 = 0D0 DO 80 I=1,3 D(I) = AFTER(I) - BEFORE(I) W = PNAT(I) - D(I) PCO(I) = W R2 = R2 + W*W 80 CONTINUE R = SQRT ( R2 ) DO 90 I=1,3 PCO(I) = PCO(I) / R 90 CONTINUE 100 CONTINUE * ICRS astrometric RA,Dec. CALL iau_C2S ( PCO, W, DC ) RC = iau_ANP ( W ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_ATICQN ( RI, DI, ASTROM, N, B, RC, 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 bodies. * * Use of this routine is appropriate when efficiency is important and * where many star positions are all to be transformed for one date. * The star-independent astrometry parameters can be obtained by * calling one of the routines iau_APCI[13], iau_APCG[13], iau_APCO[13] * or iau_APCS[13]. * * If the only light-deflecting body to be taken into account is the * Sun, the iau_ATICQ routine can be used instead. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * RI,DI d CIRS RA,Dec (radians) * ASTROM d(30) star-independent astrometry parameters: * (1) PM time interval (SSB, Julian years) * (2-4) SSB to observer (vector, au) * (5-7) Sun to observer (unit vector) * (8) distance from Sun to observer (au) * (9-11) v: barycentric observer velocity (vector, c) * (12) sqrt(1-|v|^2): reciprocal of Lorenz factor * (13-21) bias-precession-nutation matrix * (22) longitude + s' (radians) * (23) polar motion xp wrt local meridian (radians) * (24) polar motion yp wrt local meridian (radians) * (25) sine of geodetic latitude * (26) cosine of geodetic latitude * (27) magnitude of diurnal aberration vector * (28) "local" Earth rotation angle (radians) * (29) refraction constant A (radians) * (30) refraction constant B (radians) * N i number of bodies (Note 3) * B d(8,N) data for each of the NB bodies (Notes 3,4): * (1,I) mass of the body (solar masses, Note 5) * (2,I) deflection limiter (Note 6) * (3-5,I) barycentric position of the body (au) * (6-8,I) barycentric velocity of the body (au/day) * * Returned: * RC,DC d ICRS astrometric RA,Dec (radians) * * Notes: * * 1) Iterative techniques are used for the aberration and light * deflection corrections so that the routines iau_ATICQN and * iau_ATCIQN are accurate inverses; even at the edge of the Sun's * disk the discrepancy is only about 1 nanoarcsecond. * * 2) If the only light-deflecting body to be taken into account is the * Sun, the iau_ATICQ routine can be used instead. * * 3) The array B contains N entries, one for each body to be * considered. If N = 0, no gravitational light deflection will be * applied, not even for the Sun. * * 4) The array B should include an entry for the Sun as well as for any * planet or other body to be taken into account. The entries should * be in the order in which the light passes the body. * * 5) In the entry in the B array for body I, the mass parameter B(1,I) * can, as required, be adjusted in order to allow for such effects * as quadrupole field. * * 6) The deflection limiter parameter B(2,I) is phi^2/2, where phi is * the angular separation (in radians) between star and body at which * limiting is applied. As phi shrinks below the chosen threshold, * the deflection is artificially reduced, reaching zero for phi = 0. * Example values suitable for a terrestrial observer, together with * masses, are as follows: * * body I B(1,I) B(2,I) * * Sun 1D0 6D-6 * Jupiter 0.00095435D0 3D-9 * Saturn 0.00028574D0 3D-10 * * 7) For efficiency, validation of the contents of the B array is * omitted. The supplied masses must be greater than zero, the * position and velocity vectors must be right, and the deflection * limiter greater than zero. * * Called: * iau_S2C spherical coordinates to unit vector * iau_TRXP product of transpose of r-matrix and p-vector * iau_ZP zero p-vector * iau_AB stellar aberration * iau_LDN light deflection by n bodies * iau_C2S p-vector to spherical * iau_ANP normalize angle into range +/- pi * * This revision: 2013 September 30 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RI, DI, ASTROM(30) INTEGER N DOUBLE PRECISION B(8,N), RC, DC INTEGER J, I DOUBLE PRECISION PI(3), PPR(3), PNAT(3), PCO(3), W, D(3), : BEFORE(3), R2, R, AFTER(3) DOUBLE PRECISION iau_ANP * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * CIRS RA,Dec to Cartesian. CALL iau_S2C ( RI, DI, PI ) * Bias-precession-nutation, giving GCRS proper direction. CALL iau_TRXP ( ASTROM(13), PI, PPR ) * Aberration, giving GCRS natural direction. CALL iau_ZP ( D ) DO 50 J=1,2 R2 = 0D0 DO 10 I=1,3 W = PPR(I) - D(I) BEFORE(I) = W R2 = R2 + W*W 10 CONTINUE R = SQRT ( R2 ) DO 20 I=1,3 BEFORE(I) = BEFORE(I) / R 20 CONTINUE CALL iau_AB ( BEFORE, ASTROM(9), ASTROM(8), ASTROM(12), AFTER ) R2 = 0D0 DO 30 I=1,3 D(I) = AFTER(I) - BEFORE(I) W = PPR(I) - D(I) PNAT(I) = W R2 = R2 + W*W 30 CONTINUE R = SQRT ( R2 ) DO 40 I=1,3 PNAT(I) = PNAT(I) / R 40 CONTINUE 50 CONTINUE * Light deflection, giving BCRS coordinate direction. CALL iau_ZP ( D ) DO 100 J=1,5 R2 = 0D0 DO 60 I=1,3 W = PNAT(I) - D(I) BEFORE(I) = W R2 = R2 + W*W 60 CONTINUE R = SQRT ( R2 ) DO 70 I=1,3 BEFORE(I) = BEFORE(I) / R 70 CONTINUE CALL iau_LDN ( N, B, ASTROM(2), BEFORE, AFTER ) R2 = 0D0 DO 80 I=1,3 D(I) = AFTER(I) - BEFORE(I) W = PNAT(I) - D(I) PCO(I) = W R2 = R2 + W*W 80 CONTINUE R = SQRT ( R2 ) DO 90 I=1,3 PCO(I) = PCO(I) / R 90 CONTINUE 100 CONTINUE * ICRS astrometric RA,Dec. CALL iau_C2S ( PCO, W, DC ) RC = iau_ANP ( W ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_ATIO13 ( RI, DI, UTC1, UTC2, DUT1, : ELONG, PHI, HM, XP, YP, PHPA, TC, RH, WL, : AOB, ZOB, HOB, DOB, ROB, J ) *+ * - - - - - - - - - - - * i a u _ A T I O 1 3 * - - - - - - - - - - - * * CIRS RA,Dec to observed place. The caller supplies UTC, site * coordinates, ambient air conditions and observing wavelength. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * RI d CIRS right ascension (CIO-based, radians) * DI d CIRS declination (radians) * UTC1 d UTC as a 2-part... * UTC2 d ...quasi Julian Date (Notes 1,2) * DUT1 d UT1-UTC (seconds, Note 3) * ELONG d longitude (radians, east +ve, Note 4) * PHI d geodetic latitude (radians, Note 4) * HM d height above ellipsoid (m, geodetic Notes 4,6) * XP,YP d polar motion coordinates (radians, Note 5) * PHPA d pressure at the observer (hPa = mB, Note 6) * TC d ambient temperature at the observer (deg C) * RH d relative humidity at the observer (range 0-1) * WL d wavelength (micrometers, Note 7) * * Returned: * AOB d observed azimuth (radians: N=0,E=90) * ZOB d observed zenith distance (radians) * HOB d observed hour angle (radians) * DOB d observed declination (radians) * ROB d observed right ascension (CIO-based, radians) * J i status: +1 = dubious year (Note 2) * 0 = OK * -1 = unacceptable date * * Notes: * * 1) UTC1+UTC2 is quasi Julian Date (see Note 2), apportioned in any * convenient way between the two arguments, for example where UTC1 * is the Julian Day Number and UTC2 is the fraction of a day. * * However, JD cannot unambiguously represent UTC during a leap * second unless special measures are taken. The convention in the * present routine is that the JD day represents UTC days whether * the length is 86399, 86400 or 86401 SI seconds. * * Applications should use the routine iau_DTF2D to convert from * calendar date and time of day into 2-part quasi Julian Date, as * it implements the leap-second-ambiguity convention just * described. * * 2) The warning status "dubious year" flags UTCs that predate the * introduction of the time scale or that are too far in the * future to be trusted. See iau_DAT for further details. * * 3) UT1-UTC is tabulated in IERS bulletins. It increases by exactly * one second at the end of each positive UTC leap second, * introduced in order to keep UT1-UTC within +/- 0.9s. n.b. This * practice is under review, and in the future UT1-UTC may grow * essentially without limit. * * 4) The geographical coordinates are with respect to the WGS84 * reference ellipsoid. TAKE CARE WITH THE LONGITUDE SIGN: the * longitude required by the present routine is east-positive * (i.e. right-handed), in accordance with geographical convention. * * 5) The polar motion XP,YP can be obtained from IERS bulletins. The * values are the coordinates (in radians) of the Celestial * Intermediate Pole with respect to the International Terrestrial * Reference System (see IERS Conventions 2003), measured along the * meridians 0 and 90 deg west respectively. For many applications, * XP and YP can be set to zero. * * 6) If hm, the height above the ellipsoid of the observing station * in meters, is not known but phpa, the pressure in hPa (=mB), is * available, an adequate estimate of hm can be obtained from the * expression * * hm = -29.3 * tsl * log ( phpa / 1013.25 ); * * where tsl is the approximate sea-level air temperature in K * (See Astrophysical Quantities, C.W.Allen, 3rd edition, section * 52). Similarly, if the pressure phpa is not known, it can be * estimated from the height of the observing station, hm, as * follows: * * phpa = 1013.25 * exp ( -hm / ( 29.3 * tsl ) ); * * Note, however, that the refraction is nearly proportional to * the pressure and that an accurate phpa value is important for * precise work. * * 7) The argument WL specifies the observing wavelength in * micrometers. The transition from optical to radio is assumed to * occur at 100 micrometers (about 3000 GHz). * * 8) "Observed" Az,ZD means the position that would be seen by a * perfect geodetically aligned theodolite. (Zenith distance is * used rather than altitude in order to reflect the fact that no * allowance is made for depression of the horizon.) This is * related to the observed HA,Dec via the standard rotation, using * the geodetic latitude (corrected for polar motion), while the * observed HA and RA are related simply through the Earth rotation * angle and the site longitude. "Observed" RA,Dec or HA,Dec thus * means the position that would be seen by a perfect equatorial * with its polar axis aligned to the Earth's axis of rotation. * * 9) The accuracy of the result is limited by the corrections for * refraction, which use a simple A*tan(z) + B*tan^3(z) model. * Providing the meteorological parameters are known accurately and * there are no gross local effects, the predicted astrometric * coordinates should be within 0.05 arcsec (optical) or 1 arcsec * (radio) for a zenith distance of less than 70 degrees, better * than 30 arcsec (optical or radio) at 85 degrees and better * than 20 arcmin (optical) or 30 arcmin (radio) at the horizon. * * 10) The complementary routines iau_ATIO13 and iau_ATOI13 are self- * consistent to better than 1 microarcsecond all over the * celestial sphere. * * 11) It is advisable to take great care with units, as even unlikely * values of the input parameters are accepted and processed in * accordance with the models used. * * Called: * iau_APIO13 astrometry parameters, CIRS-observed, 2013 * iau_ATIOQ quick CIRS to observed * * This revision: 2016 February 2 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RI, DI, UTC1, UTC2, DUT1, ELONG, PHI, HM, XP, YP, : PHPA, TC, RH, WL, AOB, ZOB, HOB, DOB, ROB INTEGER J INTEGER JS DOUBLE PRECISION ASTROM(30) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Star-independent astrometry parameters for CIRS->observed. CALL iau_APIO13 ( UTC1, UTC2, DUT1, ELONG, PHI, HM, XP, YP, : PHPA, TC, RH, WL, ASTROM, JS ) * Abort if bad UTC. IF ( JS.LT.0 ) GO TO 9 * Transform CIRS to observed. CALL iau_ATIOQ ( RI, DI, ASTROM, AOB, ZOB, HOB, DOB, ROB ) * Return OK/warning status. 9 CONTINUE J = JS * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_ATIOQ ( RI, DI, ASTROM, AOB, ZOB, HOB, DOB, ROB ) *+ * - - - - - - - - - - * i a u _ A T I O Q * - - - - - - - - - - * * Quick CIRS to observed place transformation. * * Use of this routine is appropriate when efficiency is important and * where many star positions are all to be transformed for one date. * The star-independent astrometry parameters can be obtained by * calling iau_APIO[13] or iau_APCO[13]. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * RI d CIRS right ascension * DI d CIRS declination * ASTROM d(30) star-independent astrometry parameters: * (1) PM time interval (SSB, Julian years) * (2-4) SSB to observer (vector, au) * (5-7) Sun to observer (unit vector) * (8) distance from Sun to observer (au) * (9-11) v: barycentric observer velocity (vector, c) * (12) sqrt(1-|v|^2): reciprocal of Lorenz factor * (13-21) bias-precession-nutation matrix * (22) longitude + s' (radians) * (23) polar motion xp wrt local meridian (radians) * (24) polar motion yp wrt local meridian (radians) * (25) sine of geodetic latitude * (26) cosine of geodetic latitude * (27) magnitude of diurnal aberration vector * (28) "local" Earth rotation angle (radians) * (29) refraction constant A (radians) * (30) refraction constant B (radians) * * Returned: * AOB d observed azimuth (radians: N=0,E=90) * ZOB d observed zenith distance (radians) * HOB d observed hour angle (radians) * DOB d observed declination (CIO-based, radians) * ROB d observed right ascension (CIO-based, radians) * * Notes: * * 1) This routine returns zenith distance rather than altitude in * order to reflect the fact that no allowance is made for * depression of the horizon. * * 2) The accuracy of the result is limited by the corrections for * refraction, which use a simple A*tan(z) + B*tan^3(z) model. * Providing the meteorological parameters are known accurately and * there are no gross local effects, the predicted observed * coordinates should be within 0.05 arcsec (optical) or 1 arcsec * (radio) for a zenith distance of less than 70 degrees, better * than 30 arcsec (optical or radio) at 85 degrees and better than * 20 arcmin (optical) or 30 arcmin (radio) at the horizon. * * Without refraction, the complementary routines iau_ATIOQ and * iau_ATOIQ are self-consistent to better than 1 microarcsecond all * over the celestial sphere. With refraction included, consistency * falls off at high zenith distances, but is still better than * 0.05 arcsec at 85 degrees. * * 3) It is advisable to take great care with units, as even unlikely * values of the input parameters are accepted and processed in * accordance with the models used. * * 4) The CIRS RA,Dec is obtained from a star catalog mean place by * allowing for space motion, parallax, the Sun's gravitational lens * effect, annual aberration and precession-nutation. For star * positions in the ICRS, these effects can be applied by means of * the iau_ATCI13 (etc.) routines. Starting from classical "mean * place" systems, additional transformations will be needed first. * * 5) "Observed" Az,El means the position that would be seen by a * perfect geodetically aligned theodolite. This is obtained from * the CIRS RA,Dec by allowing for Earth orientation and diurnal * aberration, rotating from equator to horizon coordinates, and then * adjusting for refraction. The HA,Dec is obtained by rotating back * into equatorial coordinates, and is the position that would be * seen by a perfect equatorial with its polar axis aligned to the * Earth's axis of rotation. Finally, the RA is obtained by * subtracting the HA from the local ERA. * * 6) The star-independent CIRS-to-observed-place parameters in ASTROM * may be computed with iau_APIO[13] or iau_APCO[13]. If nothing has * changed significantly except the time, iau_APER[13] may be used * to perform the requisite adjustment to the ASTROM array. * * Called: * iau_S2C spherical coordinates to unit vector * iau_C2S p-vector to spherical * iau_ANP normalize angle into range 0 to 2pi * * This revision: 2017 July 10 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RI, DI, ASTROM(30), AOB, ZOB, HOB, DOB, ROB * Minimum sine and cosine of altitude for refraction purposes DOUBLE PRECISION SELMIN, CELMIN PARAMETER ( SELMIN = 0.05D0, CELMIN = 1D-6 ) DOUBLE PRECISION V(3), X, Y, Z, XHD, YHD, ZHD, F, : XHDT, YHDT, ZHDT, XAET, YAET, ZAET, AZOBS, : R, TZ, W, DEL, COSDEL, XAEO, YAEO, ZAEO, : ZDOBS, HMOBS, DCOBS, RAOBS DOUBLE PRECISION iau_ANP * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * CIRS RA,Dec to Cartesian -HA,Dec. CALL iau_S2C ( RI-ASTROM(28), DI, V ) X = V(1) Y = V(2) Z = V(3) * Polar motion. XHD = X + ASTROM(23)*Z YHD = Y - ASTROM(24)*Z ZHD = Z - ASTROM(23)*X + ASTROM(24)*Y * Diurnal aberration. F = ( 1D0 - ASTROM(27)*YHD ) XHDT = F * XHD YHDT = F * ( YHD + ASTROM(27) ) ZHDT = F * ZHD * Cartesian -HA,Dec to Cartesian Az,El (S=0,E=90). XAET = ASTROM(25)*XHDT - ASTROM(26)*ZHDT YAET = YHDT ZAET = ASTROM(26)*XHDT + ASTROM(25)*ZHDT * Azimuth (N=0,E=90). IF ( XAET.NE.0D0 .OR. YAET.NE.0D0 ) THEN AZOBS = ATAN2 ( YAET, -XAET ) ELSE AZOBS = 0D0 END IF * ---------- * Refraction * ---------- * Cosine and sine of altitude, with precautions. R = MAX ( SQRT ( XAET*XAET + YAET*YAET ), CELMIN) Z = MAX ( ZAET, SELMIN ) * A*tan(z)+B*tan^3(z) model, with Newton-Raphson correction. TZ = R/Z W = ASTROM(30)*TZ*TZ DEL = ( ASTROM(29) + W ) * TZ / : ( 1D0 + ( ASTROM(29) + 3D0*W ) / ( Z*Z ) ) * Apply the change, giving observed vector. COSDEL = 1D0 - DEL*DEL/2D0 F = COSDEL - DEL*Z/R XAEO = XAET*F YAEO = YAET*F ZAEO = COSDEL*ZAET + DEL*R * Observed ZD. ZDOBS = ATAN2 ( SQRT ( XAEO*XAEO + YAEO*YAEO ), ZAEO ) * Az/El vector to HA,Dec vector (both right-handed). V(1) = ASTROM(25)*XAEO + ASTROM(26)*ZAEO V(2) = YAEO V(3) = - ASTROM(26)*XAEO + ASTROM(25)*ZAEO * To spherical -HA,Dec. CALL iau_C2S ( V, HMOBS, DCOBS ) * Right ascension (with respect to CIO). RAOBS = ASTROM(28) + HMOBS * Return the results. AOB = iau_ANP(AZOBS) ZOB = ZDOBS HOB = -HMOBS DOB = DCOBS ROB = iau_ANP(RAOBS) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_ATOC13 ( TYPE, OB1, OB2, UTC1, UTC2, DUT1, : ELONG, PHI, HM, XP, YP, PHPA, TC, RH, WL, : RC, DC, J ) *+ * - - - - - - - - - - - * i a u _ A T O C 1 3 * - - - - - - - - - - - * * Observed place at a groundbased site to to ICRS astrometric RA,Dec. * The caller supplies UTC, site coordinates, ambient air conditions * and observing wavelength. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * TYPE c*(*) type of coordinates - 'R', 'H' or 'A' (Notes 1,2) * OB1 d observed Az, HA or RA (radians; Az is N=0,E=90) * OB2 d observed ZD or Dec (radians) * UTC1 d UTC as a 2-part... * UTC2 d ...quasi Julian Date (Notes 3,4) * DUT1 d UT1-UTC (seconds, Note 5) * ELONG d longitude (radians, east +ve, Note 6) * PHI d geodetic latitude (radians, Note 6) * HM d height above ellipsoid (m, geodetic Notes 6,8) * XP,YP d polar motion coordinates (radians, Note 7) * PHPA d pressure at the observer (hPa = mB, Note 8) * TC d ambient temperature at the observer (deg C) * RH d relative humidity at the observer (range 0-1) * WL d wavelength (micrometers, Note 9) * * Returned: * RC,DC d ICRS astrometric RA,Dec (radians) * J i status: +1 = dubious year (Note 4) * 0 = OK * -1 = unacceptable date * * Notes: * * 1) "Observed" Az,ZD means the position that would be seen by a * perfect geodetically aligned theodolite. (Zenith distance is * used rather than altitude in order to reflect the fact that no * allowance is made for depression of the horizon.) This is * related to the observed HA,Dec via the standard rotation, using * the geodetic latitude (corrected for polar motion), while the * observed HA and RA are related simply through the Earth rotation * angle and the site longitude. "Observed" RA,Dec or HA,Dec thus * means the position that would be seen by a perfect equatorial * with its polar axis aligned to the Earth's axis of rotation. * * 2) Only the first character of the TYPE argument is significant. * 'R' or 'r' indicates that OB1 and OB2 are the observed right * ascension and declination; 'H' or 'h' indicates that they are * hour angle (west +ve) and declination; anything else ('A' or * 'a' is recommended) indicates that OB1 and OB2 are azimuth * (north zero, east 90 deg) and zenith distance. * * 3) UTC1+UTC2 is quasi Julian Date (see Note 2), apportioned in any * convenient way between the two arguments, for example where UTC1 * is the Julian Day Number and UTC2 is the fraction of a day. * * However, JD cannot unambiguously represent UTC during a leap * second unless special measures are taken. The convention in the * present routine is that the JD day represents UTC days whether * the length is 86399, 86400 or 86401 SI seconds. * * Applications should use the routine iau_DTF2D to convert from * calendar date and time of day into 2-part quasi Julian Date, as * it implements the leap-second-ambiguity convention just * described. * * 4) The warning status "dubious year" flags UTCs that predate the * introduction of the time scale or that are too far in the * future to be trusted. See iau_DAT for further details. * * 5) UT1-UTC is tabulated in IERS bulletins. It increases by exactly * one second at the end of each positive UTC leap second, * introduced in order to keep UT1-UTC within +/- 0.9s. n.b. This * practice is under review, and in the future UT1-UTC may grow * essentially without limit. * * 6) The geographical coordinates are with respect to the WGS84 * reference ellipsoid. TAKE CARE WITH THE LONGITUDE SIGN: the * longitude required by the present routine is east-positive * (i.e. right-handed), in accordance with geographical convention. * * 7) The polar motion XP,YP can be obtained from IERS bulletins. The * values are the coordinates (in radians) of the Celestial * Intermediate Pole with respect to the International Terrestrial * Reference System (see IERS Conventions 2003), measured along the * meridians 0 and 90 deg west respectively. For many applications, * XP and YP can be set to zero. * * 8) If hm, the height above the ellipsoid of the observing station * in meters, is not known but phpa, the pressure in hPa (=mB), is * available, an adequate estimate of hm can be obtained from the * expression * * hm = -29.3 * tsl * log ( phpa / 1013.25 ); * * where tsl is the approximate sea-level air temperature in K * (See Astrophysical Quantities, C.W.Allen, 3rd edition, section * 52). Similarly, if the pressure phpa is not known, it can be * estimated from the height of the observing station, hm, as * follows: * * phpa = 1013.25 * exp ( -hm / ( 29.3 * tsl ) ); * * Note, however, that the refraction is nearly proportional to * the pressure and that an accurate phpa value is important for * precise work. * * 9) The argument WL specifies the observing wavelength in * micrometers. The transition from optical to radio is assumed to * occur at 100 micrometers (about 3000 GHz). * * 10) The accuracy of the result is limited by the corrections for * refraction, which use a simple A*tan(z) + B*tan^3(z) model. * Providing the meteorological parameters are known accurately and * there are no gross local effects, the predicted astrometric * coordinates should be within 0.05 arcsec (optical) or 1 arcsec * (radio) for a zenith distance of less than 70 degrees, better * than 30 arcsec (optical or radio) at 85 degrees and better * than 20 arcmin (optical) or 30 arcmin (radio) at the horizon. * * Without refraction, the complementary routines iau_ATCO13 and * iau_ATOC13 are self-consistent to better than 1 microarcsecond * all over the celestial sphere. With refraction included, * consistency falls off at high zenith distances, but is still * better than 0.05 arcsec at 85 degrees. * * 11) It is advisable to take great care with units, as even unlikely * values of the input parameters are accepted and processed in * accordance with the models used. * * Called: * iau_APCO13 astrometry parameters, ICRS-observed * iau_ATOIQ quick observed to CIRS * iau_ATICQ quick CIRS to ICRS * * This revision: 2013 August 3 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE CHARACTER*(*) TYPE DOUBLE PRECISION OB1, OB2, UTC1, UTC2, DUT1, : ELONG, PHI, HM, XP, YP, PHPA, TC, RH, WL, RC, DC INTEGER J INTEGER JS DOUBLE PRECISION ASTROM(30), EO, RI, DI * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Star-independent astrometry parameters. CALL iau_APCO13 ( UTC1, UTC2, DUT1, ELONG, PHI, HM, XP, YP, : PHPA, TC, RH, WL, ASTROM, EO, JS ) * Abort if bad UTC. if ( JS.LT.0 ) GO TO 9 * Transform observed to CIRS. CALL iau_ATOIQ ( TYPE, OB1, OB2, ASTROM, RI, DI ) * Transform CIRS to ICRS. CALL iau_ATICQ ( RI, DI, ASTROM, RC, DC ) * Return OK/warning status. 9 CONTINUE J = JS * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_ATOI13 ( TYPE, OB1, OB2, UTC1, UTC2, DUT1, : ELONG, PHI, HM, XP, YP, PHPA, TC, RH, WL, : RI, DI, J ) *+ * - - - - - - - - - - - * i a u _ A T O I 1 3 * - - - - - - - - - - - * * Observed place to CIRS. The caller supplies UTC, site coordinates, * ambient air conditions and observing wavelength. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * TYPE c*(*) type of coordinates - 'R', 'H' or 'A' (Notes 1,2) * OB1 d observed Az, HA or RA (radians; Az is N=0,E=90) * OB2 d observed ZD or Dec (radians) * UTC1 d UTC as a 2-part... * UTC2 d ...quasi Julian Date (Notes 3,4) * DUT1 d UT1-UTC (seconds, Note 5) * ELONG d longitude (radians, east +ve, Note 6) * PHI d geodetic latitude (radians, Note 6) * HM d height above the ellipsoid (meters, Notes 6,8) * XP,YP d polar motion coordinates (radians, Note 7) * PHPA d pressure at the observer (hPa = mB, Note 8) * TC d ambient temperature at the observer (deg C) * RH d relative humidity at the observer (range 0-1) * WL d wavelength (micrometers, Note 9) * * Returned: * RI d CIRS right ascension (CIO-based, radians) * DI d CIRS declination (radians) * J i status: +1 = dubious year (Note 2) * 0 = OK * -1 = unacceptable date * * Notes: * * 1) "Observed" Az,ZD means the position that would be seen by a * perfect geodetically aligned theodolite. (Zenith distance is * used rather than altitude in order to reflect the fact that no * allowance is made for depression of the horizon.) This is * related to the observed HA,Dec via the standard rotation, using * the geodetic latitude (corrected for polar motion), while the * observed HA and RA are related simply through the Earth rotation * angle and the site longitude. "Observed" RA,Dec or HA,Dec thus * means the position that would be seen by a perfect equatorial * with its polar axis aligned to the Earth's axis of rotation. * * 2) Only the first character of the TYPE argument is significant. * 'R' or 'r' indicates that OB1 and OB2 are the observed right * ascension and declination; 'H' or 'h' indicates that they are * hour angle (west +ve) and declination; anything else ('A' or * 'a' is recommended) indicates that OB1 and OB2 are azimuth * (north zero, east 90 deg) and zenith distance. * * 3) UTC1+UTC2 is quasi Julian Date (see Note 2), apportioned in any * convenient way between the two arguments, for example where UTC1 * is the Julian Day Number and UTC2 is the fraction of a day. * * However, JD cannot unambiguously represent UTC during a leap * second unless special measures are taken. The convention in the * present routine is that the JD day represents UTC days whether * the length is 86399, 86400 or 86401 SI seconds. * * Applications should use the routine iau_DTF2D to convert from * calendar date and time of day into 2-part quasi Julian Date, as * it implements the leap-second-ambiguity convention just * described. * * 4) The warning status "dubious year" flags UTCs that predate the * introduction of the time scale or that are too far in the * future to be trusted. See iau_DAT for further details. * * 5) UT1-UTC is tabulated in IERS bulletins. It increases by exactly * one second at the end of each positive UTC leap second, * introduced in order to keep UT1-UTC within +/- 0.9s. n.b. This * practice is under review, and in the future UT1-UTC may grow * essentially without limit. * * 6) The geographical coordinates are with respect to the WGS84 * reference ellipsoid. TAKE CARE WITH THE LONGITUDE SIGN: the * longitude required by the present routine is east-positive * (i.e. right-handed), in accordance with geographical convention. * * 7) The polar motion XP,YP can be obtained from IERS bulletins. The * values are the coordinates (in radians) of the Celestial * Intermediate Pole with respect to the International Terrestrial * Reference System (see IERS Conventions 2003), measured along the * meridians 0 and 90 deg west respectively. For many applications, * XP and YP can be set to zero. * * 8) If hm, the height above the ellipsoid of the observing station * in meters, is not known but phpa, the pressure in hPa (=mB), is * available, an adequate estimate of hm can be obtained from the * expression * * hm = -29.3 * tsl * log ( phpa / 1013.25 ); * * where tsl is the approximate sea-level air temperature in K * (See Astrophysical Quantities, C.W.Allen, 3rd edition, section * 52). Similarly, if the pressure phpa is not known, it can be * estimated from the height of the observing station, hm, as * follows: * * phpa = 1013.25 * exp ( -hm / ( 29.3 * tsl ) ); * * Note, however, that the refraction is nearly proportional to * the pressure and that an accurate phpa value is important for * precise work. * * 9) The argument WL specifies the observing wavelength in * micrometers. The transition from optical to radio is assumed to * occur at 100 micrometers (about 3000 GHz). * * 10) The accuracy of the result is limited by the corrections for * refraction, which use a simple A*tan(z) + B*tan^3(z) model. * Providing the meteorological parameters are known accurately and * there are no gross local effects, the predicted astrometric * coordinates should be within 0.05 arcsec (optical) or 1 arcsec * (radio) for a zenith distance of less than 70 degrees, better * than 30 arcsec (optical or radio) at 85 degrees and better * than 20 arcmin (optical) or 30 arcmin (radio) at the horizon. * * Without refraction, the complementary routines iau_ATIO13 and * iau_ATOI13 are self-consistent to better than 1 microarcsecond * all over the celestial sphere. With refraction included, * consistency falls off at high zenith distances, but is still * better than 0.05 arcsec at 85 degrees. * * 11) It is advisable to take great care with units, as even unlikely * values of the input parameters are accepted and processed in * accordance with the models used. * * Called: * iau_APIO13 astrometry parameters, CIRS-observed, 2013 * iau_ATOIQ quick observed to CIRS * * This revision: 2013 July 6 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE CHARACTER*(*) TYPE DOUBLE PRECISION OB1, OB2, UTC1, UTC2, DUT1, ELONG, PHI, HM, : XP, YP, PHPA, TC, RH, WL, RI, DI INTEGER J INTEGER JS DOUBLE PRECISION ASTROM(30) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Star-independent astrometry parameters for CIRS->observed. CALL iau_APIO13 ( UTC1, UTC2, DUT1, ELONG, PHI, HM, XP, YP, : PHPA, TC, RH, WL, ASTROM, JS ) * Abort if bad UTC. IF ( JS.LT.0 ) GO TO 9 * Transform observed to CIRS. CALL iau_ATOIQ ( TYPE, OB1, OB2, ASTROM, RI, DI ) * Return OK/warning status. 9 CONTINUE J = JS * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_ATOIQ ( TYPE, OB1, OB2, ASTROM, RI, DI ) *+ * - - - - - - - - - - * i a u _ A T O I Q * - - - - - - - - - - * * Quick observed place to CIRS, given the star-independent astrometry * parameters. * * Use of this routine is appropriate when efficiency is important and * where many star positions are all to be transformed for one date. * The star-independent astrometry parameters can be obtained by calling * iau_APIO[13] or iau_APCO[13]. * * Status: support routine. * * Given: * TYPE c*(*) type of coordinates: 'R', 'H' or 'A' (Note 2) * OB1 d observed Az, HA or RA (radians; Az is N=0,E=90) * OB2 d observed ZD or Dec (radians) * ASTROM d(30) star-independent astrometry parameters: * (1) PM time interval (SSB, Julian years) * (2-4) SSB to observer (vector, au) * (5-7) Sun to observer (unit vector) * (8) distance from Sun to observer (au) * (9-11) v: barycentric observer velocity (vector, c) * (12) sqrt(1-|v|^2): reciprocal of Lorenz factor * (13-21) bias-precession-nutation matrix * (22) longitude + s' (radians) * (23) polar motion xp wrt local meridian (radians) * (24) polar motion yp wrt local meridian (radians) * (25) sine of geodetic latitude * (26) cosine of geodetic latitude * (27) magnitude of diurnal aberration vector * (28) "local" Earth rotation angle (radians) * (29) refraction constant A (radians) * (30) refraction constant B (radians) * * Returned: * RI d CIRS right ascension (CIO-based, radians) * DI d CIRS declination (radians) * * Notes: * * 1) "Observed" Az,El means the position that would be seen by a * perfect geodetically aligned theodolite. This is related to the * observed HA,Dec via the standard rotation, using the geodetic * latitude (corrected for polar motion), while the observed HA and * RA are related simply through the Earth rotation angle and the * site longitude. "Observed" RA,Dec or HA,Dec thus means the * position that would be seen by a perfect equatorial with its polar * axis aligned to the Earth's axis of rotation. By removing from * the observed place the effects of atmospheric refraction and * diurnal aberration, the CIRS RA,Dec is obtained. * * 2) Only the first character of the type argument is significant. * 'R' or 'r' indicates that OB1 and OB2 are the observed right * ascension and declination; 'H' or 'h' indicates that they are * hour angle (west +ve) and declination; anything else ('A' or * 'a' is recommended) indicates that OB1 and OB2 are azimuth (north * zero, east 90 deg) and zenith distance. (Zenith distance is used * rather than altitude in order to reflect the fact that no * allowance is made for depression of the horizon.) * * 3) The accuracy of the result is limited by the corrections for * refraction, which use a simple A*tan(z) + B*tan^3(z) model. * Providing the meteorological parameters are known accurately and * there are no gross local effects, the predicted observed * coordinates should be within 0D05 arcsec (optical) or 1 arcsec * (radio) for a zenith distance of less than 70 degrees, better * than 30 arcsec (optical or radio) at 85 degrees and better than * 20 arcmin (optical) or 30 arcmin (radio) at the horizon. * * Without refraction, the complementary routines iau_ATIOQ and * iau_ATOIQ are self-consistent to better than 1 microarcsecond all * over the celestial sphere. With refraction included, consistency * falls off at high zenith distances, but is still better than * 0.05 arcsec at 85 degrees. * * 4) It is advisable to take great care with units, as even unlikely * values of the input parameters are accepted and processed in * accordance with the models used. * * 5) The star-independent astrometry parameters in ASTROM may be * computed with iau_APIO13 (or iau_APIO). If nothing has changed * significantly except the time, iau_APER13 (or iau_APER) may be * used to perform the requisite adjustment to the ASTROM array. * * Called: * iau_S2C spherical coordinates to unit vector * iau_C2S p-vector to spherical * iau_ANP normalize angle into range 0 to 2pi * * This revision: 2013 August 3 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE CHARACTER*(*) TYPE DOUBLE PRECISION OB1, OB2, ASTROM(30), RI, DI CHARACTER C DOUBLE PRECISION C1, C2, SPHI, CPHI, CE, XAEO, YAEO, ZAEO, V(3), : XMHDO, YMHDO, ZMHDO, AZ, SZ, ZDO, REFA, REFB, : TZ, DREF, ZDT, XAET, YAET, ZAET, : XMHDA, YMHDA, ZMHDA, F, XHD, YHD, ZHD, : XPL, YPL, W, HMA DOUBLE PRECISION iau_ANP * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Coordinate type. C = TYPE(:1) * Coordinates. C1 = OB1 C2 = OB2 * Sin, cos of latitude. SPHI = ASTROM(25) CPHI = ASTROM(26) * Standardize coordinate type. IF ( C.EQ.'r' .OR. C.EQ.'R' ) THEN C = 'R' ELSE IF ( C.EQ.'h' .OR. C.EQ.'H' ) THEN C = 'H' ELSE C = 'A' END IF * If Az,ZD, convert to Cartesian (S=0,E=90). IF ( C.EQ.'A' ) THEN CE = SIN(C2) XAEO = - COS(C1) * CE YAEO = SIN(C1) * CE ZAEO = COS(C2) ELSE * If RA,Dec, convert to HA,Dec. IF ( C.EQ.'R' ) C1 = ASTROM(28) - C1 * To Cartesian -HA,DeC. CALL iau_S2C ( -C1, C2, V ) XMHDO = V(1) YMHDO = V(2) ZMHDO = V(3) * To Cartesian Az,El (S=0,E=90). XAEO = SPHI*XMHDO - CPHI*ZMHDO YAEO = YMHDO ZAEO = CPHI*XMHDO + SPHI*ZMHDO END IF * Azimuth (S=0,E=90). IF ( XAEO.NE.0D0 .OR. YAEO.NE.0D0 ) THEN AZ = ATAN2(YAEO,XAEO) ELSE AZ = 0D0 END IF * Sine of observed ZD, and observed ZD. SZ = SQRT ( XAEO*XAEO + YAEO*YAEO ) ZDO = ATAN2 ( SZ, ZAEO ) * * Refraction * ---------- * Fast algorithm using two constant model. REFA = ASTROM(29) REFB = ASTROM(30) TZ = SZ / ZAEO DREF = ( REFA + REFB*TZ*TZ ) * TZ ZDT = ZDO + DREF * To Cartesian Az,ZD. CE = SIN(ZDT) XAET = COS(AZ) * CE YAET = SIN(AZ) * CE ZAET = COS(ZDT) * Cartesian Az,ZD to Cartesian -HA,DeC. XMHDA = SPHI*XAET + CPHI*ZAET YMHDA = YAET ZMHDA = - CPHI*XAET + SPHI*ZAET * Diurnal aberration. F = ( 1D0 + ASTROM(27)*YMHDA ) XHD = F * XMHDA YHD = F * ( YMHDA - ASTROM(27) ) ZHD = F * ZMHDA * Polar motion. XPL = ASTROM(23) YPL = ASTROM(24) W = XPL*XHD - YPL*YHD + ZHD V(1) = XHD - XPL*W V(2) = YHD + YPL*W V(3) = W - ( XPL*XPL + YPL*YPL ) * ZHD * To spherical -HA,DeC. CALL iau_C2S ( V, HMA, DI ) * Right ascension. RI = iau_ANP ( ASTROM(28) + HMA ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_BI00 ( DPSIBI, DEPSBI, DRA ) *+ * - - - - - - - - - * i a u _ B I 0 0 * - - - - - - - - - * * Frame bias components of IAU 2000 precession-nutation models (part of * MHB2000 with additions). * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Returned: * DPSIBI,DEPSBI d longitude and obliquity corrections * DRA d the ICRS RA of the J2000.0 mean equinox * * Notes: * * 1) The frame bias corrections in longitude and obliquity (radians) * are required in order to correct for the offset between the GCRS * pole and the J2000.0 mean pole. They define, with respect to the * GCRS frame, a J2000.0 mean pole that is consistent with the rest * of the IAU 2000A precession-nutation model. * * 2) In addition to the displacement of the pole, the complete * description of the frame bias requires also an offset in right * ascension. This is not part of the IAU 2000A model, and is from * Chapront et al. (2002). It is returned in radians. * * 3) This is a supplemented implementation of one aspect of the IAU * 2000A nutation model, formally adopted by the IAU General Assembly * in 2000, namely MHB2000 (Mathews et al. 2002). * * References: * * Chapront, J., Chapront-Touze, M. & Francou, G., Astron.Astrophys., * 387, 700, 2002. * * Mathews, P.M., Herring, T.A., Buffet, B.A., "Modeling of nutation * and precession New nutation series for nonrigid Earth and * insights into the Earth's interior", J.Geophys.Res., 107, B4, * 2002. The MHB2000 code itself was obtained on 9th September 2002 * from ftp://maia.usno.navy.mil/conv2000/chapter5/IAU2000A. * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DPSIBI, DEPSBI, DRA * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * The frame bias corrections in longitude and obliquity DOUBLE PRECISION DPBIAS, DEBIAS PARAMETER ( DPBIAS = -0.041775D0 * DAS2R, : DEBIAS = -0.0068192D0 * DAS2R ) * The ICRS RA of the J2000.0 equinox (Chapront et al., 2002) DOUBLE PRECISION DRA0 PARAMETER ( DRA0 = -0.0146D0 * DAS2R ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Return the results (which are fixed). DPSIBI = DPBIAS DEPSBI = DEBIAS DRA = DRA0 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_BP00 ( DATE1, DATE2, RB, RP, RBP ) *+ * - - - - - - - - - * i a u _ B P 0 0 * - - - - - - - - - * * Frame bias and precession, IAU 2000. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * RB d(3,3) frame bias matrix (Note 2) * RP d(3,3) precession matrix (Note 3) * RBP d(3,3) bias-precession matrix (Note 4) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The matrix RB transforms vectors from GCRS to mean J2000.0 by * applying frame bias. * * 3) The matrix RP transforms vectors from J2000.0 mean equator and * equinox to mean equator and equinox of date by applying * precession. * * 4) The matrix RBP transforms vectors from GCRS to mean equator and * equinox of date by applying frame bias then precession. It is the * product RP x RB. * * Called: * iau_BI00 frame bias components, IAU 2000 * iau_PR00 IAU 2000 precession adjustments * iau_IR initialize r-matrix to identity * iau_RX rotate around X-axis * iau_RY rotate around Y-axis * iau_RZ rotate around Z-axis * iau_RXR product of two r-matrices * iau_CR copy r-matrix * * Reference: * * Capitaine, N., Chapront, J., Lambert, S. and Wallace, P., * "Expressions for the Celestial Intermediate Pole and Celestial * Ephemeris Origin consistent with the IAU 2000A precession-nutation * model", Astron.Astrophys. 400, 1145-1154 (2003) * * n.b. The celestial ephemeris origin (CEO) was renamed "celestial * intermediate origin" (CIO) by IAU 2006 Resolution 2. * * This revision: 2013 August 21 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, RB(3,3), RP(3,3), RBP(3,3) * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian century DOUBLE PRECISION DJC PARAMETER ( DJC = 36525D0 ) * J2000.0 obliquity (Lieske et al. 1977) DOUBLE PRECISION EPS0 PARAMETER ( EPS0 = 84381.448D0 * DAS2R ) DOUBLE PRECISION T, DPSIBI, DEPSBI, DRA0, PSIA77, OMA77, CHIA, : DPSIPR, DEPSPR, PSIA, OMA, RBW(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Interval between fundamental epoch J2000.0 and current date (JC). T = ( ( DATE1-DJ00 ) + DATE2 ) / DJC * Frame bias. CALL iau_BI00 ( DPSIBI, DEPSBI, DRA0 ) * Precession angles (Lieske et al. 1977) PSIA77 = ( 5038.7784D0 + : ( -1.07259D0 + : ( -0.001147D0 ) * T ) * T ) * T * DAS2R OMA77 = EPS0 + ( : ( 0.05127D0 + : ( -0.007726D0 ) * T ) * T ) * T * DAS2R CHIA = ( 10.5526D0 + : ( -2.38064D0 + : ( -0.001125D0 ) * T ) * T ) * T * DAS2R * Apply IAU 2000 precession corrections. CALL iau_PR00 ( DATE1, DATE2, DPSIPR, DEPSPR ) PSIA = PSIA77 + DPSIPR OMA = OMA77 + DEPSPR * Frame bias matrix: GCRS to J2000.0. CALL iau_IR ( RBW ) CALL iau_RZ ( DRA0, RBW ) CALL iau_RY ( DPSIBI*SIN(EPS0), RBW ) CALL iau_RX ( -DEPSBI, RBW ) CALL iau_CR ( RBW, RB ) * Precession matrix: J2000.0 to mean of date. CALL iau_IR ( RP ) CALL iau_RX ( EPS0, RP ) CALL iau_RZ ( -PSIA, RP ) CALL iau_RX ( -OMA, RP ) CALL iau_RZ ( CHIA, RP ) * Bias-precession matrix: GCRS to mean of date. CALL iau_RXR ( RP, RBW, RBP ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_BP06 ( DATE1, DATE2, RB, RP, RBP ) *+ * - - - - - - - - - * i a u _ B P 0 6 * - - - - - - - - - * * Frame bias and precession, IAU 2006. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * RB d(3,3) frame bias matrix (Note 2) * RP d(3,3) precession matrix (Note 3) * RBP d(3,3) bias-precession matrix (Note 4) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The matrix RB transforms vectors from GCRS to mean J2000.0 by * applying frame bias. * * 3) The matrix RP transforms vectors from mean J2000.0 to mean of date * by applying precession. * * 4) The matrix RBP transforms vectors from GCRS to mean of date by * applying frame bias then precession. It is the product RP x RB. * * Called: * iau_PFW06 bias-precession F-W angles, IAU 2006 * iau_FW2M F-W angles to r-matrix * iau_PMAT06 PB matrix, IAU 2006 * iau_TR transpose r-matrix * iau_RXR product of two r-matrices * * References: * * Capitaine, N. & Wallace, P.T., 2006, Astron.Astrophys. 450, 855 * * Wallace, P.T. & Capitaine, N., 2006, Astron.Astrophys. 459, 981 * * This revision: 2013 August 21 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, RB(3,3), RP(3,3), RBP(3,3) * JD for MJD 0 DOUBLE PRECISION DJM0 PARAMETER (DJM0 = 2400000.5D0 ) * Reference epoch (J2000.0), MJD DOUBLE PRECISION DJM00 PARAMETER ( DJM00 = 51544.5D0 ) DOUBLE PRECISION GAMB, PHIB, PSIB, EPSA, RBPW(3,3), RBT(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * B matrix. CALL iau_PFW06 ( DJM0, DJM00, GAMB, PHIB, PSIB, EPSA ) CALL iau_FW2M ( GAMB, PHIB, PSIB, EPSA, RB ) * PxB matrix (temporary). CALL iau_PMAT06 ( DATE1, DATE2, RBPW ) * P matrix. CALL iau_TR ( RB, RBT ) CALL iau_RXR ( RBPW, RBT, RP ) * PxB matrix. CALL iau_CR ( RBPW, RBP ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_BPN2XY ( RBPN, X, Y ) *+ * - - - - - - - - - - - * i a u _ B P N 2 X Y * - - - - - - - - - - - * * Extract from the bias-precession-nutation matrix the X,Y coordinates * of the Celestial Intermediate Pole. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * RBPN d(3,3) celestial-to-true matrix (Note 1) * * Returned: * X,Y d Celestial Intermediate Pole (Note 2) * * Notes: * * 1) The matrix RBPN transforms vectors from GCRS to true equator (and * CIO or equinox) of date, and therefore the Celestial Intermediate * Pole unit vector is the bottom row of the matrix. * * 2) X,Y are components of the Celestial Intermediate Pole unit vector * in the Geocentric Celestial Reference System. * * Reference: * * Capitaine, N., Chapront, J., Lambert, S. and Wallace, P., * "Expressions for the Celestial Intermediate Pole and Celestial * Ephemeris Origin consistent with the IAU 2000A precession-nutation * model", Astron.Astrophys. 400, 1145-1154 (2003) * * n.b. The celestial ephemeris origin (CEO) was renamed "celestial * intermediate origin" (CIO) by IAU 2006 Resolution 2. * * This revision: 2010 January 18 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RBPN(3,3), X, Y * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Extract the X,Y coordinates. X = RBPN(3,1) Y = RBPN(3,2) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_C2I00A ( DATE1, DATE2, RC2I ) *+ * - - - - - - - - - - - * i a u _ C 2 I 0 0 A * - - - - - - - - - - - * * Form the celestial-to-intermediate matrix for a given date using the * IAU 2000A precession-nutation model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * RC2I d(3,3) celestial-to-intermediate matrix (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The matrix RC2I is the first stage in the transformation from * celestial to terrestrial coordinates: * * [TRS] = RPOM * R_3(ERA) * RC2I * [CRS] * * = RC2T * [CRS] * * where [CRS] is a vector in the Geocentric Celestial Reference * System and [TRS] is a vector in the International Terrestrial * Reference System (see IERS Conventions 2003), ERA is the Earth * Rotation Angle and RPOM is the polar motion matrix. * * 3) A faster, but slightly less accurate result (about 1 mas), can be * obtained by using instead the iau_C2I00B routine. * * Called: * iau_PNM00A classical NPB matrix, IAU 2000A * iau_C2IBPN celestial-to-intermediate matrix, given NPB matrix * * References: * * Capitaine, N., Chapront, J., Lambert, S. and Wallace, P., * "Expressions for the Celestial Intermediate Pole and Celestial * Ephemeris Origin consistent with the IAU 2000A precession-nutation * model", Astron.Astrophys. 400, 1145-1154 (2003) * * n.b. The celestial ephemeris origin (CEO) was renamed "celestial * intermediate origin" (CIO) by IAU 2006 Resolution 2. * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2010 January 18 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, RC2I(3,3) DOUBLE PRECISION RBPN(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Obtain the celestial-to-true matrix (IAU 2000A). CALL iau_PNM00A ( DATE1, DATE2, RBPN ) * Form the celestial-to-intermediate matrix. CALL iau_C2IBPN ( DATE1, DATE2, RBPN, RC2I ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_C2I00B ( DATE1, DATE2, RC2I ) *+ * - - - - - - - - - - - * i a u _ C 2 I 0 0 B * - - - - - - - - - - - * * Form the celestial-to-intermediate matrix for a given date using the * IAU 2000B precession-nutation model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * RC2I d(3,3) celestial-to-intermediate matrix (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The matrix RC2I is the first stage in the transformation from * celestial to terrestrial coordinates: * * [TRS] = RPOM * R_3(ERA) * RC2I * [CRS] * * = RC2T * [CRS] * * where [CRS] is a vector in the Geocentric Celestial Reference * System and [TRS] is a vector in the International Terrestrial * Reference System (see IERS Conventions 2003), ERA is the Earth * Rotation Angle and RPOM is the polar motion matrix. * * 3) The present routine is faster, but slightly less accurate (about * 1 mas), than the iau_C2I00A routine. * * Called: * iau_PNM00B classical NPB matrix, IAU 2000B * iau_C2IBPN celestial-to-intermediate matrix, given NPB matrix * * References: * * Capitaine, N., Chapront, J., Lambert, S. and Wallace, P., * "Expressions for the Celestial Intermediate Pole and Celestial * Ephemeris Origin consistent with the IAU 2000A precession-nutation * model", Astron.Astrophys. 400, 1145-1154 (2003) * * n.b. The celestial ephemeris origin (CEO) was renamed "celestial * intermediate origin" (CIO) by IAU 2006 Resolution 2. * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2010 January 18 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, RC2I(3,3) DOUBLE PRECISION RBPN(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Obtain the celestial-to-true matrix (IAU 2000B). CALL iau_PNM00B ( DATE1, DATE2, RBPN ) * Form the celestial-to-intermediate matrix. CALL iau_C2IBPN ( DATE1, DATE2, RBPN, RC2I ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_C2I06A ( DATE1, DATE2, RC2I ) *+ * - - - - - - - - - - - * i a u _ C 2 I 0 6 A * - - - - - - - - - - - * * Form the celestial-to-intermediate matrix for a given date using the * IAU 2006 precession and IAU 2000A nutation models. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * RC2I d(3,3) celestial-to-intermediate matrix (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The matrix RC2I is the first stage in the transformation from * celestial to terrestrial coordinates: * * [TRS] = RPOM * R_3(ERA) * RC2I * [CRS] * * = RC2T * [CRS] * * where [CRS] is a vector in the Geocentric Celestial Reference * System and [TRS] is a vector in the International Terrestrial * Reference System (see IERS Conventions 2003), ERA is the Earth * Rotation Angle and RPOM is the polar motion matrix. * * Called: * iau_PNM06A classical NPB matrix, IAU 2006/2000A * iau_BPN2XY extract CIP X,Y coordinates from NPB matrix * iau_S06 the CIO locator s, given X,Y, IAU 2006 * iau_C2IXYS celestial-to-intermediate matrix, given X,Y and s * * References: * * McCarthy, D. D., Petit, G. (eds.), 2004, IERS Conventions (2003), * IERS Technical Note No. 32, BKG * * Capitaine, N. & Wallace, P.T., 2006, Astron.Astrophys. 450, 855 * * Wallace, P.T. & Capitaine, N., 2006, Astron.Astrophys. 459, 981 * * This revision: 2007 May 11 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, RC2I(3,3) DOUBLE PRECISION RBPN(3,3), X, Y, S DOUBLE PRECISION iau_S06 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Obtain the celestial-to-true matrix (IAU 2006/2000A). CALL iau_PNM06A ( DATE1, DATE2, RBPN ) * Extract the X,Y coordinates. CALL iau_BPN2XY ( RBPN, X, Y ) * Obtain the CIO locator. S = iau_S06 ( DATE1, DATE2, X, Y ) * Form the celestial-to-intermediate matrix. CALL iau_C2IXYS ( X, Y, S, RC2I ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_C2IBPN ( DATE1, DATE2, RBPN, RC2I ) *+ * - - - - - - - - - - - * i a u _ C 2 I B P N * - - - - - - - - - - - * * Form the celestial-to-intermediate matrix for a given date given * the bias-precession-nutation matrix. IAU 2000. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * RBPN d(3,3) celestial-to-true matrix (Note 2) * * Returned: * RC2I d(3,3) celestial-to-intermediate matrix (Note 3) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The matrix RBPN transforms vectors from GCRS to true equator (and * CIO or equinox) of date. Only the CIP (bottom row) is used. * * 3) The matrix RC2I is the first stage in the transformation from * celestial to terrestrial coordinates: * * [TRS] = RPOM * R_3(ERA) * RC2I * [CRS] * * = RC2T * [CRS] * * where [CRS] is a vector in the Geocentric Celestial Reference * System and [TRS] is a vector in the International Terrestrial * Reference System (see IERS Conventions 2003), ERA is the Earth * Rotation Angle and RPOM is the polar motion matrix. * * 4) Although its name does not include "00", this routine is in fact * specific to the IAU 2000 models. * * Called: * iau_BPN2XY extract CIP X,Y coordinates from NPB matrix * iau_C2IXY celestial-to-intermediate matrix, given X,Y * * References: * * Capitaine, N., Chapront, J., Lambert, S. and Wallace, P., * "Expressions for the Celestial Intermediate Pole and Celestial * Ephemeris Origin consistent with the IAU 2000A precession-nutation * model", Astron.Astrophys. 400, 1145-1154 (2003) * * n.b. The celestial ephemeris origin (CEO) was renamed "celestial * intermediate origin" (CIO) by IAU 2006 Resolution 2. * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2010 January 18 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, RBPN(3,3), RC2I(3,3) DOUBLE PRECISION X, Y * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Extract the X,Y coordinates. CALL iau_BPN2XY ( RBPN, X, Y ) * Form the celestial-to-intermediate matrix (n.b. IAU 2000 specific). CALL iau_C2IXY ( DATE1, DATE2, X, Y, RC2I ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_C2IXY ( DATE1, DATE2, X, Y, RC2I ) *+ * - - - - - - - - - - * i a u _ C 2 I X Y * - - - - - - - - - - * * Form the celestial to intermediate-frame-of-date matrix for a given * date when the CIP X,Y coordinates are known. IAU 2000. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * X,Y d Celestial Intermediate Pole (Note 2) * * Returned: * RC2I d(3,3) celestial-to-intermediate matrix (Note 3) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The Celestial Intermediate Pole coordinates are the x,y components * of the unit vector in the Geocentric Celestial Reference System. * * 3) The matrix RC2I is the first stage in the transformation from * celestial to terrestrial coordinates: * * [TRS] = RPOM * R_3(ERA) * RC2I * [CRS] * * = RC2T * [CRS] * * where [CRS] is a vector in the Geocentric Celestial Reference * System and [TRS] is a vector in the International Terrestrial * Reference System (see IERS Conventions 2003), ERA is the Earth * Rotation Angle and RPOM is the polar motion matrix. * * 4) Although its name does not include "00", this routine is in fact * specific to the IAU 2000 models. * * Called: * iau_C2IXYS celestial-to-intermediate matrix, given X,Y and s * iau_S00 the CIO locator s, given X,Y, IAU 2000A * * Reference: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2007 June 1 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, X, Y, RC2I(3,3) DOUBLE PRECISION iau_S00 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Compute s and then the matrix. CALL iau_C2IXYS ( X, Y, iau_S00 ( DATE1, DATE2, X, Y ), RC2I ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_C2IXYS ( X, Y, S, RC2I ) *+ * - - - - - - - - - - - * i a u _ C 2 I X Y S * - - - - - - - - - - - * * Form the celestial to intermediate-frame-of-date matrix given the CIP * X,Y and the CIO locator s. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * X,Y d Celestial Intermediate Pole (Note 1) * S d the CIO locator s (Note 2) * * Returned: * RC2I d(3,3) celestial-to-intermediate matrix (Note 3) * * Notes: * * 1) The Celestial Intermediate Pole coordinates are the x,y components * of the unit vector in the Geocentric Celestial Reference System. * * 2) The CIO locator s (in radians) positions the Celestial * Intermediate Origin on the equator of the CIP. * * 3) The matrix RC2I is the first stage in the transformation from * celestial to terrestrial coordinates: * * [TRS] = RPOM * R_3(ERA) * RC2I * [CRS] * * = RC2T * [CRS] * * where [CRS] is a vector in the Geocentric Celestial Reference * System and [TRS] is a vector in the International Terrestrial * Reference System (see IERS Conventions 2003), ERA is the Earth * Rotation Angle and RPOM is the polar motion matrix. * * Called: * iau_IR initialize r-matrix to identity * iau_RZ rotate around Z-axis * iau_RY rotate around Y-axis * * Reference: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2014 November 7 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION X, Y, S, RC2I(3,3) DOUBLE PRECISION R2, E, D * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Obtain the spherical angles E and d. R2 = X*X+Y*Y IF ( R2.GT.0D0 ) THEN E = ATAN2 ( Y, X ) ELSE E = 0D0 END IF D = ATAN ( SQRT ( R2 / (1D0-R2) ) ) * Form the matrix. CALL iau_IR ( RC2I ) CALL iau_RZ ( E, RC2I ) CALL iau_RY ( D, RC2I ) CALL iau_RZ ( -(E+S), RC2I ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_C2S ( P, THETA, PHI ) *+ * - - - - - - - - * i a u _ C 2 S * - - - - - - - - * * P-vector to spherical coordinates. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * P d(3) p-vector * * Returned: * THETA d longitude angle (radians) * PHI d latitude angle (radians) * * Notes: * * 1) P can have any magnitude; only its direction is used. * * 2) If P is null, zero THETA and PHI are returned. * * 3) At either pole, zero THETA is returned. * * This revision: 2007 April 11 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION P(3), THETA, PHI DOUBLE PRECISION X, Y, Z, D2 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X = P(1) Y = P(2) Z = P(3) D2 = X*X + Y*Y IF ( D2 .EQ. 0D0 ) THEN THETA = 0D0 ELSE THETA = ATAN2(Y,X) END IF IF ( Z .EQ. 0D0 ) THEN PHI = 0D0 ELSE PHI = ATAN2(Z,SQRT(D2)) END IF * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_C2T00A ( TTA, TTB, UTA, UTB, XP, YP, RC2T ) *+ * - - - - - - - - - - - * i a u _ C 2 T 0 0 A * - - - - - - - - - - - * * Form the celestial to terrestrial matrix given the date, the UT1 and * the polar motion, using the IAU 2000A nutation model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * TTA,TTB d TT as a 2-part Julian Date (Note 1) * UTA,UTB d UT1 as a 2-part Julian Date (Note 1) * XP,YP d coordinates of the pole (radians, Note 2) * * Returned: * RC2T d(3,3) celestial-to-terrestrial matrix (Note 3) * * Notes: * * 1) The TT and UT1 dates TTA+TTB and UTA+UTB are Julian Dates, * apportioned in any convenient way between the arguments UTA and * UTB. For example, JD(UT1)=2450123.7 could be expressed in any of * these ways, among others: * * UTA UTB * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution is * acceptable. The J2000 and MJD methods are good compromises * between resolution and convenience. In the case of UTA,UTB, the * date & time method is best matched to the Earth rotation angle * algorithm used: maximum accuracy (or, at least, minimum noise) is * delivered when the UTA argument is for 0hrs UT1 on the day in * question and the UTB argument lies in the range 0 to 1, or vice * versa. * * 2) XP and YP are the coordinates (in radians) of the Celestial * Intermediate Pole with respect to the International Terrestrial * Reference System (see IERS Conventions 2003), measured along the * meridians to 0 and 90 deg west respectively. * * 3) The matrix RC2T transforms from celestial to terrestrial * coordinates: * * [TRS] = RPOM * R_3(ERA) * RC2I * [CRS] * * = RC2T * [CRS] * * where [CRS] is a vector in the Geocentric Celestial Reference * System and [TRS] is a vector in the International Terrestrial * Reference System (see IERS Conventions 2003), RC2I is the * celestial-to-intermediate matrix, ERA is the Earth rotation angle * and RPOM is the polar motion matrix. * * 4) A faster, but slightly less accurate result (about 1 mas), can be * obtained by using instead the iau_C2T00B routine. * * Called: * iau_C2I00A celestial-to-intermediate matrix, IAU 2000A * iau_ERA00 Earth rotation angle, IAU 2000 * iau_SP00 the TIO locator s', IERS 2000 * iau_POM00 polar motion matrix * iau_C2TCIO form CIO-based celestial-to-terrestrial matrix * * Reference: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2009 April 1 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION TTA, TTB, UTA, UTB, XP, YP, RC2T(3,3) DOUBLE PRECISION RC2I(3,3), ERA, SP, RPOM(3,3) DOUBLE PRECISION iau_ERA00, iau_SP00 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Form the celestial-to-intermediate matrix for this TT (IAU 2000A). CALL iau_C2I00A ( TTA, TTB, RC2I ) * Predict the Earth rotation angle for this UT1. ERA = iau_ERA00 ( UTA, UTB ) * Estimate s'. SP = iau_SP00 ( TTA, TTB ) * Form the polar motion matrix. CALL iau_POM00 ( XP, YP, SP, RPOM ) * Combine to form the celestial-to-terrestrial matrix. CALL iau_C2TCIO ( RC2I, ERA, RPOM, RC2T ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_C2T00B ( TTA, TTB, UTA, UTB, XP, YP, RC2T ) *+ * - - - - - - - - - - - * i a u _ C 2 T 0 0 B * - - - - - - - - - - - * * Form the celestial to terrestrial matrix given the date, the UT1 and * the polar motion, using the IAU 2000B nutation model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * TTA,TTB d TT as a 2-part Julian Date (Note 1) * UTA,UTB d UT1 as a 2-part Julian Date (Note 1) * XP,YP d coordinates of the pole (radians, Note 2) * * Returned: * RC2T d(3,3) celestial-to-terrestrial matrix (Note 3) * * Notes: * * 1) The TT and UT1 dates TTA+TTB and UTA+UTB are Julian Dates, * apportioned in any convenient way between the arguments UTA and * UTB. For example, JD(UT1)=2450123.7 could be expressed in any of * these ways, among others: * * UTA UTB * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution is * acceptable. The J2000 and MJD methods are good compromises * between resolution and convenience. In the case of UTA,UTB, the * date & time method is best matched to the Earth rotation angle * algorithm used: maximum accuracy (or, at least, minimum noise) is * delivered when the UTA argument is for 0hrs UT1 on the day in * question and the UTB argument lies in the range 0 to 1, or vice * versa. * * 2) XP and YP are the coordinates (in radians) of the Celestial * Intermediate Pole with respect to the International Terrestrial * Reference System (see IERS Conventions 2003), measured along the * meridians to 0 and 90 deg west respectively. * * 3) The matrix RC2T transforms from celestial to terrestrial * coordinates: * * [TRS] = RPOM * R_3(ERA) * RC2I * [CRS] * * = RC2T * [CRS] * * where [CRS] is a vector in the Geocentric Celestial Reference * System and [TRS] is a vector in the International Terrestrial * Reference System (see IERS Conventions 2003), RC2I is the * celestial-to-intermediate matrix, ERA is the Earth rotation angle * and RPOM is the polar motion matrix. * * 4) The present routine is faster, but slightly less accurate (about * 1 mas), than the iau_C2T00A routine. * * Called: * iau_C2I00B celestial-to-intermediate matrix, IAU 2000B * iau_ERA00 Earth rotation angle, IAU 2000 * iau_POM00 polar motion matrix * iau_C2TCIO form CIO-based celestial-to-terrestrial matrix * * Reference: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2009 April 1 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION TTA, TTB, UTA, UTB, XP, YP, RC2T(3,3) DOUBLE PRECISION RC2I(3,3), ERA, RPOM(3,3) DOUBLE PRECISION iau_ERA00 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Form the celestial-to-intermediate matrix for this TT (IAU 2000B). CALL iau_C2I00B ( TTA, TTB, RC2I ) * Predict the Earth rotation angle for this UT1. ERA = iau_ERA00 ( UTA, UTB ) * Form the polar motion matrix (neglecting s'). CALL iau_POM00 ( XP, YP, 0D0, RPOM ) * Combine to form the celestial-to-terrestrial matrix. CALL iau_C2TCIO ( RC2I, ERA, RPOM, RC2T ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_C2T06A ( TTA, TTB, UTA, UTB, XP, YP, RC2T ) *+ * - - - - - - - - - - - * i a u _ C 2 T 0 6 A * - - - - - - - - - - - * * Form the celestial to terrestrial matrix given the date, the UT1 and * the polar motion, using the IAU 2006 precession and IAU 2000A * nutation models. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * TTA,TTB d TT as a 2-part Julian Date (Note 1) * UTA,UTB d UT1 as a 2-part Julian Date (Note 1) * XP,YP d coordinates of the pole (radians, Note 2) * * Returned: * RC2T d(3,3) celestial-to-terrestrial matrix (Note 3) * * Notes: * * 1) The TT and UT1 dates TTA+TTB and UTA+UTB are Julian Dates, * apportioned in any convenient way between the arguments UTA and * UTB. For example, JD(UT1)=2450123.7 could be expressed in any of * these ways, among others: * * UTA UTB * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution is * acceptable. The J2000 and MJD methods are good compromises * between resolution and convenience. In the case of UTA,UTB, the * date & time method is best matched to the Earth rotation angle * algorithm used: maximum accuracy (or, at least, minimum noise) is * delivered when the UTA argument is for 0hrs UT1 on the day in * question and the UTB argument lies in the range 0 to 1, or vice * versa. * * 2) XP and YP are the coordinates (in radians) of the Celestial * Intermediate Pole with respect to the International Terrestrial * Reference System (see IERS Conventions 2003), measured along the * meridians to 0 and 90 deg west respectively. * * 3) The matrix RC2T transforms from celestial to terrestrial * coordinates: * * [TRS] = RPOM * R_3(ERA) * RC2I * [CRS] * * = RC2T * [CRS] * * where [CRS] is a vector in the Geocentric Celestial Reference * System and [TRS] is a vector in the International Terrestrial * Reference System (see IERS Conventions 2003), RC2I is the * celestial-to-intermediate matrix, ERA is the Earth rotation angle * and RPOM is the polar motion matrix. * * Called: * iau_C2I06A celestial-to-intermediate matrix, IAU 2006/2000A * iau_ERA00 Earth rotation angle, IAU 2000 * iau_SP00 the TIO locator s', IERS 2000 * iau_POM00 polar motion matrix * iau_C2TCIO form CIO-based celestial-to-terrestrial matrix * * Reference: * * McCarthy, D. D., Petit, G. (eds.), 2004, IERS Conventions (2003), * IERS Technical Note No. 32, BKG * * This revision: 2009 April 1 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION TTA, TTB, UTA, UTB, XP, YP, RC2T(3,3) DOUBLE PRECISION RC2I(3,3), ERA, SP, RPOM(3,3) DOUBLE PRECISION iau_ERA00, iau_SP00 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Form the celestial-to-intermediate matrix for this TT. CALL iau_C2I06A ( TTA, TTB, RC2I ) * Predict the Earth rotation angle for this UT1. ERA = iau_ERA00 ( UTA, UTB ) * Estimate s'. SP = iau_SP00 ( TTA, TTB ) * Form the polar motion matrix. CALL iau_POM00 ( XP, YP, SP, RPOM ) * Combine to form the celestial-to-terrestrial matrix. CALL iau_C2TCIO ( RC2I, ERA, RPOM, RC2T ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_C2TCEO ( RC2I, ERA, RPOM, RC2T ) *+ * - - - - - - - - - - - * i a u _ C 2 T C E O * - - - - - - - - - - - * * Assemble the celestial to terrestrial matrix from CIO-based * components (the celestial-to-intermediate matrix, the Earth Rotation * Angle and the polar motion matrix). * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: obsolete routine. * * Given: * RC2I d(3,3) celestial-to-intermediate matrix * ERA d Earth rotation angle * RPOM d(3,3) polar-motion matrix * * Returned: * RC2T d(3,3) celestial-to-terrestrial matrix * * Notes: * * 1) The name of the present routine, iau_C2TCEO, reflects the original * name of the celestial intermediate origin (CIO), which before the * adoption of IAU 2006 Resolution 2 was called the "celestial * ephemeris origin" (CEO). * * 2) When the name change from CEO to CIO occurred, a new SOFA routine * called iau_C2TCIO was introduced as the successor to the existing * iau_C2TCEO. The present routine is merely a front end to the new * one. * * 3) The present routine is included in the SOFA collection only to * support existing applications. It should not be used in new * applications. * * Called: * iau_C2TCIO form CIO-based celestial-to-terrestrial matrix * * This revision: 2007 May 9 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RC2I(3,3), ERA, RPOM(3,3), RC2T(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Call the renamed routine. CALL iau_C2TCIO ( RC2I, ERA, RPOM, RC2T ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_C2TCIO ( RC2I, ERA, RPOM, RC2T ) *+ * - - - - - - - - - - - * i a u _ C 2 T C I O * - - - - - - - - - - - * * Assemble the celestial to terrestrial matrix from CIO-based * components (the celestial-to-intermediate matrix, the Earth Rotation * Angle and the polar motion matrix). * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * RC2I d(3,3) celestial-to-intermediate matrix * ERA d Earth rotation angle (radians) * RPOM d(3,3) polar-motion matrix * * Returned: * RC2T d(3,3) celestial-to-terrestrial matrix * * Notes: * * 1) This routine constructs the rotation matrix that transforms * vectors in the celestial system into vectors in the terrestrial * system. It does so starting from precomputed components, namely * the matrix which rotates from celestial coordinates to the * intermediate frame, the Earth rotation angle and the polar motion * matrix. One use of the present routine is when generating a * series of celestial-to-terrestrial matrices where only the Earth * Rotation Angle changes, avoiding the considerable overhead of * recomputing the precession-nutation more often than necessary to * achieve given accuracy objectives. * * 2) The relationship between the arguments is as follows: * * [TRS] = RPOM * R_3(ERA) * RC2I * [CRS] * * = RC2T * [CRS] * * where [CRS] is a vector in the Geocentric Celestial Reference * System and [TRS] is a vector in the International Terrestrial * Reference System (see IERS Conventions 2003). * * Called: * iau_CR copy r-matrix * iau_RZ rotate around Z-axis * iau_RXR product of two r-matrices * * Reference: * * McCarthy, D. D., Petit, G. (eds.), 2004, IERS Conventions (2003), * IERS Technical Note No. 32, BKG * * This revision: 2013 August 24 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RC2I(3,3), ERA, RPOM(3,3), RC2T(3,3) DOUBLE PRECISION R(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Construct the matrix. CALL iau_CR ( RC2I, R ) CALL iau_RZ ( ERA, R ) CALL iau_RXR ( RPOM, R, RC2T ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_C2TEQX ( RBPN, GST, RPOM, RC2T ) *+ * - - - - - - - - - - - * i a u _ C 2 T E Q X * - - - - - - - - - - - * * Assemble the celestial to terrestrial matrix from equinox-based * components (the celestial-to-true matrix, the Greenwich Apparent * Sidereal Time and the polar motion matrix). * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * RBPN d(3,3) celestial-to-true matrix * GST d Greenwich (apparent) Sidereal Time (radians) * RPOM d(3,3) polar-motion matrix * * Returned: * RC2T d(3,3) celestial-to-terrestrial matrix (Note 2) * * Notes: * * 1) This routine constructs the rotation matrix that transforms * vectors in the celestial system into vectors in the terrestrial * system. It does so starting from precomputed components, namely * the matrix which rotates from celestial coordinates to the * true equator and equinox of date, the Greenwich Apparent Sidereal * Time and the polar motion matrix. One use of the present routine * is when generating a series of celestial-to-terrestrial matrices * where only the Sidereal Time changes, avoiding the considerable * overhead of recomputing the precession-nutation more often than * necessary to achieve given accuracy objectives. * * 2) The relationship between the arguments is as follows: * * [TRS] = RPOM * R_3(GST) * RBPN * [CRS] * * = RC2T * [CRS] * * where [CRS] is a vector in the Geocentric Celestial Reference * System and [TRS] is a vector in the International Terrestrial * Reference System (see IERS Conventions 2003). * * Called: * iau_CR copy r-matrix * iau_RZ rotate around Z-axis * iau_RXR product of two r-matrices * * Reference: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2013 August 24 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RBPN(3,3), GST, RPOM(3,3), RC2T(3,3) DOUBLE PRECISION R(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Construct the matrix. CALL iau_CR ( RBPN, R ) CALL iau_RZ ( GST, R ) CALL iau_RXR ( RPOM, R, RC2T ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_C2TPE ( TTA, TTB, UTA, UTB, DPSI, DEPS, XP, YP, : RC2T ) *+ * - - - - - - - - - - * i a u _ C 2 T P E * - - - - - - - - - - * * Form the celestial to terrestrial matrix given the date, the UT1, the * nutation and the polar motion. IAU 2000. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * TTA,TTB d TT as a 2-part Julian Date (Note 1) * UTA,UTB d UT1 as a 2-part Julian Date (Note 1) * DPSI,DEPS d nutation (Note 2) * XP,YP d coordinates of the pole (radians, Note 3) * * Returned: * RC2T d(3,3) celestial-to-terrestrial matrix (Note 4) * * Notes: * * 1) The TT and UT1 dates TTA+TTB and UTA+UTB are Julian Dates, * apportioned in any convenient way between the arguments UTA and * UTB. For example, JD(UT1)=2450123.7 could be expressed in any of * these ways, among others: * * UTA UTB * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution is * acceptable. The J2000 and MJD methods are good compromises * between resolution and convenience. In the case of UTA,UTB, the * date & time method is best matched to the Earth rotation angle * algorithm used: maximum accuracy (or, at least, minimum noise) is * delivered when the UTA argument is for 0hrs UT1 on the day in * question and the UTB argument lies in the range 0 to 1, or vice * versa. * * 2) The caller is responsible for providing the nutation components; * they are in longitude and obliquity, in radians and are with * respect to the equinox and ecliptic of date. For high-accuracy * applications, free core nutation should be included as well as * any other relevant corrections to the position of the CIP. * * 3) XP and YP are the coordinates (in radians) of the Celestial * Intermediate Pole with respect to the International Terrestrial * Reference System (see IERS Conventions 2003), measured along the * meridians to 0 and 90 deg west respectively. * * 4) The matrix RC2T transforms from celestial to terrestrial * coordinates: * * [TRS] = RPOM * R_3(GST) * RBPN * [CRS] * * = RC2T * [CRS] * * where [CRS] is a vector in the Geocentric Celestial Reference * System and [TRS] is a vector in the International Terrestrial * Reference System (see IERS Conventions 2003), RBPN is the * bias-precession-nutation matrix, GST is the Greenwich (apparent) * Sidereal Time and RPOM is the polar motion matrix. * * 5) Although its name does not include "00", this routine is in fact * specific to the IAU 2000 models. * * Called: * iau_PN00 bias/precession/nutation results, IAU 2000 * iau_GMST00 Greenwich mean sidereal time, IAU 2000 * iau_SP00 the TIO locator s', IERS 2000 * iau_EE00 equation of the equinoxes, IAU 2000 * iau_POM00 polar motion matrix * iau_C2TEQX form equinox-based celestial-to-terrestrial matrix * * Reference: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2009 April 1 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION TTA, TTB, UTA, UTB, DPSI, DEPS, XP, YP, RC2T(3,3) DOUBLE PRECISION EPSA, RB(3,3), RP(3,3), RBP(3,3), RN(3,3), : RBPN(3,3), GMST, EE, SP, RPOM(3,3) DOUBLE PRECISION iau_GMST00, iau_EE00, iau_SP00 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Form the celestial-to-true matrix for this TT. CALL iau_PN00 ( TTA, TTB, DPSI, DEPS, : EPSA, RB, RP, RBP, RN, RBPN ) * Predict the Greenwich Mean Sidereal Time for this UT1 and TT. GMST = iau_GMST00 ( UTA, UTB, TTA, TTB ) * Predict the equation of the equinoxes given TT and nutation. EE = iau_EE00 ( TTA, TTB, EPSA, DPSI) * Estimate s'. SP = iau_SP00 ( TTA, TTB) * Form the polar motion matrix. CALL iau_POM00 ( XP, YP, SP, RPOM ) * Combine to form the celestial-to-terrestrial matrix. CALL iau_C2TEQX ( RBPN, GMST+EE, RPOM, RC2T ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_C2TXY ( TTA, TTB, UTA, UTB, X, Y, XP, YP, RC2T ) *+ * - - - - - - - - - - * i a u _ C 2 T X Y * - - - - - - - - - - * * Form the celestial to terrestrial matrix given the date, the UT1, the * CIP coordinates and the polar motion. IAU 2000. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * TTA,TTB d TT as a 2-part Julian Date (Note 1) * UTA,UTB d UT1 as a 2-part Julian Date (Note 1) * X,Y d Celestial Intermediate Pole (Note 2) * XP,YP d coordinates of the pole (radians, Note 3) * * Returned: * RC2T d(3,3) celestial-to-terrestrial matrix (Note 4) * * Notes: * * 1) The TT and UT1 dates TTA+TTB and UTA+UTB are Julian Dates, * apportioned in any convenient way between the arguments UTA and * UTB. For example, JD(UT1)=2450123.7 could be expressed in any of * these ways, among others: * * UTA UTB * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution is * acceptable. The J2000 and MJD methods are good compromises * between resolution and convenience. In the case of UTA,UTB, the * date & time method is best matched to the Earth rotation angle * algorithm used: maximum accuracy (or, at least, minimum noise) is * delivered when the UTA argument is for 0hrs UT1 on the day in * question and the UTB argument lies in the range 0 to 1, or vice * versa. * * 2) The Celestial Intermediate Pole coordinates are the x,y components * of the unit vector in the Geocentric Celestial Reference System. * * 3) XP and YP are the coordinates (in radians) of the Celestial * Intermediate Pole with respect to the International Terrestrial * Reference System (see IERS Conventions 2003), measured along the * meridians to 0 and 90 deg west respectively. * * 4) The matrix RC2T transforms from celestial to terrestrial * coordinates: * * [TRS] = RPOM * R_3(ERA) * RC2I * [CRS] * * = RC2T * [CRS] * * where [CRS] is a vector in the Geocentric Celestial Reference * System and [TRS] is a vector in the International Terrestrial * Reference System (see IERS Conventions 2003), ERA is the Earth * Rotation Angle and RPOM is the polar motion matrix. * * 5) Although its name does not include "00", this routine is in fact * specific to the IAU 2000 models. * * Called: * iau_C2IXY celestial-to-intermediate matrix, given X,Y * iau_ERA00 Earth rotation angle, IAU 2000 * iau_SP00 the TIO locator s', IERS 2000 * iau_POM00 polar motion matrix * iau_C2TCIO form CIO-based celestial-to-terrestrial matrix * * Reference: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2009 April 1 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION TTA, TTB, UTA, UTB, X, Y, XP, YP, RC2T(3,3) DOUBLE PRECISION RC2I(3,3), ERA, SP, RPOM(3,3) DOUBLE PRECISION iau_ERA00, iau_SP00 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Form the celestial-to-intermediate matrix for this TT. CALL iau_C2IXY ( TTA, TTB, X, Y, RC2I ) * Predict the Earth rotation angle for this UT1. ERA = iau_ERA00 ( UTA, UTB ) * Estimate s'. SP = iau_SP00 ( TTA, TTB ) * Form the polar motion matrix. CALL iau_POM00 ( XP, YP, SP, RPOM ) * Combine to form the celestial-to-terrestrial matrix. CALL iau_C2TCIO ( RC2I, ERA, RPOM, RC2T ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_CAL2JD ( IY, IM, ID, DJM0, DJM, J ) *+ * - - - - - - - - - - - * i a u _ C A L 2 J D * - - - - - - - - - - - * * Gregorian Calendar to Julian Date. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * IY,IM,ID i year, month, day in Gregorian calendar (Note 1) * * Returned: * DJM0 d MJD zero-point: always 2400000.5 * DJM d Modified Julian Date for 0 hrs * J i status: * 0 = OK * -1 = bad year (Note 3: JD not computed) * -2 = bad month (JD not computed) * -3 = bad day (JD computed) * * Notes: * * 1) The algorithm used is valid from -4800 March 1, but this * implementation rejects dates before -4799 January 1. * * 2) The Julian Date is returned in two pieces, in the usual SOFA * manner, which is designed to preserve time resolution. The * Julian Date is available as a single number by adding DJM0 and * DJM. * * 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: * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992), * Section 12.92 (p604). * * This revision: 2014 November 7 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE INTEGER IY, IM, ID DOUBLE PRECISION DJM0, DJM INTEGER J, NDAYS, MY, IYPMY * Earliest year allowed (4800BC) INTEGER IYMIN PARAMETER ( IYMIN = -4799 ) * Month lengths in days INTEGER MTAB(12) DATA MTAB / 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 / * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Preset status. J = 0 * Validate year. IF ( IY.LT.IYMIN ) THEN J = -1 ELSE * Validate month. IF ( IM.GE.1 .AND. IM.LE.12 ) THEN * Days in current month. NDAYS = MTAB(IM) * Allow for leap year. IF ( IM .EQ. 2 ) THEN IF ( MOD(IY,4) .EQ. 0 ) NDAYS = 29 IF ( MOD(IY,100).EQ.0 .AND. : MOD(IY,400).NE.0 ) NDAYS = 28 END IF * Validate day. IF ( ID.LT.1 .OR. ID.GT.NDAYS ) J = -3 * Result. MY = ( IM - 14 ) / 12 IYPMY = IY + MY DJM0 = 2400000.5D0 DJM = DBLE( ( 1461 * ( IYPMY + 4800 ) ) / 4 : + ( 367 * ( IM-2 - 12*MY ) ) / 12 : - ( 3 * ( ( IYPMY + 4900 ) / 100 ) ) / 4 : + ID - 2432076) * Bad month ELSE J = -2 END IF END IF * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_CP ( P, C ) *+ * - - - - - - - * i a u _ C P * - - - - - - - * * Copy a p-vector. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * P d(3) p-vector to be copied * * Returned: * C d(3) copy * * This revision: 2000 November 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION P(3), C(3) INTEGER I * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DO 1 I=1,3 C(I) = P(I) 1 CONTINUE * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_CPV ( PV, C ) *+ * - - - - - - - - * i a u _ C P V * - - - - - - - - * * Copy a position/velocity vector. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * PV d(3,2) position/velocity vector to be copied * * Returned: * C d(3,2) copy * * Called: * iau_CP copy p-vector * * This revision: 2000 November 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION PV(3,2), C(3,2) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CALL iau_CP ( PV(1,1), C(1,1) ) CALL iau_CP ( PV(1,2), C(1,2) ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_CR ( R, C ) *+ * - - - - - - - * i a u _ C R * - - - - - - - * * Copy an r-matrix. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * R d(3,3) r-matrix to be copied * * Returned: * C d(3,3) copy * * Called: * iau_CP copy p-vector * * This revision: 2000 November 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION R(3,3), C(3,3) INTEGER I * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DO 1 I=1,3 CALL iau_CP ( R(1,I), C(1,I) ) 1 CONTINUE * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_D2DTF ( SCALE, NDP, D1, D2, IY, IM, ID, IHMSF, J ) *+ * - - - - - - - - - - * i a u _ D 2 D T F * - - - - - - - - - - * * Format for output a 2-part Julian Date (or in the case of UTC a * quasi-JD form that includes special provision for leap seconds). * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * SCALE c*(*) time scale ID (Note 1) * NDP i resolution (Note 2) * D1,D2 d time as a 2-part Julian Date (Notes 3,4) * * Returned: * IY,IM,ID i year, month, day in Gregorian calendar (Note 5) * IHMSF i(4) hours, minutes, seconds, fraction (Note 1) * J i status: +1 = dubious year (Note 5) * 0 = OK * -1 = unacceptable date (Note 6) * * Notes: * * 1) SCALE identifies the time scale. Only the value 'UTC' (in upper * case) is significant, and enables handling of leap seconds (see * Note 4). * * 2) NDP is the number of decimal places in the seconds field, and can * have negative as well as positive values, such as: * * NDP resolution * -4 1 00 00 * -3 0 10 00 * -2 0 01 00 * -1 0 00 10 * 0 0 00 01 * 1 0 00 00.1 * 2 0 00 00.01 * 3 0 00 00.001 * * The limits are platform dependent, but a safe range is -5 to +9. * * 3) D1+D2 is Julian Date, apportioned in any convenient way between * the two arguments, for example where D1 is the Julian Day Number * and D2 is the fraction of a day. In the case of UTC, where the * use of JD is problematical, special conventions apply: see the * next note. * * 4) JD cannot unambiguously represent UTC during a leap second unless * special measures are taken. The SOFA internal convention is that * the quasi-JD day represents UTC days whether the length is 86399, * 86400 or 86401 SI seconds. In the 1960-1972 era there were * smaller jumps (in either direction) each time the linear UTC(TAI) * expression was changed, and these "mini-leaps" are also included * in the SOFA convention. * * 5) The warning status "dubious year" flags UTCs that predate the * introduction of the time scale or that are too far in the future * to be trusted. See iau_DAT for further details. * * 6) For calendar conventions and limitations, see iau_CAL2JD. * * Called: * iau_JD2CAL JD to Gregorian calendar * iau_D2TF decompose days to hms * iau_DAT delta(AT) = TAI-UTC * * This revision: 2014 February 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE CHARACTER*(*) SCALE INTEGER NDP DOUBLE PRECISION D1, D2 INTEGER IY, IM, ID, IHMSF(4), J * Days to seconds DOUBLE PRECISION D2S PARAMETER ( D2S = 86400D0 ) LOGICAL LEAP CHARACTER S INTEGER IY1, IM1, ID1, JS, IY2, IM2, ID2, IHMSF1(4), I DOUBLE PRECISION A1, B1, FD, DAT0, DAT12, W, DAT24, DLEAP * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * The two-part JD. A1 = D1 B1 = D2 * Provisional calendar date. CALL iau_JD2CAL ( A1, B1, IY1, IM1, ID1, FD, JS ) IF ( JS.NE.0 ) GO TO 9 * Is this a leap second day? LEAP = .FALSE. IF ( SCALE.EQ.'UTC' ) THEN * TAI-UTC at 0h today. CALL iau_DAT ( IY1, IM1, ID1, 0D0, DAT0, JS ) IF ( JS.LT.0 ) GO TO 9 * TAI-UTC at 12h today (to detect drift). CALL iau_DAT ( IY1, IM1, ID1, 0.5D0, DAT12, JS ) IF ( JS.LT.0 ) GO TO 9 * TAI-UTC at 0h tomorrow (to detect jumps). CALL iau_JD2CAL ( A1+1.5D0, B1-FD, IY2, IM2, ID2, W, JS ) IF ( JS.NE.0 ) GO TO 9 CALL iau_DAT ( IY2, IM2, ID2, 0D0, DAT24, JS ) IF ( JS.LT.0 ) GO TO 9 * Any sudden change in TAI-UTC (seconds). DLEAP = DAT24 - ( 2D0 * DAT12 - DAT0 ) * If leap second day, scale the fraction of a day into SI. LEAP = DLEAP.NE.0D0 IF ( LEAP ) FD = FD + FD*DLEAP/D2S END IF * Provisional time of day. CALL iau_D2TF ( NDP, FD, S, IHMSF1 ) * Has the (rounded) time gone past 24h? IF ( IHMSF1(1).GT.23 ) THEN * Yes. We probably need tomorrow's calendar date. CALL iau_JD2CAL ( A1+1.5D0, B1-FD, IY2, IM2, ID2, W, JS ) IF ( JS.LT.0 ) GO TO 9 * Is today a leap second day? IF ( .NOT. LEAP ) THEN * No. Use 0h tomorrow. IY1 = IY2 IM1 = IM2 ID1 = ID2 IHMSF1(1) = 0 IHMSF1(2) = 0 IHMSF1(3) = 0 ELSE * Yes. Are we past the leap second itself? IF ( IHMSF1(3).GT.0 ) THEN * Yes. Use tomorrow but allow for the leap second. IY1 = IY2 IM1 = IM2 ID1 = ID2 IHMSF1(1) = 0 IHMSF1(2) = 0 IHMSF1(3) = 0 ELSE * No. Use 23 59 60... today. IHMSF1(1) = 23 IHMSF1(2) = 59 IHMSF1(3) = 60 END IF * If rounding to 10s or coarser always go up to new day. IF ( NDP.LT.0 .AND. IHMSF1(3).EQ.60 ) THEN IY1 = IY2 IM1 = IM2 ID1 = ID2 IHMSF1(1) = 0 IHMSF1(2) = 0 IHMSF1(3) = 0 END IF END IF END IF * Results. IY = IY1 IM = IM1 ID = ID1 DO 2 I=1,4 IHMSF(I) = IHMSF1(I) 2 CONTINUE * Status. 9 CONTINUE J = JS * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_D2TF ( NDP, DAYS, SIGN, IHMSF ) *+ * - - - - - - - - - * i a u _ D 2 T F * - - - - - - - - - * * Decompose days to hours, minutes, seconds, fraction. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * NDP i resolution (Note 1) * DAYS d interval in days * * Returned: * SIGN c '+' or '-' * IHMSF i(4) hours, minutes, seconds, fraction * * Notes: * * 1) NDP is interpreted as follows: * * NDP resolution * : ...0000 00 00 * -7 1000 00 00 * -6 100 00 00 * -5 10 00 00 * -4 1 00 00 * -3 0 10 00 * -2 0 01 00 * -1 0 00 10 * 0 0 00 01 * 1 0 00 00.1 * 2 0 00 00.01 * 3 0 00 00.001 * : 0 00 00.000... * * 2) The largest positive useful value for NDP is determined by the * size of DAYS, the format of DOUBLE PRECISION floating-point * numbers on the target platform, and the risk of overflowing * IHMSF(4). On a typical platform, for DAYS up to 1D0, the * available floating-point precision might correspond to NDP=12. * However, the practical limit is typically NDP=9, set by the * capacity of a 32-bit IHMSF(4). * * 3) The absolute value of DAYS may exceed 1D0. In cases where it * does not, it is up to the caller to test for and handle the * case where DAYS is very nearly 1D0 and rounds up to 24 hours, * by testing for IHMSF(1)=24 and setting IHMSF(1-4) to zero. * * This revision: 2005 August 26 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE INTEGER NDP DOUBLE PRECISION DAYS CHARACTER SIGN*(*) INTEGER IHMSF(4) * Days to seconds DOUBLE PRECISION D2S PARAMETER ( D2S = 86400D0 ) INTEGER NRS, N DOUBLE PRECISION RS, RM, RH, A, AH, AM, AS, AF * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Handle sign. IF ( DAYS .GE. 0D0 ) THEN SIGN = '+' ELSE SIGN = '-' END IF * Interval in seconds. A = D2S * ABS(DAYS) * Pre-round if resolution coarser than 1 second (then pretend NDP=1). IF ( NDP .LT. 0 ) THEN NRS = 1 DO 1 N=1,-NDP IF ( N.EQ.2 .OR. N.EQ.4 ) THEN NRS = NRS * 6 ELSE NRS = NRS * 10 END IF 1 CONTINUE RS = DBLE(NRS) A = RS * ANINT(A/RS) END IF * Express the unit of each field in resolution units. NRS = 1 DO 2 N=1,NDP NRS = NRS * 10 2 CONTINUE RS = DBLE(NRS) RM = RS * 60D0 RH = RM * 60D0 * Round the interval and express in resolution units. A = ANINT(RS*A) * Break into fields. AH = AINT(A/RH) A = A - AH*RH AM = AINT(A/RM) A = A - AM*RM AS = AINT(A/RS) AF = A - AS*RS * Return results. IHMSF(1) = NINT(AH) IHMSF(2) = NINT(AM) IHMSF(3) = NINT(AS) IHMSF(4) = NINT(AF) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_DAT ( IY, IM, ID, FD, DELTAT, J ) *+ * - - - - - - - - * i a u _ D A T * - - - - - - - - * * For a given UTC date, calculate Delta(AT) = TAI-UTC. * * :------------------------------------------: * : : * : IMPORTANT : * : : * : A new version of this routine must be : * : produced whenever a new leap second is : * : announced. There are five items to : * : change on each such occasion: : * : : * : 1) The parameter NDAT must be : * : increased by 1. : * : : * : 2) The set of DATA statements that : * : initialize the arrays IDAT and : * : DATS must be extended by one line. : * : : * : 3) The parameter IYV must be set to : * : the current year. : * : : * : 4) The "Latest leap second" comment : * : below must be set to the new leap : * : second date. : * : : * : 5) The "This revision" comment, later, : * : must be set to the current date. : * : : * : Change (3) must also be carried out : * : whenever the routine is re-issued, : * : even if no leap seconds have been : * : added. : * : : * : Latest leap second: 2016 December 31 : * : : * :__________________________________________: * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: user-replaceable support routine. * * Given: * IY i UTC: year (Notes 1 and 2) * IM i month (Note 2) * ID i day (Notes 2 and 3) * FD d fraction of day (Note 4) * * Returned: * DELTAT d TAI minus UTC, seconds * J i status (Note 5): * 1 = dubious year (Note 1) * 0 = OK * -1 = bad year * -2 = bad month * -3 = bad day (Note 3) * -4 = bad fraction (Note 4) * -5 = internal error (Note 5) * * Notes: * * 1) UTC began at 1960 January 1.0 (JD 2436934.5) and it is improper * to call the routine with an earlier date. If this is attempted, * zero is returned together with a warning status. * * Because leap seconds cannot, in principle, be predicted in * advance, a reliable check for dates beyond the valid range is * impossible. To guard against gross errors, a year five or more * after the release year of the present routine (see parameter IYV) * is considered dubious. In this case a warning status is returned * but the result is computed in the normal way. * * For both too-early and too-late years, the warning status is J=+1. * This is distinct from the error status J=-1, which signifies a * year so early that JD could not be computed. * * 2) If the specified date is for a day which ends with a leap second, * the TAI-UTC value returned is for the period leading up to the * leap second. If the date is for a day which begins as a leap * second ends, the TAI-UTC returned is for the period following the * leap second. * * 3) The day number must be in the normal calendar range, for example * 1 through 30 for April. The "almanac" convention of allowing * such dates as January 0 and December 32 is not supported in this * routine, in order to avoid confusion near leap seconds. * * 4) The fraction of day is used only for dates before the introduction * of leap seconds, the first of which occurred at the end of 1971. * It is tested for validity (0 to 1 is the valid range) even if not * used; if invalid, zero is used and status J=-4 is returned. For * many applications, setting FD to zero is acceptable; the * resulting error is always less than 3 ms (and occurs only * pre-1972). * * 5) The status value returned in the case where there are multiple * errors refers to the first error detected. For example, if the * month and day are 13 and 32 respectively, J=-2 (bad month) will be * returned. The "internal error" status refers to a case that is * impossible but causes some compilers to issue a warning. * * 6) In cases where a valid result is not available, zero is returned. * * References: * * 1) For dates from 1961 January 1 onwards, the expressions from the * file ftp://maia.usno.navy.mil/ser7/tai-utc.dat are used. * * 2) The 5ms timestep at 1961 January 1 is taken from 2.58.1 (p87) of * the 1992 Explanatory Supplement. * * Called: * iau_CAL2JD Gregorian calendar to JD * * This revision: 2017 October 7 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE INTEGER IY, IM, ID DOUBLE PRECISION FD, DELTAT INTEGER J * Release year for this version of iau_DAT INTEGER IYV PARAMETER ( IYV = 2017 ) * Number of Delta(AT) changes (increase by 1 for each new leap second) INTEGER NDAT PARAMETER ( NDAT = 42 ) * Number of Delta(AT) expressions before leap seconds were introduced INTEGER NERA1 PARAMETER ( NERA1 = 14 ) * Dates (year, month) on which new Delta(AT) came into force INTEGER IDAT(2,NDAT) * New Delta(AT) which came into force on the given dates DOUBLE PRECISION DATS(NDAT) * Reference dates (MJD) and drift rates (s/day), pre leap seconds DOUBLE PRECISION DRIFT(2,NERA1) * Miscellaneous local variables LOGICAL MORE INTEGER JS, M, N, IS DOUBLE PRECISION DA, DJM0, DJM * Dates, Delta(AT)s, reference dates, and drift rates DATA ((IDAT(M,N),M=1,2),DATS(N),(DRIFT(M,N),M=1,2),N=1,14) : / 1960, 1, 1.4178180D0, 37300D0, 0.001296D0, : 1961, 1, 1.4228180D0, 37300D0, 0.001296D0, : 1961, 8, 1.3728180D0, 37300D0, 0.001296D0, : 1962, 1, 1.8458580D0, 37665D0, 0.0011232D0, : 1963, 11, 1.9458580D0, 37665D0, 0.0011232D0, : 1964, 1, 3.2401300D0, 38761D0, 0.001296D0, : 1964, 4, 3.3401300D0, 38761D0, 0.001296D0, : 1964, 9, 3.4401300D0, 38761D0, 0.001296D0, : 1965, 1, 3.5401300D0, 38761D0, 0.001296D0, : 1965, 3, 3.6401300D0, 38761D0, 0.001296D0, : 1965, 7, 3.7401300D0, 38761D0, 0.001296D0, : 1965, 9, 3.8401300D0, 38761D0, 0.001296D0, : 1966, 1, 4.3131700D0, 39126D0, 0.002592D0, : 1968, 2, 4.2131700D0, 39126D0, 0.002592D0 / * Dates and Delta(AT)s DATA ((IDAT(M,N),M=1,2),DATS(N),N=15,30) : / 1972, 1, 10D0, : 1972, 7, 11D0, : 1973, 1, 12D0, : 1974, 1, 13D0, : 1975, 1, 14D0, : 1976, 1, 15D0, : 1977, 1, 16D0, : 1978, 1, 17D0, : 1979, 1, 18D0, : 1980, 1, 19D0, : 1981, 7, 20D0, : 1982, 7, 21D0, : 1983, 7, 22D0, : 1985, 7, 23D0, : 1988, 1, 24D0, : 1990, 1, 25D0 / DATA ((IDAT(M,N),M=1,2),DATS(N),N=31,NDAT) : / 1991, 1, 26D0, : 1992, 7, 27D0, : 1993, 7, 28D0, : 1994, 7, 29D0, : 1996, 1, 30D0, : 1997, 7, 31D0, : 1999, 1, 32D0, : 2006, 1, 33D0, : 2009, 1, 34D0, : 2012, 7, 35D0, : 2015, 7, 36D0, : 2017, 1, 37D0 / * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Initialize the result to zero and the status to OK. DA = 0D0 JS = 0 * If invalid fraction of a day, set error status and give up. IF ( FD.LT.0D0 .OR. FD.GT.1D0 ) THEN JS = -4 GO TO 9000 END IF * Convert the date into an MJD. CALL iau_CAL2JD ( IY, IM, ID, DJM0, DJM, JS ) * If invalid year, month, or day, give up. IF ( JS .LT. 0 ) GO TO 9000 * If pre-UTC year, set warning status and give up. IF ( IY .LT. IDAT(1,1) ) THEN JS = 1 GO TO 9000 END IF * If suspiciously late year, set warning status but proceed. IF ( IY .GT. IYV+5 ) JS = 1 * Combine year and month. M = 12*IY+IM * Find the most recent table entry. IS = 0 MORE = .TRUE. DO 1 N=NDAT,1,-1 IF ( MORE ) THEN IS = N MORE = M .LT. ( 12*IDAT(1,N) + IDAT(2,N) ) END IF 1 CONTINUE * Prevent underflow warnings. IF ( IS .LT. 1 ) THEN JS = -5 GO TO 9000 END IF * Get the Delta(AT). DA = DATS(IS) * If pre-1972, adjust for drift. IF ( IS .LE. NERA1 ) DA = DA + : ( DJM + FD - DRIFT(1,IS) ) * DRIFT(2,IS) * Return the Delta(AT) value and the status. 9000 CONTINUE DELTAT = DA J = JS * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2017 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) UNLIKE OTHER SOFA SOFTWARE, WHICH IS STRICTLY "READ ONLY", * USERS ARE PERMITTED TO REPLACE THIS SUBROUTINE WITH ONE USING * THE SAME NAME BUT DIFFERENT CODE. This is to allow use of * locally supported mechanisms for keeping track of leap * seconds, perhaps file or network based. It avoids the need for * applications to be relinked periodically in order to pick up * SOFA updates. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_DTDB ( DATE1, DATE2, : UT, ELONG, U, V ) *+ * - - - - - - - - - * i a u _ D T D B * - - - - - - - - - * * An approximation to TDB-TT, the difference between barycentric * dynamical time and terrestrial time, for an observer on the Earth. * * The different time scales - proper, coordinate and realized - are * related to each other: * * TAI <- physically realized * : * offset <- observed (nominally +32.184s) * : * TT <- terrestrial time * : * rate adjustment (L_G) <- definition of TT * : * TCG <- time scale for GCRS * : * "periodic" terms <- iau_DTDB is an implementation * : * rate adjustment (L_C) <- function of solar-system ephemeris * : * TCB <- time scale for BCRS * : * rate adjustment (-L_B) <- definition of TDB * : * TDB <- TCB scaled to track TT * : * "periodic" terms <- -iau_DTDB is an approximation * : * TT <- terrestrial time * * Adopted values for the various constants can be found in the IERS * Conventions (McCarthy & Petit 2003). * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d date, TDB (Notes 1-3) * UT d universal time (UT1, fraction of one day) * ELONG d longitude (east positive, radians) * U d distance from Earth spin axis (km) * V d distance north of equatorial plane (km) * * Returned: * iau_DTDB d TDB-TT (seconds) * * Notes: * * 1) The date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the arguments DATE1 and DATE2. For * example, JD(TDB)=2450123.7 could be expressed in any of these * ways, among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in cases * where the loss of several decimal digits of resolution is * acceptable. The J2000 method is best matched to the way the * argument is handled internally and will deliver the optimum * resolution. The MJD method and the date & time methods are both * good compromises between resolution and convenience. * * Although the date is, formally, barycentric dynamical time (TDB), * the terrestrial dynamical time (TT) can be used with no practical * effect on the accuracy of the prediction. * * 2) TT can be regarded as a coordinate time that is realized as an * offset of 32.184s from International Atomic Time, TAI. TT is a * specific linear transformation of geocentric coordinate time TCG, * which is the time scale for the Geocentric Celestial Reference * System, GCRS. * * 3) TDB is a coordinate time, and is a specific linear transformation * of barycentric coordinate time TCB, which is the time scale for * the Barycentric Celestial Reference System, BCRS. * * 4) The difference TCG-TCB depends on the masses and positions of the * bodies of the solar system and the velocity of the Earth. It is * dominated by a rate difference, the residual being of a periodic * character. The latter, which is modeled by the present routine, * comprises a main (annual) sinusoidal term of amplitude * approximately 0.00166 seconds, plus planetary terms up to about * 20 microseconds, and lunar and diurnal terms up to 2 microseconds. * These effects come from the changing transverse Doppler effect * and gravitational red-shift as the observer (on the Earth's * surface) experiences variations in speed (with respect to the * BCRS) and gravitational potential. * * 5) TDB can be regarded as the same as TCB but with a rate adjustment * to keep it close to TT, which is convenient for many applications. * The history of successive attempts to define TDB is set out in * Resolution 3 adopted by the IAU General Assembly in 2006, which * defines a fixed TDB(TCB) transformation that is consistent with * contemporary solar-system ephemerides. Future ephemerides will * imply slightly changed transformations between TCG and TCB, which * could introduce a linear drift between TDB and TT; however, any * such drift is unlikely to exceed 1 nanosecond per century. * * 6) The geocentric TDB-TT model used in the present routine is that of * Fairhead & Bretagnon (1990), in its full form. It was originally * supplied by Fairhead (private communications with P.T.Wallace, * 1990) as a Fortran subroutine. The present routine contains an * adaptation of the Fairhead code. The numerical results are * essentially unaffected by the changes, the differences with * respect to the Fairhead & Bretagnon original being at the 1D-20 s * level. * * The topocentric part of the model is from Moyer (1981) and * Murray (1983), with fundamental arguments adapted from * Simon et al. 1994. It is an approximation to the expression * ( v / c ) . ( r / c ), where v is the barycentric velocity of * the Earth, r is the geocentric position of the observer and * c is the speed of light. * * By supplying zeroes for U and V, the topocentric part of the * model can be nullified, and the routine will return the Fairhead * & Bretagnon result alone. * * 7) During the interval 1950-2050, the absolute accuracy is better * than +/- 3 nanoseconds relative to time ephemerides obtained by * direct numerical integrations based on the JPL DE405 solar system * ephemeris. * * 8) It must be stressed that the present routine is merely a model, * and that numerical integration of solar-system ephemerides is the * definitive method for predicting the relationship between TCG and * TCB and hence between TT and TDB. * * References: * * Fairhead, L., & Bretagnon, P., Astron.Astrophys., 229, 240-247 * (1990). * * IAU 2006 Resolution 3. * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Moyer, T.D., Cel.Mech., 23, 33 (1981). * * Murray, C.A., Vectorial Astrometry, Adam Hilger (1983). * * Seidelmann, P.K. et al., Explanatory Supplement to the * Astronomical Almanac, Chapter 2, University Science Books (1992). * * Simon, J.L., Bretagnon, P., Chapront, J., Chapront-Touze, M., * Francou, G. & Laskar, J., Astron.Astrophys., 282, 663-683 (1994). * * This revision: 2010 July 29 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, UT, ELONG, U, V * 2Pi DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) * Degrees to radians DOUBLE PRECISION DD2R PARAMETER ( DD2R = 1.745329251994329576923691D-2 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian millennium DOUBLE PRECISION DJM PARAMETER ( DJM = 365250D0 ) DOUBLE PRECISION T, TSOL, W, ELSUN, EMSUN, D, ELJ, ELS, : WT, W0, W1, W2, W3, W4, WF, WJ * * ===================== * Fairhead et al. model * ===================== * * 787 sets of three coefficients. * * Each set is amplitude (microseconds) * frequency (radians per Julian millennium since J2000.0), * phase (radians). * * Sets 1-474 are the T**0 terms, * " 475-679 " " T**1 " * " 680-764 " " T**2 " * " 765-784 " " T**3 " * " 785-787 " " T**4 " . * DOUBLE PRECISION FAIRHD(3,787) INTEGER I,J DATA ((FAIRHD(I,J),I=1,3),J= 1, 10) / : 1656.674564D-6, 6283.075849991D0, 6.240054195D0, : 22.417471D-6, 5753.384884897D0, 4.296977442D0, : 13.839792D-6, 12566.151699983D0, 6.196904410D0, : 4.770086D-6, 529.690965095D0, 0.444401603D0, : 4.676740D-6, 6069.776754553D0, 4.021195093D0, : 2.256707D-6, 213.299095438D0, 5.543113262D0, : 1.694205D-6, -3.523118349D0, 5.025132748D0, : 1.554905D-6, 77713.771467920D0, 5.198467090D0, : 1.276839D-6, 7860.419392439D0, 5.988822341D0, : 1.193379D-6, 5223.693919802D0, 3.649823730D0 / DATA ((FAIRHD(I,J),I=1,3),J= 11, 20) / : 1.115322D-6, 3930.209696220D0, 1.422745069D0, : 0.794185D-6, 11506.769769794D0, 2.322313077D0, : 0.447061D-6, 26.298319800D0, 3.615796498D0, : 0.435206D-6, -398.149003408D0, 4.349338347D0, : 0.600309D-6, 1577.343542448D0, 2.678271909D0, : 0.496817D-6, 6208.294251424D0, 5.696701824D0, : 0.486306D-6, 5884.926846583D0, 0.520007179D0, : 0.432392D-6, 74.781598567D0, 2.435898309D0, : 0.468597D-6, 6244.942814354D0, 5.866398759D0, : 0.375510D-6, 5507.553238667D0, 4.103476804D0 / DATA ((FAIRHD(I,J),I=1,3),J= 21, 30) / : 0.243085D-6, -775.522611324D0, 3.651837925D0, : 0.173435D-6, 18849.227549974D0, 6.153743485D0, : 0.230685D-6, 5856.477659115D0, 4.773852582D0, : 0.203747D-6, 12036.460734888D0, 4.333987818D0, : 0.143935D-6, -796.298006816D0, 5.957517795D0, : 0.159080D-6, 10977.078804699D0, 1.890075226D0, : 0.119979D-6, 38.133035638D0, 4.551585768D0, : 0.118971D-6, 5486.777843175D0, 1.914547226D0, : 0.116120D-6, 1059.381930189D0, 0.873504123D0, : 0.137927D-6, 11790.629088659D0, 1.135934669D0 / DATA ((FAIRHD(I,J),I=1,3),J= 31, 40) / : 0.098358D-6, 2544.314419883D0, 0.092793886D0, : 0.101868D-6, -5573.142801634D0, 5.984503847D0, : 0.080164D-6, 206.185548437D0, 2.095377709D0, : 0.079645D-6, 4694.002954708D0, 2.949233637D0, : 0.062617D-6, 20.775395492D0, 2.654394814D0, : 0.075019D-6, 2942.463423292D0, 4.980931759D0, : 0.064397D-6, 5746.271337896D0, 1.280308748D0, : 0.063814D-6, 5760.498431898D0, 4.167901731D0, : 0.048042D-6, 2146.165416475D0, 1.495846011D0, : 0.048373D-6, 155.420399434D0, 2.251573730D0 / DATA ((FAIRHD(I,J),I=1,3),J= 41, 50) / : 0.058844D-6, 426.598190876D0, 4.839650148D0, : 0.046551D-6, -0.980321068D0, 0.921573539D0, : 0.054139D-6, 17260.154654690D0, 3.411091093D0, : 0.042411D-6, 6275.962302991D0, 2.869567043D0, : 0.040184D-6, -7.113547001D0, 3.565975565D0, : 0.036564D-6, 5088.628839767D0, 3.324679049D0, : 0.040759D-6, 12352.852604545D0, 3.981496998D0, : 0.036507D-6, 801.820931124D0, 6.248866009D0, : 0.036955D-6, 3154.687084896D0, 5.071801441D0, : 0.042732D-6, 632.783739313D0, 5.720622217D0 / DATA ((FAIRHD(I,J),I=1,3),J= 51, 60) / : 0.042560D-6, 161000.685737473D0, 1.270837679D0, : 0.040480D-6, 15720.838784878D0, 2.546610123D0, : 0.028244D-6, -6286.598968340D0, 5.069663519D0, : 0.033477D-6, 6062.663207553D0, 4.144987272D0, : 0.034867D-6, 522.577418094D0, 5.210064075D0, : 0.032438D-6, 6076.890301554D0, 0.749317412D0, : 0.030215D-6, 7084.896781115D0, 3.389610345D0, : 0.029247D-6, -71430.695617928D0, 4.183178762D0, : 0.033529D-6, 9437.762934887D0, 2.404714239D0, : 0.032423D-6, 8827.390269875D0, 5.541473556D0 / DATA ((FAIRHD(I,J),I=1,3),J= 61, 70) / : 0.027567D-6, 6279.552731642D0, 5.040846034D0, : 0.029862D-6, 12139.553509107D0, 1.770181024D0, : 0.022509D-6, 10447.387839604D0, 1.460726241D0, : 0.020937D-6, 8429.241266467D0, 0.652303414D0, : 0.020322D-6, 419.484643875D0, 3.735430632D0, : 0.024816D-6, -1194.447010225D0, 1.087136918D0, : 0.025196D-6, 1748.016413067D0, 2.901883301D0, : 0.021691D-6, 14143.495242431D0, 5.952658009D0, : 0.017673D-6, 6812.766815086D0, 3.186129845D0, : 0.022567D-6, 6133.512652857D0, 3.307984806D0 / DATA ((FAIRHD(I,J),I=1,3),J= 71, 80) / : 0.016155D-6, 10213.285546211D0, 1.331103168D0, : 0.014751D-6, 1349.867409659D0, 4.308933301D0, : 0.015949D-6, -220.412642439D0, 4.005298270D0, : 0.015974D-6, -2352.866153772D0, 6.145309371D0, : 0.014223D-6, 17789.845619785D0, 2.104551349D0, : 0.017806D-6, 73.297125859D0, 3.475975097D0, : 0.013671D-6, -536.804512095D0, 5.971672571D0, : 0.011942D-6, 8031.092263058D0, 2.053414715D0, : 0.014318D-6, 16730.463689596D0, 3.016058075D0, : 0.012462D-6, 103.092774219D0, 1.737438797D0 / DATA ((FAIRHD(I,J),I=1,3),J= 81, 90) / : 0.010962D-6, 3.590428652D0, 2.196567739D0, : 0.015078D-6, 19651.048481098D0, 3.969480770D0, : 0.010396D-6, 951.718406251D0, 5.717799605D0, : 0.011707D-6, -4705.732307544D0, 2.654125618D0, : 0.010453D-6, 5863.591206116D0, 1.913704550D0, : 0.012420D-6, 4690.479836359D0, 4.734090399D0, : 0.011847D-6, 5643.178563677D0, 5.489005403D0, : 0.008610D-6, 3340.612426700D0, 3.661698944D0, : 0.011622D-6, 5120.601145584D0, 4.863931876D0, : 0.010825D-6, 553.569402842D0, 0.842715011D0 / DATA ((FAIRHD(I,J),I=1,3),J= 91,100) / : 0.008666D-6, -135.065080035D0, 3.293406547D0, : 0.009963D-6, 149.563197135D0, 4.870690598D0, : 0.009858D-6, 6309.374169791D0, 1.061816410D0, : 0.007959D-6, 316.391869657D0, 2.465042647D0, : 0.010099D-6, 283.859318865D0, 1.942176992D0, : 0.007147D-6, -242.728603974D0, 3.661486981D0, : 0.007505D-6, 5230.807466803D0, 4.920937029D0, : 0.008323D-6, 11769.853693166D0, 1.229392026D0, : 0.007490D-6, -6256.777530192D0, 3.658444681D0, : 0.009370D-6, 149854.400134205D0, 0.673880395D0 / DATA ((FAIRHD(I,J),I=1,3),J=101,110) / : 0.007117D-6, 38.027672636D0, 5.294249518D0, : 0.007857D-6, 12168.002696575D0, 0.525733528D0, : 0.007019D-6, 6206.809778716D0, 0.837688810D0, : 0.006056D-6, 955.599741609D0, 4.194535082D0, : 0.008107D-6, 13367.972631107D0, 3.793235253D0, : 0.006731D-6, 5650.292110678D0, 5.639906583D0, : 0.007332D-6, 36.648562930D0, 0.114858677D0, : 0.006366D-6, 4164.311989613D0, 2.262081818D0, : 0.006858D-6, 5216.580372801D0, 0.642063318D0, : 0.006919D-6, 6681.224853400D0, 6.018501522D0 / DATA ((FAIRHD(I,J),I=1,3),J=111,120) / : 0.006826D-6, 7632.943259650D0, 3.458654112D0, : 0.005308D-6, -1592.596013633D0, 2.500382359D0, : 0.005096D-6, 11371.704689758D0, 2.547107806D0, : 0.004841D-6, 5333.900241022D0, 0.437078094D0, : 0.005582D-6, 5966.683980335D0, 2.246174308D0, : 0.006304D-6, 11926.254413669D0, 2.512929171D0, : 0.006603D-6, 23581.258177318D0, 5.393136889D0, : 0.005123D-6, -1.484472708D0, 2.999641028D0, : 0.004648D-6, 1589.072895284D0, 1.275847090D0, : 0.005119D-6, 6438.496249426D0, 1.486539246D0 / DATA ((FAIRHD(I,J),I=1,3),J=121,130) / : 0.004521D-6, 4292.330832950D0, 6.140635794D0, : 0.005680D-6, 23013.539539587D0, 4.557814849D0, : 0.005488D-6, -3.455808046D0, 0.090675389D0, : 0.004193D-6, 7234.794256242D0, 4.869091389D0, : 0.003742D-6, 7238.675591600D0, 4.691976180D0, : 0.004148D-6, -110.206321219D0, 3.016173439D0, : 0.004553D-6, 11499.656222793D0, 5.554998314D0, : 0.004892D-6, 5436.993015240D0, 1.475415597D0, : 0.004044D-6, 4732.030627343D0, 1.398784824D0, : 0.004164D-6, 12491.370101415D0, 5.650931916D0 / DATA ((FAIRHD(I,J),I=1,3),J=131,140) / : 0.004349D-6, 11513.883316794D0, 2.181745369D0, : 0.003919D-6, 12528.018664345D0, 5.823319737D0, : 0.003129D-6, 6836.645252834D0, 0.003844094D0, : 0.004080D-6, -7058.598461315D0, 3.690360123D0, : 0.003270D-6, 76.266071276D0, 1.517189902D0, : 0.002954D-6, 6283.143160294D0, 4.447203799D0, : 0.002872D-6, 28.449187468D0, 1.158692983D0, : 0.002881D-6, 735.876513532D0, 0.349250250D0, : 0.003279D-6, 5849.364112115D0, 4.893384368D0, : 0.003625D-6, 6209.778724132D0, 1.473760578D0 / DATA ((FAIRHD(I,J),I=1,3),J=141,150) / : 0.003074D-6, 949.175608970D0, 5.185878737D0, : 0.002775D-6, 9917.696874510D0, 1.030026325D0, : 0.002646D-6, 10973.555686350D0, 3.918259169D0, : 0.002575D-6, 25132.303399966D0, 6.109659023D0, : 0.003500D-6, 263.083923373D0, 1.892100742D0, : 0.002740D-6, 18319.536584880D0, 4.320519510D0, : 0.002464D-6, 202.253395174D0, 4.698203059D0, : 0.002409D-6, 2.542797281D0, 5.325009315D0, : 0.003354D-6, -90955.551694697D0, 1.942656623D0, : 0.002296D-6, 6496.374945429D0, 5.061810696D0 / DATA ((FAIRHD(I,J),I=1,3),J=151,160) / : 0.003002D-6, 6172.869528772D0, 2.797822767D0, : 0.003202D-6, 27511.467873537D0, 0.531673101D0, : 0.002954D-6, -6283.008539689D0, 4.533471191D0, : 0.002353D-6, 639.897286314D0, 3.734548088D0, : 0.002401D-6, 16200.772724501D0, 2.605547070D0, : 0.003053D-6, 233141.314403759D0, 3.029030662D0, : 0.003024D-6, 83286.914269554D0, 2.355556099D0, : 0.002863D-6, 17298.182327326D0, 5.240963796D0, : 0.002103D-6, -7079.373856808D0, 5.756641637D0, : 0.002303D-6, 83996.847317911D0, 2.013686814D0 / DATA ((FAIRHD(I,J),I=1,3),J=161,170) / : 0.002303D-6, 18073.704938650D0, 1.089100410D0, : 0.002381D-6, 63.735898303D0, 0.759188178D0, : 0.002493D-6, 6386.168624210D0, 0.645026535D0, : 0.002366D-6, 3.932153263D0, 6.215885448D0, : 0.002169D-6, 11015.106477335D0, 4.845297676D0, : 0.002397D-6, 6243.458341645D0, 3.809290043D0, : 0.002183D-6, 1162.474704408D0, 6.179611691D0, : 0.002353D-6, 6246.427287062D0, 4.781719760D0, : 0.002199D-6, -245.831646229D0, 5.956152284D0, : 0.001729D-6, 3894.181829542D0, 1.264976635D0 / DATA ((FAIRHD(I,J),I=1,3),J=171,180) / : 0.001896D-6, -3128.388765096D0, 4.914231596D0, : 0.002085D-6, 35.164090221D0, 1.405158503D0, : 0.002024D-6, 14712.317116458D0, 2.752035928D0, : 0.001737D-6, 6290.189396992D0, 5.280820144D0, : 0.002229D-6, 491.557929457D0, 1.571007057D0, : 0.001602D-6, 14314.168113050D0, 4.203664806D0, : 0.002186D-6, 454.909366527D0, 1.402101526D0, : 0.001897D-6, 22483.848574493D0, 4.167932508D0, : 0.001825D-6, -3738.761430108D0, 0.545828785D0, : 0.001894D-6, 1052.268383188D0, 5.817167450D0 / DATA ((FAIRHD(I,J),I=1,3),J=181,190) / : 0.001421D-6, 20.355319399D0, 2.419886601D0, : 0.001408D-6, 10984.192351700D0, 2.732084787D0, : 0.001847D-6, 10873.986030480D0, 2.903477885D0, : 0.001391D-6, -8635.942003763D0, 0.593891500D0, : 0.001388D-6, -7.046236698D0, 1.166145902D0, : 0.001810D-6, -88860.057071188D0, 0.487355242D0, : 0.001288D-6, -1990.745017041D0, 3.913022880D0, : 0.001297D-6, 23543.230504682D0, 3.063805171D0, : 0.001335D-6, -266.607041722D0, 3.995764039D0, : 0.001376D-6, 10969.965257698D0, 5.152914309D0 / DATA ((FAIRHD(I,J),I=1,3),J=191,200) / : 0.001745D-6, 244287.600007027D0, 3.626395673D0, : 0.001649D-6, 31441.677569757D0, 1.952049260D0, : 0.001416D-6, 9225.539273283D0, 4.996408389D0, : 0.001238D-6, 4804.209275927D0, 5.503379738D0, : 0.001472D-6, 4590.910180489D0, 4.164913291D0, : 0.001169D-6, 6040.347246017D0, 5.841719038D0, : 0.001039D-6, 5540.085789459D0, 2.769753519D0, : 0.001004D-6, -170.672870619D0, 0.755008103D0, : 0.001284D-6, 10575.406682942D0, 5.306538209D0, : 0.001278D-6, 71.812653151D0, 4.713486491D0 / DATA ((FAIRHD(I,J),I=1,3),J=201,210) / : 0.001321D-6, 18209.330263660D0, 2.624866359D0, : 0.001297D-6, 21228.392023546D0, 0.382603541D0, : 0.000954D-6, 6282.095528923D0, 0.882213514D0, : 0.001145D-6, 6058.731054289D0, 1.169483931D0, : 0.000979D-6, 5547.199336460D0, 5.448375984D0, : 0.000987D-6, -6262.300454499D0, 2.656486959D0, : 0.001070D-6, -154717.609887482D0, 1.827624012D0, : 0.000991D-6, 4701.116501708D0, 4.387001801D0, : 0.001155D-6, -14.227094002D0, 3.042700750D0, : 0.001176D-6, 277.034993741D0, 3.335519004D0 / DATA ((FAIRHD(I,J),I=1,3),J=211,220) / : 0.000890D-6, 13916.019109642D0, 5.601498297D0, : 0.000884D-6, -1551.045222648D0, 1.088831705D0, : 0.000876D-6, 5017.508371365D0, 3.969902609D0, : 0.000806D-6, 15110.466119866D0, 5.142876744D0, : 0.000773D-6, -4136.910433516D0, 0.022067765D0, : 0.001077D-6, 175.166059800D0, 1.844913056D0, : 0.000954D-6, -6284.056171060D0, 0.968480906D0, : 0.000737D-6, 5326.786694021D0, 4.923831588D0, : 0.000845D-6, -433.711737877D0, 4.749245231D0, : 0.000819D-6, 8662.240323563D0, 5.991247817D0 / DATA ((FAIRHD(I,J),I=1,3),J=221,230) / : 0.000852D-6, 199.072001436D0, 2.189604979D0, : 0.000723D-6, 17256.631536341D0, 6.068719637D0, : 0.000940D-6, 6037.244203762D0, 6.197428148D0, : 0.000885D-6, 11712.955318231D0, 3.280414875D0, : 0.000706D-6, 12559.038152982D0, 2.824848947D0, : 0.000732D-6, 2379.164473572D0, 2.501813417D0, : 0.000764D-6, -6127.655450557D0, 2.236346329D0, : 0.000908D-6, 131.541961686D0, 2.521257490D0, : 0.000907D-6, 35371.887265976D0, 3.370195967D0, : 0.000673D-6, 1066.495477190D0, 3.876512374D0 / DATA ((FAIRHD(I,J),I=1,3),J=231,240) / : 0.000814D-6, 17654.780539750D0, 4.627122566D0, : 0.000630D-6, 36.027866677D0, 0.156368499D0, : 0.000798D-6, 515.463871093D0, 5.151962502D0, : 0.000798D-6, 148.078724426D0, 5.909225055D0, : 0.000806D-6, 309.278322656D0, 6.054064447D0, : 0.000607D-6, -39.617508346D0, 2.839021623D0, : 0.000601D-6, 412.371096874D0, 3.984225404D0, : 0.000646D-6, 11403.676995575D0, 3.852959484D0, : 0.000704D-6, 13521.751441591D0, 2.300991267D0, : 0.000603D-6, -65147.619767937D0, 4.140083146D0 / DATA ((FAIRHD(I,J),I=1,3),J=241,250) / : 0.000609D-6, 10177.257679534D0, 0.437122327D0, : 0.000631D-6, 5767.611978898D0, 4.026532329D0, : 0.000576D-6, 11087.285125918D0, 4.760293101D0, : 0.000674D-6, 14945.316173554D0, 6.270510511D0, : 0.000726D-6, 5429.879468239D0, 6.039606892D0, : 0.000710D-6, 28766.924424484D0, 5.672617711D0, : 0.000647D-6, 11856.218651625D0, 3.397132627D0, : 0.000678D-6, -5481.254918868D0, 6.249666675D0, : 0.000618D-6, 22003.914634870D0, 2.466427018D0, : 0.000738D-6, 6134.997125565D0, 2.242668890D0 / DATA ((FAIRHD(I,J),I=1,3),J=251,260) / : 0.000660D-6, 625.670192312D0, 5.864091907D0, : 0.000694D-6, 3496.032826134D0, 2.668309141D0, : 0.000531D-6, 6489.261398429D0, 1.681888780D0, : 0.000611D-6, -143571.324284214D0, 2.424978312D0, : 0.000575D-6, 12043.574281889D0, 4.216492400D0, : 0.000553D-6, 12416.588502848D0, 4.772158039D0, : 0.000689D-6, 4686.889407707D0, 6.224271088D0, : 0.000495D-6, 7342.457780181D0, 3.817285811D0, : 0.000567D-6, 3634.621024518D0, 1.649264690D0, : 0.000515D-6, 18635.928454536D0, 3.945345892D0 / DATA ((FAIRHD(I,J),I=1,3),J=261,270) / : 0.000486D-6, -323.505416657D0, 4.061673868D0, : 0.000662D-6, 25158.601719765D0, 1.794058369D0, : 0.000509D-6, 846.082834751D0, 3.053874588D0, : 0.000472D-6, -12569.674818332D0, 5.112133338D0, : 0.000461D-6, 6179.983075773D0, 0.513669325D0, : 0.000641D-6, 83467.156352816D0, 3.210727723D0, : 0.000520D-6, 10344.295065386D0, 2.445597761D0, : 0.000493D-6, 18422.629359098D0, 1.676939306D0, : 0.000478D-6, 1265.567478626D0, 5.487314569D0, : 0.000472D-6, -18.159247265D0, 1.999707589D0 / DATA ((FAIRHD(I,J),I=1,3),J=271,280) / : 0.000559D-6, 11190.377900137D0, 5.783236356D0, : 0.000494D-6, 9623.688276691D0, 3.022645053D0, : 0.000463D-6, 5739.157790895D0, 1.411223013D0, : 0.000432D-6, 16858.482532933D0, 1.179256434D0, : 0.000574D-6, 72140.628666286D0, 1.758191830D0, : 0.000484D-6, 17267.268201691D0, 3.290589143D0, : 0.000550D-6, 4907.302050146D0, 0.864024298D0, : 0.000399D-6, 14.977853527D0, 2.094441910D0, : 0.000491D-6, 224.344795702D0, 0.878372791D0, : 0.000432D-6, 20426.571092422D0, 6.003829241D0 / DATA ((FAIRHD(I,J),I=1,3),J=281,290) / : 0.000481D-6, 5749.452731634D0, 4.309591964D0, : 0.000480D-6, 5757.317038160D0, 1.142348571D0, : 0.000485D-6, 6702.560493867D0, 0.210580917D0, : 0.000426D-6, 6055.549660552D0, 4.274476529D0, : 0.000480D-6, 5959.570433334D0, 5.031351030D0, : 0.000466D-6, 12562.628581634D0, 4.959581597D0, : 0.000520D-6, 39302.096962196D0, 4.788002889D0, : 0.000458D-6, 12132.439962106D0, 1.880103788D0, : 0.000470D-6, 12029.347187887D0, 1.405611197D0, : 0.000416D-6, -7477.522860216D0, 1.082356330D0 / DATA ((FAIRHD(I,J),I=1,3),J=291,300) / : 0.000449D-6, 11609.862544012D0, 4.179989585D0, : 0.000465D-6, 17253.041107690D0, 0.353496295D0, : 0.000362D-6, -4535.059436924D0, 1.583849576D0, : 0.000383D-6, 21954.157609398D0, 3.747376371D0, : 0.000389D-6, 17.252277143D0, 1.395753179D0, : 0.000331D-6, 18052.929543158D0, 0.566790582D0, : 0.000430D-6, 13517.870106233D0, 0.685827538D0, : 0.000368D-6, -5756.908003246D0, 0.731374317D0, : 0.000330D-6, 10557.594160824D0, 3.710043680D0, : 0.000332D-6, 20199.094959633D0, 1.652901407D0 / DATA ((FAIRHD(I,J),I=1,3),J=301,310) / : 0.000384D-6, 11933.367960670D0, 5.827781531D0, : 0.000387D-6, 10454.501386605D0, 2.541182564D0, : 0.000325D-6, 15671.081759407D0, 2.178850542D0, : 0.000318D-6, 138.517496871D0, 2.253253037D0, : 0.000305D-6, 9388.005909415D0, 0.578340206D0, : 0.000352D-6, 5749.861766548D0, 3.000297967D0, : 0.000311D-6, 6915.859589305D0, 1.693574249D0, : 0.000297D-6, 24072.921469776D0, 1.997249392D0, : 0.000363D-6, -640.877607382D0, 5.071820966D0, : 0.000323D-6, 12592.450019783D0, 1.072262823D0 / DATA ((FAIRHD(I,J),I=1,3),J=311,320) / : 0.000341D-6, 12146.667056108D0, 4.700657997D0, : 0.000290D-6, 9779.108676125D0, 1.812320441D0, : 0.000342D-6, 6132.028180148D0, 4.322238614D0, : 0.000329D-6, 6268.848755990D0, 3.033827743D0, : 0.000374D-6, 17996.031168222D0, 3.388716544D0, : 0.000285D-6, -533.214083444D0, 4.687313233D0, : 0.000338D-6, 6065.844601290D0, 0.877776108D0, : 0.000276D-6, 24.298513841D0, 0.770299429D0, : 0.000336D-6, -2388.894020449D0, 5.353796034D0, : 0.000290D-6, 3097.883822726D0, 4.075291557D0 / DATA ((FAIRHD(I,J),I=1,3),J=321,330) / : 0.000318D-6, 709.933048357D0, 5.941207518D0, : 0.000271D-6, 13095.842665077D0, 3.208912203D0, : 0.000331D-6, 6073.708907816D0, 4.007881169D0, : 0.000292D-6, 742.990060533D0, 2.714333592D0, : 0.000362D-6, 29088.811415985D0, 3.215977013D0, : 0.000280D-6, 12359.966151546D0, 0.710872502D0, : 0.000267D-6, 10440.274292604D0, 4.730108488D0, : 0.000262D-6, 838.969287750D0, 1.327720272D0, : 0.000250D-6, 16496.361396202D0, 0.898769761D0, : 0.000325D-6, 20597.243963041D0, 0.180044365D0 / DATA ((FAIRHD(I,J),I=1,3),J=331,340) / : 0.000268D-6, 6148.010769956D0, 5.152666276D0, : 0.000284D-6, 5636.065016677D0, 5.655385808D0, : 0.000301D-6, 6080.822454817D0, 2.135396205D0, : 0.000294D-6, -377.373607916D0, 3.708784168D0, : 0.000236D-6, 2118.763860378D0, 1.733578756D0, : 0.000234D-6, 5867.523359379D0, 5.575209112D0, : 0.000268D-6, -226858.238553767D0, 0.069432392D0, : 0.000265D-6, 167283.761587465D0, 4.369302826D0, : 0.000280D-6, 28237.233459389D0, 5.304829118D0, : 0.000292D-6, 12345.739057544D0, 4.096094132D0 / DATA ((FAIRHD(I,J),I=1,3),J=341,350) / : 0.000223D-6, 19800.945956225D0, 3.069327406D0, : 0.000301D-6, 43232.306658416D0, 6.205311188D0, : 0.000264D-6, 18875.525869774D0, 1.417263408D0, : 0.000304D-6, -1823.175188677D0, 3.409035232D0, : 0.000301D-6, 109.945688789D0, 0.510922054D0, : 0.000260D-6, 813.550283960D0, 2.389438934D0, : 0.000299D-6, 316428.228673312D0, 5.384595078D0, : 0.000211D-6, 5756.566278634D0, 3.789392838D0, : 0.000209D-6, 5750.203491159D0, 1.661943545D0, : 0.000240D-6, 12489.885628707D0, 5.684549045D0 / DATA ((FAIRHD(I,J),I=1,3),J=351,360) / : 0.000216D-6, 6303.851245484D0, 3.862942261D0, : 0.000203D-6, 1581.959348283D0, 5.549853589D0, : 0.000200D-6, 5642.198242609D0, 1.016115785D0, : 0.000197D-6, -70.849445304D0, 4.690702525D0, : 0.000227D-6, 6287.008003254D0, 2.911891613D0, : 0.000197D-6, 533.623118358D0, 1.048982898D0, : 0.000205D-6, -6279.485421340D0, 1.829362730D0, : 0.000209D-6, -10988.808157535D0, 2.636140084D0, : 0.000208D-6, -227.526189440D0, 4.127883842D0, : 0.000191D-6, 415.552490612D0, 4.401165650D0 / DATA ((FAIRHD(I,J),I=1,3),J=361,370) / : 0.000190D-6, 29296.615389579D0, 4.175658539D0, : 0.000264D-6, 66567.485864652D0, 4.601102551D0, : 0.000256D-6, -3646.350377354D0, 0.506364778D0, : 0.000188D-6, 13119.721102825D0, 2.032195842D0, : 0.000185D-6, -209.366942175D0, 4.694756586D0, : 0.000198D-6, 25934.124331089D0, 3.832703118D0, : 0.000195D-6, 4061.219215394D0, 3.308463427D0, : 0.000234D-6, 5113.487598583D0, 1.716090661D0, : 0.000188D-6, 1478.866574064D0, 5.686865780D0, : 0.000222D-6, 11823.161639450D0, 1.942386641D0 / DATA ((FAIRHD(I,J),I=1,3),J=371,380) / : 0.000181D-6, 10770.893256262D0, 1.999482059D0, : 0.000171D-6, 6546.159773364D0, 1.182807992D0, : 0.000206D-6, 70.328180442D0, 5.934076062D0, : 0.000169D-6, 20995.392966449D0, 2.169080622D0, : 0.000191D-6, 10660.686935042D0, 5.405515999D0, : 0.000228D-6, 33019.021112205D0, 4.656985514D0, : 0.000184D-6, -4933.208440333D0, 3.327476868D0, : 0.000220D-6, -135.625325010D0, 1.765430262D0, : 0.000166D-6, 23141.558382925D0, 3.454132746D0, : 0.000191D-6, 6144.558353121D0, 5.020393445D0 / DATA ((FAIRHD(I,J),I=1,3),J=381,390) / : 0.000180D-6, 6084.003848555D0, 0.602182191D0, : 0.000163D-6, 17782.732072784D0, 4.960593133D0, : 0.000225D-6, 16460.333529525D0, 2.596451817D0, : 0.000222D-6, 5905.702242076D0, 3.731990323D0, : 0.000204D-6, 227.476132789D0, 5.636192701D0, : 0.000159D-6, 16737.577236597D0, 3.600691544D0, : 0.000200D-6, 6805.653268085D0, 0.868220961D0, : 0.000187D-6, 11919.140866668D0, 2.629456641D0, : 0.000161D-6, 127.471796607D0, 2.862574720D0, : 0.000205D-6, 6286.666278643D0, 1.742882331D0 / DATA ((FAIRHD(I,J),I=1,3),J=391,400) / : 0.000189D-6, 153.778810485D0, 4.812372643D0, : 0.000168D-6, 16723.350142595D0, 0.027860588D0, : 0.000149D-6, 11720.068865232D0, 0.659721876D0, : 0.000189D-6, 5237.921013804D0, 5.245313000D0, : 0.000143D-6, 6709.674040867D0, 4.317625647D0, : 0.000146D-6, 4487.817406270D0, 4.815297007D0, : 0.000144D-6, -664.756045130D0, 5.381366880D0, : 0.000175D-6, 5127.714692584D0, 4.728443327D0, : 0.000162D-6, 6254.626662524D0, 1.435132069D0, : 0.000187D-6, 47162.516354635D0, 1.354371923D0 / DATA ((FAIRHD(I,J),I=1,3),J=401,410) / : 0.000146D-6, 11080.171578918D0, 3.369695406D0, : 0.000180D-6, -348.924420448D0, 2.490902145D0, : 0.000148D-6, 151.047669843D0, 3.799109588D0, : 0.000157D-6, 6197.248551160D0, 1.284375887D0, : 0.000167D-6, 146.594251718D0, 0.759969109D0, : 0.000133D-6, -5331.357443741D0, 5.409701889D0, : 0.000154D-6, 95.979227218D0, 3.366890614D0, : 0.000148D-6, -6418.140930027D0, 3.384104996D0, : 0.000128D-6, -6525.804453965D0, 3.803419985D0, : 0.000130D-6, 11293.470674356D0, 0.939039445D0 / DATA ((FAIRHD(I,J),I=1,3),J=411,420) / : 0.000152D-6, -5729.506447149D0, 0.734117523D0, : 0.000138D-6, 210.117701700D0, 2.564216078D0, : 0.000123D-6, 6066.595360816D0, 4.517099537D0, : 0.000140D-6, 18451.078546566D0, 0.642049130D0, : 0.000126D-6, 11300.584221356D0, 3.485280663D0, : 0.000119D-6, 10027.903195729D0, 3.217431161D0, : 0.000151D-6, 4274.518310832D0, 4.404359108D0, : 0.000117D-6, 6072.958148291D0, 0.366324650D0, : 0.000165D-6, -7668.637425143D0, 4.298212528D0, : 0.000117D-6, -6245.048177356D0, 5.379518958D0 / DATA ((FAIRHD(I,J),I=1,3),J=421,430) / : 0.000130D-6, -5888.449964932D0, 4.527681115D0, : 0.000121D-6, -543.918059096D0, 6.109429504D0, : 0.000162D-6, 9683.594581116D0, 5.720092446D0, : 0.000141D-6, 6219.339951688D0, 0.679068671D0, : 0.000118D-6, 22743.409379516D0, 4.881123092D0, : 0.000129D-6, 1692.165669502D0, 0.351407289D0, : 0.000126D-6, 5657.405657679D0, 5.146592349D0, : 0.000114D-6, 728.762966531D0, 0.520791814D0, : 0.000120D-6, 52.596639600D0, 0.948516300D0, : 0.000115D-6, 65.220371012D0, 3.504914846D0 / DATA ((FAIRHD(I,J),I=1,3),J=431,440) / : 0.000126D-6, 5881.403728234D0, 5.577502482D0, : 0.000158D-6, 163096.180360983D0, 2.957128968D0, : 0.000134D-6, 12341.806904281D0, 2.598576764D0, : 0.000151D-6, 16627.370915377D0, 3.985702050D0, : 0.000109D-6, 1368.660252845D0, 0.014730471D0, : 0.000131D-6, 6211.263196841D0, 0.085077024D0, : 0.000146D-6, 5792.741760812D0, 0.708426604D0, : 0.000146D-6, -77.750543984D0, 3.121576600D0, : 0.000107D-6, 5341.013788022D0, 0.288231904D0, : 0.000138D-6, 6281.591377283D0, 2.797450317D0 / DATA ((FAIRHD(I,J),I=1,3),J=441,450) / : 0.000113D-6, -6277.552925684D0, 2.788904128D0, : 0.000115D-6, -525.758811831D0, 5.895222200D0, : 0.000138D-6, 6016.468808270D0, 6.096188999D0, : 0.000139D-6, 23539.707386333D0, 2.028195445D0, : 0.000146D-6, -4176.041342449D0, 4.660008502D0, : 0.000107D-6, 16062.184526117D0, 4.066520001D0, : 0.000142D-6, 83783.548222473D0, 2.936315115D0, : 0.000128D-6, 9380.959672717D0, 3.223844306D0, : 0.000135D-6, 6205.325306007D0, 1.638054048D0, : 0.000101D-6, 2699.734819318D0, 5.481603249D0 / DATA ((FAIRHD(I,J),I=1,3),J=451,460) / : 0.000104D-6, -568.821874027D0, 2.205734493D0, : 0.000103D-6, 6321.103522627D0, 2.440421099D0, : 0.000119D-6, 6321.208885629D0, 2.547496264D0, : 0.000138D-6, 1975.492545856D0, 2.314608466D0, : 0.000121D-6, 137.033024162D0, 4.539108237D0, : 0.000123D-6, 19402.796952817D0, 4.538074405D0, : 0.000119D-6, 22805.735565994D0, 2.869040566D0, : 0.000133D-6, 64471.991241142D0, 6.056405489D0, : 0.000129D-6, -85.827298831D0, 2.540635083D0, : 0.000131D-6, 13613.804277336D0, 4.005732868D0 / DATA ((FAIRHD(I,J),I=1,3),J=461,470) / : 0.000104D-6, 9814.604100291D0, 1.959967212D0, : 0.000112D-6, 16097.679950283D0, 3.589026260D0, : 0.000123D-6, 2107.034507542D0, 1.728627253D0, : 0.000121D-6, 36949.230808424D0, 6.072332087D0, : 0.000108D-6, -12539.853380183D0, 3.716133846D0, : 0.000113D-6, -7875.671863624D0, 2.725771122D0, : 0.000109D-6, 4171.425536614D0, 4.033338079D0, : 0.000101D-6, 6247.911759770D0, 3.441347021D0, : 0.000113D-6, 7330.728427345D0, 0.656372122D0, : 0.000113D-6, 51092.726050855D0, 2.791483066D0 / DATA ((FAIRHD(I,J),I=1,3),J=471,480) / : 0.000106D-6, 5621.842923210D0, 1.815323326D0, : 0.000101D-6, 111.430161497D0, 5.711033677D0, : 0.000103D-6, 909.818733055D0, 2.812745443D0, : 0.000101D-6, 1790.642637886D0, 1.965746028D0, * T : 102.156724D-6, 6283.075849991D0, 4.249032005D0, : 1.706807D-6, 12566.151699983D0, 4.205904248D0, : 0.269668D-6, 213.299095438D0, 3.400290479D0, : 0.265919D-6, 529.690965095D0, 5.836047367D0, : 0.210568D-6, -3.523118349D0, 6.262738348D0, : 0.077996D-6, 5223.693919802D0, 4.670344204D0 / DATA ((FAIRHD(I,J),I=1,3),J=481,490) / : 0.054764D-6, 1577.343542448D0, 4.534800170D0, : 0.059146D-6, 26.298319800D0, 1.083044735D0, : 0.034420D-6, -398.149003408D0, 5.980077351D0, : 0.032088D-6, 18849.227549974D0, 4.162913471D0, : 0.033595D-6, 5507.553238667D0, 5.980162321D0, : 0.029198D-6, 5856.477659115D0, 0.623811863D0, : 0.027764D-6, 155.420399434D0, 3.745318113D0, : 0.025190D-6, 5746.271337896D0, 2.980330535D0, : 0.022997D-6, -796.298006816D0, 1.174411803D0, : 0.024976D-6, 5760.498431898D0, 2.467913690D0 / DATA ((FAIRHD(I,J),I=1,3),J=491,500) / : 0.021774D-6, 206.185548437D0, 3.854787540D0, : 0.017925D-6, -775.522611324D0, 1.092065955D0, : 0.013794D-6, 426.598190876D0, 2.699831988D0, : 0.013276D-6, 6062.663207553D0, 5.845801920D0, : 0.011774D-6, 12036.460734888D0, 2.292832062D0, : 0.012869D-6, 6076.890301554D0, 5.333425680D0, : 0.012152D-6, 1059.381930189D0, 6.222874454D0, : 0.011081D-6, -7.113547001D0, 5.154724984D0, : 0.010143D-6, 4694.002954708D0, 4.044013795D0, : 0.009357D-6, 5486.777843175D0, 3.416081409D0 / DATA ((FAIRHD(I,J),I=1,3),J=501,510) / : 0.010084D-6, 522.577418094D0, 0.749320262D0, : 0.008587D-6, 10977.078804699D0, 2.777152598D0, : 0.008628D-6, 6275.962302991D0, 4.562060226D0, : 0.008158D-6, -220.412642439D0, 5.806891533D0, : 0.007746D-6, 2544.314419883D0, 1.603197066D0, : 0.007670D-6, 2146.165416475D0, 3.000200440D0, : 0.007098D-6, 74.781598567D0, 0.443725817D0, : 0.006180D-6, -536.804512095D0, 1.302642751D0, : 0.005818D-6, 5088.628839767D0, 4.827723531D0, : 0.004945D-6, -6286.598968340D0, 0.268305170D0 / DATA ((FAIRHD(I,J),I=1,3),J=511,520) / : 0.004774D-6, 1349.867409659D0, 5.808636673D0, : 0.004687D-6, -242.728603974D0, 5.154890570D0, : 0.006089D-6, 1748.016413067D0, 4.403765209D0, : 0.005975D-6, -1194.447010225D0, 2.583472591D0, : 0.004229D-6, 951.718406251D0, 0.931172179D0, : 0.005264D-6, 553.569402842D0, 2.336107252D0, : 0.003049D-6, 5643.178563677D0, 1.362634430D0, : 0.002974D-6, 6812.766815086D0, 1.583012668D0, : 0.003403D-6, -2352.866153772D0, 2.552189886D0, : 0.003030D-6, 419.484643875D0, 5.286473844D0 / DATA ((FAIRHD(I,J),I=1,3),J=521,530) / : 0.003210D-6, -7.046236698D0, 1.863796539D0, : 0.003058D-6, 9437.762934887D0, 4.226420633D0, : 0.002589D-6, 12352.852604545D0, 1.991935820D0, : 0.002927D-6, 5216.580372801D0, 2.319951253D0, : 0.002425D-6, 5230.807466803D0, 3.084752833D0, : 0.002656D-6, 3154.687084896D0, 2.487447866D0, : 0.002445D-6, 10447.387839604D0, 2.347139160D0, : 0.002990D-6, 4690.479836359D0, 6.235872050D0, : 0.002890D-6, 5863.591206116D0, 0.095197563D0, : 0.002498D-6, 6438.496249426D0, 2.994779800D0 / DATA ((FAIRHD(I,J),I=1,3),J=531,540) / : 0.001889D-6, 8031.092263058D0, 3.569003717D0, : 0.002567D-6, 801.820931124D0, 3.425611498D0, : 0.001803D-6, -71430.695617928D0, 2.192295512D0, : 0.001782D-6, 3.932153263D0, 5.180433689D0, : 0.001694D-6, -4705.732307544D0, 4.641779174D0, : 0.001704D-6, -1592.596013633D0, 3.997097652D0, : 0.001735D-6, 5849.364112115D0, 0.417558428D0, : 0.001643D-6, 8429.241266467D0, 2.180619584D0, : 0.001680D-6, 38.133035638D0, 4.164529426D0, : 0.002045D-6, 7084.896781115D0, 0.526323854D0 / DATA ((FAIRHD(I,J),I=1,3),J=541,550) / : 0.001458D-6, 4292.330832950D0, 1.356098141D0, : 0.001437D-6, 20.355319399D0, 3.895439360D0, : 0.001738D-6, 6279.552731642D0, 0.087484036D0, : 0.001367D-6, 14143.495242431D0, 3.987576591D0, : 0.001344D-6, 7234.794256242D0, 0.090454338D0, : 0.001438D-6, 11499.656222793D0, 0.974387904D0, : 0.001257D-6, 6836.645252834D0, 1.509069366D0, : 0.001358D-6, 11513.883316794D0, 0.495572260D0, : 0.001628D-6, 7632.943259650D0, 4.968445721D0, : 0.001169D-6, 103.092774219D0, 2.838496795D0 / DATA ((FAIRHD(I,J),I=1,3),J=551,560) / : 0.001162D-6, 4164.311989613D0, 3.408387778D0, : 0.001092D-6, 6069.776754553D0, 3.617942651D0, : 0.001008D-6, 17789.845619785D0, 0.286350174D0, : 0.001008D-6, 639.897286314D0, 1.610762073D0, : 0.000918D-6, 10213.285546211D0, 5.532798067D0, : 0.001011D-6, -6256.777530192D0, 0.661826484D0, : 0.000753D-6, 16730.463689596D0, 3.905030235D0, : 0.000737D-6, 11926.254413669D0, 4.641956361D0, : 0.000694D-6, 3340.612426700D0, 2.111120332D0, : 0.000701D-6, 3894.181829542D0, 2.760823491D0 / DATA ((FAIRHD(I,J),I=1,3),J=561,570) / : 0.000689D-6, -135.065080035D0, 4.768800780D0, : 0.000700D-6, 13367.972631107D0, 5.760439898D0, : 0.000664D-6, 6040.347246017D0, 1.051215840D0, : 0.000654D-6, 5650.292110678D0, 4.911332503D0, : 0.000788D-6, 6681.224853400D0, 4.699648011D0, : 0.000628D-6, 5333.900241022D0, 5.024608847D0, : 0.000755D-6, -110.206321219D0, 4.370971253D0, : 0.000628D-6, 6290.189396992D0, 3.660478857D0, : 0.000635D-6, 25132.303399966D0, 4.121051532D0, : 0.000534D-6, 5966.683980335D0, 1.173284524D0 / DATA ((FAIRHD(I,J),I=1,3),J=571,580) / : 0.000543D-6, -433.711737877D0, 0.345585464D0, : 0.000517D-6, -1990.745017041D0, 5.414571768D0, : 0.000504D-6, 5767.611978898D0, 2.328281115D0, : 0.000485D-6, 5753.384884897D0, 1.685874771D0, : 0.000463D-6, 7860.419392439D0, 5.297703006D0, : 0.000604D-6, 515.463871093D0, 0.591998446D0, : 0.000443D-6, 12168.002696575D0, 4.830881244D0, : 0.000570D-6, 199.072001436D0, 3.899190272D0, : 0.000465D-6, 10969.965257698D0, 0.476681802D0, : 0.000424D-6, -7079.373856808D0, 1.112242763D0 / DATA ((FAIRHD(I,J),I=1,3),J=581,590) / : 0.000427D-6, 735.876513532D0, 1.994214480D0, : 0.000478D-6, -6127.655450557D0, 3.778025483D0, : 0.000414D-6, 10973.555686350D0, 5.441088327D0, : 0.000512D-6, 1589.072895284D0, 0.107123853D0, : 0.000378D-6, 10984.192351700D0, 0.915087231D0, : 0.000402D-6, 11371.704689758D0, 4.107281715D0, : 0.000453D-6, 9917.696874510D0, 1.917490952D0, : 0.000395D-6, 149.563197135D0, 2.763124165D0, : 0.000371D-6, 5739.157790895D0, 3.112111866D0, : 0.000350D-6, 11790.629088659D0, 0.440639857D0 / DATA ((FAIRHD(I,J),I=1,3),J=591,600) / : 0.000356D-6, 6133.512652857D0, 5.444568842D0, : 0.000344D-6, 412.371096874D0, 5.676832684D0, : 0.000383D-6, 955.599741609D0, 5.559734846D0, : 0.000333D-6, 6496.374945429D0, 0.261537984D0, : 0.000340D-6, 6055.549660552D0, 5.975534987D0, : 0.000334D-6, 1066.495477190D0, 2.335063907D0, : 0.000399D-6, 11506.769769794D0, 5.321230910D0, : 0.000314D-6, 18319.536584880D0, 2.313312404D0, : 0.000424D-6, 1052.268383188D0, 1.211961766D0, : 0.000307D-6, 63.735898303D0, 3.169551388D0 / DATA ((FAIRHD(I,J),I=1,3),J=601,610) / : 0.000329D-6, 29.821438149D0, 6.106912080D0, : 0.000357D-6, 6309.374169791D0, 4.223760346D0, : 0.000312D-6, -3738.761430108D0, 2.180556645D0, : 0.000301D-6, 309.278322656D0, 1.499984572D0, : 0.000268D-6, 12043.574281889D0, 2.447520648D0, : 0.000257D-6, 12491.370101415D0, 3.662331761D0, : 0.000290D-6, 625.670192312D0, 1.272834584D0, : 0.000256D-6, 5429.879468239D0, 1.913426912D0, : 0.000339D-6, 3496.032826134D0, 4.165930011D0, : 0.000283D-6, 3930.209696220D0, 4.325565754D0 / DATA ((FAIRHD(I,J),I=1,3),J=611,620) / : 0.000241D-6, 12528.018664345D0, 3.832324536D0, : 0.000304D-6, 4686.889407707D0, 1.612348468D0, : 0.000259D-6, 16200.772724501D0, 3.470173146D0, : 0.000238D-6, 12139.553509107D0, 1.147977842D0, : 0.000236D-6, 6172.869528772D0, 3.776271728D0, : 0.000296D-6, -7058.598461315D0, 0.460368852D0, : 0.000306D-6, 10575.406682942D0, 0.554749016D0, : 0.000251D-6, 17298.182327326D0, 0.834332510D0, : 0.000290D-6, 4732.030627343D0, 4.759564091D0, : 0.000261D-6, 5884.926846583D0, 0.298259862D0 / DATA ((FAIRHD(I,J),I=1,3),J=621,630) / : 0.000249D-6, 5547.199336460D0, 3.749366406D0, : 0.000213D-6, 11712.955318231D0, 5.415666119D0, : 0.000223D-6, 4701.116501708D0, 2.703203558D0, : 0.000268D-6, -640.877607382D0, 0.283670793D0, : 0.000209D-6, 5636.065016677D0, 1.238477199D0, : 0.000193D-6, 10177.257679534D0, 1.943251340D0, : 0.000182D-6, 6283.143160294D0, 2.456157599D0, : 0.000184D-6, -227.526189440D0, 5.888038582D0, : 0.000182D-6, -6283.008539689D0, 0.241332086D0, : 0.000228D-6, -6284.056171060D0, 2.657323816D0 / DATA ((FAIRHD(I,J),I=1,3),J=631,640) / : 0.000166D-6, 7238.675591600D0, 5.930629110D0, : 0.000167D-6, 3097.883822726D0, 5.570955333D0, : 0.000159D-6, -323.505416657D0, 5.786670700D0, : 0.000154D-6, -4136.910433516D0, 1.517805532D0, : 0.000176D-6, 12029.347187887D0, 3.139266834D0, : 0.000167D-6, 12132.439962106D0, 3.556352289D0, : 0.000153D-6, 202.253395174D0, 1.463313961D0, : 0.000157D-6, 17267.268201691D0, 1.586837396D0, : 0.000142D-6, 83996.847317911D0, 0.022670115D0, : 0.000152D-6, 17260.154654690D0, 0.708528947D0 / DATA ((FAIRHD(I,J),I=1,3),J=641,650) / : 0.000144D-6, 6084.003848555D0, 5.187075177D0, : 0.000135D-6, 5756.566278634D0, 1.993229262D0, : 0.000134D-6, 5750.203491159D0, 3.457197134D0, : 0.000144D-6, 5326.786694021D0, 6.066193291D0, : 0.000160D-6, 11015.106477335D0, 1.710431974D0, : 0.000133D-6, 3634.621024518D0, 2.836451652D0, : 0.000134D-6, 18073.704938650D0, 5.453106665D0, : 0.000134D-6, 1162.474704408D0, 5.326898811D0, : 0.000128D-6, 5642.198242609D0, 2.511652591D0, : 0.000160D-6, 632.783739313D0, 5.628785365D0 / DATA ((FAIRHD(I,J),I=1,3),J=651,660) / : 0.000132D-6, 13916.019109642D0, 0.819294053D0, : 0.000122D-6, 14314.168113050D0, 5.677408071D0, : 0.000125D-6, 12359.966151546D0, 5.251984735D0, : 0.000121D-6, 5749.452731634D0, 2.210924603D0, : 0.000136D-6, -245.831646229D0, 1.646502367D0, : 0.000120D-6, 5757.317038160D0, 3.240883049D0, : 0.000134D-6, 12146.667056108D0, 3.059480037D0, : 0.000137D-6, 6206.809778716D0, 1.867105418D0, : 0.000141D-6, 17253.041107690D0, 2.069217456D0, : 0.000129D-6, -7477.522860216D0, 2.781469314D0 / DATA ((FAIRHD(I,J),I=1,3),J=661,670) / : 0.000116D-6, 5540.085789459D0, 4.281176991D0, : 0.000116D-6, 9779.108676125D0, 3.320925381D0, : 0.000129D-6, 5237.921013804D0, 3.497704076D0, : 0.000113D-6, 5959.570433334D0, 0.983210840D0, : 0.000122D-6, 6282.095528923D0, 2.674938860D0, : 0.000140D-6, -11.045700264D0, 4.957936982D0, : 0.000108D-6, 23543.230504682D0, 1.390113589D0, : 0.000106D-6, -12569.674818332D0, 0.429631317D0, : 0.000110D-6, -266.607041722D0, 5.501340197D0, : 0.000115D-6, 12559.038152982D0, 4.691456618D0 / DATA ((FAIRHD(I,J),I=1,3),J=671,680) / : 0.000134D-6, -2388.894020449D0, 0.577313584D0, : 0.000109D-6, 10440.274292604D0, 6.218148717D0, : 0.000102D-6, -543.918059096D0, 1.477842615D0, : 0.000108D-6, 21228.392023546D0, 2.237753948D0, : 0.000101D-6, -4535.059436924D0, 3.100492232D0, : 0.000103D-6, 76.266071276D0, 5.594294322D0, : 0.000104D-6, 949.175608970D0, 5.674287810D0, : 0.000101D-6, 13517.870106233D0, 2.196632348D0, : 0.000100D-6, 11933.367960670D0, 4.056084160D0, * T^2 : 4.322990D-6, 6283.075849991D0, 2.642893748D0 / DATA ((FAIRHD(I,J),I=1,3),J=681,690) / : 0.406495D-6, 0.000000000D0, 4.712388980D0, : 0.122605D-6, 12566.151699983D0, 2.438140634D0, : 0.019476D-6, 213.299095438D0, 1.642186981D0, : 0.016916D-6, 529.690965095D0, 4.510959344D0, : 0.013374D-6, -3.523118349D0, 1.502210314D0, : 0.008042D-6, 26.298319800D0, 0.478549024D0, : 0.007824D-6, 155.420399434D0, 5.254710405D0, : 0.004894D-6, 5746.271337896D0, 4.683210850D0, : 0.004875D-6, 5760.498431898D0, 0.759507698D0, : 0.004416D-6, 5223.693919802D0, 6.028853166D0 / DATA ((FAIRHD(I,J),I=1,3),J=691,700) / : 0.004088D-6, -7.113547001D0, 0.060926389D0, : 0.004433D-6, 77713.771467920D0, 3.627734103D0, : 0.003277D-6, 18849.227549974D0, 2.327912542D0, : 0.002703D-6, 6062.663207553D0, 1.271941729D0, : 0.003435D-6, -775.522611324D0, 0.747446224D0, : 0.002618D-6, 6076.890301554D0, 3.633715689D0, : 0.003146D-6, 206.185548437D0, 5.647874613D0, : 0.002544D-6, 1577.343542448D0, 6.232904270D0, : 0.002218D-6, -220.412642439D0, 1.309509946D0, : 0.002197D-6, 5856.477659115D0, 2.407212349D0 / DATA ((FAIRHD(I,J),I=1,3),J=701,710) / : 0.002897D-6, 5753.384884897D0, 5.863842246D0, : 0.001766D-6, 426.598190876D0, 0.754113147D0, : 0.001738D-6, -796.298006816D0, 2.714942671D0, : 0.001695D-6, 522.577418094D0, 2.629369842D0, : 0.001584D-6, 5507.553238667D0, 1.341138229D0, : 0.001503D-6, -242.728603974D0, 0.377699736D0, : 0.001552D-6, -536.804512095D0, 2.904684667D0, : 0.001370D-6, -398.149003408D0, 1.265599125D0, : 0.001889D-6, -5573.142801634D0, 4.413514859D0, : 0.001722D-6, 6069.776754553D0, 2.445966339D0 / DATA ((FAIRHD(I,J),I=1,3),J=711,720) / : 0.001124D-6, 1059.381930189D0, 5.041799657D0, : 0.001258D-6, 553.569402842D0, 3.849557278D0, : 0.000831D-6, 951.718406251D0, 2.471094709D0, : 0.000767D-6, 4694.002954708D0, 5.363125422D0, : 0.000756D-6, 1349.867409659D0, 1.046195744D0, : 0.000775D-6, -11.045700264D0, 0.245548001D0, : 0.000597D-6, 2146.165416475D0, 4.543268798D0, : 0.000568D-6, 5216.580372801D0, 4.178853144D0, : 0.000711D-6, 1748.016413067D0, 5.934271972D0, : 0.000499D-6, 12036.460734888D0, 0.624434410D0 / DATA ((FAIRHD(I,J),I=1,3),J=721,730) / : 0.000671D-6, -1194.447010225D0, 4.136047594D0, : 0.000488D-6, 5849.364112115D0, 2.209679987D0, : 0.000621D-6, 6438.496249426D0, 4.518860804D0, : 0.000495D-6, -6286.598968340D0, 1.868201275D0, : 0.000456D-6, 5230.807466803D0, 1.271231591D0, : 0.000451D-6, 5088.628839767D0, 0.084060889D0, : 0.000435D-6, 5643.178563677D0, 3.324456609D0, : 0.000387D-6, 10977.078804699D0, 4.052488477D0, : 0.000547D-6, 161000.685737473D0, 2.841633844D0, : 0.000522D-6, 3154.687084896D0, 2.171979966D0 / DATA ((FAIRHD(I,J),I=1,3),J=731,740) / : 0.000375D-6, 5486.777843175D0, 4.983027306D0, : 0.000421D-6, 5863.591206116D0, 4.546432249D0, : 0.000439D-6, 7084.896781115D0, 0.522967921D0, : 0.000309D-6, 2544.314419883D0, 3.172606705D0, : 0.000347D-6, 4690.479836359D0, 1.479586566D0, : 0.000317D-6, 801.820931124D0, 3.553088096D0, : 0.000262D-6, 419.484643875D0, 0.606635550D0, : 0.000248D-6, 6836.645252834D0, 3.014082064D0, : 0.000245D-6, -1592.596013633D0, 5.519526220D0, : 0.000225D-6, 4292.330832950D0, 2.877956536D0 / DATA ((FAIRHD(I,J),I=1,3),J=741,750) / : 0.000214D-6, 7234.794256242D0, 1.605227587D0, : 0.000205D-6, 5767.611978898D0, 0.625804796D0, : 0.000180D-6, 10447.387839604D0, 3.499954526D0, : 0.000229D-6, 199.072001436D0, 5.632304604D0, : 0.000214D-6, 639.897286314D0, 5.960227667D0, : 0.000175D-6, -433.711737877D0, 2.162417992D0, : 0.000209D-6, 515.463871093D0, 2.322150893D0, : 0.000173D-6, 6040.347246017D0, 2.556183691D0, : 0.000184D-6, 6309.374169791D0, 4.732296790D0, : 0.000227D-6, 149854.400134205D0, 5.385812217D0 / DATA ((FAIRHD(I,J),I=1,3),J=751,760) / : 0.000154D-6, 8031.092263058D0, 5.120720920D0, : 0.000151D-6, 5739.157790895D0, 4.815000443D0, : 0.000197D-6, 7632.943259650D0, 0.222827271D0, : 0.000197D-6, 74.781598567D0, 3.910456770D0, : 0.000138D-6, 6055.549660552D0, 1.397484253D0, : 0.000149D-6, -6127.655450557D0, 5.333727496D0, : 0.000137D-6, 3894.181829542D0, 4.281749907D0, : 0.000135D-6, 9437.762934887D0, 5.979971885D0, : 0.000139D-6, -2352.866153772D0, 4.715630782D0, : 0.000142D-6, 6812.766815086D0, 0.513330157D0 / DATA ((FAIRHD(I,J),I=1,3),J=761,770) / : 0.000120D-6, -4705.732307544D0, 0.194160689D0, : 0.000131D-6, -71430.695617928D0, 0.000379226D0, : 0.000124D-6, 6279.552731642D0, 2.122264908D0, : 0.000108D-6, -6256.777530192D0, 0.883445696D0, * T^3 : 0.143388D-6, 6283.075849991D0, 1.131453581D0, : 0.006671D-6, 12566.151699983D0, 0.775148887D0, : 0.001480D-6, 155.420399434D0, 0.480016880D0, : 0.000934D-6, 213.299095438D0, 6.144453084D0, : 0.000795D-6, 529.690965095D0, 2.941595619D0, : 0.000673D-6, 5746.271337896D0, 0.120415406D0 / DATA ((FAIRHD(I,J),I=1,3),J=771,780) / : 0.000672D-6, 5760.498431898D0, 5.317009738D0, : 0.000389D-6, -220.412642439D0, 3.090323467D0, : 0.000373D-6, 6062.663207553D0, 3.003551964D0, : 0.000360D-6, 6076.890301554D0, 1.918913041D0, : 0.000316D-6, -21.340641002D0, 5.545798121D0, : 0.000315D-6, -242.728603974D0, 1.884932563D0, : 0.000278D-6, 206.185548437D0, 1.266254859D0, : 0.000238D-6, -536.804512095D0, 4.532664830D0, : 0.000185D-6, 522.577418094D0, 4.578313856D0, : 0.000245D-6, 18849.227549974D0, 0.587467082D0 / DATA ((FAIRHD(I,J),I=1,3),J=781,787) / : 0.000180D-6, 426.598190876D0, 5.151178553D0, : 0.000200D-6, 553.569402842D0, 5.355983739D0, : 0.000141D-6, 5223.693919802D0, 1.336556009D0, : 0.000104D-6, 5856.477659115D0, 4.239842759D0, * T^4 : 0.003826D-6, 6283.075849991D0, 5.705257275D0, : 0.000303D-6, 12566.151699983D0, 5.407132842D0, : 0.000209D-6, 155.420399434D0, 1.989815753D0 / * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Time since J2000.0 in Julian millennia. T = ( ( DATE1-DJ00 ) + DATE2 ) / DJM * ================= * Topocentric terms * ================= * Convert UT to local solar time in radians. TSOL = MOD(UT,1D0) * D2PI + ELONG * FUNDAMENTAL ARGUMENTS: Simon et al. 1994. * Combine time argument (millennia) with deg/arcsec factor. W = T / 3600D0 * Sun Mean Longitude. ELSUN = MOD(280.46645683D0 + 1296027711.03429D0 * W, 360D0) * DD2R * Sun Mean Anomaly. EMSUN = MOD(357.52910918D0 + 1295965810.481D0 * W, 360D0) * DD2R * Mean Elongation of Moon from Sun. D = MOD(297.85019547D0 + 16029616012.090D0 * W, 360D0) * DD2R * Mean Longitude of Jupiter. ELJ = MOD(34.35151874D0 + 109306899.89453D0 * W, 360D0) * DD2R * Mean Longitude of Saturn. ELS = MOD(50.07744430D0 + 44046398.47038D0 * W, 360D0) * DD2R * TOPOCENTRIC TERMS: Moyer 1981 and Murray 1983. WT = + 0.00029D-10 * U * SIN(TSOL + ELSUN - ELS) : + 0.00100D-10 * U * SIN(TSOL - 2D0*EMSUN) : + 0.00133D-10 * U * SIN(TSOL - D) : + 0.00133D-10 * U * SIN(TSOL + ELSUN - ELJ) : - 0.00229D-10 * U * SIN(TSOL + 2D0*ELSUN + EMSUN) : - 0.0220 D-10 * V * COS(ELSUN + EMSUN) : + 0.05312D-10 * U * SIN(TSOL - EMSUN) : - 0.13677D-10 * U * SIN(TSOL + 2D0*ELSUN) : - 1.3184 D-10 * V * COS(ELSUN) : + 3.17679D-10 * U * SIN(TSOL) * ===================== * Fairhead et al. model * ===================== * T**0 W0 = 0D0 DO 10 J=474,1,-1 W0 = W0 + FAIRHD(1,J) * SIN(FAIRHD(2,J)*T + FAIRHD(3,J)) 10 CONTINUE * T**1 W1 = 0D0 DO 11 J=679,475,-1 W1 = W1 + FAIRHD(1,J) * SIN(FAIRHD(2,J)*T + FAIRHD(3,J)) 11 CONTINUE * T**2 W2 = 0D0 DO 12 J=764,680,-1 W2 = W2 + FAIRHD(1,J) * SIN(FAIRHD(2,J)*T + FAIRHD(3,J)) 12 CONTINUE * T**3 W3 = 0D0 DO 13 J=784,765,-1 W3 = W3 + FAIRHD(1,J) * SIN(FAIRHD(2,J)*T + FAIRHD(3,J)) 13 CONTINUE * T**4 W4 = 0D0 DO 14 J=787,785,-1 W4 = W4 + FAIRHD(1,J) * SIN(FAIRHD(2,J)*T + FAIRHD(3,J)) 14 CONTINUE * Multiply by powers of T and combine. WF = T * ( T * ( T * ( T * W4 + W3 ) + W2 ) + W1 ) + W0 * Adjustments to use JPL planetary masses instead of IAU. WJ = 0.00065D-6 * SIN(6069.776754D0*T + 4.021194D0) + : 0.00033D-6 * SIN( 213.299095D0*T + 5.543132D0) + : ( -0.00196D-6 * SIN(6208.294251D0*T + 5.696701D0) ) + : ( -0.00173D-6 * SIN( 74.781599D0*T + 2.435900D0) ) + : 0.03638D-6 * T * T * ============ * Final result * ============ * TDB-TT in seconds. iau_DTDB = WT + WF + WJ * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_DTF2D ( SCALE, IY, IM, ID, IHR, IMN, SEC, : D1, D2, J ) *+ * - - - - - - - - - - * i a u _ D T F 2 D * - - - - - - - - - - * * Encode date and time fields into 2-part Julian Date (or in the case * of UTC a quasi-JD form that includes special provision for leap * seconds). * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * SCALE c*(*) time scale ID (Note 1) * IY,IM,ID i year, month, day in Gregorian calendar (Note 2) * IHR,IMN i hour, minute * SEC d seconds * * Returned: * D1,D2 d 2-part Julian Date (Notes 3,4) * J i status: +3 = both of next two * +2 = time is after end of day (Note 5) * +1 = dubious year (Note 6) * 0 = OK * -1 = bad year * -2 = bad month * -3 = bad day * -4 = bad hour * -5 = bad minute * -6 = bad second (<0) * * Notes: * * 1) SCALE identifies the time scale. Only the value 'UTC' (in upper * case) is significant, and enables handling of leap seconds (see * Note 4). * * 2) For calendar conventions and limitations, see iau_CAL2JD. * * 3) The sum of the results, D1+D2, is Julian Date, where normally D1 * is the Julian Day Number and D2 is the fraction of a day. In the * case of UTC, where the use of JD is problematical, special * conventions apply: see the next note. * * 4) JD cannot unambiguously represent UTC during a leap second unless * special measures are taken. The SOFA internal convention is that * the quasi-JD day represents UTC days whether the length is 86399, * 86400 or 86401 SI seconds. In the 1960-1972 era there were * smaller jumps (in either direction) each time the linear UTC(TAI) * expression was changed, and these "mini-leaps" are also included * in the SOFA convention. * * 5) The warning status "time is after end of day" usually means that * the SEC argument is greater than 60D0. However, in a day ending * in a leap second the limit changes to 61D0 (or 59D0 in the case of * a negative leap second). * * 6) The warning status "dubious year" flags UTCs that predate the * introduction of the time scale or that are too far in the future * to be trusted. See iau_DAT for further details. * * 7) Only in the case of continuous and regular time scales (TAI, TT, * TCG, TCB and TDB) is the result D1+D2 a Julian Date, strictly * speaking. In the other cases (UT1 and UTC) the result must be * used with circumspection; in particular the difference between * two such results cannot be interpreted as a precise time * interval. * * Called: * iau_CAL2JD Gregorian calendar to JD * iau_DAT delta(AT) = TAI-UTC * iau_JD2CAL JD to Gregorian calendar * * This revision: 2013 July 26 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE CHARACTER*(*) SCALE INTEGER IY, IM, ID, IHR, IMN DOUBLE PRECISION SEC, D1, D2 INTEGER J * Days to seconds DOUBLE PRECISION D2S PARAMETER ( D2S = 86400D0 ) INTEGER JS, IY2, IM2, ID2 DOUBLE PRECISION DJ, W, DAY, SECLIM, DAT0, DAT12, DAT24, : DLEAP, TIME * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Today's Julian Day Number. CALL iau_CAL2JD ( IY, IM, ID, DJ, W, JS ) IF ( JS.NE.0 ) GO TO 9 DJ = DJ + W * Day length and final minute length in seconds (provisional). DAY = D2S SECLIM = 60D0 * Deal with the UTC leap second case. IF ( SCALE.EQ.'UTC' ) THEN * TAI-UTC at 0h today. CALL iau_DAT ( IY, IM, ID, 0D0, DAT0, JS ) IF ( JS.LT.0 ) GO TO 9 * TAI-UTC at 12h today (to detect drift). CALL iau_DAT ( IY, IM, ID, 0.5D0, DAT12, JS ) IF ( JS.LT.0 ) GO TO 9 * TAI-UTC at 0h tomorrow (to detect jumps). CALL iau_JD2CAL ( DJ, 1.5D0, IY2, IM2, ID2, W, JS ) IF ( JS.NE.0 ) GO TO 9 CALL iau_DAT ( IY2, IM2, ID2, 0D0, DAT24, JS ) IF ( JS.LT.0 ) GO TO 9 * Any sudden change in TAI-UTC between today and tomorrow. DLEAP = DAT24 - ( 2D0 * DAT12 - DAT0 ) * If leap second day, correct the day and final minute lengths. DAY = DAY + DLEAP IF ( IHR.EQ.23 .AND. IMN.EQ.59 ) SECLIM = SECLIM + DLEAP * End of UTC-specific actions. END IF * Validate the time. IF ( IHR.GE.0 .AND. IHR.LE.23 ) THEN IF ( IMN.GE.0 .AND. IMN.LE.59 ) THEN IF ( SEC.GE.0D0 ) THEN IF ( SEC.GE.SECLIM ) THEN JS = JS + 2 END IF ELSE JS = -6 END IF ELSE JS = -5 END IF ELSE JS = -4 END IF IF ( JS.LT.0 ) GO TO 9 * The time in days. TIME = (60D0*DBLE(60*IHR+IMN)+SEC) / DAY * Return the date and time. D1 = DJ D2 = TIME * Return the status. 9 CONTINUE J = JS * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_ECEQ06 ( DATE1, DATE2, DL, DB, DR, DD ) *+ * - - - - - - - - - - - * i a u _ E C E Q 0 6 * - - - - - - - - - - - * * Transformation from ecliptic coordinates (mean equinox and ecliptic * of date) to ICRS RA,Dec, using the IAU 2006 precession model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * DL,DB d ecliptic longitude and latitude (radians) * * Returned: * DR,DD d ICRS right ascension and declination (radians) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) No assumptions are made about whether the coordinates represent * starlight and embody astrometric effects such as parallax or * aberration. * * 3) The transformation is approximately that from ecliptic longitude * and latitude (mean equinox and ecliptic of date) to mean J2000.0 * right ascension and declination, with only frame bias (always less * than 25 mas) to disturb this classical picture. * * Called: * iau_S2C spherical coordinates to unit vector * iau_ECM06 J2000.0 to ecliptic rotation matrix, IAU 2006 * iau_TRXP product of transpose of r-matrix and p-vector * iau_C2S unit vector to spherical coordinates * iau_ANP normalize angle into range 0 to 2pi * iau_ANPM normalize angle into range +/- pi * * This revision: 2016 February 9 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, DL, DB, DR, DD DOUBLE PRECISION RM(3,3), V1(3), V2(3), A, B DOUBLE PRECISION iau_ANP, iau_ANPM * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Spherical to Cartesian. CALL iau_S2C ( DL, DB, V1 ) * Rotation matrix, ICRS equatorial to ecliptic. CALL iau_ECM06 ( DATE1, DATE2, RM ) * The transformation from ecliptic to ICRS. CALL iau_TRXP ( RM, V1, V2 ) * Cartesian to spherical. CALL iau_C2S ( V2, A, B ) * Express in conventional ranges. DR = iau_ANP ( A ) DD = iau_ANPM ( B ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_ECM06 ( DATE1, DATE2, RM ) *+ * - - - - - - - - - - * i a u _ E C M 0 6 * - - - - - - - - - - * * ICRS equatorial to ecliptic rotation matrix, IAU 2006. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * RM d(3,3) ICRS to ecliptic rotation matrix * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The matrix is in the sense * * E_ep = RM x P_ICRS, * * where P_ICRS is a vector with respect to ICRS right ascension * and declination axes and E_ep is the same vector with respect to * the (inertial) ecliptic and equinox of date. * * 3) P_ICRS is a free vector, merely a direction, typically of unit * magnitude, and not bound to any particular spatial origin, such as * the Earth, Sun or SSB. No assumptions are made about whether it * represents starlight and embodies astrometric effects such as * parallax or aberration. The transformation is approximately that * between mean J2000.0 right ascension and declination and ecliptic * longitude and latitude, with only frame bias (always less than * 25 mas) to disturb this classical picture. * * Called: * iau_OBL06 mean obliquity, IAU 2006 * iau_PMAT06 PB matrix, IAU 2006 * iau_IR initialize r-matrix to identity * iau_RX rotate around X-axis * iau_RXR product of two r-matrices * * This revision: 2015 December 11 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, RM(3,3) DOUBLE PRECISION OB, BP(3,3), E(3,3) DOUBLE PRECISION iau_OBL06 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Obliquity, IAU 2006. OB = iau_OBL06 ( DATE1, DATE2 ) * Precession-bias matrix, IAU 2006. CALL iau_PMAT06 ( DATE1, DATE2, BP ) * Equatorial of date to ecliptic matrix. CALL iau_IR ( E ) CALL iau_RX ( OB, E ) * ICRS to ecliptic coordinates rotation matrix, IAU 2006. CALL iau_RXR ( E, BP, RM ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_EE00A ( DATE1, DATE2 ) *+ * - - - - - - - - - - * i a u _ E E 0 0 A * - - - - - - - - - - * * Equation of the equinoxes, compatible with IAU 2000 resolutions. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * iau_EE00A d equation of the equinoxes (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The result, which is in radians, operates in the following sense: * * Greenwich apparent ST = GMST + equation of the equinoxes * * 3) The result is compatible with the IAU 2000 resolutions. For * further details, see IERS Conventions 2003 and Capitaine et al. * (2002). * * Called: * iau_PR00 IAU 2000 precession adjustments * iau_OBL80 mean obliquity, IAU 1980 * iau_NUT00A nutation, IAU 2000A * iau_EE00 equation of the equinoxes, IAU 2000 * * References: * * Capitaine, N., Wallace, P.T. and McCarthy, D.D., "Expressions to * implement the IAU 2000 definition of UT1", Astronomy & * Astrophysics, 406, 1135-1149 (2003) * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2 DOUBLE PRECISION DPSIPR, DEPSPR, EPSA, DPSI, DEPS DOUBLE PRECISION iau_OBL80, iau_EE00 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * IAU 2000 precession-rate adjustments. CALL iau_PR00 ( DATE1, DATE2, DPSIPR, DEPSPR ) * Mean obliquity, consistent with IAU 2000 precession-nutation. EPSA = iau_OBL80 ( DATE1, DATE2 ) + DEPSPR * Nutation in longitude. CALL iau_NUT00A ( DATE1, DATE2, DPSI, DEPS ) * Equation of the equinoxes. iau_EE00A = iau_EE00 ( DATE1, DATE2, EPSA, DPSI ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_EE00B ( DATE1, DATE2 ) *+ * - - - - - - - - - - * i a u _ E E 0 0 B * - - - - - - - - - - * * Equation of the equinoxes, compatible with IAU 2000 resolutions but * using the truncated nutation model IAU 2000B. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * iau_EE00B d equation of the equinoxes (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The result, which is in radians, operates in the following sense: * * Greenwich apparent ST = GMST + equation of the equinoxes * * 3) The result is compatible with the IAU 2000 resolutions except that * accuracy has been compromised for the sake of speed. For further * details, see McCarthy & Luzum (2001), IERS Conventions 2003 and * Capitaine et al. (2003). * * Called: * iau_PR00 IAU 2000 precession adjustments * iau_OBL80 mean obliquity, IAU 1980 * iau_NUT00B nutation, IAU 2000B * iau_EE00 equation of the equinoxes, IAU 2000 * * References: * * Capitaine, N., Wallace, P.T. and McCarthy, D.D., "Expressions to * implement the IAU 2000 definition of UT1", Astronomy & * Astrophysics, 406, 1135-1149 (2003) * * McCarthy, D.D. & Luzum, B.J., "An abridged model of the * precession-nutation of the celestial pole", Celestial Mechanics & * Dynamical Astronomy, 85, 37-49 (2003) * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2 DOUBLE PRECISION DPSIPR, DEPSPR, EPSA, DPSI, DEPS DOUBLE PRECISION iau_OBL80, iau_EE00 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * IAU 2000 precession-rate adjustments. CALL iau_PR00 ( DATE1, DATE2, DPSIPR, DEPSPR ) * Mean obliquity, consistent with IAU 2000 precession-nutation. EPSA = iau_OBL80 ( DATE1, DATE2 ) + DEPSPR * Nutation in longitude. CALL iau_NUT00B ( DATE1, DATE2, DPSI, DEPS ) * Equation of the equinoxes. iau_EE00B = iau_EE00 ( DATE1, DATE2, EPSA, DPSI ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_EE00 ( DATE1, DATE2, EPSA, DPSI ) *+ * - - - - - - - - - * i a u _ E E 0 0 * - - - - - - - - - * * The equation of the equinoxes, compatible with IAU 2000 resolutions, * given the nutation in longitude and the mean obliquity. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * EPSA d mean obliquity (Note 2) * DPSI d nutation in longitude (Note 3) * * Returned: * iau_EE00 d equation of the equinoxes (Note 4) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The obliquity, in radians, is mean of date. * * 3) The result, which is in radians, operates in the following sense: * * Greenwich apparent ST = GMST + equation of the equinoxes * * 4) The result is compatible with the IAU 2000 resolutions. For * further details, see IERS Conventions 2003 and Capitaine et al. * (2002). * * Called: * iau_EECT00 equation of the equinoxes complementary terms * * References: * * Capitaine, N., Wallace, P.T. and McCarthy, D.D., "Expressions to * implement the IAU 2000 definition of UT1", Astronomy & * Astrophysics, 406, 1135-1149 (2003) * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, EPSA, DPSI DOUBLE PRECISION iau_EECT00 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Equation of the equinoxes. iau_EE00 = DPSI * COS(EPSA) + iau_EECT00 ( DATE1, DATE2 ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_EE06A ( DATE1, DATE2 ) *+ * - - - - - - - - - - * i a u _ E E 0 6 A * - - - - - - - - - - * * Equation of the equinoxes, compatible with IAU 2000 resolutions and * IAU 2006/2000A precession-nutation. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * iau_EE06A d equation of the equinoxes (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The result, which is in radians, operates in the following sense: * * Greenwich apparent ST = GMST + equation of the equinoxes * * Called: * iau_ANPM normalize angle into range +/- pi * iau_GST06A Greenwich apparent sidereal time, IAU 2006/2000A * iau_GMST06 Greenwich mean sidereal time, IAU 2006 * * Reference: * * McCarthy, D. D., Petit, G. (eds.), 2004, IERS Conventions (2003), * IERS Technical Note No. 32, BKG * * This revision: 2006 October 31 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2 DOUBLE PRECISION iau_ANPM, iau_GST06A, iau_GMST06 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Equation of the equinoxes. iau_EE06A = iau_ANPM ( iau_GST06A ( 0D0, 0D0, DATE1, DATE2 ) - : iau_GMST06 ( 0D0, 0D0, DATE1, DATE2 ) ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_EECT00 ( DATE1, DATE2 ) *+ * - - - - - - - - - - - * i a u _ E E C T 0 0 * - - - - - - - - - - - * * Equation of the equinoxes complementary terms, consistent with * IAU 2000 resolutions. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * iau_EECT00 d complementary terms (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The "complementary terms" are part of the equation of the * equinoxes (EE), classically the difference between apparent and * mean Sidereal Time: * * GAST = GMST + EE * * with: * * EE = dpsi * cos(eps) * * where dpsi is the nutation in longitude and eps is the obliquity * of date. However, if the rotation of the Earth were constant in * an inertial frame the classical formulation would lead to apparent * irregularities in the UT1 timescale traceable to side-effects of * precession-nutation. In order to eliminate these effects from * UT1, "complementary terms" were introduced in 1994 (IAU, 1994) and * took effect from 1997 (Capitaine and Gontier, 1993): * * GAST = GMST + CT + EE * * By convention, the complementary terms are included as part of the * equation of the equinoxes rather than as part of the mean Sidereal * Time. This slightly compromises the "geometrical" interpretation * of mean sidereal time but is otherwise inconsequential. * * The present routine computes CT in the above expression, * compatible with IAU 2000 resolutions (Capitaine et al., 2002, and * IERS Conventions 2003). * * Called: * iau_FAL03 mean anomaly of the Moon * iau_FALP03 mean anomaly of the Sun * iau_FAF03 mean argument of the latitude of the Moon * iau_FAD03 mean elongation of the Moon from the Sun * iau_FAOM03 mean longitude of the Moon's ascending node * iau_FAVE03 mean longitude of Venus * iau_FAE03 mean longitude of Earth * iau_FAPA03 general accumulated precession in longitude * * References: * * Capitaine, N. & Gontier, A.-M., Astron.Astrophys., 275, * 645-650 (1993) * * Capitaine, N., Wallace, P.T. and McCarthy, D.D., "Expressions to * implement the IAU 2000 definition of UT1", Astron.Astrophys., * 406, 1135-1149 (2003) * * IAU Resolution C7, Recommendation 3 (1994) * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2017 October 23 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2 * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian century DOUBLE PRECISION DJC PARAMETER ( DJC = 36525D0 ) * Time since J2000.0, in Julian centuries DOUBLE PRECISION T * Miscellaneous INTEGER I, J DOUBLE PRECISION A, S0, S1 DOUBLE PRECISION iau_FAL03, iau_FALP03, iau_FAF03, : iau_FAD03, iau_FAOM03, iau_FAVE03, iau_FAE03, : iau_FAPA03 * Fundamental arguments DOUBLE PRECISION FA(14) * ----------------------------------------- * The series for the EE complementary terms * ----------------------------------------- * Number of terms in the series INTEGER NE0, NE1 PARAMETER ( NE0=33, NE1=1 ) * Coefficients of l,l',F,D,Om,LVe,LE,pA INTEGER KE0 ( 8, NE0 ), : KE1 ( 8, NE1 ) * Sine and cosine coefficients DOUBLE PRECISION SE0 ( 2, NE0 ), : SE1 ( 2, NE1 ) * Argument coefficients for t^0 DATA ( ( KE0(I,J), I=1,8), J=1,10 ) / : 0, 0, 0, 0, 1, 0, 0, 0, : 0, 0, 0, 0, 2, 0, 0, 0, : 0, 0, 2, -2, 3, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, 0, : 0, 0, 2, -2, 2, 0, 0, 0, : 0, 0, 2, 0, 3, 0, 0, 0, : 0, 0, 2, 0, 1, 0, 0, 0, : 0, 0, 0, 0, 3, 0, 0, 0, : 0, 1, 0, 0, 1, 0, 0, 0, : 0, 1, 0, 0, -1, 0, 0, 0 / DATA ( ( KE0(I,J), I=1,8), J=11,20 ) / : 1, 0, 0, 0, -1, 0, 0, 0, : 1, 0, 0, 0, 1, 0, 0, 0, : 0, 1, 2, -2, 3, 0, 0, 0, : 0, 1, 2, -2, 1, 0, 0, 0, : 0, 0, 4, -4, 4, 0, 0, 0, : 0, 0, 1, -1, 1, -8, 12, 0, : 0, 0, 2, 0, 0, 0, 0, 0, : 0, 0, 2, 0, 2, 0, 0, 0, : 1, 0, 2, 0, 3, 0, 0, 0, : 1, 0, 2, 0, 1, 0, 0, 0 / DATA ( ( KE0(I,J), I=1,8), J=21,30 ) / : 0, 0, 2, -2, 0, 0, 0, 0, : 0, 1, -2, 2, -3, 0, 0, 0, : 0, 1, -2, 2, -1, 0, 0, 0, : 0, 0, 0, 0, 0, 8,-13, -1, : 0, 0, 0, 2, 0, 0, 0, 0, : 2, 0, -2, 0, -1, 0, 0, 0, : 1, 0, 0, -2, 1, 0, 0, 0, : 0, 1, 2, -2, 2, 0, 0, 0, : 1, 0, 0, -2, -1, 0, 0, 0, : 0, 0, 4, -2, 4, 0, 0, 0 / DATA ( ( KE0(I,J), I=1,8), J=31,NE0 ) / : 0, 0, 2, -2, 4, 0, 0, 0, : 1, 0, -2, 0, -3, 0, 0, 0, : 1, 0, -2, 0, -1, 0, 0, 0 / * Argument coefficients for t^1 DATA ( ( KE1(I,J), I=1,8), J=1,NE1 ) / : 0, 0, 0, 0, 1, 0, 0, 0 / * Sine and cosine coefficients for t^0 DATA ( ( SE0(I,J), I=1,2), J = 1, 10 ) / : +2640.96D-6, -0.39D-6, : +63.52D-6, -0.02D-6, : +11.75D-6, +0.01D-6, : +11.21D-6, +0.01D-6, : -4.55D-6, +0.00D-6, : +2.02D-6, +0.00D-6, : +1.98D-6, +0.00D-6, : -1.72D-6, +0.00D-6, : -1.41D-6, -0.01D-6, : -1.26D-6, -0.01D-6 / DATA ( ( SE0(I,J), I=1,2), J = 11, 20 ) / : -0.63D-6, +0.00D-6, : -0.63D-6, +0.00D-6, : +0.46D-6, +0.00D-6, : +0.45D-6, +0.00D-6, : +0.36D-6, +0.00D-6, : -0.24D-6, -0.12D-6, : +0.32D-6, +0.00D-6, : +0.28D-6, +0.00D-6, : +0.27D-6, +0.00D-6, : +0.26D-6, +0.00D-6 / DATA ( ( SE0(I,J), I=1,2), J = 21, 30 ) / : -0.21D-6, +0.00D-6, : +0.19D-6, +0.00D-6, : +0.18D-6, +0.00D-6, : -0.10D-6, +0.05D-6, : +0.15D-6, +0.00D-6, : -0.14D-6, +0.00D-6, : +0.14D-6, +0.00D-6, : -0.14D-6, +0.00D-6, : +0.14D-6, +0.00D-6, : +0.13D-6, +0.00D-6 / DATA ( ( SE0(I,J), I=1,2), J = 31, NE0 ) / : -0.11D-6, +0.00D-6, : +0.11D-6, +0.00D-6, : +0.11D-6, +0.00D-6 / * Sine and cosine coefficients for t^1 DATA ( ( SE1(I,J), I=1,2), J = 1, NE1 ) / : -0.87D-6, +0.00D-6 / * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Interval between fundamental epoch J2000.0 and current date (JC). T = ( ( DATE1-DJ00 ) + DATE2 ) / DJC * Fundamental Arguments (from IERS Conventions 2003) * Mean anomaly of the Moon. FA(1) = iau_FAL03 ( T ) * Mean anomaly of the Sun. FA(2) = iau_FALP03 ( T ) * Mean longitude of the Moon minus that of the ascending node. FA(3) = iau_FAF03 ( T ) * Mean elongation of the Moon from the Sun. FA(4) = iau_FAD03 ( T ) * Mean longitude of the ascending node of the Moon. FA(5) = iau_FAOM03 ( T ) * Mean longitude of Venus. FA(6) = iau_FAVE03 ( T ) * Mean longitude of Earth. FA(7) = iau_FAE03 ( T ) * General precession in longitude. FA(8) = iau_FAPA03 ( T ) * Evaluate the EE complementary terms. S0 = 0D0 S1 = 0D0 DO 2 I = NE0,1,-1 A = 0D0 DO 1 J=1,8 A = A + DBLE(KE0(J,I))*FA(J) 1 CONTINUE S0 = S0 + ( SE0(1,I)*SIN(A) + SE0(2,I)*COS(A) ) 2 CONTINUE DO 4 I = NE1,1,-1 A = 0D0 DO 3 J=1,8 A = A + DBLE(KE1(J,I))*FA(J) 3 CONTINUE S1 = S1 + ( SE1(1,I)*SIN(A) + SE1(2,I)*COS(A) ) 4 CONTINUE iau_EECT00 = ( S0 + S1 * T ) * DAS2R * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_EFORM ( N, A, F, J ) *+ * - - - - - - - - - - * i a u _ E F O R M * - - - - - - - - - - * * Earth reference ellipsoids. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical. * * Given: * N i ellipsoid identifier (Note 1) * * Returned: * A d equatorial radius (meters, Note 2) * F d flattening (Note 2) * J i status: 0 = OK * -1 = illegal identifier (Note 3) * * Notes: * * 1) The identifier N is a number that specifies the choice of * reference ellipsoid. The following are supported: * * N ellipsoid * * 1 WGS84 * 2 GRS80 * 3 WGS72 * * The number N has no significance outside the SOFA software. * * 2) The ellipsoid parameters are returned in the form of equatorial * radius in meters (A) and flattening (F). The latter is a number * around 0.00335, i.e. around 1/298. * * 3) For the case where an unsupported N value is supplied, zero A and * F are returned, as well as error status. * * References: * * Department of Defense World Geodetic System 1984, National Imagery * and Mapping Agency Technical Report 8350.2, Third Edition, p3-2. * * Moritz, H., Bull. Geodesique 66-2, 187 (1992). * * The Department of Defense World Geodetic System 1972, World * Geodetic System Committee, May 1974. * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992), * p220. * * This revision: 2010 January 18 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE INTEGER N DOUBLE PRECISION A, F INTEGER J * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Preset the status to OK J = 0 * Look up A and F for the specified reference ellipsoid. IF ( N.EQ.1 ) THEN * WGS84. A = 6378137D0 F = 1D0 / 298.257223563D0 ELSE IF ( N.EQ.2 ) THEN * GRS80. A = 6378137D0 F = 1D0 / 298.257222101D0 ELSE IF ( N.EQ.3 ) THEN * WGS72. A = 6378135D0 F = 1D0 / 298.26D0 ELSE * Invalid identifier. A = 0D0 F = 0D0 J = -1 END IF * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_EO06A ( DATE1, DATE2 ) *+ * - - - - - - - - - - * i a u _ E O 0 6 A * - - - - - - - - - - * * Equation of the origins, IAU 2006 precession and IAU 2000A nutation. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * iau_EO06A d equation of the origins in radians * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The equation of the origins is the distance between the true * equinox and the celestial intermediate origin and, equivalently, * the difference between Earth rotation angle and Greenwich * apparent sidereal time (ERA-GST). It comprises the precession * (since J2000.0) in right ascension plus the equation of the * equinoxes (including the small correction terms). * * Called: * iau_PNM06A classical NPB matrix, IAU 2006/2000A * iau_BPN2XY extract CIP X,Y coordinates from NPB matrix * iau_S06 the CIO locator s, given X,Y, IAU 2006 * iau_EORS equation of the origins, given NPB matrix and s * * References: * * Capitaine, N. & Wallace, P.T., 2006, Astron.Astrophys. 450, 855 * * Wallace, P.T. & Capitaine, N., 2006, Astron.Astrophys. 459, 981 * * This revision: 2007 February 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2 DOUBLE PRECISION R(3,3), X, Y, S DOUBLE PRECISION iau_S06, iau_EORS * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Classical nutation x precession x bias matrix. CALL iau_PNM06A ( DATE1, DATE2, R ) * Extract CIP coordinates. CALL iau_BPN2XY ( R, X, Y ) * The CIO locator, s. S = iau_S06 ( DATE1, DATE2, X, Y ) * Solve for the EO. iau_EO06A = iau_EORS ( R, S ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_EORS ( RNPB, S ) *+ * - - - - - - - - - * i a u _ E O R S * - - - - - - - - - * * Equation of the origins, given the classical NPB matrix and the * quantity s. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * RNPB d(3,3) classical nutation x precession x bias matrix * S d the quantity s (the CIO locator) * * Returned: * iau_EORS d the equation of the origins in radians. * * Notes: * * 1) The equation of the origins is the distance between the true * equinox and the celestial intermediate origin and, equivalently, * the difference between Earth rotation angle and Greenwich * apparent sidereal time (ERA-GST). It comprises the precession * (since J2000.0) in right ascension plus the equation of the * equinoxes (including the small correction terms). * * 2) The algorithm is from Wallace & Capitaine (2006). * * References: * * Capitaine, N. & Wallace, P.T., 2006, Astron.Astrophys. 450, 855 * * Wallace, P. & Capitaine, N., 2006, Astron.Astrophys. 459, 981 * * This revision: 2008 February 24 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RNPB(3,3), S DOUBLE PRECISION X, AX, XS, YS, ZS, P, Q * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Evaluate Wallace & Capitaine (2006) expression (16). X = RNPB(3,1) AX = X / ( 1D0 + RNPB(3,3) ) XS = 1D0 - AX*X YS = -AX*RNPB(3,2) ZS = -X P = RNPB(1,1)*XS + RNPB(1,2)*YS + RNPB(1,3)*ZS Q = RNPB(2,1)*XS + RNPB(2,2)*YS + RNPB(2,3)*ZS IF ( P.NE.0D0 .OR. Q.NE.0D0 ) THEN iau_EORS = S - ATAN2 ( Q, P ) ELSE iau_EORS = S END IF * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_EPB2JD ( EPB, DJM0, DJM ) *+ * - - - - - - - - - - - * i a u _ E P B 2 J D * - - - - - - - - - - - * * Besselian Epoch to Julian Date. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * EPB d Besselian Epoch (e.g. 1957.3D0) * * Returned: * DJM0 d MJD zero-point: always 2400000.5 * DJM d Modified Julian Date * * Note: * * The Julian Date is returned in two pieces, in the usual SOFA * manner, which is designed to preserve time resolution. The * Julian Date is available as a single number by adding DJM0 and * DJM. * * Reference: * * Lieske, J.H., 1979, Astron.Astrophys. 73, 282. * * This revision: 2008 May 11 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION EPB, DJM0, DJM * Length of tropical year B1900 (days) DOUBLE PRECISION TY PARAMETER ( TY = 365.242198781D0 ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DJM0 = 2400000.5D0 DJM = 15019.81352D0 + ( EPB-1900D0 ) * TY * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_EPB ( DJ1, DJ2 ) *+ * - - - - - - - - * i a u _ E P B * - - - - - - - - * * Julian Date to Besselian Epoch. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DJ1,DJ2 d Julian Date (see note) * * The result is the Besselian Epoch. * * Note: * * The Julian Date is supplied in two pieces, in the usual SOFA * manner, which is designed to preserve time resolution. The * Julian Date is available as a single number by adding DJ1 and * DJ2. The maximum resolution is achieved if DJ1 is 2451545D0 * (J2000.0). * * Reference: * * Lieske, J.H., 1979, Astron.Astrophys. 73, 282. * * This revision: 2013 August 7 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DJ1, DJ2 * J2000.0 as a Julian Date DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * J2000.0 minus B1900.0 (2415019.81352) in days DOUBLE PRECISION D1900 PARAMETER ( D1900 = 36524.68648D0 ) * Length of tropical year B1900 (days) DOUBLE PRECISION TY PARAMETER ( TY = 365.242198781D0 ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - iau_EPB = 1900D0 + ( ( DJ1-DJ00 ) + ( DJ2+D1900 ) ) / TY * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_EPJ2JD ( EPJ, DJM0, DJM ) *+ * - - - - - - - - - - - * i a u _ E P J 2 J D * - - - - - - - - - - - * * Julian Epoch to Julian Date. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * EPJ d Julian Epoch (e.g. 1996.8D0) * * Returned: * DJM0 d MJD zero-point: always 2400000.5 * DJM d Modified Julian Date * * Note: * * The Julian Date is returned in two pieces, in the usual SOFA * manner, which is designed to preserve time resolution. The * Julian Date is available as a single number by adding DJM0 and * DJM. * * Reference: * * Lieske, J.H., 1979, Astron.Astrophys. 73, 282. * * This revision: 2008 May 11 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION EPJ, DJM0, DJM * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DJM0 = 2400000.5D0 DJM = 51544.5D0 + ( EPJ-2000D0 ) * 365.25D0 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_EPJ ( DJ1, DJ2 ) *+ * - - - - - - - - * i a u _ E P J * - - - - - - - - * * Julian Date to Julian Epoch. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DJ1,DJ2 d Julian Date (see note) * * The result is the Julian Epoch. * * Note: * * The Julian Date is supplied in two pieces, in the usual SOFA * manner, which is designed to preserve time resolution. The * Julian Date is available as a single number by adding DJ1 and * DJ2. The maximum resolution is achieved if DJ1 is 2451545D0 * (J2000.0). * * Reference: * * Lieske, J.H., 1979, Astron.Astrophys. 73, 282. * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DJ1, DJ2 * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian year DOUBLE PRECISION DJY PARAMETER ( DJY = 365.25D0 ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - iau_EPJ = 2000D0 + ( ( DJ1-DJ00 ) + DJ2 ) / DJY * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_EPV00 ( DATE1, DATE2, PVH, PVB, JSTAT ) *+ * - - - - - - - - - - * i a u _ E P V 0 0 * - - - - - - - - - - * * Earth position and velocity, heliocentric and barycentric, with * respect to the Barycentric Celestial Reference System. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1 d TDB date part A (Note 1) * DATE2 d TDB date part B (Note 1) * * Returned: * PVH d(3,2) heliocentric Earth position/velocity (au,au/day) * PVB d(3,2) barycentric Earth position/velocity (au,au/day) * JSTAT i status: 0 = OK * +1 = warning: date outside 1900-2100 AD * * Notes: * * 1) The TDB date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TDB)=2450123.7 could be expressed in any of these ways, among * others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * However, the accuracy of the result is more likely to be * limited by the algorithm itself than the way the epoch has been * expressed. * * 2) On return, the arrays PVH and PVB contain the following: * * PVH(1,1) x } * PVH(2,1) y } heliocentric position, au * PVH(3,1) z } * * PVH(1,2) xdot } * PVH(2,2) ydot } heliocentric velocity, au/d * PVH(3,2) zdot } * * PVB(1,1) x } * PVB(2,1) y } barycentric position, au * PVB(3,1) z } * * PVB(1,2) xdot } * PVB(2,2) ydot } barycentric velocity, au/d * PVB(3,2) zdot } * * The vectors are with respect to the Barycentric Celestial * Reference System. The time unit is one day in TDB. * * 3) The routine is a SIMPLIFIED SOLUTION from the planetary theory * VSOP2000 (X. Moisson, P. Bretagnon, 2001, Celes. Mechanics & * Dyn. Astron., 80, 3/4, 205-213) and is an adaptation of original * Fortran code supplied by P. Bretagnon (private comm., 2000). * * 4) Comparisons over the time span 1900-2100 with this simplified * solution and the JPL DE405 ephemeris give the following results: * * RMS max * Heliocentric: * position error 3.7 11.2 km * velocity error 1.4 5.0 mm/s * * Barycentric: * position error 4.6 13.4 km * velocity error 1.4 4.9 mm/s * * Comparisons with the JPL DE406 ephemeris show that by 1800 and * 2200 the position errors are approximately double their 1900-2100 * size. By 1500 and 2500 the deterioration is a factor of 10 and by * 1000 and 3000 a factor of 60. The velocity accuracy falls off at * about half that rate. * * This revision: 2017 March 16 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, PVH(3,2), PVB(3,2) INTEGER JSTAT DOUBLE PRECISION T, T2, XYZ, XYZD, A, B, C, CT, P, CP, : PH(3), VH(3), PB(3), VB(3), X, Y, Z INTEGER I, J, K * Days per Julian year DOUBLE PRECISION DJY PARAMETER ( DJY = 365.25D0 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * * Matrix elements for orienting the analytical model to DE405/ICRF. * * The corresponding Euler angles are: * * d ' " * 1st rotation - 23 26 21.4091 about the x-axis (obliquity) * 2nd rotation + 0.0475 about the z-axis (RA offset) * * These were obtained empirically, by comparisons with DE405 over * 1900-2100. * DOUBLE PRECISION AM12, AM13, AM21, AM22, AM23, AM32, AM33 PARAMETER ( AM12 = +0.000000211284D0, : AM13 = -0.000000091603D0, : AM21 = -0.000000230286D0, : AM22 = +0.917482137087D0, : AM23 = -0.397776982902D0, : AM32 = +0.397776982902D0, : AM33 = +0.917482137087D0 ) * ---------------------- * Ephemeris Coefficients * ---------------------- * * The coefficients are stored in arrays of dimension (3,n,3). There * are separate sets of arrays for (i) the Sun to Earth vector and * (ii) the Solar-System barycenter to Sun vector. Each of these two * sets contains separate arrays for the terms (n in number) in each * power of time (in Julian years since J2000.0): T^0, T^1 and T^2. * Within each array, all the Cartesian x-components, elements (i,j,1), * appear first, followed by all the y-components, elements (i,j,2) and * finally all the z-components, elements (i,j,3). At the lowest level * are groups of three coefficients. The first coefficient in each * group, element (1,j,k), is the amplitude of the term, the second, * element (2,j,k), is the phase and the third, element (3,j,k), is the * frequency. * * The naming scheme is such that a block * * DOUBLE PRECISION bn(3,Mbn,3) * * applies to body b and time exponent n: * * . b can be either E (Earth with respect to Sun) or S (Sun with * respect to Solar-System Barycenter) * * . n can be 0, 1 or 2, for T^0, T^1 or T^2 * * For example, array E2(3,ME2,3) contains the coefficients for * the T^2 terms for the Sun-to-Earth vector. * * There is no requirement for the X, Y and Z models for a particular * block to use the same number of coefficients. The number actually * used is parameterized, the number of terms being used called NbnX, * NbnY, and NbnZ respectively. The parameter Mbn is the biggest of * the three, and defines the array size. Unused elements are not * initialized and are never accessed. * INTEGER NE0(3), NE0X, NE0Y, NE0Z, ME0, : NE1(3), NE1X, NE1Y, NE1Z, ME1, : NE2(3), NE2X, NE2Y, NE2Z, ME2, : NS0(3), NS0X, NS0Y, NS0Z, MS0, : NS1(3), NS1X, NS1Y, NS1Z, MS1, : NS2(3), NS2X, NS2Y, NS2Z, MS2 PARAMETER ( NE0X = 501, NE0Y = 501, NE0Z = 137, ME0 = NE0X, : NE1X = 79, NE1Y = 80, NE1Z = 12, ME1 = NE1Y, : NE2X = 5, NE2Y = 5, NE2Z = 3, ME2 = NE2X, : NS0X = 212, NS0Y = 213, NS0Z = 69, MS0 = NS0Y, : NS1X = 50, NS1Y = 50, NS1Z = 14, MS1 = NS1X, : NS2X = 9, NS2Y = 9, NS2Z = 2, MS2 = NS2X ) DOUBLE PRECISION E0(3,ME0,3), E1(3,ME1,3), E2(3,ME2,3), : S0(3,MS0,3), S1(3,MS1,3), S2(3,MS2,3) DATA NE0 / NE0X, NE0Y, NE0Z / DATA NE1 / NE1X, NE1Y, NE1Z / DATA NE2 / NE2X, NE2Y, NE2Z / DATA NS0 / NS0X, NS0Y, NS0Z / DATA NS1 / NS1X, NS1Y, NS1Z / DATA NS2 / NS2X, NS2Y, NS2Z / * Sun-to-Earth, T^0, X DATA ((E0(I,J,1),I=1,3),J= 1, 10) / : 0.9998292878132D+00, 0.1753485171504D+01, 0.6283075850446D+01, : 0.8352579567414D-02, 0.1710344404582D+01, 0.1256615170089D+02, : 0.5611445335148D-02, 0.0000000000000D+00, 0.0000000000000D+00, : 0.1046664295572D-03, 0.1667225416770D+01, 0.1884922755134D+02, : 0.3110842534677D-04, 0.6687513390251D+00, 0.8399684731857D+02, : 0.2552413503550D-04, 0.5830637358413D+00, 0.5296909721118D+00, : 0.2137207845781D-04, 0.1092330954011D+01, 0.1577343543434D+01, : 0.1680240182951D-04, 0.4955366134987D+00, 0.6279552690824D+01, : 0.1679012370795D-04, 0.6153014091901D+01, 0.6286599010068D+01, : 0.1445526946777D-04, 0.3472744100492D+01, 0.2352866153506D+01 / DATA ((E0(I,J,1),I=1,3),J= 11, 20) / : 0.1091038246184D-04, 0.3689845786119D+01, 0.5223693906222D+01, : 0.9344399733932D-05, 0.6073934645672D+01, 0.1203646072878D+02, : 0.8993182910652D-05, 0.3175705249069D+01, 0.1021328554739D+02, : 0.5665546034116D-05, 0.2152484672246D+01, 0.1059381944224D+01, : 0.6844146703035D-05, 0.1306964099750D+01, 0.5753384878334D+01, : 0.7346610905565D-05, 0.4354980070466D+01, 0.3981490189893D+00, : 0.6815396474414D-05, 0.2218229211267D+01, 0.4705732307012D+01, : 0.6112787253053D-05, 0.5384788425458D+01, 0.6812766822558D+01, : 0.4518120711239D-05, 0.6087604012291D+01, 0.5884926831456D+01, : 0.4521963430706D-05, 0.1279424524906D+01, 0.6256777527156D+01 / DATA ((E0(I,J,1),I=1,3),J= 21, 30) / : 0.4497426764085D-05, 0.5369129144266D+01, 0.6309374173736D+01, : 0.4062190566959D-05, 0.5436473303367D+00, 0.6681224869435D+01, : 0.5412193480192D-05, 0.7867838528395D+00, 0.7755226100720D+00, : 0.5469839049386D-05, 0.1461440311134D+01, 0.1414349524433D+02, : 0.5205264083477D-05, 0.4432944696116D+01, 0.7860419393880D+01, : 0.2149759935455D-05, 0.4502237496846D+01, 0.1150676975667D+02, : 0.2279109618501D-05, 0.1239441308815D+01, 0.7058598460518D+01, : 0.2259282939683D-05, 0.3272430985331D+01, 0.4694002934110D+01, : 0.2558950271319D-05, 0.2265471086404D+01, 0.1216800268190D+02, : 0.2561581447555D-05, 0.1454740653245D+01, 0.7099330490126D+00 / DATA ((E0(I,J,1),I=1,3),J= 31, 40) / : 0.1781441115440D-05, 0.2962068630206D+01, 0.7962980379786D+00, : 0.1612005874644D-05, 0.1473255041006D+01, 0.5486777812467D+01, : 0.1818630667105D-05, 0.3743903293447D+00, 0.6283008715021D+01, : 0.1818601377529D-05, 0.6274174354554D+01, 0.6283142985870D+01, : 0.1554475925257D-05, 0.1624110906816D+01, 0.2513230340178D+02, : 0.2090948029241D-05, 0.5852052276256D+01, 0.1179062909082D+02, : 0.2000176345460D-05, 0.4072093298513D+01, 0.1778984560711D+02, : 0.1289535917759D-05, 0.5217019331069D+01, 0.7079373888424D+01, : 0.1281135307881D-05, 0.4802054538934D+01, 0.3738761453707D+01, : 0.1518229005692D-05, 0.8691914742502D+00, 0.2132990797783D+00 / DATA ((E0(I,J,1),I=1,3),J= 41, 50) / : 0.9450128579027D-06, 0.4601859529950D+01, 0.1097707878456D+02, : 0.7781119494996D-06, 0.1844352816694D+01, 0.8827390247185D+01, : 0.7733407759912D-06, 0.3582790154750D+01, 0.5507553240374D+01, : 0.7350644318120D-06, 0.2695277788230D+01, 0.1589072916335D+01, : 0.6535928827023D-06, 0.3651327986142D+01, 0.1176985366291D+02, : 0.6324624183656D-06, 0.2241302375862D+01, 0.6262300422539D+01, : 0.6298565300557D-06, 0.4407122406081D+01, 0.6303851278352D+01, : 0.8587037089179D-06, 0.3024307223119D+01, 0.1672837615881D+03, : 0.8299954491035D-06, 0.6192539428237D+01, 0.3340612434717D+01, : 0.6311263503401D-06, 0.2014758795416D+01, 0.7113454667900D-02 / DATA ((E0(I,J,1),I=1,3),J= 51, 60) / : 0.6005646745452D-06, 0.3399500503397D+01, 0.4136910472696D+01, : 0.7917715109929D-06, 0.2493386877837D+01, 0.6069776770667D+01, : 0.7556958099685D-06, 0.4159491740143D+01, 0.6496374930224D+01, : 0.6773228244949D-06, 0.4034162934230D+01, 0.9437762937313D+01, : 0.5370708577847D-06, 0.1562219163734D+01, 0.1194447056968D+01, : 0.5710804266203D-06, 0.2662730803386D+01, 0.6282095334605D+01, : 0.5709824583726D-06, 0.3985828430833D+01, 0.6284056366286D+01, : 0.5143950896447D-06, 0.1308144688689D+01, 0.6290189305114D+01, : 0.5088010604546D-06, 0.5352817214804D+01, 0.6275962395778D+01, : 0.4960369085172D-06, 0.2644267922349D+01, 0.6127655567643D+01 / DATA ((E0(I,J,1),I=1,3),J= 61, 70) / : 0.4803137891183D-06, 0.4008844192080D+01, 0.6438496133249D+01, : 0.5731747768225D-06, 0.3794550174597D+01, 0.3154687086868D+01, : 0.4735947960579D-06, 0.6107118308982D+01, 0.3128388763578D+01, : 0.4808348796625D-06, 0.4771458618163D+01, 0.8018209333619D+00, : 0.4115073743137D-06, 0.3327111335159D+01, 0.8429241228195D+01, : 0.5230575889287D-06, 0.5305708551694D+01, 0.1336797263425D+02, : 0.5133977889215D-06, 0.5784230738814D+01, 0.1235285262111D+02, : 0.5065815825327D-06, 0.2052064793679D+01, 0.1185621865188D+02, : 0.4339831593868D-06, 0.3644994195830D+01, 0.1726015463500D+02, : 0.3952928638953D-06, 0.4930376436758D+01, 0.5481254917084D+01 / DATA ((E0(I,J,1),I=1,3),J= 71, 80) / : 0.4898498111942D-06, 0.4542084219731D+00, 0.9225539266174D+01, : 0.4757490209328D-06, 0.3161126388878D+01, 0.5856477690889D+01, : 0.4727701669749D-06, 0.6214993845446D+00, 0.2544314396739D+01, : 0.3800966681863D-06, 0.3040132339297D+01, 0.4265981595566D+00, : 0.3257301077939D-06, 0.8064977360087D+00, 0.3930209696940D+01, : 0.3255810528674D-06, 0.1974147981034D+01, 0.2146165377750D+01, : 0.3252029748187D-06, 0.2845924913135D+01, 0.4164311961999D+01, : 0.3255505635308D-06, 0.3017900824120D+01, 0.5088628793478D+01, : 0.2801345211990D-06, 0.6109717793179D+01, 0.1256967486051D+02, : 0.3688987740970D-06, 0.2911550235289D+01, 0.1807370494127D+02 / DATA ((E0(I,J,1),I=1,3),J= 81, 90) / : 0.2475153429458D-06, 0.2179146025856D+01, 0.2629832328990D-01, : 0.3033457749150D-06, 0.1994161050744D+01, 0.4535059491685D+01, : 0.2186743763110D-06, 0.5125687237936D+01, 0.1137170464392D+02, : 0.2764777032774D-06, 0.4822646860252D+00, 0.1256262854127D+02, : 0.2199028768592D-06, 0.4637633293831D+01, 0.1255903824622D+02, : 0.2046482824760D-06, 0.1467038733093D+01, 0.7084896783808D+01, : 0.2611209147507D-06, 0.3044718783485D+00, 0.7143069561767D+02, : 0.2286079656818D-06, 0.4764220356805D+01, 0.8031092209206D+01, : 0.1855071202587D-06, 0.3383637774428D+01, 0.1748016358760D+01, : 0.2324669506784D-06, 0.6189088449251D+01, 0.1831953657923D+02 / DATA ((E0(I,J,1),I=1,3),J= 91,100) / : 0.1709528015688D-06, 0.5874966729774D+00, 0.4933208510675D+01, : 0.2168156875828D-06, 0.4302994009132D+01, 0.1044738781244D+02, : 0.2106675556535D-06, 0.3800475419891D+01, 0.7477522907414D+01, : 0.1430213830465D-06, 0.1294660846502D+01, 0.2942463415728D+01, : 0.1388396901944D-06, 0.4594797202114D+01, 0.8635942003952D+01, : 0.1922258844190D-06, 0.4943044543591D+00, 0.1729818233119D+02, : 0.1888460058292D-06, 0.2426943912028D+01, 0.1561374759853D+03, : 0.1789449386107D-06, 0.1582973303499D+00, 0.1592596075957D+01, : 0.1360803685374D-06, 0.5197240440504D+01, 0.1309584267300D+02, : 0.1504038014709D-06, 0.3120360916217D+01, 0.1649636139783D+02 / DATA ((E0(I,J,1),I=1,3),J=101,110) / : 0.1382769533389D-06, 0.6164702888205D+01, 0.7632943190217D+01, : 0.1438059769079D-06, 0.1437423770979D+01, 0.2042657109477D+02, : 0.1326303260037D-06, 0.3609688799679D+01, 0.1213955354133D+02, : 0.1159244950540D-06, 0.5463018167225D+01, 0.5331357529664D+01, : 0.1433118149136D-06, 0.6028909912097D+01, 0.7342457794669D+01, : 0.1234623148594D-06, 0.3109645574997D+01, 0.6279485555400D+01, : 0.1233949875344D-06, 0.3539359332866D+01, 0.6286666145492D+01, : 0.9927196061299D-07, 0.1259321569772D+01, 0.7234794171227D+01, : 0.1242302191316D-06, 0.1065949392609D+01, 0.1511046609763D+02, : 0.1098402195201D-06, 0.2192508743837D+01, 0.1098880815746D+02 / DATA ((E0(I,J,1),I=1,3),J=111,120) / : 0.1158191395315D-06, 0.4054411278650D+01, 0.5729506548653D+01, : 0.9048475596241D-07, 0.5429764748518D+01, 0.9623688285163D+01, : 0.8889853269023D-07, 0.5046586206575D+01, 0.6148010737701D+01, : 0.1048694242164D-06, 0.2628858030806D+01, 0.6836645152238D+01, : 0.1112308378646D-06, 0.4177292719907D+01, 0.1572083878776D+02, : 0.8631729709901D-07, 0.1601345232557D+01, 0.6418140963190D+01, : 0.8527816951664D-07, 0.2463888997513D+01, 0.1471231707864D+02, : 0.7892139456991D-07, 0.3154022088718D+01, 0.2118763888447D+01, : 0.1051782905236D-06, 0.4795035816088D+01, 0.1349867339771D+01, : 0.1048219943164D-06, 0.2952983395230D+01, 0.5999216516294D+01 / DATA ((E0(I,J,1),I=1,3),J=121,130) / : 0.7435760775143D-07, 0.5420547991464D+01, 0.6040347114260D+01, : 0.9869574106949D-07, 0.3695646753667D+01, 0.6566935184597D+01, : 0.9156886364226D-07, 0.3922675306609D+01, 0.5643178611111D+01, : 0.7006834356188D-07, 0.1233968624861D+01, 0.6525804586632D+01, : 0.9806170182601D-07, 0.1919542280684D+01, 0.2122839202813D+02, : 0.9052289673607D-07, 0.4615902724369D+01, 0.4690479774488D+01, : 0.7554200867893D-07, 0.1236863719072D+01, 0.1253985337760D+02, : 0.8215741286498D-07, 0.3286800101559D+00, 0.1097355562493D+02, : 0.7185178575397D-07, 0.5880942158367D+01, 0.6245048154254D+01, : 0.7130726476180D-07, 0.7674871987661D+00, 0.6321103546637D+01 / DATA ((E0(I,J,1),I=1,3),J=131,140) / : 0.6650894461162D-07, 0.6987129150116D+00, 0.5327476111629D+01, : 0.7396888823688D-07, 0.3576824794443D+01, 0.5368044267797D+00, : 0.7420588884775D-07, 0.5033615245369D+01, 0.2354323048545D+02, : 0.6141181642908D-07, 0.9449927045673D+00, 0.1296430071988D+02, : 0.6373557924058D-07, 0.6206342280341D+01, 0.9517183207817D+00, : 0.6359474329261D-07, 0.5036079095757D+01, 0.1990745094947D+01, : 0.5740173582646D-07, 0.6105106371350D+01, 0.9555997388169D+00, : 0.7019864084602D-07, 0.7237747359018D+00, 0.5225775174439D+00, : 0.6398054487042D-07, 0.3976367969666D+01, 0.2407292145756D+02, : 0.7797092650498D-07, 0.4305423910623D+01, 0.2200391463820D+02 / DATA ((E0(I,J,1),I=1,3),J=141,150) / : 0.6466760000900D-07, 0.3500136825200D+01, 0.5230807360890D+01, : 0.7529417043890D-07, 0.3514779246100D+01, 0.1842262939178D+02, : 0.6924571140892D-07, 0.2743457928679D+01, 0.1554202828031D+00, : 0.6220798650222D-07, 0.2242598118209D+01, 0.1845107853235D+02, : 0.5870209391853D-07, 0.2332832707527D+01, 0.6398972393349D+00, : 0.6263953473888D-07, 0.2191105358956D+01, 0.6277552955062D+01, : 0.6257781390012D-07, 0.4457559396698D+01, 0.6288598745829D+01, : 0.5697304945123D-07, 0.3499234761404D+01, 0.1551045220144D+01, : 0.6335438746791D-07, 0.6441691079251D+00, 0.5216580451554D+01, : 0.6377258441152D-07, 0.2252599151092D+01, 0.5650292065779D+01 / DATA ((E0(I,J,1),I=1,3),J=151,160) / : 0.6484841818165D-07, 0.1992812417646D+01, 0.1030928125552D+00, : 0.4735551485250D-07, 0.3744672082942D+01, 0.1431416805965D+02, : 0.4628595996170D-07, 0.1334226211745D+01, 0.5535693017924D+00, : 0.6258152336933D-07, 0.4395836159154D+01, 0.2608790314060D+02, : 0.6196171366594D-07, 0.2587043007997D+01, 0.8467247584405D+02, : 0.6159556952126D-07, 0.4782499769128D+01, 0.2394243902548D+03, : 0.4987741172394D-07, 0.7312257619924D+00, 0.7771377146812D+02, : 0.5459280703142D-07, 0.3001376372532D+01, 0.6179983037890D+01, : 0.4863461189999D-07, 0.3767222128541D+01, 0.9027992316901D+02, : 0.5349912093158D-07, 0.3663594450273D+01, 0.6386168663001D+01 / DATA ((E0(I,J,1),I=1,3),J=161,170) / : 0.5673725607806D-07, 0.4331187919049D+01, 0.6915859635113D+01, : 0.4745485060512D-07, 0.5816195745518D+01, 0.6282970628506D+01, : 0.4745379005326D-07, 0.8323672435672D+00, 0.6283181072386D+01, : 0.4049002796321D-07, 0.3785023976293D+01, 0.6254626709878D+01, : 0.4247084014515D-07, 0.2378220728783D+01, 0.7875671926403D+01, : 0.4026912363055D-07, 0.2864103423269D+01, 0.6311524991013D+01, : 0.4062935011774D-07, 0.2415408595975D+01, 0.3634620989887D+01, : 0.5347771048509D-07, 0.3343479309801D+01, 0.2515860172507D+02, : 0.4829494136505D-07, 0.2821742398262D+01, 0.5760498333002D+01, : 0.4342554404599D-07, 0.5624662458712D+01, 0.7238675589263D+01 / DATA ((E0(I,J,1),I=1,3),J=171,180) / : 0.4021599184361D-07, 0.5557250275009D+00, 0.1101510648075D+02, : 0.4104900474558D-07, 0.3296691780005D+01, 0.6709674010002D+01, : 0.4376532905131D-07, 0.3814443999443D+01, 0.6805653367890D+01, : 0.3314590480650D-07, 0.3560229189250D+01, 0.1259245002418D+02, : 0.3232421839643D-07, 0.5185389180568D+01, 0.1066495398892D+01, : 0.3541176318876D-07, 0.3921381909679D+01, 0.9917696840332D+01, : 0.3689831242681D-07, 0.4190658955386D+01, 0.1192625446156D+02, : 0.3890605376774D-07, 0.5546023371097D+01, 0.7478166569050D-01, : 0.3038559339780D-07, 0.6231032794494D+01, 0.1256621883632D+02, : 0.3137083969782D-07, 0.6207063419190D+01, 0.4292330755499D+01 / DATA ((E0(I,J,1),I=1,3),J=181,190) / : 0.4024004081854D-07, 0.1195257375713D+01, 0.1334167431096D+02, : 0.3300234879283D-07, 0.1804694240998D+01, 0.1057540660594D+02, : 0.3635399155575D-07, 0.5597811343500D+01, 0.6208294184755D+01, : 0.3032668691356D-07, 0.3191059366530D+01, 0.1805292951336D+02, : 0.2809652069058D-07, 0.4094348032570D+01, 0.3523159621801D-02, : 0.3696955383823D-07, 0.5219282738794D+01, 0.5966683958112D+01, : 0.3562894142503D-07, 0.1037247544554D+01, 0.6357857516136D+01, : 0.3510598524148D-07, 0.1430020816116D+01, 0.6599467742779D+01, : 0.3617736142953D-07, 0.3002911403677D+01, 0.6019991944201D+01, : 0.2624524910730D-07, 0.2437046757292D+01, 0.6702560555334D+01 / DATA ((E0(I,J,1),I=1,3),J=191,200) / : 0.2535824204490D-07, 0.1581594689647D+01, 0.3141537925223D+02, : 0.3519787226257D-07, 0.5379863121521D+01, 0.2505706758577D+03, : 0.2578406709982D-07, 0.4904222639329D+01, 0.1673046366289D+02, : 0.3423887981473D-07, 0.3646448997315D+01, 0.6546159756691D+01, : 0.2776083886467D-07, 0.3307829300144D+01, 0.1272157198369D+02, : 0.3379592818379D-07, 0.1747541251125D+01, 0.1494531617769D+02, : 0.3050255426284D-07, 0.1784689432607D-01, 0.4732030630302D+01, : 0.2652378350236D-07, 0.4420055276260D+01, 0.5863591145557D+01, : 0.2374498173768D-07, 0.3629773929208D+01, 0.2388894113936D+01, : 0.2716451255140D-07, 0.3079623706780D+01, 0.1202934727411D+02 / DATA ((E0(I,J,1),I=1,3),J=201,210) / : 0.3038583699229D-07, 0.3312487903507D+00, 0.1256608456547D+02, : 0.2220681228760D-07, 0.5265520401774D+01, 0.1336244973887D+02, : 0.3044156540912D-07, 0.4766664081250D+01, 0.2908881142201D+02, : 0.2731859923561D-07, 0.5069146530691D+01, 0.1391601904066D+02, : 0.2285603018171D-07, 0.5954935112271D+01, 0.6076890225335D+01, : 0.2025006454555D-07, 0.4061789589267D+01, 0.4701116388778D+01, : 0.2012597519804D-07, 0.2485047705241D+01, 0.6262720680387D+01, : 0.2003406962258D-07, 0.4163779209320D+01, 0.6303431020504D+01, : 0.2207863441371D-07, 0.6923839133828D+00, 0.6489261475556D+01, : 0.2481374305624D-07, 0.5944173595676D+01, 0.1204357418345D+02 / DATA ((E0(I,J,1),I=1,3),J=211,220) / : 0.2130923288870D-07, 0.4641013671967D+01, 0.5746271423666D+01, : 0.2446370543391D-07, 0.6125796518757D+01, 0.1495633313810D+00, : 0.1932492759052D-07, 0.2234572324504D+00, 0.1352175143971D+02, : 0.2600122568049D-07, 0.4281012405440D+01, 0.4590910121555D+01, : 0.2431754047488D-07, 0.1429943874870D+00, 0.1162474756779D+01, : 0.1875902869209D-07, 0.9781803816948D+00, 0.6279194432410D+01, : 0.1874381139426D-07, 0.5670368130173D+01, 0.6286957268481D+01, : 0.2156696047173D-07, 0.2008985006833D+01, 0.1813929450232D+02, : 0.1965076182484D-07, 0.2566186202453D+00, 0.4686889479442D+01, : 0.2334816372359D-07, 0.4408121891493D+01, 0.1002183730415D+02 / DATA ((E0(I,J,1),I=1,3),J=221,230) / : 0.1869937408802D-07, 0.5272745038656D+01, 0.2427287361862D+00, : 0.2436236460883D-07, 0.4407720479029D+01, 0.9514313292143D+02, : 0.1761365216611D-07, 0.1943892315074D+00, 0.1351787002167D+02, : 0.2156289480503D-07, 0.1418570924545D+01, 0.6037244212485D+01, : 0.2164748979255D-07, 0.4724603439430D+01, 0.2301353951334D+02, : 0.2222286670853D-07, 0.2400266874598D+01, 0.1266924451345D+02, : 0.2070901414929D-07, 0.5230348028732D+01, 0.6528907488406D+01, : 0.1792745177020D-07, 0.2099190328945D+01, 0.6819880277225D+01, : 0.1841802068445D-07, 0.3467527844848D+00, 0.6514761976723D+02, : 0.1578401631718D-07, 0.7098642356340D+00, 0.2077542790660D-01 / DATA ((E0(I,J,1),I=1,3),J=231,240) / : 0.1561690152531D-07, 0.5943349620372D+01, 0.6272439236156D+01, : 0.1558591045463D-07, 0.7040653478980D+00, 0.6293712464735D+01, : 0.1737356469576D-07, 0.4487064760345D+01, 0.1765478049437D+02, : 0.1434755619991D-07, 0.2993391570995D+01, 0.1102062672231D+00, : 0.1482187806654D-07, 0.2278049198251D+01, 0.1052268489556D+01, : 0.1424812827089D-07, 0.1682114725827D+01, 0.1311972100268D+02, : 0.1380282448623D-07, 0.3262668602579D+01, 0.1017725758696D+02, : 0.1811481244566D-07, 0.3187771221777D+01, 0.1887552587463D+02, : 0.1504446185696D-07, 0.5650162308647D+01, 0.7626583626240D-01, : 0.1740776154137D-07, 0.5487068607507D+01, 0.1965104848470D+02 / DATA ((E0(I,J,1),I=1,3),J=241,250) / : 0.1374339536251D-07, 0.5745688172201D+01, 0.6016468784579D+01, : 0.1761377477704D-07, 0.5748060203659D+01, 0.2593412433514D+02, : 0.1535138225795D-07, 0.6226848505790D+01, 0.9411464614024D+01, : 0.1788140543676D-07, 0.6189318878563D+01, 0.3301902111895D+02, : 0.1375002807996D-07, 0.5371812884394D+01, 0.6327837846670D+00, : 0.1242115758632D-07, 0.1471687569712D+01, 0.3894181736510D+01, : 0.1450977333938D-07, 0.4143836662127D+01, 0.1277945078067D+02, : 0.1297579575023D-07, 0.9003477661957D+00, 0.6549682916313D+01, : 0.1462667934821D-07, 0.5760505536428D+01, 0.1863592847156D+02, : 0.1381774374799D-07, 0.1085471729463D+01, 0.2379164476796D+01 / DATA ((E0(I,J,1),I=1,3),J=251,260) / : 0.1682333169307D-07, 0.5409870870133D+01, 0.1620077269078D+02, : 0.1190812918837D-07, 0.1397205174601D+01, 0.1149965630200D+02, : 0.1221434762106D-07, 0.9001804809095D+00, 0.1257326515556D+02, : 0.1549934644860D-07, 0.4262528275544D+01, 0.1820933031200D+02, : 0.1252138953050D-07, 0.1411642012027D+01, 0.6993008899458D+01, : 0.1237078905387D-07, 0.2844472403615D+01, 0.2435678079171D+02, : 0.1446953389615D-07, 0.5295835522223D+01, 0.3813291813120D-01, : 0.1388446457170D-07, 0.4969428135497D+01, 0.2458316379602D+00, : 0.1019339179228D-07, 0.2491369561806D+01, 0.6112403035119D+01, : 0.1258880815343D-07, 0.4679426248976D+01, 0.5429879531333D+01 / DATA ((E0(I,J,1),I=1,3),J=261,270) / : 0.1297768238261D-07, 0.1074509953328D+01, 0.1249137003520D+02, : 0.9913505718094D-08, 0.4735097918224D+01, 0.6247047890016D+01, : 0.9830453155969D-08, 0.4158649187338D+01, 0.6453748665772D+01, : 0.1192615865309D-07, 0.3438208613699D+01, 0.6290122169689D+01, : 0.9835874798277D-08, 0.1913300781229D+01, 0.6319103810876D+01, : 0.9639087569277D-08, 0.9487683644125D+00, 0.8273820945392D+01, : 0.1175716107001D-07, 0.3228141664287D+01, 0.6276029531202D+01, : 0.1018926508678D-07, 0.2216607854300D+01, 0.1254537627298D+02, : 0.9500087869225D-08, 0.2625116459733D+01, 0.1256517118505D+02, : 0.9664192916575D-08, 0.5860562449214D+01, 0.6259197520765D+01 / DATA ((E0(I,J,1),I=1,3),J=271,280) / : 0.9612858712203D-08, 0.7885682917381D+00, 0.6306954180126D+01, : 0.1117645675413D-07, 0.3932148831189D+01, 0.1779695906178D+02, : 0.1158864052160D-07, 0.9995605521691D+00, 0.1778273215245D+02, : 0.9021043467028D-08, 0.5263769742673D+01, 0.6172869583223D+01, : 0.8836134773563D-08, 0.1496843220365D+01, 0.1692165728891D+01, : 0.1045872200691D-07, 0.7009039517214D+00, 0.2204125344462D+00, : 0.1211463487798D-07, 0.4041544938511D+01, 0.8257698122054D+02, : 0.8541990804094D-08, 0.1447586692316D+01, 0.6393282117669D+01, : 0.1038720703636D-07, 0.4594249718112D+00, 0.1550861511662D+02, : 0.1126722351445D-07, 0.3925550579036D+01, 0.2061856251104D+00 / DATA ((E0(I,J,1),I=1,3),J=281,290) / : 0.8697373859631D-08, 0.4411341856037D+01, 0.9491756770005D+00, : 0.8869380028441D-08, 0.2402659724813D+01, 0.3903911373650D+01, : 0.9247014693258D-08, 0.1401579743423D+01, 0.6267823317922D+01, : 0.9205062930950D-08, 0.5245978000814D+01, 0.6298328382969D+01, : 0.8000745038049D-08, 0.3590803356945D+01, 0.2648454860559D+01, : 0.9168973650819D-08, 0.2470150501679D+01, 0.1498544001348D+03, : 0.1075444949238D-07, 0.1328606161230D+01, 0.3694923081589D+02, : 0.7817298525817D-08, 0.6162256225998D+01, 0.4804209201333D+01, : 0.9541469226356D-08, 0.3942568967039D+01, 0.1256713221673D+02, : 0.9821910122027D-08, 0.2360246287233D+00, 0.1140367694411D+02 / DATA ((E0(I,J,1),I=1,3),J=291,300) / : 0.9897822023777D-08, 0.4619805634280D+01, 0.2280573557157D+02, : 0.7737289283765D-08, 0.3784727847451D+01, 0.7834121070590D+01, : 0.9260204034710D-08, 0.2223352487601D+01, 0.2787043132925D+01, : 0.7320252888486D-08, 0.1288694636874D+01, 0.6282655592598D+01, : 0.7319785780946D-08, 0.5359869567774D+01, 0.6283496108294D+01, : 0.7147219933778D-08, 0.5516616675856D+01, 0.1725663147538D+02, : 0.7946502829878D-08, 0.2630459984567D+01, 0.1241073141809D+02, : 0.9001711808932D-08, 0.2849815827227D+01, 0.6281591679874D+01, : 0.8994041507257D-08, 0.3795244450750D+01, 0.6284560021018D+01, : 0.8298582787358D-08, 0.5236413127363D+00, 0.1241658836951D+02 / DATA ((E0(I,J,1),I=1,3),J=301,310) / : 0.8526596520710D-08, 0.4794605424426D+01, 0.1098419223922D+02, : 0.8209822103197D-08, 0.1578752370328D+01, 0.1096996532989D+02, : 0.6357049861094D-08, 0.5708926113761D+01, 0.1596186371003D+01, : 0.7370473179049D-08, 0.3842402530241D+01, 0.4061219149443D+01, : 0.7232154664726D-08, 0.3067548981535D+01, 0.1610006857377D+03, : 0.6328765494903D-08, 0.1313930030069D+01, 0.1193336791622D+02, : 0.8030064908595D-08, 0.3488500408886D+01, 0.8460828644453D+00, : 0.6275464259232D-08, 0.1532061626198D+01, 0.8531963191132D+00, : 0.7051897446325D-08, 0.3285859929993D+01, 0.5849364236221D+01, : 0.6161593705428D-08, 0.1477341999464D+01, 0.5573142801433D+01 / DATA ((E0(I,J,1),I=1,3),J=311,320) / : 0.7754683957278D-08, 0.1586118663096D+01, 0.8662240327241D+01, : 0.5889928990701D-08, 0.1304887868803D+01, 0.1232342296471D+02, : 0.5705756047075D-08, 0.4555333589350D+01, 0.1258692712880D+02, : 0.5964178808332D-08, 0.3001762842062D+01, 0.5333900173445D+01, : 0.6712446027467D-08, 0.4886780007595D+01, 0.1171295538178D+02, : 0.5941809275464D-08, 0.4701509603824D+01, 0.9779108567966D+01, : 0.5466993627395D-08, 0.4588357817278D+01, 0.1884211409667D+02, : 0.6340512090980D-08, 0.1164543038893D+01, 0.5217580628120D+02, : 0.6325505710045D-08, 0.3919171259645D+01, 0.1041998632314D+02, : 0.6164789509685D-08, 0.2143828253542D+01, 0.6151533897323D+01 / DATA ((E0(I,J,1),I=1,3),J=321,330) / : 0.5263330812430D-08, 0.6066564434241D+01, 0.1885275071096D+02, : 0.5597087780221D-08, 0.2926316429472D+01, 0.4337116142245D+00, : 0.5396556236817D-08, 0.3244303591505D+01, 0.6286362197481D+01, : 0.5396615148223D-08, 0.3404304703662D+01, 0.6279789503410D+01, : 0.7091832443341D-08, 0.8532377803192D+00, 0.4907302013889D+01, : 0.6572352589782D-08, 0.4901966774419D+01, 0.1176433076753D+02, : 0.5960236060795D-08, 0.1874672315797D+01, 0.1422690933580D-01, : 0.5125480043511D-08, 0.3735726064334D+01, 0.1245594543367D+02, : 0.5928241866410D-08, 0.4502033899935D+01, 0.6414617803568D+01, : 0.5249600357424D-08, 0.4372334799878D+01, 0.1151388321134D+02 / DATA ((E0(I,J,1),I=1,3),J=331,340) / : 0.6059171276087D-08, 0.2581617302908D+01, 0.6062663316000D+01, : 0.5295235081662D-08, 0.2974811513158D+01, 0.3496032717521D+01, : 0.5820561875933D-08, 0.1796073748244D+00, 0.2838593341516D+00, : 0.4754696606440D-08, 0.1981998136973D+01, 0.3104930017775D+01, : 0.6385053548955D-08, 0.2559174171605D+00, 0.6133512519065D+01, : 0.6589828273941D-08, 0.2750967106776D+01, 0.4087944051283D+02, : 0.5383376567189D-08, 0.6325947523578D+00, 0.2248384854122D+02, : 0.5928941683538D-08, 0.1672304519067D+01, 0.1581959461667D+01, : 0.4816060709794D-08, 0.3512566172575D+01, 0.9388005868221D+01, : 0.6003381586512D-08, 0.5610932219189D+01, 0.5326786718777D+01 / DATA ((E0(I,J,1),I=1,3),J=341,350) / : 0.5504225393105D-08, 0.4037501131256D+01, 0.6503488384892D+01, : 0.5353772620129D-08, 0.6122774968240D+01, 0.1735668374386D+03, : 0.5786253768544D-08, 0.5527984999515D+01, 0.1350651127443D+00, : 0.5065706702002D-08, 0.9980765573624D+00, 0.1248988586463D+02, : 0.5972838885276D-08, 0.6044489493203D+01, 0.2673594526851D+02, : 0.5323585877961D-08, 0.3924265998147D+01, 0.4171425416666D+01, : 0.5210772682858D-08, 0.6220111376901D+01, 0.2460261242967D+02, : 0.4726549040535D-08, 0.3716043206862D+01, 0.7232251527446D+01, : 0.6029425105059D-08, 0.8548704071116D+00, 0.3227113045244D+03, : 0.4481542826513D-08, 0.1426925072829D+01, 0.5547199253223D+01 / DATA ((E0(I,J,1),I=1,3),J=351,360) / : 0.5836024505068D-08, 0.7135651752625D-01, 0.7285056171570D+02, : 0.4137046613272D-08, 0.5330767643283D+01, 0.1087398597200D+02, : 0.5171977473924D-08, 0.4494262335353D+00, 0.1884570439172D+02, : 0.5694429833732D-08, 0.2952369582215D+01, 0.9723862754494D+02, : 0.4009158925298D-08, 0.3500003416535D+01, 0.6244942932314D+01, : 0.4784939596873D-08, 0.6196709413181D+01, 0.2929661536378D+02, : 0.3983725022610D-08, 0.5103690031897D+01, 0.4274518229222D+01, : 0.3870535232462D-08, 0.3187569587401D+01, 0.6321208768577D+01, : 0.5140501213951D-08, 0.1668924357457D+01, 0.1232032006293D+02, : 0.3849034819355D-08, 0.4445722510309D+01, 0.1726726808967D+02 / DATA ((E0(I,J,1),I=1,3),J=361,370) / : 0.4002383075060D-08, 0.5226224152423D+01, 0.7018952447668D+01, : 0.3890719543549D-08, 0.4371166550274D+01, 0.1491901785440D+02, : 0.4887084607881D-08, 0.5973556689693D+01, 0.1478866649112D+01, : 0.3739939287592D-08, 0.2089084714600D+01, 0.6922973089781D+01, : 0.5031925918209D-08, 0.4658371936827D+01, 0.1715706182245D+02, : 0.4387748764954D-08, 0.4825580552819D+01, 0.2331413144044D+03, : 0.4147398098865D-08, 0.3739003524998D+01, 0.1376059875786D+02, : 0.3719089993586D-08, 0.1148941386536D+01, 0.6297302759782D+01, : 0.3934238461056D-08, 0.1559893008343D+01, 0.7872148766781D+01, : 0.3672471375622D-08, 0.5516145383612D+01, 0.6268848941110D+01 / DATA ((E0(I,J,1),I=1,3),J=371,380) / : 0.3768911277583D-08, 0.6116053700563D+01, 0.4157198507331D+01, : 0.4033388417295D-08, 0.5076821746017D+01, 0.1567108171867D+02, : 0.3764194617832D-08, 0.8164676232075D+00, 0.3185192151914D+01, : 0.4840628226284D-08, 0.1360479453671D+01, 0.1252801878276D+02, : 0.4949443923785D-08, 0.2725622229926D+01, 0.1617106187867D+03, : 0.4117393089971D-08, 0.6054459628492D+00, 0.5642198095270D+01, : 0.3925754020428D-08, 0.8570462135210D+00, 0.2139354194808D+02, : 0.3630551757923D-08, 0.3552067338279D+01, 0.6294805223347D+01, : 0.3627274802357D-08, 0.3096565085313D+01, 0.6271346477544D+01, : 0.3806143885093D-08, 0.6367751709777D+00, 0.1725304118033D+02 / DATA ((E0(I,J,1),I=1,3),J=381,390) / : 0.4433254641565D-08, 0.4848461503937D+01, 0.7445550607224D+01, : 0.3712319846576D-08, 0.1331950643655D+01, 0.4194847048887D+00, : 0.3849847534783D-08, 0.4958368297746D+00, 0.9562891316684D+00, : 0.3483955430165D-08, 0.2237215515707D+01, 0.1161697602389D+02, : 0.3961912730982D-08, 0.3332402188575D+01, 0.2277943724828D+02, : 0.3419978244481D-08, 0.5785600576016D+01, 0.1362553364512D+02, : 0.3329417758177D-08, 0.9812676559709D-01, 0.1685848245639D+02, : 0.4207206893193D-08, 0.9494780468236D+00, 0.2986433403208D+02, : 0.3268548976410D-08, 0.1739332095686D+00, 0.5749861718712D+01, : 0.3321880082685D-08, 0.1423354800666D+01, 0.6279143387820D+01 / DATA ((E0(I,J,1),I=1,3),J=391,400) / : 0.4503173010852D-08, 0.2314972675293D+00, 0.1385561574497D+01, : 0.4316599090954D-08, 0.1012646782616D+00, 0.4176041334900D+01, : 0.3283493323850D-08, 0.5233306881265D+01, 0.6287008313071D+01, : 0.3164033542343D-08, 0.4005597257511D+01, 0.2099539292909D+02, : 0.4159720956725D-08, 0.5365676242020D+01, 0.5905702259363D+01, : 0.3565176892217D-08, 0.4284440620612D+01, 0.3932462625300D-02, : 0.3514440950221D-08, 0.4270562636575D+01, 0.7335344340001D+01, : 0.3540596871909D-08, 0.5953553201060D+01, 0.1234573916645D+02, : 0.2960769905118D-08, 0.1115180417718D+01, 0.2670964694522D+02, : 0.2962213739684D-08, 0.3863811918186D+01, 0.6408777551755D+00 / DATA ((E0(I,J,1),I=1,3),J=401,410) / : 0.3883556700251D-08, 0.1268617928302D+01, 0.6660449441528D+01, : 0.2919225516346D-08, 0.4908605223265D+01, 0.1375773836557D+01, : 0.3115158863370D-08, 0.3744519976885D+01, 0.3802769619140D-01, : 0.4099438144212D-08, 0.4173244670532D+01, 0.4480965020977D+02, : 0.2899531858964D-08, 0.5910601428850D+01, 0.2059724391010D+02, : 0.3289733429855D-08, 0.2488050078239D+01, 0.1081813534213D+02, : 0.3933075612875D-08, 0.1122363652883D+01, 0.3773735910827D+00, : 0.3021403764467D-08, 0.4951973724904D+01, 0.2982630633589D+02, : 0.2798598949757D-08, 0.5117057845513D+01, 0.1937891852345D+02, : 0.3397421302707D-08, 0.6104159180476D+01, 0.6923953605621D+01 / DATA ((E0(I,J,1),I=1,3),J=411,420) / : 0.3720398002179D-08, 0.1184933429829D+01, 0.3066615496545D+02, : 0.3598484186267D-08, 0.3505282086105D+01, 0.6147450479709D+01, : 0.3694594027310D-08, 0.2286651088141D+01, 0.2636725487657D+01, : 0.2680444152969D-08, 0.1871816775482D+00, 0.6816289982179D+01, : 0.3497574865641D-08, 0.3143251755431D+01, 0.6418701221183D+01, : 0.3130274129494D-08, 0.2462167316018D+01, 0.1235996607578D+02, : 0.3241119069551D-08, 0.4256374004686D+01, 0.1652265972112D+02, : 0.2601960842061D-08, 0.4970362941425D+01, 0.1045450126711D+02, : 0.2690601527504D-08, 0.2372657824898D+01, 0.3163918923335D+00, : 0.2908688152664D-08, 0.4232652627721D+01, 0.2828699048865D+02 / DATA ((E0(I,J,1),I=1,3),J=421,430) / : 0.3120456131875D-08, 0.3925747001137D+00, 0.2195415756911D+02, : 0.3148855423384D-08, 0.3093478330445D+01, 0.1172006883645D+02, : 0.3051044261017D-08, 0.5560948248212D+01, 0.6055599646783D+01, : 0.2826006876660D-08, 0.5072790310072D+01, 0.5120601093667D+01, : 0.3100034191711D-08, 0.4998530231096D+01, 0.1799603123222D+02, : 0.2398771640101D-08, 0.2561739802176D+01, 0.6255674361143D+01, : 0.2384002842728D-08, 0.4087420284111D+01, 0.6310477339748D+01, : 0.2842146517568D-08, 0.2515048217955D+01, 0.5469525544182D+01, : 0.2847674371340D-08, 0.5235326497443D+01, 0.1034429499989D+02, : 0.2903722140764D-08, 0.1088200795797D+01, 0.6510552054109D+01 / DATA ((E0(I,J,1),I=1,3),J=431,440) / : 0.3187610710605D-08, 0.4710624424816D+01, 0.1693792562116D+03, : 0.3048869992813D-08, 0.2857975896445D+00, 0.8390110365991D+01, : 0.2860216950984D-08, 0.2241619020815D+01, 0.2243449970715D+00, : 0.2701117683113D-08, 0.6651573305272D-01, 0.6129297044991D+01, : 0.2509891590152D-08, 0.1285135324585D+01, 0.1044027435778D+02, : 0.2623200252223D-08, 0.2981229834530D+00, 0.6436854655901D+01, : 0.2622541669202D-08, 0.6122470726189D+01, 0.9380959548977D+01, : 0.2818435667099D-08, 0.4251087148947D+01, 0.5934151399930D+01, : 0.2365196797465D-08, 0.3465070460790D+01, 0.2470570524223D+02, : 0.2358704646143D-08, 0.5791603815350D+01, 0.8671969964381D+01 / DATA ((E0(I,J,1),I=1,3),J=441,450) / : 0.2388299481390D-08, 0.4142483772941D+01, 0.7096626156709D+01, : 0.1996041217224D-08, 0.2101901889496D+01, 0.1727188400790D+02, : 0.2687593060336D-08, 0.1526689456959D+01, 0.7075506709219D+02, : 0.2618913670810D-08, 0.2397684236095D+01, 0.6632000300961D+01, : 0.2571523050364D-08, 0.5751929456787D+00, 0.6206810014183D+01, : 0.2582135006946D-08, 0.5595464352926D+01, 0.4873985990671D+02, : 0.2372530190361D-08, 0.5092689490655D+01, 0.1590676413561D+02, : 0.2357178484712D-08, 0.4444363527851D+01, 0.3097883698531D+01, : 0.2451590394723D-08, 0.3108251687661D+01, 0.6612329252343D+00, : 0.2370045949608D-08, 0.2608133861079D+01, 0.3459636466239D+02 / DATA ((E0(I,J,1),I=1,3),J=451,460) / : 0.2268997267358D-08, 0.3639717753384D+01, 0.2844914056730D-01, : 0.1731432137906D-08, 0.1741898445707D+00, 0.2019909489111D+02, : 0.1629869741622D-08, 0.3902225646724D+01, 0.3035599730800D+02, : 0.2206215801974D-08, 0.4971131250731D+01, 0.6281667977667D+01, : 0.2205469554680D-08, 0.1677462357110D+01, 0.6284483723224D+01, : 0.2148792362509D-08, 0.4236259604006D+01, 0.1980482729015D+02, : 0.1873733657847D-08, 0.5926814998687D+01, 0.2876692439167D+02, : 0.2026573758959D-08, 0.4349643351962D+01, 0.2449240616245D+02, : 0.1807770325110D-08, 0.5700940482701D+01, 0.2045286941806D+02, : 0.1881174408581D-08, 0.6601286363430D+00, 0.2358125818164D+02 / DATA ((E0(I,J,1),I=1,3),J=461,470) / : 0.1368023671690D-08, 0.2211098592752D+01, 0.2473415438279D+02, : 0.1720017916280D-08, 0.4942488551129D+01, 0.1679593901136D+03, : 0.1702427665131D-08, 0.1452233856386D+01, 0.3338575901272D+03, : 0.1414032510054D-08, 0.5525357721439D+01, 0.1624205518357D+03, : 0.1652626045364D-08, 0.4108794283624D+01, 0.8956999012000D+02, : 0.1642957769686D-08, 0.7344335209984D+00, 0.5267006960365D+02, : 0.1614952403624D-08, 0.3541213951363D+01, 0.3332657872986D+02, : 0.1535988291188D-08, 0.4031094072151D+01, 0.3852657435933D+02, : 0.1593193738177D-08, 0.4185136203609D+01, 0.2282781046519D+03, : 0.1074569126382D-08, 0.1720485636868D+01, 0.8397383534231D+02 / DATA ((E0(I,J,1),I=1,3),J=471,480) / : 0.1074408214509D-08, 0.2758613420318D+01, 0.8401985929482D+02, : 0.9700199670465D-09, 0.4216686842097D+01, 0.7826370942180D+02, : 0.1258433517061D-08, 0.2575068876639D+00, 0.3115650189215D+03, : 0.1240303229539D-08, 0.4800844956756D+00, 0.1784300471910D+03, : 0.9018345948127D-09, 0.3896756361552D+00, 0.5886454391678D+02, : 0.1135301432805D-08, 0.3700805023550D+00, 0.7842370451713D+02, : 0.9215887951370D-09, 0.4364579276638D+01, 0.1014262087719D+03, : 0.1055401054147D-08, 0.2156564222111D+01, 0.5660027930059D+02, : 0.1008725979831D-08, 0.5454015785234D+01, 0.4245678405627D+02, : 0.7217398104321D-09, 0.1597772562175D+01, 0.2457074661053D+03 / DATA ((E0(I,J,1),I=1,3),J=481,490) / : 0.6912033134447D-09, 0.5824090621461D+01, 0.1679936946371D+03, : 0.6833881523549D-09, 0.3578778482835D+01, 0.6053048899753D+02, : 0.4887304205142D-09, 0.3724362812423D+01, 0.9656299901946D+02, : 0.5173709754788D-09, 0.5422427507933D+01, 0.2442876000072D+03, : 0.4671353097145D-09, 0.2396106924439D+01, 0.1435713242844D+03, : 0.5652608439480D-09, 0.2804028838685D+01, 0.8365903305582D+02, : 0.5604061331253D-09, 0.1638816006247D+01, 0.8433466158131D+02, : 0.4712723365400D-09, 0.8979003224474D+00, 0.3164282286739D+03, : 0.4909967465112D-09, 0.3210426725516D+01, 0.4059982187939D+03, : 0.4771358267658D-09, 0.5308027211629D+01, 0.1805255418145D+03 / DATA ((E0(I,J,1),I=1,3),J=491,500) / : 0.3943451445989D-09, 0.2195145341074D+01, 0.2568537517081D+03, : 0.3952109120244D-09, 0.5081189491586D+01, 0.2449975330562D+03, : 0.3788134594789D-09, 0.4345171264441D+01, 0.1568131045107D+03, : 0.3738330190479D-09, 0.2613062847997D+01, 0.3948519331910D+03, : 0.3099866678136D-09, 0.2846760817689D+01, 0.1547176098872D+03, : 0.2002962716768D-09, 0.4921360989412D+01, 0.2268582385539D+03, : 0.2198291338754D-09, 0.1130360117454D+00, 0.1658638954901D+03, : 0.1491958330784D-09, 0.4228195232278D+01, 0.2219950288015D+03, : 0.1475384076173D-09, 0.3005721811604D+00, 0.3052819430710D+03, : 0.1661626624624D-09, 0.7830125621203D+00, 0.2526661704812D+03 / DATA ((E0(I,J,1),I=1,3),J=501,NE0X) / : 0.9015823460025D-10, 0.3807792942715D+01, 0.4171445043968D+03 / * Sun-to-Earth, T^1, X DATA ((E1(I,J,1),I=1,3),J= 1, 10) / : 0.1234046326004D-05, 0.0000000000000D+00, 0.0000000000000D+00, : 0.5150068824701D-06, 0.6002664557501D+01, 0.1256615170089D+02, : 0.1290743923245D-07, 0.5959437664199D+01, 0.1884922755134D+02, : 0.1068615564952D-07, 0.2015529654209D+01, 0.6283075850446D+01, : 0.2079619142538D-08, 0.1732960531432D+01, 0.6279552690824D+01, : 0.2078009243969D-08, 0.4915604476996D+01, 0.6286599010068D+01, : 0.6206330058856D-09, 0.3616457953824D+00, 0.4705732307012D+01, : 0.5989335313746D-09, 0.3802607304474D+01, 0.6256777527156D+01, : 0.5958495663840D-09, 0.2845866560031D+01, 0.6309374173736D+01, : 0.4866923261539D-09, 0.5213203771824D+01, 0.7755226100720D+00 / DATA ((E1(I,J,1),I=1,3),J= 11, 20) / : 0.4267785823142D-09, 0.4368189727818D+00, 0.1059381944224D+01, : 0.4610675141648D-09, 0.1837249181372D-01, 0.7860419393880D+01, : 0.3626989993973D-09, 0.2161590545326D+01, 0.5753384878334D+01, : 0.3563071194389D-09, 0.1452631954746D+01, 0.5884926831456D+01, : 0.3557015642807D-09, 0.4470593393054D+01, 0.6812766822558D+01, : 0.3210412089122D-09, 0.5195926078314D+01, 0.6681224869435D+01, : 0.2875473577986D-09, 0.5916256610193D+01, 0.2513230340178D+02, : 0.2842913681629D-09, 0.1149902426047D+01, 0.6127655567643D+01, : 0.2751248215916D-09, 0.5502088574662D+01, 0.6438496133249D+01, : 0.2481432881127D-09, 0.2921989846637D+01, 0.5486777812467D+01 / DATA ((E1(I,J,1),I=1,3),J= 21, 30) / : 0.2059885976560D-09, 0.3718070376585D+01, 0.7079373888424D+01, : 0.2015522342591D-09, 0.5979395259740D+01, 0.6290189305114D+01, : 0.1995364084253D-09, 0.6772087985494D+00, 0.6275962395778D+01, : 0.1957436436943D-09, 0.2899210654665D+01, 0.5507553240374D+01, : 0.1651609818948D-09, 0.6228206482192D+01, 0.1150676975667D+02, : 0.1822980550699D-09, 0.1469348746179D+01, 0.1179062909082D+02, : 0.1675223159760D-09, 0.3813910555688D+01, 0.7058598460518D+01, : 0.1706491764745D-09, 0.3004380506684D+00, 0.7113454667900D-02, : 0.1392952362615D-09, 0.1440393973406D+01, 0.7962980379786D+00, : 0.1209868266342D-09, 0.4150425791727D+01, 0.4694002934110D+01 / DATA ((E1(I,J,1),I=1,3),J= 31, 40) / : 0.1009827202611D-09, 0.3290040429843D+01, 0.3738761453707D+01, : 0.1047261388602D-09, 0.4229590090227D+01, 0.6282095334605D+01, : 0.1047006652004D-09, 0.2418967680575D+01, 0.6284056366286D+01, : 0.9609993143095D-10, 0.4627943659201D+01, 0.6069776770667D+01, : 0.9590900593873D-10, 0.1894393939924D+01, 0.4136910472696D+01, : 0.9146249188071D-10, 0.2010647519562D+01, 0.6496374930224D+01, : 0.8545274480290D-10, 0.5529846956226D-01, 0.1194447056968D+01, : 0.8224377881194D-10, 0.1254304102174D+01, 0.1589072916335D+01, : 0.6183529510410D-10, 0.3360862168815D+01, 0.8827390247185D+01, : 0.6259255147141D-10, 0.4755628243179D+01, 0.8429241228195D+01 / DATA ((E1(I,J,1),I=1,3),J= 41, 50) / : 0.5539291694151D-10, 0.5371746955142D+01, 0.4933208510675D+01, : 0.7328259466314D-10, 0.4927699613906D+00, 0.4535059491685D+01, : 0.6017835843560D-10, 0.5776682001734D-01, 0.1255903824622D+02, : 0.7079827775243D-10, 0.4395059432251D+01, 0.5088628793478D+01, : 0.5170358878213D-10, 0.5154062619954D+01, 0.1176985366291D+02, : 0.4872301838682D-10, 0.6289611648973D+00, 0.6040347114260D+01, : 0.5249869411058D-10, 0.5617272046949D+01, 0.3154687086868D+01, : 0.4716172354411D-10, 0.3965901800877D+01, 0.5331357529664D+01, : 0.4871214940964D-10, 0.4627507050093D+01, 0.1256967486051D+02, : 0.4598076850751D-10, 0.6023631226459D+01, 0.6525804586632D+01 / DATA ((E1(I,J,1),I=1,3),J= 51, 60) / : 0.4562196089485D-10, 0.4138562084068D+01, 0.3930209696940D+01, : 0.4325493872224D-10, 0.1330845906564D+01, 0.7632943190217D+01, : 0.5673781176748D-10, 0.2558752615657D+01, 0.5729506548653D+01, : 0.3961436642503D-10, 0.2728071734630D+01, 0.7234794171227D+01, : 0.5101868209058D-10, 0.4113444965144D+01, 0.6836645152238D+01, : 0.5257043167676D-10, 0.6195089830590D+01, 0.8031092209206D+01, : 0.5076613989393D-10, 0.2305124132918D+01, 0.7477522907414D+01, : 0.3342169352778D-10, 0.5415998155071D+01, 0.1097707878456D+02, : 0.3545881983591D-10, 0.3727160564574D+01, 0.4164311961999D+01, : 0.3364063738599D-10, 0.2901121049204D+00, 0.1137170464392D+02 / DATA ((E1(I,J,1),I=1,3),J= 61, 70) / : 0.3357039670776D-10, 0.1652229354331D+01, 0.5223693906222D+01, : 0.4307412268687D-10, 0.4938909587445D+01, 0.1592596075957D+01, : 0.3405769115435D-10, 0.2408890766511D+01, 0.3128388763578D+01, : 0.3001926198480D-10, 0.4862239006386D+01, 0.1748016358760D+01, : 0.2778264787325D-10, 0.5241168661353D+01, 0.7342457794669D+01, : 0.2676159480666D-10, 0.3423593942199D+01, 0.2146165377750D+01, : 0.2954273399939D-10, 0.1881721265406D+01, 0.5368044267797D+00, : 0.3309362888795D-10, 0.1931525677349D+01, 0.8018209333619D+00, : 0.2810283608438D-10, 0.2414659495050D+01, 0.5225775174439D+00, : 0.3378045637764D-10, 0.4238019163430D+01, 0.1554202828031D+00 / DATA ((E1(I,J,1),I=1,3),J= 71,NE1X) / : 0.2558134979840D-10, 0.1828225235805D+01, 0.5230807360890D+01, : 0.2273755578447D-10, 0.5858184283998D+01, 0.7084896783808D+01, : 0.2294176037690D-10, 0.4514589779057D+01, 0.1726015463500D+02, : 0.2533506099435D-10, 0.2355717851551D+01, 0.5216580451554D+01, : 0.2716685375812D-10, 0.2221003625100D+01, 0.8635942003952D+01, : 0.2419043435198D-10, 0.5955704951635D+01, 0.4690479774488D+01, : 0.2521232544812D-10, 0.1395676848521D+01, 0.5481254917084D+01, : 0.2630195021491D-10, 0.5727468918743D+01, 0.2629832328990D-01, : 0.2548395840944D-10, 0.2628351859400D-03, 0.1349867339771D+01 / * Sun-to-Earth, T^2, X DATA ((E2(I,J,1),I=1,3),J= 1,NE2X) / : -0.4143818297913D-10, 0.0000000000000D+00, 0.0000000000000D+00, : 0.2171497694435D-10, 0.4398225628264D+01, 0.1256615170089D+02, : 0.9845398442516D-11, 0.2079720838384D+00, 0.6283075850446D+01, : 0.9256833552682D-12, 0.4191264694361D+01, 0.1884922755134D+02, : 0.1022049384115D-12, 0.5381133195658D+01, 0.8399684731857D+02 / * Sun-to-Earth, T^0, Y DATA ((E0(I,J,2),I=1,3),J= 1, 10) / : 0.9998921098898D+00, 0.1826583913846D+00, 0.6283075850446D+01, : -0.2442700893735D-01, 0.0000000000000D+00, 0.0000000000000D+00, : 0.8352929742915D-02, 0.1395277998680D+00, 0.1256615170089D+02, : 0.1046697300177D-03, 0.9641423109763D-01, 0.1884922755134D+02, : 0.3110841876663D-04, 0.5381140401712D+01, 0.8399684731857D+02, : 0.2570269094593D-04, 0.5301016407128D+01, 0.5296909721118D+00, : 0.2147389623610D-04, 0.2662510869850D+01, 0.1577343543434D+01, : 0.1680344384050D-04, 0.5207904119704D+01, 0.6279552690824D+01, : 0.1679117312193D-04, 0.4582187486968D+01, 0.6286599010068D+01, : 0.1440512068440D-04, 0.1900688517726D+01, 0.2352866153506D+01 / DATA ((E0(I,J,2),I=1,3),J= 11, 20) / : 0.1135139664999D-04, 0.5273108538556D+01, 0.5223693906222D+01, : 0.9345482571018D-05, 0.4503047687738D+01, 0.1203646072878D+02, : 0.9007418719568D-05, 0.1605621059637D+01, 0.1021328554739D+02, : 0.5671536712314D-05, 0.5812849070861D+00, 0.1059381944224D+01, : 0.7451401861666D-05, 0.2807346794836D+01, 0.3981490189893D+00, : 0.6393470057114D-05, 0.6029224133855D+01, 0.5753384878334D+01, : 0.6814275881697D-05, 0.6472990145974D+00, 0.4705732307012D+01, : 0.6113705628887D-05, 0.3813843419700D+01, 0.6812766822558D+01, : 0.4503851367273D-05, 0.4527804370996D+01, 0.5884926831456D+01, : 0.4522249141926D-05, 0.5991783029224D+01, 0.6256777527156D+01 / DATA ((E0(I,J,2),I=1,3),J= 21, 30) / : 0.4501794307018D-05, 0.3798703844397D+01, 0.6309374173736D+01, : 0.5514927480180D-05, 0.3961257833388D+01, 0.5507553240374D+01, : 0.4062862799995D-05, 0.5256247296369D+01, 0.6681224869435D+01, : 0.5414900429712D-05, 0.5499032014097D+01, 0.7755226100720D+00, : 0.5463153987424D-05, 0.6173092454097D+01, 0.1414349524433D+02, : 0.5071611859329D-05, 0.2870244247651D+01, 0.7860419393880D+01, : 0.2195112094455D-05, 0.2952338617201D+01, 0.1150676975667D+02, : 0.2279139233919D-05, 0.5951775132933D+01, 0.7058598460518D+01, : 0.2278386100876D-05, 0.4845456398785D+01, 0.4694002934110D+01, : 0.2559088003308D-05, 0.6945321117311D+00, 0.1216800268190D+02 / DATA ((E0(I,J,2),I=1,3),J= 31, 40) / : 0.2561079286856D-05, 0.6167224608301D+01, 0.7099330490126D+00, : 0.1792755796387D-05, 0.1400122509632D+01, 0.7962980379786D+00, : 0.1818715656502D-05, 0.4703347611830D+01, 0.6283142985870D+01, : 0.1818744924791D-05, 0.5086748900237D+01, 0.6283008715021D+01, : 0.1554518791390D-05, 0.5331008042713D-01, 0.2513230340178D+02, : 0.2063265737239D-05, 0.4283680484178D+01, 0.1179062909082D+02, : 0.1497613520041D-05, 0.6074207826073D+01, 0.5486777812467D+01, : 0.2000617940427D-05, 0.2501426281450D+01, 0.1778984560711D+02, : 0.1289731195580D-05, 0.3646340599536D+01, 0.7079373888424D+01, : 0.1282657998934D-05, 0.3232864804902D+01, 0.3738761453707D+01 / DATA ((E0(I,J,2),I=1,3),J= 41, 50) / : 0.1528915968658D-05, 0.5581433416669D+01, 0.2132990797783D+00, : 0.1187304098432D-05, 0.5453576453694D+01, 0.9437762937313D+01, : 0.7842782928118D-06, 0.2823953922273D+00, 0.8827390247185D+01, : 0.7352892280868D-06, 0.1124369580175D+01, 0.1589072916335D+01, : 0.6570189360797D-06, 0.2089154042840D+01, 0.1176985366291D+02, : 0.6324967590410D-06, 0.6704855581230D+00, 0.6262300422539D+01, : 0.6298289872283D-06, 0.2836414855840D+01, 0.6303851278352D+01, : 0.6476686465855D-06, 0.4852433866467D+00, 0.7113454667900D-02, : 0.8587034651234D-06, 0.1453511005668D+01, 0.1672837615881D+03, : 0.8068948788113D-06, 0.9224087798609D+00, 0.6069776770667D+01 / DATA ((E0(I,J,2),I=1,3),J= 51, 60) / : 0.8353786011661D-06, 0.4631707184895D+01, 0.3340612434717D+01, : 0.6009324532132D-06, 0.1829498827726D+01, 0.4136910472696D+01, : 0.7558158559566D-06, 0.2588596800317D+01, 0.6496374930224D+01, : 0.5809279504503D-06, 0.5516818853476D+00, 0.1097707878456D+02, : 0.5374131950254D-06, 0.6275674734960D+01, 0.1194447056968D+01, : 0.5711160507326D-06, 0.1091905956872D+01, 0.6282095334605D+01, : 0.5710183170746D-06, 0.2415001635090D+01, 0.6284056366286D+01, : 0.5144373590610D-06, 0.6020336443438D+01, 0.6290189305114D+01, : 0.5103108927267D-06, 0.3775634564605D+01, 0.6275962395778D+01, : 0.4960654697891D-06, 0.1073450946756D+01, 0.6127655567643D+01 / DATA ((E0(I,J,2),I=1,3),J= 61, 70) / : 0.4786385689280D-06, 0.2431178012310D+01, 0.6438496133249D+01, : 0.6109911263665D-06, 0.5343356157914D+01, 0.3154687086868D+01, : 0.4839898944024D-06, 0.5830833594047D-01, 0.8018209333619D+00, : 0.4734822623919D-06, 0.4536080134821D+01, 0.3128388763578D+01, : 0.4834741473290D-06, 0.2585090489754D+00, 0.7084896783808D+01, : 0.5134858581156D-06, 0.4213317172603D+01, 0.1235285262111D+02, : 0.5064004264978D-06, 0.4814418806478D+00, 0.1185621865188D+02, : 0.3753476772761D-06, 0.1599953399788D+01, 0.8429241228195D+01, : 0.4935264014283D-06, 0.2157417556873D+01, 0.2544314396739D+01, : 0.3950929600897D-06, 0.3359394184254D+01, 0.5481254917084D+01 / DATA ((E0(I,J,2),I=1,3),J= 71, 80) / : 0.4895849789777D-06, 0.5165704376558D+01, 0.9225539266174D+01, : 0.4215241688886D-06, 0.2065368800993D+01, 0.1726015463500D+02, : 0.3796773731132D-06, 0.1468606346612D+01, 0.4265981595566D+00, : 0.3114178142515D-06, 0.3615638079474D+01, 0.2146165377750D+01, : 0.3260664220838D-06, 0.4417134922435D+01, 0.4164311961999D+01, : 0.3976996123008D-06, 0.4700866883004D+01, 0.5856477690889D+01, : 0.2801459672924D-06, 0.4538902060922D+01, 0.1256967486051D+02, : 0.3638931868861D-06, 0.1334197991475D+01, 0.1807370494127D+02, : 0.2487013269476D-06, 0.3749275558275D+01, 0.2629832328990D-01, : 0.3034165481994D-06, 0.4236622030873D+00, 0.4535059491685D+01 / DATA ((E0(I,J,2),I=1,3),J= 81, 90) / : 0.2676278825586D-06, 0.5970848007811D+01, 0.3930209696940D+01, : 0.2764903818918D-06, 0.5194636754501D+01, 0.1256262854127D+02, : 0.2485149930507D-06, 0.1002434207846D+01, 0.5088628793478D+01, : 0.2199305540941D-06, 0.3066773098403D+01, 0.1255903824622D+02, : 0.2571106500435D-06, 0.7588312459063D+00, 0.1336797263425D+02, : 0.2049751817158D-06, 0.3444977434856D+01, 0.1137170464392D+02, : 0.2599707296297D-06, 0.1873128542205D+01, 0.7143069561767D+02, : 0.1785018072217D-06, 0.5015891306615D+01, 0.1748016358760D+01, : 0.2324833891115D-06, 0.4618271239730D+01, 0.1831953657923D+02, : 0.1709711119545D-06, 0.5300003455669D+01, 0.4933208510675D+01 / DATA ((E0(I,J,2),I=1,3),J= 91,100) / : 0.2107159351716D-06, 0.2229819815115D+01, 0.7477522907414D+01, : 0.1750333080295D-06, 0.6161485880008D+01, 0.1044738781244D+02, : 0.2000598210339D-06, 0.2967357299999D+01, 0.8031092209206D+01, : 0.1380920248681D-06, 0.3027007923917D+01, 0.8635942003952D+01, : 0.1412460470299D-06, 0.6037597163798D+01, 0.2942463415728D+01, : 0.1888459803001D-06, 0.8561476243374D+00, 0.1561374759853D+03, : 0.1788370542585D-06, 0.4869736290209D+01, 0.1592596075957D+01, : 0.1360893296167D-06, 0.3626411886436D+01, 0.1309584267300D+02, : 0.1506846530160D-06, 0.1550975377427D+01, 0.1649636139783D+02, : 0.1800913376176D-06, 0.2075826033190D+01, 0.1729818233119D+02 / DATA ((E0(I,J,2),I=1,3),J=101,110) / : 0.1436261390649D-06, 0.6148876420255D+01, 0.2042657109477D+02, : 0.1220227114151D-06, 0.4382583879906D+01, 0.7632943190217D+01, : 0.1337883603592D-06, 0.2036644327361D+01, 0.1213955354133D+02, : 0.1159326650738D-06, 0.3892276994687D+01, 0.5331357529664D+01, : 0.1352853128569D-06, 0.1447950649744D+01, 0.1673046366289D+02, : 0.1433408296083D-06, 0.4457854692961D+01, 0.7342457794669D+01, : 0.1234701666518D-06, 0.1538818147151D+01, 0.6279485555400D+01, : 0.1234027192007D-06, 0.1968523220760D+01, 0.6286666145492D+01, : 0.1244024091797D-06, 0.5779803499985D+01, 0.1511046609763D+02, : 0.1097934945516D-06, 0.6210975221388D+00, 0.1098880815746D+02 / DATA ((E0(I,J,2),I=1,3),J=111,120) / : 0.1254611329856D-06, 0.2591963807998D+01, 0.1572083878776D+02, : 0.1158247286784D-06, 0.2483612812670D+01, 0.5729506548653D+01, : 0.9039078252960D-07, 0.3857554579796D+01, 0.9623688285163D+01, : 0.9108024978836D-07, 0.5826368512984D+01, 0.7234794171227D+01, : 0.8887068108436D-07, 0.3475694573987D+01, 0.6148010737701D+01, : 0.8632374035438D-07, 0.3059070488983D-01, 0.6418140963190D+01, : 0.7893186992967D-07, 0.1583194837728D+01, 0.2118763888447D+01, : 0.8297650201172D-07, 0.8519770534637D+00, 0.1471231707864D+02, : 0.1019759578988D-06, 0.1319598738732D+00, 0.1349867339771D+01, : 0.1010037696236D-06, 0.9937860115618D+00, 0.6836645152238D+01 / DATA ((E0(I,J,2),I=1,3),J=121,130) / : 0.1047727548266D-06, 0.1382138405399D+01, 0.5999216516294D+01, : 0.7351993881086D-07, 0.3833397851735D+01, 0.6040347114260D+01, : 0.9868771092341D-07, 0.2124913814390D+01, 0.6566935184597D+01, : 0.7007321959390D-07, 0.5946305343763D+01, 0.6525804586632D+01, : 0.6861411679709D-07, 0.4574654977089D+01, 0.7238675589263D+01, : 0.7554519809614D-07, 0.5949232686844D+01, 0.1253985337760D+02, : 0.9541880448335D-07, 0.3495242990564D+01, 0.2122839202813D+02, : 0.7185606722155D-07, 0.4310113471661D+01, 0.6245048154254D+01, : 0.7131360871710D-07, 0.5480309323650D+01, 0.6321103546637D+01, : 0.6651142021039D-07, 0.5411097713654D+01, 0.5327476111629D+01 / DATA ((E0(I,J,2),I=1,3),J=131,140) / : 0.8538618213667D-07, 0.1827849973951D+01, 0.1101510648075D+02, : 0.8634954288044D-07, 0.5443584943349D+01, 0.5643178611111D+01, : 0.7449415051484D-07, 0.2011535459060D+01, 0.5368044267797D+00, : 0.7421047599169D-07, 0.3464562529249D+01, 0.2354323048545D+02, : 0.6140694354424D-07, 0.5657556228815D+01, 0.1296430071988D+02, : 0.6353525143033D-07, 0.3463816593821D+01, 0.1990745094947D+01, : 0.6221964013447D-07, 0.1532259498697D+01, 0.9517183207817D+00, : 0.5852480257244D-07, 0.1375396598875D+01, 0.9555997388169D+00, : 0.6398637498911D-07, 0.2405645801972D+01, 0.2407292145756D+02, : 0.7039744069878D-07, 0.5397541799027D+01, 0.5225775174439D+00 / DATA ((E0(I,J,2),I=1,3),J=141,150) / : 0.6977997694382D-07, 0.4762347105419D+01, 0.1097355562493D+02, : 0.7460629558396D-07, 0.2711944692164D+01, 0.2200391463820D+02, : 0.5376577536101D-07, 0.2352980430239D+01, 0.1431416805965D+02, : 0.7530607893556D-07, 0.1943940180699D+01, 0.1842262939178D+02, : 0.6822928971605D-07, 0.4337651846959D+01, 0.1554202828031D+00, : 0.6220772380094D-07, 0.6716871369278D+00, 0.1845107853235D+02, : 0.6586950799043D-07, 0.2229714460505D+01, 0.5216580451554D+01, : 0.5873800565771D-07, 0.7627013920580D+00, 0.6398972393349D+00, : 0.6264346929745D-07, 0.6202785478961D+00, 0.6277552955062D+01, : 0.6257929115669D-07, 0.2886775596668D+01, 0.6288598745829D+01 / DATA ((E0(I,J,2),I=1,3),J=151,160) / : 0.5343536033409D-07, 0.1977241012051D+01, 0.4690479774488D+01, : 0.5587849781714D-07, 0.1922923484825D+01, 0.1551045220144D+01, : 0.6905100845603D-07, 0.3570757164631D+01, 0.1030928125552D+00, : 0.6178957066649D-07, 0.5197558947765D+01, 0.5230807360890D+01, : 0.6187270224331D-07, 0.8193497368922D+00, 0.5650292065779D+01, : 0.5385664291426D-07, 0.5406336665586D+01, 0.7771377146812D+02, : 0.6329363917926D-07, 0.2837760654536D+01, 0.2608790314060D+02, : 0.4546018761604D-07, 0.2933580297050D+01, 0.5535693017924D+00, : 0.6196091049375D-07, 0.4157871494377D+01, 0.8467247584405D+02, : 0.6159555108218D-07, 0.3211703561703D+01, 0.2394243902548D+03 / DATA ((E0(I,J,2),I=1,3),J=161,170) / : 0.4995340539317D-07, 0.1459098102922D+01, 0.4732030630302D+01, : 0.5457031243572D-07, 0.1430457676136D+01, 0.6179983037890D+01, : 0.4863461418397D-07, 0.2196425916730D+01, 0.9027992316901D+02, : 0.5342947626870D-07, 0.2086612890268D+01, 0.6386168663001D+01, : 0.5674296648439D-07, 0.2760204966535D+01, 0.6915859635113D+01, : 0.4745783120161D-07, 0.4245368971862D+01, 0.6282970628506D+01, : 0.4745676961198D-07, 0.5544725787016D+01, 0.6283181072386D+01, : 0.4049796869973D-07, 0.2213984363586D+01, 0.6254626709878D+01, : 0.4248333596940D-07, 0.8075781952896D+00, 0.7875671926403D+01, : 0.4027178070205D-07, 0.1293268540378D+01, 0.6311524991013D+01 / DATA ((E0(I,J,2),I=1,3),J=171,180) / : 0.4066543943476D-07, 0.3986141175804D+01, 0.3634620989887D+01, : 0.4858863787880D-07, 0.1276112738231D+01, 0.5760498333002D+01, : 0.5277398263530D-07, 0.4916111741527D+01, 0.2515860172507D+02, : 0.4105635656559D-07, 0.1725805864426D+01, 0.6709674010002D+01, : 0.4376781925772D-07, 0.2243642442106D+01, 0.6805653367890D+01, : 0.3235827894693D-07, 0.3614135118271D+01, 0.1066495398892D+01, : 0.3073244740308D-07, 0.2460873393460D+01, 0.5863591145557D+01, : 0.3088609271373D-07, 0.5678431771790D+01, 0.9917696840332D+01, : 0.3393022279836D-07, 0.3814017477291D+01, 0.1391601904066D+02, : 0.3038686508802D-07, 0.4660216229171D+01, 0.1256621883632D+02 / DATA ((E0(I,J,2),I=1,3),J=181,190) / : 0.4019677752497D-07, 0.5906906243735D+01, 0.1334167431096D+02, : 0.3288834998232D-07, 0.9536146445882D+00, 0.1620077269078D+02, : 0.3889973794631D-07, 0.3942205097644D+01, 0.7478166569050D-01, : 0.3050438987141D-07, 0.1624810271286D+01, 0.1805292951336D+02, : 0.3601142564638D-07, 0.4030467142575D+01, 0.6208294184755D+01, : 0.3689015557141D-07, 0.3648878818694D+01, 0.5966683958112D+01, : 0.3563471893565D-07, 0.5749584017096D+01, 0.6357857516136D+01, : 0.2776183170667D-07, 0.2630124187070D+01, 0.3523159621801D-02, : 0.2922350530341D-07, 0.1790346403629D+01, 0.1272157198369D+02, : 0.3511076917302D-07, 0.6142198301611D+01, 0.6599467742779D+01 / DATA ((E0(I,J,2),I=1,3),J=191,200) / : 0.3619351007632D-07, 0.1432421386492D+01, 0.6019991944201D+01, : 0.2561254711098D-07, 0.2302822475792D+01, 0.1259245002418D+02, : 0.2626903942920D-07, 0.8660470994571D+00, 0.6702560555334D+01, : 0.2550187397083D-07, 0.6069721995383D+01, 0.1057540660594D+02, : 0.2535873526138D-07, 0.1079020331795D-01, 0.3141537925223D+02, : 0.3519786153847D-07, 0.3809066902283D+01, 0.2505706758577D+03, : 0.3424651492873D-07, 0.2075435114417D+01, 0.6546159756691D+01, : 0.2372676630861D-07, 0.2057803120154D+01, 0.2388894113936D+01, : 0.2710980779541D-07, 0.1510068488010D+01, 0.1202934727411D+02, : 0.3038710889704D-07, 0.5043617528901D+01, 0.1256608456547D+02 / DATA ((E0(I,J,2),I=1,3),J=201,210) / : 0.2220364130585D-07, 0.3694793218205D+01, 0.1336244973887D+02, : 0.3025880825460D-07, 0.5450618999049D-01, 0.2908881142201D+02, : 0.2784493486864D-07, 0.3381164084502D+01, 0.1494531617769D+02, : 0.2294414142438D-07, 0.4382309025210D+01, 0.6076890225335D+01, : 0.2012723294724D-07, 0.9142212256518D+00, 0.6262720680387D+01, : 0.2036357831958D-07, 0.5676172293154D+01, 0.4701116388778D+01, : 0.2003474823288D-07, 0.2592767977625D+01, 0.6303431020504D+01, : 0.2207144900109D-07, 0.5404976271180D+01, 0.6489261475556D+01, : 0.2481664905135D-07, 0.4373284587027D+01, 0.1204357418345D+02, : 0.2674949182295D-07, 0.5859182188482D+01, 0.4590910121555D+01 / DATA ((E0(I,J,2),I=1,3),J=211,220) / : 0.2450554720322D-07, 0.4555381557451D+01, 0.1495633313810D+00, : 0.2601975986457D-07, 0.3933165584959D+01, 0.1965104848470D+02, : 0.2199860022848D-07, 0.5227977189087D+01, 0.1351787002167D+02, : 0.2448121172316D-07, 0.4858060353949D+01, 0.1162474756779D+01, : 0.1876014864049D-07, 0.5690546553605D+01, 0.6279194432410D+01, : 0.1874513219396D-07, 0.4099539297446D+01, 0.6286957268481D+01, : 0.2156380842559D-07, 0.4382594769913D+00, 0.1813929450232D+02, : 0.1981691240061D-07, 0.1829784152444D+01, 0.4686889479442D+01, : 0.2329992648539D-07, 0.2836254278973D+01, 0.1002183730415D+02, : 0.1765184135302D-07, 0.2803494925833D+01, 0.4292330755499D+01 / DATA ((E0(I,J,2),I=1,3),J=221,230) / : 0.2436368366085D-07, 0.2836897959677D+01, 0.9514313292143D+02, : 0.2164089203889D-07, 0.6127522446024D+01, 0.6037244212485D+01, : 0.1847755034221D-07, 0.3683163635008D+01, 0.2427287361862D+00, : 0.1674798769966D-07, 0.3316993867246D+00, 0.1311972100268D+02, : 0.2222542124356D-07, 0.8294097805480D+00, 0.1266924451345D+02, : 0.2071074505925D-07, 0.3659492220261D+01, 0.6528907488406D+01, : 0.1608224471835D-07, 0.4774492067182D+01, 0.1352175143971D+02, : 0.1857583439071D-07, 0.2873120597682D+01, 0.8662240327241D+01, : 0.1793018836159D-07, 0.5282441177929D+00, 0.6819880277225D+01, : 0.1575391221692D-07, 0.1320789654258D+01, 0.1102062672231D+00 / DATA ((E0(I,J,2),I=1,3),J=231,240) / : 0.1840132009557D-07, 0.1917110916256D+01, 0.6514761976723D+02, : 0.1760917288281D-07, 0.2972635937132D+01, 0.5746271423666D+01, : 0.1561779518516D-07, 0.4372569261981D+01, 0.6272439236156D+01, : 0.1558687885205D-07, 0.5416424926425D+01, 0.6293712464735D+01, : 0.1951359382579D-07, 0.3094448898752D+01, 0.2301353951334D+02, : 0.1569144275614D-07, 0.2802103689808D+01, 0.1765478049437D+02, : 0.1479130389462D-07, 0.2136435020467D+01, 0.2077542790660D-01, : 0.1467828510764D-07, 0.7072627435674D+00, 0.1052268489556D+01, : 0.1627627337440D-07, 0.3947607143237D+01, 0.6327837846670D+00, : 0.1503498479758D-07, 0.4079248909190D+01, 0.7626583626240D-01 / DATA ((E0(I,J,2),I=1,3),J=241,250) / : 0.1297967708237D-07, 0.6269637122840D+01, 0.1149965630200D+02, : 0.1374416896634D-07, 0.4175657970702D+01, 0.6016468784579D+01, : 0.1783812325219D-07, 0.1476540547560D+01, 0.3301902111895D+02, : 0.1525884228756D-07, 0.4653477715241D+01, 0.9411464614024D+01, : 0.1451067396763D-07, 0.2573001128225D+01, 0.1277945078067D+02, : 0.1297713111950D-07, 0.5612799618771D+01, 0.6549682916313D+01, : 0.1462784012820D-07, 0.4189661623870D+01, 0.1863592847156D+02, : 0.1384185980007D-07, 0.2656915472196D+01, 0.2379164476796D+01, : 0.1221497599801D-07, 0.5612515760138D+01, 0.1257326515556D+02, : 0.1560574525896D-07, 0.4783414317919D+01, 0.1887552587463D+02 / DATA ((E0(I,J,2),I=1,3),J=251,260) / : 0.1544598372036D-07, 0.2694431138063D+01, 0.1820933031200D+02, : 0.1531678928696D-07, 0.4105103489666D+01, 0.2593412433514D+02, : 0.1349321503795D-07, 0.3082437194015D+00, 0.5120601093667D+01, : 0.1252030290917D-07, 0.6124072334087D+01, 0.6993008899458D+01, : 0.1459243816687D-07, 0.3733103981697D+01, 0.3813291813120D-01, : 0.1226103625262D-07, 0.1267127706817D+01, 0.2435678079171D+02, : 0.1019449641504D-07, 0.4367790112269D+01, 0.1725663147538D+02, : 0.1380789433607D-07, 0.3387201768700D+01, 0.2458316379602D+00, : 0.1019453421658D-07, 0.9204143073737D+00, 0.6112403035119D+01, : 0.1297929434405D-07, 0.5786874896426D+01, 0.1249137003520D+02 / DATA ((E0(I,J,2),I=1,3),J=261,270) / : 0.9912677786097D-08, 0.3164232870746D+01, 0.6247047890016D+01, : 0.9829386098599D-08, 0.2586762413351D+01, 0.6453748665772D+01, : 0.1226807746104D-07, 0.6239068436607D+01, 0.5429879531333D+01, : 0.1192691755997D-07, 0.1867380051424D+01, 0.6290122169689D+01, : 0.9836499227081D-08, 0.3424716293727D+00, 0.6319103810876D+01, : 0.9642862564285D-08, 0.5661372990657D+01, 0.8273820945392D+01, : 0.1165184404862D-07, 0.5768367239093D+01, 0.1778273215245D+02, : 0.1175794418818D-07, 0.1657351222943D+01, 0.6276029531202D+01, : 0.1018948635601D-07, 0.6458292350865D+00, 0.1254537627298D+02, : 0.9500383606676D-08, 0.1054306140741D+01, 0.1256517118505D+02 / DATA ((E0(I,J,2),I=1,3),J=271,280) / : 0.1227512202906D-07, 0.2505278379114D+01, 0.2248384854122D+02, : 0.9664792009993D-08, 0.4289737277000D+01, 0.6259197520765D+01, : 0.9613285666331D-08, 0.5500597673141D+01, 0.6306954180126D+01, : 0.1117906736211D-07, 0.2361405953468D+01, 0.1779695906178D+02, : 0.9611378640782D-08, 0.2851310576269D+01, 0.2061856251104D+00, : 0.8845354852370D-08, 0.6208777705343D+01, 0.1692165728891D+01, : 0.1054046966600D-07, 0.5413091423934D+01, 0.2204125344462D+00, : 0.1215539124483D-07, 0.5613969479755D+01, 0.8257698122054D+02, : 0.9932460955209D-08, 0.1106124877015D+01, 0.1017725758696D+02, : 0.8785804715043D-08, 0.2869224476477D+01, 0.9491756770005D+00 / DATA ((E0(I,J,2),I=1,3),J=281,290) / : 0.8538084097562D-08, 0.6159640899344D+01, 0.6393282117669D+01, : 0.8648994369529D-08, 0.1374901198784D+01, 0.4804209201333D+01, : 0.1039063219067D-07, 0.5171080641327D+01, 0.1550861511662D+02, : 0.8867983926439D-08, 0.8317320304902D+00, 0.3903911373650D+01, : 0.8327495955244D-08, 0.3605591969180D+01, 0.6172869583223D+01, : 0.9243088356133D-08, 0.6114299196843D+01, 0.6267823317922D+01, : 0.9205657357835D-08, 0.3675153683737D+01, 0.6298328382969D+01, : 0.1033269714606D-07, 0.3313328813024D+01, 0.5573142801433D+01, : 0.8001706275552D-08, 0.2019980960053D+01, 0.2648454860559D+01, : 0.9171858254191D-08, 0.8992015524177D+00, 0.1498544001348D+03 / DATA ((E0(I,J,2),I=1,3),J=291,300) / : 0.1075327150242D-07, 0.2898669963648D+01, 0.3694923081589D+02, : 0.9884866689828D-08, 0.4946715904478D+01, 0.1140367694411D+02, : 0.9541835576677D-08, 0.2371787888469D+01, 0.1256713221673D+02, : 0.7739903376237D-08, 0.2213775190612D+01, 0.7834121070590D+01, : 0.7311962684106D-08, 0.3429378787739D+01, 0.1192625446156D+02, : 0.9724904869624D-08, 0.6195878564404D+01, 0.2280573557157D+02, : 0.9251628983612D-08, 0.6511509527390D+00, 0.2787043132925D+01, : 0.7320763787842D-08, 0.6001083639421D+01, 0.6282655592598D+01, : 0.7320296650962D-08, 0.3789073265087D+01, 0.6283496108294D+01, : 0.7947032271039D-08, 0.1059659582204D+01, 0.1241073141809D+02 / DATA ((E0(I,J,2),I=1,3),J=301,310) / : 0.9005277053115D-08, 0.1280315624361D+01, 0.6281591679874D+01, : 0.8995601652048D-08, 0.2224439106766D+01, 0.6284560021018D+01, : 0.8288040568796D-08, 0.5234914433867D+01, 0.1241658836951D+02, : 0.6359381347255D-08, 0.4137989441490D+01, 0.1596186371003D+01, : 0.8699572228626D-08, 0.1758411009497D+01, 0.6133512519065D+01, : 0.6456797542736D-08, 0.5919285089994D+01, 0.1685848245639D+02, : 0.7424573475452D-08, 0.5414616938827D+01, 0.4061219149443D+01, : 0.7235671196168D-08, 0.1496516557134D+01, 0.1610006857377D+03, : 0.8104015182733D-08, 0.1919918242764D+01, 0.8460828644453D+00, : 0.8098576535937D-08, 0.3819615855458D+01, 0.3894181736510D+01 / DATA ((E0(I,J,2),I=1,3),J=311,320) / : 0.6275292346625D-08, 0.6244264115141D+01, 0.8531963191132D+00, : 0.6052432989112D-08, 0.5037731872610D+00, 0.1567108171867D+02, : 0.5705651535817D-08, 0.2984557271995D+01, 0.1258692712880D+02, : 0.5789650115138D-08, 0.6087038140697D+01, 0.1193336791622D+02, : 0.5512132153377D-08, 0.5855668994076D+01, 0.1232342296471D+02, : 0.7388890819102D-08, 0.2443128574740D+01, 0.4907302013889D+01, : 0.5467593991798D-08, 0.3017561234194D+01, 0.1884211409667D+02, : 0.6388519802999D-08, 0.5887386712935D+01, 0.5217580628120D+02, : 0.6106777149944D-08, 0.3483461059895D+00, 0.1422690933580D-01, : 0.7383420275489D-08, 0.5417387056707D+01, 0.2358125818164D+02 / DATA ((E0(I,J,2),I=1,3),J=321,330) / : 0.5505208141738D-08, 0.2848193644783D+01, 0.1151388321134D+02, : 0.6310757462877D-08, 0.2349882520828D+01, 0.1041998632314D+02, : 0.6166904929691D-08, 0.5728575944077D+00, 0.6151533897323D+01, : 0.5263442042754D-08, 0.4495796125937D+01, 0.1885275071096D+02, : 0.5591828082629D-08, 0.1355441967677D+01, 0.4337116142245D+00, : 0.5397051680497D-08, 0.1673422864307D+01, 0.6286362197481D+01, : 0.5396992745159D-08, 0.1833502206373D+01, 0.6279789503410D+01, : 0.6572913000726D-08, 0.3331122065824D+01, 0.1176433076753D+02, : 0.5123421866413D-08, 0.2165327142679D+01, 0.1245594543367D+02, : 0.5930495725999D-08, 0.2931146089284D+01, 0.6414617803568D+01 / DATA ((E0(I,J,2),I=1,3),J=331,340) / : 0.6431797403933D-08, 0.4134407994088D+01, 0.1350651127443D+00, : 0.5003182207604D-08, 0.3805420303749D+01, 0.1096996532989D+02, : 0.5587731032504D-08, 0.1082469260599D+01, 0.6062663316000D+01, : 0.5935263407816D-08, 0.8384333678401D+00, 0.5326786718777D+01, : 0.4756019827760D-08, 0.3552588749309D+01, 0.3104930017775D+01, : 0.6599951172637D-08, 0.4320826409528D+01, 0.4087944051283D+02, : 0.5902606868464D-08, 0.4811879454445D+01, 0.5849364236221D+01, : 0.5921147809031D-08, 0.9942628922396D-01, 0.1581959461667D+01, : 0.5505382581266D-08, 0.2466557607764D+01, 0.6503488384892D+01, : 0.5353771071862D-08, 0.4551978748683D+01, 0.1735668374386D+03 / DATA ((E0(I,J,2),I=1,3),J=341,350) / : 0.5063282210946D-08, 0.5710812312425D+01, 0.1248988586463D+02, : 0.5926120403383D-08, 0.1333998428358D+01, 0.2673594526851D+02, : 0.5211016176149D-08, 0.4649315360760D+01, 0.2460261242967D+02, : 0.5347075084894D-08, 0.5512754081205D+01, 0.4171425416666D+01, : 0.4872609773574D-08, 0.1308025299938D+01, 0.5333900173445D+01, : 0.4727711321420D-08, 0.2144908368062D+01, 0.7232251527446D+01, : 0.6029426018652D-08, 0.5567259412084D+01, 0.3227113045244D+03, : 0.4321485284369D-08, 0.5230667156451D+01, 0.9388005868221D+01, : 0.4476406760553D-08, 0.6134081115303D+01, 0.5547199253223D+01, : 0.5835268277420D-08, 0.4783808492071D+01, 0.7285056171570D+02 / DATA ((E0(I,J,2),I=1,3),J=351,360) / : 0.5172183602748D-08, 0.5161817911099D+01, 0.1884570439172D+02, : 0.5693571465184D-08, 0.1381646203111D+01, 0.9723862754494D+02, : 0.4060634965349D-08, 0.3876705259495D+00, 0.4274518229222D+01, : 0.3967398770473D-08, 0.5029491776223D+01, 0.3496032717521D+01, : 0.3943754005255D-08, 0.1923162955490D+01, 0.6244942932314D+01, : 0.4781323427824D-08, 0.4633332586423D+01, 0.2929661536378D+02, : 0.3871483781204D-08, 0.1616650009743D+01, 0.6321208768577D+01, : 0.5141741733997D-08, 0.9817316704659D-01, 0.1232032006293D+02, : 0.4002385978497D-08, 0.3656161212139D+01, 0.7018952447668D+01, : 0.4901092604097D-08, 0.4404098713092D+01, 0.1478866649112D+01 / DATA ((E0(I,J,2),I=1,3),J=361,370) / : 0.3740932630345D-08, 0.5181188732639D+00, 0.6922973089781D+01, : 0.4387283718538D-08, 0.3254859566869D+01, 0.2331413144044D+03, : 0.5019197802033D-08, 0.3086773224677D+01, 0.1715706182245D+02, : 0.3834931695175D-08, 0.2797882673542D+01, 0.1491901785440D+02, : 0.3760413942497D-08, 0.2892676280217D+01, 0.1726726808967D+02, : 0.3719717204628D-08, 0.5861046025739D+01, 0.6297302759782D+01, : 0.4145623530149D-08, 0.2168239627033D+01, 0.1376059875786D+02, : 0.3932788425380D-08, 0.6271811124181D+01, 0.7872148766781D+01, : 0.3686377476857D-08, 0.3936853151404D+01, 0.6268848941110D+01, : 0.3779077950339D-08, 0.1404148734043D+01, 0.4157198507331D+01 / DATA ((E0(I,J,2),I=1,3),J=371,380) / : 0.4091334550598D-08, 0.2452436180854D+01, 0.9779108567966D+01, : 0.3926694536146D-08, 0.6102292739040D+01, 0.1098419223922D+02, : 0.4841000253289D-08, 0.6072760457276D+01, 0.1252801878276D+02, : 0.4949340130240D-08, 0.1154832815171D+01, 0.1617106187867D+03, : 0.3761557737360D-08, 0.5527545321897D+01, 0.3185192151914D+01, : 0.3647396268188D-08, 0.1525035688629D+01, 0.6271346477544D+01, : 0.3932405074189D-08, 0.5570681040569D+01, 0.2139354194808D+02, : 0.3631322501141D-08, 0.1981240601160D+01, 0.6294805223347D+01, : 0.4130007425139D-08, 0.2050060880201D+01, 0.2195415756911D+02, : 0.4433905965176D-08, 0.3277477970321D+01, 0.7445550607224D+01 / DATA ((E0(I,J,2),I=1,3),J=381,390) / : 0.3851814176947D-08, 0.5210690074886D+01, 0.9562891316684D+00, : 0.3485807052785D-08, 0.6653274904611D+00, 0.1161697602389D+02, : 0.3979772816991D-08, 0.1767941436148D+01, 0.2277943724828D+02, : 0.3402607460500D-08, 0.3421746306465D+01, 0.1087398597200D+02, : 0.4049993000926D-08, 0.1127144787547D+01, 0.3163918923335D+00, : 0.3420511182382D-08, 0.4214794779161D+01, 0.1362553364512D+02, : 0.3640772365012D-08, 0.5324905497687D+01, 0.1725304118033D+02, : 0.3323037987501D-08, 0.6135761838271D+01, 0.6279143387820D+01, : 0.4503141663637D-08, 0.1802305450666D+01, 0.1385561574497D+01, : 0.4314560055588D-08, 0.4812299731574D+01, 0.4176041334900D+01 / DATA ((E0(I,J,2),I=1,3),J=391,400) / : 0.3294226949110D-08, 0.3657547059723D+01, 0.6287008313071D+01, : 0.3215657197281D-08, 0.4866676894425D+01, 0.5749861718712D+01, : 0.4129362656266D-08, 0.3809342558906D+01, 0.5905702259363D+01, : 0.3137762976388D-08, 0.2494635174443D+01, 0.2099539292909D+02, : 0.3514010952384D-08, 0.2699961831678D+01, 0.7335344340001D+01, : 0.3327607571530D-08, 0.3318457714816D+01, 0.5436992986000D+01, : 0.3541066946675D-08, 0.4382703582466D+01, 0.1234573916645D+02, : 0.3216179847052D-08, 0.5271066317054D+01, 0.3802769619140D-01, : 0.2959045059570D-08, 0.5819591585302D+01, 0.2670964694522D+02, : 0.3884040326665D-08, 0.5980934960428D+01, 0.6660449441528D+01 / DATA ((E0(I,J,2),I=1,3),J=401,410) / : 0.2922027539886D-08, 0.3337290282483D+01, 0.1375773836557D+01, : 0.4110846382042D-08, 0.5742978187327D+01, 0.4480965020977D+02, : 0.2934508411032D-08, 0.2278075804200D+01, 0.6408777551755D+00, : 0.3966896193000D-08, 0.5835747858477D+01, 0.3773735910827D+00, : 0.3286695827610D-08, 0.5838898193902D+01, 0.3932462625300D-02, : 0.3720643094196D-08, 0.1122212337858D+01, 0.1646033343740D+02, : 0.3285508906174D-08, 0.9182250996416D+00, 0.1081813534213D+02, : 0.3753880575973D-08, 0.5174761973266D+01, 0.5642198095270D+01, : 0.3022129385587D-08, 0.3381611020639D+01, 0.2982630633589D+02, : 0.2798569205621D-08, 0.3546193723922D+01, 0.1937891852345D+02 / DATA ((E0(I,J,2),I=1,3),J=411,420) / : 0.3397872070505D-08, 0.4533203197934D+01, 0.6923953605621D+01, : 0.3708099772977D-08, 0.2756168198616D+01, 0.3066615496545D+02, : 0.3599283541510D-08, 0.1934395469918D+01, 0.6147450479709D+01, : 0.3688702753059D-08, 0.7149920971109D+00, 0.2636725487657D+01, : 0.2681084724003D-08, 0.4899819493154D+01, 0.6816289982179D+01, : 0.3495993460759D-08, 0.1572418915115D+01, 0.6418701221183D+01, : 0.3130770324995D-08, 0.8912190180489D+00, 0.1235996607578D+02, : 0.2744353821941D-08, 0.3800821940055D+01, 0.2059724391010D+02, : 0.2842732906341D-08, 0.2644717440029D+01, 0.2828699048865D+02, : 0.3046882682154D-08, 0.3987793020179D+01, 0.6055599646783D+01 / DATA ((E0(I,J,2),I=1,3),J=421,430) / : 0.2399072455143D-08, 0.9908826440764D+00, 0.6255674361143D+01, : 0.2384306274204D-08, 0.2516149752220D+01, 0.6310477339748D+01, : 0.2977324500559D-08, 0.5849195642118D+01, 0.1652265972112D+02, : 0.3062835258972D-08, 0.1681660100162D+01, 0.1172006883645D+02, : 0.3109682589231D-08, 0.5804143987737D+00, 0.2751146787858D+02, : 0.2903920355299D-08, 0.5800768280123D+01, 0.6510552054109D+01, : 0.2823221989212D-08, 0.9241118370216D+00, 0.5469525544182D+01, : 0.3187949696649D-08, 0.3139776445735D+01, 0.1693792562116D+03, : 0.2922559771655D-08, 0.3549440782984D+01, 0.2630839062450D+00, : 0.2436302066603D-08, 0.4735540696319D+01, 0.3946258593675D+00 / DATA ((E0(I,J,2),I=1,3),J=431,440) / : 0.3049473043606D-08, 0.4998289124561D+01, 0.8390110365991D+01, : 0.2863682575784D-08, 0.6709515671102D+00, 0.2243449970715D+00, : 0.2641750517966D-08, 0.5410978257284D+01, 0.2986433403208D+02, : 0.2704093466243D-08, 0.4778317207821D+01, 0.6129297044991D+01, : 0.2445522177011D-08, 0.6009020662222D+01, 0.1171295538178D+02, : 0.2623608810230D-08, 0.5010449777147D+01, 0.6436854655901D+01, : 0.2079259704053D-08, 0.5980943768809D+01, 0.2019909489111D+02, : 0.2820225596771D-08, 0.2679965110468D+01, 0.5934151399930D+01, : 0.2365221950927D-08, 0.1894231148810D+01, 0.2470570524223D+02, : 0.2359682077149D-08, 0.4220752950780D+01, 0.8671969964381D+01 / DATA ((E0(I,J,2),I=1,3),J=441,450) / : 0.2387577137206D-08, 0.2571783940617D+01, 0.7096626156709D+01, : 0.1982102089816D-08, 0.5169765997119D+00, 0.1727188400790D+02, : 0.2687502389925D-08, 0.6239078264579D+01, 0.7075506709219D+02, : 0.2207751669135D-08, 0.2031184412677D+01, 0.4377611041777D+01, : 0.2618370214274D-08, 0.8266079985979D+00, 0.6632000300961D+01, : 0.2591951887361D-08, 0.8819350522008D+00, 0.4873985990671D+02, : 0.2375055656248D-08, 0.3520944177789D+01, 0.1590676413561D+02, : 0.2472019978911D-08, 0.1551431908671D+01, 0.6612329252343D+00, : 0.2368157127199D-08, 0.4178610147412D+01, 0.3459636466239D+02, : 0.1764846605693D-08, 0.1506764000157D+01, 0.1980094587212D+02 / DATA ((E0(I,J,2),I=1,3),J=451,460) / : 0.2291769608798D-08, 0.2118250611782D+01, 0.2844914056730D-01, : 0.2209997316943D-08, 0.3363255261678D+01, 0.2666070658668D+00, : 0.2292699097923D-08, 0.4200423956460D+00, 0.1484170571900D-02, : 0.1629683015329D-08, 0.2331362582487D+01, 0.3035599730800D+02, : 0.2206492862426D-08, 0.3400274026992D+01, 0.6281667977667D+01, : 0.2205746568257D-08, 0.1066051230724D+00, 0.6284483723224D+01, : 0.2026310767991D-08, 0.2779066487979D+01, 0.2449240616245D+02, : 0.1762977622163D-08, 0.9951450691840D+00, 0.2045286941806D+02, : 0.1368535049606D-08, 0.6402447365817D+00, 0.2473415438279D+02, : 0.1720598775450D-08, 0.2303524214705D+00, 0.1679593901136D+03 / DATA ((E0(I,J,2),I=1,3),J=461,470) / : 0.1702429015449D-08, 0.6164622655048D+01, 0.3338575901272D+03, : 0.1414033197685D-08, 0.3954561185580D+01, 0.1624205518357D+03, : 0.1573768958043D-08, 0.2028286308984D+01, 0.3144167757552D+02, : 0.1650705184447D-08, 0.2304040666128D+01, 0.5267006960365D+02, : 0.1651087618855D-08, 0.2538461057280D+01, 0.8956999012000D+02, : 0.1616409518983D-08, 0.5111054348152D+01, 0.3332657872986D+02, : 0.1537175173581D-08, 0.5601130666603D+01, 0.3852657435933D+02, : 0.1593191980553D-08, 0.2614340453411D+01, 0.2282781046519D+03, : 0.1499480170643D-08, 0.3624721577264D+01, 0.2823723341956D+02, : 0.1493807843235D-08, 0.4214569879008D+01, 0.2876692439167D+02 / DATA ((E0(I,J,2),I=1,3),J=471,480) / : 0.1074571199328D-08, 0.1496911744704D+00, 0.8397383534231D+02, : 0.1074406983417D-08, 0.1187817671922D+01, 0.8401985929482D+02, : 0.9757576855851D-09, 0.2655703035858D+01, 0.7826370942180D+02, : 0.1258432887565D-08, 0.4969896184844D+01, 0.3115650189215D+03, : 0.1240336343282D-08, 0.5192460776926D+01, 0.1784300471910D+03, : 0.9016107005164D-09, 0.1960356923057D+01, 0.5886454391678D+02, : 0.1135392360918D-08, 0.5082427809068D+01, 0.7842370451713D+02, : 0.9216046089565D-09, 0.2793775037273D+01, 0.1014262087719D+03, : 0.1061276615030D-08, 0.3726144311409D+01, 0.5660027930059D+02, : 0.1010110596263D-08, 0.7404080708937D+00, 0.4245678405627D+02 / DATA ((E0(I,J,2),I=1,3),J=481,490) / : 0.7217424756199D-09, 0.2697449980577D-01, 0.2457074661053D+03, : 0.6912003846756D-09, 0.4253296276335D+01, 0.1679936946371D+03, : 0.6871814664847D-09, 0.5148072412354D+01, 0.6053048899753D+02, : 0.4887158016343D-09, 0.2153581148294D+01, 0.9656299901946D+02, : 0.5161802866314D-09, 0.3852750634351D+01, 0.2442876000072D+03, : 0.5652599559057D-09, 0.1233233356270D+01, 0.8365903305582D+02, : 0.4710812608586D-09, 0.5610486976767D+01, 0.3164282286739D+03, : 0.4909977500324D-09, 0.1639629524123D+01, 0.4059982187939D+03, : 0.4772641839378D-09, 0.3737100368583D+01, 0.1805255418145D+03, : 0.4487562567153D-09, 0.1158417054478D+00, 0.8433466158131D+02 / DATA ((E0(I,J,2),I=1,3),J=491,500) / : 0.3943441230497D-09, 0.6243502862796D+00, 0.2568537517081D+03, : 0.3952236913598D-09, 0.3510377382385D+01, 0.2449975330562D+03, : 0.3788898363417D-09, 0.5916128302299D+01, 0.1568131045107D+03, : 0.3738329328831D-09, 0.1042266763456D+01, 0.3948519331910D+03, : 0.2451199165151D-09, 0.1166788435700D+01, 0.1435713242844D+03, : 0.2436734402904D-09, 0.3254726114901D+01, 0.2268582385539D+03, : 0.2213605274325D-09, 0.1687210598530D+01, 0.1658638954901D+03, : 0.1491521204829D-09, 0.2657541786794D+01, 0.2219950288015D+03, : 0.1474995329744D-09, 0.5013089805819D+01, 0.3052819430710D+03, : 0.1661939475656D-09, 0.5495315428418D+01, 0.2526661704812D+03 / DATA ((E0(I,J,2),I=1,3),J=501,NE0Y) / : 0.9015946748003D-10, 0.2236989966505D+01, 0.4171445043968D+03 / * Sun-to-Earth, T^1, Y DATA ((E1(I,J,2),I=1,3),J= 1, 10) / : 0.9304690546528D-06, 0.0000000000000D+00, 0.0000000000000D+00, : 0.5150715570663D-06, 0.4431807116294D+01, 0.1256615170089D+02, : 0.1290825411056D-07, 0.4388610039678D+01, 0.1884922755134D+02, : 0.4645466665386D-08, 0.5827263376034D+01, 0.6283075850446D+01, : 0.2079625310718D-08, 0.1621698662282D+00, 0.6279552690824D+01, : 0.2078189850907D-08, 0.3344713435140D+01, 0.6286599010068D+01, : 0.6207190138027D-09, 0.5074049319576D+01, 0.4705732307012D+01, : 0.5989826532569D-09, 0.2231842216620D+01, 0.6256777527156D+01, : 0.5961360812618D-09, 0.1274975769045D+01, 0.6309374173736D+01, : 0.4874165471016D-09, 0.3642277426779D+01, 0.7755226100720D+00 / DATA ((E1(I,J,2),I=1,3),J= 11, 20) / : 0.4283834034360D-09, 0.5148765510106D+01, 0.1059381944224D+01, : 0.4652389287529D-09, 0.4715794792175D+01, 0.7860419393880D+01, : 0.3751707476401D-09, 0.6617207370325D+00, 0.5753384878334D+01, : 0.3559998806198D-09, 0.6155548875404D+01, 0.5884926831456D+01, : 0.3558447558857D-09, 0.2898827297664D+01, 0.6812766822558D+01, : 0.3211116927106D-09, 0.3625813502509D+01, 0.6681224869435D+01, : 0.2875609914672D-09, 0.4345435813134D+01, 0.2513230340178D+02, : 0.2843109704069D-09, 0.5862263940038D+01, 0.6127655567643D+01, : 0.2744676468427D-09, 0.3926419475089D+01, 0.6438496133249D+01, : 0.2481285237789D-09, 0.1351976572828D+01, 0.5486777812467D+01 / DATA ((E1(I,J,2),I=1,3),J= 21, 30) / : 0.2060338481033D-09, 0.2147556998591D+01, 0.7079373888424D+01, : 0.2015822358331D-09, 0.4408358972216D+01, 0.6290189305114D+01, : 0.2001195944195D-09, 0.5385829822531D+01, 0.6275962395778D+01, : 0.1953667642377D-09, 0.1304933746120D+01, 0.5507553240374D+01, : 0.1839744078713D-09, 0.6173567228835D+01, 0.1179062909082D+02, : 0.1643334294845D-09, 0.4635942997523D+01, 0.1150676975667D+02, : 0.1768051018652D-09, 0.5086283558874D+01, 0.7113454667900D-02, : 0.1674874205489D-09, 0.2243332137241D+01, 0.7058598460518D+01, : 0.1421445397609D-09, 0.6186899771515D+01, 0.7962980379786D+00, : 0.1255163958267D-09, 0.5730238465658D+01, 0.4694002934110D+01 / DATA ((E1(I,J,2),I=1,3),J= 31, 40) / : 0.1013945281961D-09, 0.1726055228402D+01, 0.3738761453707D+01, : 0.1047294335852D-09, 0.2658801228129D+01, 0.6282095334605D+01, : 0.1047103879392D-09, 0.8481047835035D+00, 0.6284056366286D+01, : 0.9530343962826D-10, 0.3079267149859D+01, 0.6069776770667D+01, : 0.9604637611690D-10, 0.3258679792918D+00, 0.4136910472696D+01, : 0.9153518537177D-10, 0.4398599886584D+00, 0.6496374930224D+01, : 0.8562458214922D-10, 0.4772686794145D+01, 0.1194447056968D+01, : 0.8232525360654D-10, 0.5966220721679D+01, 0.1589072916335D+01, : 0.6150223411438D-10, 0.1780985591923D+01, 0.8827390247185D+01, : 0.6272087858000D-10, 0.3184305429012D+01, 0.8429241228195D+01 / DATA ((E1(I,J,2),I=1,3),J= 41, 50) / : 0.5540476311040D-10, 0.3801260595433D+01, 0.4933208510675D+01, : 0.7331901699361D-10, 0.5205948591865D+01, 0.4535059491685D+01, : 0.6018528702791D-10, 0.4770139083623D+01, 0.1255903824622D+02, : 0.5150530724804D-10, 0.3574796899585D+01, 0.1176985366291D+02, : 0.6471933741811D-10, 0.2679787266521D+01, 0.5088628793478D+01, : 0.5317460644174D-10, 0.9528763345494D+00, 0.3154687086868D+01, : 0.4832187748783D-10, 0.5329322498232D+01, 0.6040347114260D+01, : 0.4716763555110D-10, 0.2395235316466D+01, 0.5331357529664D+01, : 0.4871509139861D-10, 0.3056663648823D+01, 0.1256967486051D+02, : 0.4598417696768D-10, 0.4452762609019D+01, 0.6525804586632D+01 / DATA ((E1(I,J,2),I=1,3),J= 51, 60) / : 0.5674189533175D-10, 0.9879680872193D+00, 0.5729506548653D+01, : 0.4073560328195D-10, 0.5939127696986D+01, 0.7632943190217D+01, : 0.5040994945359D-10, 0.4549875824510D+01, 0.8031092209206D+01, : 0.5078185134679D-10, 0.7346659893982D+00, 0.7477522907414D+01, : 0.3769343537061D-10, 0.1071317188367D+01, 0.7234794171227D+01, : 0.4980331365299D-10, 0.2500345341784D+01, 0.6836645152238D+01, : 0.3458236594757D-10, 0.3825159450711D+01, 0.1097707878456D+02, : 0.3578859493602D-10, 0.5299664791549D+01, 0.4164311961999D+01, : 0.3370504646419D-10, 0.5002316301593D+01, 0.1137170464392D+02, : 0.3299873338428D-10, 0.2526123275282D+01, 0.3930209696940D+01 / DATA ((E1(I,J,2),I=1,3),J= 61, 70) / : 0.4304917318409D-10, 0.3368078557132D+01, 0.1592596075957D+01, : 0.3402418753455D-10, 0.8385495425800D+00, 0.3128388763578D+01, : 0.2778460572146D-10, 0.3669905203240D+01, 0.7342457794669D+01, : 0.2782710128902D-10, 0.2691664812170D+00, 0.1748016358760D+01, : 0.2711725179646D-10, 0.4707487217718D+01, 0.5296909721118D+00, : 0.2981760946340D-10, 0.3190260867816D+00, 0.5368044267797D+00, : 0.2811672977772D-10, 0.3196532315372D+01, 0.7084896783808D+01, : 0.2863454474467D-10, 0.2263240324780D+00, 0.5223693906222D+01, : 0.3333464634051D-10, 0.3498451685065D+01, 0.8018209333619D+00, : 0.3312991747609D-10, 0.5839154477412D+01, 0.1554202828031D+00 / DATA ((E1(I,J,2),I=1,3),J= 71,NE1Y) / : 0.2813255564006D-10, 0.8268044346621D+00, 0.5225775174439D+00, : 0.2665098083966D-10, 0.3934021725360D+01, 0.5216580451554D+01, : 0.2349795705216D-10, 0.5197620913779D+01, 0.2146165377750D+01, : 0.2330352293961D-10, 0.2984999231807D+01, 0.1726015463500D+02, : 0.2728001683419D-10, 0.6521679638544D+00, 0.8635942003952D+01, : 0.2484061007669D-10, 0.3468955561097D+01, 0.5230807360890D+01, : 0.2646328768427D-10, 0.1013724533516D+01, 0.2629832328990D-01, : 0.2518630264831D-10, 0.6108081057122D+01, 0.5481254917084D+01, : 0.2421901455384D-10, 0.1651097776260D+01, 0.1349867339771D+01, : 0.6348533267831D-11, 0.3220226560321D+01, 0.8433466158131D+02 / * Sun-to-Earth, T^2, Y DATA ((E2(I,J,2),I=1,3),J= 1,NE2Y) / : 0.5063375872532D-10, 0.0000000000000D+00, 0.0000000000000D+00, : 0.2173815785980D-10, 0.2827805833053D+01, 0.1256615170089D+02, : 0.1010231999920D-10, 0.4634612377133D+01, 0.6283075850446D+01, : 0.9259745317636D-12, 0.2620612076189D+01, 0.1884922755134D+02, : 0.1022202095812D-12, 0.3809562326066D+01, 0.8399684731857D+02 / * Sun-to-Earth, T^0, Z DATA ((E0(I,J,3),I=1,3),J= 1, 10) / : 0.2796207639075D-05, 0.3198701560209D+01, 0.8433466158131D+02, : 0.1016042198142D-05, 0.5422360395913D+01, 0.5507553240374D+01, : 0.8044305033647D-06, 0.3880222866652D+01, 0.5223693906222D+01, : 0.4385347909274D-06, 0.3704369937468D+01, 0.2352866153506D+01, : 0.3186156414906D-06, 0.3999639363235D+01, 0.1577343543434D+01, : 0.2272412285792D-06, 0.3984738315952D+01, 0.1047747311755D+01, : 0.1645620103007D-06, 0.3565412516841D+01, 0.5856477690889D+01, : 0.1815836921166D-06, 0.4984507059020D+01, 0.6283075850446D+01, : 0.1447461676364D-06, 0.3702753570108D+01, 0.9437762937313D+01, : 0.1430760876382D-06, 0.3409658712357D+01, 0.1021328554739D+02 / DATA ((E0(I,J,3),I=1,3),J= 11, 20) / : 0.1120445753226D-06, 0.4829561570246D+01, 0.1414349524433D+02, : 0.1090232840797D-06, 0.2080729178066D+01, 0.6812766822558D+01, : 0.9715727346551D-07, 0.3476295881948D+01, 0.4694002934110D+01, : 0.1036267136217D-06, 0.4056639536648D+01, 0.7109288135493D+02, : 0.8752665271340D-07, 0.4448159519911D+01, 0.5753384878334D+01, : 0.8331864956004D-07, 0.4991704044208D+01, 0.7084896783808D+01, : 0.6901658670245D-07, 0.4325358994219D+01, 0.6275962395778D+01, : 0.9144536848998D-07, 0.1141826375363D+01, 0.6620890113188D+01, : 0.7205085037435D-07, 0.3624344170143D+01, 0.5296909721118D+00, : 0.7697874654176D-07, 0.5554257458998D+01, 0.1676215758509D+03 / DATA ((E0(I,J,3),I=1,3),J= 21, 30) / : 0.5197545738384D-07, 0.6251760961735D+01, 0.1807370494127D+02, : 0.5031345378608D-07, 0.2497341091913D+01, 0.4705732307012D+01, : 0.4527110205840D-07, 0.2335079920992D+01, 0.6309374173736D+01, : 0.4753355798089D-07, 0.7094148987474D+00, 0.5884926831456D+01, : 0.4296951977516D-07, 0.1101916352091D+01, 0.6681224869435D+01, : 0.3855341568387D-07, 0.1825495405486D+01, 0.5486777812467D+01, : 0.5253930970990D-07, 0.4424740687208D+01, 0.7860419393880D+01, : 0.4024630496471D-07, 0.5120498157053D+01, 0.1336797263425D+02, : 0.4061069791453D-07, 0.6029771435451D+01, 0.3930209696940D+01, : 0.3797883804205D-07, 0.4435193600836D+00, 0.3154687086868D+01 / DATA ((E0(I,J,3),I=1,3),J= 31, 40) / : 0.2933033225587D-07, 0.5124157356507D+01, 0.1059381944224D+01, : 0.3503000930426D-07, 0.5421830162065D+01, 0.6069776770667D+01, : 0.3670096214050D-07, 0.4582101667297D+01, 0.1219403291462D+02, : 0.2905609437008D-07, 0.1926566420072D+01, 0.1097707878456D+02, : 0.2466827821713D-07, 0.6090174539834D+00, 0.6496374930224D+01, : 0.2691647295332D-07, 0.1393432595077D+01, 0.2200391463820D+02, : 0.2150554667946D-07, 0.4308671715951D+01, 0.5643178611111D+01, : 0.2237481922680D-07, 0.8133968269414D+00, 0.8635942003952D+01, : 0.1817741038157D-07, 0.3755205127454D+01, 0.3340612434717D+01, : 0.2227820762132D-07, 0.2759558596664D+01, 0.1203646072878D+02 / DATA ((E0(I,J,3),I=1,3),J= 41, 50) / : 0.1944713772307D-07, 0.5699645869121D+01, 0.1179062909082D+02, : 0.1527340520662D-07, 0.1986749091746D+01, 0.3981490189893D+00, : 0.1577282574914D-07, 0.3205017217983D+01, 0.5088628793478D+01, : 0.1424738825424D-07, 0.6256747903666D+01, 0.2544314396739D+01, : 0.1616563121701D-07, 0.2601671259394D+00, 0.1729818233119D+02, : 0.1401210391692D-07, 0.4686939173506D+01, 0.7058598460518D+01, : 0.1488726974214D-07, 0.2815862451372D+01, 0.2593412433514D+02, : 0.1692626442388D-07, 0.4956894109797D+01, 0.1564752902480D+03, : 0.1123571582910D-07, 0.2381192697696D+01, 0.3738761453707D+01, : 0.9903308606317D-08, 0.4294851657684D+01, 0.9225539266174D+01 / DATA ((E0(I,J,3),I=1,3),J= 51, 60) / : 0.9174533187191D-08, 0.3075171510642D+01, 0.4164311961999D+01, : 0.8645985631457D-08, 0.5477534821633D+00, 0.8429241228195D+01, : -0.1085876492688D-07, 0.0000000000000D+00, 0.0000000000000D+00, : 0.9264309077815D-08, 0.5968571670097D+01, 0.7079373888424D+01, : 0.8243116984954D-08, 0.1489098777643D+01, 0.1044738781244D+02, : 0.8268102113708D-08, 0.3512977691983D+01, 0.1150676975667D+02, : 0.9043613988227D-08, 0.1290704408221D+00, 0.1101510648075D+02, : 0.7432912038789D-08, 0.1991086893337D+01, 0.2608790314060D+02, : 0.8586233727285D-08, 0.4238357924414D+01, 0.2986433403208D+02, : 0.7612230060131D-08, 0.2911090150166D+01, 0.4732030630302D+01 / DATA ((E0(I,J,3),I=1,3),J= 61, 70) / : 0.7097787751408D-08, 0.1908938392390D+01, 0.8031092209206D+01, : 0.7640237040175D-08, 0.6129219000168D+00, 0.7962980379786D+00, : 0.7070445688081D-08, 0.1380417036651D+01, 0.2146165377750D+01, : 0.7690770957702D-08, 0.1680504249084D+01, 0.2122839202813D+02, : 0.8051292542594D-08, 0.5127423484511D+01, 0.2942463415728D+01, : 0.5902709104515D-08, 0.2020274190917D+01, 0.7755226100720D+00, : 0.5134567496462D-08, 0.2606778676418D+01, 0.1256615170089D+02, : 0.5525802046102D-08, 0.1613011769663D+01, 0.8018209333619D+00, : 0.5880724784221D-08, 0.4604483417236D+01, 0.4690479774488D+01, : 0.5211699081370D-08, 0.5718964114193D+01, 0.8827390247185D+01 / DATA ((E0(I,J,3),I=1,3),J= 71, 80) / : 0.4891849573562D-08, 0.3689658932196D+01, 0.2132990797783D+00, : 0.5150246069997D-08, 0.4099769855122D+01, 0.6480980550449D+02, : 0.5102434319633D-08, 0.5660834602509D+01, 0.3379454372902D+02, : 0.5083405254252D-08, 0.9842221218974D+00, 0.4136910472696D+01, : 0.4206562585682D-08, 0.1341363634163D+00, 0.3128388763578D+01, : 0.4663249683579D-08, 0.8130132735866D+00, 0.5216580451554D+01, : 0.4099474416530D-08, 0.5791497770644D+01, 0.4265981595566D+00, : 0.4628251220767D-08, 0.1249802769331D+01, 0.1572083878776D+02, : 0.5024068728142D-08, 0.4795684802743D+01, 0.6290189305114D+01, : 0.5120234327758D-08, 0.3810420387208D+01, 0.5230807360890D+01 / DATA ((E0(I,J,3),I=1,3),J= 81, 90) / : 0.5524029815280D-08, 0.1029264714351D+01, 0.2397622045175D+03, : 0.4757415718860D-08, 0.3528044781779D+01, 0.1649636139783D+02, : 0.3915786131127D-08, 0.5593889282646D+01, 0.1589072916335D+01, : 0.4869053149991D-08, 0.3299636454433D+01, 0.7632943190217D+01, : 0.3649365703729D-08, 0.1286049002584D+01, 0.6206810014183D+01, : 0.3992493949002D-08, 0.3100307589464D+01, 0.2515860172507D+02, : 0.3320247477418D-08, 0.6212683940807D+01, 0.1216800268190D+02, : 0.3287123739696D-08, 0.4699118445928D+01, 0.7234794171227D+01, : 0.3472776811103D-08, 0.2630507142004D+01, 0.7342457794669D+01, : 0.3423253294767D-08, 0.2946432844305D+01, 0.9623688285163D+01 / DATA ((E0(I,J,3),I=1,3),J= 91,100) / : 0.3896173898244D-08, 0.1224834179264D+01, 0.6438496133249D+01, : 0.3388455337924D-08, 0.1543807616351D+01, 0.1494531617769D+02, : 0.3062704716523D-08, 0.1191777572310D+01, 0.8662240327241D+01, : 0.3270075600400D-08, 0.5483498767737D+01, 0.1194447056968D+01, : 0.3101209215259D-08, 0.8000833804348D+00, 0.3772475342596D+02, : 0.2780883347311D-08, 0.4077980721888D+00, 0.5863591145557D+01, : 0.2903605931824D-08, 0.2617490302147D+01, 0.1965104848470D+02, : 0.2682014743119D-08, 0.2634703158290D+01, 0.7238675589263D+01, : 0.2534360108492D-08, 0.6102446114873D+01, 0.6836645152238D+01, : 0.2392564882509D-08, 0.3681820208691D+01, 0.5849364236221D+01 / DATA ((E0(I,J,3),I=1,3),J=101,110) / : 0.2656667254856D-08, 0.6216045388886D+01, 0.6133512519065D+01, : 0.2331242096773D-08, 0.5864949777744D+01, 0.4535059491685D+01, : 0.2287898363668D-08, 0.4566628532802D+01, 0.7477522907414D+01, : 0.2336944521306D-08, 0.2442722126930D+01, 0.1137170464392D+02, : 0.3156632236269D-08, 0.1626628050682D+01, 0.2509084901204D+03, : 0.2982612402766D-08, 0.2803604512609D+01, 0.1748016358760D+01, : 0.2774031674807D-08, 0.4654002897158D+01, 0.8223916695780D+02, : 0.2295236548638D-08, 0.4326518333253D+01, 0.3378142627421D+00, : 0.2190714699873D-08, 0.4519614578328D+01, 0.2908881142201D+02, : 0.2191495845045D-08, 0.3012626912549D+01, 0.1673046366289D+02 / DATA ((E0(I,J,3),I=1,3),J=111,120) / : 0.2492901628386D-08, 0.1290101424052D+00, 0.1543797956245D+03, : 0.1993778064319D-08, 0.3864046799414D+01, 0.1778984560711D+02, : 0.1898146479022D-08, 0.5053777235891D+01, 0.2042657109477D+02, : 0.1918280127634D-08, 0.2222470192548D+01, 0.4165496312290D+02, : 0.1916351061607D-08, 0.8719067257774D+00, 0.7737595720538D+02, : 0.1834720181466D-08, 0.4031491098040D+01, 0.2358125818164D+02, : 0.1249201523806D-08, 0.5938379466835D+01, 0.3301902111895D+02, : 0.1477304050539D-08, 0.6544722606797D+00, 0.9548094718417D+02, : 0.1264316431249D-08, 0.2059072853236D+01, 0.8399684731857D+02, : 0.1203526495039D-08, 0.3644813532605D+01, 0.4558517281984D+02 / DATA ((E0(I,J,3),I=1,3),J=121,130) / : 0.9221681059831D-09, 0.3241815055602D+01, 0.7805158573086D+02, : 0.7849278367646D-09, 0.5043812342457D+01, 0.5217580628120D+02, : 0.7983392077387D-09, 0.5000024502753D+01, 0.1501922143975D+03, : 0.7925395431654D-09, 0.1398734871821D-01, 0.9061773743175D+02, : 0.7640473285886D-09, 0.5067111723130D+01, 0.4951538251678D+02, : 0.5398937754482D-09, 0.5597382200075D+01, 0.1613385000004D+03, : 0.5626247550193D-09, 0.2601338209422D+01, 0.7318837597844D+02, : 0.5525197197855D-09, 0.5814832109256D+01, 0.1432335100216D+03, : 0.5407629837898D-09, 0.3384820609076D+01, 0.3230491187871D+03, : 0.3856739119801D-09, 0.1072391840473D+01, 0.2334791286671D+03 / DATA ((E0(I,J,3),I=1,3),J=131,NE0Z) / : 0.3856425239987D-09, 0.2369540393327D+01, 0.1739046517013D+03, : 0.4350867755983D-09, 0.5255575751082D+01, 0.1620484330494D+03, : 0.3844113924996D-09, 0.5482356246182D+01, 0.9757644180768D+02, : 0.2854869155431D-09, 0.9573634763143D+00, 0.1697170704744D+03, : 0.1719227671416D-09, 0.1887203025202D+01, 0.2265204242912D+03, : 0.1527846879755D-09, 0.3982183931157D+01, 0.3341954043900D+03, : 0.1128229264847D-09, 0.2787457156298D+01, 0.3119028331842D+03 / * Sun-to-Earth, T^1, Z DATA ((E1(I,J,3),I=1,3),J= 1, 10) / : 0.2278290449966D-05, 0.3413716033863D+01, 0.6283075850446D+01, : 0.5429458209830D-07, 0.0000000000000D+00, 0.0000000000000D+00, : 0.1903240492525D-07, 0.3370592358297D+01, 0.1256615170089D+02, : 0.2385409276743D-09, 0.3327914718416D+01, 0.1884922755134D+02, : 0.8676928342573D-10, 0.1824006811264D+01, 0.5223693906222D+01, : 0.7765442593544D-10, 0.3888564279247D+01, 0.5507553240374D+01, : 0.7066158332715D-10, 0.5194267231944D+01, 0.2352866153506D+01, : 0.7092175288657D-10, 0.2333246960021D+01, 0.8399684731857D+02, : 0.5357582213535D-10, 0.2224031176619D+01, 0.5296909721118D+00, : 0.3828035865021D-10, 0.2156710933584D+01, 0.6279552690824D+01 / DATA ((E1(I,J,3),I=1,3),J= 11,NE1Z) / : 0.3824857220427D-10, 0.1529755219915D+01, 0.6286599010068D+01, : 0.3286995181628D-10, 0.4879512900483D+01, 0.1021328554739D+02 / * Sun-to-Earth, T^2, Z DATA ((E2(I,J,3),I=1,3),J= 1,NE2Z) / : 0.9722666114891D-10, 0.5152219582658D+01, 0.6283075850446D+01, : -0.3494819171909D-11, 0.0000000000000D+00, 0.0000000000000D+00, : 0.6713034376076D-12, 0.6440188750495D+00, 0.1256615170089D+02 / * SSB-to-Sun, T^0, X DATA ((S0(I,J,1),I=1,3),J= 1, 10) / : 0.4956757536410D-02, 0.3741073751789D+01, 0.5296909721118D+00, : 0.2718490072522D-02, 0.4016011511425D+01, 0.2132990797783D+00, : 0.1546493974344D-02, 0.2170528330642D+01, 0.3813291813120D-01, : 0.8366855276341D-03, 0.2339614075294D+01, 0.7478166569050D-01, : 0.2936777942117D-03, 0.0000000000000D+00, 0.0000000000000D+00, : 0.1201317439469D-03, 0.4090736353305D+01, 0.1059381944224D+01, : 0.7578550887230D-04, 0.3241518088140D+01, 0.4265981595566D+00, : 0.1941787367773D-04, 0.1012202064330D+01, 0.2061856251104D+00, : 0.1889227765991D-04, 0.3892520416440D+01, 0.2204125344462D+00, : 0.1937896968613D-04, 0.4797779441161D+01, 0.1495633313810D+00 / DATA ((S0(I,J,1),I=1,3),J= 11, 20) / : 0.1434506110873D-04, 0.3868960697933D+01, 0.5225775174439D+00, : 0.1406659911580D-04, 0.4759766557397D+00, 0.5368044267797D+00, : 0.1179022300202D-04, 0.7774961520598D+00, 0.7626583626240D-01, : 0.8085864460959D-05, 0.3254654471465D+01, 0.3664874755930D-01, : 0.7622752967615D-05, 0.4227633103489D+01, 0.3961708870310D-01, : 0.6209171139066D-05, 0.2791828325711D+00, 0.7329749511860D-01, : 0.4366435633970D-05, 0.4440454875925D+01, 0.1589072916335D+01, : 0.3792124889348D-05, 0.5156393842356D+01, 0.7113454667900D-02, : 0.3154548963402D-05, 0.6157005730093D+01, 0.4194847048887D+00, : 0.3088359882942D-05, 0.2494567553163D+01, 0.6398972393349D+00 / DATA ((S0(I,J,1),I=1,3),J= 21, 30) / : 0.2788440902136D-05, 0.4934318747989D+01, 0.1102062672231D+00, : 0.3039928456376D-05, 0.4895077702640D+01, 0.6283075850446D+01, : 0.2272258457679D-05, 0.5278394064764D+01, 0.1030928125552D+00, : 0.2162007057957D-05, 0.5802978019099D+01, 0.3163918923335D+00, : 0.1767632855737D-05, 0.3415346595193D-01, 0.1021328554739D+02, : 0.1349413459362D-05, 0.2001643230755D+01, 0.1484170571900D-02, : 0.1170141900476D-05, 0.2424750491620D+01, 0.6327837846670D+00, : 0.1054355266820D-05, 0.3123311487576D+01, 0.4337116142245D+00, : 0.9800822461610D-06, 0.3026258088130D+01, 0.1052268489556D+01, : 0.1091203749931D-05, 0.3157811670347D+01, 0.1162474756779D+01 / DATA ((S0(I,J,1),I=1,3),J= 31, 40) / : 0.6960236715913D-06, 0.8219570542313D+00, 0.1066495398892D+01, : 0.5689257296909D-06, 0.1323052375236D+01, 0.9491756770005D+00, : 0.6613172135802D-06, 0.2765348881598D+00, 0.8460828644453D+00, : 0.6277702517571D-06, 0.5794064466382D+01, 0.1480791608091D+00, : 0.6304884066699D-06, 0.7323555380787D+00, 0.2243449970715D+00, : 0.4897850467382D-06, 0.3062464235399D+01, 0.3340612434717D+01, : 0.3759148598786D-06, 0.4588290469664D+01, 0.3516457698740D-01, : 0.3110520548195D-06, 0.1374299536572D+01, 0.6373574839730D-01, : 0.3064708359780D-06, 0.4222267485047D+01, 0.1104591729320D-01, : 0.2856347168241D-06, 0.3714202944973D+01, 0.1510475019529D+00 / DATA ((S0(I,J,1),I=1,3),J= 41, 50) / : 0.2840945514288D-06, 0.2847972875882D+01, 0.4110125927500D-01, : 0.2378951599405D-06, 0.3762072563388D+01, 0.2275259891141D+00, : 0.2714229481417D-06, 0.1036049980031D+01, 0.2535050500000D-01, : 0.2323551717307D-06, 0.4682388599076D+00, 0.8582758298370D-01, : 0.1881790512219D-06, 0.4790565425418D+01, 0.2118763888447D+01, : 0.2261353968371D-06, 0.1669144912212D+01, 0.7181332454670D-01, : 0.2214546389848D-06, 0.3937717281614D+01, 0.2968341143800D-02, : 0.2184915594933D-06, 0.1129169845099D+00, 0.7775000683430D-01, : 0.2000164937936D-06, 0.4030009638488D+01, 0.2093666171530D+00, : 0.1966105136719D-06, 0.8745955786834D+00, 0.2172315424036D+00 / DATA ((S0(I,J,1),I=1,3),J= 51, 60) / : 0.1904742332624D-06, 0.5919743598964D+01, 0.2022531624851D+00, : 0.1657399705031D-06, 0.2549141484884D+01, 0.7358765972222D+00, : 0.1574070533987D-06, 0.5277533020230D+01, 0.7429900518901D+00, : 0.1832261651039D-06, 0.3064688127777D+01, 0.3235053470014D+00, : 0.1733615346569D-06, 0.3011432799094D+01, 0.1385174140878D+00, : 0.1549124014496D-06, 0.4005569132359D+01, 0.5154640627760D+00, : 0.1637044713838D-06, 0.1831375966632D+01, 0.8531963191132D+00, : 0.1123420082383D-06, 0.1180270407578D+01, 0.1990721704425D+00, : 0.1083754165740D-06, 0.3414101320863D+00, 0.5439178814476D+00, : 0.1156638012655D-06, 0.6130479452594D+00, 0.5257585094865D+00 / DATA ((S0(I,J,1),I=1,3),J= 61, 70) / : 0.1142548785134D-06, 0.3724761948846D+01, 0.5336234347371D+00, : 0.7921463895965D-07, 0.2435425589361D+01, 0.1478866649112D+01, : 0.7428600285231D-07, 0.3542144398753D+01, 0.2164800718209D+00, : 0.8323211246747D-07, 0.3525058072354D+01, 0.1692165728891D+01, : 0.7257595116312D-07, 0.1364299431982D+01, 0.2101180877357D+00, : 0.7111185833236D-07, 0.2460478875808D+01, 0.4155522422634D+00, : 0.6868090383716D-07, 0.4397327670704D+01, 0.1173197218910D+00, : 0.7226419974175D-07, 0.4042647308905D+01, 0.1265567569334D+01, : 0.6955642383177D-07, 0.2865047906085D+01, 0.9562891316684D+00, : 0.7492139296331D-07, 0.5014278994215D+01, 0.1422690933580D-01 / DATA ((S0(I,J,1),I=1,3),J= 71, 80) / : 0.6598363128857D-07, 0.2376730020492D+01, 0.6470106940028D+00, : 0.7381147293385D-07, 0.3272990384244D+01, 0.1581959461667D+01, : 0.6402909624032D-07, 0.5302290955138D+01, 0.9597935788730D-01, : 0.6237454263857D-07, 0.5444144425332D+01, 0.7084920306520D-01, : 0.5241198544016D-07, 0.4215359579205D+01, 0.5265099800692D+00, : 0.5144463853918D-07, 0.1218916689916D+00, 0.5328719641544D+00, : 0.5868164772299D-07, 0.2369402002213D+01, 0.7871412831580D-01, : 0.6233195669151D-07, 0.1254922242403D+01, 0.2608790314060D+02, : 0.6068463791422D-07, 0.5679713760431D+01, 0.1114304132498D+00, : 0.4359361135065D-07, 0.6097219641646D+00, 0.1375773836557D+01 / DATA ((S0(I,J,1),I=1,3),J= 81, 90) / : 0.4686510366826D-07, 0.4786231041431D+01, 0.1143987543936D+00, : 0.3758977287225D-07, 0.1167368068139D+01, 0.1596186371003D+01, : 0.4282051974778D-07, 0.1519471064319D+01, 0.2770348281756D+00, : 0.5153765386113D-07, 0.1860532322984D+01, 0.2228608264996D+00, : 0.4575129387188D-07, 0.7632857887158D+00, 0.1465949902372D+00, : 0.3326844933286D-07, 0.1298219485285D+01, 0.5070101000000D-01, : 0.3748617450984D-07, 0.1046510321062D+01, 0.4903339079539D+00, : 0.2816756661499D-07, 0.3434522346190D+01, 0.2991266627620D+00, : 0.3412750405039D-07, 0.2523766270318D+01, 0.3518164938661D+00, : 0.2655796761776D-07, 0.2904422260194D+01, 0.6256703299991D+00 / DATA ((S0(I,J,1),I=1,3),J= 91,100) / : 0.2963597929458D-07, 0.5923900431149D+00, 0.1099462426779D+00, : 0.2539523734781D-07, 0.4851947722567D+01, 0.1256615170089D+02, : 0.2283087914139D-07, 0.3400498595496D+01, 0.6681224869435D+01, : 0.2321309799331D-07, 0.5789099148673D+01, 0.3368040641550D-01, : 0.2549657649750D-07, 0.3991856479792D-01, 0.1169588211447D+01, : 0.2290462303977D-07, 0.2788567577052D+01, 0.1045155034888D+01, : 0.1945398522914D-07, 0.3290896998176D+01, 0.1155361302111D+01, : 0.1849171512638D-07, 0.2698060129367D+01, 0.4452511715700D-02, : 0.1647199834254D-07, 0.3016735644085D+01, 0.4408250688924D+00, : 0.1529530765273D-07, 0.5573043116178D+01, 0.6521991896920D-01 / DATA ((S0(I,J,1),I=1,3),J=101,110) / : 0.1433199339978D-07, 0.1481192356147D+01, 0.9420622223326D+00, : 0.1729134193602D-07, 0.1422817538933D+01, 0.2108507877249D+00, : 0.1716463931346D-07, 0.3469468901855D+01, 0.2157473718317D+00, : 0.1391206061378D-07, 0.6122436220547D+01, 0.4123712502208D+00, : 0.1404746661924D-07, 0.1647765641936D+01, 0.4258542984690D-01, : 0.1410452399455D-07, 0.5989729161964D+01, 0.2258291676434D+00, : 0.1089828772168D-07, 0.2833705509371D+01, 0.4226656969313D+00, : 0.1047374564948D-07, 0.5090690007331D+00, 0.3092784376656D+00, : 0.1358279126532D-07, 0.5128990262836D+01, 0.7923417740620D-01, : 0.1020456476148D-07, 0.9632772880808D+00, 0.1456308687557D+00 / DATA ((S0(I,J,1),I=1,3),J=111,120) / : 0.1033428735328D-07, 0.3223779318418D+01, 0.1795258541446D+01, : 0.1412435841540D-07, 0.2410271572721D+01, 0.1525316725248D+00, : 0.9722759371574D-08, 0.2333531395690D+01, 0.8434341241180D-01, : 0.9657334084704D-08, 0.6199270974168D+01, 0.1272681024002D+01, : 0.1083641148690D-07, 0.2864222292929D+01, 0.7032915397480D-01, : 0.1067318403838D-07, 0.5833458866568D+00, 0.2123349582968D+00, : 0.1062366201976D-07, 0.4307753989494D+01, 0.2142632012598D+00, : 0.1236364149266D-07, 0.2873917870593D+01, 0.1847279083684D+00, : 0.1092759489593D-07, 0.2959887266733D+01, 0.1370332435159D+00, : 0.8912069362899D-08, 0.5141213702562D+01, 0.2648454860559D+01 / DATA ((S0(I,J,1),I=1,3),J=121,130) / : 0.9656467707970D-08, 0.4532182462323D+01, 0.4376440768498D+00, : 0.8098386150135D-08, 0.2268906338379D+01, 0.2880807454688D+00, : 0.7857714675000D-08, 0.4055544260745D+01, 0.2037373330570D+00, : 0.7288455940646D-08, 0.5357901655142D+01, 0.1129145838217D+00, : 0.9450595950552D-08, 0.4264926963939D+01, 0.5272426800584D+00, : 0.9381718247537D-08, 0.7489366976576D-01, 0.5321392641652D+00, : 0.7079052646038D-08, 0.1923311052874D+01, 0.6288513220417D+00, : 0.9259004415344D-08, 0.2970256853438D+01, 0.1606092486742D+00, : 0.8259801499742D-08, 0.3327056314697D+01, 0.8389694097774D+00, : 0.6476334355779D-08, 0.2954925505727D+01, 0.2008557621224D+01 / DATA ((S0(I,J,1),I=1,3),J=131,140) / : 0.5984021492007D-08, 0.9138753105829D+00, 0.2042657109477D+02, : 0.5989546863181D-08, 0.3244464082031D+01, 0.2111650433779D+01, : 0.6233108606023D-08, 0.4995232638403D+00, 0.4305306221819D+00, : 0.6877299149965D-08, 0.2834987233449D+01, 0.9561746721300D-02, : 0.8311234227190D-08, 0.2202951835758D+01, 0.3801276407308D+00, : 0.6599472832414D-08, 0.4478581462618D+01, 0.1063314406849D+01, : 0.6160491096549D-08, 0.5145858696411D+01, 0.1368660381889D+01, : 0.6164772043891D-08, 0.3762976697911D+00, 0.4234171675140D+00, : 0.6363248684450D-08, 0.3162246718685D+01, 0.1253008786510D-01, : 0.6448587520999D-08, 0.3442693302119D+01, 0.5287268506303D+00 / DATA ((S0(I,J,1),I=1,3),J=141,150) / : 0.6431662283977D-08, 0.8977549136606D+00, 0.5306550935933D+00, : 0.6351223158474D-08, 0.4306447410369D+01, 0.5217580628120D+02, : 0.5476721393451D-08, 0.3888529177855D+01, 0.2221856701002D+01, : 0.5341772572619D-08, 0.2655560662512D+01, 0.7466759693650D-01, : 0.5337055758302D-08, 0.5164990735946D+01, 0.7489573444450D-01, : 0.5373120816787D-08, 0.6041214553456D+01, 0.1274714967946D+00, : 0.5392351705426D-08, 0.9177763485932D+00, 0.1055449481598D+01, : 0.6688495850205D-08, 0.3089608126937D+01, 0.2213766559277D+00, : 0.5072003660362D-08, 0.4311316541553D+01, 0.2132517061319D+00, : 0.5070726650455D-08, 0.5790675464444D+00, 0.2133464534247D+00 / DATA ((S0(I,J,1),I=1,3),J=151,160) / : 0.5658012950032D-08, 0.2703945510675D+01, 0.7287631425543D+00, : 0.4835509924854D-08, 0.2975422976065D+01, 0.7160067364790D-01, : 0.6479821978012D-08, 0.1324168733114D+01, 0.2209183458640D-01, : 0.6230636494980D-08, 0.2860103632836D+01, 0.3306188016693D+00, : 0.4649239516213D-08, 0.4832259763403D+01, 0.7796265773310D-01, : 0.6487325792700D-08, 0.2726165825042D+01, 0.3884652414254D+00, : 0.4682823682770D-08, 0.6966602455408D+00, 0.1073608853559D+01, : 0.5704230804976D-08, 0.5669634104606D+01, 0.8731175355560D-01, : 0.6125413585489D-08, 0.1513386538915D+01, 0.7605151500000D-01, : 0.6035825038187D-08, 0.1983509168227D+01, 0.9846002785331D+00 / DATA ((S0(I,J,1),I=1,3),J=161,170) / : 0.4331123462303D-08, 0.2782892992807D+01, 0.4297791515992D+00, : 0.4681107685143D-08, 0.5337232886836D+01, 0.2127790306879D+00, : 0.4669105829655D-08, 0.5837133792160D+01, 0.2138191288687D+00, : 0.5138823602365D-08, 0.3080560200507D+01, 0.7233337363710D-01, : 0.4615856664534D-08, 0.1661747897471D+01, 0.8603097737811D+00, : 0.4496916702197D-08, 0.2112508027068D+01, 0.7381754420900D-01, : 0.4278479042945D-08, 0.5716528462627D+01, 0.7574578717200D-01, : 0.3840525503932D-08, 0.6424172726492D+00, 0.3407705765729D+00, : 0.4866636509685D-08, 0.4919244697715D+01, 0.7722995774390D-01, : 0.3526100639296D-08, 0.2550821052734D+01, 0.6225157782540D-01 / DATA ((S0(I,J,1),I=1,3),J=171,180) / : 0.3939558488075D-08, 0.3939331491710D+01, 0.5268983110410D-01, : 0.4041268772576D-08, 0.2275337571218D+01, 0.3503323232942D+00, : 0.3948761842853D-08, 0.1999324200790D+01, 0.1451108196653D+00, : 0.3258394550029D-08, 0.9121001378200D+00, 0.5296435984654D+00, : 0.3257897048761D-08, 0.3428428660869D+01, 0.5297383457582D+00, : 0.3842559031298D-08, 0.6132927720035D+01, 0.9098186128426D+00, : 0.3109920095448D-08, 0.7693650193003D+00, 0.3932462625300D-02, : 0.3132237775119D-08, 0.3621293854908D+01, 0.2346394437820D+00, : 0.3942189421510D-08, 0.4841863659733D+01, 0.3180992042600D-02, : 0.3796972285340D-08, 0.1814174994268D+01, 0.1862120789403D+00 / DATA ((S0(I,J,1),I=1,3),J=181,190) / : 0.3995640233688D-08, 0.1386990406091D+01, 0.4549093064213D+00, : 0.2875013727414D-08, 0.9178318587177D+00, 0.1905464808669D+01, : 0.3073719932844D-08, 0.2688923811835D+01, 0.3628624111593D+00, : 0.2731016580075D-08, 0.1188259127584D+01, 0.2131850110243D+00, : 0.2729549896546D-08, 0.3702160634273D+01, 0.2134131485323D+00, : 0.3339372892449D-08, 0.7199163960331D+00, 0.2007689919132D+00, : 0.2898833764204D-08, 0.1916709364999D+01, 0.5291709230214D+00, : 0.2894536549362D-08, 0.2424043195547D+01, 0.5302110212022D+00, : 0.3096872473843D-08, 0.4445894977497D+01, 0.2976424921901D+00, : 0.2635672326810D-08, 0.3814366984117D+01, 0.1485980103780D+01 / DATA ((S0(I,J,1),I=1,3),J=191,200) / : 0.3649302697001D-08, 0.2924200596084D+01, 0.6044726378023D+00, : 0.3127954585895D-08, 0.1842251648327D+01, 0.1084620721060D+00, : 0.2616040173947D-08, 0.4155841921984D+01, 0.1258454114666D+01, : 0.2597395859860D-08, 0.1158045978874D+00, 0.2103781122809D+00, : 0.2593286172210D-08, 0.4771850408691D+01, 0.2162200472757D+00, : 0.2481823585747D-08, 0.4608842558889D+00, 0.1062562936266D+01, : 0.2742219550725D-08, 0.1538781127028D+01, 0.5651155736444D+00, : 0.3199558469610D-08, 0.3226647822878D+00, 0.7036329877322D+00, : 0.2666088542957D-08, 0.1967991731219D+00, 0.1400015846597D+00, : 0.2397067430580D-08, 0.3707036669873D+01, 0.2125476091956D+00 / DATA ((S0(I,J,1),I=1,3),J=201,210) / : 0.2376570772738D-08, 0.1182086628042D+01, 0.2140505503610D+00, : 0.2547228007887D-08, 0.4906256820629D+01, 0.1534957940063D+00, : 0.2265575594114D-08, 0.3414949866857D+01, 0.2235935264888D+00, : 0.2464381430585D-08, 0.4599122275378D+01, 0.2091065926078D+00, : 0.2433408527044D-08, 0.2830751145445D+00, 0.2174915669488D+00, : 0.2443605509076D-08, 0.4212046432538D+01, 0.1739420156204D+00, : 0.2319779262465D-08, 0.9881978408630D+00, 0.7530171478090D-01, : 0.2284622835465D-08, 0.5565347331588D+00, 0.7426161660010D-01, : 0.2467268750783D-08, 0.5655708150766D+00, 0.2526561439362D+00, : 0.2808513492782D-08, 0.1418405053408D+01, 0.5636314030725D+00 / DATA ((S0(I,J,1),I=1,3),J=211,NS0X) / : 0.2329528932532D-08, 0.4069557545675D+01, 0.1056200952181D+01, : 0.9698639532817D-09, 0.1074134313634D+01, 0.7826370942180D+02 / * SSB-to-Sun, T^1, X DATA ((S1(I,J,1),I=1,3),J= 1, 10) / : -0.1296310361520D-07, 0.0000000000000D+00, 0.0000000000000D+00, : 0.8975769009438D-08, 0.1128891609250D+01, 0.4265981595566D+00, : 0.7771113441307D-08, 0.2706039877077D+01, 0.2061856251104D+00, : 0.7538303866642D-08, 0.2191281289498D+01, 0.2204125344462D+00, : 0.6061384579336D-08, 0.3248167319958D+01, 0.1059381944224D+01, : 0.5726994235594D-08, 0.5569981398610D+01, 0.5225775174439D+00, : 0.5616492836424D-08, 0.5057386614909D+01, 0.5368044267797D+00, : 0.1010881584769D-08, 0.3473577116095D+01, 0.7113454667900D-02, : 0.7259606157626D-09, 0.3651858593665D+00, 0.6398972393349D+00, : 0.8755095026935D-09, 0.1662835408338D+01, 0.4194847048887D+00 / DATA ((S1(I,J,1),I=1,3),J= 11, 20) / : 0.5370491182812D-09, 0.1327673878077D+01, 0.4337116142245D+00, : 0.5743773887665D-09, 0.4250200846687D+01, 0.2132990797783D+00, : 0.4408103140300D-09, 0.3598752574277D+01, 0.1589072916335D+01, : 0.3101892374445D-09, 0.4887822983319D+01, 0.1052268489556D+01, : 0.3209453713578D-09, 0.9702272295114D+00, 0.5296909721118D+00, : 0.3017228286064D-09, 0.5484462275949D+01, 0.1066495398892D+01, : 0.3200700038601D-09, 0.2846613338643D+01, 0.1495633313810D+00, : 0.2137637279911D-09, 0.5692163292729D+00, 0.3163918923335D+00, : 0.1899686386727D-09, 0.2061077157189D+01, 0.2275259891141D+00, : 0.1401994545308D-09, 0.4177771136967D+01, 0.1102062672231D+00 / DATA ((S1(I,J,1),I=1,3),J= 21, 30) / : 0.1578057810499D-09, 0.5782460597335D+01, 0.7626583626240D-01, : 0.1237713253351D-09, 0.5705900866881D+01, 0.5154640627760D+00, : 0.1313076837395D-09, 0.5163438179576D+01, 0.3664874755930D-01, : 0.1184963304860D-09, 0.3054804427242D+01, 0.6327837846670D+00, : 0.1238130878565D-09, 0.2317292575962D+01, 0.3961708870310D-01, : 0.1015959527736D-09, 0.2194643645526D+01, 0.7329749511860D-01, : 0.9017954423714D-10, 0.2868603545435D+01, 0.1990721704425D+00, : 0.8668024955603D-10, 0.4923849675082D+01, 0.5439178814476D+00, : 0.7756083930103D-10, 0.3014334135200D+01, 0.9491756770005D+00, : 0.7536503401741D-10, 0.2704886279769D+01, 0.1030928125552D+00 / DATA ((S1(I,J,1),I=1,3),J= 31, 40) / : 0.5483308679332D-10, 0.6010983673799D+01, 0.8531963191132D+00, : 0.5184339620428D-10, 0.1952704573291D+01, 0.2093666171530D+00, : 0.5108658712030D-10, 0.2958575786649D+01, 0.2172315424036D+00, : 0.5019424524650D-10, 0.1736317621318D+01, 0.2164800718209D+00, : 0.4909312625978D-10, 0.3167216416257D+01, 0.2101180877357D+00, : 0.4456638901107D-10, 0.7697579923471D+00, 0.3235053470014D+00, : 0.4227030350925D-10, 0.3490910137928D+01, 0.6373574839730D-01, : 0.4095456040093D-10, 0.5178888984491D+00, 0.6470106940028D+00, : 0.4990537041422D-10, 0.3323887668974D+01, 0.1422690933580D-01, : 0.4321170010845D-10, 0.4288484987118D+01, 0.7358765972222D+00 / DATA ((S1(I,J,1),I=1,3),J= 41,NS1X) / : 0.3544072091802D-10, 0.6021051579251D+01, 0.5265099800692D+00, : 0.3480198638687D-10, 0.4600027054714D+01, 0.5328719641544D+00, : 0.3440287244435D-10, 0.4349525970742D+01, 0.8582758298370D-01, : 0.3330628322713D-10, 0.2347391505082D+01, 0.1104591729320D-01, : 0.2973060707184D-10, 0.4789409286400D+01, 0.5257585094865D+00, : 0.2932606766089D-10, 0.5831693799927D+01, 0.5336234347371D+00, : 0.2876972310953D-10, 0.2692638514771D+01, 0.1173197218910D+00, : 0.2827488278556D-10, 0.2056052487960D+01, 0.2022531624851D+00, : 0.2515028239756D-10, 0.7411863262449D+00, 0.9597935788730D-01, : 0.2853033744415D-10, 0.3948481024894D+01, 0.2118763888447D+01 / * SSB-to-Sun, T^2, X DATA ((S2(I,J,1),I=1,3),J= 1,NS2X) / : 0.1603551636587D-11, 0.4404109410481D+01, 0.2061856251104D+00, : 0.1556935889384D-11, 0.4818040873603D+00, 0.2204125344462D+00, : 0.1182594414915D-11, 0.9935762734472D+00, 0.5225775174439D+00, : 0.1158794583180D-11, 0.3353180966450D+01, 0.5368044267797D+00, : 0.9597358943932D-12, 0.5567045358298D+01, 0.2132990797783D+00, : 0.6511516579605D-12, 0.5630872420788D+01, 0.4265981595566D+00, : 0.7419792747688D-12, 0.2156188581957D+01, 0.5296909721118D+00, : 0.3951972655848D-12, 0.1981022541805D+01, 0.1059381944224D+01, : 0.4478223877045D-12, 0.0000000000000D+00, 0.0000000000000D+00 / * SSB-to-Sun, T^0, Y DATA ((S0(I,J,2),I=1,3),J= 1, 10) / : 0.4955392320126D-02, 0.2170467313679D+01, 0.5296909721118D+00, : 0.2722325167392D-02, 0.2444433682196D+01, 0.2132990797783D+00, : 0.1546579925346D-02, 0.5992779281546D+00, 0.3813291813120D-01, : 0.8363140252966D-03, 0.7687356310801D+00, 0.7478166569050D-01, : 0.3385792683603D-03, 0.0000000000000D+00, 0.0000000000000D+00, : 0.1201192221613D-03, 0.2520035601514D+01, 0.1059381944224D+01, : 0.7587125720554D-04, 0.1669954006449D+01, 0.4265981595566D+00, : 0.1964155361250D-04, 0.5707743963343D+01, 0.2061856251104D+00, : 0.1891900364909D-04, 0.2320960679937D+01, 0.2204125344462D+00, : 0.1937373433356D-04, 0.3226940689555D+01, 0.1495633313810D+00 / DATA ((S0(I,J,2),I=1,3),J= 11, 20) / : 0.1437139941351D-04, 0.2301626908096D+01, 0.5225775174439D+00, : 0.1406267683099D-04, 0.5188579265542D+01, 0.5368044267797D+00, : 0.1178703080346D-04, 0.5489483248476D+01, 0.7626583626240D-01, : 0.8079835186041D-05, 0.1683751835264D+01, 0.3664874755930D-01, : 0.7623253594652D-05, 0.2656400462961D+01, 0.3961708870310D-01, : 0.6248667483971D-05, 0.4992775362055D+01, 0.7329749511860D-01, : 0.4366353695038D-05, 0.2869706279678D+01, 0.1589072916335D+01, : 0.3829101568895D-05, 0.3572131359950D+01, 0.7113454667900D-02, : 0.3175733773908D-05, 0.4535372530045D+01, 0.4194847048887D+00, : 0.3092437902159D-05, 0.9230153317909D+00, 0.6398972393349D+00 / DATA ((S0(I,J,2),I=1,3),J= 21, 30) / : 0.2874168812154D-05, 0.3363143761101D+01, 0.1102062672231D+00, : 0.3040119321826D-05, 0.3324250895675D+01, 0.6283075850446D+01, : 0.2699723308006D-05, 0.2917882441928D+00, 0.1030928125552D+00, : 0.2134832683534D-05, 0.4220997202487D+01, 0.3163918923335D+00, : 0.1770412139433D-05, 0.4747318496462D+01, 0.1021328554739D+02, : 0.1377264209373D-05, 0.4305058462401D+00, 0.1484170571900D-02, : 0.1127814538960D-05, 0.8538177240740D+00, 0.6327837846670D+00, : 0.1055608090130D-05, 0.1551800742580D+01, 0.4337116142245D+00, : 0.9802673861420D-06, 0.1459646735377D+01, 0.1052268489556D+01, : 0.1090329461951D-05, 0.1587351228711D+01, 0.1162474756779D+01 / DATA ((S0(I,J,2),I=1,3),J= 31, 40) / : 0.6959590025090D-06, 0.5534442628766D+01, 0.1066495398892D+01, : 0.5664914529542D-06, 0.6030673003297D+01, 0.9491756770005D+00, : 0.6607787763599D-06, 0.4989507233927D+01, 0.8460828644453D+00, : 0.6269725742838D-06, 0.4222951804572D+01, 0.1480791608091D+00, : 0.6301889697863D-06, 0.5444316669126D+01, 0.2243449970715D+00, : 0.4891042662861D-06, 0.1490552839784D+01, 0.3340612434717D+01, : 0.3457083123290D-06, 0.3030475486049D+01, 0.3516457698740D-01, : 0.3032559967314D-06, 0.2652038793632D+01, 0.1104591729320D-01, : 0.2841133988903D-06, 0.1276744786829D+01, 0.4110125927500D-01, : 0.2855564444432D-06, 0.2143368674733D+01, 0.1510475019529D+00 / DATA ((S0(I,J,2),I=1,3),J= 41, 50) / : 0.2765157135038D-06, 0.5444186109077D+01, 0.6373574839730D-01, : 0.2382312465034D-06, 0.2190521137593D+01, 0.2275259891141D+00, : 0.2808060365077D-06, 0.5735195064841D+01, 0.2535050500000D-01, : 0.2332175234405D-06, 0.9481985524859D-01, 0.7181332454670D-01, : 0.2322488199659D-06, 0.5180499361533D+01, 0.8582758298370D-01, : 0.1881850258423D-06, 0.3219788273885D+01, 0.2118763888447D+01, : 0.2196111392808D-06, 0.2366941159761D+01, 0.2968341143800D-02, : 0.2183810335519D-06, 0.4825445110915D+01, 0.7775000683430D-01, : 0.2002733093326D-06, 0.2457148995307D+01, 0.2093666171530D+00, : 0.1967111767229D-06, 0.5586291545459D+01, 0.2172315424036D+00 / DATA ((S0(I,J,2),I=1,3),J= 51, 60) / : 0.1568473250543D-06, 0.3708003123320D+01, 0.7429900518901D+00, : 0.1852528314300D-06, 0.4310638151560D+01, 0.2022531624851D+00, : 0.1832111226447D-06, 0.1494665322656D+01, 0.3235053470014D+00, : 0.1746805502310D-06, 0.1451378500784D+01, 0.1385174140878D+00, : 0.1555730966650D-06, 0.1068040418198D+01, 0.7358765972222D+00, : 0.1554883462559D-06, 0.2442579035461D+01, 0.5154640627760D+00, : 0.1638380568746D-06, 0.2597913420625D+00, 0.8531963191132D+00, : 0.1159938593640D-06, 0.5834512021280D+01, 0.1990721704425D+00, : 0.1083427965695D-06, 0.5054033177950D+01, 0.5439178814476D+00, : 0.1156480369431D-06, 0.5325677432457D+01, 0.5257585094865D+00 / DATA ((S0(I,J,2),I=1,3),J= 61, 70) / : 0.1141308860095D-06, 0.2153403923857D+01, 0.5336234347371D+00, : 0.7913146470946D-07, 0.8642846847027D+00, 0.1478866649112D+01, : 0.7439752463733D-07, 0.1970628496213D+01, 0.2164800718209D+00, : 0.7280277104079D-07, 0.6073307250609D+01, 0.2101180877357D+00, : 0.8319567719136D-07, 0.1954371928334D+01, 0.1692165728891D+01, : 0.7137705549290D-07, 0.8904989440909D+00, 0.4155522422634D+00, : 0.6900825396225D-07, 0.2825717714977D+01, 0.1173197218910D+00, : 0.7245757216635D-07, 0.2481677513331D+01, 0.1265567569334D+01, : 0.6961165696255D-07, 0.1292955312978D+01, 0.9562891316684D+00, : 0.7571804456890D-07, 0.3427517575069D+01, 0.1422690933580D-01 / DATA ((S0(I,J,2),I=1,3),J= 71, 80) / : 0.6605425721904D-07, 0.8052192701492D+00, 0.6470106940028D+00, : 0.7375477357248D-07, 0.1705076390088D+01, 0.1581959461667D+01, : 0.7041664951470D-07, 0.4848356967891D+00, 0.9597935788730D-01, : 0.6322199535763D-07, 0.3878069473909D+01, 0.7084920306520D-01, : 0.5244380279191D-07, 0.2645560544125D+01, 0.5265099800692D+00, : 0.5143125704988D-07, 0.4834486101370D+01, 0.5328719641544D+00, : 0.5871866319373D-07, 0.7981472548900D+00, 0.7871412831580D-01, : 0.6300822573871D-07, 0.5979398788281D+01, 0.2608790314060D+02, : 0.6062154271548D-07, 0.4108655402756D+01, 0.1114304132498D+00, : 0.4361912339976D-07, 0.5322624319280D+01, 0.1375773836557D+01 / DATA ((S0(I,J,2),I=1,3),J= 81, 90) / : 0.4417005920067D-07, 0.6240817359284D+01, 0.2770348281756D+00, : 0.4686806749936D-07, 0.3214977301156D+01, 0.1143987543936D+00, : 0.3758892132305D-07, 0.5879809634765D+01, 0.1596186371003D+01, : 0.5151351332319D-07, 0.2893377688007D+00, 0.2228608264996D+00, : 0.4554683578572D-07, 0.5475427144122D+01, 0.1465949902372D+00, : 0.3442381385338D-07, 0.5992034796640D+01, 0.5070101000000D-01, : 0.2831093954933D-07, 0.5367350273914D+01, 0.3092784376656D+00, : 0.3756267090084D-07, 0.5758171285420D+01, 0.4903339079539D+00, : 0.2816374679892D-07, 0.1863718700923D+01, 0.2991266627620D+00, : 0.3419307025569D-07, 0.9524347534130D+00, 0.3518164938661D+00 / DATA ((S0(I,J,2),I=1,3),J= 91,100) / : 0.2904250494239D-07, 0.5304471615602D+01, 0.1099462426779D+00, : 0.2471734511206D-07, 0.1297069793530D+01, 0.6256703299991D+00, : 0.2539620831872D-07, 0.3281126083375D+01, 0.1256615170089D+02, : 0.2281017868007D-07, 0.1829122133165D+01, 0.6681224869435D+01, : 0.2275319473335D-07, 0.5797198160181D+01, 0.3932462625300D-02, : 0.2547755368442D-07, 0.4752697708330D+01, 0.1169588211447D+01, : 0.2285979669317D-07, 0.1223205292886D+01, 0.1045155034888D+01, : 0.1913386560994D-07, 0.1757532993389D+01, 0.1155361302111D+01, : 0.1809020525147D-07, 0.4246116108791D+01, 0.3368040641550D-01, : 0.1649213300201D-07, 0.1445162890627D+01, 0.4408250688924D+00 / DATA ((S0(I,J,2),I=1,3),J=101,110) / : 0.1834972793932D-07, 0.1126917567225D+01, 0.4452511715700D-02, : 0.1439550648138D-07, 0.6160756834764D+01, 0.9420622223326D+00, : 0.1487645457041D-07, 0.4358761931792D+01, 0.4123712502208D+00, : 0.1731729516660D-07, 0.6134456753344D+01, 0.2108507877249D+00, : 0.1717747163567D-07, 0.1898186084455D+01, 0.2157473718317D+00, : 0.1418190430374D-07, 0.4180286741266D+01, 0.6521991896920D-01, : 0.1404844134873D-07, 0.7654053565412D-01, 0.4258542984690D-01, : 0.1409842846538D-07, 0.4418612420312D+01, 0.2258291676434D+00, : 0.1090948346291D-07, 0.1260615686131D+01, 0.4226656969313D+00, : 0.1357577323612D-07, 0.3558248818690D+01, 0.7923417740620D-01 / DATA ((S0(I,J,2),I=1,3),J=111,120) / : 0.1018154061960D-07, 0.5676087241256D+01, 0.1456308687557D+00, : 0.1412073972109D-07, 0.8394392632422D+00, 0.1525316725248D+00, : 0.1030938326496D-07, 0.1653593274064D+01, 0.1795258541446D+01, : 0.1180081567104D-07, 0.1285802592036D+01, 0.7032915397480D-01, : 0.9708510575650D-08, 0.7631889488106D+00, 0.8434341241180D-01, : 0.9637689663447D-08, 0.4630642649176D+01, 0.1272681024002D+01, : 0.1068910429389D-07, 0.5294934032165D+01, 0.2123349582968D+00, : 0.1063716179336D-07, 0.2736266800832D+01, 0.2142632012598D+00, : 0.1234858713814D-07, 0.1302891146570D+01, 0.1847279083684D+00, : 0.8912631189738D-08, 0.3570415993621D+01, 0.2648454860559D+01 / DATA ((S0(I,J,2),I=1,3),J=121,130) / : 0.1036378285534D-07, 0.4236693440949D+01, 0.1370332435159D+00, : 0.9667798501561D-08, 0.2960768892398D+01, 0.4376440768498D+00, : 0.8108314201902D-08, 0.6987781646841D+00, 0.2880807454688D+00, : 0.7648364324628D-08, 0.2499017863863D+01, 0.2037373330570D+00, : 0.7286136828406D-08, 0.3787426951665D+01, 0.1129145838217D+00, : 0.9448237743913D-08, 0.2694354332983D+01, 0.5272426800584D+00, : 0.9374276106428D-08, 0.4787121277064D+01, 0.5321392641652D+00, : 0.7100226287462D-08, 0.3530238792101D+00, 0.6288513220417D+00, : 0.9253056659571D-08, 0.1399478925664D+01, 0.1606092486742D+00, : 0.6636432145504D-08, 0.3479575438447D+01, 0.1368660381889D+01 / DATA ((S0(I,J,2),I=1,3),J=131,140) / : 0.6469975312932D-08, 0.1383669964800D+01, 0.2008557621224D+01, : 0.7335849729765D-08, 0.1243698166898D+01, 0.9561746721300D-02, : 0.8743421205855D-08, 0.3776164289301D+01, 0.3801276407308D+00, : 0.5993635744494D-08, 0.5627122113596D+01, 0.2042657109477D+02, : 0.5981008479693D-08, 0.1674336636752D+01, 0.2111650433779D+01, : 0.6188535145838D-08, 0.5214925208672D+01, 0.4305306221819D+00, : 0.6596074017566D-08, 0.2907653268124D+01, 0.1063314406849D+01, : 0.6630815126226D-08, 0.2127643669658D+01, 0.8389694097774D+00, : 0.6156772830040D-08, 0.5082160803295D+01, 0.4234171675140D+00, : 0.6446960563014D-08, 0.1872100916905D+01, 0.5287268506303D+00 / DATA ((S0(I,J,2),I=1,3),J=141,150) / : 0.6429324424668D-08, 0.5610276103577D+01, 0.5306550935933D+00, : 0.6302232396465D-08, 0.1592152049607D+01, 0.1253008786510D-01, : 0.6399244436159D-08, 0.2746214421532D+01, 0.5217580628120D+02, : 0.5474965172558D-08, 0.2317666374383D+01, 0.2221856701002D+01, : 0.5339293190692D-08, 0.1084724961156D+01, 0.7466759693650D-01, : 0.5334733683389D-08, 0.3594106067745D+01, 0.7489573444450D-01, : 0.5392665782110D-08, 0.5630254365606D+01, 0.1055449481598D+01, : 0.6682075673789D-08, 0.1518480041732D+01, 0.2213766559277D+00, : 0.5079130495960D-08, 0.2739765115711D+01, 0.2132517061319D+00, : 0.5077759793261D-08, 0.5290711290094D+01, 0.2133464534247D+00 / DATA ((S0(I,J,2),I=1,3),J=151,160) / : 0.4832037368310D-08, 0.1404473217200D+01, 0.7160067364790D-01, : 0.6463279674802D-08, 0.6038381695210D+01, 0.2209183458640D-01, : 0.6240592771560D-08, 0.1290170653666D+01, 0.3306188016693D+00, : 0.4672013521493D-08, 0.3261895939677D+01, 0.7796265773310D-01, : 0.6500650750348D-08, 0.1154522312095D+01, 0.3884652414254D+00, : 0.6344161389053D-08, 0.6206111545062D+01, 0.7605151500000D-01, : 0.4682518370646D-08, 0.5409118796685D+01, 0.1073608853559D+01, : 0.5329460015591D-08, 0.1202985784864D+01, 0.7287631425543D+00, : 0.5701588675898D-08, 0.4098715257064D+01, 0.8731175355560D-01, : 0.6030690867211D-08, 0.4132033218460D+00, 0.9846002785331D+00 / DATA ((S0(I,J,2),I=1,3),J=161,170) / : 0.4336256312655D-08, 0.1211415991827D+01, 0.4297791515992D+00, : 0.4688498808975D-08, 0.3765479072409D+01, 0.2127790306879D+00, : 0.4675578609335D-08, 0.4265540037226D+01, 0.2138191288687D+00, : 0.4225578112158D-08, 0.5237566010676D+01, 0.3407705765729D+00, : 0.5139422230028D-08, 0.1507173079513D+01, 0.7233337363710D-01, : 0.4619995093571D-08, 0.9023957449848D-01, 0.8603097737811D+00, : 0.4494776255461D-08, 0.5414930552139D+00, 0.7381754420900D-01, : 0.4274026276788D-08, 0.4145735303659D+01, 0.7574578717200D-01, : 0.5018141789353D-08, 0.3344408829055D+01, 0.3180992042600D-02, : 0.4866163952181D-08, 0.3348534657607D+01, 0.7722995774390D-01 / DATA ((S0(I,J,2),I=1,3),J=171,180) / : 0.4111986020501D-08, 0.4198823597220D+00, 0.1451108196653D+00, : 0.3356142784950D-08, 0.5609144747180D+01, 0.1274714967946D+00, : 0.4070575554551D-08, 0.7028411059224D+00, 0.3503323232942D+00, : 0.3257451857278D-08, 0.5624697983086D+01, 0.5296435984654D+00, : 0.3256973703026D-08, 0.1857842076707D+01, 0.5297383457582D+00, : 0.3830771508640D-08, 0.4562887279931D+01, 0.9098186128426D+00, : 0.3725024005962D-08, 0.2358058692652D+00, 0.1084620721060D+00, : 0.3136763921756D-08, 0.2049731526845D+01, 0.2346394437820D+00, : 0.3795147256194D-08, 0.2432356296933D+00, 0.1862120789403D+00, : 0.2877342229911D-08, 0.5631101279387D+01, 0.1905464808669D+01 / DATA ((S0(I,J,2),I=1,3),J=181,190) / : 0.3076931798805D-08, 0.1117615737392D+01, 0.3628624111593D+00, : 0.2734765945273D-08, 0.5899826516955D+01, 0.2131850110243D+00, : 0.2733405296885D-08, 0.2130562964070D+01, 0.2134131485323D+00, : 0.2898552353410D-08, 0.3462387048225D+00, 0.5291709230214D+00, : 0.2893736103681D-08, 0.8534352781543D+00, 0.5302110212022D+00, : 0.3095717734137D-08, 0.2875061429041D+01, 0.2976424921901D+00, : 0.2636190425832D-08, 0.2242512846659D+01, 0.1485980103780D+01, : 0.3645512095537D-08, 0.1354016903958D+01, 0.6044726378023D+00, : 0.2808173547723D-08, 0.6705114365631D-01, 0.6225157782540D-01, : 0.2625012866888D-08, 0.4775705748482D+01, 0.5268983110410D-01 / DATA ((S0(I,J,2),I=1,3),J=191,200) / : 0.2572233995651D-08, 0.2638924216139D+01, 0.1258454114666D+01, : 0.2604238824792D-08, 0.4826358927373D+01, 0.2103781122809D+00, : 0.2596886385239D-08, 0.3200388483118D+01, 0.2162200472757D+00, : 0.3228057304264D-08, 0.5384848409563D+01, 0.2007689919132D+00, : 0.2481601798252D-08, 0.5173373487744D+01, 0.1062562936266D+01, : 0.2745977498864D-08, 0.6250966149853D+01, 0.5651155736444D+00, : 0.2669878833811D-08, 0.4906001352499D+01, 0.1400015846597D+00, : 0.3203986611711D-08, 0.5034333010005D+01, 0.7036329877322D+00, : 0.3354961227212D-08, 0.6108262423137D+01, 0.4549093064213D+00, : 0.2400407324558D-08, 0.2135399294955D+01, 0.2125476091956D+00 / DATA ((S0(I,J,2),I=1,3),J=201,210) / : 0.2379905859802D-08, 0.5893721933961D+01, 0.2140505503610D+00, : 0.2550844302187D-08, 0.3331940762063D+01, 0.1534957940063D+00, : 0.2268824211001D-08, 0.1843418461035D+01, 0.2235935264888D+00, : 0.2464700891204D-08, 0.3029548547230D+01, 0.2091065926078D+00, : 0.2436814726024D-08, 0.4994717970364D+01, 0.2174915669488D+00, : 0.2443623894745D-08, 0.2645102591375D+01, 0.1739420156204D+00, : 0.2318701783838D-08, 0.5700547397897D+01, 0.7530171478090D-01, : 0.2284448700256D-08, 0.5268898905872D+01, 0.7426161660010D-01, : 0.2468848123510D-08, 0.5276280575078D+01, 0.2526561439362D+00, : 0.2814052350303D-08, 0.6130168623475D+01, 0.5636314030725D+00 / DATA ((S0(I,J,2),I=1,3),J=211,NS0Y) / : 0.2243662755220D-08, 0.6631692457995D+00, 0.8886590321940D-01, : 0.2330795855941D-08, 0.2499435487702D+01, 0.1056200952181D+01, : 0.9757679038404D-09, 0.5796846023126D+01, 0.7826370942180D+02 / * SSB-to-Sun, T^1, Y DATA ((S1(I,J,2),I=1,3),J= 1, 10) / : 0.8989047573576D-08, 0.5840593672122D+01, 0.4265981595566D+00, : 0.7815938401048D-08, 0.1129664707133D+01, 0.2061856251104D+00, : 0.7550926713280D-08, 0.6196589104845D+00, 0.2204125344462D+00, : 0.6056556925895D-08, 0.1677494667846D+01, 0.1059381944224D+01, : 0.5734142698204D-08, 0.4000920852962D+01, 0.5225775174439D+00, : 0.5614341822459D-08, 0.3486722577328D+01, 0.5368044267797D+00, : 0.1028678147656D-08, 0.1877141024787D+01, 0.7113454667900D-02, : 0.7270792075266D-09, 0.5077167301739D+01, 0.6398972393349D+00, : 0.8734141726040D-09, 0.9069550282609D-01, 0.4194847048887D+00, : 0.5377371402113D-09, 0.6039381844671D+01, 0.4337116142245D+00 / DATA ((S1(I,J,2),I=1,3),J= 11, 20) / : 0.4729719431571D-09, 0.2153086311760D+01, 0.2132990797783D+00, : 0.4458052820973D-09, 0.5059830025565D+01, 0.5296909721118D+00, : 0.4406855467908D-09, 0.2027971692630D+01, 0.1589072916335D+01, : 0.3101659310977D-09, 0.3317677981860D+01, 0.1052268489556D+01, : 0.3016749232545D-09, 0.3913703482532D+01, 0.1066495398892D+01, : 0.3198541352656D-09, 0.1275513098525D+01, 0.1495633313810D+00, : 0.2142065389871D-09, 0.5301351614597D+01, 0.3163918923335D+00, : 0.1902615247592D-09, 0.4894943352736D+00, 0.2275259891141D+00, : 0.1613410990871D-09, 0.2449891130437D+01, 0.1102062672231D+00, : 0.1576992165097D-09, 0.4211421447633D+01, 0.7626583626240D-01 / DATA ((S1(I,J,2),I=1,3),J= 21, 30) / : 0.1241637259894D-09, 0.4140803368133D+01, 0.5154640627760D+00, : 0.1313974830355D-09, 0.3591920305503D+01, 0.3664874755930D-01, : 0.1181697118258D-09, 0.1506314382788D+01, 0.6327837846670D+00, : 0.1238239742779D-09, 0.7461405378404D+00, 0.3961708870310D-01, : 0.1010107068241D-09, 0.6271010795475D+00, 0.7329749511860D-01, : 0.9226316616509D-10, 0.1259158839583D+01, 0.1990721704425D+00, : 0.8664946419555D-10, 0.3353244696934D+01, 0.5439178814476D+00, : 0.7757230468978D-10, 0.1447677295196D+01, 0.9491756770005D+00, : 0.7693168628139D-10, 0.1120509896721D+01, 0.1030928125552D+00, : 0.5487897454612D-10, 0.4439380426795D+01, 0.8531963191132D+00 / DATA ((S1(I,J,2),I=1,3),J= 31, 40) / : 0.5196118677218D-10, 0.3788856619137D+00, 0.2093666171530D+00, : 0.5110853339935D-10, 0.1386879372016D+01, 0.2172315424036D+00, : 0.5027804534813D-10, 0.1647881805466D+00, 0.2164800718209D+00, : 0.4922485922674D-10, 0.1594315079862D+01, 0.2101180877357D+00, : 0.6155599524400D-10, 0.0000000000000D+00, 0.0000000000000D+00, : 0.4447147832161D-10, 0.5480720918976D+01, 0.3235053470014D+00, : 0.4144691276422D-10, 0.1931371033660D+01, 0.6373574839730D-01, : 0.4099950625452D-10, 0.5229611294335D+01, 0.6470106940028D+00, : 0.5060541682953D-10, 0.1731112486298D+01, 0.1422690933580D-01, : 0.4293615946300D-10, 0.2714571038925D+01, 0.7358765972222D+00 / DATA ((S1(I,J,2),I=1,3),J= 41,NS1Y) / : 0.3545659845763D-10, 0.4451041444634D+01, 0.5265099800692D+00, : 0.3479112041196D-10, 0.3029385448081D+01, 0.5328719641544D+00, : 0.3438516493570D-10, 0.2778507143731D+01, 0.8582758298370D-01, : 0.3297341285033D-10, 0.7898709807584D+00, 0.1104591729320D-01, : 0.2972585818015D-10, 0.3218785316973D+01, 0.5257585094865D+00, : 0.2931707295017D-10, 0.4260731012098D+01, 0.5336234347371D+00, : 0.2897198149403D-10, 0.1120753978101D+01, 0.1173197218910D+00, : 0.2832293240878D-10, 0.4597682717827D+00, 0.2022531624851D+00, : 0.2864348326612D-10, 0.2169939928448D+01, 0.9597935788730D-01, : 0.2852714675471D-10, 0.2377659870578D+01, 0.2118763888447D+01 / * SSB-to-Sun, T^2, Y DATA ((S2(I,J,2),I=1,3),J= 1,NS2Y) / : 0.1609114495091D-11, 0.2831096993481D+01, 0.2061856251104D+00, : 0.1560330784946D-11, 0.5193058213906D+01, 0.2204125344462D+00, : 0.1183535479202D-11, 0.5707003443890D+01, 0.5225775174439D+00, : 0.1158183066182D-11, 0.1782400404928D+01, 0.5368044267797D+00, : 0.1032868027407D-11, 0.4036925452011D+01, 0.2132990797783D+00, : 0.6540142847741D-12, 0.4058241056717D+01, 0.4265981595566D+00, : 0.7305236491596D-12, 0.6175401942957D+00, 0.5296909721118D+00, : -0.5580725052968D-12, 0.0000000000000D+00, 0.0000000000000D+00, : 0.3946122651015D-12, 0.4108265279171D+00, 0.1059381944224D+01 / * SSB-to-Sun, T^0, Z DATA ((S0(I,J,3),I=1,3),J= 1, 10) / : 0.1181255122986D-03, 0.4607918989164D+00, 0.2132990797783D+00, : 0.1127777651095D-03, 0.4169146331296D+00, 0.5296909721118D+00, : 0.4777754401806D-04, 0.4582657007130D+01, 0.3813291813120D-01, : 0.1129354285772D-04, 0.5758735142480D+01, 0.7478166569050D-01, : -0.1149543637123D-04, 0.0000000000000D+00, 0.0000000000000D+00, : 0.3298730512306D-05, 0.5978801994625D+01, 0.4265981595566D+00, : 0.2733376706079D-05, 0.7665413691040D+00, 0.1059381944224D+01, : 0.9426389657270D-06, 0.3710201265838D+01, 0.2061856251104D+00, : 0.8187517749552D-06, 0.3390675605802D+00, 0.2204125344462D+00, : 0.4080447871819D-06, 0.4552296640088D+00, 0.5225775174439D+00 / DATA ((S0(I,J,3),I=1,3),J= 11, 20) / : 0.3169973017028D-06, 0.3445455899321D+01, 0.5368044267797D+00, : 0.2438098615549D-06, 0.5664675150648D+01, 0.3664874755930D-01, : 0.2601897517235D-06, 0.1931894095697D+01, 0.1495633313810D+00, : 0.2314558080079D-06, 0.3666319115574D+00, 0.3961708870310D-01, : 0.1962549548002D-06, 0.3167411699020D+01, 0.7626583626240D-01, : 0.2180518287925D-06, 0.1544420746580D+01, 0.7113454667900D-02, : 0.1451382442868D-06, 0.1583756740070D+01, 0.1102062672231D+00, : 0.1358439007389D-06, 0.5239941758280D+01, 0.6398972393349D+00, : 0.1050585898028D-06, 0.2266958352859D+01, 0.3163918923335D+00, : 0.1050029870186D-06, 0.2711495250354D+01, 0.4194847048887D+00 / DATA ((S0(I,J,3),I=1,3),J= 21, 30) / : 0.9934920679800D-07, 0.1116208151396D+01, 0.1589072916335D+01, : 0.1048395331560D-06, 0.3408619600206D+01, 0.1021328554739D+02, : 0.8370147196668D-07, 0.3810459401087D+01, 0.2535050500000D-01, : 0.7989856510998D-07, 0.3769910473647D+01, 0.7329749511860D-01, : 0.5441221655233D-07, 0.2416994903374D+01, 0.1030928125552D+00, : 0.4610812906784D-07, 0.5858503336994D+01, 0.4337116142245D+00, : 0.3923022803444D-07, 0.3354170010125D+00, 0.1484170571900D-02, : 0.2610725582128D-07, 0.5410600646324D+01, 0.6327837846670D+00, : 0.2455279767721D-07, 0.6120216681403D+01, 0.1162474756779D+01, : 0.2375530706525D-07, 0.6055443426143D+01, 0.1052268489556D+01 / DATA ((S0(I,J,3),I=1,3),J= 31, 40) / : 0.1782967577553D-07, 0.3146108708004D+01, 0.8460828644453D+00, : 0.1581687095238D-07, 0.6255496089819D+00, 0.3340612434717D+01, : 0.1594657672461D-07, 0.3782604300261D+01, 0.1066495398892D+01, : 0.1563448615040D-07, 0.1997775733196D+01, 0.2022531624851D+00, : 0.1463624258525D-07, 0.1736316792088D+00, 0.3516457698740D-01, : 0.1331585056673D-07, 0.4331941830747D+01, 0.9491756770005D+00, : 0.1130634557637D-07, 0.6152017751825D+01, 0.2968341143800D-02, : 0.1028949607145D-07, 0.2101792614637D+00, 0.2275259891141D+00, : 0.1024074971618D-07, 0.4071833211074D+01, 0.5070101000000D-01, : 0.8826956060303D-08, 0.4861633688145D+00, 0.2093666171530D+00 / DATA ((S0(I,J,3),I=1,3),J= 41, 50) / : 0.8572230171541D-08, 0.5268190724302D+01, 0.4110125927500D-01, : 0.7649332643544D-08, 0.5134543417106D+01, 0.2608790314060D+02, : 0.8581673291033D-08, 0.2920218146681D+01, 0.1480791608091D+00, : 0.8430589300938D-08, 0.3604576619108D+01, 0.2172315424036D+00, : 0.7776165501012D-08, 0.3772942249792D+01, 0.6373574839730D-01, : 0.8311070234408D-08, 0.6200412329888D+01, 0.3235053470014D+00, : 0.6927365212582D-08, 0.4543353113437D+01, 0.8531963191132D+00, : 0.6791574208598D-08, 0.2882188406238D+01, 0.7181332454670D-01, : 0.5593100811839D-08, 0.1776646892780D+01, 0.7429900518901D+00, : 0.4553381853021D-08, 0.3949617611240D+01, 0.7775000683430D-01 / DATA ((S0(I,J,3),I=1,3),J= 51, 60) / : 0.5758000450068D-08, 0.3859251775075D+01, 0.1990721704425D+00, : 0.4281283457133D-08, 0.1466294631206D+01, 0.2118763888447D+01, : 0.4206935661097D-08, 0.5421776011706D+01, 0.1104591729320D-01, : 0.4213751641837D-08, 0.3412048993322D+01, 0.2243449970715D+00, : 0.5310506239878D-08, 0.5421641370995D+00, 0.5154640627760D+00, : 0.3827450341320D-08, 0.8887314524995D+00, 0.1510475019529D+00, : 0.4292435241187D-08, 0.1405043757194D+01, 0.1422690933580D-01, : 0.3189780702289D-08, 0.1060049293445D+01, 0.1173197218910D+00, : 0.3226611928069D-08, 0.6270858897442D+01, 0.2164800718209D+00, : 0.2893897608830D-08, 0.5117563223301D+01, 0.6470106940028D+00 / DATA ((S0(I,J,3),I=1,3),J= 61,NS0Z) / : 0.3239852024578D-08, 0.4079092237983D+01, 0.2101180877357D+00, : 0.2956892222200D-08, 0.1594917021704D+01, 0.3092784376656D+00, : 0.2980177912437D-08, 0.5258787667564D+01, 0.4155522422634D+00, : 0.3163725690776D-08, 0.3854589225479D+01, 0.8582758298370D-01, : 0.2662262399118D-08, 0.3561326430187D+01, 0.5257585094865D+00, : 0.2766689135729D-08, 0.3180732086830D+00, 0.1385174140878D+00, : 0.2411600278464D-08, 0.3324798335058D+01, 0.5439178814476D+00, : 0.2483527695131D-08, 0.4169069291947D+00, 0.5336234347371D+00, : 0.7788777276590D-09, 0.1900569908215D+01, 0.5217580628120D+02 / * SSB-to-Sun, T^1, Z DATA ((S1(I,J,3),I=1,3),J= 1, 10) / : 0.5444220475678D-08, 0.1803825509310D+01, 0.2132990797783D+00, : 0.3883412695596D-08, 0.4668616389392D+01, 0.5296909721118D+00, : 0.1334341434551D-08, 0.0000000000000D+00, 0.0000000000000D+00, : 0.3730001266883D-09, 0.5401405918943D+01, 0.2061856251104D+00, : 0.2894929197956D-09, 0.4932415609852D+01, 0.2204125344462D+00, : 0.2857950357701D-09, 0.3154625362131D+01, 0.7478166569050D-01, : 0.2499226432292D-09, 0.3657486128988D+01, 0.4265981595566D+00, : 0.1937705443593D-09, 0.5740434679002D+01, 0.1059381944224D+01, : 0.1374894396320D-09, 0.1712857366891D+01, 0.5368044267797D+00, : 0.1217248678408D-09, 0.2312090870932D+01, 0.5225775174439D+00 / DATA ((S1(I,J,3),I=1,3),J= 11,NS1Z) / : 0.7961052740870D-10, 0.5283368554163D+01, 0.3813291813120D-01, : 0.4979225949689D-10, 0.4298290471860D+01, 0.4194847048887D+00, : 0.4388552286597D-10, 0.6145515047406D+01, 0.7113454667900D-02, : 0.2586835212560D-10, 0.3019448001809D+01, 0.6398972393349D+00 / * SSB-to-Sun, T^2, Z DATA ((S2(I,J,3),I=1,3),J= 1,NS2Z) / : 0.3749920358054D-12, 0.3230285558668D+01, 0.2132990797783D+00, : 0.2735037220939D-12, 0.6154322683046D+01, 0.5296909721118D+00 / * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Time since reference epoch, years. T = ( ( DATE1-DJ00 ) + DATE2 ) / DJY T2 = T*T * Set status. IF ( ABS(T) .LE. 100D0 ) THEN JSTAT = 0 ELSE JSTAT = 1 END IF * X then Y then Z. DO 7 K=1,3 * Initialize position and velocity component. XYZ = 0D0 XYZD = 0D0 * ------------------------------------------------ * Obtain component of Sun to Earth ecliptic vector * ------------------------------------------------ * Sun to Earth, T^0 terms. DO 1 J=1,NE0(K) A = E0(1,J,K) B = E0(2,J,K) C = E0(3,J,K) P = B + C*T XYZ = XYZ + A*COS(P) XYZD = XYZD - A*C*SIN(P) 1 CONTINUE * Sun to Earth, T^1 terms. DO 2 J=1,NE1(K) A = E1(1,J,K) B = E1(2,J,K) C = E1(3,J,K) CT = C*T P = B + CT CP = COS(P) XYZ = XYZ + A*T*CP XYZD = XYZD + A*(CP-CT*SIN(P)) 2 CONTINUE * Sun to Earth, T^2 terms. DO 3 J=1,NE2(K) A = E2(1,J,K) B = E2(2,J,K) C = E2(3,J,K) CT = C*T P = B + CT CP = COS(P) XYZ = XYZ + A*T2*CP XYZD = XYZD + A*T*(2D0*CP-CT*SIN(P)) 3 CONTINUE * Heliocentric Earth position and velocity component. PH(K) = XYZ VH(K) = XYZD / DJY * ------------------------------------------------ * Obtain component of SSB to Earth ecliptic vector * ------------------------------------------------ * SSB to Sun, T^0 terms. DO 4 J=1,NS0(K) A = S0(1,J,K) B = S0(2,J,K) C = S0(3,J,K) P = B + C*T XYZ = XYZ + A*COS(P) XYZD = XYZD - A*C*SIN(P) 4 CONTINUE * SSB to Sun, T^1 terms. DO 5 J=1,NS1(K) A = S1(1,J,K) B = S1(2,J,K) C = S1(3,J,K) CT = C*T P = B + CT CP = COS(P) XYZ = XYZ + A*T*CP XYZD = XYZD + A*(CP-CT*SIN(P)) 5 CONTINUE * SSB to Sun, T^2 terms. DO 6 J=1,NS2(K) A = S2(1,J,K) B = S2(2,J,K) C = S2(3,J,K) CT = C*T P = B + CT CP = COS(P) XYZ = XYZ + A*T2*CP XYZD = XYZD + A*T*(2D0*CP-CT*SIN(P)) 6 CONTINUE * Barycentric Earth position and velocity component. PB(K) = XYZ VB(K) = XYZD / DJY * Next Cartesian component. 7 CONTINUE * Rotate from ecliptic to ICRF coordinates and return the results. X = PH(1) Y = PH(2) Z = PH(3) PVH(1,1) = X + AM12*Y + AM13*Z PVH(2,1) = AM21*X + AM22*Y + AM23*Z PVH(3,1) = AM32*Y + AM33*Z X = VH(1) Y = VH(2) Z = VH(3) PVH(1,2) = X + AM12*Y + AM13*Z PVH(2,2) = AM21*X + AM22*Y + AM23*Z PVH(3,2) = AM32*Y + AM33*Z X = PB(1) Y = PB(2) Z = PB(3) PVB(1,1) = X + AM12*Y + AM13*Z PVB(2,1) = AM21*X + AM22*Y + AM23*Z PVB(3,1) = AM32*Y + AM33*Z X = VB(1) Y = VB(2) Z = VB(3) PVB(1,2) = X + AM12*Y + AM13*Z PVB(2,2) = AM21*X + AM22*Y + AM23*Z PVB(3,2) = AM32*Y + AM33*Z * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_EQEC06 ( DATE1, DATE2, DR, DD, DL, DB ) *+ * - - - - - - - - - - - * i a u _ E Q E C 0 6 * - - - - - - - - - - - * * Transformation from ICRS equatorial coordinates to ecliptic * coordinates (mean equinox and ecliptic of date) using IAU 2006 * precession model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * DR,DD d ICRS right ascension and declination (radians) * * Returned: * DL,DB d ecliptic longitude and latitude (radians) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) No assumptions are made about whether the coordinates represent * starlight and embody astrometric effects such as parallax or * aberration. * * 3) The transformation is approximately that from mean J2000.0 right * ascension and declination to ecliptic longitude and latitude (mean * equinox and ecliptic of date), with only frame bias (always less * than 25 mas) to disturb this classical picture. * * Called: * iau_S2C spherical coordinates to unit vector * iau_ECM06 J2000.0 to ecliptic rotation matrix, IAU 2006 * iau_RXP product of r-matrix and p-vector * iau_C2S unit vector to spherical coordinates * iau_ANP normalize angle into range 0 to 2pi * iau_ANPM normalize angle into range +/- pi * * This revision: 2016 February 9 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, DR, DD, DL, DB DOUBLE PRECISION RM(3,3), V1(3), V2(3), A, B DOUBLE PRECISION iau_ANP, iau_ANPM * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Spherical to Cartesian. CALL iau_S2C ( DR, DD, V1 ) * Rotation matrix, ICRS equatorial to ecliptic. CALL iau_ECM06 ( DATE1, DATE2, RM ) * The transformation from ICRS to ecliptic. CALL iau_RXP ( RM, V1, V2 ) * Cartesian to spherical. CALL iau_C2S ( V2, A, B ) * Express in conventional ranges. DL = iau_ANP ( A ) DB = iau_ANPM ( B ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_EQEQ94 ( DATE1, DATE2 ) *+ * - - - - - - - - - - - * i a u _ E Q E Q 9 4 * - - - - - - - - - - - * * Equation of the equinoxes, IAU 1994 model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * DATE1,DATE2 d TDB date (Note 1) * * Returned: * iau_EQEQ94 d equation of the equinoxes (Note 2) * * Notes: * * 1) The TDB date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TDB)=2450123.7 could be expressed in any of these ways, among * others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The result, which is in radians, operates in the following sense: * * Greenwich apparent ST = GMST + equation of the equinoxes * * Called: * iau_ANPM normalize angle into range +/- pi * iau_NUT80 nutation, IAU 1980 * iau_OBL80 mean obliquity, IAU 1980 * * References: * * IAU Resolution C7, Recommendation 3 (1994) * * Capitaine, N. & Gontier, A.-M., Astron.Astrophys., 275, * 645-650 (1993) * * This revision: 2017 October 12 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2 * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * 2Pi DOUBLE PRECISION D2PI PARAMETER (D2PI = 6.283185307179586476925287D0) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian century DOUBLE PRECISION DJC PARAMETER ( DJC = 36525D0 ) DOUBLE PRECISION T, OM, DPSI, DEPS, EPS0 DOUBLE PRECISION iau_ANPM, iau_OBL80 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Interval between fundamental epoch J2000.0 and given date (JC). T = ( ( DATE1-DJ00 ) + DATE2 ) / DJC * Longitude of the mean ascending node of the lunar orbit on the * ecliptic, measured from the mean equinox of date. OM = iau_ANPM( ( 450160.280D0 + ( -482890.539D0 + : ( 7.455D0 + 0.008D0 * T ) * T ) * T ) * DAS2R : + MOD(-5D0*T,1D0) * D2PI ) * Nutation components and mean obliquity. CALL iau_NUT80 ( DATE1, DATE2, DPSI, DEPS ) EPS0 = iau_OBL80 ( DATE1, DATE2 ) * Equation of the equinoxes. iau_EQEQ94 = DPSI * COS(EPS0) + DAS2R * ( 0.00264D0 * SIN(OM) + : 0.000063D0 * SIN(OM+OM)) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_ERA00 ( DJ1, DJ2 ) *+ * - - - - - - - - - - * i a u _ E R A 0 0 * - - - - - - - - - - * * Earth rotation angle (IAU 2000 model). * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * DJ1,DJ2 d UT1 as a 2-part Julian Date (see note) * * The result is the Earth rotation angle (radians), in the range 0 to * 2pi. * * Notes: * * 1) The UT1 date DJ1+DJ2 is a Julian Date, apportioned in any * convenient way between the arguments DJ1 and DJ2. For example, * JD(UT1)=2450123.7 could be expressed in any of these ways, * among others: * * DJ1 DJ2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 and MJD methods are good compromises * between resolution and convenience. The date & time method is * best matched to the algorithm used: maximum accuracy (or, at * least, minimum noise) is delivered when the DJ1 argument is for * 0hrs UT1 on the day in question and the DJ2 argument lies in the * range 0 to 1, or vice versa. * * 2) The algorithm is adapted from Expression 22 of Capitaine et al. * 2000. The time argument has been expressed in days directly, * and, to retain precision, integer contributions have been * eliminated. The same formulation is given in IERS Conventions * (2003), Chap. 5, Eq. 14. * * Called: * iau_ANP normalize angle into range 0 to 2pi * * References: * * Capitaine N., Guinot B. and McCarthy D.D, 2000, Astron. * Astrophys., 355, 398-405. * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DJ1, DJ2 * 2Pi DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) DOUBLE PRECISION D1, D2, T, F DOUBLE PRECISION iau_ANP * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Days since fundamental epoch. IF ( DJ1 .LT. DJ2 ) THEN D1 = DJ1 D2 = DJ2 ELSE D1 = DJ2 D2 = DJ1 END IF T = D1 + ( D2-DJ00 ) * Fractional part of T (days). F = MOD ( D1, 1D0 ) + MOD ( D2, 1D0 ) * Earth rotation angle at this UT1. iau_ERA00 = iau_ANP ( D2PI * ( F + 0.7790572732640D0 : + 0.00273781191135448D0 * T ) ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_FAD03 ( T ) *+ * - - - - - - - - - - * i a u _ F A D 0 3 * - - - - - - - - - - * * Fundamental argument, IERS Conventions (2003): * mean elongation of the Moon from the Sun. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * T d TDB, Julian centuries since J2000.0 (Note 1) * * Returned: * iau_FAD03 d D, radians (Note 2) * * Notes: * * 1) Though T is strictly TDB, it is usually more convenient to use TT, * which makes no significant difference. * * 2) The expression used is as adopted in IERS Conventions (2003) and * is from Simon et al. (1994). * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Simon, J.-L., Bretagnon, P., Chapront, J., Chapront-Touze, M., * Francou, G., Laskar, J. 1994, Astron.Astrophys. 282, 663-683 * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION T * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Arcseconds to radians. DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Arcseconds in a full circle. DOUBLE PRECISION TURNAS PARAMETER ( TURNAS = 1296000D0 ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Mean elongation of the Moon from the Sun (IERS Conventions 2003). iau_FAD03 = MOD ( 1072260.703692D0 + : T*( 1602961601.2090D0 + : T*( - 6.3706D0 + : T*( 0.006593D0 + : T*( - 0.00003169D0 )))), TURNAS ) * DAS2R * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_FAE03 ( T ) *+ * - - - - - - - - - - - * i a u _ F A E 0 3 * - - - - - - - - - - - * * Fundamental argument, IERS Conventions (2003): * mean longitude of Earth. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * T d TDB, Julian centuries since J2000.0 (Note 1) * * Returned: * iau_FAE03 d mean longitude of Earth, radians (Note 2) * * Notes: * * 1) Though T is strictly TDB, it is usually more convenient to use TT, * which makes no significant difference. * * 2) The expression used is as adopted in IERS Conventions (2003) and * comes from Souchay et al. (1999) after Simon et al. (1994). * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Simon, J.-L., Bretagnon, P., Chapront, J., Chapront-Touze, M., * Francou, G., Laskar, J. 1994, Astron.Astrophys. 282, 663-683 * * Souchay, J., Loysel, B., Kinoshita, H., Folgueira, M. 1999, * Astron.Astrophys.Supp.Ser. 135, 111 * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION T * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 2Pi. DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Mean longitude of Earth (IERS Conventions 2003). iau_FAE03= MOD ( 1.753470314D0 + 628.3075849991D0 * T, D2PI ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_FAF03 ( T ) *+ * - - - - - - - - - - * i a u _ F A F 0 3 * - - - - - - - - - - * * Fundamental argument, IERS Conventions (2003): * mean longitude of the Moon minus mean longitude of the ascending * node. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * T d TDB, Julian centuries since J2000.0 (Note 1) * * Returned: * iau_FAF03 d F, radians (Note 2) * * Notes: * * 1) Though T is strictly TDB, it is usually more convenient to use TT, * which makes no significant difference. * * 2) The expression used is as adopted in IERS Conventions (2003) and * is from Simon et al. (1994). * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Simon, J.-L., Bretagnon, P., Chapront, J., Chapront-Touze, M., * Francou, G., Laskar, J. 1994, Astron.Astrophys. 282, 663-683 * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION T * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Arcseconds to radians. DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Arcseconds in a full circle. DOUBLE PRECISION TURNAS PARAMETER ( TURNAS = 1296000D0 ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Mean longitude of the Moon minus that of the ascending node * (IERS Conventions 2003). iau_FAF03 = MOD ( 335779.526232D0 + : T*( 1739527262.8478D0 + : T*( - 12.7512D0 + : T*( - 0.001037D0 + : T*( 0.00000417D0 )))), TURNAS ) * DAS2R * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_FAJU03 ( T ) *+ * - - - - - - - - - - - * i a u _ F A J U 0 3 * - - - - - - - - - - - * * Fundamental argument, IERS Conventions (2003): * mean longitude of Jupiter. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * T d TDB, Julian centuries since J2000.0 (Note 1) * * Returned: * iau_FAJU03 d mean longitude of Jupiter, radians (Note 2) * * Notes: * * 1) Though T is strictly TDB, it is usually more convenient to use TT, * which makes no significant difference. * * 2) The expression used is as adopted in IERS Conventions (2003) and * comes from Souchay et al. (1999) after Simon et al. (1994). * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Simon, J.-L., Bretagnon, P., Chapront, J., Chapront-Touze, M., * Francou, G., Laskar, J. 1994, Astron.Astrophys. 282, 663-683 * * Souchay, J., Loysel, B., Kinoshita, H., Folgueira, M. 1999, * Astron.Astrophys.Supp.Ser. 135, 111 * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION T * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 2Pi. DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Mean longitude of Jupiter (IERS Conventions 2003). iau_FAJU03= MOD ( 0.599546497D0 + 52.9690962641D0 * T, D2PI ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_FAL03 ( T ) *+ * - - - - - - - - - - * i a u _ F A L 0 3 * - - - - - - - - - - * * Fundamental argument, IERS Conventions (2003): * mean anomaly of the Moon. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * T d TDB, Julian centuries since J2000.0 (Note 1) * * Returned: * iau_FAL03 d l, radians (Note 2) * * Notes: * * 1) Though T is strictly TDB, it is usually more convenient to use TT, * which makes no significant difference. * * 2) The expression used is as adopted in IERS Conventions (2003) and * is from Simon et al. (1994). * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Simon, J.-L., Bretagnon, P., Chapront, J., Chapront-Touze, M., * Francou, G., Laskar, J. 1994, Astron.Astrophys. 282, 663-683 * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION T * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Arcseconds to radians. DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Arcseconds in a full circle. DOUBLE PRECISION TURNAS PARAMETER ( TURNAS = 1296000D0 ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Mean anomaly of the Moon (IERS Conventions 2003). iau_FAL03 = MOD ( 485868.249036D0 + : T*( 1717915923.2178D0 + : T*( 31.8792D0 + : T*( 0.051635D0 + : T*( - 0.00024470D0 )))), TURNAS ) * DAS2R * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_FALP03 ( T ) *+ * - - - - - - - - - - - * i a u _ F A L P 0 3 * - - - - - - - - - - - * * Fundamental argument, IERS Conventions (2003): * mean anomaly of the Sun. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * T d TDB, Julian centuries since J2000.0 (Note 1) * * Returned: * iau_FALP03 d l', radians (Note 2) * * Notes: * * 1) Though T is strictly TDB, it is usually more convenient to use TT, * which makes no significant difference. * * 2) The expression used is as adopted in IERS Conventions (2003) and * is from Simon et al. (1994). * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Simon, J.-L., Bretagnon, P., Chapront, J., Chapront-Touze, M., * Francou, G., Laskar, J. 1994, Astron.Astrophys. 282, 663-683 * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION T * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Arcseconds to radians. DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Arcseconds in a full circle. DOUBLE PRECISION TURNAS PARAMETER ( TURNAS = 1296000D0 ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Mean anomaly of the Sun (IERS Conventions 2003). iau_FALP03 = MOD ( 1287104.793048D0 + : T*( 129596581.0481D0 + : T*( - 0.5532D0 + : T*( 0.000136D0 + : T*( - 0.00001149D0 )))), TURNAS ) * DAS2R * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_FAMA03 ( T ) *+ * - - - - - - - - - - - * i a u _ F A M A 0 3 * - - - - - - - - - - - * * Fundamental argument, IERS Conventions (2003): * mean longitude of Mars. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * T d TDB, Julian centuries since J2000.0 (Note 1) * * Returned: * iau_FAMA03 d mean longitude of Mars, radians (Note 2) * * Notes: * * 1) Though T is strictly TDB, it is usually more convenient to use TT, * which makes no significant difference. * * 2) The expression used is as adopted in IERS Conventions (2003) and * comes from Souchay et al. (1999) after Simon et al. (1994). * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Simon, J.-L., Bretagnon, P., Chapront, J., Chapront-Touze, M., * Francou, G., Laskar, J. 1994, Astron.Astrophys. 282, 663-683 * * Souchay, J., Loysel, B., Kinoshita, H., Folgueira, M. 1999, * Astron.Astrophys.Supp.Ser. 135, 111 * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION T * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 2Pi. DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Mean longitude of Mars (IERS Conventions 2003). iau_FAMA03= MOD ( 6.203480913D0 + 334.0612426700D0 * T, D2PI ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_FAME03 ( T ) *+ * - - - - - - - - - - - * i a u _ F A M E 0 3 * - - - - - - - - - - - * * Fundamental argument, IERS Conventions (2003): * mean longitude of Mercury. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * T d TDB, Julian centuries since J2000.0 (Note 1) * * Returned: * iau_FAME03 d mean longitude of Mercury, radians (Note 2) * * Notes: * * 1) Though T is strictly TDB, it is usually more convenient to use TT, * which makes no significant difference. * * 2) The expression used is as adopted in IERS Conventions (2003) and * comes from Souchay et al. (1999) after Simon et al. (1994). * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Simon, J.-L., Bretagnon, P., Chapront, J., Chapront-Touze, M., * Francou, G., Laskar, J. 1994, Astron.Astrophys. 282, 663-683 * * Souchay, J., Loysel, B., Kinoshita, H., Folgueira, M. 1999, * Astron.Astrophys.Supp.Ser. 135, 111 * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION T * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 2Pi. DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Mean longitude of Mercury (IERS Conventions 2003). iau_FAME03 = MOD ( 4.402608842D0 + 2608.7903141574D0 * T, D2PI ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_FANE03 ( T ) *+ * - - - - - - - - - - - * i a u _ F A N E 0 3 * - - - - - - - - - - - * * Fundamental argument, IERS Conventions (2003): * mean longitude of Neptune. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * T d TDB, Julian centuries since J2000.0 (Note 1) * * Returned: * iau_FANE03 d mean longitude of Neptune, radians (Note 2) * * Notes: * * 1) Though T is strictly TDB, it is usually more convenient to use TT, * which makes no significant difference. * * 2) The expression used is as adopted in IERS Conventions (2003) and * is adapted from Simon et al. (1994). * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Simon, J.-L., Bretagnon, P., Chapront, J., Chapront-Touze, M., * Francou, G., Laskar, J. 1994, Astron.Astrophys. 282, 663-683 * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION T * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 2Pi. DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Mean longitude of Neptune (IERS Conventions 2003). iau_FANE03= MOD ( 5.311886287D0 + 3.8133035638D0 * T, D2PI ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_FAOM03 ( T ) *+ * - - - - - - - - - - - * i a u _ F A O M 0 3 * - - - - - - - - - - - * * Fundamental argument, IERS Conventions (2003): * mean longitude of the Moon's ascending node. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * T d TDB, Julian centuries since J2000.0 (Note 1) * * Returned: * iau_FAOM03 d Omega, radians (Note 2) * * Notes: * * 1) Though T is strictly TDB, it is usually more convenient to use TT, * which makes no significant difference. * * 2) The expression used is as adopted in IERS Conventions (2003) and * is from Simon et al. (1994). * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Simon, J.-L., Bretagnon, P., Chapront, J., Chapront-Touze, M., * Francou, G., Laskar, J. 1994, Astron.Astrophys. 282, 663-683 * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION T * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Arcseconds to radians. DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Arcseconds in a full circle. DOUBLE PRECISION TURNAS PARAMETER ( TURNAS = 1296000D0 ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Mean longitude of the Moon's ascending node (IERS Conventions 2003). iau_FAOM03 = MOD ( 450160.398036D0 + : T*( - 6962890.5431D0 + : T*( 7.4722D0 + : T*( 0.007702D0 + : T*( - 0.00005939D0 )))), TURNAS ) * DAS2R * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_FAPA03 ( T ) *+ * - - - - - - - - - - - * i a u _ F A P A 0 3 * - - - - - - - - - - - * * Fundamental argument, IERS Conventions (2003): * general accumulated precession in longitude. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * T d TDB, Julian centuries since J2000.0 (Note 1) * * Returned: * iau_FAPA03 d general precession in longitude, radians (Note 2) * * Notes: * * 1) Though T is strictly TDB, it is usually more convenient to use TT, * which makes no significant difference. * * 2) The expression used is as adopted in IERS Conventions (2003). It * is taken from Kinoshita & Souchay (1990) and comes originally from * Lieske et al. (1977). * * References: * * Kinoshita, H. and Souchay J. 1990, Celest.Mech. and Dyn.Astron. * 48, 187 * * Lieske, J.H., Lederle, T., Fricke, W. & Morando, B. 1977, * Astron.Astrophys. 58, 1-16 * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION T * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * General accumulated precession in longitude. iau_FAPA03= ( 0.024381750D0 + 0.00000538691D0 * T ) * T * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_FASA03 ( T ) *+ * - - - - - - - - - - - * i a u _ F A S A 0 3 * - - - - - - - - - - - * * Fundamental argument, IERS Conventions (2003): * mean longitude of Saturn. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * T d TDB, Julian centuries since J2000.0 (Note 1) * * Returned: * iau_FASA03 d mean longitude of Saturn, radians (Note 2) * * Notes: * * 1) Though T is strictly TDB, it is usually more convenient to use TT, * which makes no significant difference. * * 2) The expression used is as adopted in IERS Conventions (2003) and * comes from Souchay et al. (1999) after Simon et al. (1994). * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Simon, J.-L., Bretagnon, P., Chapront, J., Chapront-Touze, M., * Francou, G., Laskar, J. 1994, Astron.Astrophys. 282, 663-683 * * Souchay, J., Loysel, B., Kinoshita, H., Folgueira, M. 1999, * Astron.Astrophys.Supp.Ser. 135, 111 * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION T * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 2Pi. DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Mean longitude of Saturn (IERS Conventions 2003). iau_FASA03= MOD ( 0.874016757D0 + 21.3299104960D0 * T, D2PI ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_FAUR03 ( T ) *+ * - - - - - - - - - - - * i a u _ F A U R 0 3 * - - - - - - - - - - - * * Fundamental argument, IERS Conventions (2003): * mean longitude of Uranus. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * T d TDB, Julian centuries since J2000.0 (Note 1) * * Returned: * iau_FAUR03 d mean longitude of Uranus, radians (Note 2) * * Notes: * * 1) Though T is strictly TDB, it is usually more convenient to use TT, * which makes no significant difference. * * 2) The expression used is as adopted in IERS Conventions (2003) and * is adapted from Simon et al. (1994). * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Simon, J.-L., Bretagnon, P., Chapront, J., Chapront-Touze, M., * Francou, G., Laskar, J. 1994, Astron.Astrophys. 282, 663-683 * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION T * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 2Pi. DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Mean longitude of Uranus (IERS Conventions 2003). iau_FAUR03= MOD ( 5.481293872D0 + 7.4781598567D0 * T, D2PI ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_FAVE03 ( T ) *+ * - - - - - - - - - - - * i a u _ F A V E 0 3 * - - - - - - - - - - - * * Fundamental argument, IERS Conventions (2003): * mean longitude of Venus. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * T d TDB, Julian centuries since J2000.0 (Note 1) * * Returned: * iau_FAVE03 d mean longitude of Venus, radians (Note 2) * * Notes: * * 1) Though T is strictly TDB, it is usually more convenient to use TT, * which makes no significant difference. * * 2) The expression used is as adopted in IERS Conventions (2003) and * comes from Souchay et al. (1999) after Simon et al. (1994). * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Simon, J.-L., Bretagnon, P., Chapront, J., Chapront-Touze, M., * Francou, G., Laskar, J. 1994, Astron.Astrophys. 282, 663-683 * * Souchay, J., Loysel, B., Kinoshita, H., Folgueira, M. 1999, * Astron.Astrophys.Supp.Ser. 135, 111 * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION T * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * 2Pi. DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Mean longitude of Venus (IERS Conventions 2003). iau_FAVE03= MOD ( 3.176146697D0 + 1021.3285546211D0 * T, D2PI ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_FK52H ( R5, D5, DR5, DD5, PX5, RV5, : RH, DH, DRH, DDH, PXH, RVH ) *+ * - - - - - - - - - - * i a u _ F K 5 2 H * - - - - - - - - - - * * Transform FK5 (J2000.0) star data into the Hipparcos system. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given (all FK5, equinox J2000.0, epoch J2000.0): * R5 d RA (radians) * D5 d Dec (radians) * DR5 d proper motion in RA (dRA/dt, rad/Jyear) * DD5 d proper motion in Dec (dDec/dt, rad/Jyear) * PX5 d parallax (arcsec) * RV5 d radial velocity (km/s, positive = receding) * * Returned (all Hipparcos, epoch J2000.0): * RH d RA (radians) * DH d Dec (radians) * DRH d proper motion in RA (dRA/dt, rad/Jyear) * DDH d proper motion in Dec (dDec/dt, rad/Jyear) * PXH d parallax (arcsec) * RVH d radial velocity (km/s, positive = receding) * * Notes: * * 1) This routine transforms FK5 star positions and proper motions into * the system of the Hipparcos catalog. * * 2) The proper motions in RA are dRA/dt rather than cos(Dec)*dRA/dt, * and are per year rather than per century. * * 3) The FK5 to Hipparcos transformation is modeled as a pure rotation * and spin; zonal errors in the FK5 catalog are not taken into * account. * * 4) See also iau_H2FK5, iau_FK5HZ, iau_HFK5Z. * * Called: * iau_STARPV star catalog data to space motion pv-vector * iau_FK5HIP FK5 to Hipparcos rotation and spin * iau_RXP product of r-matrix and p-vector * iau_PXP vector product of two p-vectors * iau_PPP p-vector plus p-vector * iau_PVSTAR space motion pv-vector to star catalog data * * Reference: * * F.Mignard & M.Froeschle, Astron.Astrophys., 354, 732-739 (2000). * * This revision: 2017 October 12 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION R5, D5, DR5, DD5, PX5, RV5, : RH, DH, DRH, DDH, PXH, RVH DOUBLE PRECISION PV5(3,2), R5H(3,3), S5H(3), WXP(3), VV(3), : PVH(3,2) INTEGER J, I * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * FK5 barycentric position/velocity pv-vector (normalized). CALL iau_STARPV ( R5, D5, DR5, DD5, PX5, RV5, PV5, J ) * FK5 to Hipparcos orientation matrix and spin vector. CALL iau_FK5HIP ( R5H, S5H ) * Make spin units per day instead of per year. DO 1 I=1,3 S5H(I) = S5H(I) / 365.25D0 1 CONTINUE * Orient the FK5 position into the Hipparcos system. CALL iau_RXP ( R5H, PV5(1,1), PVH(1,1) ) * Apply spin to the position giving an extra space motion component. CALL iau_PXP ( PV5(1,1), S5H, WXP ) * Add this component to the FK5 space motion. CALL iau_PPP ( WXP, PV5(1,2), VV ) * Orient the FK5 space motion into the Hipparcos system. CALL iau_RXP ( R5H, VV, PVH(1,2) ) * Hipparcos pv-vector to spherical. CALL iau_PVSTAR ( PVH, RH, DH, DRH, DDH, PXH, RVH, J ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_FK5HIP ( R5H, S5H ) *+ * - - - - - - - - - - - * i a u _ F K 5 H I P * - - - - - - - - - - - * * FK5 to Hipparcos rotation and spin. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Returned: * R5H d(3,3) r-matrix: FK5 rotation wrt Hipparcos (Note 2) * S5H d(3) r-vector: FK5 spin wrt Hipparcos (Note 3) * * Notes: * * 1) This routine models the FK5 to Hipparcos transformation as a * pure rotation and spin; zonal errors in the FK5 catalogue are * not taken into account. * * 2) The r-matrix R5H operates in the sense: * * P_Hipparcos = R5H x P_FK5 * * where P_FK5 is a p-vector in the FK5 frame, and P_Hipparcos is * the equivalent Hipparcos p-vector. * * 3) The r-vector S5H represents the time derivative of the FK5 to * Hipparcos rotation. The units are radians per year (Julian, * TDB). * * Called: * iau_RV2M r-vector to r-matrix * * Reference: * * F.Mignard & M.Froeschle, Astron.Astrophys., 354, 732-739 (2000). * * This revision: 2017 October 12 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION R5H(3,3), S5H(3) * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * FK5 to Hipparcos orientation and spin (radians, radians/year) DOUBLE PRECISION EPX, EPY, EPZ DOUBLE PRECISION OMX, OMY, OMZ PARAMETER ( EPX = -19.9D-3 * DAS2R, : EPY = -9.1D-3 * DAS2R, : EPZ = +22.9D-3 * DAS2R ) PARAMETER ( OMX = -0.30D-3 * DAS2R, : OMY = +0.60D-3 * DAS2R, : OMZ = +0.70D-3 * DAS2R ) DOUBLE PRECISION V(3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * FK5 to Hipparcos orientation expressed as an r-vector. V(1) = EPX V(2) = EPY V(3) = EPZ * Re-express as an r-matrix. CALL iau_RV2M ( V, R5H ) * Hipparcos wrt FK5 spin expressed as an r-vector. S5H(1) = OMX S5H(2) = OMY S5H(3) = OMZ * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_FK5HZ ( R5, D5, DATE1, DATE2, RH, DH ) *+ * - - - - - - - - - - * i a u _ F K 5 H Z * - - - - - - - - - - * * Transform an FK5 (J2000.0) star position into the system of the * Hipparcos catalogue, assuming zero Hipparcos proper motion. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * R5 d FK5 RA (radians), equinox J2000.0, at date * D5 d FK5 Dec (radians), equinox J2000.0, at date * DATE1,DATE2 d TDB date (Notes 1,2) * * Returned: * RH d Hipparcos RA (radians) * DH d Hipparcos Dec (radians) * * Notes: * * 1) This routine converts a star position from the FK5 system to * the Hipparcos system, in such a way that the Hipparcos proper * motion is zero. Because such a star has, in general, a non-zero * proper motion in the FK5 system, the routine requires the date * at which the position in the FK5 system was determined. * * 2) The TDB date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TDB)=2450123.7 could be expressed in any of these ways, among * others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 3) The FK5 to Hipparcos transformation is modeled as a pure * rotation and spin; zonal errors in the FK5 catalogue are * not taken into account. * * 4) The position returned by this routine is in the Hipparcos * reference system but at date DATE1+DATE2. * * 5) See also iau_FK52H, iau_H2FK5, iau_HFK5Z. * * Called: * iau_S2C spherical coordinates to unit vector * iau_FK5HIP FK5 to Hipparcos rotation and spin * iau_SXP multiply p-vector by scalar * iau_RV2M r-vector to r-matrix * iau_TRXP product of transpose of r-matrix and p-vector * iau_PXP vector product of two p-vectors * iau_C2S p-vector to spherical * iau_ANP normalize angle into range 0 to 2pi * * Reference: * * F.Mignard & M.Froeschle, Astron. Astrophys. 354, 732-739 (2000). * * This revision: 2012 September 5 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION R5, D5, DATE1, DATE2, RH, DH * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian year DOUBLE PRECISION DJY PARAMETER ( DJY = 365.25D0 ) DOUBLE PRECISION T, P5E(3), R5H(3,3), S5H(3), VST(3), RST(3,3), : P5(3), PH(3), W DOUBLE PRECISION iau_ANP * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Interval from given date to fundamental epoch J2000.0 (JY). T = - ( ( DATE1-DJ00 ) + DATE2 ) / DJY * FK5 barycentric position vector. CALL iau_S2C ( R5, D5, P5E ) * FK5 to Hipparcos orientation matrix and spin vector. CALL iau_FK5HIP ( R5H, S5H ) * Accumulated Hipparcos wrt FK5 spin over that interval. CALL iau_SXP ( T, S5H, VST ) * Express the accumulated spin as a rotation matrix. CALL iau_RV2M ( VST, RST ) * Derotate the vector's FK5 axes back to date. CALL iau_TRXP ( RST, P5E, P5 ) * Rotate the vector into the Hipparcos system. CALL iau_RXP ( R5H, P5, PH ) * Hipparcos vector to spherical. CALL iau_C2S ( PH, W, DH ) RH = iau_ANP ( W ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_FW2M ( GAMB, PHIB, PSI, EPS, R ) *+ * - - - - - - - - - * i a u _ F W 2 M * - - - - - - - - - * * Form rotation matrix given the Fukushima-Williams angles. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * GAMB d F-W angle gamma_bar (radians) * PHIB d F-W angle phi_bar (radians) * PSI d F-W angle psi (radians) * EPS d F-W angle epsilon (radians) * * Returned: * R d(3,3) rotation matrix * * Notes: * * 1) Naming the following points: * * e = J2000.0 ecliptic pole, * p = GCRS pole, * E = ecliptic pole of date, * and P = CIP, * * the four Fukushima-Williams angles are as follows: * * GAMB = gamma = epE * PHIB = phi = pE * PSI = psi = pEP * EPS = epsilon = EP * * 2) The matrix representing the combined effects of frame bias, * precession and nutation is: * * 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: * * 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 routine. * * o To obtain the precession x frame bias matrix, generate the * four precession angles and call the present routine. * * o To obtain the frame bias matrix, generate the four precession * angles for date J2000.0 and call the present routine. * * The nutation-only and precession-only matrices can if necessary * be obtained by combining these three appropriately. * * Called: * iau_IR initialize r-matrix to identity * iau_RZ rotate around Z-axis * iau_RX rotate around X-axis * * Reference: * * Hilton, J. et al., 2006, Celest.Mech.Dyn.Astron. 94, 351 * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION GAMB, PHIB, PSI, EPS, R(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Construct the matrix. CALL iau_IR ( R ) CALL iau_RZ ( GAMB, R ) CALL iau_RX ( PHIB, R ) CALL iau_RZ ( -PSI, R ) CALL iau_RX ( -EPS, R ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_FW2XY ( GAMB, PHIB, PSI, EPS, X, Y ) *+ * - - - - - - - - - - * i a u _ F W 2 X Y * - - - - - - - - - - * * CIP X,Y given Fukushima-Williams bias-precession-nutation angles. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * GAMB d F-W angle gamma_bar (radians) * PHIB d F-W angle phi_bar (radians) * PSI d F-W angle psi (radians) * EPS d F-W angle epsilon (radians) * * Returned: * X,Y d CIP unit vector X,Y * * Notes: * * 1) Naming the following points: * * e = J2000.0 ecliptic pole, * p = GCRS pole * E = ecliptic pole of date, * and P = CIP, * * the four Fukushima-Williams angles are as follows: * * GAMB = gamma = epE * PHIB = phi = pE * PSI = psi = pEP * EPS = epsilon = EP * * 2) The matrix representing the combined effects of frame bias, * precession and nutation is: * * NxPxB = R_1(-EPSA).R_3(-PSI).R_1(PHIB).R_3(GAMB) * * The returned values x,y are elements (3,1) and (3,2) of the * matrix. Near J2000.0, they are essentially angles in radians. * * Called: * iau_FW2M F-W angles to r-matrix * iau_BPN2XY extract CIP X,Y coordinates from NPB matrix * * Reference: * * Hilton, J. et al., 2006, Celest.Mech.Dyn.Astron. 94, 351 * * This revision: 2013 September 2 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION GAMB, PHIB, PSI, EPS, X, Y DOUBLE PRECISION R(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Form NxPxB matrix. CALL iau_FW2M ( GAMB, PHIB, PSI, EPS, R ) * Extract CIP X,Y. CALL iau_BPN2XY ( R, X, Y ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_G2ICRS ( DL, DB, DR, DD ) *+ * - - - - - - - - - - - * i a u _ G 2 I C R S * - - - - - - - - - - - * * Transformation from Galactic Coordinates to ICRS. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DL d galactic longitude (radians) * DB d galactic latitude (radians) * * Returned: * DR d ICRS right ascension (radians) * DD d ICRS declination (radians) * * Notes: * * 1) The IAU 1958 system of Galactic coordinates was defined with * respect to the now obsolete reference system FK4 B1950.0. When * interpreting the system in a modern context, several factors have * to be taken into account: * * . The inclusion in FK4 positions of the E-terms of aberration. * * . The distortion of the FK4 proper motion system by differential * Galactic rotation. * * . The use of the B1950.0 equinox rather than the now-standard * J2000.0. * * . The frame bias between ICRS and the J2000.0 mean place system. * * The Hipparcos Catalogue (Perryman & ESA 1997) provides a rotation * matrix that transforms directly between ICRS and Galactic * coordinates with the above factors taken into account. The * matrix is derived from three angles, namely the ICRS coordinates * of the Galactic pole and the longitude of the ascending node of * the galactic equator on the ICRS equator. They are given in * degrees to five decimal places and for canonical purposes are * regarded as exact. In the Hipparcos Catalogue the matrix elements * are given to 10 decimal places (about 20 microarcsec). In the * present SOFA routine the matrix elements have been recomputed from * the canonical three angles and are given to 30 decimal places. * * 2) The inverse transformation is performed by the routine iau_ICRS2G. * * Called: * iau_ANP normalize angle into range 0 to 2pi * iau_ANPM normalize angle into range +/- pi * iau_S2C spherical coordinates to unit vector * iau_TRXP product of transpose of r-matrix and p-vector * iau_C2S p-vector to spherical * * Reference: * Perryman M.A.C. & ESA, 1997, ESA SP-1200, The Hipparcos and Tycho * catalogues. Astrometric and photometric star catalogues * derived from the ESA Hipparcos Space Astrometry Mission. ESA * Publications Division, Noordwijk, Netherlands. * * This revision: 2015 January 9 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DL, DB, DR, DD DOUBLE PRECISION iau_ANP, iau_ANPM DOUBLE PRECISION V1(3), V2(3) * * L2,B2 system of galactic coordinates in the form presented in the * Hipparcos Catalogue. In degrees: * * P = 192.85948 right ascension of the Galactic north pole in ICRS * Q = 27.12825 declination of the Galactic north pole in ICRS * R = 32.93192 longitude of the ascending node of the Galactic * plane on the ICRS equator * * ICRS to galactic rotation matrix, obtained by computing * R_3(-R) R_1(pi/2-Q) R_3(pi/2+P) to the full precision shown: * DOUBLE PRECISION R(3,3) DATA R(1,1), R(1,2), R(1,3), : R(2,1), R(2,2), R(2,3), : R(3,1), R(3,2), R(3,3) / : -0.054875560416215368492398900454D0, : -0.873437090234885048760383168409D0, : -0.483835015548713226831774175116D0, : +0.494109427875583673525222371358D0, : -0.444829629960011178146614061616D0, : +0.746982244497218890527388004556D0, : -0.867666149019004701181616534570D0, : -0.198076373431201528180486091412D0, : +0.455983776175066922272100478348D0 / * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Spherical to Cartesian. CALL iau_S2C ( DL, DB, V1 ) * Galactic to ICRS. CALL iau_TRXP ( R, V1, V2 ) * Cartesian to spherical. CALL iau_C2S ( V2, DR, DD ) * Express in conventional ranges. DR = iau_ANP ( DR ) DD = iau_ANPM ( DD ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_GC2GDE ( A, F, XYZ, ELONG, PHI, HEIGHT, J ) *+ * - - - - - - - - - - - * i a u _ G C 2 G D E * - - - - - - - - - - - * * Transform geocentric coordinates to geodetic for a reference * ellipsoid of specified form. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * A d equatorial radius (Notes 2,4) * F d flattening (Note 3) * XYZ d(3) geocentric vector (Note 4) * * Returned: * ELONG d longitude (radians, east +ve) * PHI d latitude (geodetic, radians) * HEIGHT d height above ellipsoid (geodetic, Note 4) * J i status: 0 = OK * -1 = illegal F * -2 = illegal A * * Notes: * * 1) This routine is closely based on the GCONV2H subroutine by * Toshio Fukushima (see reference). * * 2) The equatorial radius, A, can be in any units, but meters is * the conventional choice. * * 3) The flattening, F, is (for the Earth) a value around 0.00335, * i.e. around 1/298. * * 4) The equatorial radius, A, and the geocentric vector, XYZ, * must be given in the same units, and determine the units of * the returned height, HEIGHT. * * 5) If an error occurs (J<0), ELONG, PHI and HEIGHT are unchanged. * * 6) The inverse transformation is performed in the routine iau_GD2GCE. * * 7) The transformation for a standard ellipsoid (such as WGS84) can * more conveniently be performed by calling iau_GC2GD, which uses a * numerical code (1 for WGS84) to identify the required A and F * values. * * Reference: * * Fukushima, T., "Transformation from Cartesian to geodetic * coordinates accelerated by Halley's method", J.Geodesy (2006) * 79: 689-693 * * This revision: 2014 November 7 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION A, F, XYZ(3), ELONG, PHI, HEIGHT INTEGER J * Pi DOUBLE PRECISION DPI PARAMETER ( DPI = 3.141592653589793238462643D0 ) DOUBLE PRECISION AEPS2, E2, E4T, EC2, EC, B, X, Y, Z, P2, ABSZ, P, : S0, PN, ZC, C0, C02, C03, S02, S03, A02, A0, A03, : D0, F0, B0, S1, CC, S12, CC2 * ------------- * Preliminaries * ------------- * Validate ellipsoid parameters. IF ( F.LT.0D0 .OR. F.GE.1D0 ) THEN J = -1 GO TO 9999 ELSE IF ( A .LE. 0D0 ) THEN J = -2 GO TO 9999 END IF * Functions of ellipsoid parameters (with further validation of F). AEPS2 = A*A*1D-32 E2 = (2D0-F)*F E4T = E2*E2*1.5D0 EC2 = 1D0-E2 IF ( EC2 .LE. 0D0 ) THEN J = -1 GO TO 9999 END IF EC = SQRT(EC2) B = A*EC * Cartesian components. X = XYZ(1) Y = XYZ(2) Z = XYZ(3) * Distance from polar axis squared. P2 = X*X + Y*Y * Longitude. IF ( P2.GT.0D0 ) THEN ELONG = ATAN2(Y,X) ELSE ELONG = 0D0 END IF * Unsigned z-coordinate. ABSZ = ABS(Z) * Proceed unless polar case. IF ( P2.GT.AEPS2 ) THEN * Distance from polar axis. P = SQRT(P2) * Normalization. S0 = ABSZ/A PN = P/A ZC = EC*S0 * Prepare Newton correction factors. C0 = EC*PN C02 = C0*C0 C03 = C02*C0 S02 = S0*S0 S03 = S02*S0 A02 = C02+S02 A0 = SQRT(A02) A03 = A02*A0 D0 = ZC*A03 + E2*S03 F0 = PN*A03 - E2*C03 * Prepare Halley correction factor. B0 = E4T*S02*C02*PN*(A0-EC) S1 = D0*F0 - B0*S0 CC = EC*(F0*F0-B0*C0) * Evaluate latitude and height. PHI = ATAN(S1/CC) S12 = S1*S1 CC2 = CC*CC HEIGHT = (P*CC+ABSZ*S1-A*SQRT(EC2*S12+CC2))/SQRT(S12+CC2) ELSE * Exception: pole. PHI = DPI/2D0 HEIGHT = ABSZ-B END IF * Restore sign of latitude. IF ( Z.LT.0D0 ) PHI = -PHI * OK status. J = 0 * Finished. 9999 CONTINUE *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_GC2GD ( N, XYZ, ELONG, PHI, HEIGHT, J ) *+ * - - - - - - - - - - * i a u _ G C 2 G D * - - - - - - - - - - * * Transform geocentric coordinates to geodetic using the specified * reference ellipsoid. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical transformation. * * Given: * N i ellipsoid identifier (Note 1) * XYZ d(3) geocentric vector (Note 2) * * Returned: * ELONG d longitude (radians, east +ve, Note 3) * PHI d latitude (geodetic, radians, Note 3) * HEIGHT d height above ellipsoid (geodetic, Notes 2,3) * J i status: 0 = OK * -1 = illegal identifier (Note 3) * -2 = internal error (Note 3) * * Notes: * * 1) The identifier N is a number that specifies the choice of * reference ellipsoid. The following are supported: * * N ellipsoid * * 1 WGS84 * 2 GRS80 * 3 WGS72 * * The number N has no significance outside the SOFA software. * * 2) The geocentric vector (XYZ, given) and height (HEIGHT, returned) * are in meters. * * 3) An error status J=-1 means that the identifier N is illegal. An * error status J=-2 is theoretically impossible. In all error * cases, all three results are set to -1D9. * * 4) The inverse transformation is performed in the routine iau_GD2GC. * * Called: * iau_EFORM Earth reference ellipsoids * iau_GC2GDE geocentric to geodetic transformation, general * * This revision: 2013 September 1 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE INTEGER N DOUBLE PRECISION XYZ(3), ELONG, PHI, HEIGHT INTEGER J DOUBLE PRECISION A, F * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Obtain reference ellipsoid parameters. CALL iau_EFORM ( N, A, F, J ) * If OK, transform x,y,z to longitude, geodetic latitude, height. IF ( J.EQ.0 ) THEN CALL iau_GC2GDE ( A, F, XYZ, ELONG, PHI, HEIGHT, J ) IF ( J.LT.0 ) J=-2 END IF * Deal with any errors. IF ( J.LT.0 ) THEN ELONG = -1D9 PHI = -1D9 HEIGHT = -1D9 END IF * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_GD2GCE ( A, F, ELONG, PHI, HEIGHT, XYZ, J ) *+ * - - - - - - - - - - - * i a u _ G D 2 G C E * - - - - - - - - - - - * * Transform geodetic coordinates to geocentric for a reference * ellipsoid of specified form. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * A d equatorial radius (Notes 1,4) * F d flattening (Notes 2,4) * ELONG d longitude (radians, east +ve) * PHI d latitude (geodetic, radians, Note 4) * HEIGHT d height above ellipsoid (geodetic, Notes 3,4) * * Returned: * XYZ d(3) geocentric vector (Note 3) * J i status: 0 = OK * -1 = illegal case (Note 4) * * Notes: * * 1) The equatorial radius, A, can be in any units, but meters is * the conventional choice. * * 2) The flattening, F, is (for the Earth) a value around 0.00335, * i.e. around 1/298. * * 3) The equatorial radius, A, and the height, HEIGHT, must be * given in the same units, and determine the units of the * returned geocentric vector, XYZ. * * 4) No validation is performed on individual arguments. The error * status J=-1 protects against (unrealistic) cases that would lead * to arithmetic exceptions. If an error occurs, XYZ is unchanged. * * 5) The inverse transformation is performed in the routine iau_GC2GDE. * * 6) The transformation for a standard ellipsoid (such as WGS84) can * more conveniently be performed by calling iau_GD2GC, which uses a * numerical code (1 for WGS84) to identify the required A and F * values. * * References: * * Green, R.M., Spherical Astronomy, Cambridge University Press, * (1985) Section 4.5, p96. * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992), * Section 4.22, p202. * * This revision: 2009 November 2 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION A, F, ELONG, PHI, HEIGHT, XYZ(3) INTEGER J DOUBLE PRECISION SP, CP, W, D, AC, AS, R * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Functions of geodetic latitude. SP = SIN(PHI) CP = COS(PHI) W = 1D0-F W = W*W D = CP*CP + W*SP*SP IF ( D .GT. 0D0 ) THEN AC = A / SQRT(D) AS = W * AC * Geocentric vector. R = ( AC + HEIGHT ) * CP XYZ(1) = R * COS(ELONG) XYZ(2) = R * SIN(ELONG) XYZ(3) = ( AS + HEIGHT ) * SP * Success. J = 0 ELSE * Fail. J = -1 END IF * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_GD2GC ( N, ELONG, PHI, HEIGHT, XYZ, J ) *+ * - - - - - - - - - - * i a u _ G D 2 G C * - - - - - - - - - - * * Transform geodetic coordinates to geocentric using the specified * reference ellipsoid. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical transformation. * * Given: * N i ellipsoid identifier (Note 1) * ELONG d longitude (radians, east +ve) * PHI d latitude (geodetic, radians, Note 3) * HEIGHT d height above ellipsoid (geodetic, Notes 2,3) * * Returned: * XYZ d(3) geocentric vector (Note 2) * J i status: 0 = OK * -1 = illegal identifier (Note 3) * -2 = illegal case (Note 3) * * Notes: * * 1) The identifier N is a number that specifies the choice of * reference ellipsoid. The following are supported: * * N ellipsoid * * 1 WGS84 * 2 GRS80 * 3 WGS72 * * The number N has no significance outside the SOFA software. * * 2) The height (HEIGHT, given) and the geocentric vector (XYZ, * returned) are in meters. * * 3) No validation is performed on the arguments ELONG, PHI and HEIGHT. * An error status J=-1 means that the identifier N is illegal. An * error status J=-2 protects against cases that would lead to * arithmetic exceptions. In all error cases, XYZ is set to zeros. * * 4) The inverse transformation is performed in the routine iau_GC2GD. * * Called: * iau_EFORM Earth reference ellipsoids * iau_GD2GCE geodetic to geocentric transformation, general * iau_ZP zero p-vector * * This revision: 2010 January 18 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE INTEGER N DOUBLE PRECISION ELONG, PHI, HEIGHT, XYZ(3) INTEGER J DOUBLE PRECISION A, F * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Obtain reference ellipsoid parameters. CALL iau_EFORM ( N, A, F, J ) * If OK, transform longitude, geodetic latitude, height to x,y,z. IF ( J.EQ.0 ) THEN CALL iau_GD2GCE ( A, F, ELONG, PHI, HEIGHT, XYZ, J ) IF ( J.NE.0 ) J=-2 END IF * Deal with any errors. IF ( J.NE.0 ) CALL iau_ZP ( XYZ ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_GMST00 ( UTA, UTB, TTA, TTB ) *+ * - - - - - - - - - - - * i a u _ G M S T 0 0 * - - - - - - - - - - - * * Greenwich Mean Sidereal Time (model consistent with IAU 2000 * resolutions). * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * UTA, UTB d UT1 as a 2-part Julian Date (Notes 1,2) * TTA, TTB d TT as a 2-part Julian Date (Notes 1,2) * * Returned: * iau_GMST00 d Greenwich mean sidereal time (radians) * * Notes: * * 1) The UT1 and TT dates UTA+UTB and TTA+TTB respectively, are both * Julian Dates, apportioned in any convenient way between the * argument pairs. For example, JD=2450123.7 could be expressed in * any of these ways, among others: * * Part A Part B * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable (in the case of UT; the TT is not at all critical * in this respect). The J2000 and MJD methods are good compromises * between resolution and convenience. For UT, the date & time * method is best matched to the algorithm that is used by the Earth * Rotation Angle routine, called internally: maximum accuracy (or, * at least, minimum noise) is delivered when the UTA argument is for * 0hrs UT1 on the day in question and the UTB argument lies in the * range 0 to 1, or vice versa. * * 2) Both UT1 and TT are required, UT1 to predict the Earth rotation * and TT to predict the effects of precession. If UT1 is used for * both purposes, errors of order 100 microarcseconds result. * * 3) This GMST is compatible with the IAU 2000 resolutions and must be * used only in conjunction with other IAU 2000 compatible components * such as precession-nutation and equation of the equinoxes. * * 4) The result is returned in the range 0 to 2pi. * * 5) The algorithm is from Capitaine et al. (2003) and IERS Conventions * 2003. * * Called: * iau_ERA00 Earth rotation angle, IAU 2000 * iau_ANP normalize angle into range 0 to 2pi * * References: * * Capitaine, N., Wallace, P.T. and McCarthy, D.D., "Expressions to * implement the IAU 2000 definition of UT1", Astronomy & * Astrophysics, 406, 1135-1149 (2003) * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION UTA, UTB, TTA, TTB * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian century DOUBLE PRECISION DJC PARAMETER ( DJC = 36525D0 ) DOUBLE PRECISION T DOUBLE PRECISION iau_ANP, iau_ERA00 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * TT Julian centuries since J2000.0. T = ( ( TTA-DJ00 ) + TTB ) / DJC * Greenwich Mean Sidereal Time, IAU 2000. iau_GMST00 = iau_ANP ( iau_ERA00 ( UTA, UTB ) + : ( 0.014506D0 + : ( 4612.15739966D0 + : ( + 1.39667721D0 + : ( - 0.00009344D0 + : ( + 0.00001882D0 ) : * T ) * T ) * T ) * T ) * DAS2R ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_GMST06 ( UTA, UTB, TTA, TTB ) *+ * - - - - - - - - - - - * i a u _ G M S T 0 6 * - - - - - - - - - - - * * Greenwich mean sidereal time (consistent with IAU 2006 precession). * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * UTA, UTB d UT1 as a 2-part Julian Date (Notes 1,2) * TTA, TTB d TT as a 2-part Julian Date (Notes 1,2) * * Returned: * iau_GMST06 d Greenwich mean sidereal time (radians) * * Notes: * * 1) The UT1 and TT dates UTA+UTB and TTA+TTB respectively, are both * Julian Dates, apportioned in any convenient way between the * argument pairs. For example, JD=2450123.7 could be expressed in * any of these ways, among others: * * Part A Part B * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable (in the case of UT; the TT is not at all critical * in this respect). The J2000 and MJD methods are good compromises * between resolution and convenience. For UT, the date & time * method is best matched to the algorithm that is used by the Earth * rotation angle routine, called internally: maximum accuracy (or, * at least, minimum noise) is delivered when the UTA argument is for * 0hrs UT1 on the day in question and the UTB argument lies in the * range 0 to 1, or vice versa. * * 2) Both UT1 and TT are required, UT1 to predict the Earth rotation * and TT to predict the effects of precession. If UT1 is used for * both purposes, errors of order 100 microarcseconds result. * * 3) This GMST is compatible with the IAU 2006 precession and must not * be used with other precession models. * * 4) The result is returned in the range 0 to 2pi. * * Called: * iau_ERA00 Earth rotation angle, IAU 2000 * iau_ANP normalize angle into range 0 to 2pi * * Reference: * * Capitaine, N., Wallace, P.T. & Chapront, J., 2005, * Astron.Astrophys. 432, 355 * * This revision: 2010 March 9 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION UTA, UTB, TTA, TTB * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian century DOUBLE PRECISION DJC PARAMETER ( DJC = 36525D0 ) DOUBLE PRECISION T DOUBLE PRECISION iau_ANP, iau_ERA00 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * TT Julian centuries since J2000.0. T = ( ( TTA-DJ00 ) + TTB ) / DJC * Greenwich mean sidereal time, IAU 2006. iau_GMST06 = iau_ANP ( iau_ERA00 ( UTA, UTB ) + : ( 0.014506D0 + : ( 4612.156534D0 + : ( 1.3915817D0 + : ( - 0.00000044D0 + : ( - 0.000029956D0 + : ( - 0.0000000368D0 ) : * T ) * T ) * T ) * T ) * T ) * DAS2R ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_GMST82 ( DJ1, DJ2 ) *+ * - - - - - - - - - - - * i a u _ G M S T 8 2 * - - - - - - - - - - - * * Universal Time to Greenwich Mean Sidereal Time (IAU 1982 model). * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * DJ1, DJ2 d UT1 Julian Date (see note) * * Returned: * iau_GMST82 d Greenwich mean sidereal time (radians) * * Notes: * * 1) The UT1 epoch DJ1+DJ2 is a Julian Date, apportioned in any * convenient way between the arguments DJ1 and DJ2. For example, * JD(UT1)=2450123.7 could be expressed in any of these ways, * among others: * * DJ1 DJ2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 and MJD methods are good compromises * between resolution and convenience. The date & time method is * best matched to the algorithm used: maximum accuracy (or, at * least, minimum noise) is delivered when the DJ1 argument is for * 0hrs UT1 on the day in question and the DJ2 argument lies in the * range 0 to 1, or vice versa. * * 2) The algorithm is based on the IAU 1982 expression. This is always * described as giving the GMST at 0 hours UT1. In fact, it gives the * difference between the GMST and the UT, the steady 4-minutes-per-day * drawing-ahead of ST with respect to UT. When whole days are ignored, * the expression happens to equal the GMST at 0 hours UT1 each day. * * 3) In this routine, the entire UT1 (the sum of the two arguments DJ1 * and DJ2) is used directly as the argument for the standard formula, * the constant term of which is adjusted by 12 hours to take account * of the noon phasing of Julian Date. The UT1 is then added, but * omitting whole days to conserve accuracy. * * 4) The result is returned in the range 0 to 2pi. * * Called: * iau_ANP normalize angle into range 0 to 2pi * * References: * * Transactions of the International Astronomical Union, * XVIII B, 67 (1983). * * Aoki et al., Astron.Astrophys., 105, 359-361 (1982). * * This revision: 2017 October 12 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DJ1, DJ2 * Seconds of time to radians DOUBLE PRECISION DS2R PARAMETER ( DS2R = 7.272205216643039903848712D-5 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Seconds per day, days per Julian century DOUBLE PRECISION D2S, DJC PARAMETER ( D2S = 86400D0, DJC = 36525D0 ) * Coefficients of IAU 1982 GMST-UT1 model DOUBLE PRECISION A, B, C, D PARAMETER ( A = 24110.54841D0 - D2S/2D0, : B = 8640184.812866D0, : C = 0.093104D0, : D = -6.2D-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. DOUBLE PRECISION D1, D2, T, F DOUBLE PRECISION iau_ANP * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Julian centuries since fundamental epoch. IF ( DJ1 .LT. DJ2 ) THEN D1 = DJ1 D2 = DJ2 ELSE D1 = DJ2 D2 = DJ1 END IF T = ( D1 + ( D2-DJ00 ) ) / DJC * Fractional part of JD(UT1), in seconds. F = D2S * ( MOD(D1,1D0) + MOD(D2,1D0) ) * GMST at this UT1. iau_GMST82 = iau_ANP ( DS2R * ( (A+(B+(C+D*T)*T)*T) + F ) ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_GST00A ( UTA, UTB, TTA, TTB ) *+ * - - - - - - - - - - - * i a u _ G S T 0 0 A * - - - - - - - - - - - * * Greenwich Apparent Sidereal Time (consistent with IAU 2000 * resolutions). * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * UTA, UTB d UT1 as a 2-part Julian Date (Notes 1,2) * TTA, TTB d TT as a 2-part Julian Date (Notes 1,2) * * Returned: * iau_GST00A d Greenwich apparent sidereal time (radians) * * Notes: * * 1) The UT1 and TT dates UTA+UTB and TTA+TTB respectively, are both * Julian Dates, apportioned in any convenient way between the * argument pairs. For example, JD=2450123.7 could be expressed in * any of these ways, among others: * * Part A Part B * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable (in the case of UT; the TT is not at all critical * in this respect). The J2000 and MJD methods are good compromises * between resolution and convenience. For UT, the date & time * method is best matched to the algorithm that is used by the Earth * Rotation Angle routine, called internally: maximum accuracy (or, * at least, minimum noise) is delivered when the UTA argument is for * 0hrs UT1 on the day in question and the UTB argument lies in the * range 0 to 1, or vice versa. * * 2) Both UT1 and TT are required, UT1 to predict the Earth rotation * and TT to predict the effects of precession-nutation. If UT1 is * used for both purposes, errors of order 100 microarcseconds * result. * * 3) This GAST is compatible with the IAU 2000 resolutions and must be * used only in conjunction with other IAU 2000 compatible components * such as precession-nutation. * * 4) The result is returned in the range 0 to 2pi. * * 5) The algorithm is from Capitaine et al. (2003) and IERS Conventions * 2003. * * Called: * iau_GMST00 Greenwich mean sidereal time, IAU 2000 * iau_EE00A equation of the equinoxes, IAU 2000A * iau_ANP normalize angle into range 0 to 2pi * * References: * * Capitaine, N., Wallace, P.T. and McCarthy, D.D., "Expressions to * implement the IAU 2000 definition of UT1", Astronomy & * Astrophysics, 406, 1135-1149 (2003) * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2007 December 8 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION UTA, UTB, TTA, TTB DOUBLE PRECISION iau_ANP, iau_GMST00, iau_EE00A * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - iau_GST00A = iau_ANP ( iau_GMST00 ( UTA,UTB, TTA,TTB ) + : iau_EE00A ( TTA,TTB ) ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_GST00B ( UTA, UTB ) *+ * - - - - - - - - - - - * i a u _ G S T 0 0 B * - - - - - - - - - - - * * Greenwich Apparent Sidereal Time (consistent with IAU 2000 * resolutions but using the truncated nutation model IAU 2000B). * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * UTA, UTB d UT1 as a 2-part Julian Date (Notes 1,2) * * Returned: * iau_GST00B d Greenwich apparent sidereal time (radians) * * Notes: * * 1) The UT1 date UTA+UTB is a Julian Date, apportioned in any * convenient way between the argument pair. For example, * JD=2450123.7 could be expressed in any of these ways, among * others: * * UTA UTB * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in cases * where the loss of several decimal digits of resolution is * acceptable. The J2000 and MJD methods are good compromises * between resolution and convenience. For UT, the date & time * method is best matched to the algorithm that is used by the Earth * Rotation Angle routine, called internally: maximum accuracy (or, * at least, minimum noise) is delivered when the UTA argument is for * 0hrs UT1 on the day in question and the UTB argument lies in the * range 0 to 1, or vice versa. * * 2) The result is compatible with the IAU 2000 resolutions, except * that accuracy has been compromised for the sake of speed and * convenience in two respects: * * . UT is used instead of TDB (or TT) to compute the precession * component of GMST and the equation of the equinoxes. This * results in errors of order 0.1 mas at present. * * . The IAU 2000B abridged nutation model (McCarthy & Luzum, 2001) * is used, introducing errors of up to 1 mas. * * 3) This GAST is compatible with the IAU 2000 resolutions and must be * used only in conjunction with other IAU 2000 compatible components * such as precession-nutation. * * 4) The result is returned in the range 0 to 2pi. * * 5) The algorithm is from Capitaine et al. (2003) and IERS Conventions * 2003. * * Called: * iau_GMST00 Greenwich mean sidereal time, IAU 2000 * iau_EE00B equation of the equinoxes, IAU 2000B * iau_ANP normalize angle into range 0 to 2pi * * References: * * Capitaine, N., Wallace, P.T. and McCarthy, D.D., "Expressions to * implement the IAU 2000 definition of UT1", Astronomy & * Astrophysics, 406, 1135-1149 (2003) * * McCarthy, D.D. & Luzum, B.J., "An abridged model of the * precession-nutation of the celestial pole", Celestial Mechanics & * Dynamical Astronomy, 85, 37-49 (2003) * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2007 December 8 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION UTA, UTB DOUBLE PRECISION iau_ANP, iau_GMST00, iau_EE00B * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - iau_GST00B = iau_ANP ( iau_GMST00 ( UTA,UTB, UTA,UTB ) + : iau_EE00B ( UTA,UTB ) ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_GST06A ( UTA, UTB, TTA, TTB ) *+ * - - - - - - - - - - - * i a u _ G S T 0 6 A * - - - - - - - - - - - * * Greenwich apparent sidereal time (consistent with IAU 2000 and 2006 * resolutions). * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * UTA, UTB d UT1 as a 2-part Julian Date (Notes 1,2) * TTA, TTB d TT as a 2-part Julian Date (Notes 1,2) * * Returned: * iau_GST06A d Greenwich apparent sidereal time (radians) * * Notes: * * 1) The UT1 and TT dates UTA+UTB and TTA+TTB respectively, are both * Julian Dates, apportioned in any convenient way between the * argument pairs. For example, JD=2450123.7 could be expressed in * any of these ways, among others: * * Part A Part B * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable (in the case of UT; the TT is not at all critical * in this respect). The J2000 and MJD methods are good compromises * between resolution and convenience. For UT, the date & time * method is best matched to the algorithm that is used by the Earth * rotation angle routine, called internally: maximum accuracy (or, * at least, minimum noise) is delivered when the UTA argument is for * 0hrs UT1 on the day in question and the UTB argument lies in the * range 0 to 1, or vice versa. * * 2) Both UT1 and TT are required, UT1 to predict the Earth rotation * and TT to predict the effects of precession-nutation. If UT1 is * used for both purposes, errors of order 100 microarcseconds * result. * * 3) This GAST is compatible with the IAU 2000/2006 resolutions and * must be used only in conjunction with IAU 2006 precession and * IAU 2000A nutation. * * 4) The result is returned in the range 0 to 2pi. * * Called: * iau_PNM06A classical NPB matrix, IAU 2006/2000A * iau_GST06 Greenwich apparent ST, IAU 2006, given NPB matrix * * Reference: * * Wallace, P.T. & Capitaine, N., 2006, Astron.Astrophys. 459, 981 * * This revision: 2010 March 5 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION UTA, UTB, TTA, TTB DOUBLE PRECISION RNPB(3,3) DOUBLE PRECISION iau_GST06 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Classical nutation x precession x bias matrix, IAU 2000A/2006. CALL iau_PNM06A ( TTA, TTB, RNPB ) * Greenwich apparent sidereal time. iau_GST06A = iau_GST06 ( UTA, UTB, TTA, TTB, RNPB ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_GST06 ( UTA, UTB, TTA, TTB, RNPB ) *+ * - - - - - - - - - - * i a u _ G S T 0 6 * - - - - - - - - - - * * Greenwich apparent sidereal time, IAU 2006, given the NPB matrix. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * UTA, UTB d UT1 as a 2-part Julian Date (Notes 1,2) * TTA, TTB d TT as a 2-part Julian Date (Notes 1,2) * RNPB d(3,3) nutation x precession x bias matrix * * Returned: * iau_GST06 d Greenwich apparent sidereal time (radians) * * Notes: * * 1) The UT1 and TT dates UTA+UTB and TTA+TTB respectively, are both * Julian Dates, apportioned in any convenient way between the * argument pairs. For example, JD=2450123.7 could be expressed in * any of these ways, among others: * * Part A Part B * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable (in the case of UT; the TT is not at all critical * in this respect). The J2000 and MJD methods are good compromises * between resolution and convenience. For UT, the date & time * method is best matched to the algorithm that is used by the Earth * rotation angle routine, called internally: maximum accuracy (or, * at least, minimum noise) is delivered when the UTA argument is for * 0hrs UT1 on the day in question and the UTB argument lies in the * range 0 to 1, or vice versa. * * 2) Both UT1 and TT are required, UT1 to predict the Earth rotation * and TT to predict the effects of precession-nutation. If UT1 is * used for both purposes, errors of order 100 microarcseconds * result. * * 3) Although the routine uses the IAU 2006 series for s+XY/2, it is * otherwise independent of the precession-nutation model and can in * practice be used with any equinox-based NPB matrix. * * 4) The result is returned in the range 0 to 2pi. * * Called: * iau_BPN2XY extract CIP X,Y coordinates from NPB matrix * iau_S06 the CIO locator s, given X,Y, IAU 2006 * iau_ANP normalize angle into range 0 to 2pi * iau_ERA00 Earth rotation angle, IAU 2000 * iau_EORS equation of the origins, given NPB matrix and s * * Reference: * * Wallace, P.T. & Capitaine, N., 2006, Astron.Astrophys. 459, 981 * * This revision: 2008 January 2 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION UTA, UTB, TTA, TTB, RNPB(3,3) DOUBLE PRECISION X, Y, S DOUBLE PRECISION iau_S06, iau_ANP, iau_ERA00, iau_EORS * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Extract CIP coordinates. CALL iau_BPN2XY ( RNPB, X, Y ) * The CIO locator, s. S = iau_S06 ( TTA, TTB, X, Y ) * Greenwich apparent sidereal time. iau_GST06 = iau_ANP ( iau_ERA00 ( UTA, UTB ) - : iau_EORS ( RNPB, S ) ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_GST94 ( UTA, UTB ) *+ * - - - - - - - - - - * i a u _ G S T 9 4 * - - - - - - - - - - * * Greenwich Apparent Sidereal Time (consistent with IAU 1982/94 * resolutions). * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * UTA, UTB d UT1 as a 2-part Julian Date (Notes 1,2) * * Returned: * iau_GST94 d Greenwich apparent sidereal time (radians) * * Notes: * * 1) The UT1 date UTA+UTB is a Julian Date, apportioned in any * convenient way between the argument pair. For example, * JD=2450123.7 could be expressed in any of these ways, among * others: * * UTA UTB * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in cases * where the loss of several decimal digits of resolution is * acceptable. The J2000 and MJD methods are good compromises * between resolution and convenience. For UT, the date & time * method is best matched to the algorithm that is used by the Earth * Rotation Angle routine, called internally: maximum accuracy (or, * at least, minimum noise) is delivered when the UTA argument is for * 0hrs UT1 on the day in question and the UTB argument lies in the * range 0 to 1, or vice versa. * * 2) The result is compatible with the IAU 1982 and 1994 resolutions, * except that accuracy has been compromised for the sake of * convenience in that UT is used instead of TDB (or TT) to compute * the equation of the equinoxes. * * 3) This GAST must be used only in conjunction with contemporaneous * IAU standards such as 1976 precession, 1980 obliquity and 1982 * nutation. It is not compatible with the IAU 2000 resolutions. * * 4) The result is returned in the range 0 to 2pi. * * Called: * iau_GMST82 Greenwich mean sidereal time, IAU 1982 * iau_EQEQ94 equation of the equinoxes, IAU 1994 * iau_ANP normalize angle into range 0 to 2pi * * References: * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992) * * IAU Resolution C7, Recommendation 3 (1994) * * This revision: 2007 December 8 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION UTA, UTB DOUBLE PRECISION iau_ANP, iau_GMST82, iau_EQEQ94 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - iau_GST94 = iau_ANP ( iau_GMST82 ( UTA, UTB ) + : iau_EQEQ94 ( UTA, UTB ) ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_H2FK5 ( RH, DH, DRH, DDH, PXH, RVH, : R5, D5, DR5, DD5, PX5, RV5 ) *+ * - - - - - - - - - - * i a u _ H 2 F K 5 * - - - - - - - - - - * * Transform Hipparcos star data into the FK5 (J2000.0) system. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given (all Hipparcos, epoch J2000.0): * RH d RA (radians) * DH d Dec (radians) * DRH d proper motion in RA (dRA/dt, rad/Jyear) * DDH d proper motion in Dec (dDec/dt, rad/Jyear) * PXH d parallax (arcsec) * RVH d radial velocity (km/s, positive = receding) * * Returned (all FK5, equinox J2000.0, epoch J2000.0): * R5 d RA (radians) * D5 d Dec (radians) * DR5 d proper motion in RA (dRA/dt, rad/Jyear) * DD5 d proper motion in Dec (dDec/dt, rad/Jyear) * PX5 d parallax (arcsec) * RV5 d radial velocity (km/s, positive = receding) * * Notes: * * 1) This routine transforms Hipparcos star positions and proper * motions into FK5 J2000.0. * * 2) The proper motions in RA are dRA/dt rather than cos(Dec)*dRA/dt, * and are per year rather than per century. * * 3) The FK5 to Hipparcos transformation is modeled as a pure rotation * and spin; zonal errors in the FK5 catalog are not taken into * account. * * 4) See also iau_FK52H, iau_FK5HZ, iau_HFK5Z. * * Called: * iau_STARPV star catalog data to space motion pv-vector * iau_FK5HIP FK5 to Hipparcos rotation and spin * iau_RV2M r-vector to r-matrix * iau_RXP product of r-matrix and p-vector * iau_TRXP product of transpose of r-matrix and p-vector * iau_PXP vector product of two p-vectors * iau_PMP p-vector minus p-vector * iau_PVSTAR space motion pv-vector to star catalog data * * Reference: * * F.Mignard & M.Froeschle, Astron.Astrophys., 354, 732-739 (2000). * * This revision: 2017 October 12 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RH, DH, DRH, DDH, PXH, RVH, : R5, D5, DR5, DD5, PX5, RV5 DOUBLE PRECISION PVH(3,2), R5H(3,3), S5H(3), SH(3), WXP(3), : VV(3), PV5(3,2) INTEGER J, I * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Hipparcos barycentric position/velocity pv-vector (normalized). CALL iau_STARPV ( RH, DH, DRH, DDH, PXH, RVH, PVH, J ) * FK5 to Hipparcos orientation matrix and spin vector. CALL iau_FK5HIP ( R5H, S5H ) * Make spin units per day instead of per year. DO 1 I=1,3 S5H(I) = S5H(I) / 365.25D0 1 CONTINUE * Orient the spin into the Hipparcos system. CALL iau_RXP ( R5H, S5H, SH ) * De-orient the Hipparcos position into the FK5 system. CALL iau_TRXP ( R5H, PVH(1,1), PV5(1,1) ) * Apply spin to the position giving an extra space motion component. CALL iau_PXP ( PVH(1,1), SH, WXP ) * Subtract this component from the Hipparcos space motion. CALL iau_PMP ( PVH(1,2), WXP, VV ) * De-orient the Hipparcos space motion into the FK5 system. CALL iau_TRXP ( R5H, VV, PV5(1,2) ) * FK5 pv-vector to spherical. CALL iau_PVSTAR ( PV5, R5, D5, DR5, DD5, PX5, RV5, J ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_HD2AE ( HA, DEC, PHI, AZ, EL ) *+ * - - - - - - - - - - * i a u _ H D 2 A E * - - - - - - - - - - * * Equatorial to horizon coordinates: transform hour angle and * declination to azimuth and altitude. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * HA d hour angle (local) * DEC d declination * PHI d site latitude * * Returned: * AZ d azimuth * EL d altitude (informally, elevation) * * Notes: * * 1) All the arguments are angles in radians. * * 2) Azimuth is returned in the range 0-2pi; north is zero, and east * is +pi/2. Altitude is returned in the range +/- pi/2. * * 3) The latitude PHI is pi/2 minus the angle between the Earth's * rotation axis and the adopted zenith. In many applications it * will be sufficient to use the published geodetic latitude of the * site. In very precise (sub-arcsecond) applications, PHI can be * corrected for polar motion. * * 4) The returned azimuth AZ is with respect to the rotational north * pole, as opposed to the ITRS pole, and for sub-arcsecond accuracy * will need to be adjusted for polar motion if it is to be with * respect to north on a map of the Earth's surface. * * 5) Should the user wish to work with respect to the astronomical * zenith rather than the geodetic zenith, PHI will need to be * adjusted for deflection of the vertical (often tens of * arcseconds), and the zero point of HA will also be affected. * * 6) The transformation is the same as Vh = Rz(pi)*Ry(pi/2-phi)*Ve, * where Vh and Ve are lefthanded unit vectors in the (az,el) and * (ha,dec) systems respectively and Ry and Rz are rotations about * first the y-axis and then the z-axis. (n.b. Rz(pi) simply * reverses the signs of the x and y components.) For efficiency, * the algorithm is written out rather than calling other utility * functions. For applications that require even greater * efficiency, additional savings are possible if constant terms * such as functions of latitude are computed once and for all. * * 7) Again for efficiency, no range checking of arguments is carried * out. * * Last revision: 2018 January 2 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION HA, DEC, PHI, AZ, EL DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) DOUBLE PRECISION SH, CH, SD, CD, SP, CP, X, Y, Z, R, A * Useful trig functions. SH = SIN(HA) CH = COS(HA) SD = SIN(DEC) CD = COS(DEC) SP = SIN(PHI) CP = COS(PHI) * Az,Alt unit vector. X = - CH*CD*SP + SD*CP Y = - SH*CD Z = CH*CD*CP + SD*SP * To spherical. R = SQRT(X*X + Y*Y) IF ( R.EQ.0D0 ) THEN A = 0D0 ELSE A = ATAN2(Y,X) END IF IF ( A.LT.0D0 ) A = A+D2PI AZ = A EL = ATAN2(Z,R) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_HD2PA ( HA, DEC, PHI ) *+ * - - - - - - - - - - * i a u _ H D 2 P A * - - - - - - - - - - * * Parallactic angle for a given hour angle and declination. * * Given: * HA d hour angle * DEC d declination * PHI d site latitude * * Returned: * iau_HD2PA d parallactic angle * * Notes: * * 1) All the arguments are angles in radians. * * 2) The parallactic angle at a point in the sky is the position angle * of the vertical, i.e. the angle between the directions to the * north celestial pole and to the zenith respectively. * * 3) The result is returned in the range -pi to +pi. * * 4) At the pole itself a zero result is returned. * * 5) The latitude PHI is pi/2 minus the angle between the Earth's * rotation axis and the adopted zenith. In many applications it * will be sufficient to use the published geodetic latitude of the * site. In very precise (sub-arcsecond) applications, PHI can be * corrected for polar motion. * * 6) Should the user wish to work with respect to the astronomical * zenith rather than the geodetic zenith, PHI will need to be * adjusted for deflection of the vertical (often tens of * arcseconds), and the zero point of HA will also be affected. * * Reference: * Smart, W.M., "Spherical Astronomy", Cambridge University Press, * 6th edition (Green, 1977), p49. * * This revision: 2017 September 12 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION HA, DEC, PHI DOUBLE PRECISION CP, SQSZ, CQSZ * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CP = COS(PHI) SQSZ = CP*SIN(HA) CQSZ = SIN(PHI)*COS(DEC) - CP*SIN(DEC)*COS(HA) IF ( SQSZ.EQ.0D0 .AND. CQSZ.EQ.0D0 ) CQSZ = 1D0 iau_HD2PA = ATAN2(SQSZ,CQSZ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_HFK5Z ( RH, DH, DATE1, DATE2, R5, D5, DR5, DD5 ) *+ * - - - - - - - - - - * i a u _ H F K 5 Z * - - - - - - - - - - * * Transform a Hipparcos star position into FK5 J2000.0, assuming * zero Hipparcos proper motion. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * RH d Hipparcos RA (radians) * DH d Hipparcos Dec (radians) * DATE1,DATE2 d TDB date (Note 1) * * Returned (all FK5, equinox J2000.0, date DATE1+DATE2): * R5 d RA (radians) * D5 d Dec (radians) * DR5 d FK5 RA proper motion (rad/year, Note 4) * DD5 d Dec proper motion (rad/year, Note 4) * * Notes: * * 1) The TDB date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TDB)=2450123.7 could be expressed in any of these ways, among * others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The proper motion in RA is dRA/dt rather than cos(Dec)*dRA/dt. * * 3) The FK5 to Hipparcos transformation is modeled as a pure * rotation and spin; zonal errors in the FK5 catalogue are * not taken into account. * * 4) It was the intention that Hipparcos should be a close * approximation to an inertial frame, so that distant objects * have zero proper motion; such objects have (in general) * non-zero proper motion in FK5, and this routine returns those * fictitious proper motions. * * 5) The position returned by this routine is in the FK5 J2000.0 * reference system but at date DATE1+DATE2. * * 6) See also iau_FK52H, iau_H2FK5, iau_FK5ZHZ. * * Called: * iau_S2C spherical coordinates to unit vector * iau_FK5HIP FK5 to Hipparcos rotation and spin * iau_RXP product of r-matrix and p-vector * iau_SXP multiply p-vector by scalar * iau_RXR product of two r-matrices * iau_TRXP product of transpose of r-matrix and p-vector * iau_PXP vector product of two p-vectors * iau_PV2S pv-vector to spherical * iau_ANP normalize angle into range 0 to 2pi * * Reference: * * F.Mignard & M.Froeschle, Astron. Astrophys. 354, 732-739 (2000). * * This revision: 2012 September 5 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RH, DH, DATE1, DATE2, R5, D5, DR5, DD5 * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian year DOUBLE PRECISION DJY PARAMETER ( DJY = 365.25D0 ) DOUBLE PRECISION T, PH(3), R5H(3,3), S5H(3), SH(3), VST(3), : RST(3,3), R5HT(3,3), PV5E(3,2), VV(3), : W, R, V DOUBLE PRECISION iau_ANP * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Time interval from fundamental epoch J2000.0 to given date (JY). T = ( ( DATE1-DJ00 ) + DATE2 ) / DJY * Hipparcos barycentric position vector (normalized). CALL iau_S2C ( RH, DH, PH ) * FK5 to Hipparcos orientation matrix and spin vector. CALL iau_FK5HIP ( R5H, S5H ) * Rotate the spin into the Hipparcos system. CALL iau_RXP ( R5H, S5H, SH ) * Accumulated Hipparcos wrt FK5 spin over that interval. CALL iau_SXP ( T, S5H, VST ) * Express the accumulated spin as a rotation matrix. CALL iau_RV2M ( VST, RST ) * Rotation matrix: accumulated spin, then FK5 to Hipparcos. CALL iau_RXR ( R5H, RST, R5HT ) * De-orient & de-spin the Hipparcos position into FK5 J2000.0. CALL iau_TRXP ( R5HT, PH, PV5E ) * Apply spin to the position giving a space motion. CALL iau_PXP ( SH, PH, VV ) * De-orient & de-spin the Hipparcos space motion into FK5 J2000.0. CALL iau_TRXP ( R5HT, VV, PV5E(1,2) ) * FK5 position/velocity pv-vector to spherical. CALL iau_PV2S ( PV5E, W, D5, R, DR5, DD5, V ) R5 = iau_ANP ( W ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_ICRS2G ( DR, DD, DL, DB ) *+ * - - - - - - - - - - - * i a u _ I C R S 2 G * - - - - - - - - - - - * * Transformation from ICRS to Galactic Coordinates. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DR d ICRS right ascension (radians) * DD d ICRS declination (radians) * * Returned: * DL d galactic longitude (radians) * DB d galactic latitude (radians) * * Notes: * * 1) The IAU 1958 system of Galactic coordinates was defined with * respect to the now obsolete reference system FK4 B1950.0. When * interpreting the system in a modern context, several factors have * to be taken into account: * * . The inclusion in FK4 positions of the E-terms of aberration. * * . The distortion of the FK4 proper motion system by differential * Galactic rotation. * * . The use of the B1950.0 equinox rather than the now-standard * J2000.0. * * . The frame bias between ICRS and the J2000.0 mean place system. * * The Hipparcos Catalogue (Perryman & ESA 1997) provides a rotation * matrix that transforms directly between ICRS and Galactic * coordinates with the above factors taken into account. The * matrix is derived from three angles, namely the ICRS coordinates * of the Galactic pole and the longitude of the ascending node of * the galactic equator on the ICRS equator. They are given in * degrees to five decimal places and for canonical purposes are * regarded as exact. In the Hipparcos Catalogue the matrix elements * are given to 10 decimal places (about 20 microarcsec). In the * present SOFA routine the matrix elements have been recomputed from * the canonical three angles and are given to 30 decimal places. * * 2) The inverse transformation is performed by the routine iau_G2ICRS. * * Called: * iau_ANP normalize angle into range 0 to 2pi * iau_ANPM normalize angle into range +/- pi * iau_S2C spherical coordinates to unit vector * iau_RXP product of r-matrix and p-vector * iau_C2S p-vector to spherical * * Reference: * Perryman M.A.C. & ESA, 1997, ESA SP-1200, The Hipparcos and Tycho * catalogues. Astrometric and photometric star catalogues * derived from the ESA Hipparcos Space Astrometry Mission. ESA * Publications Division, Noordwijk, Netherlands. * * This revision: 2015 January 9 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DR, DD, DL, DB DOUBLE PRECISION iau_ANP, iau_ANPM DOUBLE PRECISION V1(3), V2(3) * * L2,B2 system of galactic coordinates in the form presented in the * Hipparcos Catalogue. In degrees: * * P = 192.85948 right ascension of the Galactic north pole in ICRS * Q = 27.12825 declination of the Galactic north pole in ICRS * R = 32.93192 longitude of the ascending node of the Galactic * plane on the ICRS equator * * ICRS to galactic rotation matrix, obtained by computing * R_3(-R) R_1(pi/2-Q) R_3(pi/2+P) to the full precision shown: * DOUBLE PRECISION R(3,3) DATA R(1,1), R(1,2), R(1,3), : R(2,1), R(2,2), R(2,3), : R(3,1), R(3,2), R(3,3) / : -0.054875560416215368492398900454D0, : -0.873437090234885048760383168409D0, : -0.483835015548713226831774175116D0, : +0.494109427875583673525222371358D0, : -0.444829629960011178146614061616D0, : +0.746982244497218890527388004556D0, : -0.867666149019004701181616534570D0, : -0.198076373431201528180486091412D0, : +0.455983776175066922272100478348D0 / * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Spherical to Cartesian. CALL iau_S2C ( DR, DD, V1 ) * ICRS to Galactic. CALL iau_RXP ( R, V1, V2 ) * Cartesian to spherical. CALL iau_C2S ( V2, DL, DB ) * Express in conventional ranges. DL = iau_ANP ( DL ) DB = iau_ANPM ( DB ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_IR ( R ) *+ * - - - - - - - * i a u _ I R * - - - - - - - * * Initialize an r-matrix to the identity matrix. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Returned: * R d(3,3) r-matrix * * This revision: 2012 April 3 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION R(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - R(1,1) = 1D0 R(1,2) = 0D0 R(1,3) = 0D0 R(2,1) = 0D0 R(2,2) = 1D0 R(2,3) = 0D0 R(3,1) = 0D0 R(3,2) = 0D0 R(3,3) = 1D0 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_JD2CAL ( DJ1, DJ2, IY, IM, ID, FD, J ) *+ * - - - - - - - - - - - * i a u _ J D 2 C A L * - - - - - - - - - - - * * Julian Date to Gregorian year, month, day, and fraction of a day. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DJ1,DJ2 d Julian Date (Notes 1, 2) * * Returned: * IY i year * IM i month * ID i day * FD d fraction of day * J i status: * 0 = OK * -1 = unacceptable date (Note 1) * * Notes: * * 1) The earliest valid date is -68569.5 (-4900 March 1). The * largest value accepted is 10^9. * * 2) The Julian Date is apportioned in any convenient way between * the arguments DJ1 and DJ2. For example, JD=2450123.7 could * be expressed in any of these ways, among others: * * DJ1 DJ2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * 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: * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992), * Section 12.92 (p604). * * This revision: 2017 January 12 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DJ1, DJ2 INTEGER IY, IM, ID DOUBLE PRECISION FD INTEGER J * Minimum and maximum allowed JD DOUBLE PRECISION DJMIN, DJMAX PARAMETER ( DJMIN = -68569.5D0, DJMAX = 1D9 ) INTEGER JD, L, N, I, K DOUBLE PRECISION DJ, D1, D2, F1, F2, F, D * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Check if date is acceptable. DJ = DJ1 + DJ2 IF ( DJ.LT.DJMIN .OR. DJ.GT.DJMAX ) THEN J = -1 ELSE J = 0 * Copy the date, big then small, and re-align to midnight. IF ( DJ1 .GE. DJ2 ) THEN D1 = DJ1 D2 = DJ2 ELSE D1 = DJ2 D2 = DJ1 END IF D2 = D2 - 0.5D0 * Separate day and fraction. F1 = MOD(D1,1D0) F2 = MOD(D2,1D0) F = MOD(F1+F2,1D0) IF ( F .LT. 0D0 ) F = F+1D0 D = ANINT(D1-F1) + ANINT(D2-F2) + ANINT(F1+F2-F) JD = NINT(D) + 1 * Express day in Gregorian calendar. L = JD + 68569 N = ( 4*L ) / 146097 L = L - ( 146097*N + 3 ) / 4 I = ( 4000 * (L+1) ) / 1461001 L = L - ( 1461*I ) / 4 + 31 K = ( 80*L ) / 2447 ID = L - ( 2447*K ) / 80 L = K / 11 IM = K + 2 - 12*L IY = 100 * ( N-49 ) + I + L FD = F END IF * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_JDCALF ( NDP, DJ1, DJ2, IYMDF, J ) *+ * - - - - - - - - - - - * i a u _ J D C A L F * - - - - - - - - - - - * * Julian Date to Gregorian Calendar, expressed in a form convenient * for formatting messages: rounded to a specified precision, and with * the fields stored in a single array. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * NDP i number of decimal places of days in fraction * DJ1,DJ2 d DJ1+DJ2 = Julian Date (Note 1) * * Returned: * IYMDF i(4) year, month, day, fraction in Gregorian * calendar * J i status: * -1 = date out of range * 0 = OK * +1 = NDP not 0-9 (interpreted as 0) * * Notes: * * 1) The Julian Date is apportioned in any convenient way between * the arguments DJ1 and DJ2. For example, JD=2450123.7 could * be expressed in any of these ways, among others: * * DJ1 DJ2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * 2) 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. * * 3) Refer to the routine iau_JD2CAL. * * 4) NDP should be 4 or less if internal overflows are to be * avoided on machines which use 16-bit integers. * * Called: * iau_JD2CAL JD to Gregorian calendar * * Reference: * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992), * Section 12.92 (p604). * * This revision: 2010 July 27 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE INTEGER NDP DOUBLE PRECISION DJ1, DJ2 INTEGER IYMDF(4), J INTEGER JS DOUBLE PRECISION DENOM, D1, D2, F1, F2, F * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Denominator of fraction (e.g. 100 for 2 decimal places). IF ( NDP.GE.0 .AND. NDP.LE.9 ) THEN J = 0 DENOM = DBLE(10**NDP) ELSE J = 1 DENOM = 1D0 END IF * Copy the date, big then small, and realign to midnight. IF ( DJ1 .GE. DJ2 ) THEN D1 = DJ1 D2 = DJ2 ELSE D1 = DJ2 D2 = DJ1 END IF D2 = D2 - 0.5D0 * Separate days and fractions. F1 = MOD(D1,1D0) F2 = MOD(D2,1D0) D1 = ANINT(D1-F1) D2 = ANINT(D2-F2) * Round the total fraction to the specified number of places. F = ANINT(( F1+F2 ) * DENOM) / DENOM * Re-assemble the rounded date and re-align to noon. D2 = D2 + F + 0.5D0 * Convert to Gregorian calendar. CALL iau_JD2CAL ( D1, D2, IYMDF(1), IYMDF(2), IYMDF(3), F, JS ) IF ( JS .EQ. 0 ) THEN IYMDF(4) = NINT(F*DENOM) ELSE J = JS END IF * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_LD ( BM, P, Q, E, EM, DLIM, P1 ) *+ * - - - - - - - * i a u _ L D * - - - - - - - * * Apply light deflection by a solar-system body, as part of * transforming coordinate direction into natural direction. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * BM d mass of the gravitating body (solar masses) * P d(3) direction from observer to source (unit vector) * Q d(3) direction from body to source (unit vector) * E d(3) direction from body to observer (unit vector) * EM d distance from body to observer (au) * DLIM d deflection limiter (Note 4) * * Returned: * P1 d(3) observer to deflected source (unit vector) * * Notes: * * 1) The algorithm is based on Expr. (70) in Klioner (2003) and * Expr. (7.63) in the Explanatory Supplement (Urban & Seidelmann * 2013), with some rearrangement to minimize the effects of machine * precision. * * 2) The mass parameter BM can, as required, be adjusted in order to * allow for such effects as quadrupole field. * * 3) The barycentric position of the deflecting body should ideally * correspond to the time of closest approach of the light ray to * the body. * * 4) The deflection limiter parameter DLIM is phi^2/2, where phi is the * angular separation (in radians) between source and body at which * limiting is applied. As phi shrinks below the chosen threshold, * the deflection is artificially reduced, reaching zero for phi = 0. * * 5) The returned vector P1 is not normalized, but the consequential * departure from unit magnitude is always negligible. * * 6) To accumulate total light deflection taking into account the * contributions from several bodies, call the present routine for * each body in succession, in decreasing order of distance from the * observer. * * 7) For efficiency, validation is omitted. The supplied vectors must * be of unit magnitude, and the deflection limiter non-zero and * positive. * * References: * * Urban, S. & Seidelmann, P. K. (eds), Explanatory Supplement to * the Astronomical Almanac, 3rd ed., University Science Books * (2013). * * Klioner, Sergei A., "A practical relativistic model for micro- * arcsecond astrometry in space", Astr. J. 125, 1580-1597 (2003). * * Called: * iau_PDP scalar product of two p-vectors * iau_PXP vector product of two p-vectors * * This revision: 2013 September 3 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION BM, P(3), Q(3), E(3), EM, DLIM, P1(3) * Schwarzschild radius of the Sun (au) * = 2 * 1.32712440041 D20 / (2.99792458 D8)^2 / 1.49597870700 D11 DOUBLE PRECISION SRS PARAMETER ( SRS = 1.97412574336D-08 ) INTEGER I DOUBLE PRECISION QPE(3), QDQPE, W, EQ(3), PEQ(3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Q . (Q + E). DO 1 I=1,3 QPE(I) = Q(I) + E(I) 1 CONTINUE CALL iau_PDP ( Q, QPE, QDQPE ) * 2 x G x BM / ( EM x c^2 x ( Q . (Q + E) ) ). W = BM * SRS / EM / MAX ( QDQPE, DLIM ) * P x (E x Q). CALL iau_PXP ( E, Q, EQ ) CALL iau_PXP ( P, EQ, PEQ ) * Apply the deflection. DO 2 I = 1,3 P1(I) = P(I) + W*PEQ(I) 2 CONTINUE * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_LDN ( N, B, OB, SC, SN ) *+ * - - - - - - - - * i a u _ L D N * - - - - - - - - * * For a star, apply light deflection by multiple solar-system bodies, * as part of transforming coordinate direction into natural direction. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * N i number of bodies (Note 1) * B d(8,N) data for each of the N bodies (Notes 1,2): * (1,I) mass of the body (solar masses, Note 3) * (2,I) deflection limiter (Note 4) * (3-5,I) barycentric position of the body (au) * (6-8,I) barycentric velocity of the body (au/day) * OB d(3) barycentric position of the observer (au) * SC d(3) observer to star coordinate direction (unit vector) * * Returned: * SN d(3) observer to deflected star (unit vector) * * 1) The array B contains N entries, one for each body to be * considered. If N = 0, no gravitational light deflection will be * applied, not even for the Sun. * * 2) The array B should include an entry for the Sun as well as for any * planet or other body to be taken into account. The entries should * be in the order in which the light passes the body. * * 3) In the entry in the B array for body I, the mass parameter B(1,I) * can, as required, be adjusted in order to allow for such effects * as quadrupole field. * * 4) The deflection limiter parameter B(2,I) is phi^2/2, where phi is * the angular separation (in radians) between star and body at which * limiting is applied. As phi shrinks below the chosen threshold, * the deflection is artificially reduced, reaching zero for phi = 0. * Example values suitable for a terrestrial observer, together with * masses, are as follows: * * body I B(1,I) B(2,I) * * Sun 1D0 6D-6 * Jupiter 0.00095435D0 3D-9 * Saturn 0.00028574D0 3D-10 * * 5) For cases where the starlight passes the body before reaching the * observer, the body is placed back along its barycentric track by * the light time from that point to the observer. For cases where * the body is "behind" the observer no such shift is applied. If * a different treatment is preferred, the user has the option of * instead using the iau_LD routine. Similarly, iau_LD can be used * for cases where the source is nearby, not a star. * * 6) The returned vector SN is not normalized, but the consequential * departure from unit magnitude is always negligible. * * 7) For efficiency, validation is omitted. The supplied masses must * be greater than zero, the position and velocity vectors must be * right, and the deflection limiter greater than zero. * * Reference: * * Urban, S. & Seidelmann, P. K. (eds), Explanatory Supplement to * the Astronomical Almanac, 3rd ed., University Science Books * (2013), Section 7.2.4. * * Called: * iau_CP copy p-vector * iau_PDP scalar product of two p-vectors * iau_PMP p-vector minus p-vector * iau_PPSP p-vector plus scaled p-vector * iau_PN decompose p-vector into modulus and direction * iau_LD light deflection by a solar-system body * * This revision: 2017 March 16 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE INTEGER N DOUBLE PRECISION B(8,N), OB(3), SC(3), SN(3) * Seconds per day. DOUBLE PRECISION DAYSEC PARAMETER ( DAYSEC = 86400D0 ) * Speed of light (m/s) DOUBLE PRECISION CMPS PARAMETER ( CMPS = 299792458D0 ) * Astronomical unit (m, IAU 2012) DOUBLE PRECISION AUM PARAMETER ( AUM = 149597870.7D3 ) * Light time for 1 au (day) DOUBLE PRECISION CR PARAMETER ( CR = AUM/CMPS/DAYSEC ) INTEGER I DOUBLE PRECISION S(3), V(3), D , DT, EV(3), EM, E(3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Star direction prior to deflection. CALL iau_CP ( SC, S ) * Body by body. DO 1 I=1,N * Body to observer vector at epoch of observation (au). CALL iau_PMP ( OB, B(3,I), V ) * Minus the time since the light passed the body (days). CALL iau_PDP ( S, V, D ) DT = D * CR * Neutralize if the star is "behind" the observer. DT = MIN ( DT, 0D0 ) * Backtrack the body to the time the light was passing the body. CALL iau_PPSP ( V, -DT, B(6,I), EV ) * Separate the body to observer vector into magnitude and direction. CALL iau_PN ( EV, EM, E ) * Apply light deflection for this body. CALL iau_LD ( B(1,I), S, S, E, EM, B(2,I), V ) * Update the star direction. CALL iau_CP ( V, S ) * Next body. 1 CONTINUE * Return the deflected star direction. CALL iau_CP ( S, SN ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_LDSUN ( P, E, EM, P1 ) *+ * - - - - - - - - - - * i a u _ L D S U N * - - - - - - - - - - * * Deflection of starlight by the Sun. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * P d(3) direction from observer to star (unit vector) * E d(3) direction from Sun to observer (unit vector) * EM d distance from Sun to observer (au) * * Returned: * P1 d(3) observer to deflected star (unit vector) * * Notes: * * 1) The source is presumed to be sufficiently distant that its * directions seen from the Sun and the observer are essentially * the same. * * 2) The deflection is restrained when the angle between the star and * the center of the Sun is less than a threshold value, falling to * zero deflection for zero separation. The chosen threshold value * is within the solar limb for all solar-system applications, and * is about 5 arcminutes for the case of a terrestrial observer. * * Called: * iau_LD light deflection by a solar-system body * * This revision: 2016 June 16 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION P(3), E(3), EM, P1(3) DOUBLE PRECISION DLIM * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Deflection limiter (smaller for distant observers). DLIM = 1D-6 / MAX(EM*EM,1D0) * Apply the deflection. CALL iau_LD ( 1D0, P, P, E, EM, DLIM, P1 ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_LTECEQ ( EPJ, DL, DB, DR, DD ) *+ * - - - - - - - - - - - * i a u _ L T E C E Q * - - - - - - - - - - - * * Transformation from ecliptic coordinates (mean equinox and ecliptic * of date) to ICRS RA,Dec, using a long-term precession model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * EPJ d Julian epoch (TT) * DL,DB d ecliptic longitude and latitude (radians) * * Returned: * DR,DD d ICRS right ascension and declination (radians) * * 1) No assumptions are made about whether the coordinates represent * starlight and embody astrometric effects such as parallax or * aberration. * * 2) The transformation is approximately that from ecliptic longitude * and latitude (mean equinox and ecliptic of date) to mean J2000.0 * right ascension and declination, with only frame bias (always less * than 25 mas) to disturb this classical picture. * * 3) The Vondrak et al. (2011, 2012) 400 millennia precession model * agrees with the IAU 2006 precession at J2000.0 and stays within * 100 microarcseconds during the 20th and 21st centuries. It is * accurate to a few arcseconds throughout the historical period, * worsening to a few tenths of a degree at the end of the * +/- 200,000 year time span. * * Called: * iau_S2C spherical coordinates to unit vector * iau_LTECM J2000.0 to ecliptic rotation matrix, long term * iau_TRXP product of transpose of r-matrix and p-vector * iau_C2S unit vector to spherical coordinates * iau_ANP normalize angle into range 0 to 2pi * iau_ANPM normalize angle into range +/- pi * * References: * * Vondrak, J., Capitaine, N. and Wallace, P., 2011, New precession * expressions, valid for long time intervals, Astron.Astrophys. 534, * A22 * * Vondrak, J., Capitaine, N. and Wallace, P., 2012, New precession * expressions, valid for long time intervals (Corrigendum), * Astron.Astrophys. 541, C1 * * This revision: 2016 February 9 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION EPJ, DL, DB, DR, DD DOUBLE PRECISION RM(3,3), V1(3), V2(3), A, B DOUBLE PRECISION iau_ANP, iau_ANPM * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Spherical to Cartesian. CALL iau_S2C ( DL, DB, V1 ) * Rotation matrix, ICRS equatorial to ecliptic. CALL iau_LTECM ( EPJ, RM ) * The transformation from ecliptic to ICRS. CALL iau_TRXP ( RM, V1, V2 ) * Cartesian to spherical. CALL iau_C2S ( V2, A, B ) * Express in conventional ranges. DR = iau_ANP ( A ) DD = iau_ANPM ( B ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_LTECM ( EPJ, RM ) *+ * - - - - - - - - - - * i a u _ L T E C M * - - - - - - - - - - * * ICRS equatorial to ecliptic rotation matrix, long-term. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * EPJ d Julian epoch (TT) * * Returned: * RM d(3,3) ICRS to ecliptic rotation matrix * * Notes: * * 1) The matrix is in the sense * * E_ep = RM x P_ICRS, * * where P_ICRS is a vector with respect to ICRS right ascension * and declination axes and E_ep is the same vector with respect to * the (inertial) ecliptic and equinox of epoch EPJ. * * 2) P_ICRS is a free vector, merely a direction, typically of unit * magnitude, and not bound to any particular spatial origin, such as * the Earth, Sun or SSB. No assumptions are made about whether it * represents starlight and embodies astrometric effects such as * parallax or aberration. The transformation is approximately that * between mean J2000.0 right ascension and declination and ecliptic * longitude and latitude, with only frame bias (always less than * 25 mas) to disturb this classical picture. * * 3) The Vondrak et al. (2011, 2012) 400 millennia precession model * agrees with the IAU 2006 precession at J2000.0 and stays within * 100 microarcseconds during the 20th and 21st centuries. It is * accurate to a few arcseconds throughout the historical period, * worsening to a few tenths of a degree at the end of the * +/- 200,000 year time span. * * Called: * iau_LTPEQU equator pole, long term * iau_LTPECL ecliptic pole, long term * iau_PXP vector product * iau_PN normalize vector * * References: * * Vondrak, J., Capitaine, N. and Wallace, P., 2011, New precession * expressions, valid for long time intervals, Astron.Astrophys. 534, * A22 * * Vondrak, J., Capitaine, N. and Wallace, P., 2012, New precession * expressions, valid for long time intervals (Corrigendum), * Astron.Astrophys. 541, C1 * * This revision: 2015 December 6 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION EPJ, RM(3,3) * Arcseconds to radians DOUBLE PRECISION AS2R PARAMETER ( AS2R = 4.848136811095359935899141D-6 ) * Frame bias (IERS Conventions 2010, Eqs. 5.21 and 5.33) DOUBLE PRECISION DX, DE, DR PARAMETER ( DX = -0.016617D0 * AS2R, : DE = -0.0068192D0 * AS2R, : DR = -0.0146D0 * AS2R ) DOUBLE PRECISION P(3), Z(3), W(3), S, X(3), Y(3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Equator pole. CALL iau_LTPEQU ( EPJ, P ) * Ecliptic pole (bottom row of equatorial to ecliptic matrix). CALL iau_LTPECL ( EPJ, Z ) * Equinox (top row of matrix). CALL iau_PXP ( P, Z, W ) CALL iau_PN ( W, S, X ) * Middle row of matrix. CALL iau_PXP ( Z, X, Y ) * Combine with frame bias. RM(1,1) = X(1) - X(2)*DR + X(3)*DX RM(1,2) = X(1)*DR + X(2) + X(3)*DE RM(1,3) = - X(1)*DX - X(2)*DE + X(3) RM(2,1) = Y(1) - Y(2)*DR + Y(3)*DX RM(2,2) = Y(1)*DR + Y(2) + Y(3)*DE RM(2,3) = - Y(1)*DX - Y(2)*DE + Y(3) RM(3,1) = Z(1) - Z(2)*DR + Z(3)*DX RM(3,2) = Z(1)*DR + Z(2) + Z(3)*DE RM(3,3) = - Z(1)*DX - Z(2)*DE + Z(3) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_LTEQEC ( EPJ, DR, DD, DL, DB ) *+ * - - - - - - - - - - - * i a u _ L T E Q E C * - - - - - - - - - - - * * Transformation from ICRS equatorial coordinates to ecliptic * coordinates (mean equinox and ecliptic of date), using a long-term * precession model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * EPJ d Julian epoch (TT) * DR,DD d ICRS right ascension and declination (radians) * * Returned: * DL,DB d ecliptic longitude and latitude (radians) * * 1) No assumptions are made about whether the coordinates represent * starlight and embody astrometric effects such as parallax or * aberration. * * 2) The transformation is approximately that from mean J2000.0 right * ascension and declination to ecliptic longitude and latitude * (mean equinox and ecliptic of date), with only frame bias (always * less than 25 mas) to disturb this classical picture. * * 3) The Vondrak et al. (2011, 2012) 400 millennia precession model * agrees with the IAU 2006 precession at J2000.0 and stays within * 100 microarcseconds during the 20th and 21st centuries. It is * accurate to a few arcseconds throughout the historical period, * worsening to a few tenths of a degree at the end of the * +/- 200,000 year time span. * * Called: * iau_S2C spherical coordinates to unit vector * iau_LTECM J2000.0 to ecliptic rotation matrix, long term * iau_RXP product of r-matrix and p-vector * iau_C2S unit vector to spherical coordinates * iau_ANP normalize angle into range 0 to 2pi * iau_ANPM normalize angle into range +/- pi * * References: * * Vondrak, J., Capitaine, N. and Wallace, P., 2011, New precession * expressions, valid for long time intervals, Astron.Astrophys. 534, * A22 * * Vondrak, J., Capitaine, N. and Wallace, P., 2012, New precession * expressions, valid for long time intervals (Corrigendum), * Astron.Astrophys. 541, C1 * * This revision: 2016 February 9 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION EPJ, DR, DD, DL, DB DOUBLE PRECISION RM(3,3), V1(3), V2(3), A, B DOUBLE PRECISION iau_ANP, iau_ANPM * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Spherical to Cartesian. CALL iau_S2C ( DR, DD, V1 ) * Rotation matrix, ICRS equatorial to ecliptic. CALL iau_LTECM ( EPJ, RM ) * The transformation from ICRS to ecliptic. CALL iau_RXP ( RM, V1, V2 ) * Cartesian to spherical. CALL iau_C2S ( V2, A, B ) * Express in conventional ranges. DL = iau_ANP ( A ) DB = iau_ANPM ( B ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_LTPB ( EPJ, RPB ) *+ * - - - - - - - - - * i a u _ L T P B * - - - - - - - - - * * Long-term precession matrix, including ICRS frame bias. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * EPJ d Julian epoch (TT) * * Returned: * RPB d precession-bias matrix, J2000.0 to date * * Notes: * * 1) The matrix is in the sense * * P_date = RPB x P_ICRS, * * where P_J2000 is a vector in the International Celestial Reference * System, and P_date is the vector with respect to the Celestial * Intermediate Reference System at that date but with nutation * neglected. * * 2) A first order frame bias formulation is used, of sub- * microarcsecond accuracy compared with a full 3D rotation. * * 3) The Vondrak et al. (2011, 2012) 400 millennia precession model * agrees with the IAU 2006 precession at J2000.0 and stays within * 100 microarcseconds during the 20th and 21st centuries. It is * accurate to a few arcseconds throughout the historical period, * worsening to a few tenths of a degree at the end of the * +/- 200,000 year time span. * * Called: * iau_LTP precession matrix, long term * * References: * * Vondrak, J., Capitaine, N. and Wallace, P., 2011, New precession * expressions, valid for long time intervals, Astron.Astrophys. 534, * A22 * * Vondrak, J., Capitaine, N. and Wallace, P., 2012, New precession * expressions, valid for long time intervals (Corrigendum), * Astron.Astrophys. 541, C1 * * This revision: 2015 December 6 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION EPJ, RPB(3,3) * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Frame bias (IERS Conventions 2010, Eqs. 5.21 and 5.33) DOUBLE PRECISION DX, DE, DR PARAMETER ( DX = -0.016617D0 * DAS2R, : DE = -0.0068192D0 * DAS2R, : DR = -0.0146D0 * DAS2R ) INTEGER I DOUBLE PRECISION RP(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Precession matrix. CALL iau_LTP ( EPJ, RP ) * Apply the bias. DO 1 I=1,3 RPB(I,1) = RP(I,1) - RP(I,2)*DR + RP(I,3)*DX RPB(I,2) = RP(I,1)*DR + RP(I,2) + RP(I,3)*DE RPB(I,3) = - RP(I,1)*DX - RP(I,2)*DE + RP(I,3) 1 CONTINUE * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_LTPECL ( EPJ, VEC ) *+ * - - - - - - - - - - - * i a u _ L T P E C L * - - - - - - - - - - - * * Long-term precession of the ecliptic. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * EPJ d Julian epoch (TT) * * Returned: * VEC d(3) ecliptic pole unit vector * * Notes: * * 1) The returned vector is with respect to the J2000.0 mean equator * and equinox. * * 2) The Vondrak et al. (2011, 2012) 400 millennia precession model * agrees with the IAU 2006 precession at J2000.0 and stays within * 100 microarcseconds during the 20th and 21st centuries. It is * accurate to a few arcseconds throughout the historical period, * worsening to a few tenths of a degree at the end of the * +/- 200,000 year time span. * * References: * * Vondrak, J., Capitaine, N. and Wallace, P., 2011, New precession * expressions, valid for long time intervals, Astron.Astrophys. 534, * A22 * * Vondrak, J., Capitaine, N. and Wallace, P., 2012, New precession * expressions, valid for long time intervals (Corrigendum), * Astron.Astrophys. 541, C1 * * This revision: 2016 February 9 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION EPJ, VEC(3) * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * 2Pi DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) * Obliquity at J2000.0 (radians). DOUBLE PRECISION EPS0 PARAMETER ( EPS0 = 84381.406D0 * DAS2R ) * Number of polynomial terms INTEGER NPOL PARAMETER ( NPOL = 4 ) * Number of periodic terms INTEGER NPER PARAMETER ( NPER = 8 ) * Miscellaneous INTEGER I, J DOUBLE PRECISION T, P, Q, W, A, S, C * Polynomial and periodic coefficients DOUBLE PRECISION PQPOL(NPOL,2), PQPER(5,NPER) * Polynomials DATA ((PQPOL(I,J),I=1,NPOL),J=1,2) / : : +5851.607687 D0, : -0.1189000 D0, : -0.00028913 D0, : +0.000000101 D0, : : -1600.886300 D0, : +1.1689818 D0, : -0.00000020 D0, : -0.000000437 D0 / * Periodics DATA ((PQPER(I,J),I=1,5),J=1,NPER) / : : 708.15D0, -5486.751211D0, -684.661560D0, : 667.666730D0, -5523.863691D0, : 2309.00D0, -17.127623D0, 2446.283880D0, : -2354.886252D0, -549.747450D0, : 1620.00D0, -617.517403D0, 399.671049D0, : -428.152441D0, -310.998056D0, : 492.20D0, 413.442940D0, -356.652376D0, : 376.202861D0, 421.535876D0, : 1183.00D0, 78.614193D0, -186.387003D0, : 184.778874D0, -36.776172D0, : 622.00D0, -180.732815D0, -316.800070D0, : 335.321713D0, -145.278396D0, : 882.00D0, -87.676083D0, 198.296701D0, : -185.138669D0, -34.744450D0, : 547.00D0, 46.140315D0, 101.135679D0, : -120.972830D0, 22.885731D0 / * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Centuries since J2000. T = (EPJ-2000D0)/100D0 * Initialize P_A and Q_A accumulators. P = 0D0 Q = 0D0 * Periodic terms. W = D2PI*T DO 1 I=1,NPER A = W/PQPER(1,I) S = SIN(A) C = COS(A) P = P + C*PQPER(2,I) + S*PQPER(4,I) Q = Q + C*PQPER(3,I) + S*PQPER(5,I) 1 CONTINUE * Polynomial terms. W = 1D0 DO 2 I=1,NPOL P = P + PQPOL(I,1)*W Q = Q + PQPOL(I,2)*W W = W*T 2 CONTINUE * P_A and Q_A (radians). P = P*DAS2R Q = Q*DAS2R * Form the ecliptic pole vector. W = SQRT(MAX(1D0-P*P-Q*Q,0D0)) S = SIN(EPS0) C = COS(EPS0) VEC(1) = P VEC(2) = - Q*C - W*S VEC(3) = - Q*S + W*C * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_LTPEQU ( EPJ, VEQ ) *+ * - - - - - - - - - - - * i a u _ L T P E Q U * - - - - - - - - - - - * * Long-term precession of the equator. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * EPJ d Julian epoch (TT) * * Returned: * VEQ d(3) equator pole unit vector * * Notes: * * 1) The returned vector is with respect to the J2000.0 mean equator * and equinox. * * 2) The Vondrak et al. (2011, 2012) 400 millennia precession model * agrees with the IAU 2006 precession at J2000.0 and stays within * 100 microarcseconds during the 20th and 21st centuries. It is * accurate to a few arcseconds throughout the historical period, * worsening to a few tenths of a degree at the end of the * +/- 200,000 year time span. * * References: * * Vondrak, J., Capitaine, N. and Wallace, P., 2011, New precession * expressions, valid for long time intervals, Astron.Astrophys. 534, * A22 * * Vondrak, J., Capitaine, N. and Wallace, P., 2012, New precession * expressions, valid for long time intervals (Corrigendum), * Astron.Astrophys. 541, C1 * * This revision: 2016 February 9 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION EPJ, VEQ(3) * Arcseconds to radians DOUBLE PRECISION AS2R PARAMETER ( AS2R = 4.848136811095359935899141D-6 ) * 2Pi DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) * Number of polynomial terms INTEGER NPOL PARAMETER ( NPOL = 4 ) * Number of periodic terms INTEGER NPER PARAMETER ( NPER = 14 ) * Miscellaneous INTEGER I, J DOUBLE PRECISION T, X, Y, W, A, S, C * Polynomial and periodic coefficients DOUBLE PRECISION XYPOL(NPOL,2), XYPER(5,NPER) * Polynomials DATA ((XYPOL(I,J),I=1,NPOL),J=1,2) / : : +5453.282155 D0, : +0.4252841 D0, : -0.00037173 D0, : -0.000000152 D0, : : -73750.930350 D0, : -0.7675452 D0, : -0.00018725 D0, : +0.000000231 D0 / * Periodics DATA ((XYPER(I,J),I=1,5),J=1,NPER) / : : 256.75D0, -819.940624D0, 75004.344875D0, : 81491.287984D0, 1558.515853D0, : 708.15D0, -8444.676815D0, 624.033993D0, : 787.163481D0, 7774.939698D0, : 274.20D0, 2600.009459D0, 1251.136893D0, : 1251.296102D0, -2219.534038D0, : 241.45D0, 2755.175630D0, -1102.212834D0, : -1257.950837D0, -2523.969396D0, : 2309.00D0, -167.659835D0, -2660.664980D0, : -2966.799730D0, 247.850422D0, : 492.20D0, 871.855056D0, 699.291817D0, : 639.744522D0, -846.485643D0, : 396.10D0, 44.769698D0, 153.167220D0, : 131.600209D0, -1393.124055D0, : 288.90D0, -512.313065D0, -950.865637D0, : -445.040117D0, 368.526116D0, : 231.10D0, -819.415595D0, 499.754645D0, : 584.522874D0, 749.045012D0, : 1610.00D0, -538.071099D0, -145.188210D0, : -89.756563D0, 444.704518D0, : 620.00D0, -189.793622D0, 558.116553D0, : 524.429630D0, 235.934465D0, : 157.87D0, -402.922932D0, -23.923029D0, : -13.549067D0, 374.049623D0, : 220.30D0, 179.516345D0, -165.405086D0, : -210.157124D0, -171.330180D0, : 1200.00D0, -9.814756D0, 9.344131D0, : -44.919798D0, -22.899655D0 / * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Centuries since J2000. T = (EPJ-2000D0)/100D0 * Initialize X and Y accumulators. X = 0D0 Y = 0D0 * Periodic terms. W = D2PI*T DO 1 I=1,NPER A = W/XYPER(1,I) S = SIN(A) C = COS(A) X = X + C*XYPER(2,I) + S*XYPER(4,I) Y = Y + C*XYPER(3,I) + S*XYPER(5,I) 1 CONTINUE * Polynomial terms. W = 1D0 DO 2 I=1,NPOL X = X + XYPOL(I,1)*W Y = Y + XYPOL(I,2)*W W = W*T 2 CONTINUE * X and Y (direction cosines). X = X*AS2R Y = Y*AS2R * Form the equator pole vector. VEQ(1) = X VEQ(2) = Y VEQ(3) = SQRT(MAX(1D0-X*X-Y*Y,0D0)) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_LTP ( EPJ, RP ) *+ * - - - - - - - - * i a u _ L T P * - - - - - - - - * * Long-term precession matrix. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * EPJ d Julian epoch (TT) * * Returned: * RP d(3,3) precession matrix, J2000.0 to date * * Notes: * * 1) The matrix is in the sense * * P_date = RP x P_J2000, * * where P_J2000 is a vector with respect to the J2000.0 mean equator * and equinox and P_date is the same vector with respect to the * equator and equinox of epoch EPJ. * * 2) The Vondrak et al. (2011, 2012) 400 millennia precession model * agrees with the IAU 2006 precession at J2000.0 and stays within * 100 microarcseconds during the 20th and 21st centuries. It is * accurate to a few arcseconds throughout the historical period, * worsening to a few tenths of a degree at the end of the * +/- 200,000 year time span. * * Called: * iau_LTPEQU equator pole, long term * iau_LTPECL ecliptic pole, long term * iau_PXP vector product * iau_PN normalize vector * * References: * * Vondrak, J., Capitaine, N. and Wallace, P., 2011, New precession * expressions, valid for long time intervals, Astron.Astrophys. 534, * A22 * * Vondrak, J., Capitaine, N. and Wallace, P., 2012, New precession * expressions, valid for long time intervals (Corrigendum), * Astron.Astrophys. 541, C1 * * This revision: 2015 December 6 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION EPJ, RP(3,3) INTEGER I DOUBLE PRECISION PEQR(3), PECL(3), V(3), W, EQX(3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Equator pole (bottom row of matrix). CALL iau_LTPEQU ( EPJ, PEQR ) * Ecliptic pole. CALL iau_LTPECL ( EPJ, PECL ) * Equinox (top row of matrix). CALL iau_PXP ( PEQR, PECL, V ) CALL iau_PN ( V, W, EQX ) * Middle row of matrix. CALL iau_PXP ( PEQR, EQX, V ) * Assemble the matrix. DO 1 I=1,3 RP(1,I) = EQX(I) RP(2,I) = V(I) RP(3,I) = PEQR(I) 1 CONTINUE * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_NUM00A ( DATE1, DATE2, RMATN ) *+ * - - - - - - - - - - - * i a u _ N U M 0 0 A * - - - - - - - - - - - * * Form the matrix of nutation for a given date, IAU 2000A model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * RMATN d(3,3) nutation matrix * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The matrix operates in the sense V(true) = RMATN * V(mean), * where the p-vector V(true) is with respect to the true * equatorial triad of date and the p-vector V(mean) is with * respect to the mean equatorial triad of date. * * 3) A faster, but slightly less accurate result (about 1 mas), can be * obtained by using instead the iau_NUM00B routine. * * Called: * iau_PN00A bias/precession/nutation, IAU 2000A * * Reference: * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992), * Section 3.222-3 (p114). * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, RMATN(3,3) DOUBLE PRECISION DPSI, DEPS, EPSA, : RB(3,3), RP(3,3), RBP(3,3), RBPN(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Obtain the required matrix (discarding other results). CALL iau_PN00A ( DATE1, DATE2, : DPSI, DEPS, EPSA, RB, RP, RBP, RMATN, RBPN ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_NUM00B ( DATE1, DATE2, RMATN ) *+ * - - - - - - - - - - - * i a u _ N U M 0 0 B * - - - - - - - - - - - * * Form the matrix of nutation for a given date, IAU 2000B model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * RMATN d(3,3) nutation matrix * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The matrix operates in the sense V(true) = RMATN * V(mean), * where the p-vector V(true) is with respect to the true * equatorial triad of date and the p-vector V(mean) is with * respect to the mean equatorial triad of date. * * 3) The present routine is faster, but slightly less accurate (about * 1 mas), than the iau_NUM00A routine. * * Called: * iau_PN00B bias/precession/nutation, IAU 2000B * * Reference: * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992), * Section 3.222-3 (p114). * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, RMATN(3,3) DOUBLE PRECISION DPSI, DEPS, EPSA, : RB(3,3), RP(3,3), RBP(3,3), RBPN(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Obtain the required matrix (discarding other results). CALL iau_PN00B ( DATE1, DATE2, : DPSI, DEPS, EPSA, RB, RP, RBP, RMATN, RBPN ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_NUM06A ( DATE1, DATE2, RMATN ) *+ * - - - - - - - - - - - * i a u _ N U M 0 6 A * - - - - - - - - - - - * * Form the matrix of nutation for a given date, IAU 2006/2000A model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * RMATN d(3,3) nutation matrix * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The matrix operates in the sense V(true) = RMATN * V(mean), * where the p-vector V(true) is with respect to the true * equatorial triad of date and the p-vector V(mean) is with * respect to the mean equatorial triad of date. * * Called: * iau_OBL06 mean obliquity, IAU 2006 * iau_NUT06A nutation, IAU 2006/2000A * iau_NUMAT form nutation matrix * * References: * * Capitaine, N., Wallace, P.T. & Chapront, J., 2005, Astron. * Astrophys. 432, 355 * * Wallace, P.T. & Capitaine, N., 2006, Astron.Astrophys. 459, 981 * * This revision: 2007 May 11 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, RMATN(3,3) DOUBLE PRECISION EPS, DP, DE DOUBLE PRECISION iau_OBL06 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Mean obliquity. EPS = iau_OBL06 ( DATE1, DATE2 ) * Nutation components. CALL iau_NUT06A ( DATE1, DATE2, DP, DE ) * Nutation matrix. CALL iau_NUMAT ( EPS, DP, DE, RMATN ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_NUMAT ( EPSA, DPSI, DEPS, RMATN ) *+ * - - - - - - - - - - * i a u _ N U M A T * - - - - - - - - - - * * Form the matrix of nutation. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * EPSA d mean obliquity of date (Note 1) * DPSI,DEPS d nutation (Note 2) * * Returned: * RMATN d(3,3) nutation matrix (Note 3) * * Notes: * * * 1) The supplied mean obliquity EPSA, must be consistent with the * precession-nutation models from which DPSI and DEPS were obtained. * * 2) The caller is responsible for providing the nutation components; * they are in longitude and obliquity, in radians and are with * respect to the equinox and ecliptic of date. * * 3) The matrix operates in the sense V(true) = RMATN * V(mean), * where the p-vector V(true) is with respect to the true * equatorial triad of date and the p-vector V(mean) is with * respect to the mean equatorial triad of date. * * Called: * iau_IR initialize r-matrix to identity * iau_RX rotate around X-axis * iau_RZ rotate around Z-axis * * Reference: * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992), * Section 3.222-3 (p114). * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION EPSA, DPSI, DEPS, RMATN(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Build the rotation matrix. CALL iau_IR ( RMATN ) CALL iau_RX ( EPSA, RMATN ) CALL iau_RZ ( -DPSI, RMATN ) CALL iau_RX ( -(EPSA+DEPS), RMATN ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_NUT00A ( DATE1, DATE2, DPSI, DEPS ) *+ * - - - - - - - - - - - * i a u _ N U T 0 0 A * - - - - - - - - - - - * * Nutation, IAU 2000A model (MHB2000 luni-solar and planetary nutation * with free core nutation omitted). * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * DPSI,DEPS d nutation, luni-solar + planetary (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The nutation components in longitude and obliquity are in radians * and with respect to the equinox and ecliptic of date. The * obliquity at J2000.0 is assumed to be the Lieske et al. (1977) * value of 84381.448 arcsec. * * Both the luni-solar and planetary nutations are included. The * latter are due to direct planetary nutations and the perturbations * of the lunar and terrestrial orbits. * * 3) The routine computes the MHB2000 nutation series with the * associated corrections for planetary nutations. It is an * implementation of the nutation part of the IAU 2000A precession- * nutation model, formally adopted by the IAU General Assembly in * 2000, namely MHB2000 (Mathews et al. 2002), but with the free core * nutation (FCN - see Note 4) omitted. * * 4) The full MHB2000 model also contains contributions to the * nutations in longitude and obliquity due to the free-excitation of * the free-core-nutation during the period 1979-2000. These FCN * terms, which are time-dependent and unpredictable, are NOT * included in the present routine and, if required, must be * independently computed. With the FCN corrections included, the * present routine delivers a pole which is at current epochs * accurate to a few hundred microarcseconds. The omission of FCN * introduces further errors of about that size. * * 5) The present routine provides classical nutation. The MHB2000 * algorithm, from which it is adapted, deals also with (i) the * offsets between the GCRS and mean poles and (ii) the adjustments * in longitude and obliquity due to the changed precession rates. * These additional functions, namely frame bias and precession * adjustments, are supported by the SOFA routines iau_BI00 and * iau_PR00. * * 6) The MHB2000 algorithm also provides "total" nutations, comprising * the arithmetic sum of the frame bias, precession adjustments, * luni-solar nutation and planetary nutation. These total nutations * can be used in combination with an existing IAU 1976 precession * implementation, such as iau_PMAT76, to deliver GCRS-to-true * predictions of sub-mas accuracy at current epochs. However, there * are three shortcomings in the MHB2000 model that must be taken * into account if more accurate or definitive results are required * (see Wallace 2002): * * (i) The MHB2000 total nutations are simply arithmetic sums, * yet in reality the various components are successive Euler * rotations. This slight lack of rigor leads to cross terms * that exceed 1 mas after a century. The rigorous procedure * is to form the GCRS-to-true rotation matrix by applying the * bias, precession and nutation in that order. * * (ii) Although the precession adjustments are stated to be with * respect to Lieske et al. (1977), the MHB2000 model does * not specify which set of Euler angles are to be used and * how the adjustments are to be applied. The most literal and * straightforward procedure is to adopt the 4-rotation * epsilon_0, psi_A, omega_A, xi_A option, and to add DPSIPR to * psi_A and DEPSPR to both omega_A and eps_A. * * (iii) The MHB2000 model predates the determination by Chapront * et al. (2002) of a 14.6 mas displacement between the J2000.0 * mean equinox and the origin of the ICRS frame. It should, * however, be noted that neglecting this displacement when * calculating star coordinates does not lead to a 14.6 mas * change in right ascension, only a small second-order * distortion in the pattern of the precession-nutation effect. * * For these reasons, the SOFA routines do not generate the "total * nutations" directly, though they can of course easily be generated * by calling iau_BI00, iau_PR00 and the present routine and adding * the results. * * 7) The MHB2000 model contains 41 instances where the same frequency * appears multiple times, of which 38 are duplicates and three are * triplicates. To keep the present code close to the original MHB * algorithm, this small inefficiency has not been corrected. * * Called: * iau_FAL03 mean anomaly of the Moon * iau_FAF03 mean argument of the latitude of the Moon * iau_FAOM03 mean longitude of the Moon's ascending node * iau_FAME03 mean longitude of Mercury * iau_FAVE03 mean longitude of Venus * iau_FAE03 mean longitude of Earth * iau_FAMA03 mean longitude of Mars * iau_FAJU03 mean longitude of Jupiter * iau_FASA03 mean longitude of Saturn * iau_FAUR03 mean longitude of Uranus * iau_FAPA03 general accumulated precession in longitude * * References: * * Chapront, J., Chapront-Touze, M. & Francou, G. 2002, * Astron.Astrophys. 387, 700 * * Lieske, J.H., Lederle, T., Fricke, W. & Morando, B. 1977, * Astron.Astrophys. 58, 1-16 * * Mathews, P.M., Herring, T.A., Buffet, B.A. 2002, J.Geophys.Res. * 107, B4. The MHB_2000 code itself was obtained on 9th September * 2002 from ftp//maia.usno.navy.mil/conv2000/chapter5/IAU2000A. * * Simon, J.-L., Bretagnon, P., Chapront, J., Chapront-Touze, M., * Francou, G., Laskar, J. 1994, Astron.Astrophys. 282, 663-683 * * Souchay, J., Loysel, B., Kinoshita, H., Folgueira, M. 1999, * Astron.Astrophys.Supp.Ser. 135, 111 * * Wallace, P.T., "Software for Implementing the IAU 2000 * Resolutions", in IERS Workshop 5.1 (2002) * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, DPSI, DEPS * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Arcseconds in a full circle DOUBLE PRECISION TURNAS PARAMETER ( TURNAS = 1296000D0 ) * 2Pi DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) * Units of 0.1 microarcsecond to radians DOUBLE PRECISION U2R PARAMETER ( U2R = DAS2R/1D7 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian century DOUBLE PRECISION DJC PARAMETER ( DJC = 36525D0 ) * Miscellaneous INTEGER I, J DOUBLE PRECISION T, EL, ELP, F, D, OM, ARG, DP, DE, SARG, CARG, : AL, ALSU, AF, AD, AOM, ALME, ALVE, ALEA, ALMA, : ALJU, ALSA, ALUR, ALNE, APA, DPSILS, DEPSLS, : DPSIPL, DEPSPL DOUBLE PRECISION iau_FAL03, iau_FAF03, iau_FAOM03, iau_FAME03, : iau_FAVE03, iau_FAE03, iau_FAMA03, iau_FAJU03, : iau_FASA03, iau_FAUR03, iau_FAPA03 * ------------------------- * Luni-Solar nutation model * ------------------------- * Number of terms in the luni-solar nutation model INTEGER NLS PARAMETER ( NLS = 678 ) * Coefficients for fundamental arguments INTEGER NALS(5,NLS) * Longitude and obliquity coefficients DOUBLE PRECISION CLS(6,NLS) * --------------- * Planetary terms * --------------- * Number of terms in the planetary nutation model INTEGER NPL PARAMETER ( NPL = 687 ) * Coefficients for fundamental arguments INTEGER NAPL(14,NPL) * Longitude and obliquity coefficients INTEGER ICPL(4,NPL) * ---------------------------------------- * Tables of argument and term coefficients * ---------------------------------------- * * Luni-Solar argument multipliers * L L' F D Om DATA ( ( NALS(I,J), I=1,5 ), J= 1, 10 ) / : 0, 0, 0, 0, 1, : 0, 0, 2, -2, 2, : 0, 0, 2, 0, 2, : 0, 0, 0, 0, 2, : 0, 1, 0, 0, 0, : 0, 1, 2, -2, 2, : 1, 0, 0, 0, 0, : 0, 0, 2, 0, 1, : 1, 0, 2, 0, 2, : 0, -1, 2, -2, 2 / DATA ( ( NALS(I,J), I=1,5 ), J= 11, 20 ) / : 0, 0, 2, -2, 1, : -1, 0, 2, 0, 2, : -1, 0, 0, 2, 0, : 1, 0, 0, 0, 1, : -1, 0, 0, 0, 1, : -1, 0, 2, 2, 2, : 1, 0, 2, 0, 1, : -2, 0, 2, 0, 1, : 0, 0, 0, 2, 0, : 0, 0, 2, 2, 2 / DATA ( ( NALS(I,J), I=1,5 ), J= 21, 30 ) / : 0, -2, 2, -2, 2, : -2, 0, 0, 2, 0, : 2, 0, 2, 0, 2, : 1, 0, 2, -2, 2, : -1, 0, 2, 0, 1, : 2, 0, 0, 0, 0, : 0, 0, 2, 0, 0, : 0, 1, 0, 0, 1, : -1, 0, 0, 2, 1, : 0, 2, 2, -2, 2 / DATA ( ( NALS(I,J), I=1,5 ), J= 31, 40 ) / : 0, 0, -2, 2, 0, : 1, 0, 0, -2, 1, : 0, -1, 0, 0, 1, : -1, 0, 2, 2, 1, : 0, 2, 0, 0, 0, : 1, 0, 2, 2, 2, : -2, 0, 2, 0, 0, : 0, 1, 2, 0, 2, : 0, 0, 2, 2, 1, : 0, -1, 2, 0, 2 / DATA ( ( NALS(I,J), I=1,5 ), J= 41, 50 ) / : 0, 0, 0, 2, 1, : 1, 0, 2, -2, 1, : 2, 0, 2, -2, 2, : -2, 0, 0, 2, 1, : 2, 0, 2, 0, 1, : 0, -1, 2, -2, 1, : 0, 0, 0, -2, 1, : -1, -1, 0, 2, 0, : 2, 0, 0, -2, 1, : 1, 0, 0, 2, 0 / DATA ( ( NALS(I,J), I=1,5 ), J= 51, 60 ) / : 0, 1, 2, -2, 1, : 1, -1, 0, 0, 0, : -2, 0, 2, 0, 2, : 3, 0, 2, 0, 2, : 0, -1, 0, 2, 0, : 1, -1, 2, 0, 2, : 0, 0, 0, 1, 0, : -1, -1, 2, 2, 2, : -1, 0, 2, 0, 0, : 0, -1, 2, 2, 2 / DATA ( ( NALS(I,J), I=1,5 ), J= 61, 70 ) / : -2, 0, 0, 0, 1, : 1, 1, 2, 0, 2, : 2, 0, 0, 0, 1, : -1, 1, 0, 1, 0, : 1, 1, 0, 0, 0, : 1, 0, 2, 0, 0, : -1, 0, 2, -2, 1, : 1, 0, 0, 0, 2, : -1, 0, 0, 1, 0, : 0, 0, 2, 1, 2 / DATA ( ( NALS(I,J), I=1,5 ), J= 71, 80 ) / : -1, 0, 2, 4, 2, : -1, 1, 0, 1, 1, : 0, -2, 2, -2, 1, : 1, 0, 2, 2, 1, : -2, 0, 2, 2, 2, : -1, 0, 0, 0, 2, : 1, 1, 2, -2, 2, : -2, 0, 2, 4, 2, : -1, 0, 4, 0, 2, : 2, 0, 2, -2, 1 / DATA ( ( NALS(I,J), I=1,5 ), J= 81, 90 ) / : 2, 0, 2, 2, 2, : 1, 0, 0, 2, 1, : 3, 0, 0, 0, 0, : 3, 0, 2, -2, 2, : 0, 0, 4, -2, 2, : 0, 1, 2, 0, 1, : 0, 0, -2, 2, 1, : 0, 0, 2, -2, 3, : -1, 0, 0, 4, 0, : 2, 0, -2, 0, 1 / DATA ( ( NALS(I,J), I=1,5 ), J= 91,100 ) / : -2, 0, 0, 4, 0, : -1, -1, 0, 2, 1, : -1, 0, 0, 1, 1, : 0, 1, 0, 0, 2, : 0, 0, -2, 0, 1, : 0, -1, 2, 0, 1, : 0, 0, 2, -1, 2, : 0, 0, 2, 4, 2, : -2, -1, 0, 2, 0, : 1, 1, 0, -2, 1 / DATA ( ( NALS(I,J), I=1,5 ), J=101,110 ) / : -1, 1, 0, 2, 0, : -1, 1, 0, 1, 2, : 1, -1, 0, 0, 1, : 1, -1, 2, 2, 2, : -1, 1, 2, 2, 2, : 3, 0, 2, 0, 1, : 0, 1, -2, 2, 0, : -1, 0, 0, -2, 1, : 0, 1, 2, 2, 2, : -1, -1, 2, 2, 1 / DATA ( ( NALS(I,J), I=1,5 ), J=111,120 ) / : 0, -1, 0, 0, 2, : 1, 0, 2, -4, 1, : -1, 0, -2, 2, 0, : 0, -1, 2, 2, 1, : 2, -1, 2, 0, 2, : 0, 0, 0, 2, 2, : 1, -1, 2, 0, 1, : -1, 1, 2, 0, 2, : 0, 1, 0, 2, 0, : 0, -1, -2, 2, 0 / DATA ( ( NALS(I,J), I=1,5 ), J=121,130 ) / : 0, 3, 2, -2, 2, : 0, 0, 0, 1, 1, : -1, 0, 2, 2, 0, : 2, 1, 2, 0, 2, : 1, 1, 0, 0, 1, : 1, 1, 2, 0, 1, : 2, 0, 0, 2, 0, : 1, 0, -2, 2, 0, : -1, 0, 0, 2, 2, : 0, 1, 0, 1, 0 / DATA ( ( NALS(I,J), I=1,5 ), J=131,140 ) / : 0, 1, 0, -2, 1, : -1, 0, 2, -2, 2, : 0, 0, 0, -1, 1, : -1, 1, 0, 0, 1, : 1, 0, 2, -1, 2, : 1, -1, 0, 2, 0, : 0, 0, 0, 4, 0, : 1, 0, 2, 1, 2, : 0, 0, 2, 1, 1, : 1, 0, 0, -2, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=141,150 ) / : -1, 0, 2, 4, 1, : 1, 0, -2, 0, 1, : 1, 1, 2, -2, 1, : 0, 0, 2, 2, 0, : -1, 0, 2, -1, 1, : -2, 0, 2, 2, 1, : 4, 0, 2, 0, 2, : 2, -1, 0, 0, 0, : 2, 1, 2, -2, 2, : 0, 1, 2, 1, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=151,160 ) / : 1, 0, 4, -2, 2, : -1, -1, 0, 0, 1, : 0, 1, 0, 2, 1, : -2, 0, 2, 4, 1, : 2, 0, 2, 0, 0, : 1, 0, 0, 1, 0, : -1, 0, 0, 4, 1, : -1, 0, 4, 0, 1, : 2, 0, 2, 2, 1, : 0, 0, 2, -3, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=161,170 ) / : -1, -2, 0, 2, 0, : 2, 1, 0, 0, 0, : 0, 0, 4, 0, 2, : 0, 0, 0, 0, 3, : 0, 3, 0, 0, 0, : 0, 0, 2, -4, 1, : 0, -1, 0, 2, 1, : 0, 0, 0, 4, 1, : -1, -1, 2, 4, 2, : 1, 0, 2, 4, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=171,180 ) / : -2, 2, 0, 2, 0, : -2, -1, 2, 0, 1, : -2, 0, 0, 2, 2, : -1, -1, 2, 0, 2, : 0, 0, 4, -2, 1, : 3, 0, 2, -2, 1, : -2, -1, 0, 2, 1, : 1, 0, 0, -1, 1, : 0, -2, 0, 2, 0, : -2, 0, 0, 4, 1 / DATA ( ( NALS(I,J), I=1,5 ), J=181,190 ) / : -3, 0, 0, 0, 1, : 1, 1, 2, 2, 2, : 0, 0, 2, 4, 1, : 3, 0, 2, 2, 2, : -1, 1, 2, -2, 1, : 2, 0, 0, -4, 1, : 0, 0, 0, -2, 2, : 2, 0, 2, -4, 1, : -1, 1, 0, 2, 1, : 0, 0, 2, -1, 1 / DATA ( ( NALS(I,J), I=1,5 ), J=191,200 ) / : 0, -2, 2, 2, 2, : 2, 0, 0, 2, 1, : 4, 0, 2, -2, 2, : 2, 0, 0, -2, 2, : 0, 2, 0, 0, 1, : 1, 0, 0, -4, 1, : 0, 2, 2, -2, 1, : -3, 0, 0, 4, 0, : -1, 1, 2, 0, 1, : -1, -1, 0, 4, 0 / DATA ( ( NALS(I,J), I=1,5 ), J=201,210 ) / : -1, -2, 2, 2, 2, : -2, -1, 2, 4, 2, : 1, -1, 2, 2, 1, : -2, 1, 0, 2, 0, : -2, 1, 2, 0, 1, : 2, 1, 0, -2, 1, : -3, 0, 2, 0, 1, : -2, 0, 2, -2, 1, : -1, 1, 0, 2, 2, : 0, -1, 2, -1, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=211,220 ) / : -1, 0, 4, -2, 2, : 0, -2, 2, 0, 2, : -1, 0, 2, 1, 2, : 2, 0, 0, 0, 2, : 0, 0, 2, 0, 3, : -2, 0, 4, 0, 2, : -1, 0, -2, 0, 1, : -1, 1, 2, 2, 1, : 3, 0, 0, 0, 1, : -1, 0, 2, 3, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=221,230 ) / : 2, -1, 2, 0, 1, : 0, 1, 2, 2, 1, : 0, -1, 2, 4, 2, : 2, -1, 2, 2, 2, : 0, 2, -2, 2, 0, : -1, -1, 2, -1, 1, : 0, -2, 0, 0, 1, : 1, 0, 2, -4, 2, : 1, -1, 0, -2, 1, : -1, -1, 2, 0, 1 / DATA ( ( NALS(I,J), I=1,5 ), J=231,240 ) / : 1, -1, 2, -2, 2, : -2, -1, 0, 4, 0, : -1, 0, 0, 3, 0, : -2, -1, 2, 2, 2, : 0, 2, 2, 0, 2, : 1, 1, 0, 2, 0, : 2, 0, 2, -1, 2, : 1, 0, 2, 1, 1, : 4, 0, 0, 0, 0, : 2, 1, 2, 0, 1 / DATA ( ( NALS(I,J), I=1,5 ), J=241,250 ) / : 3, -1, 2, 0, 2, : -2, 2, 0, 2, 1, : 1, 0, 2, -3, 1, : 1, 1, 2, -4, 1, : -1, -1, 2, -2, 1, : 0, -1, 0, -1, 1, : 0, -1, 0, -2, 1, : -2, 0, 0, 0, 2, : -2, 0, -2, 2, 0, : -1, 0, -2, 4, 0 / DATA ( ( NALS(I,J), I=1,5 ), J=251,260 ) / : 1, -2, 0, 0, 0, : 0, 1, 0, 1, 1, : -1, 2, 0, 2, 0, : 1, -1, 2, -2, 1, : 1, 2, 2, -2, 2, : 2, -1, 2, -2, 2, : 1, 0, 2, -1, 1, : 2, 1, 2, -2, 1, : -2, 0, 0, -2, 1, : 1, -2, 2, 0, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=261,270 ) / : 0, 1, 2, 1, 1, : 1, 0, 4, -2, 1, : -2, 0, 4, 2, 2, : 1, 1, 2, 1, 2, : 1, 0, 0, 4, 0, : 1, 0, 2, 2, 0, : 2, 0, 2, 1, 2, : 3, 1, 2, 0, 2, : 4, 0, 2, 0, 1, : -2, -1, 2, 0, 0 / DATA ( ( NALS(I,J), I=1,5 ), J=271,280 ) / : 0, 1, -2, 2, 1, : 1, 0, -2, 1, 0, : 0, -1, -2, 2, 1, : 2, -1, 0, -2, 1, : -1, 0, 2, -1, 2, : 1, 0, 2, -3, 2, : 0, 1, 2, -2, 3, : 0, 0, 2, -3, 1, : -1, 0, -2, 2, 1, : 0, 0, 2, -4, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=281,290 ) / : -2, 1, 0, 0, 1, : -1, 0, 0, -1, 1, : 2, 0, 2, -4, 2, : 0, 0, 4, -4, 4, : 0, 0, 4, -4, 2, : -1, -2, 0, 2, 1, : -2, 0, 0, 3, 0, : 1, 0, -2, 2, 1, : -3, 0, 2, 2, 2, : -3, 0, 2, 2, 1 / DATA ( ( NALS(I,J), I=1,5 ), J=291,300 ) / : -2, 0, 2, 2, 0, : 2, -1, 0, 0, 1, : -2, 1, 2, 2, 2, : 1, 1, 0, 1, 0, : 0, 1, 4, -2, 2, : -1, 1, 0, -2, 1, : 0, 0, 0, -4, 1, : 1, -1, 0, 2, 1, : 1, 1, 0, 2, 1, : -1, 2, 2, 2, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=301,310 ) / : 3, 1, 2, -2, 2, : 0, -1, 0, 4, 0, : 2, -1, 0, 2, 0, : 0, 0, 4, 0, 1, : 2, 0, 4, -2, 2, : -1, -1, 2, 4, 1, : 1, 0, 0, 4, 1, : 1, -2, 2, 2, 2, : 0, 0, 2, 3, 2, : -1, 1, 2, 4, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=311,320 ) / : 3, 0, 0, 2, 0, : -1, 0, 4, 2, 2, : 1, 1, 2, 2, 1, : -2, 0, 2, 6, 2, : 2, 1, 2, 2, 2, : -1, 0, 2, 6, 2, : 1, 0, 2, 4, 1, : 2, 0, 2, 4, 2, : 1, 1, -2, 1, 0, : -3, 1, 2, 1, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=321,330 ) / : 2, 0, -2, 0, 2, : -1, 0, 0, 1, 2, : -4, 0, 2, 2, 1, : -1, -1, 0, 1, 0, : 0, 0, -2, 2, 2, : 1, 0, 0, -1, 2, : 0, -1, 2, -2, 3, : -2, 1, 2, 0, 0, : 0, 0, 2, -2, 4, : -2, -2, 0, 2, 0 / DATA ( ( NALS(I,J), I=1,5 ), J=331,340 ) / : -2, 0, -2, 4, 0, : 0, -2, -2, 2, 0, : 1, 2, 0, -2, 1, : 3, 0, 0, -4, 1, : -1, 1, 2, -2, 2, : 1, -1, 2, -4, 1, : 1, 1, 0, -2, 2, : -3, 0, 2, 0, 0, : -3, 0, 2, 0, 2, : -2, 0, 0, 1, 0 / DATA ( ( NALS(I,J), I=1,5 ), J=341,350 ) / : 0, 0, -2, 1, 0, : -3, 0, 0, 2, 1, : -1, -1, -2, 2, 0, : 0, 1, 2, -4, 1, : 2, 1, 0, -4, 1, : 0, 2, 0, -2, 1, : 1, 0, 0, -3, 1, : -2, 0, 2, -2, 2, : -2, -1, 0, 0, 1, : -4, 0, 0, 2, 0 / DATA ( ( NALS(I,J), I=1,5 ), J=351,360 ) / : 1, 1, 0, -4, 1, : -1, 0, 2, -4, 1, : 0, 0, 4, -4, 1, : 0, 3, 2, -2, 2, : -3, -1, 0, 4, 0, : -3, 0, 0, 4, 1, : 1, -1, -2, 2, 0, : -1, -1, 0, 2, 2, : 1, -2, 0, 0, 1, : 1, -1, 0, 0, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=361,370 ) / : 0, 0, 0, 1, 2, : -1, -1, 2, 0, 0, : 1, -2, 2, -2, 2, : 0, -1, 2, -1, 1, : -1, 0, 2, 0, 3, : 1, 1, 0, 0, 2, : -1, 1, 2, 0, 0, : 1, 2, 0, 0, 0, : -1, 2, 2, 0, 2, : -1, 0, 4, -2, 1 / DATA ( ( NALS(I,J), I=1,5 ), J=371,380 ) / : 3, 0, 2, -4, 2, : 1, 2, 2, -2, 1, : 1, 0, 4, -4, 2, : -2, -1, 0, 4, 1, : 0, -1, 0, 2, 2, : -2, 1, 0, 4, 0, : -2, -1, 2, 2, 1, : 2, 0, -2, 2, 0, : 1, 0, 0, 1, 1, : 0, 1, 0, 2, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=381,390 ) / : 1, -1, 2, -1, 2, : -2, 0, 4, 0, 1, : 2, 1, 0, 0, 1, : 0, 1, 2, 0, 0, : 0, -1, 4, -2, 2, : 0, 0, 4, -2, 4, : 0, 2, 2, 0, 1, : -3, 0, 0, 6, 0, : -1, -1, 0, 4, 1, : 1, -2, 0, 2, 0 / DATA ( ( NALS(I,J), I=1,5 ), J=391,400 ) / : -1, 0, 0, 4, 2, : -1, -2, 2, 2, 1, : -1, 0, 0, -2, 2, : 1, 0, -2, -2, 1, : 0, 0, -2, -2, 1, : -2, 0, -2, 0, 1, : 0, 0, 0, 3, 1, : 0, 0, 0, 3, 0, : -1, 1, 0, 4, 0, : -1, -1, 2, 2, 0 / DATA ( ( NALS(I,J), I=1,5 ), J=401,410 ) / : -2, 0, 2, 3, 2, : 1, 0, 0, 2, 2, : 0, -1, 2, 1, 2, : 3, -1, 0, 0, 0, : 2, 0, 0, 1, 0, : 1, -1, 2, 0, 0, : 0, 0, 2, 1, 0, : 1, 0, 2, 0, 3, : 3, 1, 0, 0, 0, : 3, -1, 2, -2, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=411,420 ) / : 2, 0, 2, -1, 1, : 1, 1, 2, 0, 0, : 0, 0, 4, -1, 2, : 1, 2, 2, 0, 2, : -2, 0, 0, 6, 0, : 0, -1, 0, 4, 1, : -2, -1, 2, 4, 1, : 0, -2, 2, 2, 1, : 0, -1, 2, 2, 0, : -1, 0, 2, 3, 1 / DATA ( ( NALS(I,J), I=1,5 ), J=421,430 ) / : -2, 1, 2, 4, 2, : 2, 0, 0, 2, 2, : 2, -2, 2, 0, 2, : -1, 1, 2, 3, 2, : 3, 0, 2, -1, 2, : 4, 0, 2, -2, 1, : -1, 0, 0, 6, 0, : -1, -2, 2, 4, 2, : -3, 0, 2, 6, 2, : -1, 0, 2, 4, 0 / DATA ( ( NALS(I,J), I=1,5 ), J=431,440 ) / : 3, 0, 0, 2, 1, : 3, -1, 2, 0, 1, : 3, 0, 2, 0, 0, : 1, 0, 4, 0, 2, : 5, 0, 2, -2, 2, : 0, -1, 2, 4, 1, : 2, -1, 2, 2, 1, : 0, 1, 2, 4, 2, : 1, -1, 2, 4, 2, : 3, -1, 2, 2, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=441,450 ) / : 3, 0, 2, 2, 1, : 5, 0, 2, 0, 2, : 0, 0, 2, 6, 2, : 4, 0, 2, 2, 2, : 0, -1, 1, -1, 1, : -1, 0, 1, 0, 3, : 0, -2, 2, -2, 3, : 1, 0, -1, 0, 1, : 2, -2, 0, -2, 1, : -1, 0, 1, 0, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=451,460 ) / : -1, 0, 1, 0, 1, : -1, -1, 2, -1, 2, : -2, 2, 0, 2, 2, : -1, 0, 1, 0, 0, : -4, 1, 2, 2, 2, : -3, 0, 2, 1, 1, : -2, -1, 2, 0, 2, : 1, 0, -2, 1, 1, : 2, -1, -2, 0, 1, : -4, 0, 2, 2, 0 / DATA ( ( NALS(I,J), I=1,5 ), J=461,470 ) / : -3, 1, 0, 3, 0, : -1, 0, -1, 2, 0, : 0, -2, 0, 0, 2, : 0, -2, 0, 0, 2, : -3, 0, 0, 3, 0, : -2, -1, 0, 2, 2, : -1, 0, -2, 3, 0, : -4, 0, 0, 4, 0, : 2, 1, -2, 0, 1, : 2, -1, 0, -2, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=471,480 ) / : 0, 0, 1, -1, 0, : -1, 2, 0, 1, 0, : -2, 1, 2, 0, 2, : 1, 1, 0, -1, 1, : 1, 0, 1, -2, 1, : 0, 2, 0, 0, 2, : 1, -1, 2, -3, 1, : -1, 1, 2, -1, 1, : -2, 0, 4, -2, 2, : -2, 0, 4, -2, 1 / DATA ( ( NALS(I,J), I=1,5 ), J=481,490 ) / : -2, -2, 0, 2, 1, : -2, 0, -2, 4, 0, : 1, 2, 2, -4, 1, : 1, 1, 2, -4, 2, : -1, 2, 2, -2, 1, : 2, 0, 0, -3, 1, : -1, 2, 0, 0, 1, : 0, 0, 0, -2, 0, : -1, -1, 2, -2, 2, : -1, 1, 0, 0, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=491,500 ) / : 0, 0, 0, -1, 2, : -2, 1, 0, 1, 0, : 1, -2, 0, -2, 1, : 1, 0, -2, 0, 2, : -3, 1, 0, 2, 0, : -1, 1, -2, 2, 0, : -1, -1, 0, 0, 2, : -3, 0, 0, 2, 0, : -3, -1, 0, 2, 0, : 2, 0, 2, -6, 1 / DATA ( ( NALS(I,J), I=1,5 ), J=501,510 ) / : 0, 1, 2, -4, 2, : 2, 0, 0, -4, 2, : -2, 1, 2, -2, 1, : 0, -1, 2, -4, 1, : 0, 1, 0, -2, 2, : -1, 0, 0, -2, 0, : 2, 0, -2, -2, 1, : -4, 0, 2, 0, 1, : -1, -1, 0, -1, 1, : 0, 0, -2, 0, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=511,520 ) / : -3, 0, 0, 1, 0, : -1, 0, -2, 1, 0, : -2, 0, -2, 2, 1, : 0, 0, -4, 2, 0, : -2, -1, -2, 2, 0, : 1, 0, 2, -6, 1, : -1, 0, 2, -4, 2, : 1, 0, 0, -4, 2, : 2, 1, 2, -4, 2, : 2, 1, 2, -4, 1 / DATA ( ( NALS(I,J), I=1,5 ), J=521,530 ) / : 0, 1, 4, -4, 4, : 0, 1, 4, -4, 2, : -1, -1, -2, 4, 0, : -1, -3, 0, 2, 0, : -1, 0, -2, 4, 1, : -2, -1, 0, 3, 0, : 0, 0, -2, 3, 0, : -2, 0, 0, 3, 1, : 0, -1, 0, 1, 0, : -3, 0, 2, 2, 0 / DATA ( ( NALS(I,J), I=1,5 ), J=531,540 ) / : 1, 1, -2, 2, 0, : -1, 1, 0, 2, 2, : 1, -2, 2, -2, 1, : 0, 0, 1, 0, 2, : 0, 0, 1, 0, 1, : 0, 0, 1, 0, 0, : -1, 2, 0, 2, 1, : 0, 0, 2, 0, 2, : -2, 0, 2, 0, 2, : 2, 0, 0, -1, 1 / DATA ( ( NALS(I,J), I=1,5 ), J=541,550 ) / : 3, 0, 0, -2, 1, : 1, 0, 2, -2, 3, : 1, 2, 0, 0, 1, : 2, 0, 2, -3, 2, : -1, 1, 4, -2, 2, : -2, -2, 0, 4, 0, : 0, -3, 0, 2, 0, : 0, 0, -2, 4, 0, : -1, -1, 0, 3, 0, : -2, 0, 0, 4, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=551,560 ) / : -1, 0, 0, 3, 1, : 2, -2, 0, 0, 0, : 1, -1, 0, 1, 0, : -1, 0, 0, 2, 0, : 0, -2, 2, 0, 1, : -1, 0, 1, 2, 1, : -1, 1, 0, 3, 0, : -1, -1, 2, 1, 2, : 0, -1, 2, 0, 0, : -2, 1, 2, 2, 1 / DATA ( ( NALS(I,J), I=1,5 ), J=561,570 ) / : 2, -2, 2, -2, 2, : 1, 1, 0, 1, 1, : 1, 0, 1, 0, 1, : 1, 0, 1, 0, 0, : 0, 2, 0, 2, 0, : 2, -1, 2, -2, 1, : 0, -1, 4, -2, 1, : 0, 0, 4, -2, 3, : 0, 1, 4, -2, 1, : 4, 0, 2, -4, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=571,580 ) / : 2, 2, 2, -2, 2, : 2, 0, 4, -4, 2, : -1, -2, 0, 4, 0, : -1, -3, 2, 2, 2, : -3, 0, 2, 4, 2, : -3, 0, 2, -2, 1, : -1, -1, 0, -2, 1, : -3, 0, 0, 0, 2, : -3, 0, -2, 2, 0, : 0, 1, 0, -4, 1 / DATA ( ( NALS(I,J), I=1,5 ), J=581,590 ) / : -2, 1, 0, -2, 1, : -4, 0, 0, 0, 1, : -1, 0, 0, -4, 1, : -3, 0, 0, -2, 1, : 0, 0, 0, 3, 2, : -1, 1, 0, 4, 1, : 1, -2, 2, 0, 1, : 0, 1, 0, 3, 0, : -1, 0, 2, 2, 3, : 0, 0, 2, 2, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=591,600 ) / : -2, 0, 2, 2, 2, : -1, 1, 2, 2, 0, : 3, 0, 0, 0, 2, : 2, 1, 0, 1, 0, : 2, -1, 2, -1, 2, : 0, 0, 2, 0, 1, : 0, 0, 3, 0, 3, : 0, 0, 3, 0, 2, : -1, 2, 2, 2, 1, : -1, 0, 4, 0, 0 / DATA ( ( NALS(I,J), I=1,5 ), J=601,610 ) / : 1, 2, 2, 0, 1, : 3, 1, 2, -2, 1, : 1, 1, 4, -2, 2, : -2, -1, 0, 6, 0, : 0, -2, 0, 4, 0, : -2, 0, 0, 6, 1, : -2, -2, 2, 4, 2, : 0, -3, 2, 2, 2, : 0, 0, 0, 4, 2, : -1, -1, 2, 3, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=611,620 ) / : -2, 0, 2, 4, 0, : 2, -1, 0, 2, 1, : 1, 0, 0, 3, 0, : 0, 1, 0, 4, 1, : 0, 1, 0, 4, 0, : 1, -1, 2, 1, 2, : 0, 0, 2, 2, 3, : 1, 0, 2, 2, 2, : -1, 0, 2, 2, 2, : -2, 0, 4, 2, 1 / DATA ( ( NALS(I,J), I=1,5 ), J=621,630 ) / : 2, 1, 0, 2, 1, : 2, 1, 0, 2, 0, : 2, -1, 2, 0, 0, : 1, 0, 2, 1, 0, : 0, 1, 2, 2, 0, : 2, 0, 2, 0, 3, : 3, 0, 2, 0, 2, : 1, 0, 2, 0, 2, : 1, 0, 3, 0, 3, : 1, 1, 2, 1, 1 / DATA ( ( NALS(I,J), I=1,5 ), J=631,640 ) / : 0, 2, 2, 2, 2, : 2, 1, 2, 0, 0, : 2, 0, 4, -2, 1, : 4, 1, 2, -2, 2, : -1, -1, 0, 6, 0, : -3, -1, 2, 6, 2, : -1, 0, 0, 6, 1, : -3, 0, 2, 6, 1, : 1, -1, 0, 4, 1, : 1, -1, 0, 4, 0 / DATA ( ( NALS(I,J), I=1,5 ), J=641,650 ) / : -2, 0, 2, 5, 2, : 1, -2, 2, 2, 1, : 3, -1, 0, 2, 0, : 1, -1, 2, 2, 0, : 0, 0, 2, 3, 1, : -1, 1, 2, 4, 1, : 0, 1, 2, 3, 2, : -1, 0, 4, 2, 1, : 2, 0, 2, 1, 1, : 5, 0, 0, 0, 0 / DATA ( ( NALS(I,J), I=1,5 ), J=651,660 ) / : 2, 1, 2, 1, 2, : 1, 0, 4, 0, 1, : 3, 1, 2, 0, 1, : 3, 0, 4, -2, 2, : -2, -1, 2, 6, 2, : 0, 0, 0, 6, 0, : 0, -2, 2, 4, 2, : -2, 0, 2, 6, 1, : 2, 0, 0, 4, 1, : 2, 0, 0, 4, 0 / DATA ( ( NALS(I,J), I=1,5 ), J=661,670 ) / : 2, -2, 2, 2, 2, : 0, 0, 2, 4, 0, : 1, 0, 2, 3, 2, : 4, 0, 0, 2, 0, : 2, 0, 2, 2, 0, : 0, 0, 4, 2, 2, : 4, -1, 2, 0, 2, : 3, 0, 2, 1, 2, : 2, 1, 2, 2, 1, : 4, 1, 2, 0, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=671,678 ) / : -1, -1, 2, 6, 2, : -1, 0, 2, 6, 1, : 1, -1, 2, 4, 1, : 1, 1, 2, 4, 2, : 3, 1, 2, 2, 2, : 5, 0, 2, 0, 1, : 2, -1, 2, 4, 2, : 2, 0, 2, 4, 1 / * * Luni-Solar nutation coefficients, unit 1e-7 arcsec * longitude (sin, t*sin, cos), obliquity (cos, t*cos, sin) * DATA ( ( CLS(I,J), I=1,6 ), J= 1, 10 ) / : -172064161D0, -174666D0, 33386D0, 92052331D0, 9086D0, 15377D0, : -13170906D0, -1675D0, -13696D0, 5730336D0, -3015D0, -4587D0, : -2276413D0, -234D0, 2796D0, 978459D0, -485D0, 1374D0, : 2074554D0, 207D0, -698D0, -897492D0, 470D0, -291D0, : 1475877D0, -3633D0, 11817D0, 73871D0, -184D0, -1924D0, : -516821D0, 1226D0, -524D0, 224386D0, -677D0, -174D0, : 711159D0, 73D0, -872D0, -6750D0, 0D0, 358D0, : -387298D0, -367D0, 380D0, 200728D0, 18D0, 318D0, : -301461D0, -36D0, 816D0, 129025D0, -63D0, 367D0, : 215829D0, -494D0, 111D0, -95929D0, 299D0, 132D0 / DATA ( ( CLS(I,J), I=1,6 ), J= 11, 20 ) / : 128227D0, 137D0, 181D0, -68982D0, -9D0, 39D0, : 123457D0, 11D0, 19D0, -53311D0, 32D0, -4D0, : 156994D0, 10D0, -168D0, -1235D0, 0D0, 82D0, : 63110D0, 63D0, 27D0, -33228D0, 0D0, -9D0, : -57976D0, -63D0, -189D0, 31429D0, 0D0, -75D0, : -59641D0, -11D0, 149D0, 25543D0, -11D0, 66D0, : -51613D0, -42D0, 129D0, 26366D0, 0D0, 78D0, : 45893D0, 50D0, 31D0, -24236D0, -10D0, 20D0, : 63384D0, 11D0, -150D0, -1220D0, 0D0, 29D0, : -38571D0, -1D0, 158D0, 16452D0, -11D0, 68D0 / DATA ( ( CLS(I,J), I=1,6 ), J= 21, 30 ) / : 32481D0, 0D0, 0D0, -13870D0, 0D0, 0D0, : -47722D0, 0D0, -18D0, 477D0, 0D0, -25D0, : -31046D0, -1D0, 131D0, 13238D0, -11D0, 59D0, : 28593D0, 0D0, -1D0, -12338D0, 10D0, -3D0, : 20441D0, 21D0, 10D0, -10758D0, 0D0, -3D0, : 29243D0, 0D0, -74D0, -609D0, 0D0, 13D0, : 25887D0, 0D0, -66D0, -550D0, 0D0, 11D0, : -14053D0, -25D0, 79D0, 8551D0, -2D0, -45D0, : 15164D0, 10D0, 11D0, -8001D0, 0D0, -1D0, : -15794D0, 72D0, -16D0, 6850D0, -42D0, -5D0 / DATA ( ( CLS(I,J), I=1,6 ), J= 31, 40 ) / : 21783D0, 0D0, 13D0, -167D0, 0D0, 13D0, : -12873D0, -10D0, -37D0, 6953D0, 0D0, -14D0, : -12654D0, 11D0, 63D0, 6415D0, 0D0, 26D0, : -10204D0, 0D0, 25D0, 5222D0, 0D0, 15D0, : 16707D0, -85D0, -10D0, 168D0, -1D0, 10D0, : -7691D0, 0D0, 44D0, 3268D0, 0D0, 19D0, : -11024D0, 0D0, -14D0, 104D0, 0D0, 2D0, : 7566D0, -21D0, -11D0, -3250D0, 0D0, -5D0, : -6637D0, -11D0, 25D0, 3353D0, 0D0, 14D0, : -7141D0, 21D0, 8D0, 3070D0, 0D0, 4D0 / DATA ( ( CLS(I,J), I=1,6 ), J= 41, 50 ) / : -6302D0, -11D0, 2D0, 3272D0, 0D0, 4D0, : 5800D0, 10D0, 2D0, -3045D0, 0D0, -1D0, : 6443D0, 0D0, -7D0, -2768D0, 0D0, -4D0, : -5774D0, -11D0, -15D0, 3041D0, 0D0, -5D0, : -5350D0, 0D0, 21D0, 2695D0, 0D0, 12D0, : -4752D0, -11D0, -3D0, 2719D0, 0D0, -3D0, : -4940D0, -11D0, -21D0, 2720D0, 0D0, -9D0, : 7350D0, 0D0, -8D0, -51D0, 0D0, 4D0, : 4065D0, 0D0, 6D0, -2206D0, 0D0, 1D0, : 6579D0, 0D0, -24D0, -199D0, 0D0, 2D0 / DATA ( ( CLS(I,J), I=1,6 ), J= 51, 60 ) / : 3579D0, 0D0, 5D0, -1900D0, 0D0, 1D0, : 4725D0, 0D0, -6D0, -41D0, 0D0, 3D0, : -3075D0, 0D0, -2D0, 1313D0, 0D0, -1D0, : -2904D0, 0D0, 15D0, 1233D0, 0D0, 7D0, : 4348D0, 0D0, -10D0, -81D0, 0D0, 2D0, : -2878D0, 0D0, 8D0, 1232D0, 0D0, 4D0, : -4230D0, 0D0, 5D0, -20D0, 0D0, -2D0, : -2819D0, 0D0, 7D0, 1207D0, 0D0, 3D0, : -4056D0, 0D0, 5D0, 40D0, 0D0, -2D0, : -2647D0, 0D0, 11D0, 1129D0, 0D0, 5D0 / DATA ( ( CLS(I,J), I=1,6 ), J= 61, 70 ) / : -2294D0, 0D0, -10D0, 1266D0, 0D0, -4D0, : 2481D0, 0D0, -7D0, -1062D0, 0D0, -3D0, : 2179D0, 0D0, -2D0, -1129D0, 0D0, -2D0, : 3276D0, 0D0, 1D0, -9D0, 0D0, 0D0, : -3389D0, 0D0, 5D0, 35D0, 0D0, -2D0, : 3339D0, 0D0, -13D0, -107D0, 0D0, 1D0, : -1987D0, 0D0, -6D0, 1073D0, 0D0, -2D0, : -1981D0, 0D0, 0D0, 854D0, 0D0, 0D0, : 4026D0, 0D0, -353D0, -553D0, 0D0, -139D0, : 1660D0, 0D0, -5D0, -710D0, 0D0, -2D0 / DATA ( ( CLS(I,J), I=1,6 ), J= 71, 80 ) / : -1521D0, 0D0, 9D0, 647D0, 0D0, 4D0, : 1314D0, 0D0, 0D0, -700D0, 0D0, 0D0, : -1283D0, 0D0, 0D0, 672D0, 0D0, 0D0, : -1331D0, 0D0, 8D0, 663D0, 0D0, 4D0, : 1383D0, 0D0, -2D0, -594D0, 0D0, -2D0, : 1405D0, 0D0, 4D0, -610D0, 0D0, 2D0, : 1290D0, 0D0, 0D0, -556D0, 0D0, 0D0, : -1214D0, 0D0, 5D0, 518D0, 0D0, 2D0, : 1146D0, 0D0, -3D0, -490D0, 0D0, -1D0, : 1019D0, 0D0, -1D0, -527D0, 0D0, -1D0 / DATA ( ( CLS(I,J), I=1,6 ), J= 81, 90 ) / : -1100D0, 0D0, 9D0, 465D0, 0D0, 4D0, : -970D0, 0D0, 2D0, 496D0, 0D0, 1D0, : 1575D0, 0D0, -6D0, -50D0, 0D0, 0D0, : 934D0, 0D0, -3D0, -399D0, 0D0, -1D0, : 922D0, 0D0, -1D0, -395D0, 0D0, -1D0, : 815D0, 0D0, -1D0, -422D0, 0D0, -1D0, : 834D0, 0D0, 2D0, -440D0, 0D0, 1D0, : 1248D0, 0D0, 0D0, -170D0, 0D0, 1D0, : 1338D0, 0D0, -5D0, -39D0, 0D0, 0D0, : 716D0, 0D0, -2D0, -389D0, 0D0, -1D0 / DATA ( ( CLS(I,J), I=1,6 ), J= 91,100 ) / : 1282D0, 0D0, -3D0, -23D0, 0D0, 1D0, : 742D0, 0D0, 1D0, -391D0, 0D0, 0D0, : 1020D0, 0D0, -25D0, -495D0, 0D0, -10D0, : 715D0, 0D0, -4D0, -326D0, 0D0, 2D0, : -666D0, 0D0, -3D0, 369D0, 0D0, -1D0, : -667D0, 0D0, 1D0, 346D0, 0D0, 1D0, : -704D0, 0D0, 0D0, 304D0, 0D0, 0D0, : -694D0, 0D0, 5D0, 294D0, 0D0, 2D0, : -1014D0, 0D0, -1D0, 4D0, 0D0, -1D0, : -585D0, 0D0, -2D0, 316D0, 0D0, -1D0 / DATA ( ( CLS(I,J), I=1,6 ), J=101,110 ) / : -949D0, 0D0, 1D0, 8D0, 0D0, -1D0, : -595D0, 0D0, 0D0, 258D0, 0D0, 0D0, : 528D0, 0D0, 0D0, -279D0, 0D0, 0D0, : -590D0, 0D0, 4D0, 252D0, 0D0, 2D0, : 570D0, 0D0, -2D0, -244D0, 0D0, -1D0, : -502D0, 0D0, 3D0, 250D0, 0D0, 2D0, : -875D0, 0D0, 1D0, 29D0, 0D0, 0D0, : -492D0, 0D0, -3D0, 275D0, 0D0, -1D0, : 535D0, 0D0, -2D0, -228D0, 0D0, -1D0, : -467D0, 0D0, 1D0, 240D0, 0D0, 1D0 / DATA ( ( CLS(I,J), I=1,6 ), J=111,120 ) / : 591D0, 0D0, 0D0, -253D0, 0D0, 0D0, : -453D0, 0D0, -1D0, 244D0, 0D0, -1D0, : 766D0, 0D0, 1D0, 9D0, 0D0, 0D0, : -446D0, 0D0, 2D0, 225D0, 0D0, 1D0, : -488D0, 0D0, 2D0, 207D0, 0D0, 1D0, : -468D0, 0D0, 0D0, 201D0, 0D0, 0D0, : -421D0, 0D0, 1D0, 216D0, 0D0, 1D0, : 463D0, 0D0, 0D0, -200D0, 0D0, 0D0, : -673D0, 0D0, 2D0, 14D0, 0D0, 0D0, : 658D0, 0D0, 0D0, -2D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=121,130 ) / : -438D0, 0D0, 0D0, 188D0, 0D0, 0D0, : -390D0, 0D0, 0D0, 205D0, 0D0, 0D0, : 639D0, -11D0, -2D0, -19D0, 0D0, 0D0, : 412D0, 0D0, -2D0, -176D0, 0D0, -1D0, : -361D0, 0D0, 0D0, 189D0, 0D0, 0D0, : 360D0, 0D0, -1D0, -185D0, 0D0, -1D0, : 588D0, 0D0, -3D0, -24D0, 0D0, 0D0, : -578D0, 0D0, 1D0, 5D0, 0D0, 0D0, : -396D0, 0D0, 0D0, 171D0, 0D0, 0D0, : 565D0, 0D0, -1D0, -6D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=131,140 ) / : -335D0, 0D0, -1D0, 184D0, 0D0, -1D0, : 357D0, 0D0, 1D0, -154D0, 0D0, 0D0, : 321D0, 0D0, 1D0, -174D0, 0D0, 0D0, : -301D0, 0D0, -1D0, 162D0, 0D0, 0D0, : -334D0, 0D0, 0D0, 144D0, 0D0, 0D0, : 493D0, 0D0, -2D0, -15D0, 0D0, 0D0, : 494D0, 0D0, -2D0, -19D0, 0D0, 0D0, : 337D0, 0D0, -1D0, -143D0, 0D0, -1D0, : 280D0, 0D0, -1D0, -144D0, 0D0, 0D0, : 309D0, 0D0, 1D0, -134D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=141,150 ) / : -263D0, 0D0, 2D0, 131D0, 0D0, 1D0, : 253D0, 0D0, 1D0, -138D0, 0D0, 0D0, : 245D0, 0D0, 0D0, -128D0, 0D0, 0D0, : 416D0, 0D0, -2D0, -17D0, 0D0, 0D0, : -229D0, 0D0, 0D0, 128D0, 0D0, 0D0, : 231D0, 0D0, 0D0, -120D0, 0D0, 0D0, : -259D0, 0D0, 2D0, 109D0, 0D0, 1D0, : 375D0, 0D0, -1D0, -8D0, 0D0, 0D0, : 252D0, 0D0, 0D0, -108D0, 0D0, 0D0, : -245D0, 0D0, 1D0, 104D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=151,160 ) / : 243D0, 0D0, -1D0, -104D0, 0D0, 0D0, : 208D0, 0D0, 1D0, -112D0, 0D0, 0D0, : 199D0, 0D0, 0D0, -102D0, 0D0, 0D0, : -208D0, 0D0, 1D0, 105D0, 0D0, 0D0, : 335D0, 0D0, -2D0, -14D0, 0D0, 0D0, : -325D0, 0D0, 1D0, 7D0, 0D0, 0D0, : -187D0, 0D0, 0D0, 96D0, 0D0, 0D0, : 197D0, 0D0, -1D0, -100D0, 0D0, 0D0, : -192D0, 0D0, 2D0, 94D0, 0D0, 1D0, : -188D0, 0D0, 0D0, 83D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=161,170 ) / : 276D0, 0D0, 0D0, -2D0, 0D0, 0D0, : -286D0, 0D0, 1D0, 6D0, 0D0, 0D0, : 186D0, 0D0, -1D0, -79D0, 0D0, 0D0, : -219D0, 0D0, 0D0, 43D0, 0D0, 0D0, : 276D0, 0D0, 0D0, 2D0, 0D0, 0D0, : -153D0, 0D0, -1D0, 84D0, 0D0, 0D0, : -156D0, 0D0, 0D0, 81D0, 0D0, 0D0, : -154D0, 0D0, 1D0, 78D0, 0D0, 0D0, : -174D0, 0D0, 1D0, 75D0, 0D0, 0D0, : -163D0, 0D0, 2D0, 69D0, 0D0, 1D0 / DATA ( ( CLS(I,J), I=1,6 ), J=171,180 ) / : -228D0, 0D0, 0D0, 1D0, 0D0, 0D0, : 91D0, 0D0, -4D0, -54D0, 0D0, -2D0, : 175D0, 0D0, 0D0, -75D0, 0D0, 0D0, : -159D0, 0D0, 0D0, 69D0, 0D0, 0D0, : 141D0, 0D0, 0D0, -72D0, 0D0, 0D0, : 147D0, 0D0, 0D0, -75D0, 0D0, 0D0, : -132D0, 0D0, 0D0, 69D0, 0D0, 0D0, : 159D0, 0D0, -28D0, -54D0, 0D0, 11D0, : 213D0, 0D0, 0D0, -4D0, 0D0, 0D0, : 123D0, 0D0, 0D0, -64D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=181,190 ) / : -118D0, 0D0, -1D0, 66D0, 0D0, 0D0, : 144D0, 0D0, -1D0, -61D0, 0D0, 0D0, : -121D0, 0D0, 1D0, 60D0, 0D0, 0D0, : -134D0, 0D0, 1D0, 56D0, 0D0, 1D0, : -105D0, 0D0, 0D0, 57D0, 0D0, 0D0, : -102D0, 0D0, 0D0, 56D0, 0D0, 0D0, : 120D0, 0D0, 0D0, -52D0, 0D0, 0D0, : 101D0, 0D0, 0D0, -54D0, 0D0, 0D0, : -113D0, 0D0, 0D0, 59D0, 0D0, 0D0, : -106D0, 0D0, 0D0, 61D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=191,200 ) / : -129D0, 0D0, 1D0, 55D0, 0D0, 0D0, : -114D0, 0D0, 0D0, 57D0, 0D0, 0D0, : 113D0, 0D0, -1D0, -49D0, 0D0, 0D0, : -102D0, 0D0, 0D0, 44D0, 0D0, 0D0, : -94D0, 0D0, 0D0, 51D0, 0D0, 0D0, : -100D0, 0D0, -1D0, 56D0, 0D0, 0D0, : 87D0, 0D0, 0D0, -47D0, 0D0, 0D0, : 161D0, 0D0, 0D0, -1D0, 0D0, 0D0, : 96D0, 0D0, 0D0, -50D0, 0D0, 0D0, : 151D0, 0D0, -1D0, -5D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=201,210 ) / : -104D0, 0D0, 0D0, 44D0, 0D0, 0D0, : -110D0, 0D0, 0D0, 48D0, 0D0, 0D0, : -100D0, 0D0, 1D0, 50D0, 0D0, 0D0, : 92D0, 0D0, -5D0, 12D0, 0D0, -2D0, : 82D0, 0D0, 0D0, -45D0, 0D0, 0D0, : 82D0, 0D0, 0D0, -45D0, 0D0, 0D0, : -78D0, 0D0, 0D0, 41D0, 0D0, 0D0, : -77D0, 0D0, 0D0, 43D0, 0D0, 0D0, : 2D0, 0D0, 0D0, 54D0, 0D0, 0D0, : 94D0, 0D0, 0D0, -40D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=211,220 ) / : -93D0, 0D0, 0D0, 40D0, 0D0, 0D0, : -83D0, 0D0, 10D0, 40D0, 0D0, -2D0, : 83D0, 0D0, 0D0, -36D0, 0D0, 0D0, : -91D0, 0D0, 0D0, 39D0, 0D0, 0D0, : 128D0, 0D0, 0D0, -1D0, 0D0, 0D0, : -79D0, 0D0, 0D0, 34D0, 0D0, 0D0, : -83D0, 0D0, 0D0, 47D0, 0D0, 0D0, : 84D0, 0D0, 0D0, -44D0, 0D0, 0D0, : 83D0, 0D0, 0D0, -43D0, 0D0, 0D0, : 91D0, 0D0, 0D0, -39D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=221,230 ) / : -77D0, 0D0, 0D0, 39D0, 0D0, 0D0, : 84D0, 0D0, 0D0, -43D0, 0D0, 0D0, : -92D0, 0D0, 1D0, 39D0, 0D0, 0D0, : -92D0, 0D0, 1D0, 39D0, 0D0, 0D0, : -94D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 68D0, 0D0, 0D0, -36D0, 0D0, 0D0, : -61D0, 0D0, 0D0, 32D0, 0D0, 0D0, : 71D0, 0D0, 0D0, -31D0, 0D0, 0D0, : 62D0, 0D0, 0D0, -34D0, 0D0, 0D0, : -63D0, 0D0, 0D0, 33D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=231,240 ) / : -73D0, 0D0, 0D0, 32D0, 0D0, 0D0, : 115D0, 0D0, 0D0, -2D0, 0D0, 0D0, : -103D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 63D0, 0D0, 0D0, -28D0, 0D0, 0D0, : 74D0, 0D0, 0D0, -32D0, 0D0, 0D0, : -103D0, 0D0, -3D0, 3D0, 0D0, -1D0, : -69D0, 0D0, 0D0, 30D0, 0D0, 0D0, : 57D0, 0D0, 0D0, -29D0, 0D0, 0D0, : 94D0, 0D0, 0D0, -4D0, 0D0, 0D0, : 64D0, 0D0, 0D0, -33D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=241,250 ) / : -63D0, 0D0, 0D0, 26D0, 0D0, 0D0, : -38D0, 0D0, 0D0, 20D0, 0D0, 0D0, : -43D0, 0D0, 0D0, 24D0, 0D0, 0D0, : -45D0, 0D0, 0D0, 23D0, 0D0, 0D0, : 47D0, 0D0, 0D0, -24D0, 0D0, 0D0, : -48D0, 0D0, 0D0, 25D0, 0D0, 0D0, : 45D0, 0D0, 0D0, -26D0, 0D0, 0D0, : 56D0, 0D0, 0D0, -25D0, 0D0, 0D0, : 88D0, 0D0, 0D0, 2D0, 0D0, 0D0, : -75D0, 0D0, 0D0, 0D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=251,260 ) / : 85D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 49D0, 0D0, 0D0, -26D0, 0D0, 0D0, : -74D0, 0D0, -3D0, -1D0, 0D0, -1D0, : -39D0, 0D0, 0D0, 21D0, 0D0, 0D0, : 45D0, 0D0, 0D0, -20D0, 0D0, 0D0, : 51D0, 0D0, 0D0, -22D0, 0D0, 0D0, : -40D0, 0D0, 0D0, 21D0, 0D0, 0D0, : 41D0, 0D0, 0D0, -21D0, 0D0, 0D0, : -42D0, 0D0, 0D0, 24D0, 0D0, 0D0, : -51D0, 0D0, 0D0, 22D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=261,270 ) / : -42D0, 0D0, 0D0, 22D0, 0D0, 0D0, : 39D0, 0D0, 0D0, -21D0, 0D0, 0D0, : 46D0, 0D0, 0D0, -18D0, 0D0, 0D0, : -53D0, 0D0, 0D0, 22D0, 0D0, 0D0, : 82D0, 0D0, 0D0, -4D0, 0D0, 0D0, : 81D0, 0D0, -1D0, -4D0, 0D0, 0D0, : 47D0, 0D0, 0D0, -19D0, 0D0, 0D0, : 53D0, 0D0, 0D0, -23D0, 0D0, 0D0, : -45D0, 0D0, 0D0, 22D0, 0D0, 0D0, : -44D0, 0D0, 0D0, -2D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=271,280 ) / : -33D0, 0D0, 0D0, 16D0, 0D0, 0D0, : -61D0, 0D0, 0D0, 1D0, 0D0, 0D0, : 28D0, 0D0, 0D0, -15D0, 0D0, 0D0, : -38D0, 0D0, 0D0, 19D0, 0D0, 0D0, : -33D0, 0D0, 0D0, 21D0, 0D0, 0D0, : -60D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 48D0, 0D0, 0D0, -10D0, 0D0, 0D0, : 27D0, 0D0, 0D0, -14D0, 0D0, 0D0, : 38D0, 0D0, 0D0, -20D0, 0D0, 0D0, : 31D0, 0D0, 0D0, -13D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=281,290 ) / : -29D0, 0D0, 0D0, 15D0, 0D0, 0D0, : 28D0, 0D0, 0D0, -15D0, 0D0, 0D0, : -32D0, 0D0, 0D0, 15D0, 0D0, 0D0, : 45D0, 0D0, 0D0, -8D0, 0D0, 0D0, : -44D0, 0D0, 0D0, 19D0, 0D0, 0D0, : 28D0, 0D0, 0D0, -15D0, 0D0, 0D0, : -51D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -36D0, 0D0, 0D0, 20D0, 0D0, 0D0, : 44D0, 0D0, 0D0, -19D0, 0D0, 0D0, : 26D0, 0D0, 0D0, -14D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=291,300 ) / : -60D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 35D0, 0D0, 0D0, -18D0, 0D0, 0D0, : -27D0, 0D0, 0D0, 11D0, 0D0, 0D0, : 47D0, 0D0, 0D0, -1D0, 0D0, 0D0, : 36D0, 0D0, 0D0, -15D0, 0D0, 0D0, : -36D0, 0D0, 0D0, 20D0, 0D0, 0D0, : -35D0, 0D0, 0D0, 19D0, 0D0, 0D0, : -37D0, 0D0, 0D0, 19D0, 0D0, 0D0, : 32D0, 0D0, 0D0, -16D0, 0D0, 0D0, : 35D0, 0D0, 0D0, -14D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=301,310 ) / : 32D0, 0D0, 0D0, -13D0, 0D0, 0D0, : 65D0, 0D0, 0D0, -2D0, 0D0, 0D0, : 47D0, 0D0, 0D0, -1D0, 0D0, 0D0, : 32D0, 0D0, 0D0, -16D0, 0D0, 0D0, : 37D0, 0D0, 0D0, -16D0, 0D0, 0D0, : -30D0, 0D0, 0D0, 15D0, 0D0, 0D0, : -32D0, 0D0, 0D0, 16D0, 0D0, 0D0, : -31D0, 0D0, 0D0, 13D0, 0D0, 0D0, : 37D0, 0D0, 0D0, -16D0, 0D0, 0D0, : 31D0, 0D0, 0D0, -13D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=311,320 ) / : 49D0, 0D0, 0D0, -2D0, 0D0, 0D0, : 32D0, 0D0, 0D0, -13D0, 0D0, 0D0, : 23D0, 0D0, 0D0, -12D0, 0D0, 0D0, : -43D0, 0D0, 0D0, 18D0, 0D0, 0D0, : 26D0, 0D0, 0D0, -11D0, 0D0, 0D0, : -32D0, 0D0, 0D0, 14D0, 0D0, 0D0, : -29D0, 0D0, 0D0, 14D0, 0D0, 0D0, : -27D0, 0D0, 0D0, 12D0, 0D0, 0D0, : 30D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -11D0, 0D0, 0D0, 5D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=321,330 ) / : -21D0, 0D0, 0D0, 10D0, 0D0, 0D0, : -34D0, 0D0, 0D0, 15D0, 0D0, 0D0, : -10D0, 0D0, 0D0, 6D0, 0D0, 0D0, : -36D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -9D0, 0D0, 0D0, 4D0, 0D0, 0D0, : -12D0, 0D0, 0D0, 5D0, 0D0, 0D0, : -21D0, 0D0, 0D0, 5D0, 0D0, 0D0, : -29D0, 0D0, 0D0, -1D0, 0D0, 0D0, : -15D0, 0D0, 0D0, 3D0, 0D0, 0D0, : -20D0, 0D0, 0D0, 0D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=331,340 ) / : 28D0, 0D0, 0D0, 0D0, 0D0, -2D0, : 17D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -22D0, 0D0, 0D0, 12D0, 0D0, 0D0, : -14D0, 0D0, 0D0, 7D0, 0D0, 0D0, : 24D0, 0D0, 0D0, -11D0, 0D0, 0D0, : 11D0, 0D0, 0D0, -6D0, 0D0, 0D0, : 14D0, 0D0, 0D0, -6D0, 0D0, 0D0, : 24D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 18D0, 0D0, 0D0, -8D0, 0D0, 0D0, : -38D0, 0D0, 0D0, 0D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=341,350 ) / : -31D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -16D0, 0D0, 0D0, 8D0, 0D0, 0D0, : 29D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -18D0, 0D0, 0D0, 10D0, 0D0, 0D0, : -10D0, 0D0, 0D0, 5D0, 0D0, 0D0, : -17D0, 0D0, 0D0, 10D0, 0D0, 0D0, : 9D0, 0D0, 0D0, -4D0, 0D0, 0D0, : 16D0, 0D0, 0D0, -6D0, 0D0, 0D0, : 22D0, 0D0, 0D0, -12D0, 0D0, 0D0, : 20D0, 0D0, 0D0, 0D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=351,360 ) / : -13D0, 0D0, 0D0, 6D0, 0D0, 0D0, : -17D0, 0D0, 0D0, 9D0, 0D0, 0D0, : -14D0, 0D0, 0D0, 8D0, 0D0, 0D0, : 0D0, 0D0, 0D0, -7D0, 0D0, 0D0, : 14D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 19D0, 0D0, 0D0, -10D0, 0D0, 0D0, : -34D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -20D0, 0D0, 0D0, 8D0, 0D0, 0D0, : 9D0, 0D0, 0D0, -5D0, 0D0, 0D0, : -18D0, 0D0, 0D0, 7D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=361,370 ) / : 13D0, 0D0, 0D0, -6D0, 0D0, 0D0, : 17D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -12D0, 0D0, 0D0, 5D0, 0D0, 0D0, : 15D0, 0D0, 0D0, -8D0, 0D0, 0D0, : -11D0, 0D0, 0D0, 3D0, 0D0, 0D0, : 13D0, 0D0, 0D0, -5D0, 0D0, 0D0, : -18D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -35D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 9D0, 0D0, 0D0, -4D0, 0D0, 0D0, : -19D0, 0D0, 0D0, 10D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=371,380 ) / : -26D0, 0D0, 0D0, 11D0, 0D0, 0D0, : 8D0, 0D0, 0D0, -4D0, 0D0, 0D0, : -10D0, 0D0, 0D0, 4D0, 0D0, 0D0, : 10D0, 0D0, 0D0, -6D0, 0D0, 0D0, : -21D0, 0D0, 0D0, 9D0, 0D0, 0D0, : -15D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 9D0, 0D0, 0D0, -5D0, 0D0, 0D0, : -29D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -19D0, 0D0, 0D0, 10D0, 0D0, 0D0, : 12D0, 0D0, 0D0, -5D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=381,390 ) / : 22D0, 0D0, 0D0, -9D0, 0D0, 0D0, : -10D0, 0D0, 0D0, 5D0, 0D0, 0D0, : -20D0, 0D0, 0D0, 11D0, 0D0, 0D0, : -20D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -17D0, 0D0, 0D0, 7D0, 0D0, 0D0, : 15D0, 0D0, 0D0, -3D0, 0D0, 0D0, : 8D0, 0D0, 0D0, -4D0, 0D0, 0D0, : 14D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -12D0, 0D0, 0D0, 6D0, 0D0, 0D0, : 25D0, 0D0, 0D0, 0D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=391,400 ) / : -13D0, 0D0, 0D0, 6D0, 0D0, 0D0, : -14D0, 0D0, 0D0, 8D0, 0D0, 0D0, : 13D0, 0D0, 0D0, -5D0, 0D0, 0D0, : -17D0, 0D0, 0D0, 9D0, 0D0, 0D0, : -12D0, 0D0, 0D0, 6D0, 0D0, 0D0, : -10D0, 0D0, 0D0, 5D0, 0D0, 0D0, : 10D0, 0D0, 0D0, -6D0, 0D0, 0D0, : -15D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -22D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 28D0, 0D0, 0D0, -1D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=401,410 ) / : 15D0, 0D0, 0D0, -7D0, 0D0, 0D0, : 23D0, 0D0, 0D0, -10D0, 0D0, 0D0, : 12D0, 0D0, 0D0, -5D0, 0D0, 0D0, : 29D0, 0D0, 0D0, -1D0, 0D0, 0D0, : -25D0, 0D0, 0D0, 1D0, 0D0, 0D0, : 22D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -18D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 15D0, 0D0, 0D0, 3D0, 0D0, 0D0, : -23D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 12D0, 0D0, 0D0, -5D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=411,420 ) / : -8D0, 0D0, 0D0, 4D0, 0D0, 0D0, : -19D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -10D0, 0D0, 0D0, 4D0, 0D0, 0D0, : 21D0, 0D0, 0D0, -9D0, 0D0, 0D0, : 23D0, 0D0, 0D0, -1D0, 0D0, 0D0, : -16D0, 0D0, 0D0, 8D0, 0D0, 0D0, : -19D0, 0D0, 0D0, 9D0, 0D0, 0D0, : -22D0, 0D0, 0D0, 10D0, 0D0, 0D0, : 27D0, 0D0, 0D0, -1D0, 0D0, 0D0, : 16D0, 0D0, 0D0, -8D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=421,430 ) / : 19D0, 0D0, 0D0, -8D0, 0D0, 0D0, : 9D0, 0D0, 0D0, -4D0, 0D0, 0D0, : -9D0, 0D0, 0D0, 4D0, 0D0, 0D0, : -9D0, 0D0, 0D0, 4D0, 0D0, 0D0, : -8D0, 0D0, 0D0, 4D0, 0D0, 0D0, : 18D0, 0D0, 0D0, -9D0, 0D0, 0D0, : 16D0, 0D0, 0D0, -1D0, 0D0, 0D0, : -10D0, 0D0, 0D0, 4D0, 0D0, 0D0, : -23D0, 0D0, 0D0, 9D0, 0D0, 0D0, : 16D0, 0D0, 0D0, -1D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=431,440 ) / : -12D0, 0D0, 0D0, 6D0, 0D0, 0D0, : -8D0, 0D0, 0D0, 4D0, 0D0, 0D0, : 30D0, 0D0, 0D0, -2D0, 0D0, 0D0, : 24D0, 0D0, 0D0, -10D0, 0D0, 0D0, : 10D0, 0D0, 0D0, -4D0, 0D0, 0D0, : -16D0, 0D0, 0D0, 7D0, 0D0, 0D0, : -16D0, 0D0, 0D0, 7D0, 0D0, 0D0, : 17D0, 0D0, 0D0, -7D0, 0D0, 0D0, : -24D0, 0D0, 0D0, 10D0, 0D0, 0D0, : -12D0, 0D0, 0D0, 5D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=441,450 ) / : -24D0, 0D0, 0D0, 11D0, 0D0, 0D0, : -23D0, 0D0, 0D0, 9D0, 0D0, 0D0, : -13D0, 0D0, 0D0, 5D0, 0D0, 0D0, : -15D0, 0D0, 0D0, 7D0, 0D0, 0D0, : 0D0, 0D0, -1988D0, 0D0, 0D0, -1679D0, : 0D0, 0D0, -63D0, 0D0, 0D0, -27D0, : -4D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 0D0, 0D0, 5D0, 0D0, 0D0, 4D0, : 5D0, 0D0, 0D0, -3D0, 0D0, 0D0, : 0D0, 0D0, 364D0, 0D0, 0D0, 176D0 / DATA ( ( CLS(I,J), I=1,6 ), J=451,460 ) / : 0D0, 0D0, -1044D0, 0D0, 0D0, -891D0, : -3D0, 0D0, 0D0, 1D0, 0D0, 0D0, : 4D0, 0D0, 0D0, -2D0, 0D0, 0D0, : 0D0, 0D0, 330D0, 0D0, 0D0, 0D0, : 5D0, 0D0, 0D0, -2D0, 0D0, 0D0, : 3D0, 0D0, 0D0, -2D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 1D0, 0D0, 0D0, : -5D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 3D0, 0D0, 0D0, -1D0, 0D0, 0D0, : 3D0, 0D0, 0D0, 0D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=461,470 ) / : 3D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 0D0, 0D0, 5D0, 0D0, 0D0, 0D0, : 0D0, 0D0, 0D0, 1D0, 0D0, 0D0, : 4D0, 0D0, 0D0, -2D0, 0D0, 0D0, : 6D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 5D0, 0D0, 0D0, -2D0, 0D0, 0D0, : -7D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -12D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 5D0, 0D0, 0D0, -3D0, 0D0, 0D0, : 3D0, 0D0, 0D0, -1D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=471,480 ) / : -5D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 3D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -7D0, 0D0, 0D0, 3D0, 0D0, 0D0, : 7D0, 0D0, 0D0, -4D0, 0D0, 0D0, : 0D0, 0D0, -12D0, 0D0, 0D0, -10D0, : 4D0, 0D0, 0D0, -2D0, 0D0, 0D0, : 3D0, 0D0, 0D0, -2D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 2D0, 0D0, 0D0, : -7D0, 0D0, 0D0, 3D0, 0D0, 0D0, : -4D0, 0D0, 0D0, 2D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=481,490 ) / : -3D0, 0D0, 0D0, 1D0, 0D0, 0D0, : 0D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 1D0, 0D0, 0D0, : 7D0, 0D0, 0D0, -3D0, 0D0, 0D0, : -4D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 4D0, 0D0, 0D0, -2D0, 0D0, 0D0, : -5D0, 0D0, 0D0, 3D0, 0D0, 0D0, : 5D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -5D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 5D0, 0D0, 0D0, -2D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=491,500 ) / : -8D0, 0D0, 0D0, 3D0, 0D0, 0D0, : 9D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 6D0, 0D0, 0D0, -3D0, 0D0, 0D0, : -5D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 3D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -7D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 1D0, 0D0, 0D0, : 5D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 3D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 2D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=501,510 ) / : 4D0, 0D0, 0D0, -2D0, 0D0, 0D0, : 3D0, 0D0, 0D0, -1D0, 0D0, 0D0, : -5D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 4D0, 0D0, 0D0, -2D0, 0D0, 0D0, : 9D0, 0D0, 0D0, -3D0, 0D0, 0D0, : 4D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 4D0, 0D0, 0D0, -2D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 2D0, 0D0, 0D0, : -4D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 9D0, 0D0, 0D0, -3D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=511,520 ) / : -4D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -4D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 3D0, 0D0, 0D0, -2D0, 0D0, 0D0, : 8D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 3D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 3D0, 0D0, 0D0, -1D0, 0D0, 0D0, : 3D0, 0D0, 0D0, -1D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 1D0, 0D0, 0D0, : 6D0, 0D0, 0D0, -3D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=521,530 ) / : 3D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 1D0, 0D0, 0D0, : -7D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 9D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 2D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -4D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -5D0, 0D0, 0D0, 3D0, 0D0, 0D0, : -13D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -7D0, 0D0, 0D0, 0D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=531,540 ) / : 10D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 3D0, 0D0, 0D0, -1D0, 0D0, 0D0, : 10D0, 0D0, 13D0, 6D0, 0D0, -5D0, : 0D0, 0D0, 30D0, 0D0, 0D0, 14D0, : 0D0, 0D0, -162D0, 0D0, 0D0, -138D0, : 0D0, 0D0, 75D0, 0D0, 0D0, 0D0, : -7D0, 0D0, 0D0, 4D0, 0D0, 0D0, : -4D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 4D0, 0D0, 0D0, -2D0, 0D0, 0D0, : 5D0, 0D0, 0D0, -2D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=541,550 ) / : 5D0, 0D0, 0D0, -3D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 2D0, 0D0, 0D0, : -4D0, 0D0, 0D0, 2D0, 0D0, 0D0, : -5D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 6D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 9D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 5D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -7D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 1D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=551,560 ) / : -4D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 7D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -4D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 4D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -6D0, 0D0, -3D0, 3D0, 0D0, 1D0, : 0D0, 0D0, -3D0, 0D0, 0D0, -2D0, : 11D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 3D0, 0D0, 0D0, -1D0, 0D0, 0D0, : 11D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 2D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=561,570 ) / : -1D0, 0D0, 3D0, 3D0, 0D0, -1D0, : 4D0, 0D0, 0D0, -2D0, 0D0, 0D0, : 0D0, 0D0, -13D0, 0D0, 0D0, -11D0, : 3D0, 0D0, 6D0, 0D0, 0D0, 0D0, : -7D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 5D0, 0D0, 0D0, -3D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 1D0, 0D0, 0D0, : 3D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 5D0, 0D0, 0D0, -3D0, 0D0, 0D0, : -7D0, 0D0, 0D0, 3D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=571,580 ) / : 8D0, 0D0, 0D0, -3D0, 0D0, 0D0, : -4D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 11D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 1D0, 0D0, 0D0, : 3D0, 0D0, 0D0, -1D0, 0D0, 0D0, : -4D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 8D0, 0D0, 0D0, -4D0, 0D0, 0D0, : 3D0, 0D0, 0D0, -1D0, 0D0, 0D0, : 11D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -6D0, 0D0, 0D0, 3D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=581,590 ) / : -4D0, 0D0, 0D0, 2D0, 0D0, 0D0, : -8D0, 0D0, 0D0, 4D0, 0D0, 0D0, : -7D0, 0D0, 0D0, 3D0, 0D0, 0D0, : -4D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 3D0, 0D0, 0D0, -1D0, 0D0, 0D0, : 6D0, 0D0, 0D0, -3D0, 0D0, 0D0, : -6D0, 0D0, 0D0, 3D0, 0D0, 0D0, : 6D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 6D0, 0D0, 0D0, -1D0, 0D0, 0D0, : 5D0, 0D0, 0D0, -2D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=591,600 ) / : -5D0, 0D0, 0D0, 2D0, 0D0, 0D0, : -4D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -4D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 4D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 6D0, 0D0, 0D0, -3D0, 0D0, 0D0, : -4D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 0D0, 0D0, -26D0, 0D0, 0D0, -11D0, : 0D0, 0D0, -10D0, 0D0, 0D0, -5D0, : 5D0, 0D0, 0D0, -3D0, 0D0, 0D0, : -13D0, 0D0, 0D0, 0D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=601,610 ) / : 3D0, 0D0, 0D0, -2D0, 0D0, 0D0, : 4D0, 0D0, 0D0, -2D0, 0D0, 0D0, : 7D0, 0D0, 0D0, -3D0, 0D0, 0D0, : 4D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 5D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 2D0, 0D0, 0D0, : -6D0, 0D0, 0D0, 2D0, 0D0, 0D0, : -5D0, 0D0, 0D0, 2D0, 0D0, 0D0, : -7D0, 0D0, 0D0, 3D0, 0D0, 0D0, : 5D0, 0D0, 0D0, -2D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=611,620 ) / : 13D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -4D0, 0D0, 0D0, 2D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 5D0, 0D0, 0D0, -2D0, 0D0, 0D0, : -11D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 5D0, 0D0, 0D0, -2D0, 0D0, 0D0, : 4D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 4D0, 0D0, 0D0, -2D0, 0D0, 0D0, : -4D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 6D0, 0D0, 0D0, -3D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=621,630 ) / : 3D0, 0D0, 0D0, -2D0, 0D0, 0D0, : -12D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 4D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -4D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 3D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 3D0, 0D0, 0D0, -1D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 1D0, 0D0, 0D0, : 0D0, 0D0, -5D0, 0D0, 0D0, -2D0, : -7D0, 0D0, 0D0, 4D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=631,640 ) / : 6D0, 0D0, 0D0, -3D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 5D0, 0D0, 0D0, -3D0, 0D0, 0D0, : 3D0, 0D0, 0D0, -1D0, 0D0, 0D0, : 3D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 1D0, 0D0, 0D0, : -5D0, 0D0, 0D0, 3D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 2D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 12D0, 0D0, 0D0, 0D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=641,650 ) / : 3D0, 0D0, 0D0, -1D0, 0D0, 0D0, : -4D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 4D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 6D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 5D0, 0D0, 0D0, -3D0, 0D0, 0D0, : 4D0, 0D0, 0D0, -2D0, 0D0, 0D0, : -6D0, 0D0, 0D0, 3D0, 0D0, 0D0, : 4D0, 0D0, 0D0, -2D0, 0D0, 0D0, : 6D0, 0D0, 0D0, -3D0, 0D0, 0D0, : 6D0, 0D0, 0D0, 0D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=651,660 ) / : -6D0, 0D0, 0D0, 3D0, 0D0, 0D0, : 3D0, 0D0, 0D0, -2D0, 0D0, 0D0, : 7D0, 0D0, 0D0, -4D0, 0D0, 0D0, : 4D0, 0D0, 0D0, -2D0, 0D0, 0D0, : -5D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 5D0, 0D0, 0D0, 0D0, 0D0, 0D0, : -6D0, 0D0, 0D0, 3D0, 0D0, 0D0, : -6D0, 0D0, 0D0, 3D0, 0D0, 0D0, : -4D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 10D0, 0D0, 0D0, 0D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=661,670 ) / : -4D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 7D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 7D0, 0D0, 0D0, -3D0, 0D0, 0D0, : 4D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 11D0, 0D0, 0D0, 0D0, 0D0, 0D0, : 5D0, 0D0, 0D0, -2D0, 0D0, 0D0, : -6D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 4D0, 0D0, 0D0, -2D0, 0D0, 0D0, : 3D0, 0D0, 0D0, -2D0, 0D0, 0D0, : 5D0, 0D0, 0D0, -2D0, 0D0, 0D0 / DATA ( ( CLS(I,J), I=1,6 ), J=671,678 ) / : -4D0, 0D0, 0D0, 2D0, 0D0, 0D0, : -4D0, 0D0, 0D0, 2D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 2D0, 0D0, 0D0, : 4D0, 0D0, 0D0, -2D0, 0D0, 0D0, : 3D0, 0D0, 0D0, -1D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 1D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 1D0, 0D0, 0D0, : -3D0, 0D0, 0D0, 2D0, 0D0, 0D0 / * * Planetary argument multipliers * : L L' F D Om Me Ve E Ma Ju Sa Ur Ne pre DATA ( ( NAPL(I,J), I=1,14 ), J= 1, 10 ) / : 0, 0, 0, 0, 0, 0, 0, 8,-16, 4, 5, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -8, 16, -4, -5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 8,-16, 4, 5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 2, 2, : 0, 0, 0, 0, 0, 0, 0, -4, 8, -1, -5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 1, : 0, 0, 1, -1, 1, 0, 0, 3, -8, 3, 0, 0, 0, 0, : -1, 0, 0, 0, 0, 0, 10, -3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 6, -3, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J= 11, 20 ) / : 0, 0, 1, -1, 1, 0, 0, -5, 8, -3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -4, 8, -3, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 4, -8, 1, 5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -5, 6, 4, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 1, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 2, -5, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, -2, 5, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 1 / DATA ( ( NAPL(I,J), I=1,14 ), J= 21, 30 ) / : 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 2, : 2, 0, -1, -1, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, : 1, 0, 0, -2, 0, 0, 19,-21, 3, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 2, -4, 0, -3, 0, 0, 0, 0, : 1, 0, 0, -1, 1, 0, 0, -1, 0, 2, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, -4, 10, 0, 0, 0, : -2, 0, 0, 2, 1, 0, 0, 2, 0, 0, -5, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 3, -7, 4, 0, 0, 0, 0, 0, : 0, 0, -1, 1, 0, 0, 0, 1, 0, 1, -1, 0, 0, 0, : -2, 0, 0, 2, 1, 0, 0, 2, 0, -2, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J= 31, 40 ) / : -1, 0, 0, 0, 0, 0, 18,-16, 0, 0, 0, 0, 0, 0, : -2, 0, 1, 1, 2, 0, 0, 1, 0, -2, 0, 0, 0, 0, : -1, 0, 1, -1, 1, 0, 18,-17, 0, 0, 0, 0, 0, 0, : -1, 0, 0, 1, 1, 0, 0, 2, -2, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -8, 13, 0, 0, 0, 0, 0, 2, : 0, 0, 2, -2, 2, 0, -8, 11, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -8, 13, 0, 0, 0, 0, 0, 1, : 0, 0, 1, -1, 1, 0, -8, 12, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 8,-13, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 8,-14, 0, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J= 41, 50 ) / : 0, 0, 0, 0, 0, 0, 8,-13, 0, 0, 0, 0, 0, 1, : -2, 0, 0, 2, 1, 0, 0, 2, 0, -4, 5, 0, 0, 0, : -2, 0, 0, 2, 2, 0, 3, -3, 0, 0, 0, 0, 0, 0, : -2, 0, 0, 2, 0, 0, 0, 2, 0, -3, 1, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 3, -5, 0, 2, 0, 0, 0, 0, : -2, 0, 0, 2, 0, 0, 0, 2, 0, -4, 3, 0, 0, 0, : 0, 0, -1, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, -1, 2, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 2, 0, 0, -2, 2, 0, 0, 0, 0, 0, : -1, 0, 1, 0, 1, 0, 3, -5, 0, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J= 51, 60 ) / : -1, 0, 0, 1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, : -2, 0, 0, 2, 0, 0, 0, 2, 0, -2, -2, 0, 0, 0, : -2, 0, 2, 0, 2, 0, 0, -5, 9, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 0, -1, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 0, 0, 2, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, : -1, 0, 0, 1, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, : 0, 0, -1, 1, 0, 0, 0, 1, 0, 0, 2, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J= 61, 70 ) / : 0, 0, 1, -1, 2, 0, 0, -1, 0, 0, 2, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, -9, 17, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 2, 0, -3, 5, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, -1, 2, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, : 1, 0, 0, -2, 0, 0, 17,-16, 0, -2, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 1, -3, 0, 0, 0, : -2, 0, 0, 2, 1, 0, 0, 5, -6, 0, 0, 0, 0, 0, : 0, 0, -2, 2, 0, 0, 0, 9,-13, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 2, 0, 0, -1, 0, 0, 1, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J= 71, 80 ) / : 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, : 0, 0, -1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, : 0, 0, -2, 2, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, : 0, 0, -1, 1, 1, 0, 5, -7, 0, 0, 0, 0, 0, 0, : -2, 0, 0, 2, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, : 2, 0, 1, -3, 1, 0, -6, 7, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, : 0, 0, -1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 0, 2, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1 / DATA ( ( NAPL(I,J), I=1,14 ), J= 81, 90 ) / : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -8, 15, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -8, 15, 0, 0, 0, 0, 1, : 0, 0, 1, -1, 1, 0, 0, -9, 15, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 8,-15, 0, 0, 0, 0, 0, : 1, 0, -1, -1, 0, 0, 0, 8,-15, 0, 0, 0, 0, 0, : 2, 0, 0, -2, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0, : -2, 0, 0, 2, 0, 0, 0, 2, 0, -5, 5, 0, 0, 0, : 2, 0, 0, -2, 1, 0, 0, -6, 8, 0, 0, 0, 0, 0, : 2, 0, 0, -2, 1, 0, 0, -2, 0, 3, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J= 91,100 ) / : -2, 0, 1, 1, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, : -2, 0, 1, 1, 1, 0, 0, 1, 0, -3, 0, 0, 0, 0, : -2, 0, 0, 2, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, : -2, 0, 0, 2, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, : -2, 0, 0, 2, 0, 0, 0, 2, 0, -1, -5, 0, 0, 0, : -1, 0, 0, 1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, : -1, 0, 1, 1, 1, 0,-20, 20, 0, 0, 0, 0, 0, 0, : 1, 0, 0, -2, 0, 0, 20,-21, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 8,-15, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0,-10, 15, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=101,110 ) / : 0, 0, -1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, : 0, 0, 1, -1, 2, 0, 0, -1, 0, 1, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, -2, 4, 0, 0, 0, : 2, 0, 0, -2, 1, 0, -6, 8, 0, 0, 0, 0, 0, 0, : 0, 0, -2, 2, 1, 0, 5, -6, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 1, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, -1, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 1, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=111,120 ) / : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, : 0, 0, 2, -2, 1, 0, 0, -9, 13, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 7,-13, 0, 0, 0, 0, 0, : -2, 0, 0, 2, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 9,-17, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -9, 17, 0, 0, 0, 0, 2, : 1, 0, 0, -1, 1, 0, 0, -3, 4, 0, 0, 0, 0, 0, : 1, 0, 0, -1, 1, 0, -3, 4, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 2, 0, 0, -1, 2, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=121,130 ) / : 0, 0, -1, 1, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, : 0, 0, -2, 2, 0, 1, 0, -2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 3, -5, 0, 2, 0, 0, 0, 0, : -2, 0, 0, 2, 1, 0, 0, 2, 0, -3, 1, 0, 0, 0, : -2, 0, 0, 2, 1, 0, 3, -3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 8,-13, 0, 0, 0, 0, 0, 0, : 0, 0, -1, 1, 0, 0, 8,-12, 0, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, -8, 11, 0, 0, 0, 0, 0, 0, : -1, 0, 0, 1, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, : -1, 0, 0, 0, 1, 0, 18,-16, 0, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=131,140 ) / : 0, 0, 1, -1, 1, 0, 0, -1, 0, -1, 1, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 3, -7, 4, 0, 0, 0, 0, 0, : -2, 0, 1, 1, 1, 0, 0, -3, 7, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 2, 0, 0, -1, 0, -2, 5, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 0, 0, -2, 5, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, -4, 8, -3, 0, 0, 0, 0, : 1, 0, 0, 0, 1, 0,-10, 3, 0, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, -2, 0, 0, 0, 0, 0, 0, : -1, 0, 0, 0, 1, 0, 10, -3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 4, -8, 3, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=141,150 ) / : 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, -5, 0, 0, 0, : 0, 0, -1, 1, 0, 0, 0, 1, 0, 2, -5, 0, 0, 0, : 2, 0, -1, -1, 1, 0, 0, 3, -7, 0, 0, 0, 0, 0, : -2, 0, 0, 2, 0, 0, 0, 2, 0, 0, -5, 0, 0, 0, : 0, 0, 0, 0, 1, 0, -3, 7, -4, 0, 0, 0, 0, 0, : -2, 0, 0, 2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, : 1, 0, 0, 0, 1, 0,-18, 16, 0, 0, 0, 0, 0, 0, : -2, 0, 1, 1, 1, 0, 0, 1, 0, -2, 0, 0, 0, 0, : 0, 0, 1, -1, 2, 0, -8, 12, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, -8, 13, 0, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=151,160 ) / : 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 1, : 0, 0, 1, -1, 1, 0, 0, 0, -2, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -2, 2, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 1, : -1, 0, 0, 1, 1, 0, 3, -4, 0, 0, 0, 0, 0, 0, : -1, 0, 0, 1, 1, 0, 0, 3, -4, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, -2, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 2, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1 / DATA ( ( NAPL(I,J), I=1,14 ), J=161,170 ) / : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, : 0, 0, 1, -1, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, -3, 5, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 2, 0, -3, 4, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, -2, 4, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, -5, 6, 0, 0, 0, 0, 0, 0, : 0, 0, -1, 1, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 5, -8, 0, 0, 0, 0, 0, 0, : -2, 0, 0, 2, 1, 0, 6, -8, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, -8, 15, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=171,180 ) / : -2, 0, 0, 2, 1, 0, 0, 2, 0, -3, 0, 0, 0, 0, : -2, 0, 0, 2, 1, 0, 0, 6, -8, 0, 0, 0, 0, 0, : 1, 0, 0, -1, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, -1, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1 / DATA ( ( NAPL(I,J), I=1,14 ), J=181,190 ) / : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, : 0, 0, 1, -1, 2, 0, 0, -1, 0, 0, -1, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0, : 0, 0, -1, 1, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -7, 13, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 7,-13, 0, 0, 0, 0, 0, : 2, 0, 0, -2, 1, 0, 0, -5, 6, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, -8, 11, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, -1, 0, 2, 0, 0, 0, 0, 0, 0, : -2, 0, 0, 2, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=191,200 ) / : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 3, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 2, : -2, 0, 0, 2, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 2, 0, 0, -4, 8, -3, 0, 0, 0, 0, : 0, 0, 0, 0, 2, 0, 0, 4, -8, 3, 0, 0, 0, 0, : 2, 0, 0, -2, 1, 0, 0, -2, 0, 2, 0, 0, 0, 0, : 0, 0, 1, -1, 2, 0, 0, -1, 0, 2, 0, 0, 0, 0, : 0, 0, 1, -1, 2, 0, 0, 0, -2, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=201,210 ) / : 0, 0, 0, 0, 1, 0, 0, 1, -2, 0, 0, 0, 0, 0, : 0, 0, -1, 1, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, : 0, 0, -1, 1, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, -2, 0, 0, 2, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 3, -6, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, -3, 4, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 2 / DATA ( ( NAPL(I,J), I=1,14 ), J=211,220 ) / : 0, 0, 2, -2, 2, 0, -3, 3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 1, : 0, 0, 1, -1, 1, 0, 0, 1, -4, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 1, : 0, 0, 1, -1, 1, 0, 0, -3, 4, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 2 / DATA ( ( NAPL(I,J), I=1,14 ), J=221,230 ) / : 0, 0, 2, -2, 2, 0, -5, 6, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 1, : 0, 0, 1, -1, 1, 0, -5, 7, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 2, 0, 0, -1, 0, -1, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, : 0, 0, -1, 1, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, -2, 0, 1, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=231,240 ) / : 0, 0, 0, 0, 0, 0, 0, -6, 11, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 6,-11, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, -1, 0, 4, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0, 0, 0, : 2, 0, 0, -2, 1, 0, -3, 3, 0, 0, 0, 0, 0, 0, : -2, 0, 0, 2, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, -7, 9, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1 / DATA ( ( NAPL(I,J), I=1,14 ), J=241,250 ) / : 0, 0, 1, -1, 1, 0, 0, -1, 0, 2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, : 0, 0, 2, -2, 2, 0, 0, -2, 0, 2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 2, : 0, 0, 0, 0, 1, 0, 3, -5, 0, 0, 0, 0, 0, 0, : 0, 0, -1, 1, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, -3, 3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 2, -4, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, -4, 4, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=251,260 ) / : 0, 0, 1, -1, 2, 0, -5, 7, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -3, 6, 0, 0, 0, 0, 1, : 0, 0, 1, -1, 1, 0, 0, -4, 6, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -3, 6, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, -3, 6, 0, 0, 0, 0, 2, : 0, 0, -1, 1, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 2, -3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -5, 9, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -5, 9, 0, 0, 0, 0, 1 / DATA ( ( NAPL(I,J), I=1,14 ), J=261,270 ) / : 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, : 0, 0, -1, 1, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, -2, 0, 2, 0, 0, 0, 0, : -2, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, : 0, 0, -2, 2, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -2, 3, 0, 0, 0, 0, 0, 1, : 0, 0, 1, -1, 1, 0, -2, 2, 0, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=271,280 ) / : 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -4, 8, 0, 0, 0, 0, 2, : 0, 0, -2, 2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -4, 7, 0, 0, 0, 0, 2 / DATA ( ( NAPL(I,J), I=1,14 ), J=281,290 ) / : 0, 0, 0, 0, 0, 0, 0, -4, 7, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, -2, 3, 0, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, -2, 0, 3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -5, 10, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 1, 0, -1, 2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -3, 5, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=291,300 ) / : 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 1, : 0, 0, 1, -1, 1, 0, 1, -3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, -1, 2, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -7, 11, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -7, 11, 0, 0, 0, 0, 0, 1, : 0, 0, -2, 2, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, -4, 4, 0, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=301,310 ) / : 0, 0, -1, 1, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -4, 7, 0, 0, 0, 0, 0, 1, : 0, 0, 1, -1, 1, 0, -4, 6, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -4, 7, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -4, 6, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -4, 6, 0, 0, 0, 0, 0, 1, : 0, 0, 1, -1, 1, 0, -4, 5, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -4, 6, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=311,320 ) / : -2, 0, 0, 2, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, : 0, 0, -1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 1, -1, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -1, 0, 5, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -1, 3, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -7, 12, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 1 / DATA ( ( NAPL(I,J), I=1,14 ), J=321,330 ) / : 0, 0, 1, -1, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 1, : 0, 0, 1, -1, 1, 0, 1, -2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -1, 0, 4, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, -1, 1, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -6, 10, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=331,340 ) / : 0, 0, 2, -2, 1, 0, 0, -3, 0, 3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -3, 7, 0, 0, 0, 0, 2, : -2, 0, 0, 2, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -5, 8, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -1, 0, 3, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -1, 0, 3, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 1 / DATA ( ( NAPL(I,J), I=1,14 ), J=341,350 ) / : 0, 0, 1, -1, 1, 0, -2, 3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -2, 4, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -6, 9, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -6, 9, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 1, 0, -2, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, -2, 2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -4, 6, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 3, -4, 0, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=351,360 ) / : 0, 0, 0, 0, 0, 0, 0, -1, 0, 2, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 1, 0, -1, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -5, 9, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 1, 0, 0, 2, -2, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=361,370 ) / : 0, 0, 0, 0, 1, 0, 0, -1, 0, 2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -3, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -5, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 5, 0, 0, 0, : 0, 0, 0, 0, 1, 0, -3, 4, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=371,380 ) / : 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, -2, 2, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -8, 14, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -5, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 5, -8, 3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 5, -8, 3, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 3, -8, 3, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=381,390 ) / : 0, 0, 0, 0, 0, 0, 0, -3, 8, -3, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -8, 12, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -8, 12, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -2, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 2, : 0, 0, 2, -2, 1, 0, -5, 5, 0, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=391,400 ) / : 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -3, 6, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, -3, 6, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -1, 4, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 0, 1, : 0, 0, 1, -1, 1, 0, -5, 6, 0, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=401,410 ) / : 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, : 0, 0, 0, 0, 0, -1, 0, 3, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -2, 6, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 1, 0, 2, -2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -6, 9, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, 1 / DATA ( ( NAPL(I,J), I=1,14 ), J=411,420 ) / : 0, 0, 1, -1, 1, 0, -2, 1, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -5, 7, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, -2, 2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -1, 3, 0, 0, 0, 0, 0, 1 / DATA ( ( NAPL(I,J), I=1,14 ), J=421,430 ) / : 0, 0, 1, -1, 1, 0, -1, 2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -1, 3, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -7, 10, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -4, 8, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -4, 5, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 2 / DATA ( ( NAPL(I,J), I=1,14 ), J=431,440 ) / : 0, 0, 0, 0, 0, 0, 0, -2, 0, 5, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -9, 13, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -1, 5, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -2, 0, 4, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -2, 7, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=441,450 ) / : 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, -2, 5, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -6, 8, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -6, 8, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 2, 0, -2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, -3, 9, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=451,460 ) / : 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -5, 10, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -3, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=461,470 ) / : 0, 0, 0, 0, 0, 0, 0, -5, 13, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -1, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -6, 15, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -8, 15, 0, 0, 0, 0, 0, 2 / DATA ( ( NAPL(I,J), I=1,14 ), J=471,480 ) / : 0, 0, 0, 0, 0, 0, -3, 9, -4, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, -5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -2, 8, -1, -5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 6, -8, 3, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, : 0, 0, 1, -1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2 / DATA ( ( NAPL(I,J), I=1,14 ), J=481,490 ) / : 0, 0, 0, 0, 0, 0, 0, -6, 16, -4, -5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -2, 8, -3, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -2, 8, -3, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 6, -8, 1, 5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 3, -5, 4, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -8, 11, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -8, 11, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, -8, 11, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 2 / DATA ( ( NAPL(I,J), I=1,14 ), J=491,500 ) / : 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 3, -3, 0, 2, 0, 0, 0, 2, : 0, 0, 2, -2, 1, 0, 0, 4, -8, 3, 0, 0, 0, 0, : 0, 0, 1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, -4, 8, -3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -3, 7, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -5, 6, 0, 0, 0, 0, 0, 2 / DATA ( ( NAPL(I,J), I=1,14 ), J=501,510 ) / : 0, 0, 0, 0, 0, 0, -5, 6, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -1, 6, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 2 / DATA ( ( NAPL(I,J), I=1,14 ), J=511,520 ) / : 0, 0, 0, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, -1, 4, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -7, 9, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -7, 9, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 2 / DATA ( ( NAPL(I,J), I=1,14 ), J=521,530 ) / : 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -3, 0, 5, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -9, 12, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 1, -1, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=531,540 ) / : 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -2, 6, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -6, 7, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 2 / DATA ( ( NAPL(I,J), I=1,14 ), J=541,550 ) / : 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -2, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -1, 0, 0, 2, : 0, 0, 2, -2, 1, 0, 0, 1, 0, -1, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, -8, 16, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, -5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 7, -8, 3, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -5, 16, -4, -5, 0, 0, 2 / DATA ( ( NAPL(I,J), I=1,14 ), J=551,560 ) / : 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, -1, 8, -3, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, -8, 10, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -3, 8, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -5, 5, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=561,570 ) / : 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 2 / DATA ( ( NAPL(I,J), I=1,14 ), J=571,580 ) / : 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -9, 11, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -9, 11, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 4, 0, -4, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 4, 0, -3, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -6, 6, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 4, 0, -2, 0, 0, 0, 2 / DATA ( ( NAPL(I,J), I=1,14 ), J=581,590 ) / : 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 4, 0, -1, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, -2, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 2 / DATA ( ( NAPL(I,J), I=1,14 ), J=591,600 ) / : 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, -7, 7, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 5, 0, -4, 0, 0, 0, 2 / DATA ( ( NAPL(I,J), I=1,14 ), J=601,610 ) / : 0, 0, 0, 0, 0, 0, 0, 5, 0, -3, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 5, 0, -2, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -8, 8, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, -9, 9, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, -9, 9, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, -9, 9, 0, 0, 0, 0, 0, 1 / DATA ( ( NAPL(I,J), I=1,14 ), J=611,620 ) / : 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 2 / DATA ( ( NAPL(I,J), I=1,14 ), J=621,630 ) / : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, : 1, 0, 0, -2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, : 1, 0, 0, -2, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, : 1, 0, 0, -2, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, : 1, 0, 0, -2, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, : -1, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, : -1, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, : -1, 0, 0, 2, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, : 1, 0, 0, -2, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, : -2, 0, 0, 2, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=631,640 ) / : -1, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, : -1, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, : -1, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, : -1, 0, 0, 2, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, : 1, 0, -1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, : -1, 0, 0, 2, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, : -2, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, : 1, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, : -1, 0, 1, -1, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0, : 1, 0, 1, -1, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=641,650 ) / : -1, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, : -1, 0, 0, 2, 1, 0, 0, 2, 0, -2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, : -1, 0, 0, 2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, : -1, 0, 0, 2, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, : 1, 0, 0, -2, 1, 0, 0, -2, 0, 2, 0, 0, 0, 0, : 1, 0, 2, -2, 2, 0, -3, 3, 0, 0, 0, 0, 0, 0, : 1, 0, 2, -2, 2, 0, 0, -2, 0, 2, 0, 0, 0, 0, : 1, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, : 1, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=651,660 ) / : 0, 0, 0, -2, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, -2, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, : 0, 0, 2, 0, 2, 0, -2, 2, 0, 0, 0, 0, 0, 0, : 0, 0, 2, 0, 2, 0, 0, -1, 0, 1, 0, 0, 0, 0, : 0, 0, 2, 0, 2, 0, -1, 1, 0, 0, 0, 0, 0, 0, : 0, 0, 2, 0, 2, 0, -2, 3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, : 0, 0, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, : 1, 0, 2, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, : -1, 0, 2, 0, 2, 0, 10, -3, 0, 0, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=661,670 ) / : 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, : 1, 0, 2, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, : 0, 0, 2, 0, 2, 0, 0, 4, -8, 3, 0, 0, 0, 0, : 0, 0, 2, 0, 2, 0, 0, -4, 8, -3, 0, 0, 0, 0, : -1, 0, 2, 0, 2, 0, 0, -4, 8, -3, 0, 0, 0, 0, : 2, 0, 2, -2, 2, 0, 0, -2, 0, 3, 0, 0, 0, 0, : 1, 0, 2, 0, 1, 0, 0, -2, 0, 3, 0, 0, 0, 0, : 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, : -1, 0, 2, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, : -2, 0, 2, 2, 2, 0, 0, 2, 0, -2, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=671,680 ) / : 0, 0, 2, 0, 2, 0, 2, -3, 0, 0, 0, 0, 0, 0, : 0, 0, 2, 0, 2, 0, 1, -1, 0, 0, 0, 0, 0, 0, : 0, 0, 2, 0, 2, 0, 0, 1, 0, -1, 0, 0, 0, 0, : 0, 0, 2, 0, 2, 0, 2, -2, 0, 0, 0, 0, 0, 0, : -1, 0, 2, 2, 2, 0, 0, -1, 0, 1, 0, 0, 0, 0, : 1, 0, 2, 0, 2, 0, -1, 1, 0, 0, 0, 0, 0, 0, : -1, 0, 2, 2, 2, 0, 0, 2, 0, -3, 0, 0, 0, 0, : 2, 0, 2, 0, 2, 0, 0, 2, 0, -3, 0, 0, 0, 0, : 1, 0, 2, 0, 2, 0, 0, -4, 8, -3, 0, 0, 0, 0, : 1, 0, 2, 0, 2, 0, 0, 4, -8, 3, 0, 0, 0, 0 / DATA ( ( NAPL(I,J), I=1,14 ), J=681,687 ) / : 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, : 0, 0, 2, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, : 2, 0, 2, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, : -1, 0, 2, 2, 2, 0, 0, 2, 0, -2, 0, 0, 0, 0, : -1, 0, 2, 2, 2, 0, 3, -3, 0, 0, 0, 0, 0, 0, : 1, 0, 2, 0, 2, 0, 1, -1, 0, 0, 0, 0, 0, 0, : 0, 0, 2, 2, 2, 0, 0, 2, 0, -2, 0, 0, 0, 0 / * * Planetary nutation coefficients, unit 1e-7 arcsec * longitude (sin, cos), obliquity (sin, cos) * DATA ( ( ICPL(I,J), I=1,4 ), J= 1, 10 ) / : 1440, 0, 0, 0, : 56, -117, -42, -40, : 125, -43, 0, -54, : 0, 5, 0, 0, : 3, -7, -3, 0, : 3, 0, 0, -2, : -114, 0, 0, 61, : -219, 89, 0, 0, : -3, 0, 0, 0, : -462, 1604, 0, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J= 11, 20 ) / : 99, 0, 0, -53, : -3, 0, 0, 2, : 0, 6, 2, 0, : 3, 0, 0, 0, : -12, 0, 0, 0, : 14, -218, 117, 8, : 31, -481, -257, -17, : -491, 128, 0, 0, : -3084, 5123, 2735, 1647, : -1444, 2409, -1286, -771 / DATA ( ( ICPL(I,J), I=1,4 ), J= 21, 30 ) / : 11, -24, -11, -9, : 26, -9, 0, 0, : 103, -60, 0, 0, : 0, -13, -7, 0, : -26, -29, -16, 14, : 9, -27, -14, -5, : 12, 0, 0, -6, : -7, 0, 0, 0, : 0, 24, 0, 0, : 284, 0, 0, -151 / DATA ( ( ICPL(I,J), I=1,4 ), J= 31, 40 ) / : 226, 101, 0, 0, : 0, -8, -2, 0, : 0, -6, -3, 0, : 5, 0, 0, -3, : -41, 175, 76, 17, : 0, 15, 6, 0, : 425, 212, -133, 269, : 1200, 598, 319, -641, : 235, 334, 0, 0, : 11, -12, -7, -6 / DATA ( ( ICPL(I,J), I=1,4 ), J= 41, 50 ) / : 5, -6, 3, 3, : -5, 0, 0, 3, : 6, 0, 0, -3, : 15, 0, 0, 0, : 13, 0, 0, -7, : -6, -9, 0, 0, : 266, -78, 0, 0, : -460, -435, -232, 246, : 0, 15, 7, 0, : -3, 0, 0, 2 / DATA ( ( ICPL(I,J), I=1,4 ), J= 51, 60 ) / : 0, 131, 0, 0, : 4, 0, 0, 0, : 0, 3, 0, 0, : 0, 4, 2, 0, : 0, 3, 0, 0, : -17, -19, -10, 9, : -9, -11, 6, -5, : -6, 0, 0, 3, : -16, 8, 0, 0, : 0, 3, 0, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J= 61, 70 ) / : 11, 24, 11, -5, : -3, -4, -2, 1, : 3, 0, 0, -1, : 0, -8, -4, 0, : 0, 3, 0, 0, : 0, 5, 0, 0, : 0, 3, 2, 0, : -6, 4, 2, 3, : -3, -5, 0, 0, : -5, 0, 0, 2 / DATA ( ( ICPL(I,J), I=1,4 ), J= 71, 80 ) / : 4, 24, 13, -2, : -42, 20, 0, 0, : -10, 233, 0, 0, : -3, 0, 0, 1, : 78, -18, 0, 0, : 0, 3, 1, 0, : 0, -3, -1, 0, : 0, -4, -2, 1, : 0, -8, -4, -1, : 0, -5, 3, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J= 81, 90 ) / : -7, 0, 0, 3, : -14, 8, 3, 6, : 0, 8, -4, 0, : 0, 19, 10, 0, : 45, -22, 0, 0, : -3, 0, 0, 0, : 0, -3, 0, 0, : 0, 3, 0, 0, : 3, 5, 3, -2, : 89, -16, -9, -48 / DATA ( ( ICPL(I,J), I=1,4 ), J= 91,100 ) / : 0, 3, 0, 0, : -3, 7, 4, 2, : -349, -62, 0, 0, : -15, 22, 0, 0, : -3, 0, 0, 0, : -53, 0, 0, 0, : 5, 0, 0, -3, : 0, -8, 0, 0, : 15, -7, -4, -8, : -3, 0, 0, 1 / DATA ( ( ICPL(I,J), I=1,4 ), J=101,110 ) / : -21, -78, 0, 0, : 20, -70, -37, -11, : 0, 6, 3, 0, : 5, 3, 2, -2, : -17, -4, -2, 9, : 0, 6, 3, 0, : 32, 15, -8, 17, : 174, 84, 45, -93, : 11, 56, 0, 0, : -66, -12, -6, 35 / DATA ( ( ICPL(I,J), I=1,4 ), J=111,120 ) / : 47, 8, 4, -25, : 0, 8, 4, 0, : 10, -22, -12, -5, : -3, 0, 0, 2, : -24, 12, 0, 0, : 5, -6, 0, 0, : 3, 0, 0, -2, : 4, 3, 1, -2, : 0, 29, 15, 0, : -5, -4, -2, 2 / DATA ( ( ICPL(I,J), I=1,4 ), J=121,130 ) / : 8, -3, -1, -5, : 0, -3, 0, 0, : 10, 0, 0, 0, : 3, 0, 0, -2, : -5, 0, 0, 3, : 46, 66, 35, -25, : -14, 7, 0, 0, : 0, 3, 2, 0, : -5, 0, 0, 0, : -68, -34, -18, 36 / DATA ( ( ICPL(I,J), I=1,4 ), J=131,140 ) / : 0, 14, 7, 0, : 10, -6, -3, -5, : -5, -4, -2, 3, : -3, 5, 2, 1, : 76, 17, 9, -41, : 84, 298, 159, -45, : 3, 0, 0, -1, : -3, 0, 0, 2, : -3, 0, 0, 1, : -82, 292, 156, 44 / DATA ( ( ICPL(I,J), I=1,4 ), J=141,150 ) / : -73, 17, 9, 39, : -9, -16, 0, 0, : 3, 0, -1, -2, : -3, 0, 0, 0, : -9, -5, -3, 5, : -439, 0, 0, 0, : 57, -28, -15, -30, : 0, -6, -3, 0, : -4, 0, 0, 2, : -40, 57, 30, 21 / DATA ( ( ICPL(I,J), I=1,4 ), J=151,160 ) / : 23, 7, 3, -13, : 273, 80, 43, -146, : -449, 430, 0, 0, : -8, -47, -25, 4, : 6, 47, 25, -3, : 0, 23, 13, 0, : -3, 0, 0, 2, : 3, -4, -2, -2, : -48, -110, -59, 26, : 51, 114, 61, -27 / DATA ( ( ICPL(I,J), I=1,4 ), J=161,170 ) / : -133, 0, 0, 57, : 0, 4, 0, 0, : -21, -6, -3, 11, : 0, -3, -1, 0, : -11, -21, -11, 6, : -18, -436, -233, 9, : 35, -7, 0, 0, : 0, 5, 3, 0, : 11, -3, -1, -6, : -5, -3, -1, 3 / DATA ( ( ICPL(I,J), I=1,4 ), J=171,180 ) / : -53, -9, -5, 28, : 0, 3, 2, 1, : 4, 0, 0, -2, : 0, -4, 0, 0, : -50, 194, 103, 27, : -13, 52, 28, 7, : -91, 248, 0, 0, : 6, 49, 26, -3, : -6, -47, -25, 3, : 0, 5, 3, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=181,190 ) / : 52, 23, 10, -23, : -3, 0, 0, 1, : 0, 5, 3, 0, : -4, 0, 0, 0, : -4, 8, 3, 2, : 10, 0, 0, 0, : 3, 0, 0, -2, : 0, 8, 4, 0, : 0, 8, 4, 1, : -4, 0, 0, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=191,200 ) / : -4, 0, 0, 0, : -8, 4, 2, 4, : 8, -4, -2, -4, : 0, 15, 7, 0, : -138, 0, 0, 0, : 0, -7, -3, 0, : 0, -7, -3, 0, : 54, 0, 0, -29, : 0, 10, 4, 0, : -7, 0, 0, 3 / DATA ( ( ICPL(I,J), I=1,4 ), J=201,210 ) / : -37, 35, 19, 20, : 0, 4, 0, 0, : -4, 9, 0, 0, : 8, 0, 0, -4, : -9, -14, -8, 5, : -3, -9, -5, 3, : -145, 47, 0, 0, : -10, 40, 21, 5, : 11, -49, -26, -7, : -2150, 0, 0, 932 / DATA ( ( ICPL(I,J), I=1,4 ), J=211,220 ) / : -12, 0, 0, 5, : 85, 0, 0, -37, : 4, 0, 0, -2, : 3, 0, 0, -2, : -86, 153, 0, 0, : -6, 9, 5, 3, : 9, -13, -7, -5, : -8, 12, 6, 4, : -51, 0, 0, 22, : -11, -268, -116, 5 / DATA ( ( ICPL(I,J), I=1,4 ), J=221,230 ) / : 0, 12, 5, 0, : 0, 7, 3, 0, : 31, 6, 3, -17, : 140, 27, 14, -75, : 57, 11, 6, -30, : -14, -39, 0, 0, : 0, -6, -2, 0, : 4, 15, 8, -2, : 0, 4, 0, 0, : -3, 0, 0, 1 / DATA ( ( ICPL(I,J), I=1,4 ), J=231,240 ) / : 0, 11, 5, 0, : 9, 6, 0, 0, : -4, 10, 4, 2, : 5, 3, 0, 0, : 16, 0, 0, -9, : -3, 0, 0, 0, : 0, 3, 2, -1, : 7, 0, 0, -3, : -25, 22, 0, 0, : 42, 223, 119, -22 / DATA ( ( ICPL(I,J), I=1,4 ), J=241,250 ) / : -27, -143, -77, 14, : 9, 49, 26, -5, : -1166, 0, 0, 505, : -5, 0, 0, 2, : -6, 0, 0, 3, : -8, 0, 1, 4, : 0, -4, 0, 0, : 117, 0, 0, -63, : -4, 8, 4, 2, : 3, 0, 0, -2 / DATA ( ( ICPL(I,J), I=1,4 ), J=251,260 ) / : -5, 0, 0, 2, : 0, 31, 0, 0, : -5, 0, 1, 3, : 4, 0, 0, -2, : -4, 0, 0, 2, : -24, -13, -6, 10, : 3, 0, 0, 0, : 0, -32, -17, 0, : 8, 12, 5, -3, : 3, 0, 0, -1 / DATA ( ( ICPL(I,J), I=1,4 ), J=261,270 ) / : 7, 13, 0, 0, : -3, 16, 0, 0, : 50, 0, 0, -27, : 0, -5, -3, 0, : 13, 0, 0, 0, : 0, 5, 3, 1, : 24, 5, 2, -11, : 5, -11, -5, -2, : 30, -3, -2, -16, : 18, 0, 0, -9 / DATA ( ( ICPL(I,J), I=1,4 ), J=271,280 ) / : 8, 614, 0, 0, : 3, -3, -1, -2, : 6, 17, 9, -3, : -3, -9, -5, 2, : 0, 6, 3, -1, : -127, 21, 9, 55, : 3, 5, 0, 0, : -6, -10, -4, 3, : 5, 0, 0, 0, : 16, 9, 4, -7 / DATA ( ( ICPL(I,J), I=1,4 ), J=281,290 ) / : 3, 0, 0, -2, : 0, 22, 0, 0, : 0, 19, 10, 0, : 7, 0, 0, -4, : 0, -5, -2, 0, : 0, 3, 1, 0, : -9, 3, 1, 4, : 17, 0, 0, -7, : 0, -3, -2, -1, : -20, 34, 0, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=291,300 ) / : -10, 0, 1, 5, : -4, 0, 0, 2, : 22, -87, 0, 0, : -4, 0, 0, 2, : -3, -6, -2, 1, : -16, -3, -1, 7, : 0, -3, -2, 0, : 4, 0, 0, 0, : -68, 39, 0, 0, : 27, 0, 0, -14 / DATA ( ( ICPL(I,J), I=1,4 ), J=301,310 ) / : 0, -4, 0, 0, : -25, 0, 0, 0, : -12, -3, -2, 6, : 3, 0, 0, -1, : 3, 66, 29, -1, : 490, 0, 0, -213, : -22, 93, 49, 12, : -7, 28, 15, 4, : -3, 13, 7, 2, : -46, 14, 0, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=311,320 ) / : -5, 0, 0, 0, : 2, 1, 0, 0, : 0, -3, 0, 0, : -28, 0, 0, 15, : 5, 0, 0, -2, : 0, 3, 0, 0, : -11, 0, 0, 5, : 0, 3, 1, 0, : -3, 0, 0, 1, : 25, 106, 57, -13 / DATA ( ( ICPL(I,J), I=1,4 ), J=321,330 ) / : 5, 21, 11, -3, : 1485, 0, 0, 0, : -7, -32, -17, 4, : 0, 5, 3, 0, : -6, -3, -2, 3, : 30, -6, -2, -13, : -4, 4, 0, 0, : -19, 0, 0, 10, : 0, 4, 2, -1, : 0, 3, 0, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=331,340 ) / : 4, 0, 0, -2, : 0, -3, -1, 0, : -3, 0, 0, 0, : 5, 3, 1, -2, : 0, 11, 0, 0, : 118, 0, 0, -52, : 0, -5, -3, 0, : -28, 36, 0, 0, : 5, -5, 0, 0, : 14, -59, -31, -8 / DATA ( ( ICPL(I,J), I=1,4 ), J=341,350 ) / : 0, 9, 5, 1, : -458, 0, 0, 198, : 0, -45, -20, 0, : 9, 0, 0, -5, : 0, -3, 0, 0, : 0, -4, -2, -1, : 11, 0, 0, -6, : 6, 0, 0, -2, : -16, 23, 0, 0, : 0, -4, -2, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=351,360 ) / : -5, 0, 0, 2, : -166, 269, 0, 0, : 15, 0, 0, -8, : 10, 0, 0, -4, : -78, 45, 0, 0, : 0, -5, -2, 0, : 7, 0, 0, -4, : -5, 328, 0, 0, : 3, 0, 0, -2, : 5, 0, 0, -2 / DATA ( ( ICPL(I,J), I=1,4 ), J=361,370 ) / : 0, 3, 1, 0, : -3, 0, 0, 0, : -3, 0, 0, 0, : 0, -4, -2, 0, : -1223, -26, 0, 0, : 0, 7, 3, 0, : 3, 0, 0, 0, : 0, 3, 2, 0, : -6, 20, 0, 0, : -368, 0, 0, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=371,380 ) / : -75, 0, 0, 0, : 11, 0, 0, -6, : 3, 0, 0, -2, : -3, 0, 0, 1, : -13, -30, 0, 0, : 21, 3, 0, 0, : -3, 0, 0, 1, : -4, 0, 0, 2, : 8, -27, 0, 0, : -19, -11, 0, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=381,390 ) / : -4, 0, 0, 2, : 0, 5, 2, 0, : -6, 0, 0, 2, : -8, 0, 0, 0, : -1, 0, 0, 0, : -14, 0, 0, 6, : 6, 0, 0, 0, : -74, 0, 0, 32, : 0, -3, -1, 0, : 4, 0, 0, -2 / DATA ( ( ICPL(I,J), I=1,4 ), J=391,400 ) / : 8, 11, 0, 0, : 0, 3, 2, 0, : -262, 0, 0, 114, : 0, -4, 0, 0, : -7, 0, 0, 4, : 0, -27, -12, 0, : -19, -8, -4, 8, : 202, 0, 0, -87, : -8, 35, 19, 5, : 0, 4, 2, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=401,410 ) / : 16, -5, 0, 0, : 5, 0, 0, -3, : 0, -3, 0, 0, : 1, 0, 0, 0, : -35, -48, -21, 15, : -3, -5, -2, 1, : 6, 0, 0, -3, : 3, 0, 0, -1, : 0, -5, 0, 0, : 12, 55, 29, -6 / DATA ( ( ICPL(I,J), I=1,4 ), J=411,420 ) / : 0, 5, 3, 0, : -598, 0, 0, 0, : -3, -13, -7, 1, : -5, -7, -3, 2, : 3, 0, 0, -1, : 5, -7, 0, 0, : 4, 0, 0, -2, : 16, -6, 0, 0, : 8, -3, 0, 0, : 8, -31, -16, -4 / DATA ( ( ICPL(I,J), I=1,4 ), J=421,430 ) / : 0, 3, 1, 0, : 113, 0, 0, -49, : 0, -24, -10, 0, : 4, 0, 0, -2, : 27, 0, 0, 0, : -3, 0, 0, 1, : 0, -4, -2, 0, : 5, 0, 0, -2, : 0, -3, 0, 0, : -13, 0, 0, 6 / DATA ( ( ICPL(I,J), I=1,4 ), J=431,440 ) / : 5, 0, 0, -2, : -18, -10, -4, 8, : -4, -28, 0, 0, : -5, 6, 3, 2, : -3, 0, 0, 1, : -5, -9, -4, 2, : 17, 0, 0, -7, : 11, 4, 0, 0, : 0, -6, -2, 0, : 83, 15, 0, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=441,450 ) / : -4, 0, 0, 2, : 0, -114, -49, 0, : 117, 0, 0, -51, : -5, 19, 10, 2, : -3, 0, 0, 0, : -3, 0, 0, 2, : 0, -3, -1, 0, : 3, 0, 0, 0, : 0, -6, -2, 0, : 393, 3, 0, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=451,460 ) / : -4, 21, 11, 2, : -6, 0, -1, 3, : -3, 8, 4, 1, : 8, 0, 0, 0, : 18, -29, -13, -8, : 8, 34, 18, -4, : 89, 0, 0, 0, : 3, 12, 6, -1, : 54, -15, -7, -24, : 0, 3, 0, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=461,470 ) / : 3, 0, 0, -1, : 0, 35, 0, 0, : -154, -30, -13, 67, : 15, 0, 0, 0, : 0, 4, 2, 0, : 0, 9, 0, 0, : 80, -71, -31, -35, : 0, -20, -9, 0, : 11, 5, 2, -5, : 61, -96, -42, -27 / DATA ( ( ICPL(I,J), I=1,4 ), J=471,480 ) / : 14, 9, 4, -6, : -11, -6, -3, 5, : 0, -3, -1, 0, : 123, -415, -180, -53, : 0, 0, 0, -35, : -5, 0, 0, 0, : 7, -32, -17, -4, : 0, -9, -5, 0, : 0, -4, 2, 0, : -89, 0, 0, 38 / DATA ( ( ICPL(I,J), I=1,4 ), J=481,490 ) / : 0, -86, -19, -6, : 0, 0, -19, 6, : -123, -416, -180, 53, : 0, -3, -1, 0, : 12, -6, -3, -5, : -13, 9, 4, 6, : 0, -15, -7, 0, : 3, 0, 0, -1, : -62, -97, -42, 27, : -11, 5, 2, 5 / DATA ( ( ICPL(I,J), I=1,4 ), J=491,500 ) / : 0, -19, -8, 0, : -3, 0, 0, 1, : 0, 4, 2, 0, : 0, 3, 0, 0, : 0, 4, 2, 0, : -85, -70, -31, 37, : 163, -12, -5, -72, : -63, -16, -7, 28, : -21, -32, -14, 9, : 0, -3, -1, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=501,510 ) / : 3, 0, 0, -2, : 0, 8, 0, 0, : 3, 10, 4, -1, : 3, 0, 0, -1, : 0, -7, -3, 0, : 0, -4, -2, 0, : 6, 19, 0, 0, : 5, -173, -75, -2, : 0, -7, -3, 0, : 7, -12, -5, -3 / DATA ( ( ICPL(I,J), I=1,4 ), J=511,520 ) / : -3, 0, 0, 2, : 3, -4, -2, -1, : 74, 0, 0, -32, : -3, 12, 6, 2, : 26, -14, -6, -11, : 19, 0, 0, -8, : 6, 24, 13, -3, : 83, 0, 0, 0, : 0, -10, -5, 0, : 11, -3, -1, -5 / DATA ( ( ICPL(I,J), I=1,4 ), J=521,530 ) / : 3, 0, 1, -1, : 3, 0, 0, -1, : -4, 0, 0, 0, : 5, -23, -12, -3, : -339, 0, 0, 147, : 0, -10, -5, 0, : 5, 0, 0, 0, : 3, 0, 0, -1, : 0, -4, -2, 0, : 18, -3, 0, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=531,540 ) / : 9, -11, -5, -4, : -8, 0, 0, 4, : 3, 0, 0, -1, : 0, 9, 0, 0, : 6, -9, -4, -2, : -4, -12, 0, 0, : 67, -91, -39, -29, : 30, -18, -8, -13, : 0, 0, 0, 0, : 0, -114, -50, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=541,550 ) / : 0, 0, 0, 23, : 517, 16, 7, -224, : 0, -7, -3, 0, : 143, -3, -1, -62, : 29, 0, 0, -13, : -4, 0, 0, 2, : -6, 0, 0, 3, : 5, 12, 5, -2, : -25, 0, 0, 11, : -3, 0, 0, 1 / DATA ( ( ICPL(I,J), I=1,4 ), J=551,560 ) / : 0, 4, 2, 0, : -22, 12, 5, 10, : 50, 0, 0, -22, : 0, 7, 4, 0, : 0, 3, 1, 0, : -4, 4, 2, 2, : -5, -11, -5, 2, : 0, 4, 2, 0, : 4, 17, 9, -2, : 59, 0, 0, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=561,570 ) / : 0, -4, -2, 0, : -8, 0, 0, 4, : -3, 0, 0, 0, : 4, -15, -8, -2, : 370, -8, 0, -160, : 0, 0, -3, 0, : 0, 3, 1, 0, : -6, 3, 1, 3, : 0, 6, 0, 0, : -10, 0, 0, 4 / DATA ( ( ICPL(I,J), I=1,4 ), J=571,580 ) / : 0, 9, 4, 0, : 4, 17, 7, -2, : 34, 0, 0, -15, : 0, 5, 3, 0, : -5, 0, 0, 2, : -37, -7, -3, 16, : 3, 13, 7, -2, : 40, 0, 0, 0, : 0, -3, -2, 0, : -184, -3, -1, 80 / DATA ( ( ICPL(I,J), I=1,4 ), J=581,590 ) / : -3, 0, 0, 1, : -3, 0, 0, 0, : 0, -10, -6, -1, : 31, -6, 0, -13, : -3, -32, -14, 1, : -7, 0, 0, 3, : 0, -8, -4, 0, : 3, -4, 0, 0, : 0, 4, 0, 0, : 0, 3, 1, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=591,600 ) / : 19, -23, -10, 2, : 0, 0, 0, -10, : 0, 3, 2, 0, : 0, 9, 5, -1, : 28, 0, 0, 0, : 0, -7, -4, 0, : 8, -4, 0, -4, : 0, 0, -2, 0, : 0, 3, 0, 0, : -3, 0, 0, 1 / DATA ( ( ICPL(I,J), I=1,4 ), J=601,610 ) / : -9, 0, 1, 4, : 3, 12, 5, -1, : 17, -3, -1, 0, : 0, 7, 4, 0, : 19, 0, 0, 0, : 0, -5, -3, 0, : 14, -3, 0, -1, : 0, 0, -1, 0, : 0, 0, 0, -5, : 0, 5, 3, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=611,620 ) / : 13, 0, 0, 0, : 0, -3, -2, 0, : 2, 9, 4, 3, : 0, 0, 0, -4, : 8, 0, 0, 0, : 0, 4, 2, 0, : 6, 0, 0, -3, : 6, 0, 0, 0, : 0, 3, 1, 0, : 5, 0, 0, -2 / DATA ( ( ICPL(I,J), I=1,4 ), J=621,630 ) / : 3, 0, 0, -1, : -3, 0, 0, 0, : 6, 0, 0, 0, : 7, 0, 0, 0, : -4, 0, 0, 0, : 4, 0, 0, 0, : 6, 0, 0, 0, : 0, -4, 0, 0, : 0, -4, 0, 0, : 5, 0, 0, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=631,640 ) / : -3, 0, 0, 0, : 4, 0, 0, 0, : -5, 0, 0, 0, : 4, 0, 0, 0, : 0, 3, 0, 0, : 13, 0, 0, 0, : 21, 11, 0, 0, : 0, -5, 0, 0, : 0, -5, -2, 0, : 0, 5, 3, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=641,650 ) / : 0, -5, 0, 0, : -3, 0, 0, 2, : 20, 10, 0, 0, : -34, 0, 0, 0, : -19, 0, 0, 0, : 3, 0, 0, -2, : -3, 0, 0, 1, : -6, 0, 0, 3, : -4, 0, 0, 0, : 3, 0, 0, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=651,660 ) / : 3, 0, 0, 0, : 4, 0, 0, 0, : 3, 0, 0, -1, : 6, 0, 0, -3, : -8, 0, 0, 3, : 0, 3, 1, 0, : -3, 0, 0, 0, : 0, -3, -2, 0, : 126, -63, -27, -55, : -5, 0, 1, 2 / DATA ( ( ICPL(I,J), I=1,4 ), J=661,670 ) / : -3, 28, 15, 2, : 5, 0, 1, -2, : 0, 9, 4, 1, : 0, 9, 4, -1, : -126, -63, -27, 55, : 3, 0, 0, -1, : 21, -11, -6, -11, : 0, -4, 0, 0, : -21, -11, -6, 11, : -3, 0, 0, 1 / DATA ( ( ICPL(I,J), I=1,4 ), J=671,680 ) / : 0, 3, 1, 0, : 8, 0, 0, -4, : -6, 0, 0, 3, : -3, 0, 0, 1, : 3, 0, 0, -1, : -3, 0, 0, 1, : -5, 0, 0, 2, : 24, -12, -5, -11, : 0, 3, 1, 0, : 0, 3, 1, 0 / DATA ( ( ICPL(I,J), I=1,4 ), J=681,687 ) / : 0, 3, 2, 0, : -24, -12, -5, 10, : 4, 0, -1, -2, : 13, 0, 0, -6, : 7, 0, 0, -3, : 3, 0, 0, -1, : 3, 0, 0, -1 / * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Interval between fundamental date J2000.0 and given date (JC). T = ( ( DATE1-DJ00 ) + DATE2 ) / DJC * ------------------- * LUNI-SOLAR NUTATION * ------------------- * * Fundamental (Delaunay) arguments * * Mean anomaly of the Moon (IERS 2003). EL = iau_FAL03 ( T ) * Mean anomaly of the Sun (MHB2000). ELP = MOD ( 1287104.79305D0 + : T*( 129596581.0481D0 + : T*( - 0.5532D0 + : T*( 0.000136D0 + : T*( - 0.00001149D0 )))), TURNAS ) * DAS2R * Mean longitude of the Moon minus that of the ascending node * (IERS 2003. F = iau_FAF03 ( T ) * Mean elongation of the Moon from the Sun (MHB2000). D = MOD ( 1072260.70369D0 + : T*( 1602961601.2090D0 + : T*( - 6.3706D0 + : T*( 0.006593D0 + : T*( - 0.00003169D0 )))), TURNAS ) * DAS2R * Mean longitude of the ascending node of the Moon (IERS 2003). OM = iau_FAOM03 ( T ) * Initialize the nutation values. DP = 0D0 DE = 0D0 * Summation of luni-solar nutation series (in reverse order). DO 100 I = NLS, 1, -1 * Argument and functions. ARG = MOD ( DBLE ( NALS(1,I) ) * EL + : DBLE ( NALS(2,I) ) * ELP + : DBLE ( NALS(3,I) ) * F + : DBLE ( NALS(4,I) ) * D + : DBLE ( NALS(5,I) ) * OM, D2PI ) SARG = SIN(ARG) CARG = COS(ARG) * Term. DP = DP + ( CLS(1,I) + CLS(2,I) * T ) * SARG : + CLS(3,I) * CARG DE = DE + ( CLS(4,I) + CLS(5,I) * T ) * CARG : + CLS(6,I) * SARG 100 CONTINUE * Convert from 0.1 microarcsec units to radians. DPSILS = DP * U2R DEPSLS = DE * U2R * ------------------ * PLANETARY NUTATION * ------------------ * n.b. The MHB2000 code computes the luni-solar and planetary nutation * in different routines, using slightly different Delaunay * arguments in the two cases. This behaviour is faithfully * reproduced here. Use of the IERS 2003 expressions for both * cases leads to negligible changes, well below * 0.1 microarcsecond. * Mean anomaly of the Moon (MHB2000). AL = MOD ( 2.35555598D0 + 8328.6914269554D0 * T, D2PI ) * Mean anomaly of the Sun (MHB2000). ALSU = MOD ( 6.24006013D0 + 628.301955D0 * T, D2PI ) * Mean longitude of the Moon minus that of the ascending node * (MHB2000). AF = MOD ( 1.627905234D0 + 8433.466158131D0 * T, D2PI ) * Mean elongation of the Moon from the Sun (MHB2000). AD = MOD ( 5.198466741D0 + 7771.3771468121D0 * T, D2PI ) * Mean longitude of the ascending node of the Moon (MHB2000). AOM = MOD ( 2.18243920D0 - 33.757045D0 * T, D2PI ) * General accumulated precession in longitude (IERS 2003). APA = iau_FAPA03 ( T ) * Planetary longitudes, Mercury through Uranus (IERS 2003). ALME = iau_FAME03 ( T ) ALVE = iau_FAVE03 ( T ) ALEA = iau_FAE03 ( T ) ALMA = iau_FAMA03 ( T ) ALJU = iau_FAJU03 ( T ) ALSA = iau_FASA03 ( T ) ALUR = iau_FAUR03 ( T ) * Neptune longitude (MHB2000). ALNE = MOD ( 5.321159000D0 + 3.8127774000D0 * T, D2PI ) * Initialize the nutation values. DP = 0D0 DE = 0D0 * Summation of planetary nutation series (in reverse order). DO 200 I = NPL, 1, -1 * Argument and functions. ARG = MOD ( DBLE ( NAPL( 1,I) ) * AL + : DBLE ( NAPL( 2,I) ) * ALSU + : DBLE ( NAPL( 3,I) ) * AF + : DBLE ( NAPL( 4,I) ) * AD + : DBLE ( NAPL( 5,I) ) * AOM + : DBLE ( NAPL( 6,I) ) * ALME + : DBLE ( NAPL( 7,I) ) * ALVE + : DBLE ( NAPL( 8,I) ) * ALEA + : DBLE ( NAPL( 9,I) ) * ALMA + : DBLE ( NAPL(10,I) ) * ALJU + : DBLE ( NAPL(11,I) ) * ALSA + : DBLE ( NAPL(12,I) ) * ALUR + : DBLE ( NAPL(13,I) ) * ALNE + : DBLE ( NAPL(14,I) ) * APA, D2PI ) SARG = SIN(ARG) CARG = COS(ARG) * Term. DP = DP + DBLE( ICPL(1,I)) * SARG + DBLE( ICPL(2,I)) * CARG DE = DE + DBLE( ICPL(3,I)) * SARG + DBLE( ICPL(4,I)) * CARG 200 CONTINUE * Convert from 0.1 microarcsec units to radians. DPSIPL = DP * U2R DEPSPL = DE * U2R * ------- * RESULTS * ------- * Add luni-solar and planetary components. DPSI = DPSILS + DPSIPL DEPS = DEPSLS + DEPSPL * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_NUT00B ( DATE1, DATE2, DPSI, DEPS ) *+ * - - - - - - - - - - - * i a u _ N U T 0 0 B * - - - - - - - - - - - * * Nutation, IAU 2000B model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * DPSI,DEPS d nutation, luni-solar + planetary (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in cases * where the loss of several decimal digits of resolution is * acceptable. The J2000 method is best matched to the way the * argument is handled internally and will deliver the optimum * resolution. The MJD method and the date & time methods are both * good compromises between resolution and convenience. * * 2) The nutation components in longitude and obliquity are in radians * and with respect to the equinox and ecliptic of date. The * obliquity at J2000.0 is assumed to be the Lieske et al. (1977) * value of 84381.448 arcsec. (The errors that result from using * this routine with the IAU 2006 value of 84381.406 arcsec can be * neglected.) * * The nutation model consists only of luni-solar terms, but includes * also a fixed offset which compensates for certain long-period * planetary terms (Note 7). * * 3) This routine is an implementation of the IAU 2000B abridged * nutation model formally adopted by the IAU General Assembly in * 2000. The routine computes the MHB_2000_SHORT luni-solar nutation * series (Luzum 2001), but without the associated corrections for * the precession rate adjustments and the offset between the GCRS * and J2000.0 mean poles. * * 4) The full IAU 2000A (MHB2000) nutation model contains nearly 1400 * terms. The IAU 2000B model (McCarthy & Luzum 2003) contains only * 77 terms, plus additional simplifications, yet still delivers * results of 1 mas accuracy at present epochs. This combination of * accuracy and size makes the IAU 2000B abridged nutation model * suitable for most practical applications. * * The routine delivers a pole accurate to 1 mas from 1900 to 2100 * (usually better than 1 mas, very occasionally just outside 1 mas). * The full IAU 2000A model, which is implemented in the routine * iau_NUT00A (q.v.), delivers considerably greater accuracy at * current epochs; however, to realize this improved accuracy, * corrections for the essentially unpredictable free-core-nutation * (FCN) must also be included. * * 5) The present routine provides classical nutation. The * MHB_2000_SHORT algorithm, from which it is adapted, deals also * with (i) the offsets between the GCRS and mean poles and (ii) the * adjustments in longitude and obliquity due to the changed * precession rates. These additional functions, namely frame bias * and precession adjustments, are supported by the SOFA routines * iau_BI00 and iau_PR00. * * 6) The MHB_2000_SHORT algorithm also provides "total" nutations, * comprising the arithmetic sum of the frame bias, precession * adjustments, and nutation (luni-solar + planetary). These total * nutations can be used in combination with an existing IAU 1976 * precession implementation, such as iau_PMAT76, to deliver GCRS-to- * true predictions of mas accuracy at current epochs. However, for * symmetry with the iau_NUT00A routine (q.v. for the reasons), the * SOFA routines do not generate the "total nutations" directly. * Should they be required, they could of course easily be generated * by calling iau_BI00, iau_PR00 and the present routine and adding * the results. * * 7) The IAU 2000B model includes "planetary bias" terms that are fixed * in size but compensate for long-period nutations. The amplitudes * quoted in McCarthy & Luzum (2003), namely Dpsi = -1.5835 mas and * Depsilon = +1.6339 mas, are optimized for the "total nutations" * method described in Note 6. The Luzum (2001) values used in this * SOFA implementation, namely -0.135 mas and +0.388 mas, are * optimized for the "rigorous" method, where frame bias, precession * and nutation are applied separately and in that order. During the * interval 1995-2050, the SOFA implementation delivers a maximum * error of 1.001 mas (not including FCN). * * References: * * Lieske, J.H., Lederle, T., Fricke, W., Morando, B., "Expressions * for the precession quantities based upon the IAU /1976/ system of * astronomical constants", Astron.Astrophys. 58, 1-2, 1-16. (1977) * * Luzum, B., private communication, 2001 (Fortran code * MHB_2000_SHORT) * * McCarthy, D.D. & Luzum, B.J., "An abridged model of the * precession-nutation of the celestial pole", Cel.Mech.Dyn.Astron. * 85, 37-49 (2003) * * Simon, J.-L., Bretagnon, P., Chapront, J., Chapront-Touze, M., * Francou, G., Laskar, J., Astron.Astrophys. 282, 663-683 (1994) * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, DPSI, DEPS * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Milliarcseconds to radians DOUBLE PRECISION DMAS2R PARAMETER ( DMAS2R = DAS2R / 1D3 ) * Arcseconds in a full circle DOUBLE PRECISION TURNAS PARAMETER ( TURNAS = 1296000D0 ) * 2Pi DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) * Units of 0.1 microarcsecond to radians DOUBLE PRECISION U2R PARAMETER ( U2R = DAS2R/1D7 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian century DOUBLE PRECISION DJC PARAMETER ( DJC = 36525D0 ) * Miscellaneous DOUBLE PRECISION T, EL, ELP, F, D, OM, ARG, DP, DE, SARG, CARG, : DPSILS, DEPSLS, DPSIPL, DEPSPL INTEGER I, J * ------------------------- * Luni-Solar nutation model * ------------------------- * Number of terms in the luni-solar nutation model INTEGER NLS PARAMETER ( NLS = 77 ) * Coefficients for fundamental arguments INTEGER NALS(5,NLS) * Longitude and obliquity coefficients DOUBLE PRECISION CLS(6,NLS) * --------------------------------------- * Fixed offset in lieu of planetary terms (radians) * --------------------------------------- DOUBLE PRECISION DPPLAN, DEPLAN PARAMETER ( DPPLAN = - 0.135D0 * DMAS2R, : DEPLAN = + 0.388D0 * DMAS2R ) * ---------------------------------------- * Tables of argument and term coefficients * ---------------------------------------- * * Luni-Solar argument multipliers: * * L L' F D Om DATA ( ( NALS(I,J), I=1,5 ), J= 1,10 ) / : 0, 0, 0, 0, 1, : 0, 0, 2, -2, 2, : 0, 0, 2, 0, 2, : 0, 0, 0, 0, 2, : 0, 1, 0, 0, 0, : 0, 1, 2, -2, 2, : 1, 0, 0, 0, 0, : 0, 0, 2, 0, 1, : 1, 0, 2, 0, 2, : 0, -1, 2, -2, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=11,20 ) / : 0, 0, 2, -2, 1, : -1, 0, 2, 0, 2, : -1, 0, 0, 2, 0, : 1, 0, 0, 0, 1, : -1, 0, 0, 0, 1, : -1, 0, 2, 2, 2, : 1, 0, 2, 0, 1, : -2, 0, 2, 0, 1, : 0, 0, 0, 2, 0, : 0, 0, 2, 2, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=21,30 ) / : 0, -2, 2, -2, 2, : -2, 0, 0, 2, 0, : 2, 0, 2, 0, 2, : 1, 0, 2, -2, 2, : -1, 0, 2, 0, 1, : 2, 0, 0, 0, 0, : 0, 0, 2, 0, 0, : 0, 1, 0, 0, 1, : -1, 0, 0, 2, 1, : 0, 2, 2, -2, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=31,40 ) / : 0, 0, -2, 2, 0, : 1, 0, 0, -2, 1, : 0, -1, 0, 0, 1, : -1, 0, 2, 2, 1, : 0, 2, 0, 0, 0, : 1, 0, 2, 2, 2, : -2, 0, 2, 0, 0, : 0, 1, 2, 0, 2, : 0, 0, 2, 2, 1, : 0, -1, 2, 0, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=41,50 ) / : 0, 0, 0, 2, 1, : 1, 0, 2, -2, 1, : 2, 0, 2, -2, 2, : -2, 0, 0, 2, 1, : 2, 0, 2, 0, 1, : 0, -1, 2, -2, 1, : 0, 0, 0, -2, 1, : -1, -1, 0, 2, 0, : 2, 0, 0, -2, 1, : 1, 0, 0, 2, 0 / DATA ( ( NALS(I,J), I=1,5 ), J=51,60 ) / : 0, 1, 2, -2, 1, : 1, -1, 0, 0, 0, : -2, 0, 2, 0, 2, : 3, 0, 2, 0, 2, : 0, -1, 0, 2, 0, : 1, -1, 2, 0, 2, : 0, 0, 0, 1, 0, : -1, -1, 2, 2, 2, : -1, 0, 2, 0, 0, : 0, -1, 2, 2, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=61,70 ) / : -2, 0, 0, 0, 1, : 1, 1, 2, 0, 2, : 2, 0, 0, 0, 1, : -1, 1, 0, 1, 0, : 1, 1, 0, 0, 0, : 1, 0, 2, 0, 0, : -1, 0, 2, -2, 1, : 1, 0, 0, 0, 2, : -1, 0, 0, 1, 0, : 0, 0, 2, 1, 2 / DATA ( ( NALS(I,J), I=1,5 ), J=71,77 ) / : -1, 0, 2, 4, 2, : -1, 1, 0, 1, 1, : 0, -2, 2, -2, 1, : 1, 0, 2, 2, 1, : -2, 0, 2, 2, 2, : -1, 0, 0, 0, 2, : 1, 1, 2, -2, 2 / * * Luni-Solar nutation coefficients, unit 1e-7 arcsec: * longitude (sin, t*sin, cos), obliquity (cos, t*cos, sin) * DATA ( ( CLS(I,J), I=1,6 ), J= 1,10 ) / : -172064161D0, -174666D0, 33386D0, 92052331D0, 9086D0, 15377D0, : -13170906D0, -1675D0, -13696D0, 5730336D0, -3015D0, -4587D0, : -2276413D0, -234D0, 2796D0, 978459D0, -485D0, 1374D0, : 2074554D0, 207D0, -698D0, -897492D0, 470D0, -291D0, : 1475877D0, -3633D0, 11817D0, 73871D0, -184D0, -1924D0, : -516821D0, 1226D0, -524D0, 224386D0, -677D0, -174D0, : 711159D0, 73D0, -872D0, -6750D0, 0D0, 358D0, : -387298D0, -367D0, 380D0, 200728D0, 18D0, 318D0, : -301461D0, -36D0, 816D0, 129025D0, -63D0, 367D0, : 215829D0, -494D0, 111D0, -95929D0, 299D0, 132D0 / DATA ( ( CLS(I,J), I=1,6 ), J=11,20 ) / : 128227D0, 137D0, 181D0, -68982D0, -9D0, 39D0, : 123457D0, 11D0, 19D0, -53311D0, 32D0, -4D0, : 156994D0, 10D0, -168D0, -1235D0, 0D0, 82D0, : 63110D0, 63D0, 27D0, -33228D0, 0D0, -9D0, : -57976D0, -63D0, -189D0, 31429D0, 0D0, -75D0, : -59641D0, -11D0, 149D0, 25543D0, -11D0, 66D0, : -51613D0, -42D0, 129D0, 26366D0, 0D0, 78D0, : 45893D0, 50D0, 31D0, -24236D0, -10D0, 20D0, : 63384D0, 11D0, -150D0, -1220D0, 0D0, 29D0, : -38571D0, -1D0, 158D0, 16452D0, -11D0, 68D0 / DATA ( ( CLS(I,J), I=1,6 ), J=21,30 ) / : 32481D0, 0D0, 0D0, -13870D0, 0D0, 0D0, : -47722D0, 0D0, -18D0, 477D0, 0D0, -25D0, : -31046D0, -1D0, 131D0, 13238D0, -11D0, 59D0, : 28593D0, 0D0, -1D0, -12338D0, 10D0, -3D0, : 20441D0, 21D0, 10D0, -10758D0, 0D0, -3D0, : 29243D0, 0D0, -74D0, -609D0, 0D0, 13D0, : 25887D0, 0D0, -66D0, -550D0, 0D0, 11D0, : -14053D0, -25D0, 79D0, 8551D0, -2D0, -45D0, : 15164D0, 10D0, 11D0, -8001D0, 0D0, -1D0, : -15794D0, 72D0, -16D0, 6850D0, -42D0, -5D0 / DATA ( ( CLS(I,J), I=1,6 ), J=31,40 ) / : 21783D0, 0D0, 13D0, -167D0, 0D0, 13D0, : -12873D0, -10D0, -37D0, 6953D0, 0D0, -14D0, : -12654D0, 11D0, 63D0, 6415D0, 0D0, 26D0, : -10204D0, 0D0, 25D0, 5222D0, 0D0, 15D0, : 16707D0, -85D0, -10D0, 168D0, -1D0, 10D0, : -7691D0, 0D0, 44D0, 3268D0, 0D0, 19D0, : -11024D0, 0D0, -14D0, 104D0, 0D0, 2D0, : 7566D0, -21D0, -11D0, -3250D0, 0D0, -5D0, : -6637D0, -11D0, 25D0, 3353D0, 0D0, 14D0, : -7141D0, 21D0, 8D0, 3070D0, 0D0, 4D0 / DATA ( ( CLS(I,J), I=1,6 ), J=41,50 ) / : -6302D0, -11D0, 2D0, 3272D0, 0D0, 4D0, : 5800D0, 10D0, 2D0, -3045D0, 0D0, -1D0, : 6443D0, 0D0, -7D0, -2768D0, 0D0, -4D0, : -5774D0, -11D0, -15D0, 3041D0, 0D0, -5D0, : -5350D0, 0D0, 21D0, 2695D0, 0D0, 12D0, : -4752D0, -11D0, -3D0, 2719D0, 0D0, -3D0, : -4940D0, -11D0, -21D0, 2720D0, 0D0, -9D0, : 7350D0, 0D0, -8D0, -51D0, 0D0, 4D0, : 4065D0, 0D0, 6D0, -2206D0, 0D0, 1D0, : 6579D0, 0D0, -24D0, -199D0, 0D0, 2D0 / DATA ( ( CLS(I,J), I=1,6 ), J=51,60 ) / : 3579D0, 0D0, 5D0, -1900D0, 0D0, 1D0, : 4725D0, 0D0, -6D0, -41D0, 0D0, 3D0, : -3075D0, 0D0, -2D0, 1313D0, 0D0, -1D0, : -2904D0, 0D0, 15D0, 1233D0, 0D0, 7D0, : 4348D0, 0D0, -10D0, -81D0, 0D0, 2D0, : -2878D0, 0D0, 8D0, 1232D0, 0D0, 4D0, : -4230D0, 0D0, 5D0, -20D0, 0D0, -2D0, : -2819D0, 0D0, 7D0, 1207D0, 0D0, 3D0, : -4056D0, 0D0, 5D0, 40D0, 0D0, -2D0, : -2647D0, 0D0, 11D0, 1129D0, 0D0, 5D0 / DATA ( ( CLS(I,J), I=1,6 ), J=61,70 ) / : -2294D0, 0D0, -10D0, 1266D0, 0D0, -4D0, : 2481D0, 0D0, -7D0, -1062D0, 0D0, -3D0, : 2179D0, 0D0, -2D0, -1129D0, 0D0, -2D0, : 3276D0, 0D0, 1D0, -9D0, 0D0, 0D0, : -3389D0, 0D0, 5D0, 35D0, 0D0, -2D0, : 3339D0, 0D0, -13D0, -107D0, 0D0, 1D0, : -1987D0, 0D0, -6D0, 1073D0, 0D0, -2D0, : -1981D0, 0D0, 0D0, 854D0, 0D0, 0D0, : 4026D0, 0D0, -353D0, -553D0, 0D0, -139D0, : 1660D0, 0D0, -5D0, -710D0, 0D0, -2D0 / DATA ( ( CLS(I,J), I=1,6 ), J=71,77 ) / : -1521D0, 0D0, 9D0, 647D0, 0D0, 4D0, : 1314D0, 0D0, 0D0, -700D0, 0D0, 0D0, : -1283D0, 0D0, 0D0, 672D0, 0D0, 0D0, : -1331D0, 0D0, 8D0, 663D0, 0D0, 4D0, : 1383D0, 0D0, -2D0, -594D0, 0D0, -2D0, : 1405D0, 0D0, 4D0, -610D0, 0D0, 2D0, : 1290D0, 0D0, 0D0, -556D0, 0D0, 0D0 / * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Interval between fundamental epoch J2000.0 and given date (JC). T = ( ( DATE1-DJ00 ) + DATE2 ) / DJC * ------------------- * LUNI-SOLAR NUTATION * ------------------- * * Fundamental (Delaunay) arguments from Simon et al. (1994) * * Mean anomaly of the Moon. EL = MOD ( 485868.249036D0 + : ( + 1717915923.2178D0 ) * T, TURNAS ) * DAS2R * Mean anomaly of the Sun. ELP = MOD ( 1287104.79305D0 + : ( + 129596581.0481D0 ) * T, TURNAS ) * DAS2R * Mean argument of the latitude of the Moon. F = MOD ( 335779.526232D0 + : ( + 1739527262.8478D0 ) * T, TURNAS ) * DAS2R * Mean elongation of the Moon from the Sun. D = MOD ( 1072260.70369D0 + : ( + 1602961601.2090D0 ) * T, TURNAS ) * DAS2R * Mean longitude of the ascending node of the Moon. OM = MOD ( 450160.398036D0 + : ( - 6962890.5431D0 ) * T, TURNAS ) * DAS2R * Initialize the nutation values. DP = 0D0 DE = 0D0 * Summation of luni-solar nutation series (in reverse order). DO 100 I = NLS, 1, -1 * Argument and functions. ARG = MOD ( DBLE ( NALS(1,I) ) * EL + : DBLE ( NALS(2,I) ) * ELP + : DBLE ( NALS(3,I) ) * F + : DBLE ( NALS(4,I) ) * D + : DBLE ( NALS(5,I) ) * OM, D2PI ) SARG = SIN(ARG) CARG = COS(ARG) * Term. DP = DP + ( CLS(1,I) + CLS(2,I) * T ) * SARG : + CLS(3,I) * CARG DE = DE + ( CLS(4,I) + CLS(5,I) * T ) * CARG : + CLS(6,I) * SARG 100 CONTINUE * Convert from 0.1 microarcsec units to radians. DPSILS = DP * U2R DEPSLS = DE * U2R * ----------------------------- * IN LIEU OF PLANETARY NUTATION * ----------------------------- * Fixed offset to correct for missing terms in truncated series. DPSIPL = DPPLAN DEPSPL = DEPLAN * ------- * RESULTS * ------- * Add luni-solar and planetary components. DPSI = DPSILS + DPSIPL DEPS = DEPSLS + DEPSPL * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_NUT06A ( DATE1, DATE2, DPSI, DEPS ) *+ * - - - - - - - - - - - * i a u _ N U T 0 6 A * - - - - - - - - - - - * * IAU 2000A nutation with adjustments to match the IAU 2006 precession. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * DPSI,DEPS d nutation, luni-solar + planetary (Note 2) * * Status: canonical model. * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The nutation components in longitude and obliquity are in radians * and with respect to the mean equinox and ecliptic of date, * IAU 2006 precession model (Hilton et al. 2006, Capitaine et al. * 2005). * * 3) The routine first computes the IAU 2000A nutation, then applies * adjustments for (i) the consequences of the change in obliquity * from the IAU 1980 ecliptic to the IAU 2006 ecliptic and (ii) the * secular variation in the Earth's dynamical form factor J2. * * 4) The present routine provides classical nutation, complementing * the IAU 2000 frame bias and IAU 2006 precession. It delivers a * pole which is at current epochs accurate to a few tens of * microarcseconds, apart from the free core nutation. * * Called: * iau_NUT00A nutation, IAU 2000A * * Reference: * * Wallace, P.T. & Capitaine, N., 2006, Astron.Astrophys. 459, 981 * * This revision: 2011 April 3 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, DPSI, DEPS * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian century DOUBLE PRECISION DJC PARAMETER ( DJC = 36525D0 ) * Miscellaneous DOUBLE PRECISION T, FJ2, DP, DE * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Interval between fundamental date J2000.0 and given date (JC). T = ( ( DATE1-DJ00 ) + DATE2 ) / DJC * Factor correcting for secular variation of J2. FJ2 = -2.7774D-6 * T * Obtain IAU 2000A nutation. CALL iau_NUT00A ( DATE1, DATE2, DP, DE ) * Apply P03 adjustments (Wallace & Capitaine, 2006, Eqs.5). DPSI = DP + DP * ( 0.4697D-6 + FJ2 ) DEPS = DE + DE * FJ2 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_NUT80 ( DATE1, DATE2, DPSI, DEPS ) *+ * - - - - - - - - - - * i a u _ N U T 8 0 * - - - - - - - - - - * * Nutation, IAU 1980 model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * DPSI d nutation in longitude (radians) * DEPS d nutation in obliquity (radians) * * Notes: * * 1) The DATE DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TDB)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The nutation components are with respect to the ecliptic of * date. * * Called: * iau_ANPM normalize angle into range +/- pi * * Reference: * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992), * Section 3.222 (p111). * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, DPSI, DEPS * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * 2Pi DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) * Units of 0.1 milliarcsecond to radians DOUBLE PRECISION U2R PARAMETER ( U2R = DAS2R/1D4 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian century DOUBLE PRECISION DJC PARAMETER ( DJC = 36525D0 ) DOUBLE PRECISION T, EL, ELP, F, D, OM, DP, DE, ARG, S, C INTEGER I, J DOUBLE PRECISION iau_ANPM * ------------------------------------------------ * Table of multiples of arguments and coefficients * ------------------------------------------------ * * The coefficient values are in 0.1 mas units and the rates of change * are in mas per Julian millennium. REAL X(9,106) * Multiple of Longitude Obliquity * L L' F D Omega coeff. of sin coeff. of cos * 1 t 1 t DATA ((X(I,J),I=1,9),J=1,10) / : 0., 0., 0., 0., 1., -171996., -1742., 92025., 89., : 0., 0., 0., 0., 2., 2062., 2., -895., 5., : -2., 0., 2., 0., 1., 46., 0., -24., 0., : 2., 0., -2., 0., 0., 11., 0., 0., 0., : -2., 0., 2., 0., 2., -3., 0., 1., 0., : 1., -1., 0., -1., 0., -3., 0., 0., 0., : 0., -2., 2., -2., 1., -2., 0., 1., 0., : 2., 0., -2., 0., 1., 1., 0., 0., 0., : 0., 0., 2., -2., 2., -13187., -16., 5736., -31., : 0., 1., 0., 0., 0., 1426., -34., 54., -1. / DATA ((X(I,J),I=1,9),J=11,20) / : 0., 1., 2., -2., 2., -517., 12., 224., -6., : 0., -1., 2., -2., 2., 217., -5., -95., 3., : 0., 0., 2., -2., 1., 129., 1., -70., 0., : 2., 0., 0., -2., 0., 48., 0., 1., 0., : 0., 0., 2., -2., 0., -22., 0., 0., 0., : 0., 2., 0., 0., 0., 17., -1., 0., 0., : 0., 1., 0., 0., 1., -15., 0., 9., 0., : 0., 2., 2., -2., 2., -16., 1., 7., 0., : 0., -1., 0., 0., 1., -12., 0., 6., 0., : -2., 0., 0., 2., 1., -6., 0., 3., 0. / DATA ((X(I,J),I=1,9),J=21,30) / : 0., -1., 2., -2., 1., -5., 0., 3., 0., : 2., 0., 0., -2., 1., 4., 0., -2., 0., : 0., 1., 2., -2., 1., 4., 0., -2., 0., : 1., 0., 0., -1., 0., -4., 0., 0., 0., : 2., 1., 0., -2., 0., 1., 0., 0., 0., : 0., 0., -2., 2., 1., 1., 0., 0., 0., : 0., 1., -2., 2., 0., -1., 0., 0., 0., : 0., 1., 0., 0., 2., 1., 0., 0., 0., : -1., 0., 0., 1., 1., 1., 0., 0., 0., : 0., 1., 2., -2., 0., -1., 0., 0., 0. / DATA ((X(I,J),I=1,9),J=31,40) / : 0., 0., 2., 0., 2., -2274., -2., 977., -5., : 1., 0., 0., 0., 0., 712., 1., -7., 0., : 0., 0., 2., 0., 1., -386., -4., 200., 0., : 1., 0., 2., 0., 2., -301., 0., 129., -1., : 1., 0., 0., -2., 0., -158., 0., -1., 0., : -1., 0., 2., 0., 2., 123., 0., -53., 0., : 0., 0., 0., 2., 0., 63., 0., -2., 0., : 1., 0., 0., 0., 1., 63., 1., -33., 0., : -1., 0., 0., 0., 1., -58., -1., 32., 0., : -1., 0., 2., 2., 2., -59., 0., 26., 0./ DATA ((X(I,J),I=1,9),J=41,50) / : 1., 0., 2., 0., 1., -51., 0., 27., 0., : 0., 0., 2., 2., 2., -38., 0., 16., 0., : 2., 0., 0., 0., 0., 29., 0., -1., 0., : 1., 0., 2., -2., 2., 29., 0., -12., 0., : 2., 0., 2., 0., 2., -31., 0., 13., 0., : 0., 0., 2., 0., 0., 26., 0., -1., 0., : -1., 0., 2., 0., 1., 21., 0., -10., 0., : -1., 0., 0., 2., 1., 16., 0., -8., 0., : 1., 0., 0., -2., 1., -13., 0., 7., 0., : -1., 0., 2., 2., 1., -10., 0., 5., 0. / DATA ((X(I,J),I=1,9),J=51,60) / : 1., 1., 0., -2., 0., -7., 0., 0., 0., : 0., 1., 2., 0., 2., 7., 0., -3., 0., : 0., -1., 2., 0., 2., -7., 0., 3., 0., : 1., 0., 2., 2., 2., -8., 0., 3., 0., : 1., 0., 0., 2., 0., 6., 0., 0., 0., : 2., 0., 2., -2., 2., 6., 0., -3., 0., : 0., 0., 0., 2., 1., -6., 0., 3., 0., : 0., 0., 2., 2., 1., -7., 0., 3., 0., : 1., 0., 2., -2., 1., 6., 0., -3., 0., : 0., 0., 0., -2., 1., -5., 0., 3., 0. / DATA ((X(I,J),I=1,9),J=61,70) / : 1., -1., 0., 0., 0., 5., 0., 0., 0., : 2., 0., 2., 0., 1., -5., 0., 3., 0., : 0., 1., 0., -2., 0., -4., 0., 0., 0., : 1., 0., -2., 0., 0., 4., 0., 0., 0., : 0., 0., 0., 1., 0., -4., 0., 0., 0., : 1., 1., 0., 0., 0., -3., 0., 0., 0., : 1., 0., 2., 0., 0., 3., 0., 0., 0., : 1., -1., 2., 0., 2., -3., 0., 1., 0., : -1., -1., 2., 2., 2., -3., 0., 1., 0., : -2., 0., 0., 0., 1., -2., 0., 1., 0. / DATA ((X(I,J),I=1,9),J=71,80) / : 3., 0., 2., 0., 2., -3., 0., 1., 0., : 0., -1., 2., 2., 2., -3., 0., 1., 0., : 1., 1., 2., 0., 2., 2., 0., -1., 0., : -1., 0., 2., -2., 1., -2., 0., 1., 0., : 2., 0., 0., 0., 1., 2., 0., -1., 0., : 1., 0., 0., 0., 2., -2., 0., 1., 0., : 3., 0., 0., 0., 0., 2., 0., 0., 0., : 0., 0., 2., 1., 2., 2., 0., -1., 0., : -1., 0., 0., 0., 2., 1., 0., -1., 0., : 1., 0., 0., -4., 0., -1., 0., 0., 0. / DATA ((X(I,J),I=1,9),J=81,90) / : -2., 0., 2., 2., 2., 1., 0., -1., 0., : -1., 0., 2., 4., 2., -2., 0., 1., 0., : 2., 0., 0., -4., 0., -1., 0., 0., 0., : 1., 1., 2., -2., 2., 1., 0., -1., 0., : 1., 0., 2., 2., 1., -1., 0., 1., 0., : -2., 0., 2., 4., 2., -1., 0., 1., 0., : -1., 0., 4., 0., 2., 1., 0., 0., 0., : 1., -1., 0., -2., 0., 1., 0., 0., 0., : 2., 0., 2., -2., 1., 1., 0., -1., 0., : 2., 0., 2., 2., 2., -1., 0., 0., 0. / DATA ((X(I,J),I=1,9),J=91,100) / : 1., 0., 0., 2., 1., -1., 0., 0., 0., : 0., 0., 4., -2., 2., 1., 0., 0., 0., : 3., 0., 2., -2., 2., 1., 0., 0., 0., : 1., 0., 2., -2., 0., -1., 0., 0., 0., : 0., 1., 2., 0., 1., 1., 0., 0., 0., : -1., -1., 0., 2., 1., 1., 0., 0., 0., : 0., 0., -2., 0., 1., -1., 0., 0., 0., : 0., 0., 2., -1., 2., -1., 0., 0., 0., : 0., 1., 0., 2., 0., -1., 0., 0., 0., : 1., 0., -2., -2., 0., -1., 0., 0., 0. / DATA ((X(I,J),I=1,9),J=101,106) / : 0., -1., 2., 0., 1., -1., 0., 0., 0., : 1., 1., 0., -2., 1., -1., 0., 0., 0., : 1., 0., -2., 2., 0., -1., 0., 0., 0., : 2., 0., 0., 2., 0., 1., 0., 0., 0., : 0., 0., 2., 4., 2., -1., 0., 0., 0., : 0., 1., 0., 1., 0., 1., 0., 0., 0. / * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Interval between fundamental epoch J2000.0 and given date (JC). T = ( ( DATE1-DJ00 ) + DATE2 ) / DJC * * FUNDAMENTAL ARGUMENTS in the FK5 reference system * * Mean longitude of the Moon minus mean longitude of the Moon's * perigee. EL = iau_ANPM ( ( 485866.733D0 + ( 715922.633D0 + : ( 31.310D0 + 0.064D0 * T ) * T ) * T ) * DAS2R : + MOD(1325D0*T, 1D0) * D2PI ) * Mean longitude of the Sun minus mean longitude of the Sun's perigee. ELP = iau_ANPM ( ( 1287099.804D0 + ( 1292581.224D0 + : ( -0.577D0 -0.012D0 * T ) * T ) * T ) * DAS2R : + MOD(99D0*T, 1D0) * D2PI ) * Mean longitude of the Moon minus mean longitude of the Moon's node. F = iau_ANPM ( ( 335778.877D0 + ( 295263.137D0 + : ( -13.257D0 + 0.011D0 * T ) * T ) * T ) * DAS2R : + MOD(1342D0*T, 1D0) * D2PI ) * Mean elongation of the Moon from the Sun. D = iau_ANPM ( ( 1072261.307D0 + ( 1105601.328D0 + : ( -6.891D0 + 0.019D0 * T ) * T ) * T ) * DAS2R : + MOD(1236D0*T, 1D0) * D2PI ) * Longitude of the mean ascending node of the lunar orbit on the * ecliptic, measured from the mean equinox of date. OM = iau_ANPM( ( 450160.280D0 + ( -482890.539D0 + : ( 7.455D0 + 0.008D0 * T ) * T ) * T ) * DAS2R : + MOD( -5D0*T, 1D0) * D2PI ) * --------------- * Nutation series * --------------- * Change time argument from centuries to millennia. T = T / 10D0 * Initialize nutation components. DP = 0D0 DE = 0D0 * Sum the nutation terms, ending with the biggest. DO 1 J=106,1,-1 * Form argument for current term. ARG = DBLE(X(1,J)) * EL : + DBLE(X(2,J)) * ELP : + DBLE(X(3,J)) * F : + DBLE(X(4,J)) * D : + DBLE(X(5,J)) * OM * Accumulate current nutation term. S = DBLE(X(6,J)) + DBLE(X(7,J)) * T C = DBLE(X(8,J)) + DBLE(X(9,J)) * T IF ( S .NE. 0D0 ) DP = DP + S * SIN(ARG) IF ( C .NE. 0D0 ) DE = DE + C * COS(ARG) * Next term. 1 CONTINUE * Convert results from 0.1 mas units to radians. DPSI = DP * U2R DEPS = DE * U2R * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_NUTM80 ( DATE1, DATE2, RMATN ) *+ * - - - - - - - - - - - * i a u _ N U T M 8 0 * - - - - - - - - - - - * * Form the matrix of nutation for a given date, IAU 1980 model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TDB date (Note 1) * * Returned: * RMATN d(3,3) nutation matrix * * Notes: * * 1) The TDB date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TDB)=2450123.7 could be expressed in any of these ways, among * others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The matrix operates in the sense V(true) = RMATN * V(mean), * where the p-vector V(true) is with respect to the true * equatorial triad of date and the p-vector V(mean) is with * respect to the mean equatorial triad of date. * * Called: * iau_NUT80 nutation, IAU 1980 * iau_OBL80 mean obliquity, IAU 1980 * iau_NUMAT form nutation matrix * * This revision: 2012 September 5 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, RMATN(3,3) DOUBLE PRECISION DPSI, DEPS, EPSA DOUBLE PRECISION iau_OBL80 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Nutation components and mean obliquity. CALL iau_NUT80 ( DATE1, DATE2, DPSI, DEPS ) EPSA = iau_OBL80 ( DATE1, DATE2 ) * Build the rotation matrix. CALL iau_NUMAT ( EPSA, DPSI, DEPS, RMATN ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_OBL06 ( DATE1, DATE2 ) *+ * - - - - - - - - - - * i a u _ O B L 0 6 * - - - - - - - - - - * * Mean obliquity of the ecliptic, IAU 2006 precession model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * iau_OBL06 d obliquity of the ecliptic (radians, Note 2) * * Notes: * * 1) The date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The result is the angle between the ecliptic and mean equator of * date DATE1+DATE2. * * Reference: * * Hilton, J. et al., 2006, Celest.Mech.Dyn.Astron. 94, 351 * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2 * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian century DOUBLE PRECISION DJC PARAMETER ( DJC = 36525D0 ) DOUBLE PRECISION T * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Interval between fundamental date J2000.0 and given date (JC). T = ( ( DATE1-DJ00 ) + DATE2 ) / DJC * Mean obliquity. iau_OBL06 = ( 84381.406D0 + : ( -46.836769D0 + : ( -0.0001831D0 + : ( 0.00200340D0 + : ( -0.000000576D0 + : ( -0.0000000434D0 ) : * T ) * T ) * T ) * T ) * T ) * DAS2R * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_OBL80 ( DATE1, DATE2 ) *+ * - - - - - - - - - - * i a u _ O B L 8 0 * - - - - - - - - - - * * Mean obliquity of the ecliptic, IAU 1980 model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * iau_OBL80 d obliquity of the ecliptic (radians, Note 2) * * Notes: * * 1) The date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TDB)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The result is the angle between the ecliptic and mean equator of * date DATE1+DATE2. * * Reference: * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992), * Expression 3.222-1 (p114). * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2 * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian century DOUBLE PRECISION DJC PARAMETER ( DJC = 36525D0 ) DOUBLE PRECISION T * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Interval between fundamental epoch J2000.0 and given date (JC). T = ( ( DATE1-DJ00 ) + DATE2 ) / DJC * Mean obliquity of date. iau_OBL80 = DAS2R * ( 84381.448D0 + : ( -46.8150D0 + : ( -0.00059D0 + : 0.001813D0 * T ) * T ) * T ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_P06E ( DATE1, DATE2, : EPS0, PSIA, OMA, BPA, BQA, PIA, BPIA, : EPSA, CHIA, ZA, ZETAA, THETAA, PA, : GAM, PHI, PSI ) *+ * - - - - - - - - - * i a u _ P 0 6 E * - - - - - - - - - * * Precession angles, IAU 2006, equinox based. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical models. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned (see Note 2): * EPS0 d epsilon_0 * PSIA d psi_A * OMA d omega_A * BPA d P_A * BQA d Q_A * PIA d pi_A * BPIA d Pi_A * EPSA d obliquity epsilon_A * CHIA d chi_A * ZA d z_A * ZETAA d zeta_A * THETAA d theta_A * PA d p_A * GAM d F-W angle gamma_J2000 * PHI d F-W angle phi_J2000 * PSI d F-W angle psi_J2000 * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) This routine returns the set of equinox based angles for the * Capitaine et al. "P03" precession theory, adopted by the IAU in * 2006. The angles are set out in Table 1 of Hilton et al. (2006): * * EPS0 epsilon_0 obliquity at J2000.0 * PSIA psi_A luni-solar precession * OMA omega_A inclination of equator wrt J2000.0 ecliptic * BPA P_A ecliptic pole x, J2000.0 ecliptic triad * BQA Q_A ecliptic pole -y, J2000.0 ecliptic triad * PIA pi_A angle between moving and J2000.0 ecliptics * BPIA Pi_A longitude of ascending node of the ecliptic * EPSA epsilon_A obliquity of the ecliptic * CHIA chi_A planetary precession * 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 * 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. * * 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 * used in other SOFA routines: * * . iau_XY06 contains the polynomial parts of the X and Y series. * * . iau_S06 contains the polynomial part of the s+XY/2 series. * * . iau_PFW06 implements the series for the Fukushima-Williams * angles that are with respect to the GCRS pole (i.e. the variants * that include frame bias). * * 4) The IAU resolution stipulated that the choice of parameterization * was left to the user, and so an IAU compliant precession * implementation can be constructed using various combinations of * the angles returned by the present routine. * * 5) The parameterization used by SOFA is the version of the Fukushima- * Williams angles that refers directly to the GCRS pole. These * angles may be calculated by calling the routine iau_PFW06. SOFA * also supports the direct computation of the CIP GCRS X,Y by * series, available by calling iau_XY06. * * 6) The agreement between the different parameterizations is at the * 1 microarcsecond level in the present era. * * 7) When constructing a precession formulation that refers to the GCRS * pole rather than the dynamical pole, it may (depending on the * choice of angles) be necessary to introduce the frame bias * explicitly. * * Reference: * * Hilton, J. et al., 2006, Celest.Mech.Dyn.Astron. 94, 351 * * Called: * iau_OBL06 mean obliquity, IAU 2006 * * This revision: 2011 December 6 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, : EPS0, PSIA, OMA, BPA, BQA, PIA, BPIA, : EPSA, CHIA, ZA, ZETAA, THETAA, PA, : GAM, PHI, PSI * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian century DOUBLE PRECISION DJC PARAMETER ( DJC = 36525D0 ) DOUBLE PRECISION T DOUBLE PRECISION iau_OBL06 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Interval between fundamental date J2000.0 and given date (JC). T = ( ( DATE1-DJ00 ) + DATE2 ) / DJC * Obliquity at J2000.0. EPS0 = 84381.406D0 * DAS2R * Luni-solar precession. PSIA = ( 5038.481507D0 + : ( -1.0790069D0 + : ( -0.00114045D0 + : ( 0.000132851D0 + : ( -0.0000000951D0 ) : * T ) * T ) * T ) * T ) * T * DAS2R * Inclination of mean equator with respect to the J2000.0 ecliptic. OMA = EPS0 + ( -0.025754D0 + : ( 0.0512623D0 + : ( -0.00772503D0 + : ( -0.000000467D0 + : ( 0.0000003337D0 ) : * T ) * T ) * T ) * T ) * T * DAS2R * Ecliptic pole x, J2000.0 ecliptic triad. BPA = ( 4.199094D0 + : ( 0.1939873D0 + : ( -0.00022466D0 + : ( -0.000000912D0 + : ( 0.0000000120D0 ) : * T ) * T ) * T ) * T ) * T * DAS2R * Ecliptic pole -y, J2000.0 ecliptic triad. BQA = ( -46.811015D0 + : ( 0.0510283D0 + : ( 0.00052413D0 + : ( -0.000000646D0 + : ( -0.0000000172D0 ) : * T ) * T ) * T ) * T ) * T * DAS2R * Angle between moving and J2000.0 ecliptics. PIA = ( 46.998973D0 + : ( -0.0334926D0 + : ( -0.00012559D0 + : ( 0.000000113D0 + : ( -0.0000000022D0 ) : * T ) * T ) * T ) * T ) * T * DAS2R * Longitude of ascending node of the moving ecliptic. BPIA = ( 629546.7936D0 + : ( -867.95758D0 + : ( 0.157992D0 + : ( -0.0005371D0 + : ( -0.00004797D0 + : ( 0.000000072D0 ) : * T ) * T ) * T ) * T ) * T ) * DAS2R * Mean obliquity of the ecliptic. EPSA = iau_OBL06 ( DATE1, DATE2 ) * Planetary precession. CHIA = ( 10.556403D0 + : ( -2.3814292D0 + : ( -0.00121197D0 + : ( 0.000170663D0 + : ( -0.0000000560D0 ) : * T ) * T ) * T ) * T ) * T * DAS2R * Equatorial precession: minus the third of the 323 Euler angles. ZA = ( -2.650545D0 + : ( 2306.077181D0 + : ( 1.0927348D0 + : ( 0.01826837D0 + : ( -0.000028596D0 + : ( -0.0000002904D0 ) : * T ) * T ) * T ) * T ) * T ) * DAS2R * Equatorial precession: minus the first of the 323 Euler angles. ZETAA = ( 2.650545D0 + : ( 2306.083227D0 + : ( 0.2988499D0 + : ( 0.01801828D0 + : ( -0.000005971D0 + : ( -0.0000003173D0 ) : * T ) * T ) * T ) * T ) * T ) * DAS2R * Equatorial precession: second of the 323 Euler angles. THETAA = ( 2004.191903D0 + : ( -0.4294934D0 + : ( -0.04182264D0 + : ( -0.000007089D0 + : ( -0.0000001274D0 ) : * T ) * T ) * T ) * T ) * T * DAS2R * General precession. PA = ( 5028.796195D0 + : ( 1.1054348D0 + : ( 0.00007964D0 + : ( -0.000023857D0 + : ( 0.0000000383D0 ) : * T ) * T ) * T ) * T ) * T * DAS2R * Fukushima-Williams angles for precession. GAM = ( 10.556403D0 + : ( 0.4932044D0 + : ( -0.00031238D0 + : ( -0.000002788D0 + : ( 0.0000000260D0 ) : * T ) * T ) * T ) * T ) * T * DAS2R PHI = EPS0 + ( -46.811015D0 + : ( 0.0511269D0 + : ( 0.00053289D0 + : ( -0.000000440D0 + : ( -0.0000000176D0 ) : * T ) * T ) * T ) * T ) * T * DAS2R PSI = ( 5038.481507D0 + : ( 1.5584176D0 + : ( -0.00018522D0 + : ( -0.000026452D0 + : ( -0.0000000148D0 ) : * T ) * T ) * T ) * T ) * T * DAS2R * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_P2PV ( P, PV ) *+ * - - - - - - - - - * i a u _ P 2 P V * - - - - - - - - - * * Extend a p-vector to a pv-vector by appending a zero velocity. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * P d(3) p-vector * * Returned: * PV d(3,2) pv-vector * * Called: * iau_CP copy p-vector * iau_ZP zero p-vector * * This revision: 2000 November 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION P(3), PV(3,2) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CALL iau_CP ( P, PV(1,1) ) CALL iau_ZP ( PV(1,2) ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_P2S ( P, THETA, PHI, R ) *+ * - - - - - - - - * i a u _ P 2 S * - - - - - - - - * * P-vector to spherical polar coordinates. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * P d(3) p-vector * * Returned: * THETA d longitude angle (radians) * PHI d latitude angle (radians) * R d radial distance * * Notes: * * 1) If P is null, zero THETA, PHI and R are returned. * * 2) At either pole, zero THETA is returned. * * Called: * iau_C2S p-vector to spherical * iau_PM modulus of p-vector * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION P(3), THETA, PHI, R * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CALL iau_C2S ( P, THETA, PHI ) CALL iau_PM ( P, R ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PAP ( A, B, THETA ) *+ * - - - - - - - - * i a u _ P A P * - - - - - - - - * * Position-angle from two p-vectors. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * A d(3) direction of reference point * B d(3) direction of point whose PA is required * * Returned: * THETA d position angle of B with respect to A (radians) * * Notes: * * 1) The result is the position angle, in radians, of direction B with * respect to direction A. It is in the range -pi to +pi. The sense * is such that if B is a small distance "north" of A the position * angle is approximately zero, and if B is a small distance "east" of * A the position angle is approximately +pi/2. * * 2) A and B need not be unit vectors. * * 3) Zero is returned if the two directions are the same or if either * vector is null. * * 4) If A is at a pole, the result is ill-defined. * * Called: * iau_PN decompose p-vector into modulus and direction * iau_PM modulus of p-vector * iau_PXP vector product of two p-vectors * iau_PMP p-vector minus p-vector * iau_PDP scalar product of two p-vectors * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION A(3), B(3), THETA DOUBLE PRECISION AM, AU(3), BM, ST, CT, XA, YA, ZA, ETA(3), : XI(3), A2B(3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Modulus and direction of the A vector. CALL iau_PN ( A, AM, AU ) * Modulus of the B vector. CALL iau_PM ( B, BM ) * Deal with the case of a null vector. IF ( AM.EQ.0D0 .OR. BM.EQ.0D0 ) THEN ST = 0D0 CT = 1D0 ELSE * The "north" axis tangential from A (arbitrary length). XA = A(1) YA = A(2) ZA = A(3) ETA(1) = - XA * ZA ETA(2) = - YA * ZA ETA(3) = XA*XA + YA*YA * The "east" axis tangential from A (same length). CALL iau_PXP ( ETA, AU, XI ) * The vector from A to B. CALL iau_PMP ( B, A, A2B ) * Resolve into components along the north and east axes. CALL iau_PDP ( A2B, XI, ST ) CALL iau_PDP ( A2B, ETA, CT ) * Deal with degenerate cases. IF ( ST.EQ.0D0 .AND. CT.EQ.0D0 ) CT = 1D0 END IF * Position angle. THETA = ATAN2(ST,CT) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PAS ( AL, AP, BL, BP, THETA ) *+ * - - - - - - - - * i a u _ P A S * - - - - - - - - * * Position-angle from spherical coordinates. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * AL d longitude of point A (e.g. RA) in radians * AP d latitude of point A (e.g. Dec) in radians * BL d longitude of point B * BP d latitude of point B * * Returned: * THETA d position angle of B with respect to A * * Notes: * * 1) The result is the bearing (position angle), in radians, of point * B with respect to point A. It is in the range -pi to +pi. The * sense is such that if B is a small distance "east" of point A, * the bearing is approximately +pi/2. * * 2) Zero is returned if the two points are coincident. * * This revision: 2000 November 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION AL, AP, BL, BP, THETA DOUBLE PRECISION DL, X, Y * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DL = BL - AL Y = SIN(DL)*COS(BP) X = SIN(BP)*COS(AP) - COS(BP)*SIN(AP)*COS(DL) IF ( X.NE.0D0 .OR. Y.NE.0D0 ) THEN THETA = ATAN2(Y,X) ELSE THETA = 0D0 END IF * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PB06 ( DATE1, DATE2, BZETA, BZ, BTHETA ) *+ * - - - - - - - - - * i a u _ P B 0 6 * - - - - - - - - - * * This routine forms three Euler angles which implement general * precession from epoch J2000.0, using the IAU 2006 model. Frame * bias (the offset between ICRS and mean J2000.0) is included. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * BZETA d 1st rotation: radians clockwise around z * BZ d 3rd rotation: radians clockwise around z * BTHETA d 2nd rotation: radians counterclockwise around y * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the arguments DATE1 and DATE2. For * example, JD(TT)=2450123.7 could be expressed in any of these * ways, among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The traditional accumulated precession angles zeta_A, z_A, theta_A * cannot be obtained in the usual way, namely through polynomial * expressions, because of the frame bias. The latter means that two * of the angles undergo rapid changes near this date. They are * instead the results of decomposing the precession-bias matrix * obtained by using the Fukushima-Williams method, which does not * suffer from the problem. The decomposition returns values which * can be used in the conventional formulation and which include * frame bias. * * 3) The three angles are returned in the conventional order, which * is not the same as the order of the corresponding Euler rotations. * The precession-bias matrix is R_3(-z) x R_2(+theta) x R_3(-zeta). * * 4) Should zeta_A, z_A, theta_A angles be required that do not contain * frame bias, they are available by calling the SOFA routine * iau_P06E. * * Called: * iau_PMAT06 PB matrix, IAU 2006 * iau_RZ rotate around Z-axis * * This revision: 2007 June 8 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, BZETA, BZ, BTHETA DOUBLE PRECISION R(3,3), R31, R32 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Precession matrix via Fukushima-Williams angles. CALL iau_PMAT06 ( DATE1, DATE2, R ) * Solve for z. BZ = ATAN2 ( R(2,3), R(1,3) ) * Remove it from the matrix. CALL iau_RZ ( BZ, R ) * Solve for the remaining two angles. BZETA = ATAN2 ( R(2,1), R(2,2) ) R31 = R(3,1) R32 = R(3,2) BTHETA = ATAN2 ( -SIGN(SQRT(R31*R31+R32*R32),R(1,3)), R(3,3) ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PDP ( A, B, ADB ) *+ * - - - - - - - - * i a u _ P D P * - - - - - - - - * * p-vector inner (=scalar=dot) product. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * A d(3) first p-vector * B d(3) second p-vector * * Returned: * ADB d A . B * * This revision: 2000 November 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION A(3), B(3), ADB DOUBLE PRECISION W INTEGER I * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - W = 0D0 DO 1 I=1,3 W = W + A(I)*B(I) 1 CONTINUE ADB = W * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PFW06 ( DATE1, DATE2, GAMB, PHIB, PSIB, EPSA ) *+ * - - - - - - - - - - * i a u _ P F W 0 6 * - - - - - - - - - - * * Precession angles, IAU 2006 (Fukushima-Williams 4-angle formulation). * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * GAMB d F-W angle gamma_bar (radians) * PHIB d F-W angle phi_bar (radians) * PSIB d F-W angle psi_bar (radians) * EPSA d F-W angle epsilon_A (radians) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) Naming the following points: * * e = J2000.0 ecliptic pole, * p = GCRS pole, * E = mean ecliptic pole of date, * and P = mean pole of date, * * the four Fukushima-Williams angles are as follows: * * GAMB = gamma_bar = epE * PHIB = phi_bar = pE * PSIB = psi_bar = pEP * EPSA = epsilon_A = EP * * 3) The matrix representing the combined effects of frame bias and * precession is: * * PxB = R_1(-EPSA).R_3(-PSIB).R_1(PHIB).R_3(GAMB) * * 4) The matrix representing the combined effects of frame bias, * precession and nutation is simply: * * NxPxB = R_1(-EPSA-dE).R_3(-PSIB-dP).R_1(PHIB).R_3(GAMB) * * where dP and dE are the nutation components with respect to the * ecliptic of date. * * Reference: * * Hilton, J. et al., 2006, Celest.Mech.Dyn.Astron. 94, 351 * * Called: * iau_OBL06 mean obliquity, IAU 2006 * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, GAMB, PHIB, PSIB, EPSA * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian century DOUBLE PRECISION DJC PARAMETER ( DJC = 36525D0 ) DOUBLE PRECISION T DOUBLE PRECISION iau_OBL06 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Interval between fundamental date J2000.0 and given date (JC). T = ( ( DATE1-DJ00 ) + DATE2 ) / DJC * P03 bias+precession angles. GAMB = ( -0.052928D0 + : ( 10.556378D0 + : ( 0.4932044D0 + : ( -0.00031238D0 + : ( -0.000002788D0 + : ( 0.0000000260D0 ) : * T ) * T ) * T ) * T ) * T ) * DAS2R PHIB = ( 84381.412819D0 + : ( -46.811016D0 + : ( 0.0511268D0 + : ( 0.00053289D0 + : ( -0.000000440D0 + : ( -0.0000000176D0 ) : * T ) * T ) * T ) * T ) * T ) * DAS2R PSIB = ( -0.041775D0 + : ( 5038.481484D0 + : ( 1.5584175D0 + : ( -0.00018522D0 + : ( -0.000026452D0 + : ( -0.0000000148D0 ) : * T ) * T ) * T ) * T ) * T ) * DAS2R EPSA = iau_OBL06 ( DATE1, DATE2 ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PLAN94 ( DATE1, DATE2, NP, PV, J ) *+ * - - - - - - - - - - - * i a u _ P L A N 9 4 * - - - - - - - - - - - * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Approximate heliocentric position and velocity of a nominated major * planet: Mercury, Venus, EMB, Mars, Jupiter, Saturn, Uranus or * Neptune (but not the Earth itself). * * Given: * DATE1 d TDB date part A (Note 1) * DATE2 d TDB date part B (Note 1) * NP i planet (1=Mercury, 2=Venus, 3=EMB ... 8=Neptune) * * Returned: * PV d(3,2) planet pos,vel (heliocentric, J2000.0, au, au/d) * J i status: -1 = illegal NP (outside 1-8) * 0 = OK * +1 = warning: date outside 1000-3000 AD * +2 = warning: solution failed to converge * * Notes: * * 1) The TDB date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TDB)=2450123.7 could be expressed in any of these ways, among * others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * The limited accuracy of the present algorithm is such that any * of the methods is satisfactory. * * 2) If an NP value outside the range 1-8 is supplied, an error * status (J = -1) is returned and the PV vector set to zeroes. * * 3) For NP=3 the result is for the Earth-Moon Barycenter. To * obtain the heliocentric position and velocity of the Earth, * use instead the SOFA routine iau_EPV00. * * 4) On successful return, the array PV contains the following: * * PV(1,1) x } * PV(2,1) y } heliocentric position, au * PV(3,1) z } * * PV(1,2) xdot } * PV(2,2) ydot } heliocentric velocity, au/d * PV(3,2) zdot } * * The reference frame is equatorial and is with respect to the * mean equator and equinox of epoch J2000.0. * * 5) The algorithm is due to J.L. Simon, P. Bretagnon, J. Chapront, * M. Chapront-Touze, G. Francou and J. Laskar (Bureau des * Longitudes, Paris, France). From comparisons with JPL * ephemeris DE102, they quote the following maximum errors * over the interval 1800-2050: * * L (arcsec) B (arcsec) R (km) * * Mercury 4 1 300 * Venus 5 1 800 * EMB 6 1 1000 * Mars 17 1 7700 * Jupiter 71 5 76000 * Saturn 81 13 267000 * Uranus 86 7 712000 * Neptune 11 1 253000 * * Over the interval 1000-3000, they report that the accuracy is no * worse than 1.5 times that over 1800-2050. Outside 1000-3000 the * accuracy declines. * * Comparisons of the present routine with the JPL DE200 ephemeris * give the following RMS errors over the interval 1960-2025: * * position (km) velocity (m/s) * * Mercury 334 0.437 * Venus 1060 0.855 * EMB 2010 0.815 * Mars 7690 1.98 * Jupiter 71700 7.70 * Saturn 199000 19.4 * Uranus 564000 16.4 * Neptune 158000 14.4 * * Comparisons against DE200 over the interval 1800-2100 gave the * following maximum absolute differences. (The results using * DE406 were essentially the same.) * * L (arcsec) B (arcsec) R (km) Rdot (m/s) * * Mercury 7 1 500 0.7 * Venus 7 1 1100 0.9 * EMB 9 1 1300 1.0 * Mars 26 1 9000 2.5 * Jupiter 78 6 82000 8.2 * Saturn 87 14 263000 24.6 * Uranus 86 7 661000 27.4 * Neptune 11 2 248000 21.4 * * 6) The present SOFA re-implementation of the original Simon et al. * Fortran code differs from the original in the following respects: * * * The date is supplied in two parts. * * * The result is returned only in equatorial Cartesian form; * the ecliptic longitude, latitude and radius vector are not * returned. * * * The result is in the J2000.0 equatorial frame, not ecliptic. * * * More is done in-line: there are fewer calls to other * routines. * * * Different error/warning status values are used. * * * A different Kepler's-equation-solver is used (avoiding * use of COMPLEX*16). * * * Polynomials in T are nested to minimize rounding errors. * * * Explicit double-precision constants are used to avoid * mixed-mode expressions. * * * There are other, cosmetic, changes to comply with SOFA * style conventions. * * None of the above changes affects the result significantly. * * 7) The returned status, J, indicates the most serious condition * encountered during execution of the routine. Illegal NP is * considered the most serious, overriding failure to converge, * which in turn takes precedence over the remote epoch warning. * * Called: * iau_ANP normalize angle into range 0 to 2pi * * Reference: Simon, J.L, Bretagnon, P., Chapront, J., * Chapront-Touze, M., Francou, G., and Laskar, J., * Astron.Astrophys., 282, 663 (1994). * * This revision: 2017 October 12 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2 INTEGER NP DOUBLE PRECISION PV(3,2) INTEGER J * Maximum number of iterations allowed to solve Kepler's equation INTEGER KMAX PARAMETER ( KMAX = 10 ) * 2Pi DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian millennium DOUBLE PRECISION DJM PARAMETER ( DJM = 365250D0 ) * Sin and cos of J2000.0 mean obliquity (IAU 1976) DOUBLE PRECISION SINEPS, COSEPS PARAMETER ( SINEPS = 0.3977771559319137D0, : COSEPS = 0.9174820620691818D0 ) * Gaussian constant DOUBLE PRECISION GK PARAMETER ( GK = 0.017202098950D0 ) INTEGER JSTAT, I, K DOUBLE PRECISION AMAS(8), A(3,8), DLM(3,8), E(3,8), : PI(3,8), DINC(3,8), OMEGA(3,8), : KP(9,8), CA(9,8), SA(9,8), : KQ(10,8), CL(10,8), SL(10,8), : T, DA, DL, DE, DP, DI, DOM, DMU, ARGA, ARGL, AM, : AE, DAE, AE2, AT, R, V, SI2, XQ, XP, TL, XSW, : XCW, XM2, XF, CI2, XMS, XMC, XPXQ2, X, Y, Z DOUBLE PRECISION iau_ANPM * Planetary inverse masses DATA AMAS / 6023600D0, 408523.5D0, 328900.5D0, 3098710D0, : 1047.355D0, 3498.5D0, 22869D0, 19314D0 / * * Tables giving the mean Keplerian elements, limited to T**2 terms: * * A semi-major axis (au) * DLM mean longitude (degree and arcsecond) * E eccentricity * PI longitude of the perihelion (degree and arcsecond) * DINC inclination (degree and arcsecond) * OMEGA longitude of the ascending node (degree and arcsecond) * DATA A / : 0.3870983098D0, 0D0, 0D0, : 0.7233298200D0, 0D0, 0D0, : 1.0000010178D0, 0D0, 0D0, : 1.5236793419D0, 3D-10, 0D0, : 5.2026032092D0, 19132D-10, -39D-10, : 9.5549091915D0, -0.0000213896D0, 444D-10, : 19.2184460618D0, -3716D-10, 979D-10, : 30.1103868694D0, -16635D-10, 686D-10 / * DATA DLM / : 252.25090552D0, 5381016286.88982D0, -1.92789D0, : 181.97980085D0, 2106641364.33548D0, 0.59381D0, : 100.46645683D0, 1295977422.83429D0, -2.04411D0, : 355.43299958D0, 689050774.93988D0, 0.94264D0, : 34.35151874D0, 109256603.77991D0, -30.60378D0, : 50.07744430D0, 43996098.55732D0, 75.61614D0, : 314.05500511D0, 15424811.93933D0, -1.75083D0, : 304.34866548D0, 7865503.20744D0, 0.21103D0 / * DATA E / : 0.2056317526D0, 0.0002040653D0, -28349D-10, : 0.0067719164D0, -0.0004776521D0, 98127D-10, : 0.0167086342D0, -0.0004203654D0, -0.0000126734D0, : 0.0934006477D0, 0.0009048438D0, -80641D-10, : 0.0484979255D0, 0.0016322542D0, -0.0000471366D0, : 0.0555481426D0, -0.0034664062D0, -0.0000643639D0, : 0.0463812221D0, -0.0002729293D0, 0.0000078913D0, : 0.0094557470D0, 0.0000603263D0, 0D0 / * DATA PI / : 77.45611904D0, 5719.11590D0, -4.83016D0, : 131.56370300D0, 175.48640D0, -498.48184D0, : 102.93734808D0, 11612.35290D0, 53.27577D0, : 336.06023395D0, 15980.45908D0, -62.32800D0, : 14.33120687D0, 7758.75163D0, 259.95938D0, : 93.05723748D0, 20395.49439D0, 190.25952D0, : 173.00529106D0, 3215.56238D0, -34.09288D0, : 48.12027554D0, 1050.71912D0, 27.39717D0 / * DATA DINC / : 7.00498625D0, -214.25629D0, 0.28977D0, : 3.39466189D0, -30.84437D0, -11.67836D0, : 0D0, 469.97289D0, -3.35053D0, : 1.84972648D0, -293.31722D0, -8.11830D0, : 1.30326698D0, -71.55890D0, 11.95297D0, : 2.48887878D0, 91.85195D0, -17.66225D0, : 0.77319689D0, -60.72723D0, 1.25759D0, : 1.76995259D0, 8.12333D0, 0.08135D0 / * DATA OMEGA / : 48.33089304D0, -4515.21727D0, -31.79892D0, : 76.67992019D0, -10008.48154D0, -51.32614D0, : 174.87317577D0, -8679.27034D0, 15.34191D0, : 49.55809321D0, -10620.90088D0, -230.57416D0, : 100.46440702D0, 6362.03561D0, 326.52178D0, : 113.66550252D0, -9240.19942D0, -66.23743D0, : 74.00595701D0, 2669.15033D0, 145.93964D0, : 131.78405702D0, -221.94322D0, -0.78728D0 / * * Tables for trigonometric terms to be added to the mean elements * of the semi-major axes. * DATA KP / : 69613, 75645, 88306, 59899, 15746, 71087, 142173, 3086, 0, : 21863, 32794, 26934, 10931, 26250, 43725, 53867, 28939, 0, : 16002, 21863, 32004, 10931, 14529, 16368, 15318, 32794, 0, : 6345, 7818, 15636, 7077, 8184, 14163, 1107, 4872, 0, : 1760, 1454, 1167, 880, 287, 2640, 19, 2047, 1454, : 574, 0, 880, 287, 19, 1760, 1167, 306, 574, : 204, 0, 177, 1265, 4, 385, 200, 208, 204, : 0, 102, 106, 4, 98, 1367, 487, 204, 0 / * DATA CA / : 4, -13, 11, -9, -9, -3, -1, 4, 0, : -156, 59, -42, 6, 19, -20, -10, -12, 0, : 64, -152, 62, -8, 32, -41, 19, -11, 0, : 124, 621, -145, 208, 54, -57, 30, 15, 0, : -23437, -2634, 6601, 6259, -1507, -1821, 2620, -2115,-1489, : 62911,-119919, 79336, 17814,-24241, 12068, 8306, -4893, 8902, : 389061,-262125,-44088, 8387,-22976, -2093, -615, -9720, 6633, :-412235,-157046,-31430, 37817, -9740, -13, -7449, 9644, 0 / * DATA SA / : -29, -1, 9, 6, -6, 5, 4, 0, 0, : -48, -125, -26, -37, 18, -13, -20, -2, 0, : -150, -46, 68, 54, 14, 24, -28, 22, 0, : -621, 532, -694, -20, 192, -94, 71, -73, 0, : -14614,-19828, -5869, 1881, -4372, -2255, 782, 930, 913, : 139737, 0, 24667, 51123, -5102, 7429, -4095, -1976,-9566, : -138081, 0, 37205,-49039,-41901,-33872,-27037,-12474,18797, : 0, 28492,133236, 69654, 52322,-49577,-26430, -3593, 0 / * * Tables giving the trigonometric terms to be added to the mean * elements of the mean longitudes. * DATA KQ / : 3086, 15746, 69613, 59899, 75645, 88306, 12661, 2658, 0, 0, : 21863, 32794, 10931, 73, 4387, 26934, 1473, 2157, 0, 0, : 10, 16002, 21863, 10931, 1473, 32004, 4387, 73, 0, 0, : 10, 6345, 7818, 1107, 15636, 7077, 8184, 532, 10, 0, : 19, 1760, 1454, 287, 1167, 880, 574, 2640, 19,1454, : 19, 574, 287, 306, 1760, 12, 31, 38, 19, 574, : 4, 204, 177, 8, 31, 200, 1265, 102, 4, 204, : 4, 102, 106, 8, 98, 1367, 487, 204, 4, 102 / * DATA CL / : 21, -95, -157, 41, -5, 42, 23, 30, 0, 0, : -160, -313, -235, 60, -74, -76, -27, 34, 0, 0, : -325, -322, -79, 232, -52, 97, 55, -41, 0, 0, : 2268, -979, 802, 602, -668, -33, 345, 201, -55, 0, : 7610, -4997,-7689,-5841,-2617, 1115, -748, -607, 6074, 354, : -18549, 30125,20012, -730, 824, 23, 1289, -352,-14767,-2062, :-135245,-14594, 4197,-4030,-5630,-2898, 2540, -306, 2939, 1986, : 89948, 2103, 8963, 2695, 3682, 1648, 866, -154, -1963, -283 / * DATA SL / : -342, 136, -23, 62, 66, -52, -33, 17, 0, 0, : 524, -149, -35, 117, 151, 122, -71, -62, 0, 0, : -105, -137, 258, 35, -116, -88, -112, -80, 0, 0, : 854, -205, -936, -240, 140, -341, -97, -232, 536, 0, : -56980, 8016, 1012, 1448,-3024,-3710, 318, 503, 3767, 577, : 138606,-13478,-4964, 1441,-1319,-1482, 427, 1236, -9167,-1918, : 71234,-41116, 5334,-4935,-1848, 66, 434,-1748, 3780, -701, : -47645, 11647, 2166, 3194, 679, 0, -244, -419, -2531, 48 / * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Validate the planet number. IF ( NP.LT.1 .OR. NP.GT.8 ) THEN JSTAT = -1 * Reset the result in case of failure. DO 2 K=1,2 DO 1 I=1,3 PV(I,K) = 0D0 1 CONTINUE 2 CONTINUE ELSE * Time: Julian millennia since J2000.0. T = ( ( DATE1-DJ00 ) + DATE2 ) / DJM * OK status unless remote epoch. IF ( ABS(T) .LE. 1D0 ) THEN JSTAT = 0 ELSE JSTAT = 1 END IF * Compute the mean elements. DA = A(1,NP) + : ( A(2,NP) + : A(3,NP) * T ) * T DL = ( 3600D0 * DLM(1,NP) + : ( DLM(2,NP) + : DLM(3,NP) * T ) * T ) * DAS2R DE = E(1,NP) + : ( E(2,NP) + : E(3,NP) * T ) * T DP = iau_ANPM ( ( 3600D0 * PI(1,NP) + : ( PI(2,NP) + : PI(3,NP) * T ) * T ) * DAS2R ) DI = ( 3600D0 * DINC(1,NP) + : ( DINC(2,NP) + : DINC(3,NP) * T ) * T ) * DAS2R DOM = iau_ANPM ( ( 3600D0 * OMEGA(1,NP) : + ( OMEGA(2,NP) : + OMEGA(3,NP) * T ) * T ) * DAS2R ) * Apply the trigonometric terms. DMU = 0.35953620D0 * T DO 3 K=1,8 ARGA = KP(K,NP) * DMU ARGL = KQ(K,NP) * DMU DA = DA + ( CA(K,NP) * COS(ARGA) + : SA(K,NP) * SIN(ARGA) ) * 1D-7 DL = DL + ( CL(K,NP) * COS(ARGL) + : SL(K,NP) * SIN(ARGL) ) * 1D-7 3 CONTINUE ARGA = KP(9,NP) * DMU DA = DA + T * ( CA(9,NP) * COS(ARGA) + : SA(9,NP) * SIN(ARGA) ) * 1D-7 DO 4 K=9,10 ARGL = KQ(K,NP) * DMU DL = DL + T * ( CL(K,NP) * COS(ARGL) + : SL(K,NP) * SIN(ARGL) ) * 1D-7 4 CONTINUE DL = MOD(DL, D2PI) * Iterative solution of Kepler's equation to get eccentric anomaly. AM = DL - DP AE = AM + DE*SIN(AM) K = 0 5 CONTINUE DAE = ( AM - AE + DE*SIN(AE) ) / ( 1D0 - DE*COS(AE) ) AE = AE + DAE K = K + 1 IF ( K.GE.KMAX ) JSTAT = 2 IF ( K.LT.KMAX .AND. ABS(DAE) .GT. 1D-12 ) GO TO 5 * True anomaly. AE2 = AE / 2D0 AT = 2D0 * ATAN2(SQRT((1D0+DE)/(1D0-DE)) * SIN(AE2), : COS(AE2)) * Distance (au) and speed (radians per day). R = DA * ( 1D0 - DE*COS(AE) ) V = GK * SQRT( ( 1D0 + 1D0/AMAS(NP) ) / (DA*DA*DA)) SI2 = SIN(DI/2D0) XQ = SI2 * COS(DOM) XP = SI2 * SIN(DOM) TL = AT + DP XSW = SIN(TL) XCW = COS(TL) XM2 = 2D0 * ( XP*XCW - XQ*XSW ) XF = DA / SQRT(1D0 - DE*DE) CI2 = COS(DI/2D0) XMS = ( DE * SIN(DP) + XSW ) * XF XMC = ( DE * COS(DP) + XCW ) * XF XPXQ2 = 2D0 * XP * XQ * Position (J2000.0 ecliptic x,y,z in au). X = R * ( XCW - XM2*XP ) Y = R * ( XSW + XM2*XQ ) Z = R * ( -XM2 * CI2 ) * Rotate to equatorial. PV(1,1) = X PV(2,1) = Y*COSEPS - Z*SINEPS PV(3,1) = Y*SINEPS + Z*COSEPS * Velocity (J2000.0 ecliptic xdot,ydot,zdot in au/d). X = V * ( ( -1D0 + 2D0*XP*XP ) * XMS + XPXQ2 * XMC ) Y = V * ( ( 1D0 - 2D0*XQ*XQ ) * XMC - XPXQ2 * XMS ) Z = V * ( 2D0 * CI2 * ( XP*XMS + XQ*XMC ) ) * Rotate to equatorial. PV(1,2) = X PV(2,2) = Y*COSEPS - Z*SINEPS PV(3,2) = Y*SINEPS + Z*COSEPS END IF * Return the status. J = JSTAT * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PMAT00 ( DATE1, DATE2, RBP ) *+ * - - - - - - - - - - - * i a u _ P M A T 0 0 * - - - - - - - - - - - * * Precession matrix (including frame bias) from GCRS to a specified * date, IAU 2000 model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * RBP d(3,3) bias-precession matrix (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the arguments DATE1 and DATE2. For * example, JD(TT)=2450123.7 could be expressed in any of these * ways, among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The matrix operates in the sense V(date) = RBP * V(GCRS), where * the p-vector V(GCRS) is with respect to the Geocentric Celestial * Reference System (IAU, 2000) and the p-vector V(date) is with * respect to the mean equatorial triad of the given date. * * Called: * iau_BP00 frame bias and precession matrices, IAU 2000 * * Reference: * * IAU: Trans. International Astronomical Union, Vol. XXIVB; Proc. * 24th General Assembly, Manchester, UK. Resolutions B1.3, B1.6. * (2000) * * This revision: 2009 December 21 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, RBP(3,3) DOUBLE PRECISION RB(3,3), RP(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Obtain the required matrix (discarding others). CALL iau_BP00 ( DATE1, DATE2, RB, RP, RBP ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PMAT06 ( DATE1, DATE2, RBP ) *+ * - - - - - - - - - - - * i a u _ P M A T 0 6 * - - - - - - - - - - - * * Precession matrix (including frame bias) from GCRS to a specified * date, IAU 2006 model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * RBP d(3,3) bias-precession matrix (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the arguments DATE1 and DATE2. For * example, JD(TT)=2450123.7 could be expressed in any of these * ways, among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The matrix operates in the sense V(date) = RBP * V(GCRS), where * the p-vector V(GCRS) is with respect to the Geocentric Celestial * Reference System (IAU, 2000) and the p-vector V(date) is with * respect to the mean equatorial triad of the given date. * * Called: * iau_PFW06 bias-precession F-W angles, IAU 2006 * iau_FW2M F-W angles to r-matrix * * References: * * Capitaine, N. & Wallace, P.T., 2006, Astron.Astrophys. 450, 855 * * Wallace, P.T. & Capitaine, N., 2006, Astron.Astrophys. 459, 981 * * This revision: 2009 December 21 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, RBP(3,3) DOUBLE PRECISION GAMB, PHIB, PSIB, EPSA * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Bias-precession Fukushima-Williams angles. CALL iau_PFW06 ( DATE1, DATE2, GAMB, PHIB, PSIB, EPSA ) * Form the matrix. CALL iau_FW2M ( GAMB, PHIB, PSIB, EPSA, RBP ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PMAT76 ( DATE1, DATE2, RMATP ) *+ * - - - - - - - - - - - * i a u _ P M A T 7 6 * - - - - - - - - - - - * * Precession matrix from J2000.0 to a specified date, IAU 1976 model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d ending date, TT (Note 1) * * Returned: * RMATP d(3,3) precession matrix, J2000.0 -> DATE1+DATE2 * * Notes: * * 1) The ending date DATE1+DATE2 is a Julian Date, apportioned * in any convenient way between the arguments DATE1 and DATE2. * For example, JD(TT)=2450123.7 could be expressed in any of * these ways, among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The matrix operates in the sense V(date) = RMATP * V(J2000), * where the p-vector V(J2000) is with respect to the mean * equatorial triad of epoch J2000.0 and the p-vector V(date) * is with respect to the mean equatorial triad of the given * date. * * 3) Though the matrix method itself is rigorous, the precession * angles are expressed through canonical polynomials which are * valid only for a limited time span. In addition, the IAU 1976 * precession rate is known to be imperfect. The absolute accuracy * of the present formulation is better than 0.1 arcsec from * 1960AD to 2040AD, better than 1 arcsec from 1640AD to 2360AD, * and remains below 3 arcsec for the whole of the period * 500BC to 3000AD. The errors exceed 10 arcsec outside the * range 1200BC to 3900AD, exceed 100 arcsec outside 4200BC to * 5600AD and exceed 1000 arcsec outside 6800BC to 8200AD. * * Called: * iau_PREC76 accumulated precession angles, IAU 1976 * iau_IR initialize r-matrix to identity * iau_RZ rotate around Z-axis * iau_RY rotate around Y-axis * iau_CR copy r-matrix * * References: * * Lieske, J.H., 1979, Astron.Astrophys. 73, 282. * equations (6) & (7), p283. * * Kaplan, G.H., 1981, USNO circular no. 163, pA2. * * This revision: 2009 December 18 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, RMATP(3,3) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) DOUBLE PRECISION ZETA, Z, THETA, WMAT(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Precession Euler angles, J2000.0 to specified date. CALL iau_PREC76 ( DJ00, 0D0, DATE1, DATE2, ZETA, Z, THETA ) * Form the rotation matrix. CALL iau_IR ( WMAT ) CALL iau_RZ ( -ZETA, WMAT ) CALL iau_RY ( THETA, WMAT ) CALL iau_RZ ( -Z, WMAT ) CALL iau_CR ( WMAT, RMATP ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PM ( P, R ) *+ * - - - - - - - * i a u _ P M * - - - - - - - * * Modulus of p-vector. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * P d(3) p-vector * * Returned: * R d modulus * * This revision: 2000 November 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION P(3), R INTEGER I DOUBLE PRECISION W, C * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - W = 0D0 DO 1 I=1,3 C = P(I) W = W + C*C 1 CONTINUE R = SQRT(W) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PMP ( A, B, AMB ) *+ * - - - - - - - - * i a u _ P M P * - - - - - - - - * * P-vector subtraction. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * A d(3) first p-vector * B d(3) second p-vector * * Returned: * AMB d(3) A - B * * This revision: 2000 November 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION A(3), B(3), AMB(3) INTEGER I * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DO 1 I=1,3 AMB(I) = A(I) - B(I) 1 CONTINUE * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PMPX ( RC, DC, PR, PD, PX, RV, PMT, POB, PCO ) *+ * - - - - - - - - - * i a u _ P M P X * - - - - - - - - - * * Proper motion and parallax. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * RC,DC d ICRS RA,Dec at catalog epoch (radians) * PR d RA proper motion (radians/year; Note 1) * PD d Dec proper motion (radians/year) * PX d parallax (arcsec) * RV d radial velocity (km/s, +ve if receding) * PMT d proper motion time interval (SSB, Julian years) * POB d(3) SSB to observer vector (au) * * Returned: * PCO d(3) coordinate direction (BCRS unit vector) * * Notes: * * 1) The proper motion in RA is dRA/dt rather than cos(Dec)*dRA/dt. * * 2) The proper motion time interval is for when the starlight * reaches the solar system barycenter. * * 3) To avoid the need for iteration, the Roemer effect (i.e. the * small annual modulation of the proper motion coming from the * changing light time) is applied approximately, using the * direction of the star at the catalog epoch. * * References: * * 1984 Astronomical Almanac, pp B39-B41. * * Urban, S. & Seidelmann, P. K. (eds), Explanatory Supplement to * the Astronomical Almanac, 3rd ed., University Science Books * (2013), Section 7.2. * * Called: * iau_PDP scalar product of two p-vectors * iau_PN decompose p-vector into modulus and direction * * This revision: 2017 March 11 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RC, DC, PR, PD, PX, RV, PMT, POB(3), PCO(3) * Days to seconds DOUBLE PRECISION D2S PARAMETER ( D2S = 86400D0 ) * Days per Julian year DOUBLE PRECISION DJY PARAMETER ( DJY = 365.25D0 ) * Days per Julian millennium DOUBLE PRECISION DJM PARAMETER ( DJM = 365250D0 ) * Speed of light (m/s) DOUBLE PRECISION CMPS PARAMETER ( CMPS = 299792458D0 ) * Astronomical unit (m, IAU 2012) DOUBLE PRECISION AUM PARAMETER ( AUM = 149597870.7D3 ) * Light time for 1 au, Julian years DOUBLE PRECISION AULTY PARAMETER ( AULTY = AUM/CMPS/D2S/DJY ) * Km/s to au/year DOUBLE PRECISION VF PARAMETER ( VF = D2S*DJM/AUM ) * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) INTEGER I DOUBLE PRECISION SR, CR, SD, CD, X, Y, Z, P(3), PDB, : DT, PXR, W, PDZ, PM(3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Catalog spherical coordinates to unit vector (and useful functions). SR = SIN(RC) CR = COS(RC) SD = SIN(DC) CD = COS(DC) X = CR*CD Y = SR*CD Z = SD P(1) = X P(2) = Y P(3) = Z * Component of observer vector in star direction. CALL iau_PDP ( P, POB, PDB ) * Proper motion time interval (y), including Roemer effect. DT = PMT + PDB*AULTY * Space motion (radians per year). PXR = PX*DAS2R W = VF*RV*PXR PDZ = PD*Z PM(1) = - PR*Y - PDZ*CR + W*X PM(2) = PR*X - PDZ*SR + W*Y PM(3) = PD*CD + W*Z * Coordinate direction of star (unit vector, BCRS). DO 1 I=1,3 P(I) = P(I) + DT*PM(I) - PXR*POB(I) 1 CONTINUE CALL iau_PN ( P, W, PCO ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PMSAFE ( RA1, DEC1, PMR1, PMD1, PX1, RV1, : EP1A, EP1B, EP2A, EP2B, : RA2, DEC2, PMR2, PMD2, PX2, RV2, J ) *+ * - - - - - - - - - - - * i a u _ P M S A F E * - - - - - - - - - - - * * Star proper motion: update star catalog data for space motion, with * special handling to handle the zero parallax case. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * RA1 d right ascension (radians), before * DEC1 d declination (radians), before * PMR1 d RA proper motion (radians/year), before * PMD1 d Dec proper motion (radians/year), before * PX1 d parallax (arcseconds), before * RV1 d radial velocity (km/s, +ve = receding), before * EP1A d "before" epoch, part A (Note 1) * EP1B d "before" epoch, part B (Note 1) * EP2A d "after" epoch, part A (Note 1) * EP2B d "after" epoch, part B (Note 1) * * Returned: * RA2 d right ascension (radians), after * DEC2 d declination (radians), after * PMR2 d RA proper motion (radians/year), after * PMD2 d Dec proper motion (radians/year), after * PX2 d parallax (arcseconds), after * RV2 d radial velocity (km/s, +ve = receding), after * J i 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 * * Notes: * * 1) The starting and ending TDB epochs EP1A+EP1B and EP2A+EP2B are * Julian Dates, apportioned in any convenient way between the two * parts (A and B). For example, JD(TDB)=2450123.7 could be * expressed in any of these ways, among others: * * EPnA EPnB * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in cases * where the loss of several decimal digits of resolution is * acceptable. The J2000 method is best matched to the way the * argument is handled internally and will deliver the optimum * resolution. The MJD method and the date & time methods are both * good compromises between resolution and convenience. * * 2) In accordance with normal star-catalog conventions, the object's * right ascension and declination are freed from the effects of * secular aberration. The frame, which is aligned to the catalog * equator and equinox, is Lorentzian and centered on the SSB. * * The proper motions are the rate of change of the right ascension * and declination at the catalog epoch and are in radians per TDB * Julian year. * * The parallax and radial velocity are in the same frame. * * 3) Care is needed with units. The star coordinates are in radians * and the proper motions in radians per Julian year, but the * parallax is in arcseconds. * * 4) The RA proper motion is in terms of coordinate angle, not true * angle. If the catalog uses arcseconds for both RA and Dec proper * motions, the RA proper motion will need to be divided by cos(Dec) * before use. * * 5) Straight-line motion at constant speed, in the inertial frame, is * assumed. * * 6) An extremely small (or zero or negative) parallax is overridden to * ensure that the object is at a finite but very large distance, but * not so large that the proper motion is equivalent to a large but * safe speed (about 0.1c using the chosen constant). A warning * status of 1 is added to the status if this action has been taken. * * 7) If the space velocity is a significant fraction of c (see the * constant VMAX in the routine iau_STARPV), it is arbitrarily set to * zero. When this action occurs, 2 is added to the status. * * 8) The relativistic adjustment carried out in the iau_STARPV routine * involves an iterative calculation. If the process fails to * converge within a set number of iterations, 4 is added to the * status. * * Called: * iau_SEPS angle between two points * iau_STARPM update star catalog data for space motion * * This revision: 2013 June 6 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RA1, DEC1, PMR1, PMD1, PX1, RV1, : EP1A, EP1B, EP2A, EP2B, : RA2, DEC2, PMR2, PMD2, PX2, RV2 INTEGER J * Minimum allowed parallax (arcsec) DOUBLE PRECISION PXMIN PARAMETER ( PXMIN = 5D-7 ) * Factor giving maximum allowed transverse speed of about 1% c DOUBLE PRECISION F PARAMETER ( F = 326D0 ) INTEGER JPX DOUBLE PRECISION PM, PX1A * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Proper motion in one year (radians). CALL iau_SEPS ( RA1, DEC1, RA1+PMR1, DEC1+PMD1, PM ) * Override the parallax to reduce the chances of a warning status. JPX = 0 PX1A = PX1 PM = PM * F IF ( PX1A .LT. PM ) THEN JPX = 1 PX1A = PM END IF IF ( PX1A .LT. PXMIN ) THEN JPX = 1 PX1A = PXMIN END IF * Carry out the transformation using the modified parallax. CALL iau_STARPM ( RA1, DEC1, PMR1, PMD1, PX1A, RV1, : EP1A, EP1B, EP2A, EP2B, : RA2, DEC2, PMR2, PMD2, PX2, RV2, J ) * Revise the status. IF ( MOD(J,2) .EQ. 0 ) J = J + JPX * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PN00A ( DATE1, DATE2, : DPSI, DEPS, EPSA, RB, RP, RBP, RN, RBPN ) *+ * - - - - - - - - - - * i a u _ P N 0 0 A * - - - - - - - - - - * * Precession-nutation, IAU 2000A model: a multi-purpose routine, * supporting classical (equinox-based) use directly and CIO-based * use indirectly. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * DPSI,DEPS d nutation (Note 2) * EPSA d mean obliquity (Note 3) * RB d(3,3) frame bias matrix (Note 4) * RP d(3,3) precession matrix (Note 5) * RBP d(3,3) bias-precession matrix (Note 6) * RN d(3,3) nutation matrix (Note 7) * RBPN d(3,3) GCRS-to-true matrix (Notes 8,9) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The nutation components (luni-solar + planetary, IAU 2000A) in * longitude and obliquity are in radians and with respect to the * equinox and ecliptic of date. Free core nutation is omitted; for * the utmost accuracy, use the iau_PN00 routine, where the nutation * components are caller-specified. For faster but slightly less * accurate results, use the iau_PN00B routine. * * 3) The mean obliquity is consistent with the IAU 2000 precession. * * 4) The matrix RB transforms vectors from GCRS to J2000.0 mean equator * and equinox by applying frame bias. * * 5) The matrix RP transforms vectors from J2000.0 mean equator and * equinox to mean equator and equinox of date by applying * precession. * * 6) The matrix RBP transforms vectors from GCRS to mean equator and * equinox of date by applying frame bias then precession. It is the * product RP x RB. * * 7) The matrix RN transforms vectors from mean equator and equinox of * date to true equator and equinox of date by applying the nutation * (luni-solar + planetary). * * 8) The matrix RBPN transforms vectors from GCRS to true equator and * equinox of date. It is the product RN x RBP, applying frame bias, * precession and nutation in that order. * * 9) The X,Y,Z coordinates of the IAU 2000A Celestial Intermediate Pole * are elements (3,1-3) of the matrix RBPN. * * Called: * iau_NUT00A nutation, IAU 2000A * iau_PN00 bias/precession/nutation results, IAU 2000 * * Reference: * * Capitaine, N., Chapront, J., Lambert, S. and Wallace, P., * "Expressions for the Celestial Intermediate Pole and Celestial * Ephemeris Origin consistent with the IAU 2000A precession-nutation * model", Astron.Astrophys. 400, 1145-1154 (2003). * * n.b. The celestial ephemeris origin (CEO) was renamed "celestial * intermediate origin" (CIO) by IAU 2006 Resolution 2. * * This revision: 2010 January 18 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, DPSI, DEPS, EPSA, : RB(3,3), RP(3,3), RBP(3,3), RN(3,3), RBPN(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Nutation. CALL iau_NUT00A ( DATE1, DATE2, DPSI, DEPS ) * Remaining results. CALL iau_PN00 ( DATE1, DATE2, DPSI, DEPS, : EPSA, RB, RP, RBP, RN, RBPN ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PN00B ( DATE1, DATE2, : DPSI, DEPS, EPSA, RB, RP, RBP, RN, RBPN ) *+ * - - - - - - - - - - * i a u _ P N 0 0 B * - - - - - - - - - - * * Precession-nutation, IAU 2000B model: a multi-purpose routine, * supporting classical (equinox-based) use directly and CIO-based * use indirectly. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * DPSI,DEPS d nutation (Note 2) * EPSA d mean obliquity (Note 3) * RB d(3,3) frame bias matrix (Note 4) * RP d(3,3) precession matrix (Note 5) * RBP d(3,3) bias-precession matrix (Note 6) * RN d(3,3) nutation matrix (Note 7) * RBPN d(3,3) GCRS-to-true matrix (Notes 8,9) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The nutation components (luni-solar + planetary, IAU 2000B) in * longitude and obliquity are in radians and with respect to the * equinox and ecliptic of date. For more accurate results, but * at the cost of increased computation, use the iau_PN00A routine. * For the utmost accuracy, use the iau_PN00 routine, where the * nutation components are caller-specified. * * 3) The mean obliquity is consistent with the IAU 2000 precession. * * 4) The matrix RB transforms vectors from GCRS to J2000.0 mean equator * and equinox by applying frame bias. * * 5) The matrix RP transforms vectors from J2000.0 mean equator and * equinox to mean equator and equinox of date by applying * precession. * * 6) The matrix RBP transforms vectors from GCRS to mean equator and * equinox of date by applying frame bias then precession. It is the * product RP x RB. * * 7) The matrix RN transforms vectors from mean equator and equinox of * date to true equator and equinox of date by applying the nutation * (luni-solar + planetary). * * 8) The matrix RBPN transforms vectors from GCRS to true equator and * equinox of date. It is the product RN x RBP, applying frame bias, * precession and nutation in that order. * * 9) The X,Y,Z coordinates of the IAU 2000B Celestial Intermediate Pole * are elements (3,1-3) of the matrix RBPN. * * Called: * iau_NUT00B nutation, IAU 2000B * iau_PN00 bias/precession/nutation results, IAU 2000 * * Reference: * * Capitaine, N., Chapront, J., Lambert, S. and Wallace, P., * "Expressions for the Celestial Intermediate Pole and Celestial * Ephemeris Origin consistent with the IAU 2000A precession-nutation * model", Astron.Astrophys. 400, 1145-1154 (2003). * * n.b. The celestial ephemeris origin (CEO) was renamed "celestial * intermediate origin" (CIO) by IAU 2006 Resolution 2. * * This revision: 2010 January 18 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, DPSI, DEPS, EPSA, : RB(3,3), RP(3,3), RBP(3,3), RN(3,3), RBPN(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Nutation. CALL iau_NUT00B ( DATE1, DATE2, DPSI, DEPS ) * Remaining results. CALL iau_PN00 ( DATE1, DATE2, DPSI, DEPS, : EPSA, RB, RP, RBP, RN, RBPN ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PN00 ( DATE1, DATE2, DPSI, DEPS, : EPSA, RB, RP, RBP, RN, RBPN ) *+ * - - - - - - - - - * i a u _ P N 0 0 * - - - - - - - - - * * Precession-nutation, IAU 2000 model: a multi-purpose routine, * supporting classical (equinox-based) use directly and CIO-based * use indirectly. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * DPSI,DEPS d nutation (Note 2) * * Returned: * EPSA d mean obliquity (Note 3) * RB d(3,3) frame bias matrix (Note 4) * RP d(3,3) precession matrix (Note 5) * RBP d(3,3) bias-precession matrix (Note 6) * RN d(3,3) nutation matrix (Note 7) * RBPN d(3,3) GCRS-to-true matrix (Note 8) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The caller is responsible for providing the nutation components; * they are in longitude and obliquity, in radians and are with * respect to the equinox and ecliptic of date. For high-accuracy * applications, free core nutation should be included as well as * any other relevant corrections to the position of the CIP. * * 3) The returned mean obliquity is consistent with the IAU 2000 * precession-nutation models. * * 4) The matrix RB transforms vectors from GCRS to J2000.0 mean equator * and equinox by applying frame bias. * * 5) The matrix RP transforms vectors from J2000.0 mean equator and * equinox to mean equator and equinox of date by applying * precession. * * 6) The matrix RBP transforms vectors from GCRS to mean equator and * equinox of date by applying frame bias then precession. It is the * product RP x RB. * * 7) The matrix RN transforms vectors from mean equator and equinox of * date to true equator and equinox of date by applying the nutation * (luni-solar + planetary). * * 8) The matrix RBPN transforms vectors from GCRS to true equator and * equinox of date. It is the product RN x RBP, applying frame bias, * precession and nutation in that order. * * Called: * iau_PR00 IAU 2000 precession adjustments * iau_OBL80 mean obliquity, IAU 1980 * iau_BP00 frame bias and precession matrices, IAU 2000 * iau_NUMAT form nutation matrix * iau_RXR product of two r-matrices * * Reference: * * Capitaine, N., Chapront, J., Lambert, S. and Wallace, P., * "Expressions for the Celestial Intermediate Pole and Celestial * Ephemeris Origin consistent with the IAU 2000A precession-nutation * model", Astron.Astrophys. 400, 1145-1154 (2003) * * n.b. The celestial ephemeris origin (CEO) was renamed "celestial * intermediate origin" (CIO) by IAU 2006 Resolution 2. * * This revision: 2010 January 18 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, DPSI, DEPS, : EPSA, RB(3,3), RP(3,3), RBP(3,3), : RN(3,3), RBPN(3,3) DOUBLE PRECISION DPSIPR, DEPSPR DOUBLE PRECISION iau_OBL80 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * IAU 2000 precession-rate adjustments. CALL iau_PR00 ( DATE1, DATE2, DPSIPR, DEPSPR ) * Mean obliquity, consistent with IAU 2000 precession-nutation. EPSA = iau_OBL80 ( DATE1, DATE2 ) + DEPSPR * Frame bias and precession matrices and their product. CALL iau_BP00 ( DATE1, DATE2, RB, RP, RBP ) * Nutation matrix. CALL iau_NUMAT ( EPSA, DPSI, DEPS, RN ) * Bias-precession-nutation matrix (classical). CALL iau_RXR ( RN, RBP, RBPN ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PN06A ( DATE1, DATE2, : DPSI, DEPS, EPSA, RB, RP, RBP, RN, RBPN ) *+ * - - - - - - - - - - * i a u _ P N 0 6 A * - - - - - - - - - - * * Precession-nutation, IAU 2006/2000A models: a multi-purpose routine, * supporting classical (equinox-based) use directly and CIO-based use * indirectly. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * DPSI,DEPS d nutation (Note 2) * EPSA d mean obliquity (Note 3) * RB d(3,3) frame bias matrix (Note 4) * RP d(3,3) precession matrix (Note 5) * RBP d(3,3) bias-precession matrix (Note 6) * RN d(3,3) nutation matrix (Note 7) * RBPN d(3,3) GCRS-to-true matrix (Notes 8,9) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The nutation components (luni-solar + planetary, IAU 2000A) in * longitude and obliquity are in radians and with respect to the * equinox and ecliptic of date. Free core nutation is omitted; for * the utmost accuracy, use the iau_PN06 routine, where the nutation * components are caller-specified. * * 3) The mean obliquity is consistent with the IAU 2006 precession. * * 4) The matrix RB transforms vectors from GCRS to mean J2000.0 by * applying frame bias. * * 5) The matrix RP transforms vectors from mean J2000.0 to mean of date * by applying precession. * * 6) The matrix RBP transforms vectors from GCRS to mean of date by * applying frame bias then precession. It is the product RP x RB. * * 7) The matrix RN transforms vectors from mean of date to true of date * by applying the nutation (luni-solar + planetary). * * 8) The matrix RBPN transforms vectors from GCRS to true of date * (CIP/equinox). It is the product RN x RBP, applying frame bias, * precession and nutation in that order. * * 9) The X,Y,Z coordinates of the IAU 2006/2000A Celestial Intermediate * Pole are elements (3,1-3) of the matrix RBPN. * * Called: * iau_NUT06A nutation, IAU 2006/2000A * iau_PN06 bias/precession/nutation results, IAU 2006 * * Reference: * * Capitaine, N. & Wallace, P.T., 2006, Astron.Astrophys. 450, 855 * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, DPSI, DEPS, EPSA, : RB(3,3), RP(3,3), RBP(3,3), RN(3,3), RBPN(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Nutation. CALL iau_NUT06A ( DATE1, DATE2, DPSI, DEPS ) * Remaining results. CALL iau_PN06 ( DATE1, DATE2, DPSI, DEPS, : EPSA, RB, RP, RBP, RN, RBPN ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PN06 ( DATE1, DATE2, DPSI, DEPS, : EPSA, RB, RP, RBP, RN, RBPN ) *+ * - - - - - - - - - * i a u _ P N 0 6 * - - - - - - - - - * * Precession-nutation, IAU 2006 model: a multi-purpose routine, * supporting classical (equinox-based) use directly and CIO-based use * indirectly. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * DPSI,DEPS d nutation (Note 2) * * Returned: * EPSA d mean obliquity (Note 3) * RB d(3,3) frame bias matrix (Note 4) * RP d(3,3) precession matrix (Note 5) * RBP d(3,3) bias-precession matrix (Note 6) * RN d(3,3) nutation matrix (Note 7) * RBPN d(3,3) GCRS-to-true matrix (Note 8) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The caller is responsible for providing the nutation components; * they are in longitude and obliquity, in radians and are with * respect to the equinox and ecliptic of date. For high-accuracy * applications, free core nutation should be included as well as * any other relevant corrections to the position of the CIP. * * 3) The returned mean obliquity is consistent with the IAU 2006 * precession. * * 4) The matrix RB transforms vectors from GCRS to mean J2000.0 by * applying frame bias. * * 5) The matrix RP transforms vectors from mean J2000.0 to mean of date * by applying precession. * * 6) The matrix RBP transforms vectors from GCRS to mean of date by * applying frame bias then precession. It is the product RP x RB. * * 7) The matrix RN transforms vectors from mean of date to true of date * by applying the nutation (luni-solar + planetary). * * 8) The matrix RBPN transforms vectors from GCRS to true of date * (CIP/equinox). It is the product RN x RBP, applying frame bias, * precession and nutation in that order. * * 9) The X,Y,Z coordinates of the Celestial Intermediate Pole are * elements (3,1-3) of the matrix RBPN. * * Called: * iau_PFW06 bias-precession F-W angles, IAU 2006 * iau_FW2M F-W angles to r-matrix * iau_TR transpose r-matrix * iau_RXR product of two r-matrices * * References: * * Capitaine, N. & Wallace, P.T., 2006, Astron.Astrophys. 450, 855 * * Wallace, P.T. & Capitaine, N., 2006, Astron.Astrophys. 459, 981 * * This revision: 2013 November 14 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, DPSI, DEPS, : EPSA, RB(3,3), RP(3,3), RBP(3,3), : RN(3,3), RBPN(3,3) * JD for MJD 0 DOUBLE PRECISION DJM0 PARAMETER (DJM0 = 2400000.5D0 ) * Reference epoch (J2000.0), MJD DOUBLE PRECISION DJM00 PARAMETER ( DJM00 = 51544.5D0 ) DOUBLE PRECISION GAMB, PHIB, PSIB, EPS, RT(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Bias-precession Fukushima-Williams angles of J2000.0 = frame bias. CALL iau_PFW06 ( DJM0, DJM00, GAMB, PHIB, PSIB, EPS ) * B matrix. CALL iau_FW2M ( GAMB, PHIB, PSIB, EPS, RB ) * Bias-precession Fukushima-Williams angles of date. CALL iau_PFW06 ( DATE1, DATE2, GAMB, PHIB, PSIB, EPS ) * Bias-precession matrix. CALL iau_FW2M ( GAMB, PHIB, PSIB, EPS, RBP ) * Solve for precession matrix. CALL iau_TR ( RB, RT ) CALL iau_RXR ( RBP, RT, RP ) * Equinox-based bias-precession-nutation matrix. CALL iau_FW2M ( GAMB, PHIB, PSIB+DPSI, EPS+DEPS, RBPN ) * Solve for nutation matrix. CALL iau_TR ( RBP, RT ) CALL iau_RXR ( RBPN, RT, RN ) * Obliquity, mean of date. EPSA = EPS * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PN ( P, R, U ) *+ * - - - - - - - * i a u _ P N * - - - - - - - * * Convert a p-vector into modulus and unit vector. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * P d(3) p-vector * * Returned: * R d modulus * U d(3) unit vector * * Note: * If P is null, the result is null. Otherwise the result is * a unit vector. * * Called: * iau_PM modulus of p-vector * iau_ZP zero p-vector * iau_SXP multiply p-vector by scalar * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION P(3), R, U(3) DOUBLE PRECISION W * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Obtain the modulus and test for zero. CALL iau_PM ( P, W ) IF ( W .EQ. 0D0 ) THEN * Null vector. CALL iau_ZP ( U ) ELSE * Unit vector. CALL iau_SXP ( 1D0/W, P, U ) END IF * Return the modulus. R = W * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PNM00A ( DATE1, DATE2, RBPN ) *+ * - - - - - - - - - - - * i a u _ P N M 0 0 A * - - - - - - - - - - - * * Form the matrix of precession-nutation for a given date (including * frame bias), equinox-based, IAU 2000A model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * RBPN d(3,3) classical NPB matrix (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The matrix operates in the sense V(date) = RBPN * V(GCRS), where * the p-vector V(date) is with respect to the true equatorial triad * of date DATE1+DATE2 and the p-vector V(GCRS) is with respect to * the Geocentric Celestial Reference System (IAU, 2000). * * 3) A faster, but slightly less accurate result (about 1 mas), can be * obtained by using instead the iau_PNM00B routine. * * Called: * iau_PN00A bias/precession/nutation, IAU 2000A * * Reference: * * IAU: Trans. International Astronomical Union, Vol. XXIVB; Proc. * 24th General Assembly, Manchester, UK. Resolutions B1.3, B1.6. * (2000) * * This revision: 2009 December 21 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, RBPN(3,3) DOUBLE PRECISION DPSI, DEPS, EPSA, RB(3,3), RP(3,3), RBP(3,3), : RN(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Obtain the required matrix (discarding other results). CALL iau_PN00A ( DATE1, DATE2, : DPSI, DEPS, EPSA, RB, RP, RBP, RN, RBPN ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PNM00B ( DATE1, DATE2, RBPN ) *+ * - - - - - - - - - - - * i a u _ P N M 0 0 B * - - - - - - - - - - - * * Form the matrix of precession-nutation for a given date (including * frame bias), equinox-based, IAU 2000B model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * RBPN d(3,3) bias-precession-nutation matrix (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The matrix operates in the sense V(date) = RBPN * V(GCRS), where * the p-vector V(date) is with respect to the true equatorial triad * of date DATE1+DATE2 and the p-vector V(GCRS) is with respect to * the Geocentric Celestial Reference System (IAU, 2000). * * 3) The present routine is faster, but slightly less accurate (about * 1 mas), than the iau_PNM00A routine. * * Called: * iau_PN00B bias/precession/nutation, IAU 2000B * * Reference: * * IAU: Trans. International Astronomical Union, Vol. XXIVB; Proc. * 24th General Assembly, Manchester, UK. Resolutions B1.3, B1.6. * (2000) * * This revision: 2009 December 21 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, RBPN(3,3) DOUBLE PRECISION DPSI, DEPS, EPSA, : RB(3,3), RP(3,3), RBP(3,3), RN(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Obtain the required matrix (discarding other results). CALL iau_PN00B ( DATE1, DATE2, : DPSI, DEPS, EPSA, RB, RP, RBP, RN, RBPN ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PNM06A ( DATE1, DATE2, RNPB ) *+ * - - - - - - - - - - - * i a u _ P N M 0 6 A * - - - - - - - - - - - * * Form the matrix of precession-nutation for a given date (including * frame bias), IAU 2006 precession and IAU 2000A nutation models. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * RNPB d(3,3) bias-precession-nutation matrix (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The matrix operates in the sense V(date) = RNPB * V(GCRS), where * the p-vector V(date) is with respect to the true equatorial triad * of date DATE1+DATE2 and the p-vector V(GCRS) is with respect to * the Geocentric Celestial Reference System (IAU, 2000). * * Called: * iau_PFW06 bias-precession F-W angles, IAU 2006 * iau_NUT06A nutation, IAU 2006/2000A * iau_FW2M F-W angles to r-matrix * * Reference: * * Capitaine, N. & Wallace, P.T., 2006, Astron.Astrophys. 450, 855. * * This revision: 2009 December 21 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, RNPB(3,3) DOUBLE PRECISION GAMB, PHIB, PSIB, EPSA, DP, DE * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Fukushima-Williams angles for frame bias and precession. CALL iau_PFW06 ( DATE1, DATE2, GAMB, PHIB, PSIB, EPSA ) * Nutation components. CALL iau_NUT06A ( DATE1, DATE2, DP, DE ) * Equinox based nutation x precession x bias matrix. CALL iau_FW2M ( GAMB, PHIB, PSIB+DP, EPSA+DE, RNPB ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PNM80 ( DATE1, DATE2, RMATPN ) *+ * - - - - - - - - - - * i a u _ P N M 8 0 * - - - - - - - - - - * * Form the matrix of precession/nutation for a given date, IAU 1976 * precession model, IAU 1980 nutation model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TDB date (Note 1) * * Returned: * RMATPN d(3,3) combined precession/nutation matrix * * Notes: * * 1) The TDB date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TDB)=2450123.7 could be expressed in any of these ways, among * others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The matrix operates in the sense V(date) = RMATPN * V(J2000), * where the p-vector V(date) is with respect to the true * equatorial triad of date DATE1+DATE2 and the p-vector * V(J2000) is with respect to the mean equatorial triad of * epoch J2000.0. * * Called: * iau_PMAT76 precession matrix, IAU 1976 * iau_NUTM80 nutation matrix, IAU 1980 * iau_RXR product of two r-matrices * * Reference: * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992), * Section 3.3 (p145). * * This revision: 2012 September 5 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, RMATPN(3,3) DOUBLE PRECISION RMATP(3,3), RMATN(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Precession matrix, J2000.0 to date. CALL iau_PMAT76 ( DATE1, DATE2, RMATP ) * Nutation matrix. CALL iau_NUTM80 ( DATE1, DATE2, RMATN ) * Combine the matrices: PN = N x P. CALL iau_RXR ( RMATN, RMATP, RMATPN ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_POM00 ( XP, YP, SP, RPOM ) *+ * - - - - - - - - - - - * i a u _ P O M 0 0 * - - - - - - - - - - - * * Form the matrix of polar motion for a given date, IAU 2000. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * XP,YP d coordinates of the pole (radians, Note 1) * SP d the TIO locator s' (radians, Note 2) * * Returned: * RPOM d(3,3) polar-motion matrix (Note 3) * * Notes: * * 1) XP and YP are the coordinates (in radians) of the Celestial * Intermediate Pole with respect to the International Terrestrial * Reference System (see IERS Conventions 2003), measured along the * meridians to 0 and 90 deg west respectively. * * 2) SP is the TIO locator s', in radians, which positions the * Terrestrial Intermediate Origin on the equator. It is obtained * from polar motion observations by numerical integration, and so is * in essence unpredictable. However, it is dominated by a secular * drift of about 47 microarcseconds per century, and so can be taken * into account by using s' = -47*t, where t is centuries since * J2000.0. The routine iau_SP00 implements this approximation. * * 3) The matrix operates in the sense V(TRS) = RPOM * V(CIP), meaning * that it is the final rotation when computing the pointing * direction to a celestial source. * * Called: * iau_IR initialize r-matrix to identity * iau_RZ rotate around Z-axis * iau_RY rotate around Y-axis * iau_RX rotate around X-axis * * Reference: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION XP, YP, SP, RPOM(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Construct the matrix. CALL iau_IR ( RPOM ) CALL iau_RZ ( SP, RPOM ) CALL iau_RY ( -XP, RPOM ) CALL iau_RX ( -YP, RPOM ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PPP ( A, B, APB ) *+ * - - - - - - - - * i a u _ P P P * - - - - - - - - * * P-vector addition. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * A d(3) first p-vector * B d(3) second p-vector * * Returned: * APB d(3) A + B * * This revision: 2000 November 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION A(3), B(3), APB(3) INTEGER I * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DO 1 I=1,3 APB(I) = A(I) + B(I) 1 CONTINUE * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PPSP ( A, S, B, APSB ) *+ * - - - - - - - - - * i a u _ P P S P * - - - - - - - - - * * P-vector plus scaled p-vector. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * A d(3) first p-vector * S d scalar (multiplier for B) * B d(3) second p-vector * * Returned: * APSB d(3) A + S*B * * This revision: 2007 August 18 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION A(3), S, B(3), APSB(3) INTEGER I * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DO 1 I=1,3 APSB(I) = A(I) + S*B(I) 1 CONTINUE * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PR00 ( DATE1, DATE2, DPSIPR, DEPSPR ) *+ * - - - - - - - - - * i a u _ P R 0 0 * - - - - - - - - - * * Precession-rate part of the IAU 2000 precession-nutation models * (part of MHB2000). * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * DPSIPR,DEPSPR d precession corrections (Notes 2,3) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The precession adjustments are expressed as "nutation components", * corrections in longitude and obliquity with respect to the J2000.0 * equinox and ecliptic. * * 3) Although the precession adjustments are stated to be with respect * to Lieske et al. (1977), the MHB2000 model does not specify which * set of Euler angles are to be used and how the adjustments are to * be applied. The most literal and straightforward procedure is to * adopt the 4-rotation epsilon_0, psi_A, omega_A, xi_A option, and * to add DPSIPR to psi_A and DEPSPR to both omega_A and eps_A. * * 4) This is an implementation of one aspect of the IAU 2000A nutation * model, formally adopted by the IAU General Assembly in 2000, * namely MHB2000 (Mathews et al. 2002). * * References: * * Lieske, J.H., Lederle, T., Fricke, W. & Morando, B., "Expressions * for the precession quantities based upon the IAU (1976) System of * Astronomical Constants", Astron.Astrophys., 58, 1-16 (1977) * * Mathews, P.M., Herring, T.A., Buffet, B.A., "Modeling of nutation * and precession New nutation series for nonrigid Earth and * insights into the Earth's interior", J.Geophys.Res., 107, B4, * 2002. The MHB2000 code itself was obtained on 9th September 2002 * from ftp://maia.usno.navy.mil/conv2000/chapter5/IAU2000A. * * Wallace, P.T., "Software for Implementing the IAU 2000 * Resolutions", in IERS Workshop 5.1 (2002). * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, DPSIPR, DEPSPR * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian century DOUBLE PRECISION DJC PARAMETER ( DJC = 36525D0 ) DOUBLE PRECISION T * ------------------------------------ * Precession and obliquity corrections (radians per century) * ------------------------------------ DOUBLE PRECISION PRECOR, OBLCOR PARAMETER ( PRECOR = -0.29965D0 * DAS2R, : OBLCOR = -0.02524D0 * DAS2R ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Interval between fundamental epoch J2000.0 and given date (JC). T = ( ( DATE1-DJ00 ) + DATE2 ) / DJC * Precession rate contributions with respect to IAU 1976/80. DPSIPR = PRECOR * T DEPSPR = OBLCOR * T * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PREC76 ( DATE01, DATE02, DATE11, DATE12, : ZETA, Z, THETA ) *+ * - - - - - - - - - - - * i a u _ P R E C 7 6 * - - - - - - - - - - - * * IAU 1976 precession model. * * This routine forms the three Euler angles which implement general * precession between two dates, using the IAU 1976 model (as for * the FK5 catalog). * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * DATE01,DATE02 d TDB starting date (Note 1) * DATE11,DATE12 d TDB ending date (Note 1) * * Returned: * ZETA d 1st rotation: radians clockwise around z * Z d 3rd rotation: radians clockwise around z * THETA d 2nd rotation: radians counterclockwise around y * * Notes: * * 1) The dates DATE01+DATE02 and DATE11+DATE12 are Julian Dates, * apportioned in any convenient way between the arguments DATEn1 and * DATEn2. For example, JD(TDB)=2450123.7 could be expressed in any * of these ways, among others: * * DATEn1 DATEn2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in cases * where the loss of several decimal digits of resolution is * acceptable. The J2000 method is best matched to the way the * argument is handled internally and will deliver the optimum * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * The two dates may be expressed using different methods, but at * the risk of losing some resolution. * * 2) The accumulated precession angles zeta, z, theta are expressed * through canonical polynomials which are valid only for a limited * time span. In addition, the IAU 1976 precession rate is known to * be imperfect. The absolute accuracy of the present formulation is * better than 0.1 arcsec from 1960AD to 2040AD, better than 1 arcsec * from 1640AD to 2360AD, and remains below 3 arcsec for the whole of * the period 500BC to 3000AD. The errors exceed 10 arcsec outside * the range 1200BC to 3900AD, exceed 100 arcsec outside 4200BC to * 5600AD and exceed 1000 arcsec outside 6800BC to 8200AD. * * 3) The three angles are returned in the conventional order, which * is not the same as the order of the corresponding Euler rotations. * The precession matrix is R_3(-z) x R_2(+theta) x R_3(-zeta). * * Reference: * * Lieske, J.H., 1979, Astron.Astrophys. 73, 282. * equations (6) & (7), p283. * * This revision: 2013 November 19 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE01, DATE02, DATE11, DATE12, ZETA, Z, THETA * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian century DOUBLE PRECISION DJC PARAMETER ( DJC = 36525D0 ) DOUBLE PRECISION T0, T, TAS2R, W * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Interval between fundamental epoch J2000.0 and start date (JC). T0 = ( ( DATE01-DJ00 ) + DATE02 ) / DJC * Interval over which precession required (JC). T = ( ( DATE11-DATE01 ) + ( DATE12-DATE02 ) ) / DJC * Euler angles. TAS2R = T * DAS2R W = 2306.2181D0 + ( : 1.39656D0 : - 0.000139D0 * T0 ) * T0 ZETA = ( W + ( ( 0.30188D0 : - 0.000344D0 * T0 ) : + 0.017998D0 * T ) * T ) * TAS2R Z = ( W + ( ( 1.09468D0 : + 0.000066D0 * T0 ) : + 0.018203D0 * T ) * T ) * TAS2R THETA = ( ( 2004.3109D0 + ( : - 0.85330D0 : - 0.000217D0 * T0 ) * T0 ) + ( ( : - 0.42665D0 : - 0.000217D0 * T0 ) : - 0.041833D0 * T ) * T ) * TAS2R * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PV2P ( PV, P ) *+ * - - - - - - - - - * i a u _ P V 2 P * - - - - - - - - - * * Discard velocity component of a pv-vector. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * PV d(3,2) pv-vector * * Returned: * P d(3) p-vector * * Called: * iau_CP copy p-vector * * This revision: 2000 November 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION PV(3,2), P(3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CALL iau_CP ( PV, P ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PV2S ( PV, THETA, PHI, R, TD, PD, RD ) *+ * - - - - - - - - - * i a u _ P V 2 S * - - - - - - - - - * * Convert position/velocity from Cartesian to spherical coordinates. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * PV d(3,2) pv-vector * * Returned: * THETA d longitude angle (radians) * PHI d latitude angle (radians) * R d radial distance * TD d rate of change of THETA * PD d rate of change of PHI * RD d rate of change of R * * Notes: * * 1) If the position part of PV is null, THETA, PHI, TD and PD * are indeterminate. This is handled by extrapolating the * position through unit time by using the velocity part of * PV. This moves the origin without changing the direction * of the velocity component. If the position and velocity * components of PV are both null, zeroes are returned for all * six results. * * 2) If the position is a pole, THETA, TD and PD are indeterminate. * In such cases zeroes are returned for all three. * * This revision: 2008 May 10 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION PV(3,2), THETA, PHI, R, TD, PD, RD DOUBLE PRECISION X, Y, Z, XD, YD, ZD, RXY2, RXY, R2, : RTRUE, RW, XYP * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Components of position/velocity vector. X = PV(1,1) Y = PV(2,1) Z = PV(3,1) XD = PV(1,2) YD = PV(2,2) ZD = PV(3,2) * Component of R in XY plane squared. RXY2 = X*X + Y*Y * Modulus squared. R2 = RXY2 + Z*Z * Modulus. RTRUE = SQRT(R2) * If null vector, move the origin along the direction of movement. RW = RTRUE IF ( RTRUE .EQ. 0D0 ) THEN X = XD Y = YD Z = ZD RXY2 = X*X + Y*Y R2 = RXY2 + Z*Z RW = SQRT(R2) END IF * Position and velocity in spherical coordinates. RXY = SQRT(RXY2) XYP = X*XD + Y*YD IF ( RXY2 .NE. 0D0 ) THEN THETA = ATAN2(Y,X) PHI = ATAN2(Z,RXY) TD = ( X*YD - Y*XD ) / RXY2 PD = ( ZD*RXY2 - Z*XYP ) / ( R2*RXY ) ELSE THETA = 0D0 IF ( Z.NE.0D0 ) THEN PHI = ATAN2(Z,RXY) ELSE PHI = 0D0 END IF TD = 0D0 PD = 0D0 END IF R = RTRUE IF ( RW.NE.0D0 ) THEN RD = ( XYP + Z*ZD ) / RW ELSE RD = 0D0 END IF * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PVDPV ( A, B, ADB ) *+ * - - - - - - - - - - * i a u _ P V D P V * - - - - - - - - - - * * Inner (=scalar=dot) product of two pv-vectors. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * A d(3,2) first pv-vector * B d(3,2) second pv-vector * * Returned: * ADB d(2) A . B (see note) * * Note: * * If the position and velocity components of the two pv-vectors are * ( Ap, Av ) and ( Bp, Bv ), the result, A . B, is the pair of * numbers ( Ap . Bp , Ap . Bv + Av . Bp ). The two numbers are the * dot-product of the two p-vectors and its derivative. * * Called: * iau_PDP scalar product of two p-vectors * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION A(3,2), B(3,2), ADB(2) DOUBLE PRECISION ADBD, ADDB * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * A . B = constant part of result. CALL iau_PDP ( A(1,1), B(1,1), ADB(1) ) * A . Bdot CALL iau_PDP ( A(1,1), B(1,2), ADBD ) * Adot . B CALL iau_PDP ( A(1,2), B(1,1), ADDB ) * Velocity part of result. ADB(2) = ADBD + ADDB * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PVM ( PV, R, S ) *+ * - - - - - - - - * i a u _ P V M * - - - - - - - - * * Modulus of pv-vector. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * PV d(3,2) pv-vector * * Returned: * R d modulus of position component * S d modulus of velocity component * * Called: * iau_PM modulus of p-vector * * This revision: 2000 November 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION PV(3,2), R, S * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Distance. CALL iau_PM ( PV(1,1), R ) * Speed. CALL iau_PM ( PV(1,2), S ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PVMPV ( A, B, AMB ) *+ * - - - - - - - - - - * i a u _ P V M P V * - - - - - - - - - - * * Subtract one pv-vector from another. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * A d(3,2) first pv-vector * B d(3,2) second pv-vector * * Returned: * AMB d(3,2) A - B * * Called: * iau_PMP p-vector minus p-vector * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION A(3,2), B(3,2), AMB(3,2) INTEGER I * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DO 1 I=1,2 CALL iau_PMP ( A(1,I), B(1,I), AMB(1,I) ) 1 CONTINUE * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PVPPV ( A, B, APB ) *+ * - - - - - - - - - - * i a u _ P V P P V * - - - - - - - - - - * * Add one pv-vector to another. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * A d(3,2) first pv-vector * B d(3,2) second pv-vector * * Returned: * APB d(3,2) A + B * * Called: * iau_PPP p-vector plus p-vector * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION A(3,2), B(3,2), APB(3,2) INTEGER I * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DO 1 I=1,2 CALL iau_PPP ( A(1,I), B(1,I), APB(1,I) ) 1 CONTINUE * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PVSTAR ( PV, RA, DEC, PMR, PMD, PX, RV, J ) *+ * - - - - - - - - - - - * i a u _ P V S T A R * - - - - - - - - - - - * * Convert star position+velocity vector to catalog coordinates. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given (Note 1): * PV d(3,2) pv-vector (au, au/day) * * Returned (Note 2): * RA d right ascension (radians) * DEC d declination (radians) * PMR d RA proper motion (radians/year) * PMD d Dec proper motion (radians/year) * PX d parallax (arcsec) * RV d radial velocity (km/s, positive = receding) * J i status: * 0 = OK * -1 = superluminal speed (Note 5) * -2 = null position vector * * Notes: * * 1) The specified pv-vector is the coordinate direction (and its rate * of change) for the epoch at which the light leaving the star * reached the solar-system barycenter. * * 2) The star data returned by this routine are "observables" for an * imaginary observer at the solar-system barycenter. Proper motion * and radial velocity are, strictly, in terms of barycentric * coordinate time, TCB. For most practical applications, it is * permissible to neglect the distinction between TCB and ordinary * "proper" time on Earth (TT/TAI). The result will, as a rule, be * limited by the intrinsic accuracy of the proper-motion and radial- * velocity data; moreover, the supplied pv-vector is likely to be * merely an intermediate result (for example generated by the * routine iau_STARPV), so that a change of time unit will cancel * out overall. * * In accordance with normal star-catalog conventions, the object's * right ascension and declination are freed from the effects of * secular aberration. The frame, which is aligned to the catalog * equator and equinox, is Lorentzian and centered on the SSB. * * Summarizing, the specified pv-vector is for most stars almost * identical to the result of applying the standard geometrical * "space motion" transformation to the catalog data. The * differences, which are the subject of the Stumpff paper cited * below, are: * * (i) In stars with significant radial velocity and proper motion, * the constantly changing light-time distorts the apparent proper * motion. Note that this is a classical, not a relativistic, * effect. * * (ii) The transformation complies with special relativity. * * 3) Care is needed with units. The star coordinates are in radians * and the proper motions in radians per Julian year, but the * parallax is in arcseconds; the radial velocity is in km/s, but * the pv-vector result is in au and au/day. * * 4) The proper motions are the rate of change of the right ascension * and declination at the catalog epoch and are in radians per Julian * year. The RA proper motion is in terms of coordinate angle, not * true angle, and will thus be numerically larger at high * declinations. * * 5) Straight-line motion at constant speed in the inertial frame is * assumed. If the speed is greater than or equal to the speed of * light, the routine aborts with an error status. * * 6) The inverse transformation is performed by the routine iau_STARPV. * * Called: * iau_PN decompose p-vector into modulus and direction * iau_PDP scalar product of two p-vectors * iau_SXP multiply p-vector by scalar * iau_PMP p-vector minus p-vector * iau_PM modulus of p-vector * iau_PPP p-vector plus p-vector * iau_PV2S pv-vector to spherical * iau_ANP normalize angle into range 0 to 2pi * * Reference: * * Stumpff, P., Astron.Astrophys. 144, 232-240 (1985). * * This revision: 2017 March 16 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION PV(3,2), RA, DEC, PMR, PMD, PX, RV INTEGER J * Julian years to days DOUBLE PRECISION Y2D PARAMETER ( Y2D = 365.25D0 ) * Radians to arcseconds DOUBLE PRECISION DR2AS PARAMETER ( DR2AS = 206264.8062470963551564734D0 ) * Days to seconds DOUBLE PRECISION D2S PARAMETER ( D2S = 86400D0 ) * Speed of light (m/s) DOUBLE PRECISION CMPS PARAMETER ( CMPS = 299792458D0 ) * Astronomical unit (m, IAU 2012) DOUBLE PRECISION AUM PARAMETER ( AUM = 149597870.7D3 ) * Speed of light (au per day) DOUBLE PRECISION C PARAMETER ( C = D2S*CMPS/AUM ) DOUBLE PRECISION R, X(3), VR, UR(3), VT, UT(3), BETT, BETR, D, W, : DEL, USR(3), UST(3), A, RAD, DECD, RD DOUBLE PRECISION iau_ANP * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Isolate the radial component of the velocity (au/day, inertial). CALL iau_PN ( PV(1,1), R, X ) CALL iau_PDP ( X, PV(1,2), VR ) CALL iau_SXP ( VR, X, UR ) * Isolate the transverse component of the velocity (au/day, inertial). CALL iau_PMP ( PV(1,2), UR, UT ) CALL iau_PM ( UT, VT ) * Special-relativity dimensionless parameters. BETT = VT / C BETR = VR / C * The inertial-to-observed correction terms. D = 1D0 + BETR W = BETR*BETR + BETT*BETT IF ( D.EQ.0D0 .OR. W.GE.1D0 ) THEN J = -1 GO TO 9 END IF DEL = - W / ( SQRT(1D0-W) + 1D0 ) * Apply relativistic correction factor to radial velocity component. IF ( BETR.NE.0D0 ) THEN W = ( BETR-DEL ) / ( BETR*D ) ELSE W = 1D0 END IF CALL iau_SXP ( W, UR, USR ) * Apply relativistic correction factor to tangential velocity component. CALL iau_SXP ( 1D0/D, UT, UST ) * Combine the two to obtain the observed velocity vector (au/day). CALL iau_PPP ( USR, UST, PV(1,2) ) * Cartesian to spherical. CALL iau_PV2S ( PV, A, DEC, R, RAD, DECD, RD ) IF ( R .EQ. 0D0 ) THEN J = -2 GO TO 9 END IF * Return RA in range 0 to 2pi. RA = iau_ANP ( A ) * Return proper motions in radians per year. PMR = RAD * Y2D PMD = DECD * Y2D * Return parallax in arcsec. PX = DR2AS / R * Return radial velocity in km/s. RV = 1D-3 * RD * AUM / D2S * OK status. J = 0 * Exit. 9 CONTINUE * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PVTOB ( ELONG, PHI, HM, XP, YP, SP, THETA, PV ) *+ * - - - - - - - - - - * i a u _ P V T O B * - - - - - - - - - - * * Position and velocity of a terrestrial observing station. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * ELONG d longitude (radians, east +ve, Note 1) * PHI d latitude (geodetic, radians, Note 1) * HM d height above reference ellipsoid (geodetic, m) * XP,YP d coordinates of the pole (radians, Note 2) * SP d the TIO locator s' (radians, Note 2) * THETA d Earth rotation angle (radians, Note 3) * * Returned: * PV d(3,2) position/velocity vector (m, m/s, CIRS) * * Notes: * * 1) The terrestrial coordinates are with respect to the WGS84 * reference ellipsoid. * * 2) XP and YP are the coordinates (in radians) of the Celestial * Intermediate Pole with respect to the International Terrestrial * Reference System (see IERS Conventions 2003), measured along the * meridians 0 and 90 deg west respectively. SP is the TIO locator * s', in radians, which positions the Terrestrial Intermediate * Origin on the equator. For many applications, XP, YP and * (especially) SP can be set to zero. * * 3) If THETA is Greenwich apparent sidereal time instead of Earth * rotation angle, the result is with respect to the true equator * and equinox of date, i.e. with the x-axis at the equinox rather * than the celestial intermediate origin. * * 4) The velocity units are meters per UT1 second, not per SI second. * This is unlikely to have any practical consequences in the modern * era. * * 5) No validation is performed on the arguments. Error cases that * could lead to arithmetic exceptions are trapped by the iau_GD2GC * routine, and the result set to zeros. * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Urban, S. & Seidelmann, P. K. (eds), Explanatory Supplement to * the Astronomical Almanac, 3rd ed., University Science Books * (2013), Section 7.4.3.3. * * Called: * iau_GD2GC geodetic to geocentric transformation * iau_POM00 polar motion matrix * iau_TRXP product of transpose of r-matrix and p-vector * * This revision: 2013 June 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION ELONG, PHI, HM, XP, YP, SP, THETA, PV(3,2) * Days to seconds DOUBLE PRECISION D2S PARAMETER ( D2S = 86400D0 ) * 2Pi DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) * Earth rotation rate in radians per UT1 second DOUBLE PRECISION OM PARAMETER ( OM = 1.00273781191135448D0 * D2PI / D2S ) INTEGER J DOUBLE PRECISION XYZM(3), RPM(3,3), XYZ(3), X, Y, Z, S, C * Geodetic to geocentric transformation (WGS84). CALL iau_GD2GC ( 1, ELONG, PHI, HM, XYZM, J ) * Polar motion and TIO position. CALL iau_POM00 ( XP, YP, SP, RPM ) CALL iau_TRXP ( RPM, XYZM, XYZ ) X = XYZ(1) Y = XYZ(2) Z = XYZ(3) * routines of ERA. S = SIN(THETA) C = COS(THETA) * Position. PV(1,1) = C*X - S*Y PV(2,1) = S*X + C*Y PV(3,1) = Z * Velocity. PV(1,2) = OM * ( -S*X - C*Y ) PV(2,2) = OM * ( C*X - S*Y ) PV(3,2) = 0D0 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PVU ( DT, PV, UPV ) *+ * - - - - - - - - * i a u _ P V U * - - - - - - - - * * Update a pv-vector. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * DT d time interval * PV d(3,2) pv-vector * * Returned: * UPV d(3,2) p updated, v unchanged * * Notes: * * 1) "Update" means "refer the position component of the vector * to a new epoch DT time units from the existing epoch". * * 2) The time units of DT must match those of the velocity. * * Called: * iau_PPSP p-vector plus scaled p-vector * iau_CP copy p-vector * * This revision: 2003 January 14 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DT, PV(3,2), UPV(3,2) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CALL iau_PPSP ( PV(1,1), DT, PV(1,2), UPV(1,1) ) CALL iau_CP ( PV(1,2), UPV(1,2) ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PVUP ( DT, PV, P ) *+ * - - - - - - - - - * i a u _ P V U P * - - - - - - - - - * * Update a pv-vector, discarding the velocity component. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * DT d time interval * PV d(3,2) pv-vector * * Returned: * P d(3) p-vector * * Notes: * * 1) "Update" means "refer the position component of the vector to a * new date DT time units from the existing date". * * 2) The time units of DT must match those of the velocity. * * This revision: 2008 May 8 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DT, PV(3,2), P(3) INTEGER I * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DO 1 I=1,3 P(I) = PV(I,1) + PV(I,2)*DT 1 CONTINUE * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PVXPV ( A, B, AXB ) *+ * - - - - - - - - - - * i a u _ P V X P V * - - - - - - - - - - * * Outer (=vector=cross) product of two pv-vectors. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * A d(3,2) first pv-vector * B d(3,2) second pv-vector * * Returned: * AXB d(3,2) A x B * * Note: * * If the position and velocity components of the two pv-vectors are * ( Ap, Av ) and ( Bp, Bv ), the result, A x B, is the pair of * vectors ( Ap x Bp, Ap x Bv + Av x Bp ). The two vectors are the * cross-product of the two p-vectors and its derivative. * * Called: * iau_CPV copy pv-vector * iau_PXP vector product of two p-vectors * iau_PPP p-vector plus p-vector * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION A(3,2), B(3,2), AXB(3,2) DOUBLE PRECISION WA(3,2), WB(3,2), AXBD(3), ADXB(3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Make copies of the inputs. CALL iau_CPV ( A, WA ) CALL iau_CPV ( B, WB ) * A x B = position part of result. CALL iau_PXP ( WA(1,1), WB(1,1), AXB(1,1) ) * A x Bdot + Adot x B = velocity part of result. CALL iau_PXP ( WA(1,1), WB(1,2), AXBD ) CALL iau_PXP ( WA(1,2), WB(1,1), ADXB ) CALL iau_PPP ( AXBD, ADXB, AXB(1,2) ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_PXP ( A, B, AXB ) *+ * - - - - - - - - * i a u _ P X P * - - - - - - - - * * p-vector outer (=vector=cross) product. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * A d(3) first p-vector * B d(3) second p-vector * * Returned: * AXB d(3) A x B * * This revision: 2000 November 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION A(3), B(3), AXB(3) DOUBLE PRECISION XA, YA, ZA, XB, YB, ZB * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - XA = A(1) YA = A(2) ZA = A(3) XB = B(1) YB = B(2) ZB = B(3) AXB(1) = YA*ZB - ZA*YB AXB(2) = ZA*XB - XA*ZB AXB(3) = XA*YB - YA*XB * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_REFCO ( PHPA, TC, RH, WL, REFA, REFB ) *+ * - - - - - - - - - - * i a u _ R E F C O * - - - - - - - - - - * * Determine the constants A and B in the atmospheric refraction model * dZ = A tan Z + B tan^3 Z. * * Z is the "observed" zenith distance (i.e. affected by refraction) * and dZ is what to add to Z to give the "topocentric" (i.e. in vacuo) * zenith distance. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * PHPA d pressure at the observer (hPa = millibar) * TC d ambient temperature at the observer (deg C) * RH d relative humidity at the observer (range 0-1) * WL d wavelength (micrometers) * * Returned: * REFA d tan Z coefficient (radians) * REFB d tan^3 Z coefficient (radians) * * Notes: * * 1) The model balances speed and accuracy to give good results in * applications where performance at low altitudes is not paramount. * Performance is maintained across a range of conditions, and * applies to both optical/IR and radio. * * 2) The model omits the effects of (i) height above sea level (apart * from the reduced pressure itself), (ii) latitude (i.e. the * flattening of the Earth), (iii) variations in tropospheric lapse * rate and (iv) dispersive effects in the radio. * * The model was tested using the following range of conditions: * * lapse rates 0.0055, 0.0065, 0.0075 deg/meter * latitudes 0, 25, 50, 75 degrees * heights 0, 2500, 5000 meters ASL * pressures mean for height -10% to +5% in steps of 5% * temperatures -10 deg to +20 deg with respect to 280 deg at SL * relative humidity 0, 0.5, 1 * wavelengths 0.4, 0.6, ... 2 micron, + radio * zenith distances 15, 45, 75 degrees * * The accuracy with respect to raytracing through a model * atmosphere was as follows: * * worst RMS * * optical/IR 62 mas 8 mas * radio 319 mas 49 mas * * For this particular set of conditions: * * lapse rate 0.0065 K/meter * latitude 50 degrees * sea level * pressure 1005 mb * temperature 280.15 K * humidity 80% * wavelength 5740 Angstroms * * the results were as follows: * * ZD raytrace iau_REFCO Saastamoinen * * 10 10.27 10.27 10.27 * 20 21.19 21.20 21.19 * 30 33.61 33.61 33.60 * 40 48.82 48.83 48.81 * 45 58.16 58.18 58.16 * 50 69.28 69.30 69.27 * 55 82.97 82.99 82.95 * 60 100.51 100.54 100.50 * 65 124.23 124.26 124.20 * 70 158.63 158.68 158.61 * 72 177.32 177.37 177.31 * 74 200.35 200.38 200.32 * 76 229.45 229.43 229.42 * 78 267.44 267.29 267.41 * 80 319.13 318.55 319.10 * * deg arcsec arcsec arcsec * * The values for Saastamoinen's formula (which includes terms * up to tan^5) are taken from Hohenkerk and Sinclair (1985). * * 3) A WL value in the range 0-100 selects the optical/IR case and is * wavelength in micrometers. Any value outside this range selects * the radio case. * * 4) Outlandish input parameters are silently limited to mathematically * safe values. Zero pressure is permissible, and causes zeroes to * be returned. * * 5) The algorithm draws on several sources, as follows: * * a) The formula for the saturation vapour pressure of water as * a function of temperature and temperature is taken from * Equations (A4.5-A4.7) of Gill (1982). * * b) The formula for the water vapour pressure, given the * saturation pressure and the relative humidity, is from * Crane (1976), Equation (2.5.5). * * c) The refractivity of air is a function of temperature, * total pressure, water-vapour pressure and, in the case * of optical/IR, wavelength. The formulae for the two cases are * developed from Hohenkerk & Sinclair (1985) and Rueger (2002). * * d) The formula for beta, the ratio of the scale height of the * atmosphere to the geocentric distance of the observer, is * an adaption of Equation (9) from Stone (1996). The * adaptations, arrived at empirically, consist of (i) a small * adjustment to the coefficient and (ii) a humidity term for the * radio case only. * * e) The formulae for the refraction constants as a function of * n-1 and beta are from Green (1987), Equation (4.31). * * References: * * Crane, R.K., Meeks, M.L. (ed), "Refraction Effects in the Neutral * Atmosphere", Methods of Experimental Physics: Astrophysics 12B, * Academic Press, 1976. * * Gill, Adrian E., "Atmosphere-Ocean Dynamics", Academic Press, * 1982. * * Green, R.M., "Spherical Astronomy", Cambridge University Press, * 1987. * * Hohenkerk, C.Y., & Sinclair, A.T., NAO Technical Note No. 63, * 1985. * * Rueger, J.M., "Refractive Index Formulae for Electronic Distance * Measurement with Radio and Millimetre Waves", in Unisurv Report * S-68, School of Surveying and Spatial Information Systems, * University of New South Wales, Sydney, Australia, 2002. * * Stone, Ronald C., P.A.S.P. 108, 1051-1058, 1996. * * This revision: 2016 December 20 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION PHPA, TC, RH, WL, REFA, REFB LOGICAL OPTIC DOUBLE PRECISION P, T, R, W, PS, PW, TK, WLSQ, GAMMA, BETA * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Decide whether optical/IR or radio case: switch at 100 microns. OPTIC = WL.LE.100D0 * Restrict parameters to safe values. T = MIN(MAX(TC,-150D0),200D0) P = MIN(MAX(PHPA,0D0),10000D0) R = MIN(MAX(RH,0D0),1D0) W = MIN(MAX(WL,0.1D0),1D6) * Water vapour pressure at the observer. IF (P.GT.0D0) THEN PS = 10D0**((0.7859D0+0.03477D0*T)/(1D0+0.00412D0*T))* : (1D0+P*(4.5D-6+6D-10*T*T)) PW = R*PS/(1D0-(1D0-R)*PS/P) ELSE PW = 0D0 END IF * Refractive index minus 1 at the observer. TK = T + 273.15D0 IF (OPTIC) THEN WLSQ = W*W GAMMA = ((77.53484D-6+(4.39108D-7+3.666D-9/WLSQ)/WLSQ)*P : -11.2684D-6*PW)/TK ELSE GAMMA = (77.6890D-6*P-(6.3938D-6-0.375463D0/TK)*PW)/TK END IF * Formula for beta adapted from Stone, with empirical adjustments. BETA=4.4474D-6*TK IF (.NOT.OPTIC) BETA=BETA-0.0074D0*PW*BETA * Refraction constants from Green. REFA = GAMMA*(1D0-BETA) REFB = -GAMMA*(BETA-GAMMA/2D0) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_RM2V ( R, W ) *+ * - - - - - - - - - * i a u _ R M 2 V * - - - - - - - - - * * Express an r-matrix as an r-vector. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * R d(3,3) rotation matrix * * Returned: * W d(3) rotation vector (Note 1) * * Notes: * * 1) A rotation matrix describes a rotation through some angle about * some arbitrary axis called the Euler axis. The "rotation vector" * returned by this routine has the same direction as the Euler axis, * and its magnitude is the angle in radians. (The magnitude and * direction can be separated by means of the routine iau_PN.) * * 2) If R is null, so is the result. If R is not a rotation matrix * the result is undefined. R must be proper (i.e. have a positive * determinant) and real orthogonal (inverse = transpose). * * 3) The reference frame rotates clockwise as seen looking along * the rotation vector from the origin. * * This revision: 2015 January 30 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION R(3,3), W(3) DOUBLE PRECISION X, Y, Z, S2, C2, PHI, F * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X = R(2,3) - R(3,2) Y = R(3,1) - R(1,3) Z = R(1,2) - R(2,1) S2 = SQRT(X*X + Y*Y + Z*Z) IF ( S2 .GT. 0D0 ) THEN C2 = R(1,1) + R(2,2) + R(3,3) - 1D0 PHI = ATAN2(S2,C2) F = PHI / S2 W(1) = X * F W(2) = Y * F W(3) = Z * F ELSE W(1) = 0D0 W(2) = 0D0 W(3) = 0D0 END IF * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_RV2M ( W, R ) *+ * - - - - - - - - - * i a u _ R V 2 M * - - - - - - - - - * * Form the r-matrix corresponding to a given r-vector. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * W d(3) rotation vector (Note 1) * * Returned: * R d(3,3) rotation matrix * * Notes: * * 1) A rotation matrix describes a rotation through some angle about * some arbitrary axis called the Euler axis. The "rotation vector" * supplied to this routine has the same direction as the Euler axis, * and its magnitude is the angle in radians. * * 2) If W is null, the unit matrix is returned. * * 3) The reference frame rotates clockwise as seen looking along the * rotation vector from the origin. * * This revision: 2015 January 30 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION W(3), R(3,3) DOUBLE PRECISION X, Y, Z, PHI, S, C, F * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Euler angle (magnitude of rotation vector) and functions. X = W(1) Y = W(2) Z = W(3) PHI = SQRT(X*X + Y*Y + Z*Z) S = SIN(PHI) C = COS(PHI) F = 1D0 - C * Euler axis (direction of rotation vector), perhaps null. IF ( PHI .GT. 0D0 ) THEN X = X / PHI Y = Y / PHI Z = Z / PHI END IF * Form the rotation matrix. R(1,1) = X*X*F + C R(1,2) = X*Y*F + Z*S R(1,3) = X*Z*F - Y*S R(2,1) = Y*X*F - Z*S R(2,2) = Y*Y*F + C R(2,3) = Y*Z*F + X*S R(3,1) = Z*X*F + Y*S R(3,2) = Z*Y*F - X*S R(3,3) = Z*Z*F + C * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_RX ( PHI, R ) *+ * - - - - - - - * i a u _ R X * - - - - - - - * * Rotate an r-matrix about the x-axis. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * PHI d angle (radians) * * Given and returned: * R d(3,3) r-matrix, rotated * * Notes: * * 1) Calling this routine with positive PHI incorporates in the * supplied r-matrix R an additional rotation, about the x-axis, * anticlockwise as seen looking towards the origin from positive x. * * 2) The additional rotation can be represented by this matrix: * * ( 1 0 0 ) * ( ) * ( 0 + cos(PHI) + sin(PHI) ) * ( ) * ( 0 - sin(PHI) + cos(PHI) ) * * This revision: 2012 April 3 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION PHI, R(3,3) DOUBLE PRECISION S, C, A21, A22, A23, A31, A32, A33 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - S = SIN(PHI) C = COS(PHI) A21 = C*R(2,1) + S*R(3,1) A22 = C*R(2,2) + S*R(3,2) A23 = C*R(2,3) + S*R(3,3) A31 = - S*R(2,1) + C*R(3,1) A32 = - S*R(2,2) + C*R(3,2) A33 = - S*R(2,3) + C*R(3,3) R(2,1) = A21 R(2,2) = A22 R(2,3) = A23 R(3,1) = A31 R(3,2) = A32 R(3,3) = A33 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_RXP ( R, P, RP ) *+ * - - - - - - - - * i a u _ R X P * - - - - - - - - * * Multiply a p-vector by an r-matrix. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * R d(3,3) r-matrix * P d(3) p-vector * * Returned: * RP d(3) R * P * * Called: * iau_CP copy p-vector * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION R(3,3), P(3), RP(3) DOUBLE PRECISION W, WRP(3) INTEGER I, J * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Matrix R * vector P. DO 2 J=1,3 W = 0D0 DO 1 I=1,3 W = W + R(J,I)*P(I) 1 CONTINUE WRP(J) = W 2 CONTINUE * Return the result. CALL iau_CP ( WRP, RP ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_RXPV ( R, PV, RPV ) *+ * - - - - - - - - - * i a u _ R X P V * - - - - - - - - - * * Multiply a pv-vector by an r-matrix. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * R d(3,3) r-matrix * PV d(3,2) pv-vector * * Returned: * RPV d(3,2) R * PV * * Called: * iau_RXP product of r-matrix and p-vector * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION R(3,3), PV(3,2), RPV(3,2) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CALL iau_RXP ( R, PV(1,1), RPV(1,1) ) CALL iau_RXP ( R, PV(1,2), RPV(1,2) ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_RXR ( A, B, ATB ) *+ * - - - - - - - - * i a u _ R X R * - - - - - - - - * * Multiply two r-matrices. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * A d(3,3) first r-matrix * B d(3,3) second r-matrix * * Returned: * ATB d(3,3) A * B * * Called: * iau_CR copy r-matrix * * This revision: 2000 November 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION A(3,3), B(3,3), ATB(3,3) INTEGER I, J, K DOUBLE PRECISION W, WM(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DO 3 I=1,3 DO 2 J=1,3 W = 0D0 DO 1 K=1,3 W = W + A(I,K)*B(K,J) 1 CONTINUE WM(I,J) = W 2 CONTINUE 3 CONTINUE CALL iau_CR ( WM, ATB ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_RY ( THETA, R ) *+ * - - - - - - - * i a u _ R Y * - - - - - - - * * Rotate an r-matrix about the y-axis. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * THETA d angle (radians) * * Given and returned: * R d(3,3) r-matrix, rotated * * Notes: * * 1) Calling this routine with positive THETA incorporates in the * supplied r-matrix R an additional rotation, about the y-axis, * anticlockwise as seen looking towards the origin from positive y. * * 2) The additional rotation can be represented by this matrix: * * ( + cos(THETA) 0 - sin(THETA) ) * ( ) * ( 0 1 0 ) * ( ) * ( + sin(THETA) 0 + cos(THETA) ) * * This revision: 2012 April 3 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION THETA, R(3,3) DOUBLE PRECISION S, C, A11, A12, A13, A31, A32, A33 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - S = SIN(THETA) C = COS(THETA) A11 = C*R(1,1) - S*R(3,1) A12 = C*R(1,2) - S*R(3,2) A13 = C*R(1,3) - S*R(3,3) A31 = S*R(1,1) + C*R(3,1) A32 = S*R(1,2) + C*R(3,2) A33 = S*R(1,3) + C*R(3,3) R(1,1) = A11 R(1,2) = A12 R(1,3) = A13 R(3,1) = A31 R(3,2) = A32 R(3,3) = A33 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_RZ ( PSI, R ) *+ * - - - - - - - * i a u _ R Z * - - - - - - - * * Rotate an r-matrix about the z-axis. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * PSI d angle (radians) * * Given and returned: * R d(3,3) r-matrix, rotated * * Notes: * * 1) Calling this routine with positive PSI incorporates in the * supplied r-matrix R an additional rotation, about the z-axis, * anticlockwise as seen looking towards the origin from positive z. * * 2) The additional rotation can be represented by this matrix: * * ( + cos(PSI) + sin(PSI) 0 ) * ( ) * ( - sin(PSI) + cos(PSI) 0 ) * ( ) * ( 0 0 1 ) * * This revision: 2012 April 3 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION PSI, R(3,3) DOUBLE PRECISION S, C, A11, A12, A13, A21, A22, A23 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - S = SIN(PSI) C = COS(PSI) A11 = C*R(1,1) + S*R(2,1) A12 = C*R(1,2) + S*R(2,2) A13 = C*R(1,3) + S*R(2,3) A21 = - S*R(1,1) + C*R(2,1) A22 = - S*R(1,2) + C*R(2,2) A23 = - S*R(1,3) + C*R(2,3) R(1,1) = A11 R(1,2) = A12 R(1,3) = A13 R(2,1) = A21 R(2,2) = A22 R(2,3) = A23 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_S00A ( DATE1, DATE2 ) *+ * - - - - - - - - - * i a u _ S 0 0 A * - - - - - - - - - * * The CIO locator s, positioning the Celestial Intermediate Origin on * the equator of the Celestial Intermediate Pole, using the IAU 2000A * precession-nutation model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * iau_S00A d the CIO locator s in radians (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The CIO locator s is the difference between the right ascensions * of the same point in two systems. The two systems are the GCRS * and the CIP,CIO, and the point is the ascending node of the * CIP equator. The CIO locator s remains a small fraction of * 1 arcsecond throughout 1900-2100. * * 3) The series used to compute s is in fact for s+XY/2, where X and Y * are the x and y components of the CIP unit vector; this series is * more compact than a direct series for s would be. The present * routine uses the full IAU 2000A nutation model when predicting the * CIP position. Faster results, with no significant loss of * accuracy, can be obtained via the routine iau_S00B, which uses * instead the IAU 2000B truncated model. * * Called: * iau_PNM00A classical NPB matrix, IAU 2000A * iau_BNP2XY extract CIP X,Y from the BPN matrix * iau_S00 the CIO locator s, given X,Y, IAU 2000A * * References: * * Capitaine, N., Chapront, J., Lambert, S. and Wallace, P., * "Expressions for the Celestial Intermediate Pole and Celestial * Ephemeris Origin consistent with the IAU 2000A precession-nutation * model", Astron.Astrophys. 400, 1145-1154 (2003) * * n.b. The celestial ephemeris origin (CEO) was renamed "celestial * intermediate origin" (CIO) by IAU 2006 Resolution 2. * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2010 January 18 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2 DOUBLE PRECISION RBPN(3,3), X, Y DOUBLE PRECISION iau_S00 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Bias-precession-nutation-matrix, IAU 2000A. CALL iau_PNM00A ( DATE1, DATE2, RBPN ) * Extract the CIP coordinates. CALL iau_BPN2XY ( RBPN, X, Y ) * Compute the CIO locator s, given the CIP coordinates. iau_S00A = iau_S00 ( DATE1, DATE2, X, Y ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_S00B ( DATE1, DATE2 ) *+ * - - - - - - - - - * i a u _ S 0 0 B * - - - - - - - - - * * The CIO locator s, positioning the Celestial Intermediate Origin on * the equator of the Celestial Intermediate Pole, using the IAU 2000B * precession-nutation model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * iau_S00B d the CIO locator s in radians (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The CIO locator s is the difference between the right ascensions * of the same point in two systems. The two systems are the GCRS * and the CIP,CIO, and the point is the ascending node of the * CIP equator. The CIO locator s remains a small fraction of * 1 arcsecond throughout 1900-2100. * * 3) The series used to compute s is in fact for s+XY/2, where X and Y * are the x and y components of the CIP unit vector; this series is * more compact than a direct series for s would be. The present * routine uses the IAU 2000B truncated nutation model when * predicting the CIP position. The routine iau_S00A uses instead * the full IAU 2000A model, but with no significant increase in * accuracy and at some cost in speed. * * Called: * iau_PNM00B classical NPB matrix, IAU 2000B * iau_BNP2XY extract CIP X,Y from the BPN matrix * iau_S00 the CIO locator s, given X,Y, IAU 2000A * * References: * * Capitaine, N., Chapront, J., Lambert, S. and Wallace, P., * "Expressions for the Celestial Intermediate Pole and Celestial * Ephemeris Origin consistent with the IAU 2000A precession-nutation * model", Astron.Astrophys. 400, 1145-1154 (2003) * * n.b. The celestial ephemeris origin (CEO) was renamed "celestial * intermediate origin" (CIO) by IAU 2006 Resolution 2. * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2010 January 18 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2 DOUBLE PRECISION RBPN(3,3), X, Y DOUBLE PRECISION iau_S00 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Bias-precession-nutation-matrix, IAU 2000B. CALL iau_PNM00B ( DATE1, DATE2, RBPN ) * Extract the CIP coordinates. CALL iau_BPN2XY ( RBPN, X, Y ) * Compute the CIO locator s, given the CIP coordinates. iau_S00B = iau_S00 ( DATE1, DATE2, X, Y ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_S00 ( DATE1, DATE2, X, Y ) *+ * - - - - - - - - * i a u _ S 0 0 * - - - - - - - - * * The CIO locator s, positioning the Celestial Intermediate Origin on * the equator of the Celestial Intermediate Pole, given the CIP's X,Y * coordinates. Compatible with IAU 2000A precession-nutation. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * X,Y d CIP coordinates (Note 3) * * Returned: * iau_S00 d the CIO locator s in radians (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The CIO locator s is the difference between the right ascensions * of the same point in two systems: the two systems are the GCRS * and the CIP,CIO, and the point is the ascending node of the * CIP equator. The quantity s remains below 0.1 arcsecond * throughout 1900-2100. * * 3) The series used to compute s is in fact for s+XY/2, where X and Y * are the x and y components of the CIP unit vector; this series is * more compact than a direct series for s would be. This routine * requires X,Y to be supplied by the caller, who is responsible for * providing values that are consistent with the supplied date. * * 4) The model is consistent with the IAU 2000A precession-nutation. * * Called: * iau_FAL03 mean anomaly of the Moon * iau_FALP03 mean anomaly of the Sun * iau_FAF03 mean argument of the latitude of the Moon * iau_FAD03 mean elongation of the Moon from the Sun * iau_FAOM03 mean longitude of the Moon's ascending node * iau_FAVE03 mean longitude of Venus * iau_FAE03 mean longitude of Earth * iau_FAPA03 general accumulated precession in longitude * * References: * * Capitaine, N., Chapront, J., Lambert, S. and Wallace, P., * "Expressions for the Celestial Intermediate Pole and Celestial * Ephemeris Origin consistent with the IAU 2000A precession-nutation * model", Astron.Astrophys. 400, 1145-1154 (2003) * * n.b. The celestial ephemeris origin (CEO) was renamed "celestial * intermediate origin" (CIO) by IAU 2006 Resolution 2. * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2010 January 18 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, X, Y * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian century DOUBLE PRECISION DJC PARAMETER ( DJC = 36525D0 ) * Time since J2000.0, in Julian centuries DOUBLE PRECISION T * Miscellaneous INTEGER I, J DOUBLE PRECISION A, S0, S1, S2, S3, S4, S5 DOUBLE PRECISION iau_FAL03, iau_FALP03, iau_FAF03, : iau_FAD03, iau_FAOM03, iau_FAVE03, iau_FAE03, : iau_FAPA03 * Fundamental arguments DOUBLE PRECISION FA(8) * --------------------- * The series for s+XY/2 * --------------------- * Number of terms in the series INTEGER NSP, NS0, NS1, NS2, NS3, NS4 PARAMETER ( NSP=6, NS0=33, NS1=3, NS2=25, NS3=4, NS4=1 ) * Polynomial coefficients DOUBLE PRECISION SP ( NSP ) * Coefficients of l,l',F,D,Om,LVe,LE,pA INTEGER KS0 ( 8, NS0 ), : KS1 ( 8, NS1 ), : KS2 ( 8, NS2 ), : KS3 ( 8, NS3 ), : KS4 ( 8, NS4 ) * Sine and cosine coefficients DOUBLE PRECISION SS0 ( 2, NS0 ), : SS1 ( 2, NS1 ), : SS2 ( 2, NS2 ), : SS3 ( 2, NS3 ), : SS4 ( 2, NS4 ) * Polynomial coefficients DATA SP / 94 D-6, : 3808.35 D-6, : -119.94 D-6, : -72574.09 D-6, : 27.70 D-6, : 15.61 D-6 / * Argument coefficients for t^0 DATA ( ( KS0(I,J), I=1,8), J=1,10 ) / : 0, 0, 0, 0, 1, 0, 0, 0, : 0, 0, 0, 0, 2, 0, 0, 0, : 0, 0, 2, -2, 3, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, 0, : 0, 0, 2, -2, 2, 0, 0, 0, : 0, 0, 2, 0, 3, 0, 0, 0, : 0, 0, 2, 0, 1, 0, 0, 0, : 0, 0, 0, 0, 3, 0, 0, 0, : 0, 1, 0, 0, 1, 0, 0, 0, : 0, 1, 0, 0, -1, 0, 0, 0 / DATA ( ( KS0(I,J), I=1,8), J=11,20 ) / : 1, 0, 0, 0, -1, 0, 0, 0, : 1, 0, 0, 0, 1, 0, 0, 0, : 0, 1, 2, -2, 3, 0, 0, 0, : 0, 1, 2, -2, 1, 0, 0, 0, : 0, 0, 4, -4, 4, 0, 0, 0, : 0, 0, 1, -1, 1, -8, 12, 0, : 0, 0, 2, 0, 0, 0, 0, 0, : 0, 0, 2, 0, 2, 0, 0, 0, : 1, 0, 2, 0, 3, 0, 0, 0, : 1, 0, 2, 0, 1, 0, 0, 0 / DATA ( ( KS0(I,J), I=1,8), J=21,30 ) / : 0, 0, 2, -2, 0, 0, 0, 0, : 0, 1, -2, 2, -3, 0, 0, 0, : 0, 1, -2, 2, -1, 0, 0, 0, : 0, 0, 0, 0, 0, 8,-13, -1, : 0, 0, 0, 2, 0, 0, 0, 0, : 2, 0, -2, 0, -1, 0, 0, 0, : 0, 1, 2, -2, 2, 0, 0, 0, : 1, 0, 0, -2, 1, 0, 0, 0, : 1, 0, 0, -2, -1, 0, 0, 0, : 0, 0, 4, -2, 4, 0, 0, 0 / DATA ( ( KS0(I,J), I=1,8), J=31,NS0 ) / : 0, 0, 2, -2, 4, 0, 0, 0, : 1, 0, -2, 0, -3, 0, 0, 0, : 1, 0, -2, 0, -1, 0, 0, 0 / * Argument coefficients for t^1 DATA ( ( KS1(I,J), I=1,8), J=1,NS1 ) / : 0, 0, 0, 0, 2, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 0, : 0, 0, 2, -2, 3, 0, 0, 0 / * Argument coefficients for t^2 DATA ( ( KS2(I,J), I=1,8), J=1,10 ) / : 0, 0, 0, 0, 1, 0, 0, 0, : 0, 0, 2, -2, 2, 0, 0, 0, : 0, 0, 2, 0, 2, 0, 0, 0, : 0, 0, 0, 0, 2, 0, 0, 0, : 0, 1, 0, 0, 0, 0, 0, 0, : 1, 0, 0, 0, 0, 0, 0, 0, : 0, 1, 2, -2, 2, 0, 0, 0, : 0, 0, 2, 0, 1, 0, 0, 0, : 1, 0, 2, 0, 2, 0, 0, 0, : 0, 1, -2, 2, -2, 0, 0, 0 / DATA ( ( KS2(I,J), I=1,8), J=11,20 ) / : 1, 0, 0, -2, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, 0, : 1, 0, -2, 0, -2, 0, 0, 0, : 0, 0, 0, 2, 0, 0, 0, 0, : 1, 0, 0, 0, 1, 0, 0, 0, : 1, 0, -2, -2, -2, 0, 0, 0, : 1, 0, 0, 0, -1, 0, 0, 0, : 1, 0, 2, 0, 1, 0, 0, 0, : 2, 0, 0, -2, 0, 0, 0, 0, : 2, 0, -2, 0, -1, 0, 0, 0 / DATA ( ( KS2(I,J), I=1,8), J=21,NS2 ) / : 0, 0, 2, 2, 2, 0, 0, 0, : 2, 0, 2, 0, 2, 0, 0, 0, : 2, 0, 0, 0, 0, 0, 0, 0, : 1, 0, 2, -2, 2, 0, 0, 0, : 0, 0, 2, 0, 0, 0, 0, 0 / * Argument coefficients for t^3 DATA ( ( KS3(I,J), I=1,8), J=1,NS3 ) / : 0, 0, 0, 0, 1, 0, 0, 0, : 0, 0, 2, -2, 2, 0, 0, 0, : 0, 0, 2, 0, 2, 0, 0, 0, : 0, 0, 0, 0, 2, 0, 0, 0 / * Argument coefficients for t^4 DATA ( ( KS4(I,J), I=1,8), J=1,NS4 ) / : 0, 0, 0, 0, 1, 0, 0, 0 / * Sine and cosine coefficients for t^0 DATA ( ( SS0(I,J), I=1,2), J=1,10 ) / : -2640.73D-6, +0.39D-6, : -63.53D-6, +0.02D-6, : -11.75D-6, -0.01D-6, : -11.21D-6, -0.01D-6, : +4.57D-6, 0.00D-6, : -2.02D-6, 0.00D-6, : -1.98D-6, 0.00D-6, : +1.72D-6, 0.00D-6, : +1.41D-6, +0.01D-6, : +1.26D-6, +0.01D-6 / DATA ( ( SS0(I,J), I=1,2), J=11,20 ) / : +0.63D-6, 0.00D-6, : +0.63D-6, 0.00D-6, : -0.46D-6, 0.00D-6, : -0.45D-6, 0.00D-6, : -0.36D-6, 0.00D-6, : +0.24D-6, +0.12D-6, : -0.32D-6, 0.00D-6, : -0.28D-6, 0.00D-6, : -0.27D-6, 0.00D-6, : -0.26D-6, 0.00D-6 / DATA ( ( SS0(I,J), I=1,2), J=21,30 ) / : +0.21D-6, 0.00D-6, : -0.19D-6, 0.00D-6, : -0.18D-6, 0.00D-6, : +0.10D-6, -0.05D-6, : -0.15D-6, 0.00D-6, : +0.14D-6, 0.00D-6, : +0.14D-6, 0.00D-6, : -0.14D-6, 0.00D-6, : -0.14D-6, 0.00D-6, : -0.13D-6, 0.00D-6 / DATA ( ( SS0(I,J), I=1,2), J=31,NS0 ) / : +0.11D-6, 0.00D-6, : -0.11D-6, 0.00D-6, : -0.11D-6, 0.00D-6 / * Sine and cosine coefficients for t^1 DATA ( ( SS1(I,J), I=1,2), J=1,NS1 ) / : -0.07D-6, +3.57D-6, : +1.71D-6, -0.03D-6, : 0.00D-6, +0.48D-6 / * Sine and cosine coefficients for t^2 DATA ( ( SS2(I,J), I=1,2), J=1,10 ) / : +743.53D-6, -0.17D-6, : +56.91D-6, +0.06D-6, : +9.84D-6, -0.01D-6, : -8.85D-6, +0.01D-6, : -6.38D-6, -0.05D-6, : -3.07D-6, 0.00D-6, : +2.23D-6, 0.00D-6, : +1.67D-6, 0.00D-6, : +1.30D-6, 0.00D-6, : +0.93D-6, 0.00D-6 / DATA ( ( SS2(I,J), I=1,2), J=11,20 ) / : +0.68D-6, 0.00D-6, : -0.55D-6, 0.00D-6, : +0.53D-6, 0.00D-6, : -0.27D-6, 0.00D-6, : -0.27D-6, 0.00D-6, : -0.26D-6, 0.00D-6, : -0.25D-6, 0.00D-6, : +0.22D-6, 0.00D-6, : -0.21D-6, 0.00D-6, : +0.20D-6, 0.00D-6 / DATA ( ( SS2(I,J), I=1,2), J=21,NS2 ) / : +0.17D-6, 0.00D-6, : +0.13D-6, 0.00D-6, : -0.13D-6, 0.00D-6, : -0.12D-6, 0.00D-6, : -0.11D-6, 0.00D-6 / * Sine and cosine coefficients for t^3 DATA ( ( SS3(I,J), I=1,2), J=1,NS3 ) / : +0.30D-6, -23.51D-6, : -0.03D-6, -1.39D-6, : -0.01D-6, -0.24D-6, : 0.00D-6, +0.22D-6 / * Sine and cosine coefficients for t^4 DATA ( ( SS4(I,J), I=1,2), J=1,NS4 ) / : -0.26D-6, -0.01D-6 / * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Interval between fundamental epoch J2000.0 and current date (JC). T = ( ( DATE1-DJ00 ) + DATE2 ) / DJC * Fundamental Arguments (from IERS Conventions 2003) * Mean anomaly of the Moon. FA(1) = iau_FAL03 ( T ) * Mean anomaly of the Sun. FA(2) = iau_FALP03 ( T ) * Mean longitude of the Moon minus that of the ascending node. FA(3) = iau_FAF03 ( T ) * Mean elongation of the Moon from the Sun. FA(4) = iau_FAD03 ( T ) * Mean longitude of the ascending node of the Moon. FA(5) = iau_FAOM03 ( T ) * Mean longitude of Venus. FA(6) = iau_FAVE03 ( T ) * Mean longitude of Earth. FA(7) = iau_FAE03 ( T ) * General precession in longitude. FA(8) = iau_FAPA03 ( T ) * Evaluate s. S0 = SP(1) S1 = SP(2) S2 = SP(3) S3 = SP(4) S4 = SP(5) S5 = SP(6) DO 2 I = NS0,1,-1 A = 0D0 DO 1 J=1,8 A = A + DBLE(KS0(J,I))*FA(J) 1 CONTINUE S0 = S0 + ( SS0(1,I)*SIN(A) + SS0(2,I)*COS(A) ) 2 CONTINUE DO 4 I = NS1,1,-1 A = 0D0 DO 3 J=1,8 A = A + DBLE(KS1(J,I))*FA(J) 3 CONTINUE S1 = S1 + ( SS1(1,I)*SIN(A) + SS1(2,I)*COS(A) ) 4 CONTINUE DO 6 I = NS2,1,-1 A = 0D0 DO 5 J=1,8 A = A + DBLE(KS2(J,I))*FA(J) 5 CONTINUE S2 = S2 + ( SS2(1,I)*SIN(A) + SS2(2,I)*COS(A) ) 6 CONTINUE DO 8 I = NS3,1,-1 A = 0D0 DO 7 J=1,8 A = A + DBLE(KS3(J,I))*FA(J) 7 CONTINUE S3 = S3 + ( SS3(1,I)*SIN(A) + SS3(2,I)*COS(A) ) 8 CONTINUE DO 10 I = NS4,1,-1 A = 0D0 DO 9 J=1,8 A = A + DBLE(KS4(J,I))*FA(J) 9 CONTINUE S4 = S4 + ( SS4(1,I)*SIN(A) + SS4(2,I)*COS(A) ) 10 CONTINUE iau_S00 = ( S0 + : ( S1 + : ( S2 + : ( S3 + : ( S4 + : S5 * T ) * T ) * T ) * T ) * T ) * DAS2R - X*Y/2D0 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_S06A ( DATE1, DATE2 ) *+ * - - - - - - - - - * i a u _ S 0 6 A * - - - - - - - - - * * The CIO locator s, positioning the Celestial Intermediate Origin on * the equator of the Celestial Intermediate Pole, using the IAU 2006 * precession and IAU 2000A nutation models. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * iau_S06A d the CIO locator s in radians (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The CIO locator s is the difference between the right ascensions * of the same point in two systems. The two systems are the GCRS * and the CIP,CIO, and the point is the ascending node of the * CIP equator. The CIO locator s remains a small fraction of * 1 arcsecond throughout 1900-2100. * * 3) The series used to compute s is in fact for s+XY/2, where X and Y * are the x and y components of the CIP unit vector; this series is * more compact than a direct series for s would be. The present * routine uses the full IAU 2000A nutation model when predicting the * CIP position. * * Called: * iau_PNM06A classical NPB matrix, IAU 2006/2000A * iau_BPN2XY extract CIP X,Y coordinates from NPB matrix * iau_S06 the CIO locator s, given X,Y, IAU 2006 * * References: * * Capitaine, N., Chapront, J., Lambert, S. and Wallace, P., * "Expressions for the Celestial Intermediate Pole and Celestial * Ephemeris Origin consistent with the IAU 2000A precession-nutation * model", Astron.Astrophys. 400, 1145-1154 (2003) * * n.b. The celestial ephemeris origin (CEO) was renamed "celestial * intermediate origin" (CIO) by IAU 2006 Resolution 2. * * Capitaine, N. & Wallace, P.T., 2006, Astron.Astrophys. 450, 855 * * McCarthy, D. D., Petit, G. (eds.), 2004, IERS Conventions (2003), * IERS Technical Note No. 32, BKG * * Wallace, P.T. & Capitaine, N., 2006, Astron.Astrophys. 459, 981 * * This revision: 2010 January 18 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2 DOUBLE PRECISION RNPB(3,3), X, Y DOUBLE PRECISION iau_S06 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Bias-precession-nutation-matrix, IAU 20006/2000A. CALL iau_PNM06A ( DATE1, DATE2, RNPB ) * Extract the CIP coordinates. CALL iau_BPN2XY ( RNPB, X, Y ) * Compute the CIO locator s, given the CIP coordinates. iau_S06A = iau_S06 ( DATE1, DATE2, X, Y ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_S06 ( DATE1, DATE2, X, Y ) *+ * - - - - - - - - * i a u _ S 0 6 * - - - - - - - - * * The CIO locator s, positioning the Celestial Intermediate Origin on * the equator of the Celestial Intermediate Pole, given the CIP's X,Y * coordinates. Compatible with IAU 2006/2000A precession-nutation. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * X,Y d CIP coordinates (Note 3) * * Returned: * iau_S06 d the CIO locator s in radians (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The CIO locator s is the difference between the right ascensions * of the same point in two systems: the two systems are the GCRS * and the CIP,CIO, and the point is the ascending node of the * CIP equator. The quantity s remains below 0.1 arcsecond * throughout 1900-2100. * * 3) The series used to compute s is in fact for s+XY/2, where X and Y * are the x and y components of the CIP unit vector; this series is * more compact than a direct series for s would be. This routine * requires X,Y to be supplied by the caller, who is responsible for * providing values that are consistent with the supplied date. * * 4) The model is consistent with the "P03" precession (Capitaine et * al. 2003), adopted by IAU 2006 Resolution 1, 2006, and the * IAU 2000A nutation (with P03 adjustments). * * Called: * iau_FAL03 mean anomaly of the Moon * iau_FALP03 mean anomaly of the Sun * iau_FAF03 mean argument of the latitude of the Moon * iau_FAD03 mean elongation of the Moon from the Sun * iau_FAOM03 mean longitude of the Moon's ascending node * iau_FAVE03 mean longitude of Venus * iau_FAE03 mean longitude of Earth * iau_FAPA03 general accumulated precession in longitude * * References: * * Capitaine, N., Wallace, P.T. & Chapront, J., 2003, Astron. * Astrophys. 432, 355 * * McCarthy, D.D., Petit, G. (eds.) 2004, IERS Conventions (2003), * IERS Technical Note No. 32, BKG * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, X, Y * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian century DOUBLE PRECISION DJC PARAMETER ( DJC = 36525D0 ) * Time since J2000.0, in Julian centuries DOUBLE PRECISION T * Miscellaneous INTEGER I, J DOUBLE PRECISION A, S0, S1, S2, S3, S4, S5 DOUBLE PRECISION iau_FAL03, iau_FALP03, iau_FAF03, : iau_FAD03, iau_FAOM03, iau_FAVE03, iau_FAE03, : iau_FAPA03 * Fundamental arguments DOUBLE PRECISION FA(8) * --------------------- * The series for s+XY/2 * --------------------- * Number of terms in the series INTEGER NSP, NS0, NS1, NS2, NS3, NS4 PARAMETER ( NSP=6, NS0=33, NS1=3, NS2=25, NS3=4, NS4=1 ) * Polynomial coefficients DOUBLE PRECISION SP ( NSP ) * Coefficients of l,l',F,D,Om,LVe,LE,pA INTEGER KS0 ( 8, NS0 ), : KS1 ( 8, NS1 ), : KS2 ( 8, NS2 ), : KS3 ( 8, NS3 ), : KS4 ( 8, NS4 ) * Sine and cosine coefficients DOUBLE PRECISION SS0 ( 2, NS0 ), : SS1 ( 2, NS1 ), : SS2 ( 2, NS2 ), : SS3 ( 2, NS3 ), : SS4 ( 2, NS4 ) * Polynomial coefficients DATA SP / 94 D-6, : 3808.65 D-6, : -122.68 D-6, : -72574.11 D-6, : 27.98 D-6, : 15.62 D-6 / * Argument coefficients for t^0 DATA ( ( KS0(I,J), I=1,8), J=1,10 ) / : 0, 0, 0, 0, 1, 0, 0, 0, : 0, 0, 0, 0, 2, 0, 0, 0, : 0, 0, 2, -2, 3, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, 0, : 0, 0, 2, -2, 2, 0, 0, 0, : 0, 0, 2, 0, 3, 0, 0, 0, : 0, 0, 2, 0, 1, 0, 0, 0, : 0, 0, 0, 0, 3, 0, 0, 0, : 0, 1, 0, 0, 1, 0, 0, 0, : 0, 1, 0, 0, -1, 0, 0, 0 / DATA ( ( KS0(I,J), I=1,8), J=11,20 ) / : 1, 0, 0, 0, -1, 0, 0, 0, : 1, 0, 0, 0, 1, 0, 0, 0, : 0, 1, 2, -2, 3, 0, 0, 0, : 0, 1, 2, -2, 1, 0, 0, 0, : 0, 0, 4, -4, 4, 0, 0, 0, : 0, 0, 1, -1, 1, -8, 12, 0, : 0, 0, 2, 0, 0, 0, 0, 0, : 0, 0, 2, 0, 2, 0, 0, 0, : 1, 0, 2, 0, 3, 0, 0, 0, : 1, 0, 2, 0, 1, 0, 0, 0 / DATA ( ( KS0(I,J), I=1,8), J=21,30 ) / : 0, 0, 2, -2, 0, 0, 0, 0, : 0, 1, -2, 2, -3, 0, 0, 0, : 0, 1, -2, 2, -1, 0, 0, 0, : 0, 0, 0, 0, 0, 8,-13, -1, : 0, 0, 0, 2, 0, 0, 0, 0, : 2, 0, -2, 0, -1, 0, 0, 0, : 0, 1, 2, -2, 2, 0, 0, 0, : 1, 0, 0, -2, 1, 0, 0, 0, : 1, 0, 0, -2, -1, 0, 0, 0, : 0, 0, 4, -2, 4, 0, 0, 0 / DATA ( ( KS0(I,J), I=1,8), J=31,NS0 ) / : 0, 0, 2, -2, 4, 0, 0, 0, : 1, 0, -2, 0, -3, 0, 0, 0, : 1, 0, -2, 0, -1, 0, 0, 0 / * Argument coefficients for t^1 DATA ( ( KS1(I,J), I=1,8), J=1,NS1 ) / : 0, 0, 0, 0, 2, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 0, : 0, 0, 2, -2, 3, 0, 0, 0 / * Argument coefficients for t^2 DATA ( ( KS2(I,J), I=1,8), J=1,10 ) / : 0, 0, 0, 0, 1, 0, 0, 0, : 0, 0, 2, -2, 2, 0, 0, 0, : 0, 0, 2, 0, 2, 0, 0, 0, : 0, 0, 0, 0, 2, 0, 0, 0, : 0, 1, 0, 0, 0, 0, 0, 0, : 1, 0, 0, 0, 0, 0, 0, 0, : 0, 1, 2, -2, 2, 0, 0, 0, : 0, 0, 2, 0, 1, 0, 0, 0, : 1, 0, 2, 0, 2, 0, 0, 0, : 0, 1, -2, 2, -2, 0, 0, 0 / DATA ( ( KS2(I,J), I=1,8), J=11,20 ) / : 1, 0, 0, -2, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, 0, : 1, 0, -2, 0, -2, 0, 0, 0, : 0, 0, 0, 2, 0, 0, 0, 0, : 1, 0, 0, 0, 1, 0, 0, 0, : 1, 0, -2, -2, -2, 0, 0, 0, : 1, 0, 0, 0, -1, 0, 0, 0, : 1, 0, 2, 0, 1, 0, 0, 0, : 2, 0, 0, -2, 0, 0, 0, 0, : 2, 0, -2, 0, -1, 0, 0, 0 / DATA ( ( KS2(I,J), I=1,8), J=21,NS2 ) / : 0, 0, 2, 2, 2, 0, 0, 0, : 2, 0, 2, 0, 2, 0, 0, 0, : 2, 0, 0, 0, 0, 0, 0, 0, : 1, 0, 2, -2, 2, 0, 0, 0, : 0, 0, 2, 0, 0, 0, 0, 0 / * Argument coefficients for t^3 DATA ( ( KS3(I,J), I=1,8), J=1,NS3 ) / : 0, 0, 0, 0, 1, 0, 0, 0, : 0, 0, 2, -2, 2, 0, 0, 0, : 0, 0, 2, 0, 2, 0, 0, 0, : 0, 0, 0, 0, 2, 0, 0, 0 / * Argument coefficients for t^4 DATA ( ( KS4(I,J), I=1,8), J=1,NS4 ) / : 0, 0, 0, 0, 1, 0, 0, 0 / * Sine and cosine coefficients for t^0 DATA ( ( SS0(I,J), I=1,2), J=1,10 ) / : -2640.73D-6, +0.39D-6, : -63.53D-6, +0.02D-6, : -11.75D-6, -0.01D-6, : -11.21D-6, -0.01D-6, : +4.57D-6, 0.00D-6, : -2.02D-6, 0.00D-6, : -1.98D-6, 0.00D-6, : +1.72D-6, 0.00D-6, : +1.41D-6, +0.01D-6, : +1.26D-6, +0.01D-6 / DATA ( ( SS0(I,J), I=1,2), J=11,20 ) / : +0.63D-6, 0.00D-6, : +0.63D-6, 0.00D-6, : -0.46D-6, 0.00D-6, : -0.45D-6, 0.00D-6, : -0.36D-6, 0.00D-6, : +0.24D-6, +0.12D-6, : -0.32D-6, 0.00D-6, : -0.28D-6, 0.00D-6, : -0.27D-6, 0.00D-6, : -0.26D-6, 0.00D-6 / DATA ( ( SS0(I,J), I=1,2), J=21,30 ) / : +0.21D-6, 0.00D-6, : -0.19D-6, 0.00D-6, : -0.18D-6, 0.00D-6, : +0.10D-6, -0.05D-6, : -0.15D-6, 0.00D-6, : +0.14D-6, 0.00D-6, : +0.14D-6, 0.00D-6, : -0.14D-6, 0.00D-6, : -0.14D-6, 0.00D-6, : -0.13D-6, 0.00D-6 / DATA ( ( SS0(I,J), I=1,2), J=31,NS0 ) / : +0.11D-6, 0.00D-6, : -0.11D-6, 0.00D-6, : -0.11D-6, 0.00D-6 / * Sine and cosine coefficients for t^1 DATA ( ( SS1(I,J), I=1,2), J=1,NS1 ) / : -0.07D-6, +3.57D-6, : +1.73D-6, -0.03D-6, : 0.00D-6, +0.48D-6 / * Sine and cosine coefficients for t^2 DATA ( ( SS2(I,J), I=1,2), J=1,10 ) / : +743.52D-6, -0.17D-6, : +56.91D-6, +0.06D-6, : +9.84D-6, -0.01D-6, : -8.85D-6, +0.01D-6, : -6.38D-6, -0.05D-6, : -3.07D-6, 0.00D-6, : +2.23D-6, 0.00D-6, : +1.67D-6, 0.00D-6, : +1.30D-6, 0.00D-6, : +0.93D-6, 0.00D-6 / DATA ( ( SS2(I,J), I=1,2), J=11,20 ) / : +0.68D-6, 0.00D-6, : -0.55D-6, 0.00D-6, : +0.53D-6, 0.00D-6, : -0.27D-6, 0.00D-6, : -0.27D-6, 0.00D-6, : -0.26D-6, 0.00D-6, : -0.25D-6, 0.00D-6, : +0.22D-6, 0.00D-6, : -0.21D-6, 0.00D-6, : +0.20D-6, 0.00D-6 / DATA ( ( SS2(I,J), I=1,2), J=21,NS2 ) / : +0.17D-6, 0.00D-6, : +0.13D-6, 0.00D-6, : -0.13D-6, 0.00D-6, : -0.12D-6, 0.00D-6, : -0.11D-6, 0.00D-6 / * Sine and cosine coefficients for t^3 DATA ( ( SS3(I,J), I=1,2), J=1,NS3 ) / : +0.30D-6, -23.42D-6, : -0.03D-6, -1.46D-6, : -0.01D-6, -0.25D-6, : 0.00D-6, +0.23D-6 / * Sine and cosine coefficients for t^4 DATA ( ( SS4(I,J), I=1,2), J=1,NS4 ) / : -0.26D-6, -0.01D-6 / * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Interval between fundamental epoch J2000.0 and current date (JC). T = ( ( DATE1-DJ00 ) + DATE2 ) / DJC * Fundamental Arguments (from IERS Conventions 2003) * Mean anomaly of the Moon. FA(1) = iau_FAL03 ( T ) * Mean anomaly of the Sun. FA(2) = iau_FALP03 ( T ) * Mean longitude of the Moon minus that of the ascending node. FA(3) = iau_FAF03 ( T ) * Mean elongation of the Moon from the Sun. FA(4) = iau_FAD03 ( T ) * Mean longitude of the ascending node of the Moon. FA(5) = iau_FAOM03 ( T ) * Mean longitude of Venus. FA(6) = iau_FAVE03 ( T ) * Mean longitude of Earth. FA(7) = iau_FAE03 ( T ) * General precession in longitude. FA(8) = iau_FAPA03 ( T ) * Evaluate s. S0 = SP(1) S1 = SP(2) S2 = SP(3) S3 = SP(4) S4 = SP(5) S5 = SP(6) DO 2 I = NS0,1,-1 A = 0D0 DO 1 J=1,8 A = A + DBLE(KS0(J,I))*FA(J) 1 CONTINUE S0 = S0 + ( SS0(1,I)*SIN(A) + SS0(2,I)*COS(A) ) 2 CONTINUE DO 4 I = NS1,1,-1 A = 0D0 DO 3 J=1,8 A = A + DBLE(KS1(J,I))*FA(J) 3 CONTINUE S1 = S1 + ( SS1(1,I)*SIN(A) + SS1(2,I)*COS(A) ) 4 CONTINUE DO 6 I = NS2,1,-1 A = 0D0 DO 5 J=1,8 A = A + DBLE(KS2(J,I))*FA(J) 5 CONTINUE S2 = S2 + ( SS2(1,I)*SIN(A) + SS2(2,I)*COS(A) ) 6 CONTINUE DO 8 I = NS3,1,-1 A = 0D0 DO 7 J=1,8 A = A + DBLE(KS3(J,I))*FA(J) 7 CONTINUE S3 = S3 + ( SS3(1,I)*SIN(A) + SS3(2,I)*COS(A) ) 8 CONTINUE DO 10 I = NS4,1,-1 A = 0D0 DO 9 J=1,8 A = A + DBLE(KS4(J,I))*FA(J) 9 CONTINUE S4 = S4 + ( SS4(1,I)*SIN(A) + SS4(2,I)*COS(A) ) 10 CONTINUE iau_S06 = ( S0 + : ( S1 + : ( S2 + : ( S3 + : ( S4 + : S5 * T ) * T ) * T ) * T ) * T ) * DAS2R - X*Y/2D0 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_S2C ( THETA, PHI, C ) *+ * - - - - - - - - * i a u _ S 2 C * - - - - - - - - * * Convert spherical coordinates to Cartesian. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * THETA d longitude angle (radians) * PHI d latitude angle (radians) * * Returned: * C d(3) direction cosines * * This revision: 2000 November 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION THETA, PHI, C(3) DOUBLE PRECISION CP * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CP = COS(PHI) C(1) = COS(THETA) * CP C(2) = SIN(THETA) * CP C(3) = SIN(PHI) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_S2P ( THETA, PHI, R, P ) *+ * - - - - - - - - * i a u _ S 2 P * - - - - - - - - * * Convert spherical polar coordinates to p-vector. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * THETA d longitude angle (radians) * PHI d latitude angle (radians) * R d radial distance * * Returned: * P d(3) Cartesian coordinates * * Called: * iau_S2C spherical coordinates to unit vector * iau_SXP multiply p-vector by scalar * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION THETA, PHI, R, P(3) DOUBLE PRECISION U(3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CALL iau_S2C ( THETA, PHI, U ) CALL iau_SXP ( R, U, P ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_S2PV ( THETA, PHI, R, TD, PD, RD, PV ) *+ * - - - - - - - - - * i a u _ S 2 P V * - - - - - - - - - * * Convert position/velocity from spherical to Cartesian coordinates. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * THETA d longitude angle (radians) * PHI d latitude angle (radians) * R d radial distance * TD d rate of change of THETA * PD d rate of change of PHI * RD d rate of change of R * * Returned: * PV d(3,2) pv-vector * * This revision: 2000 November 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION THETA, PHI, R, TD, PD, RD, PV(3,2) DOUBLE PRECISION ST, CT, SP, CP, RCP, X, Y, RPD, W * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ST = SIN(THETA) CT = COS(THETA) SP = SIN(PHI) CP = COS(PHI) RCP = R*CP X = RCP*CT Y = RCP*ST RPD = R*PD W = RPD*SP - CP*RD PV(1,1) = X PV(2,1) = Y PV(3,1) = R*SP PV(1,2) = - Y*TD - W*CT PV(2,2) = X*TD - W*ST PV(3,2) = RPD*CP + SP*RD * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_S2XPV ( S1, S2, PV, SPV ) *+ * - - - - - - - - - - * i a u _ S 2 X P V * - - - - - - - - - - * * Multiply a pv-vector by two scalars. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * S1 d scalar to multiply position component by * S2 d scalar to multiply velocity component by * PV d(3,2) pv-vector * * Returned: * SPV d(3,2) pv-vector: p scaled by S1, v scaled by S2 * * Called: * iau_SXP multiply p-vector by scalar * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION S1, S2, PV(3,2), SPV(3,2) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CALL iau_SXP ( S1, PV(1,1), SPV(1,1) ) CALL iau_SXP ( S2, PV(1,2), SPV(1,2) ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_SEPP ( A, B, S ) *+ * - - - - - - - - - * i a u _ S E P P * - - - - - - - - - * * Angular separation between two p-vectors. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * A d(3) first p-vector (not necessarily unit length) * B d(3) second p-vector (not necessarily unit length) * * Returned: * S d angular separation (radians, always positive) * * Notes: * * 1) If either vector is null, a zero result is returned. * * 2) The angular separation is most simply formulated in terms of * scalar product. However, this gives poor accuracy for angles * near zero and pi. The present algorithm uses both cross product * and dot product, to deliver full accuracy whatever the size of * the angle. * * Called: * iau_PXP vector product of two p-vectors * iau_PM modulus of p-vector * iau_PDP scalar product of two p-vectors * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION A(3), B(3), S DOUBLE PRECISION AXB(3), SS, CS * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Sine of the angle between the vectors, multiplied by the two moduli. CALL iau_PXP ( A, B, AXB ) CALL iau_PM ( AXB, SS ) * Cosine of the angle, multiplied by the two moduli. CALL iau_PDP ( A, B, CS ) * The angle. IF ( SS.NE.0D0 .OR. CS.NE.0D0 ) THEN S = ATAN2(SS,CS) ELSE S = 0D0 END IF * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_SEPS ( AL, AP, BL, BP, S ) *+ * - - - - - - - - - * i a u _ S E P S * - - - - - - - - - * * Angular separation between two sets of spherical coordinates. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * AL d first longitude (radians) * AP d first latitude (radians) * BL d second longitude (radians) * BP d second latitude (radians) * * Returned: * S d angular separation (radians) * * Called: * iau_S2C spherical coordinates to unit vector * iau_SEPP angular separation between two p-vectors * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION AL, AP, BL, BP, S DOUBLE PRECISION AC(3), BC(3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Spherical to Cartesian. CALL iau_S2C ( AL, AP, AC ) CALL iau_S2C ( BL, BP, BC ) * Angle between the vectors. CALL iau_SEPP ( AC, BC, S ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END DOUBLE PRECISION FUNCTION iau_SP00 ( DATE1, DATE2 ) *+ * - - - - - - - - - * i a u _ S P 0 0 * - - - - - - - - - * * The TIO locator s', positioning the Terrestrial Intermediate Origin * on the equator of the Celestial Intermediate Pole. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * iau_SP00 d the TIO locator s' in radians (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The TIO locator s' is obtained from polar motion observations by * numerical integration, and so is in essence unpredictable. * However, it is dominated by a secular drift of about * 47 microarcseconds per century, which is the approximation * evaluated by the present routine. * * Reference: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2009 December 15 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2 * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian century DOUBLE PRECISION DJC PARAMETER ( DJC = 36525D0 ) * Time since J2000.0, in Julian centuries DOUBLE PRECISION T * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Interval between fundamental epoch J2000.0 and current date (JC). T = ( ( DATE1-DJ00 ) + DATE2 ) / DJC * Approximate s'. iau_SP00 = -47D-6 * T * DAS2R * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_STARPM ( RA1, DEC1, PMR1, PMD1, PX1, RV1, : EP1A, EP1B, EP2A, EP2B, : RA2, DEC2, PMR2, PMD2, PX2, RV2, J ) *+ * - - - - - - - - - - - * i a u _ S T A R P M * - - - - - - - - - - - * * Star proper motion: update star catalog data for space motion. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * RA1 d right ascension (radians), before * DEC1 d declination (radians), before * PMR1 d RA proper motion (radians/year), before * PMD1 d Dec proper motion (radians/year), before * PX1 d parallax (arcseconds), before * RV1 d radial velocity (km/s, +ve = receding), before * EP1A d "before" epoch, part A (Note 1) * EP1B d "before" epoch, part B (Note 1) * EP2A d "after" epoch, part A (Note 1) * EP2B d "after" epoch, part B (Note 1) * * Returned: * RA2 d right ascension (radians), after * DEC2 d declination (radians), after * PMR2 d RA proper motion (radians/year), after * PMD2 d Dec proper motion (radians/year), after * PX2 d parallax (arcseconds), after * RV2 d radial velocity (km/s, +ve = receding), after * J i 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 * * Notes: * * 1) The starting and ending TDB epochs EP1A+EP1B and EP2A+EP2B are * Julian Dates, apportioned in any convenient way between the two * parts (A and B). For example, JD(TDB)=2450123.7 could be * expressed in any of these ways, among others: * * EPnA EPnB * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) In accordance with normal star-catalog conventions, the object's * right ascension and declination are freed from the effects of * secular aberration. The frame, which is aligned to the catalog * equator and equinox, is Lorentzian and centered on the SSB. * * The proper motions are the rate of change of the right ascension * and declination at the catalog epoch and are in radians per TDB * Julian year. * * The parallax and radial velocity are in the same frame. * * 3) Care is needed with units. The star coordinates are in radians * and the proper motions in radians per Julian year, but the * parallax is in arcseconds. * * 4) The RA proper motion is in terms of coordinate angle, not true * angle. If the catalog uses arcseconds for both RA and Dec proper * motions, the RA proper motion will need to be divided by cos(Dec) * before use. * * 5) Straight-line motion at constant speed, in the inertial frame, * is assumed. * * 6) An extremely small (or zero or negative) parallax is interpreted * to mean that the object is on the "celestial sphere", the radius * of which is an arbitrary (large) value (see the iau_STARPV routine * for the value used). When the distance is overridden in this way, * the status, initially zero, has 1 added to it. * * 7) If the space velocity is a significant fraction of c (see the * constant VMAX in the routine iau_STARPV), it is arbitrarily set to * zero. When this action occurs, 2 is added to the status. * * 8) The relativistic adjustment carried out in the iau_STARPV routine * involves an iterative calculation. If the process fails to * converge within a set number of iterations, 4 is added to the * status. * * Called: * iau_STARPV star catalog data to space motion pv-vector * iau_PVU update a pv-vector * iau_PDP scalar product of two p-vectors * iau_PVSTAR space motion pv-vector to star catalog data * * This revision: 2017 March 16 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RA1, DEC1, PMR1, PMD1, PX1, RV1, : EP1A, EP1B, EP2A, EP2B, : RA2, DEC2, PMR2, PMD2, PX2, RV2 INTEGER J * Days to seconds DOUBLE PRECISION D2S PARAMETER ( D2S = 86400D0 ) * Speed of light (m/s) DOUBLE PRECISION CMPS PARAMETER ( CMPS = 299792458D0 ) * Astronomical unit (m, IAU 2012) DOUBLE PRECISION AUM PARAMETER ( AUM = 149597870.7D3 ) * Speed of light (au per day) DOUBLE PRECISION C PARAMETER ( C = D2S*CMPS/AUM ) DOUBLE PRECISION PV1(3,2), R, TL1, DT, PV(3,2), R2, RDV, V2, : C2MV2, TL2, PV2(3,2) INTEGER J1, J2 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * RA,Dec etc. at the "before" epoch to space motion pv-vector. CALL iau_STARPV ( RA1, DEC1, PMR1, PMD1, PX1, RV1, PV1, J1 ) * Light time when observed (days). CALL iau_PM ( PV1, R ) TL1 = R / C * Time interval, "before" to "after" (days). DT = ( EP2A-EP1A ) + ( EP2B-EP1B ) * Move star along track from the "before" observed position to the * "after" geometric position. CALL iau_PVU ( DT+TL1, PV1, PV ) * From this geometric position, deduce the observed light time (days) * at the "after" epoch (with theoretically unneccessary error check). CALL iau_PDP ( PV(1,1), PV(1,1), R2 ) CALL iau_PDP ( PV(1,1), PV(1,2), RDV ) CALL iau_PDP ( PV(1,2), PV(1,2), V2 ) C2MV2 = C*C - V2 IF ( C2MV2 .LE. 0D0 ) THEN J = -1 GO TO 9 END IF TL2 = ( - RDV + SQRT(RDV*RDV + C2MV2*R2) ) / C2MV2 * Move the position along track from the observed place at the * "before" epoch to the observed place at the "after" epoch. CALL iau_PVU ( DT + ( TL1-TL2 ), PV1, PV2 ) * Space motion pv-vector to RA,Dec etc. at the "after" epoch. CALL iau_PVSTAR ( PV2, RA2, DEC2, PMR2, PMD2, PX2, RV2, J2 ) * Return the status. IF ( J2 .NE. 0 ) J1 = -1 J = J1 * Exit. 9 CONTINUE * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_STARPV ( RA, DEC, PMR, PMD, PX, RV, PV, J ) *+ * - - - - - - - - - - - * i a u _ S T A R P V * - - - - - - - - - - - * * Convert star catalog coordinates to position+velocity vector. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given (Note 1): * RA d right ascension (radians) * DEC d declination (radians) * PMR d RA proper motion (radians/year) * PMD d Dec proper motion (radians/year) * PX d parallax (arcseconds) * RV d radial velocity (km/s, positive = receding) * * Returned (Note 2): * PV d(3,2) pv-vector (au, au/day) * J i status: * 0 = no warnings * 1 = distance overridden (Note 6) * 2 = excessive velocity (Note 7) * 4 = solution didn't converge (Note 8) * else = binary logical OR of the above * * Notes: * * 1) The star data accepted by this routine are "observables" for an * imaginary observer at the solar-system barycenter. Proper motion * and radial velocity are, strictly, in terms of barycentric * coordinate time, TCB. For most practical applications, it is * permissible to neglect the distinction between TCB and ordinary * "proper" time on Earth (TT/TAI). The result will, as a rule, be * limited by the intrinsic accuracy of the proper-motion and radial- * velocity data; moreover, the pv-vector is likely to be merely an * intermediate result, so that a change of time unit would cancel * out overall. * * In accordance with normal star-catalog conventions, the object's * right ascension and declination are freed from the effects of * secular aberration. The frame, which is aligned to the catalog * equator and equinox, is Lorentzian and centered on the SSB. * * 2) The resulting position and velocity pv-vector is with respect to * the same frame and, like the catalog coordinates, is freed from * the effects of secular aberration. Should the "coordinate * direction", where the object was located at the catalog epoch, be * required, it may be obtained by calculating the magnitude of the * position vector PV(1-3,1) dividing by the speed of light in au/day * to give the light-time, and then multiplying the space velocity * PV(1-3,2) by this light-time and adding the result to PV(1-3,1). * * Summarizing, the pv-vector returned is for most stars almost * identical to the result of applying the standard geometrical * "space motion" transformation. The differences, which are the * subject of the Stumpff paper referenced below, are: * * (i) In stars with significant radial velocity and proper motion, * the constantly changing light-time distorts the apparent proper * motion. Note that this is a classical, not a relativistic, * effect. * * (ii) The transformation complies with special relativity. * * 3) Care is needed with units. The star coordinates are in radians * and the proper motions in radians per Julian year, but the * parallax is in arcseconds; the radial velocity is in km/s, but * the pv-vector result is in au and au/day. * * 4) The RA proper motion is in terms of coordinate angle, not true * angle. If the catalog uses arcseconds for both RA and Dec proper * motions, the RA proper motion will need to be divided by cos(Dec) * before use. * * 5) Straight-line motion at constant speed, in the inertial frame, * is assumed. * * 6) An extremely small (or zero or negative) parallax is interpreted * to mean that the object is on the "celestial sphere", the radius * of which is an arbitrary (large) value (see the constant PXMIN). * When the distance is overridden in this way, the status, initially * zero, has 1 added to it. * * 7) If the space velocity is a significant fraction of c (see the * constant VMAX), it is arbitrarily set to zero. When this action * occurs, 2 is added to the status. * * 8) The relativistic adjustment involves an iterative calculation. * If the process fails to converge within a set number (IMAX) of * iterations, 4 is added to the status. * * 9) The inverse transformation is performed by the routine iau_PVSTAR. * * Called: * iau_S2PV spherical coordinates to pv-vector * iau_PM modulus of p-vector * iau_ZP zero p-vector * iau_PN decompose p-vector into modulus and direction * iau_PDP scalar product of two p-vectors * iau_SXP multiply p-vector by scalar * iau_PMP p-vector minus p-vector * iau_PPP p-vector plus p-vector * * Reference: * * Stumpff, P., Astron.Astrophys. 144, 232-240 (1985). * * This revision: 2017 March 16 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION RA, DEC, PMR, PMD, PX, RV, PV(3,2) INTEGER J * Smallest allowed parallax DOUBLE PRECISION PXMIN PARAMETER ( PXMIN = 1D-7 ) * Largest allowed speed (fraction of c) DOUBLE PRECISION VMAX PARAMETER ( VMAX = 0.5D0 ) * Julian years to days DOUBLE PRECISION Y2D PARAMETER ( Y2D = 365.25D0 ) * Radians to arcseconds DOUBLE PRECISION DR2AS PARAMETER ( DR2AS = 206264.8062470963551564734D0 ) * Days to seconds DOUBLE PRECISION D2S PARAMETER ( D2S = 86400D0 ) * Speed of light (m/s) DOUBLE PRECISION CMPS PARAMETER ( CMPS = 299792458D0 ) * Astronomical unit (m, IAU 2012) DOUBLE PRECISION AUM PARAMETER ( AUM = 149597870.7D3 ) * Speed of light (au per day) DOUBLE PRECISION C PARAMETER ( C = D2S*CMPS/AUM ) * Maximum number of iterations for relativistic solution INTEGER I,IMAX PARAMETER ( IMAX = 100 ) INTEGER IWARN DOUBLE PRECISION W, R, RD, RAD, DECD, V, X(3), USR(3), UST(3), : VSR, VST, BETST, BETSR, BETT, BETR, OD, ODEL, : DD, DDEL, ODD, ODDEL, D, DEL, UR(3), UT(3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Distance (au). IF ( PX.GE.PXMIN ) THEN W = PX IWARN = 0 ELSE W = PXMIN IWARN = 1 END IF R = DR2AS / W * Radial velocity (au/day). RD = D2S * RV * 1D3 / AUM * Proper motion (radian/day). RAD = PMR / Y2D DECD = PMD / Y2D * To pv-vector (au,au/day). CALL iau_S2PV ( RA, DEC, R, RAD, DECD, RD, PV ) * If excessive velocity, arbitrarily set it to zero. CALL iau_PM ( PV(1,2), V ) IF ( V/C .GT. VMAX ) THEN CALL iau_ZP ( PV(1,2) ) IWARN = IWARN + 2 END IF * Isolate the radial component of the velocity (au/day). CALL iau_PN ( PV(1,1), W, X ) CALL iau_PDP ( X, PV(1,2), VSR ) CALL iau_SXP ( VSR, X, USR ) * Isolate the transverse component of the velocity (au/day). CALL iau_PMP ( PV(1,2), USR, UST ) CALL iau_PM ( UST, VST ) * Special-relativity dimensionless parameters. BETSR = VSR / C BETST = VST / C * Determine the inertial-to-observed relativistic correction terms. OD = 0D0 ODEL = 0D0 ODD = 0D0 ODDEL = 0D0 BETT = BETST BETR = BETSR DO 1 I=1,IMAX D = 1D0 + BETR W = BETR*BETR + BETT*BETT DEL = - W / ( SQRT(1D0-W) + 1D0 ) BETR = D*BETSR + DEL BETT = D*BETST IF ( I .GT. 1 ) THEN DD = ABS(D-OD) DDEL = ABS(DEL-ODEL) IF ( I.GT.2 .AND. : DD.GE.ODD .AND. : DDEL.GE.ODDEL ) GO TO 2 IF ( I .GE. IMAX ) IWARN = IWARN + 4 ODD = DD ODDEL = DDEL END IF OD = D ODEL = DEL 1 CONTINUE 2 CONTINUE * Replace observed radial velocity with inertial value. IF ( BETSR .NE. 0D0 ) THEN W = D + DEL/BETSR ELSE W = 1D0 END IF CALL iau_SXP ( W, USR, UR ) * Replace observed tangential velocity with inertial value. CALL iau_SXP ( D, UST, UT ) * Combine the two to obtain the inertial space velocity. CALL iau_PPP ( UR, UT, PV(1,2) ) * Return the status. J = IWARN * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_SXP ( S, P, SP ) *+ * - - - - - - - - * i a u _ S X P * - - - - - - - - * * Multiply a p-vector by a scalar. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * S d scalar * P d(3) p-vector * * Returned: * SP d(3) S * P * * This revision: 2000 November 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION S, P(3), SP(3) INTEGER I * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DO 1 I=1,3 SP(I) = S * P(I) 1 CONTINUE * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_SXPV ( S, PV, SPV ) *+ * - - - - - - - - - * i a u _ S X P V * - - - - - - - - - * * Multiply a pv-vector by a scalar. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * S d scalar * PV d(3,2) pv-vector * * Returned: * SPV d(3,2) S * PV * * Called: * iau_S2XPV multiply pv-vector by two scalars * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION S, PV(3,2), SPV(3,2) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CALL iau_S2XPV ( S, S, PV, SPV ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TAITT ( TAI1, TAI2, TT1, TT2, J ) *+ * - - - - - - - - - - * i a u _ T A I T T * - - - - - - - - - - * * Time scale transformation: International Atomic Time, TAI, to * Terrestrial Time, TT. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical. * * Given: * TAI1,TAI2 d TAI as a 2-part Julian Date * * Returned: * TT1,TT2 d TT as a 2-part Julian Date * J i status: 0 = OK * * Note: * * TAI1+TAI2 is Julian Date, apportioned in any convenient way * between the two arguments, for example where TAI1 is the Julian * Day Number and TAI2 is the fraction of a day. The returned * TT1,TT2 follow suit. * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992) * * This revision: 2010 April 16 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION TAI1, TAI2, TT1, TT2 INTEGER J * TT minus TAI (days). DOUBLE PRECISION DTAT PARAMETER ( DTAT = 32.184D0/86400D0 ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Result, safeguarding precision. IF ( TAI1.GT.TAI2 ) THEN TT1 = TAI1 TT2 = TAI2 + DTAT ELSE TT1 = TAI1 + DTAT TT2 = TAI2 END IF * Status (always OK). J = 0 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TAIUT1 ( TAI1, TAI2, DTA, UT11, UT12, J ) *+ * - - - - - - - - - - - * i a u _ T A I U T 1 * - - - - - - - - - - - * * Time scale transformation: International Atomic Time, TAI, to * Universal Time, UT1. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical. * * Given: * TAI1,TAI2 d TAI as a 2-part Julian Date * DTA d UT1-TAI in seconds * * Returned: * UT11,UT12 d UT1 as a 2-part Julian Date * J i status: 0 = OK * * Notes: * * 1) TAI1+TAI2 is Julian Date, apportioned in any convenient way * between the two arguments, for example where TAI1 is the Julian * Day Number and TAI2 is the fraction of a day. The returned * UT11,UT12 follow suit. * * 2) The argument DTA, i.e. UT1-TAI, is an observed quantity, and is * available from IERS tabulations. * * Reference: * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992) * * This revision: 2011 May 14 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION TAI1, TAI2, DTA, UT11, UT12 INTEGER J * Days to seconds DOUBLE PRECISION D2S PARAMETER ( D2S = 86400D0 ) DOUBLE PRECISION DTAD * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Result, safeguarding precision. DTAD = DTA/D2S IF ( TAI1.GT.TAI2 ) THEN UT11 = TAI1 UT12 = TAI2 + DTAD ELSE UT11 = TAI1 + DTAD UT12 = TAI2 END IF * Status (always OK). J = 0 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TAIUTC ( TAI1, TAI2, UTC1, UTC2, J ) *+ * - - - - - - - - - - - * i a u _ T A I U T C * - - - - - - - - - - - * * Time scale transformation: International Atomic Time, TAI, to * Coordinated Universal Time, UTC. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical. * * Given: * TAI1,TAI2 d TAI as a 2-part Julian Date (Note 1) * * Returned: * UTC1,UTC2 d UTC as a 2-part quasi Julian Date (Notes 1-3) * J i status: +1 = dubious year (Note 4) * 0 = OK * -1 = unacceptable date * * Notes: * * 1) TAI1+TAI2 is Julian Date, apportioned in any convenient way * between the two arguments, for example where TAI1 is the Julian * Day Number and TAI2 is the fraction of a day. The returned UTC1 * and UTC2 form an analogous pair, except that a special convention * is used, to deal with the problem of leap seconds - see the next * note. * * 2) JD cannot unambiguously represent UTC during a leap second unless * special measures are taken. The convention in the present routine * is that the JD day represents UTC days whether the length is * 86399, 86400 or 86401 SI seconds. In the 1960-1972 era there were * smaller jumps (in either direction) each time the linear UTC(TAI) * expression was changed, and these "mini-leaps" are also included * in the SOFA convention. * * 3) The routine iau_D2DTF can be used to transform the UTC quasi-JD * into calendar date and clock time, including UTC leap second * handling. * * 4) The warning status "dubious year" flags UTCs that predate the * introduction of the time scale or that are too far in the future * to be trusted. See iau_DAT for further details. * * Called: * iau_UTCTAI UTC to TAI * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992) * * This revision: 2013 December 2 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION TAI1, TAI2, UTC1, UTC2 INTEGER J LOGICAL BIG1 INTEGER I, JS DOUBLE PRECISION A1, A2, U1, U2, G1, G2 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Put the two parts of the TAI into big-first order. BIG1 = TAI1.GE.TAI2 IF ( BIG1 ) THEN A1 = TAI1 A2 = TAI2 ELSE A1 = TAI2 A2 = TAI1 END IF * Initial guess for UTC. U1 = A1 U2 = A2 * Iterate (though in most cases just once is enough). DO I=1,3 * Guessed UTC to TAI. CALL iau_UTCTAI ( U1, U2, G1, G2, JS ) IF ( JS.LT.0 ) GO TO 9 * Adjust guessed UTC. U2 = U2 + (A1-G1) U2 = U2 + (A2-G2) END DO * Return the UTC result, preserving the TAI order. IF ( BIG1 ) THEN UTC1 = U1 UTC2 = U2 ELSE UTC1 = U2 UTC2 = U1 END IF * Status. 9 CONTINUE J = JS * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TCBTDB ( TCB1, TCB2, TDB1, TDB2, J ) *+ * - - - - - - - - - - - * i a u _ T C B T D B * - - - - - - - - - - - * * Time scale transformation: Barycentric Coordinate Time, TCB, to * Barycentric Dynamical Time, TDB. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical. * * Given: * TCB1,TCB2 d TCB as a 2-part Julian Date * * Returned: * TDB1,TDB2 d TDB as a 2-part Julian Date * J i status: 0 = OK * * Notes: * * 1) TCB1+TCB2 is Julian Date, apportioned in any convenient way * between the two arguments, for example where TCB1 is the Julian * Day Number and TCB2 is the fraction of a day. The returned * TDB1,TDB2 follow suit. * * 2) The 2006 IAU General Assembly introduced a conventional linear * transformation between TDB and TCB. This transformation * compensates for the drift between TCB and terrestrial time TT, * and keeps TDB approximately centered on TT. Because the * relationship between TT and TCB depends on the adopted solar * system ephemeris, the degree of alignment between TDB and TT over * long intervals will vary according to which ephemeris is used. * Former definitions of TDB attempted to avoid this problem by * stipulating that TDB and TT should differ only by periodic * effects. This is a good description of the nature of the * relationship but eluded precise mathematical formulation. The * conventional linear relationship adopted in 2006 sidestepped * these difficulties whilst delivering a TDB that in practice was * consistent with values before that date. * * 3) TDB is essentially the same as Teph, the time argument for the * JPL solar system ephemerides. * * Reference: * * IAU 2006 Resolution B3 * * This revision: 2011 May 14 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION TCB1, TCB2, TDB1, TDB2 INTEGER J * 1977 Jan 1.0 TAI = 1977/1/1 00:00:32.184 TCB, as two-part JD DOUBLE PRECISION T77TD, T77TF PARAMETER ( T77TD = 2443144D0, : T77TF = 0.5003725D0 ) * L_B, and TDB0 (d) DOUBLE PRECISION ELB, TDB0 PARAMETER ( ELB = 1.550519768D-8, : TDB0 = -6.55D-5/86400D0 ) DOUBLE PRECISION D * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Result, safeguarding precision. IF ( TCB1.GT.TCB2 ) THEN D = TCB1 - T77TD TDB1 = TCB1 TDB2 = TCB2 + TDB0 - ( D + ( TCB2-T77TF ) ) * ELB ELSE D = TCB2 - T77TD TDB1 = TCB1 + TDB0 - ( D + ( TCB1-T77TF ) ) * ELB TDB2 = TCB2 END IF * Status (always OK). J = 0 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TCGTT ( TCG1, TCG2, TT1, TT2, J ) *+ * - - - - - - - - - - * i a u _ T C G T T * - - - - - - - - - - * * Time scale transformation: Geocentric Coordinate Time, TCG, to * Terrestrial Time, TT. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical. * * Given: * TCG1,TCG2 d TCG as a 2-part Julian Date * * Returned: * TT1,TT2 d TT as a 2-part Julian Date * J i status: 0 = OK * * Note: * * TCG1+TCG2 is Julian Date, apportioned in any convenient way * between the two arguments, for example where TCG1 is the Julian * Day Number and TCG2 is the fraction of a day. The returned * TT1,TT2 follow suit. * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003),. * IERS Technical Note No. 32, BKG (2004) * * IAU 2000 Resolution B1.9 * * This revision: 2010 May 9 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION TCG1, TCG2, TT1, TT2 INTEGER J * JD for MJD 0 DOUBLE PRECISION DJM0 PARAMETER (DJM0 = 2400000.5D0 ) * 1977 Jan 1 00:00:32.184 TT, as MJD DOUBLE PRECISION T77T PARAMETER ( T77T = 43144.0003725D0 ) * L_G = 1 - dTT/dTCG DOUBLE PRECISION ELG PARAMETER ( ELG = 6.969290134D-10 ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Result, safeguarding precision. IF ( TCG1.GT.TCG2 ) THEN TT1 = TCG1 TT2 = TCG2 - ( ( TCG1-DJM0 ) + ( TCG2-T77T ) ) * ELG ELSE TT1 = TCG1 - ( ( TCG2-DJM0 ) + ( TCG1-T77T ) ) * ELG TT2 = TCG2 END IF * Status (always OK). J = 0 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TDBTCB ( TDB1, TDB2, TCB1, TCB2, J ) *+ * - - - - - - - - - - - * i a u _ T D B T C B * - - - - - - - - - - - * * Time scale transformation: Barycentric Dynamical Time, TDB, to * Barycentric Coordinate Time, TCB. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical. * * Given: * TDB1,TDB2 d TDB as a 2-part Julian Date * * Returned: * TCB1,TCB2 d TCB as a 2-part Julian Date * J i status: 0 = OK * * Notes: * * 1) TDB1+TDB2 is Julian Date, apportioned in any convenient way * between the two arguments, for example where TDB1 is the Julian * Day Number and TDB2 is the fraction of a day. The returned * TCB1,TCB2 follow suit. * * 2) The 2006 IAU General Assembly introduced a conventional linear * transformation between TDB and TCB. This transformation * compensates for the drift between TCB and terrestrial time TT, * and keeps TDB approximately centered on TT. Because the * relationship between TT and TCB depends on the adopted solar * system ephemeris, the degree of alignment between TDB and TT over * long intervals will vary according to which ephemeris is used. * Former definitions of TDB attempted to avoid this problem by * stipulating that TDB and TT should differ only by periodic * effects. This is a good description of the nature of the * relationship but eluded precise mathematical formulation. The * conventional linear relationship adopted in 2006 sidestepped * these difficulties whilst delivering a TDB that in practice was * consistent with values before that date. * * 3) TDB is essentially the same as Teph, the time argument for the * JPL solar system ephemerides. * * Reference: * * IAU 2006 Resolution B3 * * This revision: 2011 May 14 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION TDB1, TDB2, TCB1, TCB2 INTEGER J * 1977 Jan 1.0 TAI = 1977/1/1 00:00:32.184 TCB, as two-part JD DOUBLE PRECISION T77TD, T77TF PARAMETER ( T77TD = 2443144D0, : T77TF = 0.5003725D0 ) * L_B, and TDB0 (d) DOUBLE PRECISION ELB, TDB0 PARAMETER ( ELB = 1.550519768D-8, : TDB0 = -6.55D-5/86400D0 ) * TDB to TCB rate DOUBLE PRECISION ELBB PARAMETER ( ELBB = ELB/(1D0-ELB) ) DOUBLE PRECISION D, F * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Result, preserving date format but safeguarding precision. IF ( TDB1.GT.TDB2 ) THEN D = T77TD - TDB1 F = TDB2 - TDB0 TCB1 = TDB1 TCB2 = F - ( D - ( F - T77TF ) ) * ELBB ELSE D = T77TD - TDB2 F = TDB1 - TDB0 TCB1 = F - (D-(F-T77TF))*ELBB TCB2 = TDB2 END IF * Status (always OK). J = 0 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TDBTT ( TDB1, TDB2, DTR, TT1, TT2, J ) *+ * - - - - - - - - - - * i a u _ T D B T T * - - - - - - - - - - * * Time scale transformation: Barycentric Dynamical Time, TDB, to * Terrestrial Time, TT. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical. * * Given: * TDB1,TDB2 d TDB as a 2-part Julian Date * DTR d TDB-TT in seconds * * Returned: * TT1,TT2 d TT as a 2-part Julian Date * J i status: 0 = OK * * Notes: * * 1) TDB1+TDB2 is Julian Date, apportioned in any convenient way * between the two arguments, for example where TDB1 is the Julian * Day Number and TDB2 is the fraction of a day. The returned * TT1,TT2 follow suit. * * 2) The argument DTR represents the quasi-periodic component of the * GR transformation between TT and TCB. It is dependent upon the * adopted solar-system ephemeris, and can be obtained by numerical * integration, by interrogating a precomputed time ephemeris or by * evaluating a model such as that implemented in the SOFA routine * iau_DTDB. The quantity is dominated by an annual term of 1.7 ms * amplitude. * * 3) TDB is essentially the same as Teph, the time argument for the * JPL solar system ephemerides. * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * IAU 2006 Resolution 3 * * This revision: 2011 May 14 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION TDB1, TDB2, DTR, TT1, TT2 INTEGER J * Days to seconds DOUBLE PRECISION D2S PARAMETER ( D2S = 86400D0 ) DOUBLE PRECISION DTRD * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Result, safeguarding precision. DTRD = DTR/D2S IF ( TDB1.GT.TDB2 ) THEN TT1 = TDB1 TT2 = TDB2 - DTRD ELSE TT1 = TDB1 - DTRD TT2 = TDB2 END IF * Status (always OK). J = 0 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TF2A ( S, IHOUR, IMIN, SEC, RAD, J ) *+ * - - - - - - - - - * i a u _ T F 2 A * - - - - - - - - - * * Convert hours, minutes, seconds to radians. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * S c sign: '-' = negative, otherwise positive * IHOUR i hours * IMIN i minutes * SEC d seconds * * Returned: * RAD d angle in radians * J i status: 0 = OK * 1 = IHOUR outside range 0-23 * 2 = IMIN outside range 0-59 * 3 = SEC outside range 0-59.999... * * Notes: * * 1) If the s argument is a string, only the leftmost character is * used and no warning status is provided. * * 2) The result is computed even if any of the range checks fail. * * 3) Negative IHOUR, IMIN and/or SEC produce a warning status, but the * absolute value is used in the conversion. * * 4) If there are multiple errors, the status value reflects only the * first, the smallest taking precedence. * * This revision: 2013 December 2 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE CHARACTER S INTEGER IHOUR, IMIN DOUBLE PRECISION SEC, RAD INTEGER J * Seconds of time to radians DOUBLE PRECISION DS2R PARAMETER ( DS2R = 7.272205216643039903848712D-5 ) DOUBLE PRECISION W * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Preset the status. J = 0 * Validate seconds, minutes, hours. IF ( SEC.LT.0D0 .OR. SEC.GE.60D0 ) J=3 IF ( IMIN.LT.0 .OR. IMIN.GT.59 ) J=2 IF ( IHOUR.LT.0 .OR. IHOUR.GT.23 ) J=1 * Compute the angle. W = ( 60D0 * ( 60D0 * DBLE( ABS(IHOUR) ) + : DBLE( ABS(IMIN) ) ) + : ABS(SEC) ) * DS2R * Apply the sign. IF ( S .EQ. '-' ) W = -W * Return the result. RAD = W * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TF2D ( S, IHOUR, IMIN, SEC, DAYS, J ) *+ * - - - - - - - - - * i a u _ T F 2 D * - - - - - - - - - * * Convert hours, minutes, seconds to days. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * S c sign: '-' = negative, otherwise positive * IHOUR i hours * IMIN i minutes * SEC d seconds * * Returned: * DAYS d interval in days * J i status: 0 = OK * 1 = IHOUR outside range 0-23 * 2 = IMIN outside range 0-59 * 3 = SEC outside range 0-59.999... * * Notes: * * 1) If the s argument is a string, only the leftmost character is * used and no warning status is provided. * * 2) The result is computed even if any of the range checks fail. * * 3) Negative IHOUR, IMIN and/or SEC produce a warning status, but the * absolute value is used in the conversion. * * 4) If there are multiple errors, the status value reflects only the * first, the smallest taking precedence. * * This revision: 2013 December 2 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE CHARACTER S INTEGER IHOUR, IMIN DOUBLE PRECISION SEC, DAYS INTEGER J * Days to seconds DOUBLE PRECISION D2S PARAMETER ( D2S = 86400D0 ) DOUBLE PRECISION W * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Preset the status. J = 0 * Validate seconds, minutes, hours. IF ( SEC.LT.0D0 .OR. SEC.GE.60D0 ) J=3 IF ( IMIN.LT.0 .OR. IMIN.GT.59 ) J=2 IF ( IHOUR.LT.0 .OR. IHOUR.GT.23 ) J=1 * Compute the interval. W = ( 60D0 * ( 60D0 * DBLE( ABS(IHOUR) ) + : DBLE( ABS(IMIN) ) ) + : ABS(SEC) ) / D2S * Apply the sign. IF ( S .EQ. '-' ) W = -W * Return the result. DAYS = W * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TPORS ( XI, ETA, A, B, A01, B01, A02, B02, N ) * * - - - - - - - - - - * i a u _ T P O R S * - - - - - - - - - - * * In the tangent plane projection, given the rectangular coordinates * of a star and its spherical coordinates, determine the spherical * coordinates of the tangent point. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * XI,ETA d rectangular coordinates of star image (Note 2) * A,B d star's spherical coordinates (Note 3) * * Returned: * A01,B01 d tangent point's spherical coordinates, Soln. 1 * A02,B02 d tangent point's spherical coordinates, Soln. 2 * N i number of solutions: * 0 = no solutions returned (Note 5) * 1 = only the first solution is useful (Note 6) * 2 = both solutions are useful (Note 6) * * Notes: * * 1) The tangent plane projection is also called the "gnomonic * projection" and the "central projection". * * 2) The eta axis points due north in the adopted coordinate system. * If the spherical coordinates are observed (RA,Dec), the tangent * plane coordinates (xi,eta) are conventionally called the "standard * coordinates". If the spherical coordinates are with respect to a * right-handed triad, (xi,eta) are also right-handed. The units of * (xi,eta) are, effectively, radians at the tangent point. * * 3) All angular arguments are in radians. * * 4) The angles A01 and A02 are returned in the range 0-2pi. The * angles B01 and B02 are returned in the range +/-pi, but in the * usual, non-pole-crossing, case, the range is +/-pi/2. * * 5) Cases where there is no solution can arise only near the poles. * For example, it is clearly impossible for a star at the pole * itself to have a non-zero xi value, and hence it is meaningless * to ask where the tangent point would have to be to bring about * this combination of xi and dec. * * 6) Also near the poles, cases can arise where there are two useful * solutions. The returned value N indicates whether the second of * the two solutions returned is useful; N=1 indicates only one * useful solution, the usual case. * * 7) The basis of the algorithm is to solve the spherical triangle PSC, * where P is the north celestial pole, S is the star and C is the * tangent point. The spherical coordinates of the tangent point are * [a0,b0]; writing rho^2 = (xi^2+eta^2) and r^2 = (1+rho^2), side c * is then (pi/2-b), side p is sqrt(xi^2+eta^2) and side s (to be * found) is (pi/2-b0). Angle C is given by sin(C) = xi/rho and * cos(C) = eta/rho. Angle P (to be found) is the longitude * difference between star and tangent point (a-a0). * * 8) This routine is a member of the following set: * * spherical vector solve for * * iau_TPXES iau_TPXEV xi,eta * iau_TPSTS iau_TPSTV star * > iau_TPORS < iau_TPORV origin * * Called: * iau_ANP normalize angle into range 0 to 2pi * * References: * * Calabretta M.R. & Greisen, E.W., 2002, "Representations of * celestial coordinates in FITS", Astron.Astrophys. 395, 1077 * * Green, R.M., "Spherical Astronomy", Cambridge University Press, * 1987, Chapter 13. * * This revision: 2018 January 2 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION XI, ETA, A, B, A01, B01, A02, B02 INTEGER N DOUBLE PRECISION XI2, R, SB, CB, RSB, RCB, W2, W, S, C DOUBLE PRECISION iau_ANP * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - XI2 = XI*XI R = SQRT(1D0+XI2+ETA*ETA) SB = SIN(B) CB = COS(B) RSB = R*SB RCB = R*CB W2 = RCB*RCB - XI2 IF ( W2 .GE. 0D0 ) THEN W = SQRT(W2) S = RSB - ETA*W C = RSB*ETA + W IF ( XI .EQ. 0D0 .AND. W .EQ. 0D0 ) W = 1D0 A01 = iau_ANP(A - ATAN2(XI,W)) B01 = ATAN2(S,C) W = -W S = RSB - ETA*W C = RSB*ETA + W A02 = iau_ANP(A - ATAN2(XI,W)) B02 = ATAN2(S,C) IF ( ABS(RSB) .LT. 1D0 ) THEN N = 1 ELSE N = 2 END IF ELSE N = 0 END IF * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TPORV ( XI, ETA, V, V01, V02, N ) * * - - - - - - - - - - * i a u _ T P O R V * - - - - - - - - - - * * In the tangent plane projection, given the rectangular coordinates * of a star and its direction cosines, determine the direction * cosines of the tangent point. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * XI,ETA d rectangular coordinates of star image (Note 2) * V d(3) star's direction cosines (Note 3) * * Returned: * V01 d(3) tangent point's direction cosines, Solution 1 * V02 d(3) tangent point's direction cosines, Solution 2 * N i number of solutions: * 0 = no solutions returned (Note 4) * 1 = only the first solution is useful (Note 5) * 2 = both solutions are useful (Note 5) * * Notes: * * 1) The tangent plane projection is also called the "gnomonic * projection" and the "central projection". * * 2) The eta axis points due north in the adopted coordinate system. * If the direction cosines represent observed (RA,Dec), the tangent * plane coordinates (xi,eta) are conventionally called the "standard * coordinates". If the direction cosines are with respect to a * right-handed triad, (xi,eta) are also right-handed. The units of * (xi,eta) are, effectively, radians at the tangent point. * * 3) The vector V must be of unit length or the result will be wrong. * * 4) Cases where there is no solution can arise only near the poles. * For example, it is clearly impossible for a star at the pole * itself to have a non-zero xi value, and hence it is meaningless * to ask where the tangent point would have to be. * * 5) Also near the poles, cases can arise where there are two useful * solutions. The returned value N indicates whether the second of * the two solutions returned is useful; N=1 indicates only one * useful solution, the usual case. * * 6) The basis of the algorithm is to solve the spherical triangle PSC, * where P is the north celestial pole, S is the star and C is the * tangent point. Calling the celestial spherical coordinates of the * star and tangent point (a,b) and (a0,b0) respectively, and writing * rho^2 = (xi^2+eta^2) and r^2 = (1+rho^2), and transforming the * vector V into (a,b) in the normal way, side c is then (pi/2-b), * side p is sqrt(xi^2+eta^2) and side s (to be found) is (pi/2-b0), * while angle C is given by sin(C) = xi/rho and cos(C) = eta/rho; * angle P (to be found) is (a-a0). After solving the spherical * triangle, the result (a0,b0) can be expressed in vector form as * V0. * * 7) This routine is a member of the following set: * * spherical vector solve for * * iau_TPXES iau_TPXEV xi,eta * iau_TPSTS iau_TPSTV star * iau_TPORS > iau_TPORV < origin * * References: * * Calabretta M.R. & Greisen, E.W., 2002, "Representations of * celestial coordinates in FITS", Astron.Astrophys. 395, 1077 * * Green, R.M., "Spherical Astronomy", Cambridge University Press, * 1987, Chapter 13. * * This revision: 2018 January 2 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION XI, ETA, V(3), V01(3), V02(3) INTEGER N DOUBLE PRECISION X, Y, Z, RXY2, XI2, ETA2P1, R, RSB, RCB, W2, W, C * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - X = V(1) Y = V(2) Z = V(3) RXY2 = X*X+Y*Y XI2 = XI*XI ETA2P1 = ETA*ETA+1D0 R = SQRT(XI2+ETA2P1) RSB = R*Z RCB = R*SQRT(X*X+Y*Y) W2 = RCB*RCB-XI2 IF ( W2 .GT. 0D0 ) THEN W = SQRT(W2) C = (RSB*ETA+W) / (ETA2P1*SQRT(RXY2*(W2+XI2))) V01(1) = C * (X*W+Y*XI) V01(2) = C * (Y*W-X*XI) V01(3) = (RSB-ETA*W) / ETA2P1 W = -W C = (RSB*ETA+W) / (ETA2P1*SQRT(RXY2*(W2+XI2))) V02(1) = C * (X*W+Y*XI) V02(2) = C * (Y*W-X*XI) V02(3) = (RSB-ETA*W) / ETA2P1 IF ( ABS(RSB) .LT. 1D0 ) THEN N = 1 ELSE N = 2 END IF ELSE N = 0 END IF * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TPSTS ( XI, ETA, A0, B0, A, B ) * * - - - - - - - - - - * i a u _ T P S T S * - - - - - - - - - - * * In the tangent plane projection, given the star's rectangular * coordinates and the spherical coordinates of the tangent point, * solve for the spherical coordinates of the star. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * XI,ETA d rectangular coordinates of star image (Note 2) * A0,B0 d tangent point's spherical coordinates * * Returned: * A,B d star's spherical coordinates * * 1) The tangent plane projection is also called the "gnomonic * projection" and the "central projection". * * 2) The eta axis points due north in the adopted coordinate system. * If the spherical coordinates are observed (RA,Dec), the tangent * plane coordinates (xi,eta) are conventionally called the "standard * coordinates". If the direction cosines are with respect to a * right-handed triad, (xi,eta) are also right-handed. The units of * (xi,eta) are, effectively, radians at the tangent point. * * 3) All angular arguments are in radians. * * 4) This routine is a member of the following set: * * spherical vector solve for * * iau_TPXES iau_TPXEV xi,eta * > iau_TPSTS < iau_TPSTV star * iau_TPORS iau_TPORV origin * * Called: * iau_ANP normalize angle into range 0 to 2pi * * References: * * Calabretta M.R. & Greisen, E.W., 2002, "Representations of * celestial coordinates in FITS", Astron.Astrophys. 395, 1077 * * Green, R.M., "Spherical Astronomy", Cambridge University Press, * 1987, Chapter 13. * * This revision: 2018 January 2 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION XI, ETA, A0, B0, A, B DOUBLE PRECISION SB0, CB0, D DOUBLE PRECISION iau_ANP * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SB0 = SIN(B0) CB0 = COS(B0) D = CB0 - ETA*SB0 A = iau_ANP(ATAN2(XI,D)+A0) B = ATAN2(SB0+ETA*CB0,SQRT(XI*XI+D*D)) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TPSTV ( XI, ETA, V0, V ) * * - - - - - - - - - - * i a u _ T P S T V * - - - - - - - - - - * * In the tangent plane projection, given the star's rectangular * coordinates and the direction cosines of the tangent point, solve * for the direction cosines of the star. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * XI,ETA d rectangular coordinates of star image (Note 2) * V0 d(3) tangent point's direction cosines (Note 4) * * Returned: * V d(3) star's direction cosines * * 1) The tangent plane projection is also called the "gnomonic * projection" and the "central projection". * * 2) The eta axis points due north in the adopted coordinate system. * If the direction cosines represent observed (RA,Dec), the tangent * plane coordinates (xi,eta) are conventionally called the "standard * coordinates". If the direction cosines are with respect to a * right-handed triad, (xi,eta) are also right-handed. The units of * (xi,eta) are, effectively, radians at the tangent point. * * 3) The method used is to complete the star vector in the (xi,eta) * based triad and normalize it, then rotate the triad to put the * tangent point at the pole with the x-axis aligned to zero * longitude. Writing (a0,b0) for the celestial spherical * coordinates of the tangent point, the sequence of rotations is * (b0-pi/2) around the x-axis followed by (-a0-pi/2) around the * z-axis. * * 4) If vector V0 is not of unit length, the returned vector V will * be wrong. * * 5) If vector V0 points at a pole, the returned vector V will be * based on the arbitrary assumption that the longitude coordinate * of the tangent point is zero. * * 6) This routine is a member of the following set: * * spherical vector solve for * * iau_TPXES iau_TPXEV xi,eta * iau_TPSTS > iau_TPSTV < star * iau_TPORS iau_TPORV origin * * References: * * Calabretta M.R. & Greisen, E.W., 2002, "Representations of * celestial coordinates in FITS", Astron.Astrophys. 395, 1077 * * Green, R.M., "Spherical Astronomy", Cambridge University Press, * 1987, Chapter 13. * * This revision: 2018 January 2 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION XI, ETA, V0(3), V(3) DOUBLE PRECISION X, Y, Z, R, F * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Tangent point. X = V0(1) Y = V0(2) Z = V0(3) * Deal with polar case. R = SQRT(X*X+Y*Y) IF ( R .EQ. 0D0 ) THEN R = 1D-20 X = R END IF * Star vector length to tangent plane. F = SQRT(1D0+XI*XI+ETA*ETA) * Apply the transformation and normalize. V(1) = ( X - (XI*Y+ETA*X*Z) / R ) / F V(2) = ( Y + (XI*X-ETA*Y*Z) / R ) / F V(3) = ( Z + ETA*R ) / F * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TPXES ( A, B, A0, B0, XI, ETA, J ) *+ * - - - - - - - - - - * i a u _ T P X E S * - - - - - - - - - - * * In the tangent plane projection, given celestial spherical * coordinates for a star and the tangent point, solve for the star's * rectangular coordinates in the tangent plane. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * A,B d star's spherical coordinates * A0,B0 d tangent point's spherical coordinates * * Returned: * XI,ETA d rectangular coordinates of star image (Note 2) * J i status: 0 = OK * 1 = star too far from axis * 2 = antistar on tangent plane * 3 = antistar too far from axis * * Notes: * * 1) The tangent plane projection is also called the "gnomonic * projection" and the "central projection". * * 2) The eta axis points due north in the adopted coordinate system. * If the spherical coordinates are observed (RA,Dec), the tangent * plane coordinates (xi,eta) are conventionally called the "standard * coordinates". For right-handed spherical coordinates, (xi,eta) * are also right-handed. The units of (xi,eta) are, effectively, * radians at the tangent point. * * 3) All angular arguments are in radians. * * 4) This routine is a member of the following set: * * spherical vector solve for * * > iau_TPXES < iau_TPXEV xi,eta * iau_TPSTS iau_TPSTV star * iau_TPORS iau_TPORV origin * * References: * * Calabretta M.R. & Greisen, E.W., 2002, "Representations of * celestial coordinates in FITS", Astron.Astrophys. 395, 1077 * * Green, R.M., "Spherical Astronomy", Cambridge University Press, * 1987, Chapter 13. * * This revision: 2018 January 2 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION A, B, A0, B0, XI, ETA INTEGER J DOUBLE PRECISION TINY PARAMETER ( TINY = 1D-6 ) DOUBLE PRECISION SB0, SB, CB0, CB, DA, SDA, CDA, D * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Functions of the spherical coordinates. SB0 = SIN(B0) SB = SIN(B) CB0 = COS(B0) CB = COS(B) DA = A - A0 SDA = SIN(DA) CDA = COS(DA) * Reciprocal of star vector length to tangent plane. D = SB*SB0 + CB*CB0*CDA * Check for error cases. IF ( D .GT. TINY ) THEN J = 0 ELSE IF ( D .GE. 0D0 ) THEN J = 1 D = TINY ELSE IF ( D .GT. -TINY ) THEN J = 2 D = -TINY ELSE J = 3 END IF * Return the tangent plane coordinates (even in dubious cases). XI = CB*SDA / D ETA = ( SB*CB0 - CB*SB0*CDA ) / D * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TPXEV ( V, V0, XI, ETA, J ) *+ * - - - - - - - - - - * i a u _ T P X E V * - - - - - - - - - - * * In the tangent plane projection, given celestial direction cosines * for a star and the tangent point, solve for the star's rectangular * coordinates in the tangent plane. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * V d(3) direction cosines of star (Note 4) * V0 d(3) direction cosines of tangent point (Note 4) * * Returned: * XI,ETA d tangent plane coordinates of star * J i status: 0 = OK * 1 = star too far from axis * 2 = antistar on tangent plane * 3 = antistar too far from axis * * Notes: * * 1) The tangent plane projection is also called the "gnomonic * projection" and the "central projection". * * 2) The eta axis points due north in the adopted coordinate system. * If the direction cosines represent observed (RA,Dec), the tangent * plane coordinates (xi,eta) are conventionally called the "standard * coordinates". If the direction cosines are with respect to a * right-handed triad, (xi,eta) are also right-handed. The units of * (xi,eta) are, effectively, radians at the tangent point. * * 3) The method used is to extend the star vector to the tangent * plane and then rotate the triad so that (x,y) becomes (xi,eta). * Writing (a,b) for the celestial spherical coordinates of the * star, the sequence of rotations is (a+pi/2) around the z-axis * followed by (pi/2-b) around the x-axis. * * 4) If vector V0 is not of unit length, or if vector V is of zero * length, the results will be wrong. * * 5) If V0 points at a pole, the returned (XI,ETA) will be based on the * arbitrary assumption that the longitude coordinate of the tangent * point is zero. * * 6) This routine is a member of the following set: * * spherical vector solve for * * iau_TPXES > iau_TPXEV < xi,eta * iau_TPSTS iau_TPSTV star * iau_TPORS iau_TPORV origin * * References: * * Calabretta M.R. & Greisen, E.W., 2002, "Representations of * celestial coordinates in FITS", Astron.Astrophys. 395, 1077 * * Green, R.M., "Spherical Astronomy", Cambridge University Press, * 1987, Chapter 13. * * This revision: 2018 January 2 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION V(3), V0(3), XI, ETA INTEGER J DOUBLE PRECISION TINY PARAMETER ( TINY = 1D-6 ) DOUBLE PRECISION X, Y, Z, X0, Y0, Z0, R2, R, W, D * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Star and tangent point. X = V(1) Y = V(2) Z = V(3) X0 = V0(1) Y0 = V0(2) Z0 = V0(3) * Deal with polar case. R2 = X0*X0 + Y0*Y0 R = SQRT(R2) IF ( R .EQ. 0D0 ) THEN R = 1D-20 X0 = R END IF * Reciprocal of star vector length to tangent plane. W = X*X0 + Y*Y0 D = W + Z*Z0 * Check for error cases. IF ( D .GT. TINY ) THEN J = 0 ELSE IF ( d .GE. 0D0 ) THEN J = 1 D = TINY ELSE IF ( D .GT. -TINY ) THEN J = 2 D = -TINY ELSE J = 3 END IF * Return the tangent plane coordinates (even in dubious cases). D = R*D XI = ( Y*X0 - X*Y0 ) / D ETA = ( Z*R2 - Z0*W ) / D * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TR ( R, RT ) *+ * - - - - - - - * i a u _ T R * - - - - - - - * * Transpose an r-matrix. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * R d(3,3) r-matrix * * Returned: * RT d(3,3) transpose * * Called: * iau_CR copy r-matrix * * This revision: 2000 November 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION R(3,3), RT(3,3) DOUBLE PRECISION WM(3,3) INTEGER I, J * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DO 2 I=1,3 DO 1 J=1,3 WM(I,J) = R(J,I) 1 CONTINUE 2 CONTINUE CALL iau_CR ( WM, RT ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TRXP ( R, P, TRP ) *+ * - - - - - - - - - * i a u _ T R X P * - - - - - - - - - * * Multiply a p-vector by the transpose of an r-matrix. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * R d(3,3) r-matrix * P d(3) p-vector * * Returned: * TRP d(3) R * P * * Called: * iau_TR transpose r-matrix * iau_RXP product of r-matrix and p-vector * * This revision: 2009 July 11 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION R(3,3), P(3), TRP(3) DOUBLE PRECISION RI(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Transpose of matrix R. CALL iau_TR ( R, RI ) * Matrix RI * vector P -> vector TRP. CALL iau_RXP ( RI, P, TRP ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TRXPV ( R, PV, TRPV ) *+ * - - - - - - - - - - * i a u _ T R X P V * - - - - - - - - - - * * Multiply a pv-vector by the transpose of an r-matrix. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Given: * R d(3,3) r-matrix * PV d(3,2) pv-vector * * Returned: * TRPV d(3,2) R * PV * * Called: * iau_TR transpose r-matrix * iau_RXPV product of r-matrix and pv-vector * * This revision: 2009 July 11 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION R(3,3), PV(3,2), TRPV(3,2) DOUBLE PRECISION RI(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Transpose of matrix R. CALL iau_TR ( R, RI ) * Matrix RI * vector PV -> vector TRPV. CALL iau_RXPV ( RI, PV, TRPV ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TTTAI ( TT1, TT2, TAI1, TAI2, J ) *+ * - - - - - - - - - - * i a u _ T T T A I * - - - - - - - - - - * * Time scale transformation: Terrestrial Time, TT, to International * Atomic Time, TAI. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical. * * Given: * TT1,TT2 d TT as a 2-part Julian Date * * Returned: * TAI1,TAI2 d TAI as a 2-part Julian Date * J i status: 0 = OK * * Note: * * TT1+TT2 is Julian Date, apportioned in any convenient way between * the two arguments, for example where TT1 is the Julian Day Number * and TT2 is the fraction of a day. The returned TAI1,TAI2 follow * suit. * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992) * * This revision: 2010 April 16 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION TT1, TT2, TAI1, TAI2 INTEGER J * TT minus TAI (days). DOUBLE PRECISION DTAT PARAMETER ( DTAT = 32.184D0/86400D0 ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Result, safeguarding precision. IF ( TT1.GT.TT2 ) THEN TAI1 = TT1 TAI2 = TT2 - DTAT ELSE TAI1 = TT1 - DTAT TAI2 = TT2 END IF * Status (always OK). J = 0 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TTTCG ( TT1, TT2, TCG1, TCG2, J ) *+ * - - - - - - - - - - * i a u _ T T T C G * - - - - - - - - - - * * Time scale transformation: Terrestrial Time, TT, to Geocentric * Coordinate Time, TCG. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical. * * Given: * TT1,TT2 d TT as a 2-part Julian Date * * Returned: * TCG1,TCG2 d TCG as a 2-part Julian Date * J i status: 0 = OK * * Note: * * TT1+TT2 is Julian Date, apportioned in any convenient way between * the two arguments, for example where TT1 is the Julian Day Number * and TT2 is the fraction of a day. The returned TCG1,TCG2 follow * suit. * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * IAU 2000 Resolution B1.9 * * This revision: 2010 May 9 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION TT1, TT2, TCG1, TCG2 INTEGER J * JD for MJD 0 DOUBLE PRECISION DJM0 PARAMETER (DJM0 = 2400000.5D0 ) * 1977 Jan 1 00:00:32.184 TT, as MJD DOUBLE PRECISION T77T PARAMETER ( T77T = 43144.0003725D0 ) * L_G = 1 - dTT/dTCG DOUBLE PRECISION ELG PARAMETER ( ELG = 6.969290134D-10 ) * TT to TCG rate DOUBLE PRECISION ELGG PARAMETER ( ELGG = ELG/(1D0-ELG) ) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Result, safeguarding precision. IF ( TT1.GT.TT2 ) THEN TCG1 = TT1 TCG2 = TT2 + ( ( TT1-DJM0 ) + ( TT2-T77T ) ) * ELGG ELSE TCG1 = TT1 + ( ( TT2-DJM0 ) + ( TT1-T77T ) ) * ELGG TCG2 = TT2 END IF * Status (always OK). J = 0 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TTTDB ( TT1, TT2, DTR, TDB1, TDB2, J ) *+ * - - - - - - - - - - * i a u _ T T T D B * - - - - - - - - - - * * Time scale transformation: Terrestrial Time, TT, to Barycentric * Dynamical Time, TDB. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical. * * Given: * TT1,TT2 d TT as a 2-part Julian Date * DTR d TDB-TT in seconds * * Returned: * TDB1,TDB2 d TDB as a 2-part Julian Date * J i status: 0 = OK * * Notes: * * 1) TT1+TT2 is Julian Date, apportioned in any convenient way between * the two arguments, for example where TT1 is the Julian Day Number * and TT2 is the fraction of a day. The returned TDB1,TDB2 follow * suit. * * 2) The argument DTR represents the quasi-periodic component of the * GR transformation between TT and TCB. It is dependent upon the * adopted solar-system ephemeris, and can be obtained by numerical * integration, by interrogating a precomputed time ephemeris or by * evaluating a model such as that implemented in the SOFA routine * iau_DTDB. The quantity is dominated by an annual term of 1.7 ms * amplitude. * * 3) TDB is essentially the same as Teph, the time argument for the JPL * solar system ephemerides. * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * IAU 2006 Resolution 3 * * This revision: 2011 May 14 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION TT1, TT2, DTR, TDB1, TDB2 INTEGER J * Days to seconds DOUBLE PRECISION D2S PARAMETER ( D2S = 86400D0 ) DOUBLE PRECISION DTRD * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Result, safeguarding precision. DTRD = DTR/D2S IF ( TT1.GT.TT2 ) THEN TDB1 = TT1 TDB2 = TT2 + DTRD ELSE TDB1 = TT1 + DTRD TDB2 = TT2 END IF * Status (always OK). J = 0 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_TTUT1 ( TT1, TT2, DT, UT11, UT12, J ) *+ * - - - - - - - - - - * i a u _ T T U T 1 * - - - - - - - - - - * * Time scale transformation: Terrestrial Time, TT, to Universal Time, * UT1. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical. * * Given: * TT1,TT2 d TT as a 2-part Julian Date * DT d TT-UT1 in seconds * * Returned: * UT11,UT12 d UT1 as a 2-part Julian Date * J i status: 0 = OK * * Notes: * * 1) TT1+TT2 is Julian Date, apportioned in any convenient way between * the two arguments, for example where TT1 is the Julian Day Number * and TT2 is the fraction of a day. The returned UT11,UT12 follow * suit. * * 2) The argument DT is classical Delta T. * * Reference: * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992) * * This revision: 2011 May 14 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION TT1, TT2, DT, UT11, UT12 INTEGER J * Days to seconds DOUBLE PRECISION D2S PARAMETER ( D2S = 86400D0 ) DOUBLE PRECISION DTD * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Result, safeguarding precision. DTD = DT/D2S IF ( TT1.GT.TT2 ) THEN UT11 = TT1 UT12 = TT2 - DTD ELSE UT11 = TT1 - DTD UT12 = TT2 END IF * Status (always OK). J = 0 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_UT1TAI ( UT11, UT12, DTA, TAI1, TAI2, J ) *+ * - - - - - - - - - - - * i a u _ U T 1 T A I * - - - - - - - - - - - * * Time scale transformation: Universal Time, UT1, to International * Atomic Time, TAI. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical. * * Given: * UT11,UT12 d UT1 as a 2-part Julian Date * DTA d UT1-TAI in seconds * * Returned: * TAI1,TAI2 d TAI as a 2-part Julian Date * J i status: 0 = OK * * Notes: * * 1) UT11+UT12 is Julian Date, apportioned in any convenient way * between the two arguments, for example where UT11 is the Julian * Day Number and UT12 is the fraction of a day. The returned * TAI1,TAI2 follow suit. * * 2) The argument DTA, i.e. UT1-TAI, is an observed quantity, and is * available from IERS tabulations. * * Reference: * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992) * * This revision: 2011 May 14 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION UT11, UT12, DTA, TAI1, TAI2 INTEGER J * Days to seconds DOUBLE PRECISION D2S PARAMETER ( D2S = 86400D0 ) DOUBLE PRECISION DTAD * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Result, safeguarding precision. DTAD = DTA/D2S IF ( UT11.GT.UT12 ) THEN TAI1 = UT11 TAI2 = UT12 - DTAD ELSE TAI1 = UT11 - DTAD TAI2 = UT12 END IF * Status (always OK). J = 0 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_UT1TT ( UT11, UT12, DT, TT1, TT2, J ) *+ * - - - - - - - - - - * i a u _ U T 1 T T * - - - - - - - - - - * * Time scale transformation: Universal Time, UT1, to Terrestrial Time, * TT. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical. * * Given: * UT11,UT12 d UT1 as a 2-part Julian Date * DT d TT-UT1 in seconds * * Returned: * TT1,TT2 d TT as a 2-part Julian Date * J i status: 0 = OK * * Notes: * * 1) UT11+UT12 is Julian Date, apportioned in any convenient way * between the two arguments, for example where UT11 is the Julian * Day Number and UT12 is the fraction of a day. The returned * TT1,TT2 follow suit. * * 2) The argument DT is classical Delta T. * * Reference: * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992) * * This revision: 2011 May 14 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION UT11, UT12, DT, TT1, TT2 INTEGER J * Days to seconds DOUBLE PRECISION D2S PARAMETER ( D2S = 86400D0 ) DOUBLE PRECISION DTD * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Result, safeguarding precision. DTD = DT/D2S IF ( UT11.GT.UT12 ) THEN TT1 = UT11 TT2 = UT12 + DTD ELSE TT1 = UT11 + DTD TT2 = UT12 END IF * Status (always OK). J = 0 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_UT1UTC ( UT11, UT12, DUT1, UTC1, UTC2, J ) *+ * - - - - - - - - - - - * i a u _ U T 1 U T C * - - - - - - - - - - - * * Time scale transformation: Universal Time, UT1, to Coordinated * Universal Time, UTC. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical. * * Given: * UT11,UT12 d UT1 as a 2-part Julian Date (Note 1) * DUT1 d Delta UT1: UT1-UTC in seconds (Note 2) * * Returned: * UTC1,UTC2 d UTC as a 2-part quasi Julian Date (Notes 3,4) * J i status: +1 = dubious year (Note 5) * 0 = OK * -1 = unacceptable date * * Notes: * * 1) UT11+UT12 is Julian Date, apportioned in any convenient way * between the two arguments, for example where UT11 is the Julian * Day Number and UT12 is the fraction of a day. The returned UTC1 * and UTC2 form an analogous pair, except that a special convention * is used, to deal with the problem of leap seconds - see Note 3. * * 2) Delta UT1 can be obtained from tabulations provided by the * International Earth Rotation and Reference Systems Service. The * value changes abruptly by 1s at a leap second; however, close to * a leap second the algorithm used here is tolerant of the "wrong" * choice of value being made. * * 3) JD cannot unambiguously represent UTC during a leap second unless * special measures are taken. The convention in the present routine * is that the returned quasi JD day UTC1+UTC2 represents UTC days * whether the length is 86399, 86400 or 86401 SI seconds. * * 4) The routine iau_D2DTF can be used to transform the UTC quasi-JD * into calendar date and clock time, including UTC leap second * handling. * * 5) The warning status "dubious year" flags UTCs that predate the * introduction of the time scale or that are too far in the future * to be trusted. See iau_DAT for further details. * * Called: * iau_JD2CAL JD to Gregorian calendar * iau_DAT delta(AT) = TAI-UTC * iau_CAL2JD Gregorian calendar to JD * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992) * * This revision: 2013 April 16 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION UT11, UT12, DUT1, UTC1, UTC2 INTEGER J * Days to seconds DOUBLE PRECISION D2S PARAMETER ( D2S = 86400D0 ) LOGICAL BIG1 INTEGER I, IY, IM, ID, JS DOUBLE PRECISION DUTS, U1, U2, D1, DATS1, D2, FD, DATS2, DDATS, : US1, US2, DU * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * UT1-UTC in seconds. DUTS = DUT1 * Put the two parts of the UT1 into big-first order. BIG1 = UT11.GE.UT12 IF ( BIG1 ) THEN U1 = UT11 U2 = UT12 ELSE U1 = UT12 U2 = UT11 END IF * See if the UT1 can possibly be in a leap-second day. D1 = U1 DATS1 = 0D0 DO 1 I=-1,3 D2 = U2 + DBLE(I) CALL iau_JD2CAL ( D1, D2, IY, IM, ID, FD, JS ) IF ( JS.NE.0 ) GO TO 9 CALL iau_DAT ( IY, IM, ID, 0D0, DATS2, JS ) IF ( JS.LT.0 ) GO TO 9 IF ( I.EQ.-1 ) DATS1 = DATS2 DDATS = DATS2 - DATS1 IF ( ABS(DDATS).GE.0.5D0 ) THEN * Yes, leap second nearby: ensure UT1-UTC is "before" value. IF ( DDATS*DUTS.GE.0D0 ) DUTS = DUTS-DDATS * UT1 for the start of the UTC day that ends in a leap. CALL iau_CAL2JD ( IY, IM, ID, D1, D2, JS ) US1 = D1 US2 = D2 - 1D0 + DUTS/D2S * Is the UT1 after this point? DU = U1 - US1 DU = DU + ( U2 - US2 ) IF ( DU.GT.0D0 ) THEN * Yes: fraction of the current UTC day that has elapsed. FD = DU * D2S / ( D2S + DDATS ) * Ramp UT1-UTC to bring about SOFA's JD(UTC) convention. DUTS = DUTS + DDATS*MIN(FD,1D0) END IF * Break. GO TO 2 END IF DATS1 = DATS2 1 CONTINUE 2 CONTINUE * Subtract the (possibly adjusted) UT1-UTC from UT1 to give UTC. U2 = U2 - DUTS/D2S * Result, safeguarding precision. IF ( BIG1 ) THEN UTC1 = U1 UTC2 = U2 ELSE UTC1 = U2 UTC2 = U1 END IF * Return the status. 9 CONTINUE J = JS * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_UTCTAI ( UTC1, UTC2, TAI1, TAI2, J ) *+ * - - - - - - - - - - - * i a u _ U T C T A I * - - - - - - - - - - - * * Time scale transformation: Coordinated Universal Time, UTC, to * International Atomic Time, TAI. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical. * * Given: * UTC1,UTC2 d UTC as a 2-part quasi Julian Date (Notes 1-4) * * Returned: * TAI1,TAI2 d TAI as a 2-part Julian Date (Note 5) * J i status: +1 = dubious year (Note 3) * 0 = OK * -1 = unacceptable date * * Notes: * * 1) UTC1+UTC2 is quasi Julian Date (see Note 2), apportioned in any * convenient way between the two arguments, for example where UTC1 * is the Julian Day Number and UTC2 is the fraction of a day. * * 2) JD cannot unambiguously represent UTC during a leap second unless * special measures are taken. The convention in the present routine * is that the JD day represents UTC days whether the length is * 86399, 86400 or 86401 SI seconds. In the 1960-1972 era there were * smaller jumps (in either direction) each time the linear UTC(TAI) * expression was changed, and these "mini-leaps" are also included * in the SOFA convention. * * 3) The warning status "dubious year" flags UTCs that predate the * introduction of the time scale or that are too far in the future * to be trusted. See iau_DAT for further details. * * 4) The routine iau_DTF2D converts from calendar date and time of day * into 2-part Julian Date, and in the case of UTC implements the * leap-second-ambiguity convention described above. * * 5) The returned TAI1,TAI2 are such that their sum is the TAI Julian * Date. * * Called: * iau_JD2CAL JD to Gregorian calendar * iau_DAT delta(AT) = TAI-UTC * iau_CAL2JD Gregorian calendar to JD * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992) * * This revision: 2013 July 26 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION UTC1, UTC2, TAI1, TAI2 INTEGER J * Days to seconds DOUBLE PRECISION D2S PARAMETER ( D2S = 86400D0 ) LOGICAL BIG1 INTEGER IY, IM, ID, JS, IYT, IMT, IDT DOUBLE PRECISION U1, U2, FD, DAT0, DAT12, W, DAT24, DLOD, DLEAP, : Z1, Z2, A2 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Put the two parts of the UTC into big-first order. BIG1 = UTC1.GE.UTC2 IF ( BIG1 ) THEN U1 = UTC1 U2 = UTC2 ELSE U1 = UTC2 U2 = UTC1 END IF * Get TAI-UTC at 0h today. CALL iau_JD2CAL ( U1, U2, IY, IM, ID, FD, JS ) IF ( JS.NE.0 ) GO TO 9 CALL iau_DAT ( IY, IM, ID, 0D0, DAT0, JS ) IF ( JS.LT.0 ) GO TO 9 * Get TAI-UTC at 12h today (to detect drift). CALL iau_DAT ( IY, IM, ID, 0.5D0, DAT12, JS ) IF ( JS.LT.0 ) GO TO 9 * Get TAI-UTC at 0h tomorrow (to detect jumps). CALL iau_JD2CAL ( U1+1.5D0, U2-FD, IYT, IMT, IDT, W, JS ) IF ( JS.NE.0 ) GO TO 9 CALL iau_DAT ( IYT, IMT, IDT, 0D0, DAT24, JS ) IF ( JS.LT.0 ) GO TO 9 * Separate TAI-UTC change into per-day (DLOD) and any jump (DLEAP). DLOD = 2D0 * ( DAT12 - DAT0 ) DLEAP = DAT24 - ( DAT0 + DLOD ) * Remove any scaling applied to spread leap into preceding day. FD = FD * (D2S+DLEAP)/D2S * Scale from (pre-1972) UTC seconds to SI seconds. FD = FD * (D2S+DLOD)/D2S * Today's calendar date to 2-part JD. CALL iau_CAL2JD ( IY, IM, ID, Z1, Z2, JS ) IF ( JS.NE.0 ) GO TO 9 * Assemble the TAI result, preserving the UTC split and order. A2 = Z1 - U1 A2 = ( A2 + Z2 ) + ( FD + DAT0/D2S ) IF ( BIG1 ) THEN TAI1 = U1 TAI2 = A2 ELSE TAI1 = A2 TAI2 = U1 END IF * Status. 9 CONTINUE J = JS * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_UTCUT1 ( UTC1, UTC2, DUT1, UT11, UT12, J ) *+ * - - - - - - - - - - - * i a u _ U T C U T 1 * - - - - - - - - - - - * * Time scale transformation: Coordinated Universal Time, UTC, to * Universal Time, UT1. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical. * * Given: * UTC1,UTC2 d UTC as a 2-part quasi Julian Date (Notes 1-4) * DUT1 d Delta UT1 = UT1-UTC in seconds (Note 5) * * Returned: * UT11,UT12 d UT1 as a 2-part Julian Date (Note 6) * J i status: +1 = dubious year (Note 3) * 0 = OK * -1 = unacceptable date * * Notes: * * 1) UTC1+UTC2 is quasi Julian Date (see Note 2), apportioned in any * convenient way between the two arguments, for example where UTC1 * is the Julian Day Number and UTC2 is the fraction of a day. * * 2) JD cannot unambiguously represent UTC during a leap second unless * special measures are taken. The convention in the present routine * is that the JD day represents UTC days whether the length is * 86399, 86400 or 86401 SI seconds. * * 3) The warning status "dubious year" flags UTCs that predate the * introduction of the time scale or that are too far in the future * to be trusted. See iau_DAT for further details. * * 4) The routine iau_DTF2D converts from calendar date and time of day * into 2-part Julian Date, and in the case of UTC implements the * leap-second-ambiguity convention described above. * * 5) Delta UT1 can be obtained from tabulations provided by the * International Earth Rotation and Reference Systems Service. * It is the caller's responsibility to supply a DUT1 argument * containing the UT1-UTC value that matches the given UTC. * * 6) The returned UT11,UT12 are such that their sum is the UT1 Julian * Date. * * References: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * Explanatory Supplement to the Astronomical Almanac, * P. Kenneth Seidelmann (ed), University Science Books (1992) * * Called: * iau_JD2CAL JD to Gregorian calendar * iau_DAT delta(AT) = TAI-UTC * iau_UTCTAI UTC to TAI * iau_TAIUT1 TAI to UT1 * * This revision: 2013 August 12 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION UTC1, UTC2, DUT1, UT11, UT12 INTEGER J INTEGER IY, IM, ID, JS, JW DOUBLE PRECISION W, DAT, DTA, TAI1, TAI2 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Look up TAI-UTC. CALL iau_JD2CAL ( UTC1, UTC2, IY, IM, ID, W, JS ) IF ( JS.NE.0 ) GO TO 9 CALL iau_DAT ( IY, IM, ID, 0D0, DAT, JS ) IF ( JS.LT.0 ) GO TO 9 * Form UT1-TAI. DTA = DUT1 - DAT * UTC to TAI to UT1. CALL iau_UTCTAI ( UTC1, UTC2, TAI1, TAI2, JW ) IF ( JW.LT.0 ) THEN JS = JW GO TO 9 END IF CALL iau_TAIUT1 ( TAI1, TAI2, DTA, UT11, UT12, JW ) * Return the status. 9 CONTINUE J = JS * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_XY06 ( DATE1, DATE2, X, Y ) *+ * - - - - - - - - - * i a u _ X Y 0 6 * - - - - - - - - - * * X,Y coordinates of celestial intermediate pole from series based * on IAU 2006 precession and IAU 2000A nutation. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: canonical model. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * X,Y d CIP X,Y coordinates (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The X,Y coordinates are those of the unit vector towards the * celestial intermediate pole. They represent the combined effects * of frame bias, precession and nutation. * * 3) The fundamental arguments used are as adopted in IERS Conventions * (2003) and are from Simon et al. (1994) and Souchay et al. (1999). * * 4) This is an alternative to the angles-based method, via the SOFA * routine iau_FW2XY and as used in iau_XYS06A for example. The * two methods agree at the 1 microarcsecond level (at present), * a negligible amount compared with the intrinsic accuracy of the * models. However, it would be unwise to mix the two methods * (angles-based and series-based) in a single application. * * Called: * iau_FAL03 mean anomaly of the Moon * iau_FALP03 mean anomaly of the Sun * iau_FAF03 mean argument of the latitude of the Moon * iau_FAD03 mean elongation of the Moon from the Sun * iau_FAOM03 mean longitude of the Moon's ascending node * iau_FAME03 mean longitude of Mercury * iau_FAVE03 mean longitude of Venus * iau_FAE03 mean longitude of Earth * iau_FAMA03 mean longitude of Mars * iau_FAJU03 mean longitude of Jupiter * iau_FASA03 mean longitude of Saturn * iau_FAUR03 mean longitude of Uranus * iau_FANE03 mean longitude of Neptune * iau_FAPA03 general accumulated precession in longitude * * References: * * Capitaine, N., Wallace, P.T. & Chapront, J., 2003, * Astron.Astrophys., 412, 567 * * Capitaine, N. & Wallace, P.T., 2006, Astron.Astrophys. 450, 855 * * McCarthy, D. D., Petit, G. (eds.), 2004, IERS Conventions (2003), * IERS Technical Note No. 32, BKG * * Simon, J.L., Bretagnon, P., Chapront, J., Chapront-Touze, M., * Francou, G. & Laskar, J., Astron.Astrophys., 1994, 282, 663 * * Souchay, J., Loysel, B., Kinoshita, H., Folgueira, M., 1999, * Astron.Astrophys.Supp.Ser. 135, 111 * * Wallace, P.T. & Capitaine, N., 2006, Astron.Astrophys. 459, 981 * * This revision: 2013 December 2 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, X, Y * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Arcseconds to radians DOUBLE PRECISION DAS2R PARAMETER ( DAS2R = 4.848136811095359935899141D-6 ) * Reference epoch (J2000.0), JD DOUBLE PRECISION DJ00 PARAMETER ( DJ00 = 2451545D0 ) * Days per Julian century DOUBLE PRECISION DJC PARAMETER ( DJC = 36525D0 ) * Maximum power of T in the polynomials for X and Y INTEGER MAXPT PARAMETER ( MAXPT = 5 ) * Numbers of frequencies: luni-solar, planetary, total INTEGER NFLS, NFPL, NF PARAMETER ( NFLS = 653, NFPL = 656, NF = NFLS+NFPL ) * Number of amplitude coefficients INTEGER NA PARAMETER ( NA = 4755 ) * Polynomial coefficients DOUBLE PRECISION XYP(0:MAXPT,0:1) * Fundamental-argument multipliers: luni-solar and planetary terms INTEGER MFALS(5,NFLS), MFAPL(14,NFPL) * Pointers into amplitudes array, one pointer per frequency INTEGER NC(NF) * Amplitude coefficients (microarcsec); indexed using the NC array DOUBLE PRECISION A(NA) * Amplitude usage INTEGER JAXY(0:MAXPT*4-1), JASC(0:MAXPT*4-1), JAPT(0:MAXPT*4-1) * Miscellaneous DOUBLE PRECISION T, W, PT(0:MAXPT), FA(14), XYPR(0:1), XYPL(0:1), : XYLS(0:1), ARG, SC(0:1) INTEGER JPT, I, J, JXY, IALAST, IFREQ, M, IA, JSC * Functions DOUBLE PRECISION iau_FAL03, iau_FALP03, iau_FAF03, iau_FAD03, : iau_FAOM03, iau_FAME03, iau_FAVE03, iau_FAE03, : iau_FAMA03, iau_FAJU03, iau_FASA03, iau_FAUR03, : iau_FANE03, iau_FAPA03 * Polynomial coefficients (arcsec). DATA ((XYP(I,JXY),I=0,MAXPT),JXY=0,1) / : : -0.016617 D0, : +2004.191898 D0, : -0.4297829 D0, : -0.19861834 D0, : +0.000007578 D0, : +0.0000059285 D0, : : -0.006951 D0, : -0.025896 D0, : -22.4072747 D0, : +0.00190059 D0, : +0.001112526 D0, : +0.0000001358 D0 / * Fundamental-argument multipliers: luni-solar terms. DATA ((MFALS(I,J),I=1,5),J=1,10) / : 0, 0, 0, 0, 1, : 0, 0, 2, -2, 2, : 0, 0, 2, 0, 2, : 0, 0, 0, 0, 2, : 0, 1, 0, 0, 0, : 0, 1, 2, -2, 2, : 1, 0, 0, 0, 0, : 0, 0, 2, 0, 1, : 1, 0, 2, 0, 2, : 0, 1, -2, 2, -2 / DATA ((MFALS(I,J),I=1,5),J=11,20) / : 0, 0, 2, -2, 1, : 1, 0, -2, 0, -2, : 1, 0, 0, -2, 0, : 1, 0, 0, 0, 1, : 1, 0, 0, 0, -1, : 1, 0, -2, -2, -2, : 1, 0, 2, 0, 1, : 2, 0, -2, 0, -1, : 0, 0, 0, 2, 0, : 0, 0, 2, 2, 2 / DATA ((MFALS(I,J),I=1,5),J=21,30) / : 2, 0, 0, -2, 0, : 0, 2, -2, 2, -2, : 2, 0, 2, 0, 2, : 1, 0, 2, -2, 2, : 1, 0, -2, 0, -1, : 2, 0, 0, 0, 0, : 0, 0, 2, 0, 0, : 0, 1, 0, 0, 1, : 1, 0, 0, -2, -1, : 0, 2, 2, -2, 2 / DATA ((MFALS(I,J),I=1,5),J=31,40) / : 0, 0, 2, -2, 0, : 1, 0, 0, -2, 1, : 0, 1, 0, 0, -1, : 0, 2, 0, 0, 0, : 1, 0, -2, -2, -1, : 1, 0, 2, 2, 2, : 0, 1, 2, 0, 2, : 2, 0, -2, 0, 0, : 0, 0, 2, 2, 1, : 0, 1, -2, 0, -2 / DATA ((MFALS(I,J),I=1,5),J=41,50) / : 0, 0, 0, 2, 1, : 1, 0, 2, -2, 1, : 2, 0, 0, -2, -1, : 2, 0, 2, -2, 2, : 2, 0, 2, 0, 1, : 0, 0, 0, 2, -1, : 0, 1, -2, 2, -1, : 1, 1, 0, -2, 0, : 2, 0, 0, -2, 1, : 1, 0, 0, 2, 0 / DATA ((MFALS(I,J),I=1,5),J=51,60) / : 0, 1, 2, -2, 1, : 1, -1, 0, 0, 0, : 0, 1, -1, 1, -1, : 2, 0, -2, 0, -2, : 0, 1, 0, -2, 0, : 1, 0, 0, -1, 0, : 3, 0, 2, 0, 2, : 0, 0, 0, 1, 0, : 1, -1, 2, 0, 2, : 1, 1, -2, -2, -2 / DATA ((MFALS(I,J),I=1,5),J=61,70) / : 1, 0, -2, 0, 0, : 2, 0, 0, 0, -1, : 0, 1, -2, -2, -2, : 1, 1, 2, 0, 2, : 2, 0, 0, 0, 1, : 1, 1, 0, 0, 0, : 1, 0, -2, 2, -1, : 1, 0, 2, 0, 0, : 1, -1, 0, -1, 0, : 1, 0, 0, 0, 2 / DATA ((MFALS(I,J),I=1,5),J=71,80) / : 1, 0, -1, 0, -1, : 0, 0, 2, 1, 2, : 1, 0, -2, -4, -2, : 1, -1, 0, -1, -1, : 1, 0, 2, 2, 1, : 0, 2, -2, 2, -1, : 1, 0, 0, 0, -2, : 2, 0, -2, -2, -2, : 1, 1, 2, -2, 2, : 2, 0, -2, -4, -2 / DATA ((MFALS(I,J),I=1,5),J=81,90) / : 1, 0, -4, 0, -2, : 2, 0, 2, -2, 1, : 1, 0, 0, -1, -1, : 2, 0, 2, 2, 2, : 3, 0, 0, 0, 0, : 1, 0, 0, 2, 1, : 0, 0, 2, -2, -1, : 3, 0, 2, -2, 2, : 0, 0, 4, -2, 2, : 1, 0, 0, -4, 0 / DATA ((MFALS(I,J),I=1,5),J=91,100) / : 0, 1, 2, 0, 1, : 2, 0, 0, -4, 0, : 1, 1, 0, -2, -1, : 2, 0, -2, 0, 1, : 0, 0, 2, 0, -1, : 0, 1, -2, 0, -1, : 0, 1, 0, 0, 2, : 0, 0, 2, -1, 2, : 0, 0, 2, 4, 2, : 2, 1, 0, -2, 0 / DATA ((MFALS(I,J),I=1,5),J=101,110) / : 1, 1, 0, -2, 1, : 1, -1, 0, -2, 0, : 1, -1, 0, -1, -2, : 1, -1, 0, 0, 1, : 0, 1, -2, 2, 0, : 0, 1, 0, 0, -2, : 1, -1, 2, 2, 2, : 1, 0, 0, 2, -1, : 1, -1, -2, -2, -2, : 3, 0, 2, 0, 1 / DATA ((MFALS(I,J),I=1,5),J=111,120) / : 0, 1, 2, 2, 2, : 1, 0, 2, -2, 0, : 1, 1, -2, -2, -1, : 1, 0, 2, -4, 1, : 0, 1, -2, -2, -1, : 2, -1, 2, 0, 2, : 0, 0, 0, 2, 2, : 1, -1, 2, 0, 1, : 1, -1, -2, 0, -2, : 0, 1, 0, 2, 0 / DATA ((MFALS(I,J),I=1,5),J=121,130) / : 0, 1, 2, -2, 0, : 0, 0, 0, 1, 1, : 1, 0, -2, -2, 0, : 0, 3, 2, -2, 2, : 2, 1, 2, 0, 2, : 1, 1, 0, 0, 1, : 2, 0, 0, 2, 0, : 1, 1, 2, 0, 1, : 1, 0, 0, -2, -2, : 1, 0, -2, 2, 0 / DATA ((MFALS(I,J),I=1,5),J=131,140) / : 1, 0, -1, 0, -2, : 0, 1, 0, -2, 1, : 0, 1, 0, 1, 0, : 0, 0, 0, 1, -1, : 1, 0, -2, 2, -2, : 1, -1, 0, 0, -1, : 0, 0, 0, 4, 0, : 1, -1, 0, 2, 0, : 1, 0, 2, 1, 2, : 1, 0, 2, -1, 2 / DATA ((MFALS(I,J),I=1,5),J=141,150) / : 0, 0, 2, 1, 1, : 1, 0, 0, -2, 2, : 1, 0, -2, 0, 1, : 1, 0, -2, -4, -1, : 0, 0, 2, 2, 0, : 1, 1, 2, -2, 1, : 1, 0, -2, 1, -1, : 0, 0, 1, 0, 1, : 2, 0, -2, -2, -1, : 4, 0, 2, 0, 2 / DATA ((MFALS(I,J),I=1,5),J=151,160) / : 2, -1, 0, 0, 0, : 2, 1, 2, -2, 2, : 0, 1, 2, 1, 2, : 1, 0, 4, -2, 2, : 1, 1, 0, 0, -1, : 2, 0, 2, 0, 0, : 2, 0, -2, -4, -1, : 1, 0, -1, 0, 0, : 1, 0, 0, 1, 0, : 0, 1, 0, 2, 1 / DATA ((MFALS(I,J),I=1,5),J=161,170) / : 1, 0, -4, 0, -1, : 1, 0, 0, -4, -1, : 2, 0, 2, 2, 1, : 2, 1, 0, 0, 0, : 0, 0, 2, -3, 2, : 1, 2, 0, -2, 0, : 0, 3, 0, 0, 0, : 0, 0, 4, 0, 2, : 0, 0, 2, -4, 1, : 2, 0, 0, -2, -2 / DATA ((MFALS(I,J),I=1,5),J=171,180) / : 1, 1, -2, -4, -2, : 0, 1, 0, -2, -1, : 0, 0, 0, 4, 1, : 3, 0, 2, -2, 1, : 1, 0, 2, 4, 2, : 1, 1, -2, 0, -2, : 0, 0, 4, -2, 1, : 2, -2, 0, -2, 0, : 2, 1, 0, -2, -1, : 0, 2, 0, -2, 0 / DATA ((MFALS(I,J),I=1,5),J=181,190) / : 1, 0, 0, -1, 1, : 1, 1, 2, 2, 2, : 3, 0, 0, 0, -1, : 2, 0, 0, -4, -1, : 3, 0, 2, 2, 2, : 0, 0, 2, 4, 1, : 0, 2, -2, -2, -2, : 1, -1, 0, -2, -1, : 0, 0, 2, -1, 1, : 2, 0, 0, 2, 1 / DATA ((MFALS(I,J),I=1,5),J=191,200) / : 1, -1, -2, 2, -1, : 0, 0, 0, 2, -2, : 2, 0, 0, -4, 1, : 1, 0, 0, -4, 1, : 2, 0, 2, -4, 1, : 4, 0, 2, -2, 2, : 2, 1, -2, 0, -1, : 2, 1, -2, -4, -2, : 3, 0, 0, -4, 0, : 1, -1, 2, 2, 1 / DATA ((MFALS(I,J),I=1,5),J=201,210) / : 1, -1, -2, 0, -1, : 0, 2, 0, 0, 1, : 1, 2, -2, -2, -2, : 1, 1, 0, -4, 0, : 2, 0, 0, -2, 2, : 0, 2, 2, -2, 1, : 1, 0, 2, 0, -1, : 2, 1, 0, -2, 1, : 2, -1, -2, 0, -1, : 1, -1, -2, -2, -1 / DATA ((MFALS(I,J),I=1,5),J=211,220) / : 0, 1, -2, 1, -2, : 1, 0, -4, 2, -2, : 0, 1, 2, 2, 1, : 3, 0, 0, 0, 1, : 2, -1, 2, 2, 2, : 0, 1, -2, -4, -2, : 1, 0, -2, -3, -2, : 2, 0, 0, 0, 2, : 1, -1, 0, -2, -2, : 2, 0, -2, 2, -1 / DATA ((MFALS(I,J),I=1,5),J=221,230) / : 0, 2, -2, 0, -2, : 3, 0, -2, 0, -1, : 2, -1, 2, 0, 1, : 1, 0, -2, -1, -2, : 0, 0, 2, 0, 3, : 2, 0, -4, 0, -2, : 2, 1, 0, -4, 0, : 1, 1, -2, 1, -1, : 0, 2, 2, 0, 2, : 1, -1, 2, -2, 2 / DATA ((MFALS(I,J),I=1,5),J=231,240) / : 1, -1, 0, -2, 1, : 2, 1, 2, 0, 1, : 1, 0, 2, -4, 2, : 1, 1, -2, 0, -1, : 1, 1, 0, 2, 0, : 1, 0, 0, -3, 0, : 2, 0, 2, -1, 2, : 0, 2, 0, 0, -1, : 2, -1, 0, -2, 0, : 4, 0, 0, 0, 0 / DATA ((MFALS(I,J),I=1,5),J=241,250) / : 2, 1, -2, -2, -2, : 0, 2, -2, 2, 0, : 1, 0, 2, 1, 1, : 1, 0, -1, 0, -3, : 3, -1, 2, 0, 2, : 2, 0, 2, -2, 0, : 1, -2, 0, 0, 0, : 2, 0, 0, 0, -2, : 1, 0, 0, 4, 0, : 0, 1, 0, 1, 1 / DATA ((MFALS(I,J),I=1,5),J=251,260) / : 1, 0, 2, 2, 0, : 0, 1, 0, 2, -1, : 0, 1, 0, 1, -1, : 0, 0, 2, -2, 3, : 3, 1, 2, 0, 2, : 1, 1, 2, 1, 2, : 1, 1, -2, 2, -1, : 2, -1, 2, -2, 2, : 1, -2, 2, 0, 2, : 1, 0, 2, -4, 0 / DATA ((MFALS(I,J),I=1,5),J=261,270) / : 0, 0, 1, 0, 0, : 1, 0, 2, -3, 1, : 1, -2, 0, -2, 0, : 2, 0, 0, 2, -1, : 1, 1, 2, -4, 1, : 4, 0, 2, 0, 1, : 0, 1, 2, 1, 1, : 1, 2, 2, -2, 2, : 2, 0, 2, 1, 2, : 2, 1, 2, -2, 1 / DATA ((MFALS(I,J),I=1,5),J=271,280) / : 1, 0, 2, -1, 1, : 1, 0, 4, -2, 1, : 1, -1, 2, -2, 1, : 0, 1, 0, -4, 0, : 3, 0, -2, -2, -2, : 0, 0, 4, -4, 2, : 2, 0, -4, -2, -2, : 2, -2, 0, -2, -1, : 1, 0, 2, -2, -1, : 2, 0, -2, -6, -2 / DATA ((MFALS(I,J),I=1,5),J=281,290) / : 1, 0, -2, 1, -2, : 1, 0, -2, 2, 1, : 1, -1, 0, 2, -1, : 1, 0, -2, 1, 0, : 2, -1, 0, -2, 1, : 1, -1, 0, 2, 1, : 2, 0, -2, -2, 0, : 1, 0, 2, -3, 2, : 0, 0, 0, 4, -1, : 2, -1, 0, 0, 1 / DATA ((MFALS(I,J),I=1,5),J=291,300) / : 2, 0, 4, -2, 2, : 0, 0, 2, 3, 2, : 0, 1, 4, -2, 2, : 0, 1, -2, 2, 1, : 1, 1, 0, 2, 1, : 1, 0, 0, 4, 1, : 0, 0, 4, 0, 1, : 2, 0, 0, -3, 0, : 1, 0, 0, -1, -2, : 1, -2, -2, -2, -2 / DATA ((MFALS(I,J),I=1,5),J=301,310) / : 3, 0, 0, 2, 0, : 2, 0, 2, -4, 2, : 1, 1, -2, -4, -1, : 1, 0, -2, -6, -2, : 2, -1, 0, 0, -1, : 2, -1, 0, 2, 0, : 0, 1, 2, -2, -1, : 1, 1, 0, 1, 0, : 1, 2, 0, -2, -1, : 1, 0, 0, 1, -1 / DATA ((MFALS(I,J),I=1,5),J=311,320) / : 0, 0, 1, 0, 2, : 3, 1, 2, -2, 2, : 1, 0, -4, -2, -2, : 1, 0, 2, 4, 1, : 1, -2, 2, 2, 2, : 1, -1, -2, -4, -2, : 0, 0, 2, -4, 2, : 0, 0, 2, -3, 1, : 2, 1, -2, 0, 0, : 3, 0, -2, -2, -1 / DATA ((MFALS(I,J),I=1,5),J=321,330) / : 2, 0, 2, 4, 2, : 0, 0, 0, 0, 3, : 2, -1, -2, -2, -2, : 2, 0, 0, -1, 0, : 3, 0, 2, -4, 2, : 2, 1, 2, 2, 2, : 0, 0, 3, 0, 3, : 1, 1, 2, 2, 1, : 2, 1, 0, 0, -1, : 1, 2, 0, -2, 1 / DATA ((MFALS(I,J),I=1,5),J=331,340) / : 3, 0, 2, 2, 1, : 1, -1, -2, 2, -2, : 1, 1, 0, -1, 0, : 1, 2, 0, 0, 0, : 1, 0, 4, 0, 2, : 1, -1, 2, 4, 2, : 2, 1, 0, 0, 1, : 1, 0, 0, 2, 2, : 1, -1, -2, 2, 0, : 0, 2, -2, -2, -1 / DATA ((MFALS(I,J),I=1,5),J=341,350) / : 2, 0, -2, 0, 2, : 5, 0, 2, 0, 2, : 3, 0, -2, -6, -2, : 1, -1, 2, -1, 2, : 3, 0, 0, -4, -1, : 1, 0, 0, 1, 1, : 1, 0, -4, 2, -1, : 0, 1, 2, -4, 1, : 1, 2, 2, 0, 2, : 0, 1, 0, -2, -2 / DATA ((MFALS(I,J),I=1,5),J=351,360) / : 0, 0, 2, -1, 0, : 1, 0, 1, 0, 1, : 0, 2, 0, -2, 1, : 3, 0, 2, 0, 0, : 1, 1, -2, 1, 0, : 2, 1, -2, -4, -1, : 3, -1, 0, 0, 0, : 2, -1, -2, 0, 0, : 4, 0, 2, -2, 1, : 2, 0, -2, 2, 0 / DATA ((MFALS(I,J),I=1,5),J=361,370) / : 1, 1, 2, -2, 0, : 1, 0, -2, 4, -1, : 1, 0, -2, -2, 1, : 2, 0, 2, -4, 0, : 1, 1, 0, -2, -2, : 1, 1, -2, -2, 0, : 1, 0, 1, -2, 1, : 2, -1, -2, -4, -2, : 3, 0, -2, 0, -2, : 0, 1, -2, -2, 0 / DATA ((MFALS(I,J),I=1,5),J=371,380) / : 3, 0, 0, -2, -1, : 1, 0, -2, -3, -1, : 0, 1, 0, -4, -1, : 1, -2, 2, -2, 1, : 0, 1, -2, 1, -1, : 1, -1, 0, 0, 2, : 2, 0, 0, 1, 0, : 1, -2, 0, 2, 0, : 1, 2, -2, -2, -1, : 0, 0, 4, -4, 1 / DATA ((MFALS(I,J),I=1,5),J=381,390) / : 0, 1, 2, 4, 2, : 0, 1, -4, 2, -2, : 3, 0, -2, 0, 0, : 2, -1, 2, 2, 1, : 0, 1, -2, -4, -1, : 4, 0, 2, 2, 2, : 2, 0, -2, -3, -2, : 2, 0, 0, -6, 0, : 1, 0, 2, 0, 3, : 3, 1, 0, 0, 0 / DATA ((MFALS(I,J),I=1,5),J=391,400) / : 3, 0, 0, -4, 1, : 1, -1, 2, 0, 0, : 1, -1, 0, -4, 0, : 2, 0, -2, 2, -2, : 1, 1, 0, -2, 2, : 4, 0, 0, -2, 0, : 2, 2, 0, -2, 0, : 0, 1, 2, 0, 0, : 1, 1, 0, -4, 1, : 1, 0, 0, -4, -2 / DATA ((MFALS(I,J),I=1,5),J=401,410) / : 0, 0, 0, 1, 2, : 3, 0, 0, 2, 1, : 1, 1, 0, -4, -1, : 0, 0, 2, 2, -1, : 1, 1, 2, 0, 0, : 1, -1, 2, -4, 1, : 1, 1, 0, 0, 2, : 0, 0, 2, 6, 2, : 4, 0, -2, -2, -1, : 2, 1, 0, -4, -1 / DATA ((MFALS(I,J),I=1,5),J=411,420) / : 0, 0, 0, 3, 1, : 1, -1, -2, 0, 0, : 0, 0, 2, 1, 0, : 1, 0, 0, 2, -2, : 3, -1, 2, 2, 2, : 3, -1, 2, -2, 2, : 1, 0, 0, -1, 2, : 1, -2, 2, -2, 2, : 0, 1, 0, 2, 2, : 0, 1, -2, -1, -2 / DATA ((MFALS(I,J),I=1,5),J=421,430) / : 1, 1, -2, 0, 0, : 0, 2, 2, -2, 0, : 3, -1, -2, -1, -2, : 1, 0, 0, -6, 0, : 1, 0, -2, -4, 0, : 2, 1, 0, -4, 1, : 2, 0, 2, 0, -1, : 2, 0, -4, 0, -1, : 0, 0, 3, 0, 2, : 2, 1, -2, -2, -1 / DATA ((MFALS(I,J),I=1,5),J=431,440) / : 1, -2, 0, 0, 1, : 2, -1, 0, -4, 0, : 0, 0, 0, 3, 0, : 5, 0, 2, -2, 2, : 1, 2, -2, -4, -2, : 1, 0, 4, -4, 2, : 0, 0, 4, -1, 2, : 3, 1, 0, -4, 0, : 3, 0, 0, -6, 0, : 2, 0, 0, 2, 2 / DATA ((MFALS(I,J),I=1,5),J=441,450) / : 2, -2, 2, 0, 2, : 1, 0, 0, -3, 1, : 1, -2, -2, 0, -2, : 1, -1, -2, -3, -2, : 0, 0, 2, -2, -2, : 2, 0, -2, -4, 0, : 1, 0, -4, 0, 0, : 0, 1, 0, -1, 0, : 4, 0, 0, 0, -1, : 3, 0, 2, -1, 2 / DATA ((MFALS(I,J),I=1,5),J=451,460) / : 3, -1, 2, 0, 1, : 2, 0, 2, -1, 1, : 1, 2, 2, -2, 1, : 1, 1, 0, 2, -1, : 0, 2, 2, 0, 1, : 3, 1, 2, 0, 1, : 1, 1, 2, 1, 1, : 1, 1, 0, -1, 1, : 1, -2, 0, -2, -1, : 4, 0, 0, -4, 0 / DATA ((MFALS(I,J),I=1,5),J=461,470) / : 2, 1, 0, 2, 0, : 1, -1, 0, 4, 0, : 0, 1, 0, -2, 2, : 0, 0, 2, 0, -2, : 1, 0, -1, 0, 1, : 3, 0, 2, -2, 0, : 2, 0, 2, 2, 0, : 1, 2, 0, -4, 0, : 1, -1, 0, -3, 0, : 0, 1, 0, 4, 0 / DATA ((MFALS(I,J),I=1,5),J=471,480) / : 0, 1, -2, 0, 0, : 2, 2, 2, -2, 2, : 0, 0, 0, 1, -2, : 0, 2, -2, 0, -1, : 4, 0, 2, -4, 2, : 2, 0, -4, 2, -2, : 2, -1, -2, 0, -2, : 1, 1, 4, -2, 2, : 1, 1, 2, -4, 2, : 1, 0, 2, 3, 2 / DATA ((MFALS(I,J),I=1,5),J=481,490) / : 1, 0, 0, 4, -1, : 0, 0, 0, 4, 2, : 2, 0, 0, 4, 0, : 1, 1, -2, 2, 0, : 2, 1, 2, 1, 2, : 2, 1, 2, -4, 1, : 2, 0, 2, 1, 1, : 2, 0, -4, -2, -1, : 2, 0, -2, -6, -1, : 2, -1, 2, -1, 2 / DATA ((MFALS(I,J),I=1,5),J=491,500) / : 1, -2, 2, 0, 1, : 1, -2, 0, -2, 1, : 1, -1, 0, -4, -1, : 0, 2, 2, 2, 2, : 0, 2, -2, -4, -2, : 0, 1, 2, 3, 2, : 0, 1, 0, -4, 1, : 3, 0, 0, -2, 1, : 2, 1, -2, 0, 1, : 2, 0, 4, -2, 1 / DATA ((MFALS(I,J),I=1,5),J=501,510) / : 2, 0, 0, -3, -1, : 2, -2, 0, -2, 1, : 2, -1, 2, -2, 1, : 1, 0, 0, -6, -1, : 1, -2, 0, 0, -1, : 1, -2, -2, -2, -1, : 0, 1, 4, -2, 1, : 0, 0, 2, 3, 1, : 2, -1, 0, -1, 0, : 1, 3, 0, -2, 0 / DATA ((MFALS(I,J),I=1,5),J=511,520) / : 0, 3, 0, -2, 0, : 2, -2, 2, -2, 2, : 0, 0, 4, -2, 0, : 4, -1, 2, 0, 2, : 2, 2, -2, -4, -2, : 4, 1, 2, 0, 2, : 4, -1, -2, -2, -2, : 2, 1, 0, -2, -2, : 2, 1, -2, -6, -2, : 2, 0, 0, -1, 1 / DATA ((MFALS(I,J),I=1,5),J=521,530) / : 2, -1, -2, 2, -1, : 1, 1, -2, 2, -2, : 1, 1, -2, -3, -2, : 1, 0, 3, 0, 3, : 1, 0, -2, 1, 1, : 1, 0, -2, 0, 2, : 1, -1, 2, 1, 2, : 1, -1, 0, 0, -2, : 1, -1, -4, 2, -2, : 0, 3, -2, -2, -2 / DATA ((MFALS(I,J),I=1,5),J=531,540) / : 0, 1, 0, 4, 1, : 0, 0, 4, 2, 2, : 3, 0, -2, -2, 0, : 2, -2, 0, 0, 0, : 1, 1, 2, -4, 0, : 1, 1, 0, -3, 0, : 1, 0, 2, -3, 0, : 1, -1, 2, -2, 0, : 0, 2, 0, 2, 0, : 0, 0, 2, 4, 0 / DATA ((MFALS(I,J),I=1,5),J=541,550) / : 1, 0, 1, 0, 0, : 3, 1, 2, -2, 1, : 3, 0, 4, -2, 2, : 3, 0, 2, 1, 2, : 3, 0, 0, 2, -1, : 3, 0, 0, 0, 2, : 3, 0, -2, 2, -1, : 2, 0, 4, -4, 2, : 2, 0, 2, -3, 2, : 2, 0, 0, 4, 1 / DATA ((MFALS(I,J),I=1,5),J=551,560) / : 2, 0, 0, -3, 1, : 2, 0, -4, 2, -1, : 2, 0, -2, -2, 1, : 2, -2, 2, 2, 2, : 2, -2, 0, -2, -2, : 2, -1, 0, 2, 1, : 2, -1, 0, 2, -1, : 1, 1, 2, 4, 2, : 1, 1, 0, 1, 1, : 1, 1, 0, 1, -1 / DATA ((MFALS(I,J),I=1,5),J=561,570) / : 1, 1, -2, -6, -2, : 1, 0, 0, -3, -1, : 1, 0, -4, -2, -1, : 1, 0, -2, -6, -1, : 1, -2, 2, 2, 1, : 1, -2, -2, 2, -1, : 1, -1, -2, -4, -1, : 0, 2, 0, 0, 2, : 0, 1, 2, -4, 2, : 0, 1, -2, 4, -1 / DATA ((MFALS(I,J),I=1,5),J=571,580) / : 5, 0, 0, 0, 0, : 3, 0, 0, -3, 0, : 2, 2, 0, -4, 0, : 1, -1, 2, 2, 0, : 0, 1, 0, 3, 0, : 4, 0, -2, 0, -1, : 3, 0, -2, -6, -1, : 3, 0, -2, -1, -1, : 2, 1, 2, 2, 1, : 2, 1, 0, 2, 1 / DATA ((MFALS(I,J),I=1,5),J=581,590) / : 2, 0, 2, 4, 1, : 2, 0, 2, -6, 1, : 2, 0, 2, -2, -1, : 2, 0, 0, -6, -1, : 2, -1, -2, -2, -1, : 1, 2, 2, 0, 1, : 1, 2, 0, 0, 1, : 1, 0, 4, 0, 1, : 1, 0, 2, -6, 1, : 1, 0, 2, -4, -1 / DATA ((MFALS(I,J),I=1,5),J=591,600) / : 1, 0, -1, -2, -1, : 1, -1, 2, 4, 1, : 1, -1, 2, -3, 1, : 1, -1, 0, 4, 1, : 1, -1, -2, 1, -1, : 0, 1, 2, -2, 3, : 3, 0, 0, -2, 0, : 1, 0, 1, -2, 0, : 0, 2, 0, -4, 0, : 0, 0, 2, -4, 0 / DATA ((MFALS(I,J),I=1,5),J=601,610) / : 0, 0, 1, -1, 0, : 0, 0, 0, 6, 0, : 0, 2, 0, 0, -2, : 0, 1, -2, 2, -3, : 4, 0, 0, 2, 0, : 3, 0, 0, -1, 0, : 3, -1, 0, 2, 0, : 2, 1, 0, 1, 0, : 2, 1, 0, -6, 0, : 2, -1, 2, 0, 0 / DATA ((MFALS(I,J),I=1,5),J=611,620) / : 1, 0, 2, -1, 0, : 1, -1, 0, 1, 0, : 1, -1, -2, -2, 0, : 0, 1, 2, 2, 0, : 0, 0, 2, -3, 0, : 2, 2, 0, -2, -1, : 2, -1, -2, 0, 1, : 1, 2, 2, -4, 1, : 0, 1, 4, -4, 2, : 0, 0, 0, 3, 2 / DATA ((MFALS(I,J),I=1,5),J=621,630) / : 5, 0, 2, 0, 1, : 4, 1, 2, -2, 2, : 4, 0, -2, -2, 0, : 3, 1, 2, 2, 2, : 3, 1, 0, -2, 0, : 3, 1, -2, -6, -2, : 3, 0, 0, 0, -2, : 3, 0, -2, -4, -2, : 3, -1, 0, -3, 0, : 3, -1, 0, -2, 0 / DATA ((MFALS(I,J),I=1,5),J=631,640) / : 2, 1, 2, 0, 0, : 2, 1, 2, -4, 2, : 2, 1, 2, -2, 0, : 2, 1, 0, -3, 0, : 2, 1, -2, 0, -2, : 2, 0, 0, -4, 2, : 2, 0, 0, -4, -2, : 2, 0, -2, -5, -2, : 2, -1, 2, 4, 2, : 2, -1, 0, -2, 2 / DATA ((MFALS(I,J),I=1,5),J=641,650) / : 1, 3, -2, -2, -2, : 1, 1, 0, 0, -2, : 1, 1, 0, -6, 0, : 1, 1, -2, 1, -2, : 1, 1, -2, -1, -2, : 1, 0, 2, 1, 0, : 1, 0, 0, 3, 0, : 1, 0, 0, -4, 2, : 1, 0, -2, 4, -2, : 1, -2, 0, -1, 0 / DATA ((MFALS(I,J),I=1,5),J=651,NFLS) / : 0, 1, -4, 2, -1, : 1, 0, -2, 0, -3, : 0, 0, 4, -4, 4 / * Fundamental-argument multipliers: planetary terms. DATA ((MFAPL(I,J),I=1,14),J=1,10) / : 0, 0, 1, -1, 1, 0, 0, -1, 0, -2, 5, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, -2, : 0, 0, 1, -1, 1, 0, -8, 12, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 8,-16, 4, 5, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, -1, 2, 0, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=11,20) / : 0, 0, 0, 0, 0, 0, 8,-13, 0, 0, 0, 0, 0, -1, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 2, -5, 0, 0, 0, : 0, 0, 2, -2, 1, 0, -5, 6, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, -8, 3, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 6, -8, 3, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=21,30) / : 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 1, 0, 0, -4, 8, -3, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 4, -8, 3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, : 0, 0, 1, -1, 1, 0, 0, 0, -2, 0, 0, 0, 0, 0, : 2, 0, 0, -2, -1, 0, 0, -2, 0, 2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, : 2, 0, 0, -2, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=31,40) / : 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 8,-13, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 1, : 2, 0, 0, -2, 0, 0, 0, -2, 0, 3, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, -1, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, -1, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=41,50) / : 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, -2, : 0, 0, 1, -1, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 4, 0, -2, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 8,-13, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 2, : 1, 0, 0, 0, 0, 0,-18, 16, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 2 / DATA ((MFAPL(I,J),I=1,14),J=51,60) / : 0, 0, 1, -1, 1, 0, -5, 7, 0, 0, 0, 0, 0, 0, : 1, 0, 0, 0, 0, 0,-10, 3, 0, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 0, 0, -5, 6, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 2, : 1, 0, 2, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, : 1, 0, -2, 0, -2, 0, 0, 4, -8, 3, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 2, 0, 0, 0, : 0, 0, 2, -2, 1, 0, -3, 3, 0, 0, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=61,70) / : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 8,-16, 4, 5, 0, 0, -2, : 0, 0, 1, -1, 1, 0, 0, 3, -8, 3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 8,-11, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 8,-16, 4, 5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=71,80) / : 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 8,-15, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 2, : 0, 0, 1, -1, 1, 0, 0, -5, 8, -3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=81,90) / : 2, 0, 0, -2, 1, 0, 0, -2, 0, 3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, -1, : 2, 0, 0, -2, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 8,-13, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 0, 0, -2, 5, 0, 0, 0, : 1, 0, 0, -1, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2, : 1, 0, 0, 0, -1, 0,-18, 16, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, -5, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=91,100) / : 1, 0, 0, -2, 0, 0, 19,-21, 3, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, -8, 13, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 1, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2, : 1, 0, 0, 0, 1, 0,-18, 16, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 0, 6,-16, 4, 5, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, -2 / DATA ((MFAPL(I,J),I=1,14),J=101,110) / : 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, : 2, 0, 0, -2, 1, 0, 0, -2, 0, 2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0, : 2, 0, 0, -2, -1, 0, 0, -2, 0, 3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 2 / DATA ((MFAPL(I,J),I=1,14),J=111,120) / : 0, 0, 0, 0, 1, 0, 0, 1, -2, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, : 0, 0, 2, -2, 1, 0, 0, -2, 0, 2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, : 2, 0, 0, -2, 0, 0, -6, 8, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -2, 2, 0, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=121,130) / : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 8,-10, 0, 0, 0, 0, 0, -2, : 0, 0, 1, -1, 1, 0, -3, 4, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, -2, : 1, 0, 0, -1, 1, 0, 0, -1, 0, 2, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=131,140) / : 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 4, 0, -3, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 1, 0, 2, -3, 0, 0, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=141,150) / : 1, 0, 0, -1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 9,-11, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 0, 8,-15, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, -4, 5, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 4, 0, -1, 0, 0, 0, 2 / DATA ((MFAPL(I,J),I=1,14),J=151,160) / : 1, 0, 0, -1, 1, 0, -3, 4, 0, 0, 0, 0, 0, 0, : 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, -4, 10, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 1, -1, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 0, 0, 0, -1, 0, 0, -1, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, -2, : 0, 0, 2, -2, 1, 0, -4, 4, 0, 0, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=161,170) / : 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -1, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 2, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 0, 0, 2, 0, : 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, -9, 13, 0, 0, 0, 0, 0, : 2, 0, 2, 0, 2, 0, 0, 2, 0, -3, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=171,180) / : 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, -2, : 0, 0, 1, -1, 2, 0, 0, -1, 0, 0, 2, 0, 0, 0, : 1, 0, 0, -1, -1, 0, -3, 4, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, : 1, 0, 2, 0, 1, 0, 0, -2, 0, 3, 0, 0, 0, 0, : 1, 0, -2, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, -2, 4, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=181,190) / : 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, : 0, 0, 2, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, -8, 3, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 6,-10, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 7, -8, 3, 0, 0, 0, 2, : 0, 0, 0, 0, 1, 0, -3, 5, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 1 / DATA ((MFAPL(I,J),I=1,14),J=191,200) / : 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 7,-10, 0, 0, 0, 0, 0, -2, : 1, 0, 0, -2, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -5, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, -1, : 0, 0, 1, -1, 1, 0, 0, -9, 15, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, -2, 3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, -1, 1, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=201,210) / : 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -1, 0, 0, 2, : 2, 0, 0, -2, 1, 0, -6, 8, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, -1, : 0, 0, 1, -1, 1, 0, 3, -6, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, -2, 2, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 8,-14, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=211,220) / : 0, 0, 0, 0, 1, 0, 0, 8,-15, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0, : 2, 0, 0, -2, 1, 0, -3, 3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 2, : 2, 0, -1, -1, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -3, 4, 0, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=221,230) / : 2, 0, 0, -2, 0, 0, 0, -6, 8, 0, 0, 0, 0, 0, : 2, 0, 0, -2, 0, 0, 0, -5, 6, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 1, 0, 0, 1, 0, -1, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 3, -9, 4, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, -2 / DATA ((MFAPL(I,J),I=1,14),J=231,240) / : 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, : 0, 0, 0, 0, 0, 0, 7,-11, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 3, -5, 4, 0, 0, 0, 0, 2, : 0, 0, 1, -1, 0, 0, 0, -1, 0, -1, 1, 0, 0, 0, : 2, 0, 0, 0, 0, 0, 0, -2, 0, 3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 8,-15, 0, 0, 0, 0, -2, : 0, 0, 1, -1, 2, 0, 0, -2, 2, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, -1 / DATA ((MFAPL(I,J),I=1,14),J=241,250) / : 0, 0, 1, -1, 1, 0, 0, -1, 0, -1, 1, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 3, -8, 3, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 2, -4, 0, -3, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 3, -5, 0, 2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 2, : 0, 0, 2, -2, 2, 0, -8, 11, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 5, -8, 3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=251,260) / : 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0, : 1, 0, -2, -2, -2, 0, 0, -2, 0, 2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 1 / DATA ((MFAPL(I,J),I=1,14),J=261,270) / : 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, -5, 0, 0, 2, : 2, 0, 0, -2, -1, 0, 0, -2, 0, 0, 5, 0, 0, 0, : 2, 0, 0, -2, -1, 0, -6, 8, 0, 0, 0, 0, 0, 0, : 1, 0, 0, -2, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, -5, 0, 0, 2, : 0, 0, 0, 0, 1, 0, 3, -7, 4, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, -2, 2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=271,280) / : 0, 0, 1, -1, 0, 0, 0, -1, 0, -2, 5, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 6,-15, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 2, : 1, 0, 0, -1, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, -3, 7, -4, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 5, 0, -2, 0, 0, 0, 2 / DATA ((MFAPL(I,J),I=1,14),J=281,290) / : 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 1, : 0, 0, 2, -2, 2, 0, -5, 6, 0, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 2, 0, -3, 3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 6,-11, 0, 0, 0, 0, -2 / DATA ((MFAPL(I,J),I=1,14),J=291,300) / : 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, -2, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 3, 0, 0, 0, 0, : 0, 0, 1, -1, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 9,-12, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 1, : 0, 0, 1, -1, 0, 0, -8, 12, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, -2, 3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, -1 / DATA ((MFAPL(I,J),I=1,14),J=301,310) / : 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0, 0, -2, : 0, 0, 1, -1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, -1, : 0, 0, 1, -1, -1, 0, 0, 0, -2, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, -2, : 2, 0, 0, -2, 0, 0, 0, -2, 0, 3, -1, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 2 / DATA ((MFAPL(I,J),I=1,14),J=311,320) / : 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, -1, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 3, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 2, -4, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, : 0, 0, 1, -1, 2, 0, 0, -1, 0, 2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2, : 0, 0, 2, 0, 2, 0, 0, 4, -8, 3, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=321,330) / : 0, 0, 2, 0, 2, 0, 0, -4, 8, -3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 5, 0, -3, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, : 2, 0, -1, -1, -1, 0, 0, -1, 0, 3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 5,-10, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 8,-13, 0, 0, 0, 0, 0, 1, : 0, 0, 2, -2, 1, -1, 0, 2, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 0, 2, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=331,340) / : 0, 0, 0, 0, 1, 0, 3, -5, 0, 0, 0, 0, 0, 0, : 1, 0, 0, -2, 0, 0, 0, -2, 0, 3, 0, 0, 0, 0, : 0, 0, 2, -2, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0, : 0, 0, 2, 0, 2, 0, 1, -1, 0, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, -8, 11, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, -2, 0, 0, 2, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, -1, 2, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, -2 / DATA ((MFAPL(I,J),I=1,14),J=341,350) / : 0, 0, 0, 0, 0, 0, 0, 8,-15, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 7,-13, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 2, : 0, 0, 2, -2, 1, 0, 0, -2, 0, 3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 8,-10, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 1 / DATA ((MFAPL(I,J),I=1,14),J=351,360) / : 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0, : 2, 0, 0, -2, -1, 0, 0, -5, 6, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, -2, : 2, 0, -1, -1, -1, 0, 0, 3, -7, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, : 0, 0, 2, 0, 2, 0, -1, 1, 0, 0, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=361,370) / : 2, 0, 0, -2, 0, 0, 0, -2, 0, 4, -3, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 6,-11, 0, 0, 0, 0, 0, : 2, 0, 0, -2, 1, 0, 0, -6, 8, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 4, -8, 1, 5, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 2, : 1, 0, -2, -2, -2, 0, -3, 3, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 2, 0, 0, 0, -2, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 2, 0, 0, 4, -8, 3, 0, 0, 0, 0, : 0, 0, 0, 0, 2, 0, 0, -4, 8, -3, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 1 / DATA ((MFAPL(I,J),I=1,14),J=371,380) / : 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, -2, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -2, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 1, -6, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, : 0, 0, 0, 0, 0, 0, 3, -5, 0, 2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 7,-13, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 2 / DATA ((MFAPL(I,J),I=1,14),J=381,390) / : 0, 0, 1, -1, 0, 0, 0, -1, 0, 0, 2, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, -8, 15, 0, 0, 0, 0, 0, : 2, 0, 0, -2, -2, 0, -3, 3, 0, 0, 0, 0, 0, 0, : 2, 0, -1, -1, -1, 0, 0, -1, 0, 2, 0, 0, 0, 0, : 1, 0, 2, -2, 2, 0, 0, -2, 0, 2, 0, 0, 0, 0, : 1, 0, -1, 1, -1, 0,-18, 17, 0, 0, 0, 0, 0, 0, : 0, 0, 2, 0, 2, 0, 0, 1, 0, -1, 0, 0, 0, 0, : 0, 0, 2, 0, 2, 0, 0, -1, 0, 1, 0, 0, 0, 0, : 0, 0, 2, -2, -1, 0, -5, 6, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 2, 0, 0, -1, 0, 1, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=391,400) / : 0, 0, 0, 0, 1, 0, 2, -2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 8,-16, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, : 0, 0, 0, 0, 2, 0, 0, -1, 2, 0, 0, 0, 0, 0, : 2, 0, -1, -1, -2, 0, 0, -1, 0, 2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 6,-10, 0, 0, 0, 0, 0, -1, : 0, 0, 1, -1, 1, 0, 0, -1, 0, -2, 4, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2, : 2, 0, 0, -2, -1, 0, 0, -2, 0, 4, -5, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=401,410) / : 2, 0, 0, -2, -1, 0, -3, 3, 0, 0, 0, 0, 0, 0, : 2, 0, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, : 1, 0, 1, -1, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0, : 1, 0, 0, -1, -1, 0, 0, -2, 2, 0, 0, 0, 0, 0, : 1, 0, -1, -1, -1, 0, 20,-20, 0, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 1, -2, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, -2, 1, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 5, -8, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=411,420) / : 0, 0, 0, 0, 0, 0, 9,-11, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, : 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, -2, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, -2, 0, 0, 0, : 0, 0, 1, -1, 2, 0, 0, -1, 0, -2, 5, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=421,430) / : 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, -2, : 1, 0, 0, -2, 0, 0, 20,-21, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 8,-12, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 2, 0, 0, -1, 0, -1, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 8,-12, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 9,-17, 0, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=431,440) / : 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 4, -8, 1, 5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, -2, : 1, 0, 0, -1, 1, 0, 0, -3, 4, 0, 0, 0, 0, 0, : 1, 0, -2, 0, -2, 0,-10, 3, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, -9, 17, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, -2, : 1, 0, -2, -2, -2, 0, 0, -2, 0, 3, 0, 0, 0, 0, : 1, 0, -1, 1, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=441,450) / : 0, 0, 2, -2, 2, 0, 0, -2, 0, 2, 0, 0, 0, 0, : 0, 0, 1, -1, 2, 0, 0, -1, 0, 0, 1, 0, 0, 0, : 0, 0, 1, -1, 2, 0, -5, 7, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 2, -2, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 5,-10, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 4, 0, -4, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, -5, 0, 0, 0, -2 / DATA ((MFAPL(I,J),I=1,14),J=451,460) / : 0, 0, 0, 0, 0, 0, 0, 1, 0, -5, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 1, : 1, 0, 0, -2, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 3, -7, 4, 0, 0, 0, 0, 0, : 2, 0, 2, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 1, 0, -2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 6,-10, 0, 0, 0, 0, -2 / DATA ((MFAPL(I,J),I=1,14),J=461,470) / : 1, 0, 0, -1, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, 4, -8, 3, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, 1, 0, -1, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, -4, 8, -3, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, -3, 0, 3, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, -5, 5, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 1, -3, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -4, 6, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 0, -1, 0, 0, : 0, 0, 1, -1, 1, 0, -5, 6, 0, 0, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=471,480) / : 0, 0, 0, 0, 1, 0, 3, -4, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, -2, 2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 7,-10, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 2 / DATA ((MFAPL(I,J),I=1,14),J=481,490) / : 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 3, -8, 3, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, -1, : 2, 0, 0, -2, -1, 0, 0, -6, 8, 0, 0, 0, 0, 0, : 2, 0, -1, -1, 1, 0, 0, 3, -7, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, -7, 9, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, -1 / DATA ((MFAPL(I,J),I=1,14),J=491,500) / : 0, 0, 1, -1, 2, 0, -8, 12, 0, 0, 0, 0, 0, 0, : 1, 0, 0, 0, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, : 1, 0, 0, -2, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, : 2, 0, 0, -2, 1, 0, 0, -5, 6, 0, 0, 0, 0, 0, : 2, 0, 0, -2, -1, 0, 0, -2, 0, 3, -1, 0, 0, 0, : 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, : 1, 0, 0, -2, 1, 0, 0, -2, 0, 2, 0, 0, 0, 0, : 1, 0, 0, -2, -1, 0, 0, -2, 0, 2, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=501,510) / : 1, 0, 0, -1, -1, 0, 0, -3, 4, 0, 0, 0, 0, 0, : 1, 0, -1, 0, -1, 0, -3, 5, 0, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, -4, 4, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, -2, 0, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, -8, 11, 0, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 0, 0, 0, -9, 13, 0, 0, 0, 0, 0, : 0, 0, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, 1, -4, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, 0, -1, 0, 1, -3, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, 7,-13, 0, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=511,520) / : 0, 0, 0, 0, 1, 0, 0, 2, 0, -2, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, -2, 2, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, -3, 4, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 7,-11, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 1 / DATA ((MFAPL(I,J),I=1,14),J=521,530) / : 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 0, 9,-17, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, : 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0, : 2, 0, 0, -2, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=531,540) / : 2, 0, 0, -2, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, : 1, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, : 1, 0, 0, 0, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0, : 1, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, : 1, 0, 0, -2, 0, 0, 17,-16, 0, -2, 0, 0, 0, 0, : 1, 0, 0, -1, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=541,550) / : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2, : 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 2, : 2, 0, 0, -2, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0, : 2, 0, 0, -2, 0, 0, 0, -2, 0, 2, 2, 0, 0, 0, : 1, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, : 1, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, : 1, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0, : 1, 0, 0, -2, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0, : 1, 0, 0, -2, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0, : 1, 0, 0, -2, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=551,560) / : 1, 0, 0, -2, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0, : 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0, : 0, 0, 1, -1, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0, : 0, 0, 1, -1, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 2, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=561,570) / : 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, : 2, 0, -2, -2, -2, 0, 0, -2, 0, 2, 0, 0, 0, 0, : 1, 0, 0, 0, 1, 0,-10, 3, 0, 0, 0, 0, 0, 0, : 1, 0, 0, 0, -1, 0,-10, 3, 0, 0, 0, 0, 0, 0, : 0, 0, 2, 0, 2, 0, 2, -3, 0, 0, 0, 0, 0, 0, : 0, 0, 2, 0, 2, 0, 2, -2, 0, 0, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=571,580) / : 0, 0, 2, 0, 2, 0, -2, 3, 0, 0, 0, 0, 0, 0, : 0, 0, 2, 0, 2, 0, -2, 2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, 0, -1, 0, 2, 0, 0, 0, 0, : 2, 0, 2, -2, 2, 0, 0, -2, 0, 3, 0, 0, 0, 0, : 2, 0, 1, -3, 1, 0, -6, 7, 0, 0, 0, 0, 0, 0, : 2, 0, 0, -2, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0, : 2, 0, 0, -2, 0, 0, 0, -2, 0, 5, -5, 0, 0, 0, : 2, 0, 0, -2, 0, 0, 0, -2, 0, 1, 5, 0, 0, 0, : 2, 0, 0, -2, 0, 0, 0, -2, 0, 0, 5, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=581,590) / : 2, 0, 0, -2, 0, 0, 0, -2, 0, 0, 2, 0, 0, 0, : 2, 0, 0, -2, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0, : 2, 0, -2, 0, -2, 0, 0, 5, -9, 0, 0, 0, 0, 0, : 2, 0, -1, -1, 0, 0, 0, -1, 0, 3, 0, 0, 0, 0, : 1, 0, 2, 0, 2, 0, 1, -1, 0, 0, 0, 0, 0, 0, : 1, 0, 2, 0, 2, 0, 0, 4, -8, 3, 0, 0, 0, 0, : 1, 0, 2, 0, 2, 0, 0, -4, 8, -3, 0, 0, 0, 0, : 1, 0, 2, 0, 2, 0, -1, 1, 0, 0, 0, 0, 0, 0, : 1, 0, 2, -2, 2, 0, -3, 3, 0, 0, 0, 0, 0, 0, : 1, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=591,600) / : 1, 0, 0, 0, 0, 0, 0, -2, 0, 3, 0, 0, 0, 0, : 1, 0, 0, -2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0, : 1, 0, -2, -2, -2, 0, 0, 1, 0, -1, 0, 0, 0, 0, : 1, 0, -1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, : 1, 0, -1, -1, 0, 0, 0, 8,-15, 0, 0, 0, 0, 0, : 0, 0, 2, 2, 2, 0, 0, 2, 0, -2, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 1, -1, 0, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0, -2, 0, 1, 0, 0, 0, 0, : 0, 0, 2, -2, 1, 0, 0,-10, 15, 0, 0, 0, 0, 0, : 0, 0, 2, -2, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=601,610) / : 0, 0, 1, -1, 2, 0, 0, -1, 0, 0, -1, 0, 0, 0, : 0, 0, 1, -1, 2, 0, -3, 4, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, -4, 6, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 1, 0, -1, 2, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 0, 0, 0, -1, 0, 0, -2, 0, 0, 0, : 0, 0, 1, -1, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, : 0, 0, 1, -1, -1, 0, -5, 7, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=611,620) / : 0, 0, 0, 2, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 2, 0, -3, 5, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 1, 0, -1, 2, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 9,-13, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 8,-14, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 8,-11, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, -2 / DATA ((MFAPL(I,J),I=1,14),J=621,630) / : 0, 0, 0, 0, 0, 0, 5, -6, -4, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 3, -3, 0, 2, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 7,-12, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, -2 / DATA ((MFAPL(I,J),I=1,14),J=631,640) / : 0, 0, 0, 0, 0, 0, 0, 6, -8, 1, 5, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 6,-10, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 5, 0, -4, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, -1, : 0, 0, 0, 0, 0, 0, 0, 5, -8, 3, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 5,-16, 4, 5, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 5,-13, 0, 0, 0, 0, -2 / DATA ((MFAPL(I,J),I=1,14),J=641,650) / : 0, 0, 0, 0, 0, 0, 0, 3, 0, -5, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 3, -9, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -3, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 2, -8, 1, 5, 0, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -5, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -3, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 5, 0, 0, 0 / DATA ((MFAPL(I,J),I=1,14),J=651,NFPL) / : 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, -2, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, : 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, : 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 / * Pointers into amplitudes array, one pointer per frequency. DATA (NC(I),I=1,100) / : 1, 21, 37, 51, 65, 79, 91, 103, 115, 127, : 139, 151, 163, 172, 184, 196, 207, 219, 231, 240, : 252, 261, 273, 285, 297, 309, 318, 327, 339, 351, : 363, 372, 384, 396, 405, 415, 423, 435, 444, 452, : 460, 467, 474, 482, 490, 498, 506, 513, 521, 528, : 536, 543, 551, 559, 566, 574, 582, 590, 597, 605, : 613, 620, 628, 636, 644, 651, 658, 666, 674, 680, : 687, 695, 702, 710, 717, 725, 732, 739, 746, 753, : 760, 767, 774, 782, 790, 798, 805, 812, 819, 826, : 833, 840, 846, 853, 860, 867, 874, 881, 888, 895 / DATA (NC(I),I=101,200) / : 901, 908, 914, 921, 928, 934, 941, 948, 955, 962, : 969, 976, 982, 989, 996, 1003, 1010, 1017, 1024, 1031, : 1037, 1043, 1050, 1057, 1064, 1071, 1078, 1084, 1091, 1098, : 1104, 1112, 1118, 1124, 1131, 1138, 1145, 1151, 1157, 1164, : 1171, 1178, 1185, 1192, 1199, 1205, 1212, 1218, 1226, 1232, : 1239, 1245, 1252, 1259, 1266, 1272, 1278, 1284, 1292, 1298, : 1304, 1310, 1316, 1323, 1329, 1335, 1341, 1347, 1353, 1359, : 1365, 1371, 1377, 1383, 1389, 1396, 1402, 1408, 1414, 1420, : 1426, 1434, 1440, 1446, 1452, 1459, 1465, 1471, 1477, 1482, : 1488, 1493, 1499, 1504, 1509, 1514, 1520, 1527, 1532, 1538 / DATA (NC(I),I=201,300) / : 1543, 1548, 1553, 1558, 1564, 1569, 1574, 1579, 1584, 1589, : 1594, 1596, 1598, 1600, 1602, 1605, 1608, 1610, 1612, 1617, : 1619, 1623, 1625, 1627, 1629, 1632, 1634, 1640, 1642, 1644, : 1646, 1648, 1650, 1652, 1654, 1658, 1660, 1662, 1664, 1668, : 1670, 1672, 1673, 1675, 1679, 1681, 1683, 1684, 1686, 1688, : 1690, 1693, 1695, 1697, 1701, 1703, 1705, 1707, 1709, 1711, : 1712, 1715, 1717, 1721, 1723, 1725, 1727, 1729, 1731, 1733, : 1735, 1737, 1739, 1741, 1743, 1745, 1747, 1749, 1751, 1753, : 1755, 1757, 1759, 1761, 1762, 1764, 1766, 1768, 1769, 1771, : 1773, 1775, 1777, 1779, 1781, 1783, 1785, 1787, 1788, 1790 / DATA (NC(I),I=301,400) / : 1792, 1794, 1796, 1798, 1800, 1802, 1804, 1806, 1807, 1809, : 1811, 1815, 1817, 1819, 1821, 1823, 1825, 1827, 1829, 1831, : 1833, 1835, 1837, 1839, 1840, 1842, 1844, 1848, 1850, 1852, : 1854, 1856, 1858, 1859, 1860, 1862, 1864, 1866, 1868, 1869, : 1871, 1873, 1875, 1877, 1879, 1881, 1883, 1885, 1887, 1889, : 1891, 1892, 1896, 1898, 1900, 1901, 1903, 1905, 1907, 1909, : 1910, 1911, 1913, 1915, 1919, 1921, 1923, 1927, 1929, 1931, : 1933, 1935, 1937, 1939, 1943, 1945, 1947, 1948, 1949, 1951, : 1953, 1955, 1957, 1958, 1960, 1962, 1964, 1966, 1968, 1970, : 1971, 1973, 1974, 1975, 1977, 1979, 1980, 1981, 1982, 1984 / DATA (NC(I),I=401,500) / : 1986, 1988, 1990, 1992, 1994, 1995, 1997, 1999, 2001, 2003, : 2005, 2007, 2008, 2009, 2011, 2013, 2015, 2017, 2019, 2021, : 2023, 2024, 2025, 2027, 2029, 2031, 2033, 2035, 2037, 2041, : 2043, 2045, 2046, 2047, 2049, 2051, 2053, 2055, 2056, 2057, : 2059, 2061, 2063, 2065, 2067, 2069, 2070, 2071, 2072, 2074, : 2076, 2078, 2080, 2082, 2084, 2086, 2088, 2090, 2092, 2094, : 2095, 2096, 2097, 2099, 2101, 2105, 2106, 2107, 2108, 2109, : 2110, 2111, 2113, 2115, 2119, 2121, 2123, 2125, 2127, 2129, : 2131, 2133, 2135, 2136, 2137, 2139, 2141, 2143, 2145, 2147, : 2149, 2151, 2153, 2155, 2157, 2159, 2161, 2163, 2165, 2167 / DATA (NC(I),I=501,600) / : 2169, 2171, 2173, 2175, 2177, 2179, 2181, 2183, 2185, 2186, : 2187, 2188, 2192, 2193, 2195, 2197, 2199, 2201, 2203, 2205, : 2207, 2209, 2211, 2213, 2217, 2219, 2221, 2223, 2225, 2227, : 2229, 2231, 2233, 2234, 2235, 2236, 2237, 2238, 2239, 2240, : 2241, 2244, 2246, 2248, 2250, 2252, 2254, 2256, 2258, 2260, : 2262, 2264, 2266, 2268, 2270, 2272, 2274, 2276, 2278, 2280, : 2282, 2284, 2286, 2288, 2290, 2292, 2294, 2296, 2298, 2300, : 2302, 2303, 2304, 2305, 2306, 2307, 2309, 2311, 2313, 2315, : 2317, 2319, 2321, 2323, 2325, 2327, 2329, 2331, 2333, 2335, : 2337, 2341, 2343, 2345, 2347, 2349, 2351, 2352, 2355, 2356 / DATA (NC(I),I=601,700) / : 2357, 2358, 2359, 2361, 2363, 2364, 2365, 2366, 2367, 2368, : 2369, 2370, 2371, 2372, 2373, 2374, 2376, 2378, 2380, 2382, : 2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2393, : 2394, 2395, 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2403, : 2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2413, : 2414, 2415, 2417, 2418, 2430, 2438, 2445, 2453, 2460, 2468, : 2474, 2480, 2488, 2496, 2504, 2512, 2520, 2527, 2535, 2543, : 2550, 2558, 2566, 2574, 2580, 2588, 2596, 2604, 2612, 2619, : 2627, 2634, 2642, 2648, 2656, 2664, 2671, 2679, 2685, 2693, : 2701, 2709, 2717, 2725, 2733, 2739, 2747, 2753, 2761, 2769 / DATA (NC(I),I=701,800) / : 2777, 2785, 2793, 2801, 2809, 2817, 2825, 2833, 2841, 2848, : 2856, 2864, 2872, 2878, 2884, 2892, 2898, 2906, 2914, 2922, : 2930, 2938, 2944, 2952, 2958, 2966, 2974, 2982, 2988, 2996, : 3001, 3009, 3017, 3025, 3032, 3039, 3045, 3052, 3059, 3067, : 3069, 3076, 3083, 3090, 3098, 3105, 3109, 3111, 3113, 3120, : 3124, 3128, 3132, 3136, 3140, 3144, 3146, 3150, 3158, 3161, : 3165, 3166, 3168, 3172, 3176, 3180, 3182, 3185, 3189, 3193, : 3194, 3197, 3200, 3204, 3208, 3212, 3216, 3219, 3221, 3222, : 3226, 3230, 3234, 3238, 3242, 3243, 3247, 3251, 3254, 3258, : 3262, 3266, 3270, 3274, 3275, 3279, 3283, 3287, 3289, 3293 / DATA (NC(I),I=801,900) / : 3296, 3300, 3303, 3307, 3311, 3315, 3319, 3321, 3324, 3327, : 3330, 3334, 3338, 3340, 3342, 3346, 3350, 3354, 3358, 3361, : 3365, 3369, 3373, 3377, 3381, 3385, 3389, 3393, 3394, 3398, : 3402, 3406, 3410, 3413, 3417, 3421, 3425, 3429, 3433, 3435, : 3439, 3443, 3446, 3450, 3453, 3457, 3458, 3461, 3464, 3468, : 3472, 3476, 3478, 3481, 3485, 3489, 3493, 3497, 3501, 3505, : 3507, 3511, 3514, 3517, 3521, 3524, 3525, 3527, 3529, 3533, : 3536, 3540, 3541, 3545, 3548, 3551, 3555, 3559, 3563, 3567, : 3569, 3570, 3574, 3576, 3578, 3582, 3586, 3590, 3593, 3596, : 3600, 3604, 3608, 3612, 3616, 3620, 3623, 3626, 3630, 3632 / DATA (NC(I),I=901,1000) / : 3636, 3640, 3643, 3646, 3648, 3652, 3656, 3660, 3664, 3667, : 3669, 3671, 3675, 3679, 3683, 3687, 3689, 3693, 3694, 3695, : 3699, 3703, 3705, 3707, 3710, 3713, 3717, 3721, 3725, 3729, : 3733, 3736, 3740, 3744, 3748, 3752, 3754, 3757, 3759, 3763, : 3767, 3770, 3773, 3777, 3779, 3783, 3786, 3790, 3794, 3798, : 3801, 3805, 3809, 3813, 3817, 3821, 3825, 3827, 3831, 3835, : 3836, 3837, 3840, 3844, 3848, 3852, 3856, 3859, 3863, 3867, : 3869, 3871, 3875, 3879, 3883, 3887, 3890, 3894, 3898, 3901, : 3905, 3909, 3913, 3917, 3921, 3922, 3923, 3924, 3926, 3930, : 3932, 3936, 3938, 3940, 3944, 3948, 3952, 3956, 3959, 3963 / DATA (NC(I),I=1001,1100) / : 3965, 3969, 3973, 3977, 3979, 3981, 3982, 3986, 3989, 3993, : 3997, 4001, 4004, 4006, 4009, 4012, 4016, 4020, 4024, 4026, : 4028, 4032, 4036, 4040, 4044, 4046, 4050, 4054, 4058, 4060, : 4062, 4063, 4064, 4068, 4071, 4075, 4077, 4081, 4083, 4087, : 4089, 4091, 4095, 4099, 4101, 4103, 4105, 4107, 4111, 4115, : 4119, 4123, 4127, 4129, 4131, 4135, 4139, 4141, 4143, 4145, : 4149, 4153, 4157, 4161, 4165, 4169, 4173, 4177, 4180, 4183, : 4187, 4191, 4195, 4198, 4201, 4205, 4209, 4212, 4213, 4216, : 4217, 4221, 4223, 4226, 4230, 4234, 4236, 4240, 4244, 4248, : 4252, 4256, 4258, 4262, 4264, 4266, 4268, 4270, 4272, 4276 / DATA (NC(I),I=1101,1200) / : 4279, 4283, 4285, 4287, 4289, 4293, 4295, 4299, 4300, 4301, : 4305, 4309, 4313, 4317, 4319, 4323, 4325, 4329, 4331, 4333, : 4335, 4337, 4341, 4345, 4349, 4351, 4353, 4357, 4361, 4365, : 4367, 4369, 4373, 4377, 4381, 4383, 4387, 4389, 4391, 4395, : 4399, 4403, 4407, 4411, 4413, 4414, 4415, 4418, 4419, 4421, : 4423, 4427, 4429, 4431, 4433, 4435, 4437, 4439, 4443, 4446, : 4450, 4452, 4456, 4458, 4460, 4462, 4466, 4469, 4473, 4477, : 4481, 4483, 4487, 4489, 4491, 4493, 4497, 4499, 4501, 4504, : 4506, 4510, 4513, 4514, 4515, 4518, 4521, 4522, 4525, 4526, : 4527, 4530, 4533, 4534, 4537, 4541, 4542, 4543, 4544, 4545 / DATA (NC(I),I=1201,1300) / : 4546, 4547, 4550, 4553, 4554, 4555, 4558, 4561, 4564, 4567, : 4568, 4571, 4574, 4575, 4578, 4581, 4582, 4585, 4586, 4588, : 4590, 4592, 4596, 4598, 4602, 4604, 4608, 4612, 4613, 4616, : 4619, 4622, 4623, 4624, 4625, 4626, 4629, 4632, 4633, 4636, : 4639, 4640, 4641, 4642, 4643, 4644, 4645, 4648, 4649, 4650, : 4651, 4652, 4653, 4656, 4657, 4660, 4661, 4664, 4667, 4670, : 4671, 4674, 4675, 4676, 4677, 4678, 4681, 4682, 4683, 4684, : 4687, 4688, 4689, 4692, 4693, 4696, 4697, 4700, 4701, 4702, : 4703, 4704, 4707, 4708, 4711, 4712, 4715, 4716, 4717, 4718, : 4719, 4720, 4721, 4722, 4723, 4726, 4729, 4730, 4733, 4736 / DATA (NC(I),I=1301,NF) / : 4737, 4740, 4741, 4742, 4745, 4746, 4749, 4752, 4753 / * Amplitude coefficients (microarcsec); indexed using the NC array. DATA (A(I),I=1,133) / :-6844318.44D0,9205236.26D0,1328.67D0,1538.18D0,205833.11D0, :153041.79D0,-3309.73D0,853.32D0,2037.98D0,-2301.27D0,81.46D0, :120.56D0,-20.39D0,-15.22D0,1.73D0,-1.61D0,-0.1D0,0.11D0,-0.02D0, :-0.02D0,-523908.04D0,573033.42D0,-544.75D0,-458.66D0,12814.01D0, :11714.49D0,198.97D0,-290.91D0,155.74D0,-143.27D0,-2.75D0,-1.03D0, :-1.27D0,-1.16D0, 0D0,-0.01D0,-90552.22D0,97846.69D0,111.23D0, :137.41D0,2187.91D0,2024.68D0,41.44D0,-51.26D0,26.92D0,-24.46D0, :-0.46D0,-0.28D0,-0.22D0, -0.2D0,82168.76D0,-89618.24D0,-27.64D0, :-29.05D0,-2004.36D0,-1837.32D0,-36.07D0,48D0,-24.43D0,22.41D0, : 0.47D0, 0.24D0, 0.2D0, 0.18D0,58707.02D0,7387.02D0,470.05D0, :-192.4D0,164.33D0,-1312.21D0,-179.73D0,-28.93D0,-17.36D0,-1.83D0, : -0.5D0, 3.57D0, 0D0, 0.13D0,-20557.78D0,22438.42D0,-20.84D0, :-17.4D0,501.82D0,459.68D0,59.2D0,-67.3D0,6.08D0,-5.61D0,-1.36D0, :-1.19D0,28288.28D0,-674.99D0,-34.69D0,35.8D0,-15.07D0,-632.54D0, :-11.19D0,0.78D0,-8.41D0, 0.17D0, 0.01D0, 0.07D0,-15406.85D0, :20069.5D0,15.12D0,31.8D0,448.76D0,344.5D0,-5.77D0,1.41D0,4.59D0, :-5.02D0, 0.17D0, 0.24D0,-11991.74D0,12902.66D0,32.46D0,36.7D0, :288.49D0,268.14D0,5.7D0,-7.06D0, 3.57D0,-3.23D0,-0.06D0,-0.04D0, :-8584.95D0,-9592.72D0,4.42D0,-13.2D0,-214.5D0,192.06D0,23.87D0 / DATA (A(I),I=134,273) / :29.83D0, 2.54D0, 2.4D0, 0.6D0,-0.48D0,5095.5D0,-6918.22D0, : 7.19D0, 3.92D0,-154.91D0,-113.94D0,2.86D0,-1.04D0,-1.52D0, : 1.73D0,-0.07D0, -0.1D0,-4910.93D0,-5331.13D0,0.76D0,0.4D0, :-119.21D0,109.81D0,2.16D0,3.2D0, 1.46D0, 1.33D0, 0.04D0,-0.02D0, :-6245.02D0,-123.48D0,-6.68D0,-8.2D0,-2.76D0,139.64D0,2.71D0, : 0.15D0, 1.86D0,2511.85D0,-3323.89D0,1.07D0,-0.9D0,-74.33D0, :-56.17D0,1.16D0,-0.01D0,-0.75D0, 0.83D0,-0.02D0,-0.04D0, :2307.58D0,3143.98D0,-7.52D0,7.5D0,70.31D0,-51.6D0,1.46D0,0.16D0, :-0.69D0,-0.79D0, 0.02D0,-0.05D0,2372.58D0,2554.51D0,5.93D0, : -6.6D0,57.12D0,-53.05D0,-0.96D0,-1.24D0,-0.71D0,-0.64D0,-0.01D0, :-2053.16D0,2636.13D0,5.13D0,7.8D0,58.94D0,45.91D0,-0.42D0, :-0.12D0, 0.61D0,-0.66D0, 0.02D0, 0.03D0,-1825.49D0,-2423.59D0, : 1.23D0, -2D0,-54.19D0,40.82D0,-1.07D0,-1.02D0,0.54D0, 0.61D0, :-0.04D0, 0.04D0,2521.07D0,-122.28D0,-5.97D0,2.9D0,-2.73D0, :-56.37D0,-0.82D0,0.13D0,-0.75D0,-1534.09D0,1645.01D0,6.29D0, : 6.8D0,36.78D0, 34.3D0, 0.92D0,-1.25D0, 0.46D0,-0.41D0,-0.02D0, :-0.01D0,1898.27D0,47.7D0,-0.72D0, 2.5D0, 1.07D0,-42.45D0,-0.94D0, : 0.02D0,-0.56D0,-1292.02D0,-1387D0, 0D0, 0D0,-31.01D0,28.89D0, : 0.68D0, 0D0, 0.38D0, 0.35D0,-0.01D0,-0.01D0,-1234.96D0 / DATA (A(I),I=274,415) / :1323.81D0,5.21D0, 5.9D0, 29.6D0,27.61D0, 0.74D0,-1.22D0, 0.37D0, :-0.33D0,-0.02D0,-0.01D0,1137.48D0,-1233.89D0,-0.04D0,-0.3D0, :-27.59D0,-25.43D0,-0.61D0, 1D0,-0.34D0, 0.31D0, 0.01D0, 0.01D0, :-813.13D0,-1075.6D0,0.4D0,0.3D0,-24.05D0,18.18D0,-0.4D0,-0.01D0, : 0.24D0, 0.27D0,-0.01D0, 0.01D0,1163.22D0,-60.9D0,-2.94D0,1.3D0, :-1.36D0,-26.01D0,-0.58D0,0.07D0,-0.35D0,1029.7D0,-55.55D0, :-2.63D0, 1.1D0,-1.25D0,-23.02D0,-0.52D0,0.06D0,-0.31D0, :-556.26D0,852.85D0,3.16D0,-4.48D0,19.06D0,12.44D0,-0.81D0, :-0.27D0, 0.17D0,-0.21D0, 0D0, 0.02D0,-603.52D0,-800.34D0, : 0.44D0, 0.1D0,-17.9D0,13.49D0,-0.08D0,-0.01D0, 0.18D0, 0.2D0, :-0.01D0, 0.01D0,-628.24D0,684.99D0,-0.64D0,-0.5D0,15.32D0, :14.05D0, 3.18D0,-4.19D0, 0.19D0,-0.17D0,-0.09D0,-0.07D0, :-866.48D0,-16.26D0,0.52D0,-1.3D0,-0.36D0,19.37D0,0.43D0,-0.01D0, : 0.26D0,-512.37D0,695.54D0,-1.47D0,-1.4D0,15.55D0,11.46D0, :-0.16D0, 0.03D0, 0.15D0,-0.17D0, 0.01D0, 0.01D0,506.65D0, :643.75D0,2.54D0,-2.62D0, 14.4D0,-11.33D0,-0.77D0,-0.06D0,-0.15D0, :-0.16D0, 0D0, 0.01D0,664.57D0,16.81D0,-0.4D0, 1D0, 0.38D0, :-14.86D0,-3.71D0,-0.09D0,-0.2D0,405.91D0,522.11D0,0.99D0,-1.5D0, :11.67D0,-9.08D0,-0.25D0,-0.02D0,-0.12D0,-0.13D0,-305.78D0 / DATA (A(I),I=416,566) / :326.6D0, 1.75D0, 1.9D0, 7.3D0, 6.84D0, 0.2D0,-0.04D0,300.99D0, :-325.03D0,-0.44D0,-0.5D0,-7.27D0,-6.73D0,-1.01D0,0.01D0, 0D0, : 0.08D0, 0D0, 0.02D0,438.51D0,10.47D0,-0.56D0,-0.2D0, 0.24D0, :-9.81D0,-0.24D0, 0.01D0,-0.13D0,-264.02D0,335.24D0,0.99D0,1.4D0, : 7.49D0, 5.9D0,-0.27D0,-0.02D0,284.09D0,307.03D0,0.32D0,-0.4D0, : 6.87D0,-6.35D0,-0.99D0,-0.01D0,-250.54D0,327.11D0,0.08D0,0.4D0, : 7.31D0, 5.6D0, -0.3D0,230.72D0,-304.46D0,0.08D0,-0.1D0,-6.81D0, :-5.16D0, 0.27D0,229.78D0,304.17D0,-0.6D0, 0.5D0, 6.8D0,-5.14D0, : 0.33D0, 0.01D0,256.3D0,-276.81D0,-0.28D0,-0.4D0,-6.19D0,-5.73D0, :-0.14D0, 0.01D0,-212.82D0,269.45D0,0.84D0,1.2D0, 6.02D0, 4.76D0, : 0.14D0,-0.02D0,196.64D0,272.05D0,-0.84D0,0.9D0, 6.08D0, -4.4D0, : 0.35D0, 0.02D0,188.95D0,272.22D0,-0.12D0,0.3D0, 6.09D0,-4.22D0, : 0.34D0,-292.37D0,-5.1D0,-0.32D0,-0.4D0,-0.11D0, 6.54D0, 0.14D0, : 0.01D0,161.79D0,-220.67D0,0.24D0,0.1D0,-4.93D0,-3.62D0,-0.08D0, :261.54D0,-19.94D0,-0.95D0,0.2D0,-0.45D0,-5.85D0,-0.13D0, 0.02D0, :142.16D0,-190.79D0,0.2D0, 0.1D0,-4.27D0,-3.18D0,-0.07D0,187.95D0, :-4.11D0,-0.24D0, 0.3D0,-0.09D0, -4.2D0,-0.09D0, 0.01D0, 0D0, : 0D0,-79.08D0,167.9D0,0.04D0, 0D0, 3.75D0, 1.77D0,121.98D0, :131.04D0,-0.08D0, 0.1D0, 2.93D0,-2.73D0,-0.06D0,-172.95D0 / DATA (A(I),I=567,713) / :-8.11D0, -0.4D0, -0.2D0,-0.18D0, 3.87D0, 0.09D0, 0.01D0, :-160.15D0,-55.3D0,-14.04D0,13.9D0,-1.23D0,3.58D0, 0.4D0, 0.31D0, :-115.4D0,123.2D0, 0.6D0, 0.7D0, 2.75D0, 2.58D0, 0.08D0,-0.01D0, :-168.26D0, -2D0, 0.2D0, -0.2D0,-0.04D0, 3.76D0, 0.08D0, :-114.49D0,123.2D0,0.32D0, 0.4D0, 2.75D0, 2.56D0, 0.07D0,-0.01D0, :112.14D0,120.7D0,0.28D0, -0.3D0, 2.7D0,-2.51D0,-0.07D0,-0.01D0, :161.34D0,4.03D0, 0.2D0, 0.2D0, 0.09D0,-3.61D0,-0.08D0,91.31D0, :126.64D0,-0.4D0, 0.4D0, 2.83D0,-2.04D0,-0.04D0, 0.01D0,105.29D0, :112.9D0, 0.44D0, -0.5D0, 2.52D0,-2.35D0,-0.07D0,-0.01D0,98.69D0, :-106.2D0,-0.28D0,-0.3D0,-2.37D0,-2.21D0,-0.06D0, 0.01D0,86.74D0, :-112.94D0,-0.08D0,-0.2D0,-2.53D0,-1.94D0,-0.05D0,-134.81D0, : 3.51D0, 0.2D0, -0.2D0, 0.08D0, 3.01D0, 0.07D0,79.03D0,107.31D0, :-0.24D0, 0.2D0, 2.4D0,-1.77D0,-0.04D0, 0.01D0,132.81D0, :-10.77D0,-0.52D0, 0.1D0,-0.24D0,-2.97D0,-0.07D0, 0.01D0, :-130.31D0,-0.9D0,0.04D0, 0D0, 0D0, 2.91D0,-78.56D0,85.32D0, : 0D0, 0D0, 1.91D0, 1.76D0, 0.04D0, 0D0, 0D0,-41.53D0, : 89.1D0, 0.02D0, 0D0, 1.99D0, 0.93D0,66.03D0, -71D0, -0.2D0, : -0.2D0,-1.59D0,-1.48D0,-0.04D0, 60.5D0, 64.7D0, 0.36D0, -0.4D0, : 1.45D0,-1.35D0,-0.04D0,-0.01D0,-52.27D0,-70.01D0, 0D0, 0D0 / DATA (A(I),I=714,865) / :-1.57D0, 1.17D0, 0.03D0,-52.95D0,66.29D0,0.32D0, 0.4D0, 1.48D0, : 1.18D0, 0.04D0,-0.01D0,51.02D0,67.25D0, 0D0, 0D0, 1.5D0, :-1.14D0,-0.03D0,-55.66D0,-60.92D0,0.16D0,-0.2D0,-1.36D0, 1.24D0, : 0.03D0,-54.81D0,-59.2D0,-0.08D0, 0.2D0,-1.32D0, 1.23D0, 0.03D0, :51.32D0,-55.6D0, 0D0, 0D0,-1.24D0,-1.15D0,-0.03D0,48.29D0, : 51.8D0, 0.2D0, -0.2D0, 1.16D0,-1.08D0,-0.03D0,-45.59D0, -49D0, :-0.12D0, 0.1D0, -1.1D0, 1.02D0, 0.03D0,40.54D0,-52.69D0,-0.04D0, : -0.1D0,-1.18D0,-0.91D0,-0.02D0,-40.58D0,-49.51D0, -1D0, 1D0, :-1.11D0, 0.91D0, 0.04D0, 0.02D0,-43.76D0,46.5D0, 0.36D0, 0.4D0, : 1.04D0, 0.98D0, 0.03D0,-0.01D0,62.65D0, -5D0,-0.24D0, 0D0, :-0.11D0, -1.4D0,-0.03D0, 0.01D0,-38.57D0,49.59D0,0.08D0, 0.1D0, : 1.11D0, 0.86D0, 0.02D0,-33.22D0,-44.04D0,0.08D0,-0.1D0,-0.98D0, : 0.74D0, 0.02D0,37.15D0,-39.9D0,-0.12D0, -0.1D0,-0.89D0,-0.83D0, :-0.02D0,36.68D0,-39.5D0,-0.04D0, -0.1D0,-0.88D0,-0.82D0,-0.02D0, :-53.22D0,-3.91D0,-0.2D0, 0D0,-0.09D0, 1.19D0, 0.03D0,32.43D0, :-42.19D0,-0.04D0,-0.1D0,-0.94D0,-0.73D0,-0.02D0, -51D0, -2.3D0, :-0.12D0, -0.1D0, 0D0, 1.14D0,-29.53D0,-39.11D0,0.04D0, 0D0, :-0.87D0, 0.66D0, 0.02D0, 28.5D0,-38.92D0,-0.08D0,-0.1D0,-0.87D0, :-0.64D0,-0.02D0,26.54D0,36.95D0,-0.12D0, 0.1D0, 0.83D0,-0.59D0 / DATA (A(I),I=866,1017) / :-0.01D0,26.54D0,34.59D0, 0.04D0, -0.1D0, 0.77D0,-0.59D0,-0.02D0, :28.35D0,-32.55D0,-0.16D0, 0.2D0,-0.73D0,-0.63D0,-0.01D0, -28D0, : 30.4D0, 0D0, 0D0, 0.68D0, 0.63D0, 0.01D0,-27.61D0,29.4D0, : 0.2D0, 0.2D0, 0.66D0, 0.62D0, 0.02D0,40.33D0, 0.4D0,-0.04D0, : 0.1D0, 0D0, -0.9D0,-23.28D0,31.61D0,-0.08D0,-0.1D0, 0.71D0, : 0.52D0, 0.01D0,37.75D0, 0.8D0, 0.04D0, 0.1D0, 0D0,-0.84D0, :23.66D0, 25.8D0, 0D0, 0D0, 0.58D0,-0.53D0,-0.01D0,21.01D0, :-27.91D0, 0D0, 0D0,-0.62D0,-0.47D0,-0.01D0,-34.81D0,2.89D0, : 0.04D0, 0D0, 0D0, 0.78D0,-23.49D0,-25.31D0, 0D0, 0D0, :-0.57D0, 0.53D0, 0.01D0,-23.47D0,25.2D0, 0.16D0, 0.2D0, 0.56D0, : 0.52D0, 0.02D0,19.58D0, 27.5D0,-0.12D0, 0.1D0, 0.62D0,-0.44D0, :-0.01D0,-22.67D0,-24.4D0,-0.08D0, 0.1D0,-0.55D0, 0.51D0, 0.01D0, :-19.97D0, 25D0, 0.12D0, 0.2D0, 0.56D0, 0.45D0, 0.01D0,21.28D0, :-22.8D0,-0.08D0, -0.1D0,-0.51D0,-0.48D0,-0.01D0,-30.47D0,0.91D0, : 0.04D0, 0D0, 0D0, 0.68D0,18.58D0, 24D0, 0.04D0, -0.1D0, : 0.54D0,-0.42D0,-0.01D0,-18.02D0,24.4D0,-0.04D0, -0.1D0, 0.55D0, : 0.4D0, 0.01D0,17.74D0, 22.5D0, 0.08D0, -0.1D0, 0.5D0, -0.4D0, :-0.01D0,-19.41D0,20.7D0, 0.08D0, 0.1D0, 0.46D0, 0.43D0, 0.01D0, :-18.64D0,20.11D0, 0D0, 0D0, 0.45D0, 0.42D0, 0.01D0,-16.75D0 / DATA (A(I),I=1018,1169) / : 21.6D0, 0.04D0, 0.1D0, 0.48D0, 0.37D0, 0.01D0,-18.42D0, -20D0, : 0D0, 0D0,-0.45D0, 0.41D0, 0.01D0,-26.77D0,1.41D0, 0.08D0, : 0D0, 0D0, 0.6D0,-26.17D0,-0.19D0, 0D0, 0D0, 0D0, : 0.59D0,-15.52D0,20.51D0, 0D0, 0D0, 0.46D0, 0.35D0, 0.01D0, :-25.42D0,-1.91D0,-0.08D0, 0D0,-0.04D0, 0.57D0, 0.45D0,-17.42D0, : 18.1D0, 0D0, 0D0, 0.4D0, 0.39D0, 0.01D0,16.39D0,-17.6D0, :-0.08D0, -0.1D0,-0.39D0,-0.37D0,-0.01D0,-14.37D0,18.91D0, 0D0, : 0D0, 0.42D0, 0.32D0, 0.01D0,23.39D0, -2.4D0,-0.12D0, 0D0, : 0D0,-0.52D0,14.32D0,-18.5D0,-0.04D0, -0.1D0,-0.41D0,-0.32D0, :-0.01D0,15.69D0,17.08D0, 0D0, 0D0, 0.38D0,-0.35D0,-0.01D0, :-22.99D0, 0.5D0, 0.04D0, 0D0, 0D0, 0.51D0, 0D0, 0D0, :14.47D0,-17.6D0,-0.01D0, 0D0,-0.39D0,-0.32D0,-13.33D0,18.4D0, :-0.04D0, -0.1D0, 0.41D0, 0.3D0,22.47D0, -0.6D0,-0.04D0, 0D0, : 0D0, -0.5D0,-12.78D0,-17.41D0,0.04D0, 0D0,-0.39D0, 0.29D0, : 0.01D0,-14.1D0,-15.31D0,0.04D0, 0D0,-0.34D0, 0.32D0, 0.01D0, :11.98D0,16.21D0,-0.04D0, 0D0, 0.36D0,-0.27D0,-0.01D0,19.65D0, : -1.9D0,-0.08D0, 0D0, 0D0,-0.44D0,19.61D0, -1.5D0,-0.08D0, : 0D0, 0D0,-0.44D0,13.41D0,-14.3D0,-0.04D0, -0.1D0,-0.32D0, : -0.3D0,-0.01D0,-13.29D0,14.4D0, 0D0, 0D0, 0.32D0, 0.3D0 / DATA (A(I),I=1170,1321) / : 0.01D0,11.14D0,-14.4D0,-0.04D0, 0D0,-0.32D0,-0.25D0,-0.01D0, :12.24D0,-13.38D0,0.04D0, 0D0, -0.3D0,-0.27D0,-0.01D0,10.07D0, :-13.81D0,0.04D0, 0D0,-0.31D0,-0.23D0,-0.01D0,10.46D0, 13.1D0, : 0.08D0, -0.1D0, 0.29D0,-0.23D0,-0.01D0,16.55D0,-1.71D0,-0.08D0, : 0D0, 0D0,-0.37D0, 9.75D0,-12.8D0, 0D0, 0D0,-0.29D0, :-0.22D0,-0.01D0, 9.11D0, 12.8D0, 0D0, 0D0, 0.29D0, -0.2D0, : 0D0, 0D0,-6.44D0,-13.8D0, 0D0, 0D0,-0.31D0, 0.14D0, :-9.19D0, -12D0, 0D0, 0D0,-0.27D0, 0.21D0,-10.3D0, 10.9D0, : 0.08D0, 0.1D0, 0.24D0, 0.23D0, 0.01D0,14.92D0, -0.8D0,-0.04D0, : 0D0, 0D0,-0.33D0,10.02D0,-10.8D0, 0D0, 0D0,-0.24D0, :-0.22D0,-0.01D0,-9.75D0, 10.4D0, 0.04D0, 0D0, 0.23D0, 0.22D0, : 0.01D0, 9.67D0,-10.4D0,-0.04D0, 0D0,-0.23D0,-0.22D0,-0.01D0, :-8.28D0,-11.2D0, 0.04D0, 0D0,-0.25D0, 0.19D0,13.32D0,-1.41D0, :-0.08D0, 0D0, 0D0, -0.3D0, 8.27D0, 10.5D0, 0.04D0, 0D0, : 0.23D0,-0.19D0, 0D0, 0D0,13.13D0, 0D0, 0D0, 0D0, : 0D0,-0.29D0,-12.93D0, 0.7D0, 0.04D0, 0D0, 0D0, 0.29D0, : 7.91D0,-10.2D0, 0D0, 0D0,-0.23D0,-0.18D0,-7.84D0, -10D0, :-0.04D0, 0D0,-0.22D0, 0.18D0, 7.44D0, 9.6D0, 0D0, 0D0, : 0.21D0,-0.17D0,-7.64D0, 9.4D0, 0.08D0, 0.1D0, 0.21D0, 0.17D0 / DATA (A(I),I=1322,1473) / : 0.01D0,-11.38D0, 0.6D0, 0.04D0, 0D0, 0D0, 0.25D0,-7.48D0, : 8.3D0, 0D0, 0D0, 0.19D0, 0.17D0,-10.98D0,-0.2D0, 0D0, : 0D0, 0D0, 0.25D0,10.98D0, 0.2D0, 0D0, 0D0, 0D0, :-0.25D0, 7.4D0, -7.9D0,-0.04D0, 0D0,-0.18D0,-0.17D0,-6.09D0, : 8.4D0,-0.04D0, 0D0, 0.19D0, 0.14D0,-6.94D0,-7.49D0, 0D0, : 0D0,-0.17D0, 0.16D0, 6.92D0, 7.5D0, 0.04D0, 0D0, 0.17D0, :-0.15D0, 6.2D0, 8.09D0, 0D0, 0D0, 0.18D0,-0.14D0,-6.12D0, : 7.8D0, 0.04D0, 0D0, 0.17D0, 0.14D0, 5.85D0, -7.5D0, 0D0, : 0D0,-0.17D0,-0.13D0,-6.48D0, 6.9D0, 0.08D0, 0.1D0, 0.15D0, : 0.14D0, 0.01D0, 6.32D0, 6.9D0, 0D0, 0D0, 0.15D0,-0.14D0, : 5.61D0, -7.2D0, 0D0, 0D0,-0.16D0,-0.13D0, 9.07D0, 0D0, : 0D0, 0D0, 0D0, -0.2D0, 5.25D0, 6.9D0, 0D0, 0D0, : 0.15D0,-0.12D0,-8.47D0, -0.4D0, 0D0, 0D0, 0D0, 0.19D0, : 6.32D0,-5.39D0,-1.11D0, 1.1D0,-0.12D0,-0.14D0, 0.02D0, 0.02D0, : 5.73D0, -6.1D0,-0.04D0, 0D0,-0.14D0,-0.13D0, 4.7D0, 6.6D0, :-0.04D0, 0D0, 0.15D0,-0.11D0, -4.9D0, -6.4D0, 0D0, 0D0, :-0.14D0, 0.11D0,-5.33D0, 5.6D0, 0.04D0, 0.1D0, 0.13D0, 0.12D0, : 0.01D0,-4.81D0, 6D0, 0.04D0, 0D0, 0.13D0, 0.11D0, 5.13D0, : 5.5D0, 0.04D0, 0D0, 0.12D0,-0.11D0, 4.5D0, 5.9D0, 0D0 / DATA (A(I),I=1474,1625) / : 0D0, 0.13D0, -0.1D0,-4.22D0, 6.1D0, 0D0, 0D0, 0.14D0, :-4.53D0, 5.7D0, 0D0, 0D0, 0.13D0, 0.1D0, 4.18D0, 5.7D0, : 0D0, 0D0, 0.13D0,-4.75D0,-5.19D0, 0D0, 0D0,-0.12D0, : 0.11D0,-4.06D0, 5.6D0, 0D0, 0D0, 0.13D0,-3.98D0, 5.6D0, :-0.04D0, 0D0, 0.13D0, 4.02D0, -5.4D0, 0D0, 0D0,-0.12D0, : 4.49D0, -4.9D0,-0.04D0, 0D0,-0.11D0, -0.1D0,-3.62D0, -5.4D0, :-0.16D0, 0.2D0,-0.12D0, 0D0, 0.01D0, 4.38D0, 4.8D0, 0D0, : 0D0, 0.11D0, -6.4D0, -0.1D0, 0D0, 0D0, 0D0, 0.14D0, :-3.98D0, 5D0, 0.04D0, 0D0, 0.11D0,-3.82D0, -5D0, 0D0, : 0D0,-0.11D0,-3.71D0, 5.07D0, 0D0, 0D0, 0.11D0, 4.14D0, : 4.4D0, 0D0, 0D0, 0.1D0,-6.01D0, -0.5D0,-0.04D0, 0D0, : 0D0, 0.13D0,-4.04D0, 4.39D0, 0D0, 0D0, 0.1D0, 3.45D0, :-4.72D0, 0D0, 0D0,-0.11D0, 3.31D0, 4.71D0, 0D0, 0D0, : 0.11D0, 3.26D0, -4.5D0, 0D0, 0D0, -0.1D0,-3.26D0, -4.5D0, : 0D0, 0D0, -0.1D0,-3.34D0, -4.4D0, 0D0, 0D0, -0.1D0, :-3.74D0, -4D0, 3.7D0, 4D0, 3.34D0, -4.3D0, 3.3D0, -4.3D0, :-3.66D0, 3.9D0, 0.04D0, 3.66D0, 3.9D0, 0.04D0,-3.62D0, -3.9D0, :-3.61D0, 3.9D0, -0.2D0, 5.3D0, 0D0, 0D0, 0.12D0, 3.06D0, : 4.3D0, 3.3D0, 4D0, 0.4D0, 0.2D0, 3.1D0, 4.1D0,-3.06D0 / DATA (A(I),I=1626,1777) / : 3.9D0, -3.3D0, -3.6D0, -3.3D0, 3.36D0, 0.01D0, 3.14D0, 3.4D0, :-4.57D0, -0.2D0, 0D0, 0D0, 0D0, 0.1D0, -2.7D0, -3.6D0, : 2.94D0, -3.2D0, -2.9D0, 3.2D0, 2.47D0, -3.4D0, 2.55D0, -3.3D0, : 2.8D0,-3.08D0, 2.51D0, 3.3D0, -4.1D0, 0.3D0,-0.12D0, -0.1D0, : 4.1D0, 0.2D0,-2.74D0, 3D0, 2.46D0, 3.23D0,-3.66D0, 1.2D0, : -0.2D0, 0.2D0, 3.74D0, -0.4D0,-2.51D0, -2.8D0,-3.74D0, 2.27D0, : -2.9D0, 0D0, 0D0, -2.5D0, 2.7D0,-2.51D0, 2.6D0, -3.5D0, : 0.2D0, 3.38D0,-2.22D0, -2.5D0, 3.26D0, -0.4D0, 1.95D0, -2.6D0, : 3.22D0, -0.4D0,-0.04D0,-1.79D0, -2.6D0, 1.91D0, 2.5D0, 0.74D0, : 3.05D0,-0.04D0, 0.08D0, 2.11D0, -2.3D0,-2.11D0, 2.2D0,-1.87D0, : -2.4D0, 2.03D0, -2.2D0,-2.03D0, 2.2D0, 2.98D0, 0D0, 0D0, : 2.98D0,-1.71D0, 2.4D0, 2.94D0, -0.1D0,-0.12D0, 0.1D0, 1.67D0, : 2.4D0,-1.79D0, 2.3D0,-1.79D0, 2.2D0,-1.67D0, 2.2D0, 1.79D0, : -2D0, 1.87D0, -1.9D0, 1.63D0, -2.1D0,-1.59D0, 2.1D0, 1.55D0, : -2.1D0,-1.55D0, 2.1D0,-2.59D0, -0.2D0,-1.75D0, -1.9D0,-1.75D0, : 1.9D0,-1.83D0, -1.8D0, 1.51D0, 2D0,-1.51D0, -2D0, 1.71D0, : 1.8D0, 1.31D0, 2.1D0,-1.43D0, 2D0, 1.43D0, 2D0,-2.43D0, :-1.51D0, 1.9D0,-1.47D0, 1.9D0, 2.39D0, 0.2D0,-2.39D0, 1.39D0, : 1.9D0, 1.39D0, -1.8D0, 1.47D0, -1.6D0, 1.47D0, -1.6D0, 1.43D0 / DATA (A(I),I=1778,1929) / : -1.5D0,-1.31D0, 1.6D0, 1.27D0, -1.6D0,-1.27D0, 1.6D0, 1.27D0, : -1.6D0, 2.03D0, 1.35D0, 1.5D0,-1.39D0, -1.4D0, 1.95D0, -0.2D0, :-1.27D0, 1.49D0, 1.19D0, 1.5D0, 1.27D0, 1.4D0, 1.15D0, 1.5D0, : 1.87D0, -0.1D0,-1.12D0, -1.5D0, 1.87D0,-1.11D0, -1.5D0,-1.11D0, : -1.5D0, 0D0, 0D0, 1.19D0, 1.4D0, 1.27D0, -1.3D0,-1.27D0, : -1.3D0,-1.15D0, 1.4D0,-1.23D0, 1.3D0,-1.23D0, -1.3D0, 1.22D0, :-1.29D0, 1.07D0, -1.4D0, 1.75D0, -0.2D0,-1.03D0, -1.4D0,-1.07D0, : 1.2D0,-1.03D0, 1.15D0, 1.07D0, 1.1D0, 1.51D0,-1.03D0, 1.1D0, : 1.03D0, -1.1D0, 0D0, 0D0,-1.03D0, -1.1D0, 0.91D0, -1.2D0, :-0.88D0, -1.2D0,-0.88D0, 1.2D0,-0.95D0, 1.1D0,-0.95D0, -1.1D0, : 1.43D0,-1.39D0, 0.95D0, -1D0,-0.95D0, 1D0, -0.8D0, 1.1D0, : 0.91D0, -1D0,-1.35D0, 0.88D0, 1D0,-0.83D0, 1D0,-0.91D0, : 0.9D0, 0.91D0, 0.9D0, 0.88D0, -0.9D0,-0.76D0, -1D0,-0.76D0, : 1D0, 0.76D0, 1D0,-0.72D0, 1D0, 0.84D0, -0.9D0, 0.84D0, : 0.9D0, 1.23D0, 0D0, 0D0,-0.52D0, -1.1D0,-0.68D0, 1D0, : 1.19D0, -0.2D0, 1.19D0, 0.76D0, 0.9D0, 1.15D0, -0.1D0, 1.15D0, : -0.1D0, 0.72D0, -0.9D0,-1.15D0,-1.15D0, 0.68D0, 0.9D0,-0.68D0, : 0.9D0,-1.11D0, 0D0, 0D0, 0.2D0, 0.79D0, 0.8D0,-1.11D0, : -0.1D0, 0D0, 0D0,-0.48D0, -1D0,-0.76D0, -0.8D0,-0.72D0 / DATA (A(I),I=1930,2081) / : -0.8D0,-1.07D0, -0.1D0, 0.64D0, 0.8D0,-0.64D0, -0.8D0, 0.64D0, : 0.8D0, 0.4D0, 0.6D0, 0.52D0, -0.5D0, -0.6D0, -0.8D0,-0.71D0, : 0.7D0,-0.99D0, 0.99D0, 0.56D0, 0.8D0,-0.56D0, 0.8D0, 0.68D0, : -0.7D0, 0.68D0, 0.7D0,-0.95D0,-0.64D0, 0.7D0, 0.64D0, 0.7D0, : -0.6D0, 0.7D0, -0.6D0, -0.7D0,-0.91D0, -0.1D0,-0.51D0, 0.76D0, :-0.91D0,-0.56D0, 0.7D0, 0.88D0, 0.88D0,-0.63D0, -0.6D0, 0.55D0, : -0.6D0, -0.8D0, 0.8D0, -0.8D0,-0.52D0, 0.6D0, 0.52D0, 0.6D0, : 0.52D0, -0.6D0,-0.48D0, 0.6D0, 0.48D0, 0.6D0, 0.48D0, 0.6D0, :-0.76D0, 0.44D0, -0.6D0, 0.52D0, -0.5D0,-0.52D0, 0.5D0, 0.4D0, : 0.6D0, -0.4D0, -0.6D0, 0.4D0, -0.6D0, 0.72D0,-0.72D0,-0.51D0, : -0.5D0,-0.48D0, 0.5D0, 0.48D0, -0.5D0,-0.48D0, 0.5D0,-0.48D0, : 0.5D0, 0.48D0, -0.5D0,-0.48D0, -0.5D0,-0.68D0,-0.68D0, 0.44D0, : 0.5D0,-0.64D0, -0.1D0,-0.64D0, -0.1D0, -0.4D0, 0.5D0, 0.4D0, : 0.5D0, 0.4D0, 0.5D0, 0D0, 0D0, -0.4D0, -0.5D0,-0.36D0, : -0.5D0, 0.36D0, -0.5D0, 0.6D0, -0.6D0, 0.4D0, -0.4D0, 0.4D0, : 0.4D0, -0.4D0, 0.4D0, -0.4D0, 0.4D0,-0.56D0,-0.56D0, 0.36D0, : -0.4D0,-0.36D0, 0.4D0, 0.36D0, -0.4D0,-0.36D0, -0.4D0, 0.36D0, : 0.4D0, 0.36D0, 0.4D0,-0.52D0, 0.52D0, 0.52D0, 0.32D0, 0.4D0, :-0.32D0, 0.4D0,-0.32D0, 0.4D0,-0.32D0, 0.4D0, 0.32D0, -0.4D0 / DATA (A(I),I=2082,2233) / :-0.32D0, -0.4D0, 0.32D0, -0.4D0, 0.28D0, -0.4D0,-0.28D0, 0.4D0, : 0.28D0, -0.4D0, 0.28D0, 0.4D0, 0.48D0,-0.48D0, 0.48D0, 0.36D0, : -0.3D0,-0.36D0, -0.3D0, 0D0, 0D0, 0.2D0, 0.4D0,-0.44D0, : 0.44D0,-0.44D0,-0.44D0,-0.44D0,-0.44D0, 0.32D0, -0.3D0, 0.32D0, : 0.3D0, 0.24D0, 0.3D0,-0.12D0, -0.1D0,-0.28D0, 0.3D0, 0.28D0, : 0.3D0, 0.28D0, 0.3D0, 0.28D0, -0.3D0, 0.28D0, -0.3D0, 0.28D0, : -0.3D0, 0.28D0, 0.3D0,-0.28D0, 0.3D0, 0.4D0, 0.4D0,-0.24D0, : 0.3D0, 0.24D0, -0.3D0, 0.24D0, -0.3D0,-0.24D0, -0.3D0, 0.24D0, : 0.3D0, 0.24D0, -0.3D0,-0.24D0, 0.3D0, 0.24D0, -0.3D0,-0.24D0, : -0.3D0, 0.24D0, -0.3D0, 0.24D0, 0.3D0,-0.24D0, 0.3D0,-0.24D0, : 0.3D0, 0.2D0, -0.3D0, 0.2D0, -0.3D0, 0.2D0, -0.3D0, 0.2D0, : 0.3D0, 0.2D0, -0.3D0, 0.2D0, -0.3D0, 0.2D0, 0.3D0, 0.2D0, : 0.3D0, -0.2D0, -0.3D0, 0.2D0, -0.3D0, 0.2D0, -0.3D0,-0.36D0, :-0.36D0,-0.36D0,-0.04D0, 0.3D0, 0.12D0, -0.1D0,-0.32D0,-0.24D0, : 0.2D0, 0.24D0, 0.2D0, 0.2D0, -0.2D0, -0.2D0, -0.2D0, -0.2D0, : -0.2D0, 0.2D0, 0.2D0, 0.2D0, -0.2D0, 0.2D0, 0.2D0, 0.2D0, : 0.2D0, -0.2D0, -0.2D0, 0D0, 0D0, -0.2D0, -0.2D0, -0.2D0, : 0.2D0, -0.2D0, 0.2D0, 0.2D0, -0.2D0, -0.2D0, -0.2D0, 0.2D0, : 0.2D0, 0.2D0, 0.2D0, 0.2D0, -0.2D0, 0.2D0, -0.2D0, 0.28D0 / DATA (A(I),I=2234,2385) / : 0.28D0, 0.28D0, 0.28D0, 0.28D0, 0.28D0,-0.28D0, 0.28D0, 0.12D0, : 0D0, 0.24D0, 0.16D0, -0.2D0, 0.16D0, -0.2D0, 0.16D0, -0.2D0, : 0.16D0, 0.2D0,-0.16D0, 0.2D0, 0.16D0, 0.2D0,-0.16D0, 0.2D0, :-0.16D0, 0.2D0,-0.16D0, 0.2D0, 0.16D0, -0.2D0, 0.16D0, 0.2D0, : 0.16D0, -0.2D0,-0.16D0, 0.2D0,-0.16D0, -0.2D0,-0.16D0, 0.2D0, : 0.16D0, 0.2D0, 0.16D0, -0.2D0, 0.16D0, -0.2D0, 0.16D0, 0.2D0, : 0.16D0, 0.2D0, 0.16D0, 0.2D0,-0.16D0, -0.2D0, 0.16D0, 0.2D0, :-0.16D0, 0.2D0, 0.16D0, 0.2D0,-0.16D0, -0.2D0, 0.16D0, -0.2D0, : 0.16D0, -0.2D0,-0.16D0, -0.2D0, 0.24D0,-0.24D0,-0.24D0, 0.24D0, : 0.24D0, 0.12D0, 0.2D0, 0.12D0, 0.2D0,-0.12D0, -0.2D0, 0.12D0, : -0.2D0, 0.12D0, -0.2D0,-0.12D0, 0.2D0,-0.12D0, 0.2D0,-0.12D0, : -0.2D0, 0.12D0, 0.2D0, 0.12D0, 0.2D0, 0.12D0, -0.2D0,-0.12D0, : 0.2D0, 0.12D0, -0.2D0,-0.12D0, 0.2D0, 0.12D0, 0.2D0, 0D0, : 0D0,-0.12D0, 0.2D0,-0.12D0, 0.2D0, 0.12D0, -0.2D0,-0.12D0, : 0.2D0, 0.12D0, 0.2D0, 0D0,-0.21D0, -0.2D0, 0D0, 0D0, : 0.2D0, -0.2D0, -0.2D0, -0.2D0, 0.2D0,-0.16D0, -0.1D0, 0D0, : 0.17D0, 0.16D0, 0.16D0, 0.16D0, 0.16D0,-0.16D0, 0.16D0, 0.16D0, :-0.16D0, 0.16D0,-0.16D0, 0.16D0, 0.12D0, 0.1D0, 0.12D0, -0.1D0, :-0.12D0, 0.1D0,-0.12D0, 0.1D0, 0.12D0, -0.1D0,-0.12D0, 0.12D0 / DATA (A(I),I=2386,2537) / :-0.12D0, 0.12D0,-0.12D0, 0.12D0,-0.12D0,-0.12D0,-0.12D0,-0.12D0, :-0.12D0,-0.12D0,-0.12D0, 0.12D0, 0.12D0, 0.12D0, 0.12D0,-0.12D0, :-0.12D0, 0.12D0, 0.12D0, 0.12D0,-0.12D0, 0.12D0,-0.12D0,-0.12D0, :-0.12D0, 0.12D0,-0.12D0,-0.12D0, 0.12D0, 0D0, 0.11D0, 0.11D0, :-122.67D0,164.7D0,203.78D0,273.5D0,3.58D0,2.74D0,6.18D0,-4.56D0, : 0D0,-0.04D0, 0D0,-0.07D0,57.44D0,-77.1D0,95.82D0,128.6D0, :-1.77D0,-1.28D0, 2.85D0,-2.14D0,82.14D0, 89.5D0, 0D0, 0D0, : 2D0,-1.84D0,-0.04D0,47.73D0,-64.1D0,23.79D0, 31.9D0,-1.45D0, :-1.07D0, 0.69D0,-0.53D0,-46.38D0,50.5D0, 0D0, 0D0, 1.13D0, : 1.04D0, 0.02D0,-18.38D0, 0D0, 63.8D0, 0D0, 0D0, 0.41D0, : 0D0,-1.43D0,59.07D0, 0D0, 0D0, 0D0, 0D0,-1.32D0, :57.28D0, 0D0, 0D0, 0D0, 0D0,-1.28D0,-48.65D0, 0D0, :-1.15D0, 0D0, 0D0, 1.09D0, 0D0, 0.03D0,-18.3D0, 24.6D0, :-17.3D0,-23.2D0, 0.56D0, 0.41D0,-0.51D0, 0.39D0,-16.91D0,26.9D0, : 8.43D0, 13.3D0, 0.6D0, 0.38D0, 0.31D0,-0.19D0, 1.23D0, -1.7D0, :-19.13D0,-25.7D0,-0.03D0,-0.03D0,-0.58D0,0.43D0,-0.72D0, 0.9D0, :-17.34D0,-23.3D0,0.03D0, 0.02D0,-0.52D0, 0.39D0,-19.49D0,-21.3D0, : 0D0, 0D0,-0.48D0, 0.44D0, 0.01D0,20.57D0,-20.1D0, 0.64D0, : 0.7D0,-0.45D0,-0.46D0, 0D0,-0.01D0, 4.89D0, 5.9D0,-16.55D0 / DATA (A(I),I=2538,2689) / : 19.9D0, 0.14D0,-0.11D0, 0.44D0, 0.37D0,18.22D0, 19.8D0, 0D0, : 0D0, 0.44D0,-0.41D0,-0.01D0, 4.89D0, -5.3D0,-16.51D0, -18D0, :-0.11D0,-0.11D0,-0.41D0, 0.37D0,-17.86D0, 0D0, 17.1D0, 0D0, : 0D0, 0.4D0, 0D0,-0.38D0, 0.32D0, 0D0,24.42D0, 0D0, : 0D0,-0.01D0, 0D0,-0.55D0,-23.79D0, 0D0, 0D0, 0D0, : 0D0, 0.53D0,14.72D0, -16D0,-0.32D0, 0D0,-0.36D0,-0.33D0, :-0.01D0, 0.01D0, 3.34D0, -4.5D0,11.86D0, 15.9D0,-0.11D0,-0.07D0, : 0.35D0,-0.27D0,-3.26D0, 4.4D0,11.62D0, 15.6D0, 0.09D0, 0.07D0, : 0.35D0,-0.26D0,-19.53D0, 0D0, 5.09D0, 0D0, 0D0, 0.44D0, : 0D0,-0.11D0,-13.48D0,14.7D0, 0D0, 0D0, 0.33D0, 0.3D0, : 0.01D0,10.86D0,-14.6D0, 3.18D0, 4.3D0,-0.33D0,-0.24D0, 0.09D0, :-0.07D0,-11.3D0,-15.1D0, 0D0, 0D0,-0.34D0, 0.25D0, 0.01D0, : 2.03D0, -2.7D0,10.82D0, 14.5D0,-0.07D0,-0.05D0, 0.32D0,-0.24D0, :17.46D0, 0D0, 0D0, 0D0, 0D0,-0.39D0,16.43D0, 0D0, : 0.52D0, 0D0, 0D0,-0.37D0, 0D0,-0.01D0, 9.35D0, 0D0, :13.29D0, 0D0, 0D0,-0.21D0, 0D0, -0.3D0,-10.42D0,11.4D0, : 0D0, 0D0, 0.25D0, 0.23D0, 0.01D0, 0.44D0, 0.5D0,-10.38D0, : 11.3D0, 0.02D0,-0.01D0, 0.25D0, 0.23D0,-14.64D0, 0D0, 0D0, : 0D0, 0D0, 0.33D0, 0.56D0, 0.8D0,-8.67D0, 11.7D0, 0.02D0 / DATA (A(I),I=2690,2841) / :-0.01D0, 0.26D0, 0.19D0,13.88D0, 0D0,-2.47D0, 0D0, 0D0, :-0.31D0, 0D0, 0.06D0,-1.99D0, 2.7D0, 7.72D0, 10.3D0, 0.06D0, : 0.04D0, 0.23D0,-0.17D0, -0.2D0, 0D0,13.05D0, 0D0, 0D0, : 0D0, 0D0,-0.29D0, 6.92D0, -9.3D0, 3.34D0, 4.5D0,-0.21D0, :-0.15D0, 0.1D0,-0.07D0, -6.6D0, 0D0, 10.7D0, 0D0, 0D0, : 0.15D0, 0D0,-0.24D0,-8.04D0, -8.7D0, 0D0, 0D0,-0.19D0, : 0.18D0,-10.58D0, 0D0, -3.1D0, 0D0, 0D0, 0.24D0, 0D0, : 0.07D0,-7.32D0, 8D0,-0.12D0, -0.1D0, 0.18D0, 0.16D0, 1.63D0, : 1.7D0, 6.96D0, -7.6D0, 0.03D0,-0.04D0,-0.17D0,-0.16D0,-3.62D0, : 0D0, 9.86D0, 0D0, 0D0, 0.08D0, 0D0,-0.22D0, 0.2D0, : -0.2D0,-6.88D0, -7.5D0, 0D0, 0D0,-0.17D0, 0.15D0,-8.99D0, : 0D0, 4.02D0, 0D0, 0D0, 0.2D0, 0D0,-0.09D0,-1.07D0, : 1.4D0,-5.69D0, -7.7D0, 0.03D0, 0.02D0,-0.17D0, 0.13D0, 6.48D0, : -7.2D0,-0.48D0, -0.5D0,-0.16D0,-0.14D0,-0.01D0, 0.01D0, 5.57D0, : -7.5D0, 1.07D0, 1.4D0,-0.17D0,-0.12D0, 0.03D0,-0.02D0, 8.71D0, : 0D0, 3.54D0, 0D0, 0D0,-0.19D0, 0D0,-0.08D0, 0.4D0, : 0D0, 9.27D0, 0D0, 0D0,-0.01D0, 0D0,-0.21D0,-6.13D0, : 6.7D0,-1.19D0, -1.3D0, 0.15D0, 0.14D0,-0.03D0, 0.03D0, 5.21D0, : -5.7D0,-2.51D0, -2.6D0,-0.13D0,-0.12D0,-0.06D0, 0.06D0, 5.69D0 / DATA (A(I),I=2842,2993) / : -6.2D0,-0.12D0, -0.1D0,-0.14D0,-0.13D0,-0.01D0, 2.03D0, -2.7D0, : 4.53D0, 6.1D0,-0.06D0,-0.05D0, 0.14D0, -0.1D0, 5.01D0, 5.5D0, :-2.51D0, 2.7D0, 0.12D0,-0.11D0, 0.06D0, 0.06D0,-1.91D0, 2.6D0, :-4.38D0, -5.9D0, 0.06D0, 0.04D0,-0.13D0, 0.1D0, 4.65D0, -6.3D0, : 0D0, 0D0,-0.14D0, -0.1D0,-5.29D0, 5.7D0, 0D0, 0D0, : 0.13D0, 0.12D0,-2.23D0, -4D0,-4.65D0, 4.2D0,-0.09D0, 0.05D0, : 0.1D0, 0.1D0,-4.53D0, 6.1D0, 0D0, 0D0, 0.14D0, 0.1D0, : 2.47D0, 2.7D0,-4.46D0, 4.9D0, 0.06D0,-0.06D0, 0.11D0, 0.1D0, :-5.05D0, 5.5D0, 0.84D0, 0.9D0, 0.12D0, 0.11D0, 0.02D0,-0.02D0, : 4.97D0, -5.4D0,-1.71D0, 0D0,-0.12D0,-0.11D0, 0D0, 0.04D0, :-0.99D0, -1.3D0, 4.22D0, -5.7D0,-0.03D0, 0.02D0,-0.13D0,-0.09D0, : 0.99D0, 1.4D0, 4.22D0, -5.6D0, 0.03D0,-0.02D0,-0.13D0,-0.09D0, :-4.69D0, -5.2D0, 0D0, 0D0,-0.12D0, 0.1D0,-3.42D0, 0D0, : 6.09D0, 0D0, 0D0, 0.08D0, 0D0,-0.14D0,-4.65D0, -5.1D0, : 0D0, 0D0,-0.11D0, 0.1D0, 0D0, 0D0,-4.53D0, -5D0, : 0D0, 0D0,-0.11D0, 0.1D0,-2.43D0, -2.7D0,-3.82D0, 4.2D0, :-0.06D0, 0.05D0, 0.1D0, 0.09D0, 0D0, 0D0,-4.53D0, 4.9D0, : 0D0, 0D0, 0.11D0, 0.1D0,-4.49D0, -4.9D0, 0D0, 0D0, :-0.11D0, 0.1D0, 2.67D0, -2.9D0,-3.62D0, -3.9D0,-0.06D0,-0.06D0 / DATA (A(I),I=2994,3145) / :-0.09D0, 0.08D0, 3.94D0, -5.3D0, 0D0, 0D0,-0.12D0,-3.38D0, : 3.7D0,-2.78D0, -3.1D0, 0.08D0, 0.08D0,-0.07D0, 0.06D0, 3.18D0, : -3.5D0,-2.82D0, -3.1D0,-0.08D0,-0.07D0,-0.07D0, 0.06D0,-5.77D0, : 0D0, 1.87D0, 0D0, 0D0, 0.13D0, 0D0,-0.04D0, 3.54D0, : -4.8D0,-0.64D0, -0.9D0,-0.11D0, 0D0,-0.02D0, -3.5D0, -4.7D0, : 0.68D0, -0.9D0,-0.11D0, 0D0,-0.02D0, 5.49D0, 0D0, 0D0, : 0D0, 0D0,-0.12D0, 1.83D0, -2.5D0, 2.63D0, 3.5D0,-0.06D0, : 0D0, 0.08D0, 3.02D0, -4.1D0, 0.68D0, 0.9D0,-0.09D0, 0D0, : 0.02D0, 0D0, 0D0, 5.21D0, 0D0, 0D0, 0D0, 0D0, :-0.12D0,-3.54D0, 3.8D0, 2.7D0, 3.6D0,-1.35D0, 1.8D0, 0.08D0, : 0D0, 0.04D0, -2.9D0, 3.9D0, 0.68D0, 0.9D0, 0.09D0, 0D0, : 0.02D0, 0.8D0, -1.1D0,-2.78D0, -3.7D0,-0.02D0, 0D0,-0.08D0, : 4.1D0, 0D0,-2.39D0, 0D0, 0D0,-0.09D0, 0D0, 0.05D0, :-1.59D0, 2.1D0, 2.27D0, 3D0, 0.05D0, 0D0, 0.07D0,-2.63D0, : 3.5D0,-0.48D0, -0.6D0,-2.94D0, -3.2D0,-2.94D0, 3.2D0, 2.27D0, : -3D0,-1.11D0, -1.5D0,-0.07D0, 0D0,-0.03D0,-0.56D0, -0.8D0, :-2.35D0, 3.1D0, 0D0, -0.6D0,-3.42D0, 1.9D0,-0.12D0, -0.1D0, : 2.63D0, -2.9D0, 2.51D0, 2.8D0,-0.64D0, 0.7D0,-0.48D0, -0.6D0, : 2.19D0, -2.9D0, 0.24D0, -0.3D0, 2.15D0, 2.9D0, 2.15D0, -2.9D0 / DATA (A(I),I=3146,3297) / : 0.52D0, 0.7D0, 2.07D0, -2.8D0, -3.1D0, 0D0, 1.79D0, 0D0, : 0D0, 0.07D0, 0D0,-0.04D0, 0.88D0, 0D0,-3.46D0, 2.11D0, : 2.8D0,-0.36D0, 0.5D0, 3.54D0, -0.2D0, -3.5D0,-1.39D0, 1.5D0, :-1.91D0, -2.1D0,-1.47D0, 2D0, 1.39D0, 1.9D0, 2.07D0, -2.3D0, : 0.91D0, 1D0, 1.99D0, -2.7D0, 3.3D0, 0D0, 0.6D0,-0.44D0, : -0.7D0,-1.95D0, 2.6D0, 2.15D0, -2.4D0, -0.6D0, -0.7D0, 3.3D0, : 0.84D0, 0D0, -3.1D0, -3.1D0, 0D0,-0.72D0,-0.32D0, 0.4D0, :-1.87D0, -2.5D0, 1.87D0, -2.5D0, 0.32D0, 0.4D0,-0.24D0, 0.3D0, :-1.87D0, -2.5D0,-0.24D0, -0.3D0, 1.87D0, -2.5D0, -2.7D0, 0D0, : 1.55D0, 2.03D0, 2.2D0,-2.98D0,-1.99D0, -2.2D0, 0.12D0, -0.1D0, : -0.4D0, 0.5D0, 1.59D0, 2.1D0, 0D0, 0D0,-1.79D0, 2D0, :-1.03D0, 1.4D0,-1.15D0, -1.6D0, 0.32D0, 0.5D0, 1.39D0, -1.9D0, : 2.35D0,-1.27D0, 1.7D0, 0.6D0, 0.8D0,-0.32D0, -0.4D0, 1.35D0, : -1.8D0, 0.44D0, 0D0, 2.23D0,-0.84D0, 0.9D0,-1.27D0, -1.4D0, :-1.47D0, 1.6D0,-0.28D0, -0.3D0,-0.28D0, 0.4D0,-1.27D0, -1.7D0, : 0.28D0, -0.4D0,-1.43D0, -1.5D0, 0D0, 0D0,-1.27D0, -1.7D0, : 2.11D0,-0.32D0, -0.4D0,-1.23D0, 1.6D0, 1.19D0, -1.3D0,-0.72D0, : -0.8D0, 0.72D0, -0.8D0,-1.15D0, -1.3D0,-1.35D0, -1.5D0,-1.19D0, : -1.6D0,-0.12D0, 0.2D0, 1.79D0, 0D0,-0.88D0,-0.28D0, 0.4D0 / DATA (A(I),I=3298,3449) / : 1.11D0, 1.5D0,-1.83D0, 0D0, 0.56D0,-0.12D0, 0.1D0,-1.27D0, : -1.4D0, 0D0, 0D0, 1.15D0, 1.5D0,-0.12D0, 0.2D0, 1.11D0, : 1.5D0, 0.36D0, -0.5D0,-1.07D0, -1.4D0,-1.11D0, 1.5D0, 1.67D0, : 0D0, 0.8D0,-1.11D0, 0D0, 1.43D0, 1.23D0, -1.3D0,-0.24D0, :-1.19D0, -1.3D0,-0.24D0, 0.2D0,-0.44D0, -0.9D0,-0.95D0, 1.1D0, : 1.07D0, -1.4D0, 1.15D0, -1.3D0, 1.03D0, -1.1D0,-0.56D0, -0.6D0, :-0.68D0, 0.9D0,-0.76D0, -1D0,-0.24D0, -0.3D0, 0.95D0, -1.3D0, : 0.56D0, 0.7D0, 0.84D0, -1.1D0,-0.56D0, 0D0,-1.55D0, 0.91D0, : -1.3D0, 0.28D0, 0.3D0, 0.16D0, -0.2D0, 0.95D0, 1.3D0, 0.4D0, : -0.5D0,-0.88D0, -1.2D0, 0.95D0, -1.1D0,-0.48D0, -0.5D0, 0D0, : 0D0,-1.07D0, 1.2D0, 0.44D0, -0.5D0, 0.95D0, 1.1D0, 0D0, : 0D0, 0.92D0, -1.3D0, 0.95D0, 1D0,-0.52D0, 0.6D0, 1.59D0, : 0.24D0, -0.4D0, 0.91D0, 1.2D0, 0.84D0, -1.1D0,-0.44D0, -0.6D0, : 0.84D0, 1.1D0,-0.44D0, 0.6D0,-0.44D0, 0.6D0,-0.84D0, -1.1D0, : -0.8D0, 0D0, 1.35D0, 0.76D0, 0.2D0,-0.91D0, -1D0, 0.2D0, : -0.3D0,-0.91D0, -1.2D0,-0.95D0, 1D0,-0.48D0, -0.5D0, 0.88D0, : 1D0, 0.48D0, -0.5D0,-0.95D0, -1.1D0, 0.2D0, -0.2D0,-0.99D0, : 1.1D0,-0.84D0, 1.1D0,-0.24D0, -0.3D0, 0.2D0, -0.3D0, 0.84D0, : 1.1D0,-1.39D0, 0D0,-0.28D0,-0.16D0, 0.2D0, 0.84D0, 1.1D0 / DATA (A(I),I=3450,3601) / : 0D0, 0D0, 1.39D0, 0D0, 0D0,-0.95D0, 1D0, 1.35D0, :-0.99D0, 0D0, 0.88D0,-0.52D0, 0D0,-1.19D0, 0.2D0, 0.2D0, : 0.76D0, -1D0, 0D0, 0D0, 0.76D0, 1D0, 0D0, 0D0, : 0.76D0, 1D0,-0.76D0, 1D0, 0D0, 0D0, 1.23D0, 0.76D0, : 0.8D0,-0.32D0, 0.4D0,-0.72D0, 0.8D0, -0.4D0, -0.4D0, 0D0, : 0D0, -0.8D0, -0.9D0,-0.68D0, 0.9D0,-0.16D0, -0.2D0,-0.16D0, : -0.2D0, 0.68D0, -0.9D0,-0.36D0, 0.5D0,-0.56D0, -0.8D0, 0.72D0, : -0.9D0, 0.44D0, -0.6D0,-0.48D0, -0.7D0,-0.16D0, 0D0,-1.11D0, : 0.32D0, 0D0,-1.07D0, 0.6D0, -0.8D0,-0.28D0, -0.4D0,-0.64D0, : 0D0, 0.91D0, 1.11D0, 0.64D0, -0.9D0, 0.76D0, -0.8D0, 0D0, : 0D0,-0.76D0, -0.8D0, 1.03D0, 0D0,-0.36D0,-0.64D0, -0.7D0, : 0.36D0, -0.4D0, 1.07D0, 0.36D0, -0.5D0,-0.52D0, -0.7D0, 0.6D0, : 0D0, 0.88D0, 0.95D0, 0D0, 0.48D0, 0.16D0, -0.2D0, 0.6D0, : 0.8D0, 0.16D0, -0.2D0, -0.6D0, -0.8D0, 0D0, -1D0, 0.12D0, : 0.2D0, 0.16D0, -0.2D0, 0.68D0, 0.7D0, 0.59D0, -0.8D0,-0.99D0, :-0.56D0, -0.6D0, 0.36D0, -0.4D0,-0.68D0, -0.7D0,-0.68D0, -0.7D0, :-0.36D0, -0.5D0,-0.44D0, 0.6D0, 0.64D0, 0.7D0,-0.12D0, 0.1D0, :-0.52D0, 0.6D0, 0.36D0, 0.4D0, 0D0, 0D0, 0.95D0,-0.84D0, : 0D0, 0.44D0, 0.56D0, 0.6D0, 0.32D0, -0.3D0, 0D0, 0D0 / DATA (A(I),I=3602,3753) / : 0.6D0, 0.7D0, 0D0, 0D0, 0.6D0, 0.7D0,-0.12D0, -0.2D0, : 0.52D0, -0.7D0, 0D0, 0D0, 0.56D0, 0.7D0,-0.12D0, 0.1D0, :-0.52D0, -0.7D0, 0D0, 0D0, 0.88D0,-0.76D0, 0D0,-0.44D0, : 0D0, 0D0,-0.52D0, -0.7D0, 0.52D0, -0.7D0, 0.36D0, -0.4D0, :-0.44D0, -0.5D0, 0D0, 0D0, 0.6D0, 0.6D0, 0.84D0, 0D0, : 0.12D0,-0.24D0, 0D0, 0.8D0,-0.56D0, 0.6D0,-0.32D0, -0.3D0, : 0.48D0, -0.5D0, 0.28D0, -0.3D0,-0.48D0, -0.5D0, 0.12D0, 0.2D0, : 0.48D0, -0.6D0, 0.48D0, 0.6D0,-0.12D0, 0.2D0, 0.24D0, 0D0, : 0.76D0,-0.52D0, -0.6D0,-0.52D0, 0.6D0, 0.48D0, -0.5D0,-0.24D0, : -0.3D0, 0.12D0, -0.1D0, 0.48D0, 0.6D0, 0.52D0, -0.2D0, 0.36D0, : 0.4D0,-0.44D0, 0.5D0,-0.24D0, -0.3D0,-0.48D0, -0.6D0,-0.44D0, : -0.6D0,-0.12D0, 0.1D0, 0.76D0, 0.76D0, 0.2D0, -0.2D0, 0.48D0, : 0.5D0, 0.4D0, -0.5D0,-0.24D0, -0.3D0, 0.44D0, -0.6D0, 0.44D0, : -0.6D0, 0.36D0, 0D0,-0.64D0, 0.72D0, 0D0,-0.12D0, 0D0, : -0.1D0, -0.4D0, -0.6D0, -0.2D0, -0.2D0,-0.44D0, 0.5D0,-0.44D0, : 0.5D0, 0.2D0, 0.2D0,-0.44D0, -0.5D0, 0.2D0, -0.2D0, -0.2D0, : 0.2D0,-0.44D0, -0.5D0, 0.64D0, 0D0, 0.32D0,-0.36D0, 0.5D0, : -0.2D0, -0.3D0, 0.12D0, -0.1D0, 0.48D0, 0.5D0,-0.12D0, 0.3D0, :-0.36D0, -0.5D0, 0D0, 0D0, 0.48D0, 0.5D0,-0.48D0, 0.5D0 / DATA (A(I),I=3754,3905) / : 0.68D0, 0D0,-0.12D0, 0.56D0, -0.4D0, 0.44D0, -0.5D0,-0.12D0, : -0.1D0, 0.24D0, 0.3D0, -0.4D0, 0.4D0, 0.64D0, 0D0,-0.24D0, : 0.64D0, 0D0, -0.2D0, 0D0, 0D0, 0.44D0, -0.5D0, 0.44D0, : 0.5D0,-0.12D0, 0.2D0,-0.36D0, -0.5D0, 0.12D0, 0D0, 0.64D0, : -0.4D0, 0.5D0, 0D0, 0.1D0, 0D0, 0D0, -0.4D0, 0.5D0, : 0D0, 0D0, -0.4D0, -0.5D0, 0.56D0, 0D0, 0.28D0, 0D0, : 0.1D0, 0.36D0, 0.5D0, 0D0, -0.1D0, 0.36D0, -0.5D0, 0.36D0, : 0.5D0, 0D0, -0.1D0, 0.24D0, -0.2D0,-0.36D0, -0.4D0, 0.16D0, : 0.2D0, 0.4D0, -0.4D0, 0D0, 0D0,-0.36D0, -0.5D0,-0.36D0, : -0.5D0,-0.32D0, -0.5D0,-0.12D0, 0.1D0, 0.2D0, 0.2D0,-0.36D0, : 0.4D0, -0.6D0, 0.6D0, 0.28D0, 0D0, 0.52D0, 0.12D0, -0.1D0, : 0.4D0, 0.4D0, 0D0, -0.5D0, 0.2D0, -0.2D0,-0.32D0, 0.4D0, : 0.16D0, 0.2D0,-0.16D0, 0.2D0, 0.32D0, 0.4D0, 0.56D0, 0D0, :-0.12D0, 0.32D0, -0.4D0,-0.16D0, -0.2D0, 0D0, 0D0, 0.4D0, : 0.4D0, -0.4D0, -0.4D0, -0.4D0, 0.4D0,-0.36D0, 0.4D0, 0.12D0, : 0.1D0, 0D0, 0.1D0, 0.36D0, 0.4D0, 0D0, -0.1D0, 0.36D0, : 0.4D0,-0.36D0, 0.4D0, 0D0, 0.1D0, 0.32D0, 0D0, 0.44D0, : 0.12D0, 0.2D0, 0.28D0, -0.4D0, 0D0, 0D0, 0.36D0, 0.4D0, : 0.32D0, -0.4D0,-0.16D0, 0.12D0, 0.1D0, 0.32D0, -0.4D0, 0.2D0 / DATA (A(I),I=3906,4057) / : 0.3D0,-0.24D0, 0.3D0, 0D0, 0.1D0, 0.32D0, 0.4D0, 0D0, : -0.1D0,-0.32D0, -0.4D0,-0.32D0, 0.4D0, 0D0, 0.1D0,-0.52D0, :-0.52D0, 0.52D0, 0.32D0, -0.4D0, 0D0, 0D0, 0.32D0, 0.4D0, : 0.32D0, -0.4D0, 0D0, 0D0,-0.32D0, -0.4D0,-0.32D0, 0.4D0, : 0.32D0, 0.4D0, 0D0, 0D0, 0.32D0, 0.4D0, 0D0, 0D0, :-0.32D0, -0.4D0, 0D0, 0D0, 0.32D0, 0.4D0, 0.16D0, 0.2D0, : 0.32D0, -0.3D0,-0.16D0, 0D0,-0.48D0, -0.2D0, 0.2D0,-0.28D0, : -0.3D0, 0.28D0, -0.4D0, 0D0, 0D0, 0.28D0, -0.4D0, 0D0, : 0D0, 0.28D0, -0.4D0, 0D0, 0D0,-0.28D0, -0.4D0, 0.28D0, : 0.4D0,-0.28D0, -0.4D0,-0.48D0, -0.2D0, 0.2D0, 0.24D0, 0.3D0, : 0.44D0, 0D0, 0.16D0, 0.24D0, 0.3D0, 0.16D0, -0.2D0, 0.24D0, : 0.3D0,-0.12D0, 0.2D0, 0.2D0, 0.3D0,-0.16D0, 0.2D0, 0D0, : 0D0, 0.44D0,-0.32D0, 0.3D0, 0.24D0, 0D0,-0.36D0, 0.36D0, : 0D0, 0.24D0, 0.12D0, -0.2D0, 0.2D0, 0.3D0,-0.12D0, 0D0, :-0.28D0, 0.3D0,-0.24D0, 0.3D0, 0.12D0, 0.1D0,-0.28D0, -0.3D0, :-0.28D0, 0.3D0, 0D0, 0D0,-0.28D0, -0.3D0, 0D0, 0D0, :-0.28D0, -0.3D0, 0D0, 0D0, 0.28D0, 0.3D0, 0D0, 0D0, :-0.28D0, -0.3D0,-0.28D0, 0.3D0, 0D0, 0D0,-0.28D0, -0.3D0, : 0D0, 0D0, 0.28D0, 0.3D0, 0D0, 0D0,-0.28D0, 0.3D0 / DATA (A(I),I=4058,4209) / : 0.28D0, -0.3D0,-0.28D0, 0.3D0, 0.4D0, 0.4D0,-0.24D0, 0.3D0, : 0D0, -0.1D0, 0.16D0, 0D0, 0.36D0, -0.2D0, 0.3D0,-0.12D0, : -0.1D0,-0.24D0, -0.3D0, 0D0, 0D0,-0.24D0, 0.3D0,-0.24D0, : 0.3D0, 0D0, 0D0,-0.24D0, 0.3D0,-0.24D0, 0.3D0, 0.24D0, : -0.3D0, 0D0, 0D0, 0.24D0, -0.3D0, 0D0, 0D0, 0.24D0, : 0.3D0, 0.24D0, -0.3D0, 0.24D0, 0.3D0,-0.24D0, 0.3D0,-0.24D0, : 0.3D0, -0.2D0, 0.2D0,-0.16D0, -0.2D0, 0D0, 0D0,-0.32D0, : 0.2D0, 0D0, 0.1D0, 0.2D0, -0.3D0, 0.2D0, -0.2D0, 0.12D0, : 0.2D0,-0.16D0, 0.2D0, 0.16D0, 0.2D0, 0.2D0, 0.3D0, 0.2D0, : 0.3D0, 0D0, 0D0, -0.2D0, 0.3D0, 0D0, 0D0, 0.2D0, : 0.3D0, -0.2D0, -0.3D0, -0.2D0, -0.3D0, 0.2D0, -0.3D0, 0D0, : 0D0, 0.2D0, 0.3D0, 0D0, 0D0, 0.2D0, 0.3D0, 0D0, : 0D0, 0.2D0, 0.3D0, 0D0, 0D0, 0.2D0, 0.3D0, 0D0, : 0D0, 0.2D0, -0.3D0, 0D0, 0D0, -0.2D0, -0.3D0, 0D0, : 0D0, -0.2D0, 0.3D0, 0D0, 0D0, -0.2D0, 0.3D0, 0D0, : 0D0, 0.36D0, 0D0, 0D0, 0.36D0, 0.12D0, 0.1D0,-0.24D0, : 0.2D0, 0.12D0, -0.2D0,-0.16D0, -0.2D0,-0.13D0, 0.1D0, 0.22D0, : 0.21D0, 0.2D0, 0D0,-0.28D0, 0.32D0, 0D0,-0.12D0, -0.2D0, : -0.2D0, 0.12D0, -0.1D0, 0.12D0, 0.1D0, -0.2D0, 0.2D0, 0D0 / DATA (A(I),I=4210,4361) / : 0D0,-0.32D0, 0.32D0, 0D0, 0D0, 0.32D0, 0.32D0, 0D0, : 0D0,-0.24D0, -0.2D0, 0.24D0, 0.2D0, 0.2D0, 0D0,-0.24D0, : 0D0, 0D0,-0.24D0, -0.2D0, 0D0, 0D0, 0.24D0, 0.2D0, :-0.24D0, -0.2D0, 0D0, 0D0,-0.24D0, 0.2D0, 0.16D0, -0.2D0, : 0.12D0, 0.1D0, 0.2D0, 0.2D0, 0D0, -0.1D0,-0.12D0, 0.1D0, :-0.16D0, -0.2D0,-0.12D0, -0.1D0,-0.16D0, 0.2D0, 0.2D0, 0.2D0, : 0D0, 0D0, -0.2D0, 0.2D0, -0.2D0, 0.2D0, -0.2D0, 0.2D0, : -0.2D0, 0.2D0, 0.2D0, -0.2D0, -0.2D0, -0.2D0, 0D0, 0D0, : -0.2D0, 0.2D0, 0.2D0, 0D0, -0.2D0, 0D0, 0D0, -0.2D0, : 0.2D0, -0.2D0, 0.2D0, -0.2D0, -0.2D0, -0.2D0, -0.2D0, 0D0, : 0D0, 0.2D0, 0.2D0, 0.2D0, 0.2D0, 0.12D0, -0.2D0,-0.12D0, : -0.1D0, 0.28D0,-0.28D0, 0.16D0, -0.2D0, 0D0, -0.1D0, 0D0, : 0.1D0,-0.16D0, 0.2D0, 0D0, -0.1D0,-0.16D0, -0.2D0, 0D0, : -0.1D0, 0.16D0, -0.2D0, 0.16D0, -0.2D0, 0D0, 0D0, 0.16D0, : 0.2D0,-0.16D0, 0.2D0, 0D0, 0D0, 0.16D0, 0.2D0, 0.16D0, : -0.2D0, 0.16D0, -0.2D0,-0.16D0, 0.2D0, 0.16D0, -0.2D0, 0D0, : 0D0, 0.16D0, 0.2D0, 0D0, 0D0, 0.16D0, 0.2D0, 0D0, : 0D0,-0.16D0, -0.2D0, 0.16D0, -0.2D0,-0.16D0, -0.2D0, 0D0, : 0D0,-0.16D0, -0.2D0, 0D0, 0D0,-0.16D0, 0.2D0, 0D0 / DATA (A(I),I=4362,4513) / : 0D0, 0.16D0, -0.2D0, 0.16D0, 0.2D0, 0.16D0, 0.2D0, 0D0, : 0D0,-0.16D0, -0.2D0, 0D0, 0D0,-0.16D0, -0.2D0, 0D0, : 0D0, 0.16D0, 0.2D0, 0.16D0, 0.2D0, 0D0, 0D0, 0.16D0, : 0.2D0, 0.16D0, -0.2D0, 0.16D0, 0.2D0, 0D0, 0D0,-0.16D0, : 0.2D0, 0D0, 0.1D0, 0.12D0, -0.2D0, 0.12D0, -0.2D0, 0D0, : -0.1D0, 0D0, -0.1D0, 0.12D0, 0.2D0, 0D0, -0.1D0,-0.12D0, : 0.2D0,-0.15D0, 0.2D0,-0.24D0, 0.24D0, 0D0, 0D0, 0.24D0, : 0.24D0, 0.12D0, -0.2D0,-0.12D0, -0.2D0, 0D0, 0D0, 0.12D0, : 0.2D0, 0.12D0, -0.2D0, 0.12D0, 0.2D0, 0.12D0, 0.2D0, 0.12D0, : 0.2D0, 0.12D0, -0.2D0,-0.12D0, 0.2D0, 0D0, 0D0, 0.12D0, : 0.2D0, 0.12D0, 0D0, -0.2D0, 0D0, 0D0,-0.12D0, -0.2D0, : 0.12D0, -0.2D0, 0D0, 0D0, 0.12D0, 0.2D0,-0.12D0, 0.2D0, :-0.12D0, 0.2D0, 0.12D0, -0.2D0, 0D0, 0D0, 0.12D0, 0.2D0, : 0.2D0, 0D0, 0.12D0, 0D0, 0D0,-0.12D0, 0.2D0, 0D0, : 0D0,-0.12D0, -0.2D0, 0D0, 0D0,-0.12D0, -0.2D0,-0.12D0, : -0.2D0, 0D0, 0D0, 0.12D0, -0.2D0, 0.12D0, -0.2D0, 0.12D0, : 0.2D0,-0.12D0, -0.2D0, 0D0, 0D0, 0.12D0, -0.2D0, 0.12D0, : -0.2D0, 0.12D0, 0.2D0, 0.12D0, 0D0, 0.2D0,-0.12D0, -0.2D0, : 0D0, 0D0, 0.12D0, 0.2D0,-0.16D0, 0D0, 0.16D0, -0.2D0 / DATA (A(I),I=4514,4665) / : 0.2D0, 0D0, 0D0, -0.2D0, 0D0, 0D0, -0.2D0, 0.2D0, : 0D0, 0D0, 0.2D0, 0.2D0, -0.2D0, 0D0, 0D0, -0.2D0, : 0.12D0, 0D0,-0.16D0, 0.2D0, 0D0, 0D0, 0.2D0, 0.12D0, : -0.1D0, 0D0, 0.1D0, 0.16D0,-0.16D0,-0.16D0,-0.16D0,-0.16D0, :-0.16D0, 0D0, 0D0,-0.16D0, 0D0, 0D0,-0.16D0,-0.16D0, :-0.16D0, 0D0, 0D0,-0.16D0, 0D0, 0D0, 0.16D0, 0D0, : 0D0, 0.16D0, 0D0, 0D0, 0.16D0, 0.16D0, 0D0, 0D0, :-0.16D0, 0D0, 0D0,-0.16D0,-0.16D0, 0D0, 0D0, 0.16D0, : 0D0, 0D0,-0.16D0,-0.16D0, 0D0, 0D0,-0.16D0,-0.16D0, : 0.12D0, 0.1D0, 0.12D0, -0.1D0, 0.12D0, 0.1D0, 0D0, 0D0, : 0.12D0, 0.1D0,-0.12D0, 0.1D0, 0D0, 0D0, 0.12D0, 0.1D0, : 0.12D0, -0.1D0, 0D0, 0D0,-0.12D0, -0.1D0, 0D0, 0D0, : 0.12D0, 0.1D0, 0.12D0, 0D0, 0D0, 0.12D0, 0D0, 0D0, :-0.12D0, 0D0, 0D0, 0.12D0, 0.12D0, 0.12D0, 0.12D0, 0.12D0, : 0D0, 0D0, 0.12D0, 0D0, 0D0, 0.12D0, 0.12D0, 0D0, : 0D0, 0.12D0, 0D0, 0D0, 0.12D0,-0.12D0,-0.12D0, 0.12D0, : 0.12D0,-0.12D0,-0.12D0, 0D0, 0D0, 0.12D0,-0.12D0, 0.12D0, : 0.12D0,-0.12D0,-0.12D0, 0D0, 0D0,-0.12D0,-0.12D0, 0D0, : 0D0,-0.12D0, 0.12D0, 0D0, 0D0, 0.12D0, 0D0, 0D0 / DATA (A(I),I=4666,NA) / : 0.12D0, 0D0, 0D0, 0.12D0,-0.12D0, 0D0, 0D0,-0.12D0, : 0.12D0,-0.12D0,-0.12D0, 0.12D0, 0D0, 0D0, 0.12D0, 0.12D0, : 0.12D0,-0.12D0, 0D0, 0D0,-0.12D0,-0.12D0,-0.12D0, 0D0, : 0D0,-0.12D0,-0.12D0, 0D0, 0D0, 0.12D0, 0.12D0, 0D0, : 0D0,-0.12D0,-0.12D0,-0.12D0,-0.12D0, 0.12D0, 0D0, 0D0, : 0.12D0,-0.12D0, 0D0, 0D0,-0.12D0,-0.12D0, 0D0, 0D0, : 0.12D0,-0.12D0,-0.12D0,-0.12D0,-0.12D0, 0.12D0, 0.12D0,-0.12D0, :-0.12D0, 0D0, 0D0,-0.12D0, 0D0, 0D0,-0.12D0, 0.12D0, : 0D0, 0D0, 0.12D0, 0D0, 0D0,-0.12D0,-0.12D0, 0D0, : 0D0,-0.12D0,-0.12D0, 0.12D0, 0D0, 0D0, 0.12D0, 0.12D0, : 0D0, 0D0, 0.12D0, 0D0, 0D0, 0.12D0, 0.12D0, 0.08D0, : 0D0, 0.04D0 / * Amplitude usage: X or Y, sin or cos, power of T. DATA JAXY / 0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1 / DATA JASC / 0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0 / DATA JAPT / 0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4 / * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Interval between fundamental date J2000.0 and given date (JC). T = ( ( DATE1-DJ00 ) + DATE2 ) / DJC * Powers of T. W = 1D0 DO 1 JPT=0,MAXPT PT(JPT) = W W = W*T 1 CONTINUE * * Luni-solar fundamental (Delaunay) arguments (IERS 2003) * * Mean anomaly of the Moon. FA(1) = iau_FAL03 ( T ) * Mean anomaly of the Sun. FA(2) = iau_FALP03 ( T ) * Mean argument of the latitude of the Moon. FA(3) = iau_FAF03 ( T ) * Mean elongation of the Moon from the Sun. FA(4) = iau_FAD03 ( T ) * Mean longitude of the ascending node of the Moon. FA(5) = iau_FAOM03 ( T ) * Planetary longitudes, Mercury through Neptune. FA(6) = iau_FAME03 ( T ) FA(7) = iau_FAVE03 ( T ) FA(8) = iau_FAE03 ( T ) FA(9) = iau_FAMA03 ( T ) FA(10) = iau_FAJU03 ( T ) FA(11) = iau_FASA03 ( T ) FA(12) = iau_FAUR03 ( T ) FA(13) = iau_FANE03 ( T ) * General accumulated precession in longitude. FA(14) = iau_FAPA03 ( T ) * -------------------------------------- * Polynomial part of precession-nutation * -------------------------------------- DO 3 JXY=0,1 XYPR(JXY) = 0D0 DO 2 J=MAXPT,0,-1 XYPR(JXY) = XYPR(JXY) + XYP(J,JXY)*PT(J) 2 CONTINUE 3 CONTINUE * ---------------------------------- * Nutation periodic terms, planetary * ---------------------------------- * Initialize totals in X and Y. DO 4 JXY=0,1 XYPL(JXY) = 0D0 4 CONTINUE * Work backwards through the coefficients per frequency list. IALAST = NA DO 7 IFREQ=NFPL,1,-1 * Obtain the argument functions. ARG = 0D0 DO 5 I=1,14 M = MFAPL(I,IFREQ) IF ( M.NE.0 ) ARG = ARG + DBLE(M)*FA(I) 5 CONTINUE SC(0) = SIN(ARG) SC(1) = COS(ARG) * Work backwards through the amplitudes at this frequency. IA = NC(IFREQ+NFLS) DO 6 I=IALAST,IA,-1 * Coefficient number (0 = 1st). J = I-IA * X or Y. JXY = JAXY(J) * Sin or cos. JSC = JASC(J) * Power of T. JPT = JAPT(J) * Accumulate the component. XYPL(JXY) = XYPL(JXY) + A(I)*SC(JSC)*PT(JPT) 6 CONTINUE IALAST = IA-1 7 CONTINUE * ----------------------------------- * Nutation periodic terms, luni-solar * ----------------------------------- * Initialize totals in X and Y. DO 8 JXY=0,1 XYLS(JXY) = 0D0 8 CONTINUE * Continue working backwards through the number of coefficients list. DO 11 IFREQ=NFLS,1,-1 * Obtain the argument functions. ARG = 0D0 DO 9 I=1,5 M = MFALS(I,IFREQ) IF ( M.NE.0 ) ARG = ARG + DBLE(M)*FA(I) 9 CONTINUE SC(0) = SIN(ARG) SC(1) = COS(ARG) * Work backwards through the amplitudes at this frequency. IA = NC(IFREQ) DO 10 I=IALAST,IA,-1 * Coefficient number (0 = 1st). J = I-IA * X or Y. JXY = JAXY(J) * Sin or cos. JSC = JASC(J) * Power of T. JPT = JAPT(J) * Accumulate the component. XYLS(JXY) = XYLS(JXY) + A(I)*SC(JSC)*PT(JPT) 10 CONTINUE IALAST = IA-1 11 CONTINUE * ------- * Results * ------- * CIP unit vector components. X = DAS2R * ( XYPR(0) + ( XYLS(0) + XYPL(0) )/1D6 ) Y = DAS2R * ( XYPR(1) + ( XYLS(1) + XYPL(1) )/1D6 ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_XYS00A ( DATE1, DATE2, X, Y, S ) *+ * - - - - - - - - - - - * i a u _ X Y S 0 0 A * - - - - - - - - - - - * * For a given TT date, compute the X,Y coordinates of the Celestial * Intermediate Pole and the CIO locator s, using the IAU 2000A * precession-nutation model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * X,Y d Celestial Intermediate Pole (Note 2) * S d the CIO locator s (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The Celestial Intermediate Pole coordinates are the x,y components * of the unit vector in the Geocentric Celestial Reference System. * * 3) The CIO locator s (in radians) positions the Celestial * Intermediate Origin on the equator of the CIP. * * 4) A faster, but slightly less accurate result (about 1 mas for X,Y), * can be obtained by using instead the iau_XYS00B routine. * * Called: * iau_PNM00A classical NPB matrix, IAU 2000A * iau_BPN2XY extract CIP X,Y coordinates from NPB matrix * iau_S00 the CIO locator s, given X,Y, IAU 2000A * * Reference: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, X, Y, S DOUBLE PRECISION RBPN(3,3) DOUBLE PRECISION iau_S00 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Form the bias-precession-nutation matrix, IAU 2000A. CALL iau_PNM00A ( DATE1, DATE2, RBPN ) * Extract X,Y. CALL iau_BPN2XY ( RBPN, X, Y ) * Obtain s. S = iau_S00 ( DATE1, DATE2, X, Y ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_XYS00B ( DATE1, DATE2, X, Y, S ) *+ * - - - - - - - - - - - * i a u _ X Y S 0 0 B * - - - - - - - - - - - * * For a given TT date, compute the X,Y coordinates of the Celestial * Intermediate Pole and the CIO locator s, using the IAU 2000B * precession-nutation model. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * X,Y d Celestial Intermediate Pole (Note 2) * S d the CIO locator s (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The Celestial Intermediate Pole coordinates are the x,y components * of the unit vector in the Geocentric Celestial Reference System. * * 3) The CIO locator s (in radians) positions the Celestial * Intermediate Origin on the equator of the CIP. * * 4) The present routine is faster, but slightly less accurate (about * 1 mas in X,Y), than the iau_XYS00A routine. * * Called: * iau_PNM00B classical NPB matrix, IAU 2000B * iau_BPN2XY extract CIP X,Y coordinates from NPB matrix * iau_S00 the CIO locator s, given X,Y, IAU 2000A * * Reference: * * McCarthy, D. D., Petit, G. (eds.), IERS Conventions (2003), * IERS Technical Note No. 32, BKG (2004) * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, X, Y, S DOUBLE PRECISION RBPN(3,3) DOUBLE PRECISION iau_S00 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Form the bias-precession-nutation matrix, IAU 2000A. CALL iau_PNM00B ( DATE1, DATE2, RBPN ) * Extract X,Y. CALL iau_BPN2XY ( RBPN, X, Y ) * Obtain s. S = iau_S00 ( DATE1, DATE2, X, Y ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_XYS06A ( DATE1, DATE2, X, Y, S ) *+ * - - - - - - - - - - - * i a u _ X Y S 0 6 A * - - - - - - - - - - - * * For a given TT date, compute the X,Y coordinates of the Celestial * Intermediate Pole and the CIO locator s, using the IAU 2006 * precession and IAU 2000A nutation models. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: support routine. * * Given: * DATE1,DATE2 d TT as a 2-part Julian Date (Note 1) * * Returned: * X,Y d Celestial Intermediate Pole (Note 2) * S d the CIO locator s (Note 2) * * Notes: * * 1) The TT date DATE1+DATE2 is a Julian Date, apportioned in any * convenient way between the two arguments. For example, * JD(TT)=2450123.7 could be expressed in any of these ways, * among others: * * DATE1 DATE2 * * 2450123.7D0 0D0 (JD method) * 2451545D0 -1421.3D0 (J2000 method) * 2400000.5D0 50123.2D0 (MJD method) * 2450123.5D0 0.2D0 (date & time method) * * The JD method is the most natural and convenient to use in * cases where the loss of several decimal digits of resolution * is acceptable. The J2000 method is best matched to the way * the argument is handled internally and will deliver the * optimum resolution. The MJD method and the date & time methods * are both good compromises between resolution and convenience. * * 2) The Celestial Intermediate Pole coordinates are the x,y components * of the unit vector in the Geocentric Celestial Reference System. * * 3) The CIO locator s (in radians) positions the Celestial * Intermediate Origin on the equator of the CIP. * * 4) Series-based solutions for generating X and Y are also available: * see Capitaine & Wallace (2006) and iau_XY06. * * Called: * iau_PNM06A classical NPB matrix, IAU 2006/2000A * iau_BPN2XY extract CIP X,Y coordinates from NPB matrix * iau_S06 the CIO locator s, given X,Y, IAU 2006 * * References: * * Capitaine, N. & Wallace, P.T., 2006, Astron.Astrophys. 450, 855 * * Wallace, P.T. & Capitaine, N., 2006, Astron.Astrophys. 459, 981 * * This revision: 2013 May 14 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DATE1, DATE2, X, Y, S DOUBLE PRECISION RBPN(3,3) DOUBLE PRECISION iau_S06 * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - * Form the bias-precession-nutation matrix, IAU 2006/2000A. CALL iau_PNM06A ( DATE1, DATE2, RBPN ) * Extract X,Y. CALL iau_BPN2XY ( RBPN, X, Y ) * Obtain s. S = iau_S06 ( DATE1, DATE2, X, Y ) * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_ZP ( P ) *+ * - - - - - - - * i a u _ Z P * - - - - - - - * * Zero a p-vector. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Returned: * P d(3) p-vector * * This revision: 2000 November 25 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION P(3) INTEGER I * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DO 1 I=1,3 P(I) = 0D0 1 CONTINUE * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_ZPV ( PV ) *+ * - - - - - - - - * i a u _ Z P V * - - - - - - - - * * Zero a pv-vector. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Returned: * PV d(3,2) pv-vector * * Called: * iau_ZP zero p-vector * * This revision: 2006 November 13 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION PV(3,2) INTEGER I * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - DO 1 I=1,2 CALL iau_ZP ( PV(1,I) ) 1 CONTINUE * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END SUBROUTINE iau_ZR ( R ) *+ * - - - - - - - * i a u _ Z R * - - - - - - - * * Initialize an r-matrix to the null matrix. * * This routine is part of the International Astronomical Union's * SOFA (Standards of Fundamental Astronomy) software collection. * * Status: vector/matrix support routine. * * Returned: * R d(3,3) r-matrix * * This revision: 2012 April 3 * * SOFA release 2018-01-30 * * Copyright (C) 2018 IAU SOFA Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION R(3,3) * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - R(1,1) = 0D0 R(1,2) = 0D0 R(1,3) = 0D0 R(2,1) = 0D0 R(2,2) = 0D0 R(2,3) = 0D0 R(3,1) = 0D0 R(3,2) = 0D0 R(3,3) = 0D0 * Finished. *+---------------------------------------------------------------------- * * Copyright (C) 2018 * Standards Of Fundamental Astronomy Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND * CONDITIONS WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Board ("SOFA"). * * 2. Permission is granted to anyone to use the SOFA software for any * purpose, including commercial applications, free of charge and * without payment of royalties, subject to the conditions and * restrictions listed below. * * 3. You (the user) may copy and distribute SOFA source code to others, * and use and adapt its code and algorithms in your own software, * on a world-wide, royalty-free basis. That portion of your * distribution that does not consist of intact and unchanged copies * of SOFA source code files is a "derived work" that must comply * with the following requirements: * * a) Your work shall be marked or carry a statement that it * (i) uses routines and computations derived by you from * software provided by SOFA under license to you; and * (ii) does not itself constitute software provided by and/or * endorsed by SOFA. * * b) The source code of your derived work must contain descriptions * of how the derived work is based upon, contains and/or differs * from the original SOFA software. * * c) The names of all routines in your derived work shall not * include the prefix "iau" or "sofa" or trivial modifications * thereof such as changes of case. * * d) The origin of the SOFA components of your derived work must * not be misrepresented; you must not claim that you wrote the * original software, nor file a patent application for SOFA * software or algorithms embedded in the SOFA software. * * e) These requirements must be reproduced intact in any source * distribution and shall apply to anyone to whom you have * granted a further right to modify the source code of your * derived work. * * Note that, as originally distributed, the SOFA software is * intended to be a definitive implementation of the IAU standards, * and consequently third-party modifications are discouraged. All * variations, no matter how minor, must be explicitly marked as * such, as explained above. * * 4. You shall not cause the SOFA software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or * by inappropriate modification. * * 5. The SOFA software is provided "as is" and SOFA makes no warranty * as to its use or performance. SOFA does not and cannot warrant * the performance or results which the user may obtain by using the * SOFA software. SOFA makes no warranties, express or implied, as * to non-infringement of third party rights, merchantability, or * fitness for any particular purpose. In no event will SOFA be * liable to the user for any consequential, incidental, or special * damages, including any lost profits or lost savings, even if a * SOFA representative has been advised of such damages, or for any * claim by any third party. * * 6. The provision of any version of the SOFA software under the terms * and conditions specified herein does not imply that future * versions will also be made available under the same terms and * conditions. * * In any published work or commercial product which uses the SOFA * software directly, acknowledgement (see www.iausofa.org) is * appreciated. * * Correspondence concerning SOFA software should be addressed as * follows: * * By email: sofa@ukho.gov.uk * By post: IAU SOFA Center * HM Nautical Almanac Office * UK Hydrographic Office * Admiralty Way, Taunton * Somerset, TA1 2DN * United Kingdom * *----------------------------------------------------------------------- END