SUBROUTINE ARG2 ( IYEAR, DAY, ANGLE )
*+
* - - - - - - - - -
* A R G 2
* - - - - - - - - -
*
* This routine is part of the International Earth Rotation and
* Reference Systems Service (IERS) Conventions software collection.
*
* The purpose of the subroutine is to compute the angular astronomical
* argument, which depends on time, for 11 tidal argument calculations.
* The order of the 11 angular quantities in vector angle are given below:
*
* 01-M2, 02-S2, 03-N2, 04-K2, 05-K1, 06-O1, 07-P1, 08-Q1, 09-Mf,
* 10-Mm, 11-Ssa (See Reference 1)
*
* In general, Class 1, 2, and 3 models represent physical effects that
* act on geodetic parameters while canonical models provide lower-level
* representations or basic computations that are used by Class 1, 2, or
* 3 models.
*
* Status: Canonical model
*
* Class 1 models are those recommended to be used a priori in the
* reduction of raw space geodetic data in order to determine
* geodetic parameter estimates.
* Class 2 models are those that eliminate an observational
* singularity and are purely conventional in nature.
* Class 3 models are those that are not required as either Class
* 1 or 2.
* Canonical models are accepted as is and cannot be classified as a
* Class 1, 2, or 3 model.
*
* Given:
* IYEAR i Four digit year (Note 1)
* DAY d Day of Year Greenwich Time (Note 2)
*
* Returned:
* ANGLE(K) d Angular argument for Schwiderski
* computation, in radians (Notes 3 and 4)
*
* Notes:
*
* 1) This subroutine is valid only after 1973 CE. A validation
* test has been added to stop the subroutine if an invalid
* year is used.
*
* 2) Example: 32.5 for February 1 12 Noon
* Example: 1.25 for January 1 6 AM
*
* 3) Ocean loading phases computed from Schwiderski's models
* refer to the phase of the associated solid Earth tide
* generating potential at the zero meridian according to
*
* OL_DR = OL_AMP ' COS (SE_PHASE" - OL_PHASE)
*
* where OL = OCEAN LOADING TIDE,
* SE = SOLID EARTH TIDE GENERATING POTENTIAL.
*
* If the harmonic tide development of Cartwright, et al.
* (CTE) (1971, 1973) is used, make sure that SE_PHASE"
* take into account:
*
* (1) the sign of SE_AMP in the tables of Cartwright et al.
* (2) that CTE'S SE_PHASE refers to a sine rather than a
* cosine function if (N+M) = (DEGREE + ORDER) of the tide
* spherical harmonic is odd.
*
* i.e. SE_PHASE" = TAU(T) ' N1 + S(T) ' N2 + H(T) ' N3
* + P(T) ' N4 + N'(T) ' N5 + PS(T) ' N6
* + PI If CTE'S amplitude coefficient < 0
* + PI/2 If (DEGREE + N1) is odd
*
* where TAU ... PS = astronomical arguments,
* N1 ... N6 = CTE'S argument numbers.
*
* Most tide generating software compute SE_PHASE" (for use
* with cosines).
*
* 4) The double precision change from the original routine ARG.f
* to ARG2.F yields output differences on the order of 10^-9 radians.
*
* Called:
* None
*
* Test case:
* given input: IYEAR = 2008
* DAY = 311.5 (November 6 Noon)
* expected output: ANGLE(1) = 2.849663065753787805D0 rad
* ANGLE(2) = 6.28318080000000023D0 rad
* ANGLE(3) = 4.926040134021299366D0 rad
* ANGLE(4) = 1.608450491115348768D0 rad
* ANGLE(5) = 2.375021572352622456D0 rad
* ANGLE(6) = 0.4746414933980958040D0 rad
* ANGLE(7) = 3.908159227647345801D0 rad
* ANGLE(8) = 2.551018561669245344D0 rad
* ANGLE(9) = 5.041990012540757959D0 rad
* ANGLE(10) = 4.206816878908014701D0 rad
* ANGLE(11) = 1.608463638294885811D0 rad
*
* References:
*
* Schwiderski, E., 1983, "Atlas of Ocean Tidal Charts and Maps, Part I:
* The Semidiurnal Principal Lunar Tide M2," Marine Geodesy, 6, pp. 219-256.
*
* Petit, G. and Luzum, B. (eds.), IERS Conventions (2010),
* IERS Technical Note No. 36, BKG (2010)
*
* Revisions:
* 2008 November 05 B.E. Stetzler Added header and copyright
* 2008 November 07 B.E. Stetzler Provided test case
* 2008 November 13 B.E. Stetzler Re-defined variables
* 2008 November 14 B.E. Stetzler Corrected test case results
* 2010 April 20 B.E. Stetzler New version of routine without the
* use of EQUIVALENCE
* 2011 September 20 B.E. Stetzler Changed IYEAR variable from two
* digit value to four digit value,
* added year validation and IYMIN
* variable, and updated test case
* 2011 October 07 B.E. Stetzler Removed IYEAR-1900 from code and
* modified ICAPD calculation
*-----------------------------------------------------------------------
IMPLICIT NONE
INTEGER I, ID, ICAPD, K, IYEAR, IYMIN
PARAMETER ( K = 11 )
PARAMETER ( IYMIN = 1974 )
DOUBLE PRECISION ANGFAC(4,11), ANGLE(11), SPEED(11), DAY
DOUBLE PRECISION FDAY, CAPT, H0, S0, P0, DTR
DOUBLE PRECISION SIGM2, SIGS2, SIGN2, SIGK2, SIGK1, SIGO1,
. SIGP1, SIGQ1, SIGMF, SIGMM, SIGSSA, TWOPI
* ----------------------------------------------
* Speed of all terms given in radians per second
* ----------------------------------------------
DATA SPEED(1),SIGM2/1.40519D-4,1.40519D-4/
DATA SPEED(2),SIGS2/1.45444D-4,1.45444D-4/
DATA SPEED(3),SIGN2/1.37880D-4,1.37880D-4/
DATA SPEED(4),SIGK2/1.45842D-4,1.45842D-4/
DATA SPEED(5),SIGK1/.72921D-4,.72921D-4/
DATA SPEED(6),SIGO1/.67598D-4,.67598D-4/
DATA SPEED(7),SIGP1/0.72523D-4,0.72523D-4/
DATA SPEED(8),SIGQ1/0.64959D-4,0.64959D-4/
DATA SPEED(9),SIGMF/0.053234D-4,0.053234D-4/
DATA SPEED(10),SIGMM/0.026392D-4,0.026392D-4/
DATA SPEED(11),SIGSSA/0.003982D-4,0.003982D-4/
DATA ANGFAC/2.D0,-2.D0,0.D0,0.D0,4*0.D0,
. 2.D0,-3.D0,1.D0,0.D0,2.D0,3*0.D0,
. 1.D0,2*0.D0,.25D0,1.D0,-2.D0,0.D0,-.25D0,
. -1.D0,2*0.D0,-.25D0,1.D0,-3.D0,1.D0,-.25D0,
. 0.D0,2.D0,2*0.D0,0.D0,1.D0,-1.D0,0.D0,
. 2.D0,3*0.D0/
PARAMETER (TWOPI = 6.283185307179586476925287D0)
DATA DTR/0.174532925199D-1/
* Validate year
IF ( IYEAR.LT.IYMIN ) STOP 'Year must be after 1973 CE.'
* Initialize day of year
ID = DAY
* ------------------------------------------
* Compute fractional part of day in seconds
* ------------------------------------------
FDAY = (DAY-ID)*86400D0
* Revision 07 October 2011: ICAPD modified
ICAPD = ID+365*(IYEAR-1975)+((IYEAR-1973)/4)
CAPT = (27392.500528D0+1.000000035D0*ICAPD)/36525D0
* --------------------------------------------------
* Compute mean longitude of Sun at beginning of day
* --------------------------------------------------
H0=(279.69668D0+(36000.768930485D0+3.03D-4*CAPT)*CAPT)*DTR
* ---------------------------------------------------
* Compute mean longitude of Moon at beginning of day
* ---------------------------------------------------
S0=(((1.9D-6*CAPT-.001133D0)*CAPT+481267.88314137D0)*CAPT
. +270.434358D0)*DTR
* ------------------------------------------------------------
* Compute mean longitude of lunar perigee at beginning of day
* ------------------------------------------------------------
P0=(((-1.2D-5*CAPT-.010325D0)*CAPT+4069.0340329577D0)*CAPT
. +334.329653D0)*DTR
* Compute the tidal angle arguments
DO 500 I = 1, K
ANGLE(I) = SPEED(I)*FDAY + ANGFAC(1,I)*H0 + ANGFAC(2,I)*S0
. + ANGFAC(3,I)*P0 + ANGFAC(4,I)*TWOPI
ANGLE(I) = DMOD(ANGLE(I),TWOPI)
IF (ANGLE(I).LT.0D0) ANGLE(I) = ANGLE(I) + TWOPI
500 CONTINUE
RETURN
* Finished.
*+----------------------------------------------------------------------
*
* Copyright (C) 2008
* IERS Conventions Center
*
* ==================================
* IERS Conventions 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 provided by the IERS Conventions Center ("the
* Center").
*
* 2. Permission is granted to anyone to use the Software for any
* purpose, including commercial applications, free of charge,
* subject to the conditions and restrictions listed below.
*
* 3. You (the user) may adapt the Software and its algorithms for your
* own purposes and you may distribute the resulting "derived work"
* to others, provided that the derived work complies with the
* following requirements:
*
* a) Your work shall be clearly identified so that it cannot be
* mistaken for IERS Conventions software and that it has been
* neither distributed by nor endorsed by the Center.
*
* b) Your work (including source code) must contain descriptions of
* how the derived work is based upon and/or differs from the
* original Software.
*
* c) The name(s) of all modified routine(s) that you distribute
* shall be changed.
*
* d) The origin of the IERS Conventions components of your derived
* work must not be misrepresented; you must not claim that you
* wrote the original Software.
*
* e) The source code must be included for all routine(s) that you
* distribute. This notice must be reproduced intact in any
* source distribution.
*
* 4. In any published work produced by the user and which includes
* results achieved by using the Software, you shall acknowledge
* that the Software was used in obtaining those results.
*
* 5. The Software is provided to the user "as is" and the Center makes
* no warranty as to its use or performance. The Center does not
* and cannot warrant the performance or results which the user may
* obtain by using the Software. The Center 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 Center be liable to the user for any consequential,
* incidental, or special damages, including any lost profits or lost
* savings, even if a Center representative has been advised of such
* damages, or for any claim by any third party.
*
* Correspondence concerning IERS Conventions software should be
* addressed as follows:
*
* Gerard Petit
* Internet email: gpetit[at]bipm.org
* Postal address: IERS Conventions Center
* Time, frequency and gravimetry section, BIPM
* Pavillon de Breteuil
* 92312 Sevres FRANCE
*
* or
*
* Brian Luzum
* Internet email: brian.luzum[at]usno.navy.mil
* Postal address: IERS Conventions Center
* Earth Orientation Department
* 3450 Massachusetts Ave, NW
* Washington, DC 20392
*
*
*-----------------------------------------------------------------------
END