|
|
C =====================================================================
|
|
|
C Downloaded from ftp://nssdcftp.gsfc.nasa.gov/models/ionospheric/iri/
|
|
|
C iri2001/fortran_code/
|
|
|
C by B. Rideout on May 4, 2007. Dated 1/31/2007 on ftp site.
|
|
|
C A description of this code can be found
|
|
|
C at http://modelweb.gsfc.nasa.gov/ionos/iri.htm
|
|
|
C
|
|
|
C $Id: cira.f 3304 2011-01-17 15:25:59Z brideout $
|
|
|
C
|
|
|
C Added variable initialization, and removed unused variables, to
|
|
|
C remove compiler warning
|
|
|
C
|
|
|
c cira.for, version number can be found at the end of this comment.
|
|
|
c-----------------------------------------------------------------------
|
|
|
C
|
|
|
C Calculates neutral temperature parameters for IRI using the
|
|
|
C MSIS-86/CIRA 1986 Neutral Thermosphere Model. The subroutines
|
|
|
C GTS5, GLOBE5 and GLOBL5 developed by A.E. Hedin (2/26/87) were
|
|
|
C modified for use in IRI --------- D. Bilitza -------- March 1991
|
|
|
C
|
|
|
C Corrections
|
|
|
C 11/09/99 always calculated Legendre; 'if glat' and 'if stl' taken out
|
|
|
C 11/09/99 use UMR, dumr and humr from COMMON
|
|
|
C Version-mm/dd/yy-------------------------------------------------
|
|
|
C 2000.01 05/07/01 start of versioning
|
|
|
c 2000.02 28/10/02 replace TAB/6 blanks, enforce 72/line (D. Simpson)
|
|
|
c-----------------------------------------------------------------------
|
|
|
C
|
|
|
|
|
|
SUBROUTINE CIRA86(IDAY,SEC,GLAT,GLONG,STL,F107A,TINF,TLB,SIGMA)
|
|
|
c-----------------------------------------------------------------------
|
|
|
C
|
|
|
C INPUT:
|
|
|
C IDAY - DAY OF YEAR
|
|
|
C SEC - UT(SEC)
|
|
|
C GLAT - GEODETIC LATITUDE(DEG)
|
|
|
C GLONG - GEODETIC LONGITUDE(DEG)
|
|
|
C STL - LOCAL APPARENT SOLAR TIME(HRS)
|
|
|
C F107A - 3 MONTH AVERAGE OF F10.7 FLUX
|
|
|
C
|
|
|
C OUTPUT:
|
|
|
C TINF - EXOSPHERIC TEMPERATURE (K)
|
|
|
C TLB - TEMPERATURE AT LOWER BOUNDARY (K)
|
|
|
C SIGMA - SHAPE PARAMETER FOR TEMPERATURE PROFILE
|
|
|
C
|
|
|
c-----------------------------------------------------------------------
|
|
|
DIMENSION PLG(9,4)
|
|
|
common /const/umr /const1/hr,dr
|
|
|
DATA XL/1000./,TLL/1000./
|
|
|
|
|
|
c data umr/1.74E-2/,hr/0.2618/,dr/1.74e-2
|
|
|
cDR,DR2/1.72142E-2,0.0344284/,
|
|
|
cSR/7.2722E-5/,
|
|
|
c,HR/.2618/
|
|
|
c,DGTR/1.74533E-2/
|
|
|
c dr = hr * 24. / 365.
|
|
|
c
|
|
|
C initializations to avoid warnings added by Bill Rideout
|
|
|
stloc = 0.0
|
|
|
ctloc = 0.0
|
|
|
s2tloc = 0.0
|
|
|
c2tloc = 0.0
|
|
|
s3tloc = 0.0
|
|
|
c3tloc = 0.0
|
|
|
C end B. Rideout addition
|
|
|
dr2 = dr * 2.
|
|
|
sr = hr / 3600.
|
|
|
|
|
|
C
|
|
|
C CALCULATE LEGENDRE POLYNOMIALS
|
|
|
C
|
|
|
C IF(XL.EQ.GLAT) GO TO 15
|
|
|
C = SIN(GLAT*umr)
|
|
|
S = COS(GLAT*umr)
|
|
|
C2 = C*C
|
|
|
C4 = C2*C2
|
|
|
S2 = S*S
|
|
|
PLG(2,1) = C
|
|
|
PLG(3,1) = 0.5*(3.*C2 -1.)
|
|
|
PLG(4,1) = 0.5*(5.*C*C2-3.*C)
|
|
|
PLG(5,1) = (35.*C4 - 30.*C2 + 3.)/8.
|
|
|
PLG(6,1) = (63.*C2*C2*C - 70.*C2*C + 15.*C)/8.
|
|
|
PLG(2,2) = S
|
|
|
PLG(3,2) = 3.*C*S
|
|
|
PLG(4,2) = 1.5*(5.*C2-1.)*S
|
|
|
PLG(5,2) = 2.5*(7.*C2*C-3.*C)*S
|
|
|
PLG(6,2) = 1.875*(21.*C4 - 14.*C2 +1.)*S
|
|
|
PLG(7,2) = (11.*C*PLG(6,2)-6.*PLG(5,2))/5.
|
|
|
PLG(3,3) = 3.*S2
|
|
|
PLG(4,3) = 15.*S2*C
|
|
|
PLG(5,3) = 7.5*(7.*C2 -1.)*S2
|
|
|
PLG(6,3) = 3.*C*PLG(5,3)-2.*PLG(4,3)
|
|
|
PLG(4,4) = 15.*S2*S
|
|
|
PLG(5,4) = 105.*S2*S*C
|
|
|
PLG(6,4)=(9.*C*PLG(5,4)-7.*PLG(4,4))/2.
|
|
|
PLG(7,4)=(11.*C*PLG(6,4)-8.*PLG(5,4))/3.
|
|
|
XL=GLAT
|
|
|
15 CONTINUE
|
|
|
C IF(TLL.EQ.STL) GO TO 16
|
|
|
STLOC = SIN(HR*STL)
|
|
|
CTLOC = COS(HR*STL)
|
|
|
S2TLOC = SIN(2.*HR*STL)
|
|
|
C2TLOC = COS(2.*HR*STL)
|
|
|
S3TLOC = SIN(3.*HR*STL)
|
|
|
C3TLOC = COS(3.*HR*STL)
|
|
|
TLL = STL
|
|
|
16 CONTINUE
|
|
|
C
|
|
|
DFA=F107A-150.
|
|
|
C
|
|
|
C EXOSPHERIC TEMPERATURE
|
|
|
C
|
|
|
C F10.7 EFFECT
|
|
|
T1 = ( 3.11701E-3 - 0.64111E-5 * DFA ) * DFA
|
|
|
F1 = 1. + 0.426385E-2 * DFA
|
|
|
F2 = 1. + 0.511819E-2 * DFA
|
|
|
F3 = 1. + 0.292246E-2 * DFA
|
|
|
C TIME INDEPENDENT
|
|
|
T2 = 0.385528E-1 * PLG(3,1) + 0.303445E-2 * PLG(5,1)
|
|
|
C SYMMETRICAL ANNUAL AND SEMIANNUAL
|
|
|
CD14 = COS( DR * (IDAY+8.45398) )
|
|
|
CD18 = COS( DR2 * (IDAY-125.818) )
|
|
|
CD32 = COS( DR * (IDAY-30.0150) )
|
|
|
CD39 = COS( DR2 * (IDAY-2.75905) )
|
|
|
T3 = 0.805486E-2 * CD32 + 0.14237E-1 * CD18
|
|
|
C ASYMMETRICAL ANNUAL AND SEMIANNUAL
|
|
|
T5 = F1 * (-0.127371 * PLG(2,1) - 0.302449E-1 * PLG(4,1) ) * CD14
|
|
|
& - 0.192645E-1 * PLG(2,1) * CD39
|
|
|
C DIURNAL
|
|
|
T71 = 0.123512E-1 * PLG(3,2) * CD14
|
|
|
T72 = -0.526277E-2 * PLG(3,2) * CD14
|
|
|
T7 = ( -0.105531 *PLG(2,2) - 0.607134E-2 *PLG(4,2) + T71 ) *CTLOC
|
|
|
4 + ( -0.115622 *PLG(2,2) + 0.202240E-2 *PLG(4,2) + T72 ) *STLOC
|
|
|
C SEMIDIURNAL
|
|
|
T81 = 0.386578E-2 * PLG(4,3) * CD14
|
|
|
T82 = 0.389146E-2 * PLG(4,3) * CD14
|
|
|
T8= (-0.516278E-3 *PLG(3,3) - 0.117388E-2 *PLG(5,3) +T81)*C2TLOC
|
|
|
3 +( 0.990156E-2 *PLG(3,3) - 0.354589E-3 *PLG(5,3) +T82)*S2TLOC
|
|
|
C TERDIURNAL
|
|
|
Z1 = PLG(5,4) * CD14
|
|
|
Z2 = PLG(7,4) * CD14
|
|
|
T14=(0.147284E-2*PLG(4,4)-0.173933E-3*Z1+0.365016E-4*Z2)*S3TLOC
|
|
|
2 +(0.341345E-3*PLG(4,4)-0.153218E-3*Z1+0.115102E-3*Z2)*C3TLOC
|
|
|
T7814 = F2 * ( T7 + T8 + T14 )
|
|
|
C LONGITUDINAL
|
|
|
T11= F3 * (( 0.562606E-2 * PLG(3,2) + 0.594053E-2 * PLG(5,2) +
|
|
|
$ 0.109358E-2 * PLG(7,2) - 0.301801E-2 * PLG(2,2) -
|
|
|
$ 0.423564E-2 * PLG(4,2) - 0.248289E-2 * PLG(6,2) +
|
|
|
$ (0.189689E-2 * PLG(2,2) + 0.415654E-2 * PLG(4,2)) * CD14
|
|
|
$ ) * COS(umr*GLONG) +
|
|
|
$ ( -0.11654E-1 * PLG(3,2) - 0.449173E-2 * PLG(5,2) -
|
|
|
$ 0.353189E-3 * PLG(7,2) + 0.919286E-3 * PLG(2,2) +
|
|
|
$ 0.216372E-2 * PLG(4,2) + 0.863968E-3 * PLG(6,2) +
|
|
|
$ (0.118068E-1 * PLG(2,2) + 0.331190E-2 * PLG(4,2)) * CD14
|
|
|
$ ) * SIN(umr*GLONG) )
|
|
|
C UT AND MIXED UT,LONGITUDE
|
|
|
T12 = ( 1. - 0.565411 * PLG(2,1) ) * COS( SR*(SEC-31137.0) ) *
|
|
|
$ (-0.13341E-1*PLG(2,1)-0.243409E-1*PLG(4,1)-0.135688E-1*PLG(6,1))
|
|
|
$ + ( 0.845583E-3 * PLG(4,3) + 0.538706E-3 * PLG(6,3) ) *
|
|
|
$ COS( SR * (SEC-247.956) + 2.*umr*GLONG )
|
|
|
C Exospheric temperature TINF/K [Eq. A7]
|
|
|
TINF = 1041.3 * ( 1. + T1+T2+T3+T5+T7814+T11+T12 ) * 0.99604
|
|
|
C
|
|
|
C TEMPERATURE DERIVATIVE AT LOWER BOUNDARY
|
|
|
C
|
|
|
C F10.7 EFFECT
|
|
|
T1 = 0.252317E-2 * DFA
|
|
|
C TIME INDEPENDENT
|
|
|
T2 = -0.467542E-1 * PLG(3,1) + 0.12026 * PLG(5,1)
|
|
|
C ASYMMETRICAL ANNUAL
|
|
|
CD14 = COS( DR * (IDAY+8.45398) )
|
|
|
T5 = -0.13324 * PLG(2,1) * CD14
|
|
|
C SEMIDIURNAL
|
|
|
ZZ = PLG(4,3) * CD14
|
|
|
T81 = -0.973404E-2 * ZZ
|
|
|
T82 = -0.718482E-3 * ZZ
|
|
|
T8 =(0.191357E-1 *PLG(3,3) + 0.787683E-2 *PLG(5,3) + T81) *C2TLOC
|
|
|
3 + (0.125429E-2 *PLG(3,3) - 0.233698E-2 *PLG(5,3) + T82) *S2TLOC
|
|
|
C dTn/dh at lower boundary [Eq. A6]
|
|
|
G0 = 0.166728E2 * ( 1. + T1+T2+T5+T8 ) * 0.951363
|
|
|
C
|
|
|
C NEUTRAL TEMPERATURE AT LOWER BOUNDARY 120KM
|
|
|
C
|
|
|
CD9 = COS( DR2 * (IDAY-89.3820) )
|
|
|
CD11 = COS( DR * (IDAY+8.45398) )
|
|
|
T1 = 0.568478E-3 * DFA
|
|
|
T4 = 0.107674E-1 * CD9
|
|
|
T5 =-0.192414E-1 * PLG(2,1) * CD11
|
|
|
T7 = -0.2002E-1 *PLG(2,2) *CTLOC - 0.195833E-2 *PLG(2,2) *STLOC
|
|
|
T8 = (-0.938391E-2 * PLG(3,3) - 0.260147E-2 * PLG(5,3)
|
|
|
$ + 0.511651E-4 * PLG(6,3) * CD11 ) * C2TLOC
|
|
|
$ + ( 0.131480E-1 * PLG(3,3) - 0.808556E-3 * PLG(5,3)
|
|
|
$ + 0.255717E-2 * PLG(6,3) * CD11 ) * S2TLOC
|
|
|
C Tn at lower boundary 120km [Eq. A8]
|
|
|
TLB = 386.0 * ( 1. + T1+T4+T5+T7+T8 ) * 0.976619
|
|
|
C Sigma [Eq. A5]
|
|
|
SIGMA = G0 / ( TINF - TLB )
|
|
|
RETURN
|
|
|
END
|
|
|
|