Link | lp_math_earthRotationAngle |
Author | Bil Corry |
Category | Math |
Version | 8.x |
License | Public Domain |
Posted | 21 Apr 2006 |
Updated | 21 Apr 2006 |
More by this author... |
Returns the earth rotation angle in radians given a Julian date.
Requires [lp_date_juliansplit] [lp_math_mod] [lp_decimal_precisionset] [lp_math_range2PI]
var:'jd' = (lp_date_JulianDate: (date:'1978-01-01 00:00:00 GMT')); lp_math_radtodeg: (lp_math_earthRotationAngle: $jd);
Click the "Download" button below to retrieve a copy of this tag, including the complete documentation and sample usage shown on this page. Place the downloaded ".inc" file in your LassoStartup folder, restart Lasso, and you can begin using this tag immediately.
[ define_tag:'lp_math_earthRotationAngle', -description='Returns the earth rotation angle in radians given a Julian date.', -priority='replace', -required='JulianDate'; // adapted from i a u _ E R A 0 0 // original Fortran version follows below local:'DJ' = (lp_date_juliansplit: #juliandate); local:'DJ1' = (decimal: #DJ->(find:'date')); local:'DJ2' = (decimal: #DJ->(find:'time')); // * Days since fundamental epoch. if: #DJ1 < #DJ2; local:'D1' = @#DJ1; local:'D2' = @#DJ2; else; local:'D1' = @#DJ2; local:'D2' = @#DJ1; /if; local:'T' = #D1 + ( #D2-2451545.0 ); // * Fractional part of T (days). local:'F' = lp_math_mod( #D1, 1.0 ) + lp_math_mod ( #D2, 1.0 ); // * Earth rotation angle at this UT1. return: lp_decimal_precisionset(lp_math_range2PI( 6.283185307179586476925287 * ( #F + 0.7790572732640 + 0.00273781191135448 * #T ) )); /define_tag; /* 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. A similar formulation is given on p35 of the IERS * Conventions (1996). * * Called: * iau_ANP normalize angle into range 0 to 2pi * * References: * * Capitaine N., Guinot B. and McCarthy D.D, 2000, A&A 355, * 398-405. * * McCarthy D.D., 1996, IERS Conventions (IERS Technical Note 21), * Observatoire de Paris. * * This revision: 2004 February 27 * * Copyright (C) 2005 IAU SOFA Review Board. See notes at end. * *----------------------------------------------------------------------- IMPLICIT NONE DOUBLE PRECISION DJ1, DJ2 * 2Pi DOUBLE PRECISION D2PI PARAMETER ( D2PI = 6.283185307179586476925287D0 ) * Reference epoch (J2000), JD DOUBLE PRECISION DJ0 PARAMETER ( DJ0 = 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-DJ0 ) * 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) 2005 * Standards Of Fundamental Astronomy Review Board * of the International Astronomical Union. * * ===================== * SOFA Software License * ===================== * * NOTICE TO USER: * * BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING TERMS AND CONDITIONS * WHICH APPLY TO ITS USE. * * 1. The Software is owned by the IAU SOFA Review Board ("the Board"). * * 2. The Software is made available free of charge for use by: * * a) private individuals for non-profit research; and * * b) non-profit educational, academic and research institutions. * * 3. Commercial use of the Software is specifically excluded from the * terms and conditions of this license. Commercial use of the * Software is subject to the prior written agreement of the Board on * terms to be agreed. * * 4. The provision of any version of the 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. * * 5. The user may modify the Software for his/her own purposes. The * user may distribute the modified software provided that the Board * is informed and that a copy of the modified software is made * available to the Board on request. All modifications made by the * user shall be clearly identified to show how the modified software * differs from the original Software, and the name(s) of the * affected routine(s) shall be changed. The original SOFA Software * License text must be present. * * 6. In any published work produced by the user and which includes * results achieved by using the Software, the user shall acknowledge * that the Software was used in producing the information contained * in such publication. * * 7. The user may incorporate or embed the Software into other software * products which he/she may then give away free of charge but not * sell provided the user makes due acknowledgement of the use which * he/she has made of the Software in creating such software * products. Any redistribution of the Software in this way shall be * made under the same terms and conditions under which the user * received it from the SOFA Center. * * 8. The user shall not cause the Software to be brought into * disrepute, either by misuse, or use for inappropriate tasks, or by * inappropriate modification. * * 9. The Software is provided to the user "as is" and the Board makes * no warranty as to its use or performance. The Board does not and * cannot warrant the performance or results which the user may * obtain by using the Software. The Board 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 the Board be liable to the user for any consequential, * incidental, or special damages, including any lost profits or lost * savings, even if a Board representative has been advised of such * damages, or for any claim by any third party. * * Correspondence concerning SOFA software should be addressed as * follows: * * Internet email: sofa@rl.ac.uk * Postal address: IAU SOFA Center * Rutherford Appleton Laboratory * Chilton, Didcot, Oxon OX11 0QX * United Kingdom * * *----------------------------------------------------------------------- END */ ]
No comments
©LassoSoft Inc 2015 | Web Development by Treefrog Inc | Privacy | Legal terms and Shipping | Contact LassoSoft