##// END OF EJS Templates
Fix bug in plotting
Fix bug in plotting

File last commit:

r0:b84e1135c2c4
r21:781d2d915c68
Show More
invlat.f
48 lines | 1.4 KiB | text/x-fortran | FortranFixedLexer
C $Id: invlat.f 3304 2011-01-17 15:25:59Z brideout $
C
SUBROUTINE INVLAT(TM,GDLAT,GLON,GDALT,RL,RLATI)
C .. Scalar Arguments ..
DOUBLE PRECISION GDALT,GDLAT,GLON,RL,RLATI,TM
C ..
C .. Local Scalars ..
DOUBLE PRECISION BB,DTR,GCALT,GCLAT,R,RKM,ST,T
C ..
C .. External Subroutines ..
EXTERNAL CONVRT,INVAR
C ..
C .. Intrinsic Functions ..
INTRINSIC ACOS,DMAX1,SIN,SQRT
C ..
C .. Data statements ..
C
C INVLAT CALCULATES THE L SHELL PARAMETER AND INVARIANT LATITUDE
C OF A POINT SPECIFIED BY ITS GEODETIC LATITUDE, LONGITUDE AND
C ALTITUDE
C
C INPUT
C TM - TIME IN YEARS (E.G. 1975.2)
C GDLAT - GEODETIC LATITUDE OF OBSERVATION POINT
C GLON - LONGITUDE OF OBSERVATION POINT
C GDALT - ALTITUDE ABOVE SPHEROID OF OBSERVATION POINT
C OUTPUT
C RLATI - INVARIANT LATITUDE
C RL - MAGNETIC L PARAMETER
C
DATA DTR/.0174532925199D0/
C ..
C
C .....CALCULATE GEOCENTRIC COORDINATES OF POINT.....
CALL CONVRT(1,GDLAT,GDALT,GCLAT,RKM)
T = DTR*(90.D0-GCLAT)
ST = SIN(T)
C
C .....CALCULATE L-SHELL PARAMETER.....
GCALT = RKM - 6378.16D0/SQRT(1.D0+.0067397D0*ST*ST)
CALL INVAR(TM,GCLAT,GLON,GCALT,.01D0,BB,RL)
C
C .....CALCULATE INVARIANT LATITUDE.....
R = RKM/(RKM-GCALT)
RLATI = ACOS(SQRT(R/DMAX1(RL,R)))/DTR
RETURN
C
END