C path: /home/rc1/aer_lblrtm/src/SCCS/s.lbllow.f
C revision: 5.1
C created: 05/12/98 07:53:14
C presently: 05/12/98 08:45:10
SUBROUTINE LOWTRN 1,10
C
C CC
C CC STRIPPED DOWN VERSION OF LOWTRAN 7 TO RUN AS A SUBROUTINE
C CC TO SUPPLY LBLRTM WITH AEROSOLS,CLOUDS,FOGS AND RAIN
C CC
C
C ******************************************************************
C THIS SUBROUTINE IS ONLY USED FOR AEROSOLS AND CLOUDS
C
C BUILT IN CLOUD AND RAIN MODELS ARE CHOSEN BY ICLD (RECORD 3.1)
C
C USER DEFINED MODEL CAN BE INPUT BY SETTING IAERSL=7 (RECORD 1.2)
C
C FOR A MORE COMPLETE EXPLANATION SEE LBLRTM USER INSTRUCTIONS
C
C ******************************************************************
C PROGRAM ACTIVATED BY IAERSL = 1 OR 7 (RECORD 1.2)
C RECORD SEQUENCE AS FOLLOWS
C
C
C RECORD 3.1 IHAZE,ISEASN,IVULCN,ICSTL,ICLD,IVSA,VIS,WSS,WHH,RAINR
C GNDALT
C FORMAT(6I5,5F10.3)
C
C RECORD 3.2 CTHIK,CALT,CEXT,ISEED (ICLD=18,19, OR 20)
C FORMAT(3F10.3,I10)
C
C RECORD 3.3 ZCVSA,ZTVSA,ZINVSA (IVSA=1)
C FORMAT(3F10.3)
C
C RECORD 3.4 ML,TITLE (IAERSL=7)
C FORMAT(I5,18A4)
C
C RECORD 3.5 IS REPEATED ML TIMES
C
C RECORD 3.5 ZMDL,AHAZE,EQLWCZ,RRATZ,IHA1,
C ICLD1,IVUL1,ISEA1,ICHR1
C FORMAT (4F10.3,5I5)
C
C RECORDS 3.6.1 - 3.6.3 READ IN THE USER DEFINED CLOUD EXTINCTION
C AND ABSORPTION (IHAZE=7 OR ICLD=11)
C
C RECORD 3.6.1 (IREG(I),I=1,4)
C FORMAT (4I5)
C
C RECORD 3.6.2 AWCCON(N),TITLE(N)
C FORMAT (E10.3,18A4)
C
C RECORD 3.6.3 (VX(I),EXTC(N,I),ABSC(N,I),ASYM(N,I),I=1,47)
C FORMAT (3(F6.2,2F7.5,F6.4)) ** 16 RECORDS **
C
C
C ******************************************************************
C
C MODEL IS READ IN LBLATM
C M1, M2, AND M3 ARE SET DEPENDING ON MODEL
C
C ******************************************************************
C
C RECORD 3.1 IHAZE,ISEASN,IVULCN,ICSTL,ICLD,IVSA,VIS,WSS,WHH,
C RAINRT,GNDALT
C
C FORMAT(6I5,5F10.3)
C
C IHAZE SELECTS THE TYPE OF EXTINCTION AND A DEFAULT
C METEROLOGIACL RANGE FOR THE BOUNDARY-LAYER AEROSOL MODEL
C (0 TO 2KM ALTITUDE)
C IF VIS IS ALSO SPECIFIED ON RECORD 3.1, IT WILL OVERRIDE
C THE DEFAULT IHAZE VALUE
C
C IHAZE=0 NO AEROSOL ATTENUATION INCLUDED IN CALCULATION.
C =1 RURAL EXTINCTION, (23 KM VIS. DEFAULT PROFILE)
C =2 RURAL EXTINCTION, (5 KM VIS. DEFAULT PROFILE)
C =3 NAVY MARITIME EXTINCTION,SETS OWN VIS.
C =4 MARITIME EXTINCTION, 23 KM VIS. (LOWTRAN 5 MODEL)
C =5 URBAN EXTINCTION, (5 KM VIS DEFAULT PROFILE)
C =6 TROPOSPHERIC EXTINCTION, (50 KM VIS. DEFAULT PROFILE)
C =7 USER DEFINED AEROSOL EXTINCTION COEFFICIENTS
C RECORDS 3.6.1 TO 3.6.3
C =8 FOG1 (ADVECTION FOG) EXTINCTION, 0.2 KM VIS.
C =9 FOG2 (RADIATION FOG) EXTINCTION, 0.5 KM VIS.
C =10 DESERT EXTINCTION SETS OWN VISIBILITY FROM WIND SPEED
C
C
C ISEASN SELECTS THE SEASONAL DEPENDENCE OF THE PROFILES
C FOR BOTH THE TROPOSPHERIC (2 TO 10 KM) AND
C STRATOSPHERIC (10 TO 30 KM) AEROSOLS.
C
C ISEASN=0 DEFAULTS TO SEASON OF MODEL
C (MODEL 0,1,2,4,6,7) SUMMER
C (MODEL 3,5) WINTER
C =1 SPRING-SUMMER
C =2 FALL - WINTER
C
C IVULCN SELECTS BOTH THE PROFILE AND EXTINCTION TYPE
C FOR THE STRATOSPHERIC AEROSOLS AND DETERMINES TRANSITION
C PROFILES ABOVE THE STRATOSPHERE TO 100 KM.
C
C IVULCN=0 DEFAULT TO STRATOSPHERIC BACKGROUND
C =1 STRATOSPHERIC BACKGROUND
C =2 AGED VOLCANIC EXTINCTION/MODERATE VOLCANIC PROFILE
C =3 FRESH VOLCANIC EXTINCTION/HIGH VOLCANIC PROFILE
C =4 AGED VOLCANIC EXTINCTION/HIGH VOLCANIC PROFILE
C =5 FRESH VOLCANIC EXTINCTION/MODERATE VOLCANIC PROFILE
C =6 BACKGROUND STRATOSPHERIC EXTINCTION
C /MODERATE VOLCANIC PROFILE
C =7 BACKGROUND STRATOSPHERIC EXTINCTION
C /HIGH VOLCANIC PROFILE
C =8 FRESH VOLCANIC EXTINCTION/EXTREME VOLCANIC PROFILE
C
C ICSTL IS THE AIR MASS CHARACTER(1 TO 10) ONLY USED WITH
C NAVY MARITIME MODEL (IHAZE=3), DEFAULT VALUE IS 3.
C
C ICSTL = 1 OPEN OCEAN
C .
C .
C .
C 10 STRONG CONTINENTAL INFLUENCE
C
C ICLD DETERMINES THE INCLUSION OF CIRRUS CLOUD ATTENUATION
C AND GIVES A CHOICE OF FIVE CLOUD MODELS AND 5 RAIN MODELS
C
C ICLD FOR CLOUD AND OR RAIN
C
C ICLD = 0 NO CLOUDS OR RAIN
C = 1 CUMULUS CLOUD; BASE .66 KM; TOP 3.0 KM
C = 2 ALTOSTRATUS CLOUD; BASE 2.4 KM; TOP 3.0 KM
C = 3 STRATUS CLOUD; BASE .33 KM; TOP 1.0 KM
C = 4 STRATUS/STRATO CU; BASE .66 KM; TOP 2.0 KM
C = 5 NIMBOSTRATUS CLOUD; BASE .16 KM; TOP .66 KM
C = 6 2.0 MM/HR DRIZZLE (MODELED WITH CLOUD 3)
C RAIN 2.0 MM/HR AT 0.0 KM TO 0.22 MM/HR AT 1.5 KM
C = 7 5.0 MM/HR LIGHT RAIN (MODELED WITH CLOUD 5)
C RAIN 5.0 MM/HR AT 0.0 KM TO 0.2 MM/HR AT 2.0 KM
C = 8 12.5 MM/HR MODERATE RAIN (MODELED WITH CLOUD 5)
C RAIN 12.5 MM.HR AT 0.0 KM TO 0.2 MM/HR AT 2.0 KM
C = 9 25.0 MM/HR HEAVY RAIN (MODELED WITH CLOUD 1)
C RAIN 25.0 MM/HR AT 0.0 KM TO 0.2 MM/HR AT 3.0 KM
C =10 75.0 MM/HR EXTREME RAIN (MODELED WITH CLOUD 1)
C RAIN 75.0 MM/HR AT 0.0 KM TO 0.2 MM/HR AT 3.5 KM
C =11 READ IN USER DEFINED CLOUD EXTINCTION AND ABSORPTION
C =18 STANDARD CIRRUS MODEL
C =19 SUB-VISUAL CIRRUS MODEL
C =20 NOAA CIRRUS MODEL (LOWTRAN 6 MODEL)
C
C IVSA DETERMINES THE USE OF THE ARMY VERTICAL STRUCTURE
C ALGORITHM FOR AEROSOLS IN THE BOUNDARY LAYER.
C
C IVSA=0 NOT USED
C =1 VERTICAL STRUCTURE ALGORITHM
C
C VIS = METEROLOGICAL RANGE (KM) (WHEN SPECIFIED, SUPERSEDES
C DEFAULT VALUE SET BY IHAZE)
C
C WSS = CURRENT WIND SPEED (M/S).
C ONLY FOR (IHAZE=3 OR IHAZE=10)
C WHH = 24 HOUR AVERAGE WIND SPEED (M/S). ONLY WITH (IHAZE=3)
C
C RAINRT = RAIN RATE (MM/HR). DEFAULT VALUE IS ZERO.
C GNDALT = ALTITUDE OF SURFACE RELATIVE TO SEA LEVEL (KM)
C USED TO MODIFY AEROSOL PROFILES BELOW 6 KM ALTITUDE
C
C ******************************************************************
C
C OPTIONAL INPUT RECORDS AFTER RECORD 3.1
C SELECTED BY PARAMETERS ICLD, IVSA, AND IHAZE ON RECORD 3.1
C
C ******************************************************************
C
C RECORD 3.2 CTHIK,CALT,CEXT,ISEED (ICLD=18,19,20)
C FORMAT(3F10.3,I10)
C INPUT RECORD FOR CIRRUS ALTITUDE PROFILE
C SUBROUTINE WHEN ICLD = 18,19,20
C
C CHTIK = CIRRUS THICKNESS (KM)
C 0 USE THICKNESS STATISTICS
C > 0 USER DEFINED THICKNESS
C
C CALT = CIRRUS BASE ALTITUDE (KM)
C 0 USE CALCULATED VALUE
C > 0 USER DEFINED BASE ALTITUDE
C
C CEXT = EXTINCTION COEFFIENT (KM-1) AT 0.55 MICRONS
C 0 USE 0.14 * CTHIK
C > 0 USER DEFINED EXTINCTION COEFFICIENT
C
C ISEED = RANDOM NUMBER INITIALIZATION FLAG.
C 0 USE DEFAULT MEAN VALUES FOR CIRRUS
C > 0 INITIAL VALUE OF SEED FOR RANF FUNCTION
C
C
C ******************************************************************
C
C RECORD 3.3 ZCVSA,ZTVSA,ZINVSA (IVSA=1)
C FORMAT(3F10.3)
C INPUT RECORD FOR ARMY VERTICAL STRUCTURE
C ALGORITHM SUBROUTINE WHEN IVSA=1.
C
C ZCVSA = CLOUD CEILING HEIGHT (KM) =0 UNKNOWN HEIGHT
C
C ZCVSA > 0 KNOWN CLOUD CEILING
C ZCVSA = 0 UNKNOWN CLOUD CEILING HEIGHT
C PROGRAM CALCULATES CLOUD HEIGHT
C ZCVSA < 0 NO CLOUD CEILING
C
C ZTVSA = THICKNESS OF CLOUD OR FOG (KM),
C THICKNESS = 0 DEFAULTS TO 0.2 KM
C
C ZINVSA= HEIGHT OF THE INVERSION (KM)
C = 0 DEFAULTS TO 2 KM (0.2 KM FOR FOG)
C < 0 NO INVERSION LAYER
C
C ******************************************************************
C
C RECORD 3.4 ML,IRD1,IRD2,TITLE (IAERSL=7) READ IN LOWTRA
C FORMAT(3I5,18A4)
C ADDITIONAL AEROSOL PROFILE
C
C ML = NUMBER OF AEROSOL PROFILES LEVELS TO BE INSERTED
C (MAXIMUM OF 34)
C
C TITLE = IDENTIFICATION OF NEW MODEL AEROSOL PROFILE
C
C
C RECORD 3.5 IS REPEATED ML TIMES
C
C RECORD 3.5 READ IN AERNSM
C ZMDL,AHAZE,EQLWCZ,RRATZ,IHA1,ICLD1,IVUL1,ISEA1,ICHR1
C (IAERSL=7)
C FORMAT(4F10.3,5I5)
C
C ZMDL = ALTITUDE OF LAYER BOUNDARY (KM)
C
C AHAZE = AEROSOL VISIBLE EXTINCTION COFF (KM-1)
C
C EQLWCZ = LIQUID WATER CONTENT (GM M-3) AT ALT ZMDL
C
C **** EITHER AHAZE OR EQLWCZ IS ALLOWED ****
C
C FOR THE AEROSOL, CLOUD OR FOG MODELS
C
C RRATZ = RAIN RATE (MM/HR) AT ALT ZMDL
C
C IHA1 AEROSOL MODEL USED FOR SPECTRAL DEPENDENCE OF EXTINCTION
C
C IVUL1 STRATOSPHERIC AERSOL MODEL USED FOR SPECTRAL DEPENDENCE
C OF EXT AT ZMDL
C
C ICLD1 CLOUD MODEL USED FOR SPECTRAL DEPENDENCE OF EXT AT ZMDL
C
C ONLY ONE OF IHA1, ICLD1 OR IVUL1 IS ALLOWED
C IHA1 NE 0 OTHERS IGNORED
C IHA1 EQ 0 AND ICLD1 NE 0 USE ICLD1
C
C IF AHAZE AND EQLWCZ ARE BOTH ZERO, DEFAULT PROFILE LOADED
C ACCORDING TO IHAZ1,ICLD1,IVUL1
C
C ISEA1 = AEROSOL SEASON CONTROL FOR THE ALTITUDE ZMDL
C
C ICHR1 = INDICATES A BOUNDARY CHANGE BETWEEN TWO OR MORE ADJACENT
C USER DEFINED AEROSOL OR CLOUD REGIONS AT ALTITUDE ZMDL
C (REQUIRED FOR IHAZE=7 OR ICLD=11)
C NOTE: DEFAULTS TO 0 FOR IHAZE.NE.7 OR ICLD.NE.11
C
C = 0 NO BOUNDARY CHANGE
C
C = 1 SIGNIFIES BOUNDARY CHANGE
C
C ******************************************************************
C
C RECORDS 3.6.1 - 3.6.3 READS IN THE USER DEFINED CLOUD EXTINCTION
C AND ABSORPTION (IHAZE=7 OR ICLD=11)
C
C RECORD 3.6.1 (IREG(I),I=1,4)
C FORMAT (4I5)
C
C IREG = SPECIFIES WHICH OF THE FOUR ALTITUDE REGIONS A USER
C DEFINED AEROSOL OR CLOUD MODEL WILL USE
C
C RECORD 3.6.2 AWCCON(N),TITLE(N)
C FORMAT (E10.3,18A4)
C
C AWCCON(N) = CONVERSION FACTOR FROM EQUIVALENT LIQUID WATER
C CONTENT (GM/M3) TO EXTINCTION COEFFICIENT (KM-1).
C
C TITLE(N) = FOR AN AEROSOL OR CLOUD REGION
C
C RECORD 3.6.3 (VX(I),EXTC(N,I),ABSC(N,I),ASYM(N,I),I=1,47)
C FORMAT (3(F6.2,2F7.5,F6.4)) ** 16 RECORDS **
C
C VX(I) = WAVELENGTH OF AEROSOL COEFFICIENT
C (NOT USED BY PROGRAM BUT CORRESPONDING TO
C WAVELENGTHS DEFINED IN ARRAY VX2
C IN SUBROUTINE EXTDA)
C
C EXTC(N,I) = AEROSOL EXTINCTION COEFFICIENT
C ABSC(N,I) = AEROSOL ABSORPTION COEFFICIENT
C ASYM(N,I) = AEROSOL ASYMMETRY FACTOR
C
C *** REPEAT RECORDS 3.6.2 - 3.6.3 N TIMES, WHERE
C *** N = IREG(1)+IREG(2)+IREG(3)+IREG(4) FROM RECORD 3.6.1
C
C ******************************************************************
C
C MXFSC IS THE MAXIMUM NUMBER OF LAYERS FOR OUTPUT TO LBLRTM
C MXLAY IS THE MAXIMUM NUMBER OF OUTPUT LAYERS
C MXZMD IS THE MAX NUMBER OF LEVELS IN THE ATMOSPHERIC PROFILE
C STORED IN ZMDL (INPUT)
C MXPDIM IS THE MAXIMUM NUMBER OF LEVELS IN THE PROFILE ZPTH
C OBTAINED BY MERGING ZMDL AND ZOUT
C MXMOL IS THE MAXIMUM NUMBER OF MOLECULES, KMXNOM IS THE DEFAULT
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
C
C
C BLANK COMMON FOR ZMDL
C
COMMON RELHUM(MXZMD),HSTOR(MXZMD),ICH(4),VH(16),TX(16),W(16)
COMMON WPATH(IM2,16),TBBY(IM2)
COMMON ABSC(5,47),EXTC(5,47),ASYM(5,47),VX2(47),AWCCON(5)
C
CHARACTER*8 HMOD
C
COMMON HMOD(3),ZM(MXZMD),PF(MXZMD),TF(MXZMD),RFNDXM(MXZMD)
COMMON ZP(IM2),PP(IM2),TP(IM2),RFNDXP(IM2),SP(IM2),
* PPSUM(IM2),TPSUM(IM2),RHOPSM(IM2),
* IMLOW,WGM(MXZMD),DENW(MXZMD)
C
COMMON /IFIL/ IRD,IPR,IPU,NPR,NFHDRF,NPHDRF,NFHDRL,
*NPHDRL,NLNGTH,KFILE,KPANEL,LINFIL,
* NFILE,IAFIL,IEXFIL,NLTEFL,LNFIL4,LNGTH4
COMMON /LCRD1/ MODEL,ITYPE,IEMSCT,M1,M2,M3,IM,NOPRNT,TBOUND,SALB
COMMON /ADRIVE/LOWFLG,IREAD,MODELF,ITYPEF,NOZERO,NOPRNF,
* H1F,H2F,ANGLEF,RANGEF,BETAF,LENF,VL1,VL2,RO,IPUNCH,VBAR,
* HMINF,PHIF,IERRF,HSPACE
COMMON /LCRD2/ IHAZE,ISEASN,IVULCN,ICSTL,ICLD,IVSA,VIS,WSS,WHH,
* RAINRT
COMMON /LCRD2A/ CTHIK,CALT,CEXT
COMMON /LCRD2D/ IREG(4),ALTB(4),IREGC(4)
COMMON /LCRD3/ H1,H2,ANGLE,RANGE,BETA,RE,LEN
COMMON /LCRD4/ V1,V2,DV
REAL*8 V1P,V2P
CHARACTER*8 XID, HMOLID, YID
Real*8 SECANT, XALTZ
COMMON /HVERSN/ HVRLBL,HVRCNT,HVRFFT,HVRATM,HVRLOW,HVRNCG,
* HVROPR,HVRPST,HVRPLT,HVRTST,HVRUTL,HVRXMR
COMMON /FILHDR/ XID(10),SECANT,PAVE,TAVE,HMOLID(60),XALTZ(4),
* WK(60),PZL,PZU,TZL,TZU,WN2 ,DVP,V1P,V2P,TBOUNF,EMISIV,
* FSCDID(17),NMOL,LAYER,YI1,YID(10) ,LSTWDF
COMMON /CNSTNS/ PI,CA,DEG,GCAIR,BIGNUM,BIGEXP
COMMON /CNTRL/ KMAX,M,IKMAX,NL,ML,IKLO,ISSGEO,IKP,JH1
COMMON/MODEL/ ZMDL(MXZMD),PM(MXZMD),TM(MXZMD),
* RFNDX(MXZMD),DENSTY(16,MXZMD),
* CLDAMT(MXZMD),RRAMT(MXZMD),EQLWC(MXZMD),HAZEC(MXZMD)
COMMON /MART/ RHH
COMMON /MDLZ/ HMDLZ(10)
COMMON /ZVSALY/ ZVSA(10),RHVSA(10),AHVSA(10),IHVSA(10)
CHARACTER*20 HHAZE,HSEASN,HVULCN,HMET,HMODEL,BLANK
CHARACTER*24 HTRRAD
CHARACTER*8 HVRLBL,HVRCNT,HVRFFT,HVRATM,HVRLOW,HVRNCG,HVROPR,
* HVRPLT,HVRPST,HVRTST,HVRUTL,HVRXMR
COMMON /TITL/ HHAZE(16),HSEASN(2),HVULCN(8),BLANK,
* HMET(2),HMODEL(8),HTRRAD(4)
COMMON /VSBD/ VSB(10)
C
C ** IRD, IPR, AND IPU ARE UNIT NUMBERS FOR INPUT, OUTPUT, AND
C ** TAPE7 RESPECTIVELY
C
EQUIVALENCE (FSCDID(5),IEMS),(FSCDID(4),IAERSL)
C
DATA MAXATM,MAXGEO /3020, 3014/
IEMSCT = IEMS
C
C ASSIGN SCCS VERSION NUMBER TO MODULE
C
HVRLOW = '5.1'
C
C ALTITUDE PARAMETERS
C
C ZMDL COMMON/MODEL/ THE ALTITUDES USED IN LOWTRAN
C ZCVSA,ZTVSA,ZIVSA RECORD 3.3 LOWTRAN FOR VSA INPUT
C ZM BLANK COMMON RETURNS ALTITUDES FOR LBLRTM USE
C ZP BLANK COMMON NOT USED BY LOWTRAN
C ZVSA NINE ALTITUDES GEN BY VSA ROUTINE
C
PI = 2.0*ASIN(1.0)
CA = PI/180.
DEG = 1.0/CA
C
C ** GCAIR IS THE GAS CONSTANT FOR AIR IN UNITS OF MB/(GM CM-3 K)
C
GCAIR = 2.87053E+3
C
C ** BIGNUM AND BIGEXP ARE THE LARGEST NUMBER AND THE LARGEST ARGU
C ** EXP ALLOWED AND ARE MACHINE DEPENDENT. THE NUMBERS USED HERE
C ** FOR A TYPICAL 32 BIT-WORD COMPUTER.
C
BIGNUM = 1.0E38
BIGEXP = 87.0
KMAX = 16
C
C ** NL IS THE NUMBER OF BOUNDARIES IN THE STANDARD MODELS 1 TO 6
C ** BOUNDARY (AT 99999 KM) IS NO LONGER USED
C
NL = 50
JH1 = 0
IKLO = 1
C
C CC
C CC FIX DV TO 5.0 FOR LBLRTM USAGE
C CC
C
DV = 5.0
C
C CC
C CC OBTAIN PARAMETERS IN COMMON/LCRD3/AND/LCRD4/ FROM COMMON ADR
C CC WHICH PASSED THEM FROM LBLATM
C CC
C
DO 10 II = 1, 4
IREG(II) = 0
10 CONTINUE
DO 20 I = 1, 5
DO 18 J = 1, 40
ABSC(I,J) = 0.
EXTC(I,J) = 0.
ASYM(I,J) = 0.
18 CONTINUE
20 CONTINUE
H1 = H1F
NOPRNT = NOPRNF
MODEL = MODELF
MDELS = MODEL
M1 = MODEL
M2 = MODEL
M3 = MODEL
ML = IMLOW
C
IF (ITYPE.EQ.1) THEN
LENF = 0
ENDIF
C
IF (MODEL.EQ.0) THEN
M1 = 0
M2 = 0
M3 = 0
ENDIF
M = MODEL
IM = 0
C
IF (IAERSL.EQ.7) THEN
M = 7
IM = 1
ENDIF
C
H2 = H2F
ANGLE = ANGLEF
RANGE = RANGEF
BETA = BETAF
LEN = LENF
V1 = VL1
V2 = VL2
RE = RO
C
C CC
C CC OBTAIN ITYPE FROM LBLRTM CONTROL AS STORED IN COMMON ADRIVE
C CC
C
ITYPE = ITYPEF
C
C CC
C CC SET TBOUND AND SALB TO ZERO NOT UTILIZED HERE
C CC
C
TBOUND = 0.0
SALB = 0.0
C
C ** START CALCULATION
C
C
WRITE (IPR,900)
C
C OBTAIN MODEL PARAMETERS FROM LBLRTM ( RECORD 2.1)
C
JPRT = 0
WRITE (IPR,905) MODEL,ITYPE,IEMSCT,M1,M2,M3,IM,NOPRNT
NPR = NOPRNT
C
C ** RECORD 3.1 AEROSOL MODEL
C
READ (IRD,910) IHAZE,ISEASN,IVULCN,ICSTL,ICLD,IVSA,VIS,WSS,WHH,
* RAINRT,GNDALT
IF (IHAZE.EQ.3) THEN
IF (V1.LT.250.0.OR.V2.LT.250.0) IHAZE = 4
IF (IHAZE.EQ.4) WRITE (IPR,930)
ENDIF
WRITE (IPR,920) IHAZE,ISEASN,IVULCN,ICSTL,ICLD,IVSA,VIS,WSS,WHH,
* RAINRT,GNDALT
IF (GNDALT.GT.0.) WRITE (IPR,915) GNDALT
IF (GNDALT.GE.6.0) THEN
WRITE (IPR,925) GNDALT
GNDALT = 0.
ENDIF
C
IF (VIS.LE.0.0.AND.IHAZE.GT.0) VIS = VSB(IHAZE)
RHH = 0.
CALL YDIAR
(IHAZE,ISEASN,IVULCN,ICSTL,ICLD,IVSA,VIS,WSS,WHH,RAINRT
* ,GNDALT,YID)
IF (MODEL.EQ.0) GO TO 30
IF ((MODEL.EQ.3.OR.MODEL.EQ.5).AND.ISEASN.EQ.0) ISEASN = 2
C
C **WARNING** IF V1 OR V2 LESS THEN 250 CM-1 PROGRAM WILL NOT
C PERMIT USE OF NAVY MARITIME (IHAZE=3) SWITCHES TO IHAZE=4
C
ICH(1) = IHAZE
ICH(2) = 6
ICH(3) = 9+IVULCN
30 IF (RAINRT.EQ.0) GO TO 40
WRITE (IPR,935) RAINRT
40 ICH(4) = 18
ICH(1) = MAX(ICH(1),1)
ICH(3) = MAX(ICH(3),10)
IF (ICLD.GE.1.AND.ICLD.LE.11) THEN
ICH(4) = ICH(3)
ICH(3) = ICH(2)
ICH(2) = ICLD
ENDIF
C
C CC IF(ICH(4).LE.9) ICH(4)=10
C
IFLGA = 0
IFLGT = 0
CTHIK = -99.
CALT = -99.
ISEED = -99
IF (ICLD.LT.18) GO TO 50
C
C ** RECORD 3.2 CIRRUS CLOUDS
C
READ (IRD,940) CTHIK,CALT,CEXT,ISEED
WRITE (IPR,945) CTHIK,CALT,CEXT,ISEED
50 CONTINUE
C
C ** RECORD 3.3 VERTICAL STRUCTURE ALGORITHM
C
ZCVSA = -99.
ZTVSA = -99.
ZINVSA = -99.
C
IF (IVSA.EQ.0) GO TO 60
READ (IRD,950) ZCVSA,ZTVSA,ZINVSA
WRITE (IPR,955) ZCVSA,ZTVSA,ZINVSA
C
CALL VSA
(IHAZE,VIS,ZCVSA,ZTVSA,ZINVSA,ZVSA,RHVSA,AHVSA,IHVSA)
C
C END OF VSA MODEL SET-UP
C
60 IF (MODEL.NE.0) ML = NL
C
IF (MDELS.NE.0) HMODEL(7) = HMODEL(MDELS)
IF (MDELS.EQ.0) HMODEL(7) = HMODEL(8)
C
C
IF (IAERSL.EQ.7) THEN
C
C ** RECORD 3.4 USER SUPPLIED AEROSOL AND CLOUD PROFILE
C
READ (IRD,960) ML,HMODEL(7)
WRITE (IPR,965) ML,HMODEL(7)
ENDIF
M = 7
CALL AERNSM
(IAERSL,JPRT,GNDALT)
IF (ICLD.LT.20) GO TO 70
C
C SET UP CIRRUS MODEL
C
IF (CTHIK.NE.0) IFLGT = 1
IF (CALT.NE.0) IFLGA = 1
IF (ISEED.EQ.0) IFLGT = 2
IF (ISEED.EQ.0) IFLGA = 2
CALL CIRRUS
(CTHIK,CALT,ISEED,CPROB,MDELS)
WRITE (IPR,970)
IF (IFLGT.EQ.0) WRITE (IPR,975) CTHIK
IF (IFLGT.EQ.1) WRITE (IPR,980) CTHIK
IF (IFLGT.EQ.2) WRITE (IPR,985) CTHIK
IF (IFLGA.EQ.0) WRITE (IPR,990) CALT
IF (IFLGA.EQ.1) WRITE (IPR,995) CALT
IF (IFLGA.EQ.2) WRITE (IPR,1000) CALT
WRITE (IPR,1005) CPROB
C
C END OF CIRRUS MODEL SET UP
C
70 CONTINUE
C
C ** RECORD 3.6
C
IF ((IHAZE.EQ.7).OR.(ICLD.EQ.11)) THEN
C
C ** RECORDS 3.6.1 - 3.6.3
C ** USER SUPPLIED AEROSOL EXTINCTION AND ABSORPTION
C
CALL RDEXA
ENDIF
C
C WRITE(IPR,1313)H1,H2,ANGLE,RANGE,BETA,RO,LEN
C 1313 FORMAT('0 RECORD 2.2 ****',6F10.3,I5)
C
GO TO 80
C
C ** RO IS THE RADIUS OF THE EARTH
C
80 RE = 6371.23
IF (MODEL.EQ.1) RE = 6378.39
IF (MODEL.EQ.4) RE = 6356.91
IF (MODEL.EQ.5) RE = 6356.91
IF (RO.GT.0.0) RE = RO
C
C
C IPH =-99
C IDAY =-99
C ISOURC=-99
C
C ANGLEM=-99.
C
WRITE (IPR,1010) HTRRAD(IEMSCT+1)
MDEL = MODEL
IF (MDEL.EQ.0) MDEL = 8
MM1 = MDEL
MM2 = MDEL
MM3 = MDEL
IF (M1.NE.0) MM1 = M1
IF (M2.NE.0) MM2 = M2
IF (M3.NE.0) MM3 = M3
WRITE (IPR,1015) MM1,HMODEL(MM1),MM2,HMODEL(MM2),MM3,HMODEL(MM3)
C
IF (JPRT.EQ.0) GO TO 90
IF (ISEASN.EQ.0) ISEASN = 1
IVULCN = MAX(IVULCN,1)
IHVUL = IVULCN+10
IF (IVULCN.EQ.6) IHVUL = 11
IF (IVULCN.EQ.7) IHVUL = 11
IF (IVULCN.EQ.8) IHVUL = 13
IHMET = 1
IF (IVULCN.GT.1) IHMET = 2
IF (IHAZE.EQ.0) GO TO 90
WRITE (IPR,1020) HHAZE(IHAZE),VIS,HHAZE(6),HHAZE(6),HSEASN(ISEASN)
* ,HHAZE(IHVUL),HVULCN(IVULCN),HSEASN(ISEASN),HHAZE(15),
* HMET(IHMET)
90 CONTINUE
IF (ITYPE.EQ.1) WRITE (IPR,1025) H1,RANGE
IF (ITYPE.EQ.2) WRITE (IPR,1030) H1,H2,ANGLE,RANGE,BETA,LEN
IF (ITYPE.EQ.3) WRITE (IPR,1035) H1,H2,ANGLE
C
C
C
C
ALAM1 = 1.0E38
IF (V1.GT.0.) ALAM1 = 10000./V1
ALAM2 = 10000./V2
DV = MAX(DV,5.)
DV = FLOAT(INT(DV/5+0.1))*5.0
IF (ALAM1.GT.999999.) ALAM1 = 999999.
WRITE (IPR,1040) V1,ALAM1,V2,ALAM2,DV
C
C ** LOAD ATMOSPHERIC PROFILE INTO /MODEL/
C
CALL STDMDL
C
IF (IEMSCT.EQ.1) CALL NEWMDL
(MAXATM)
C
C ** TRACE PATH THROUGH THE ATMOSPHERE AND CALCULATE ABSORBER AMOU
C
ISSGEO = 0
MODEL = MDELS
CALL GEO
(IERROR,BENDNG,MAXGEO)
C
C
C FINAL SET OF LAYERS
C
C
C
IF (IERROR.GT.0) GO TO 100
C
C
C
C ** LOAD AEROSOL EXTINCTION AND ABSORPTION COEFFICIENTS
C
C CC
C CC LOAD EXTINCTIONS AND ABSORPTIONS FOR 0.2-200.0 UM (1-46)
C CC
C CC CALL EXABIN
C CC
C CC CALCULATE EQUIVALENT LIQUID WATER CONSTANTS
C CC
C
CALL EQULWC
C
C
C
CALL TRANS
C
100 CONTINUE
C
LOWFLG = 0
RETURN
C
900 FORMAT('1',20X,'***** LOWTRAN 7 (MODIFIED)*****')
905 FORMAT('0 RECORD 2.1 ****',8I5 )
910 FORMAT(6I5,5F10.3)
915 FORMAT('0',' GNDALT =',F10.2)
920 FORMAT('0 RECORD 3.1 ****',6I5,5F10.3)
925 FORMAT('0 GNDALT GT 6.0 RESET TO ZERO, GNDALT WAS',F10.3)
930 FORMAT('0**WARNING** NAVY MODEL IS NOT USEABLE BELOW 250CM-1'/
* 10X,' PROGRAM WILL SWITCH TO IHAZE=4 LOWTRAN 5 MARITIME'//)
935 FORMAT('0 RAIN MODEL CALLED, RAIN RATE = ',F9.2,' MM/HR')
940 FORMAT(3F10.3,I10)
945 FORMAT('0 RECORD 2A *****',3F10.3,I10)
950 FORMAT(3F10.3)
955 FORMAT('0 RECORD 3.3 ****',3F10.3)
960 FORMAT(I5,18A4)
965 FORMAT('0 RECORD 3.4 ****',I5,18A4)
970 FORMAT(15X,'CIRRUS ATTENUATION INCLUDED')
975 FORMAT(15X,'CIRRUS ATTENUTION STATISTICALLY DETERMENED TO BE',
* F10.3,'KM')
980 FORMAT(15X,'CIRRUS THICKNESS USER DETERMINED TO BE',F10.3,'KM')
985 FORMAT(15X,'CIRRUS THICKNESS DEFAULTED TO MEAN VALUE OF ',
* F10.3,'KM')
990 FORMAT(15X,'CIRRUS BASE ALTITUDE STATISCALLY DETERMINED TO BE',
* F10.3,' KM')
995 FORMAT(15X,'CIRRUS BASE ALTITUDE USER DETERMINED TO BE',
* F10.3,' KM')
1000 FORMAT(15X,'CIRRUS BASE ALTITUDE DEFAULTED TO MEAN VALUE OF',
* F10.3,'KM')
1005 FORMAT(15X,'PROBABILTY OF CLOUD OCCURRING IS',F7.1,
* ' PERCENT')
1010 FORMAT('0 PROGRAM WILL COMPUTE ',A24)
1015 FORMAT('0 ATMOSPHERIC MODEL',/,
* 10X,'TEMPERATURE = ',I4,5X,A20,/,
* 10X,'WATER VAPOR = ',I4,5X,A20,/,
* 10X,'OZONE = ',I4,5X,A20)
1020 FORMAT('0 AEROSOL MODEL',/,10X,'REGIME',
* T35,'AEROSOL TYPE',T60,'PROFILE',T85,'SEASON',/,/,
* 10X,'BOUNDARY LAYER (0-2 KM)',T35,A20,T60,F5.1,
* ' KM VIS AT SEA LEVEL',/,10X,'TROPOSPHERE (2-10KM)',T35,
* A20,T60,A20,T85,A20,/,10X,'STRATOSPHERE (10-30KM)',
* T35,A20,T60,A20,T85,A20,/,10X,'UPPER ATMOS (30-100KM)',
* T35,A20,T60,A20)
1025 FORMAT('0 HORIZONTAL PATH',/,10X,'ALTITUDE = ',F10.3,' KM',/,
* 10X,'RANGE = ',F10.3,' KM')
1030 FORMAT('0 SLANT PATH, H1 TO H2',/,
* 10X,'H1 = ',F10.3,' KM',/,10X,'H2 = ',F10.3,' KM',/,
* 10X,'ANGLE = ',F10.3,' DEG',/,10X,'RANGE = ',F10.3,' KM',/,
* 10X,'BETA = ',F10.3,' DEG',/,10X,'LEN = ',I6)
1035 FORMAT('0 SLANT PATH TO SPACE',/,
* 10X, 'H1 = ',F10.3,' KM',/,10X,'HMIN = ',F10.3,' KM',/,
* 10X,'ANGLE = ',F10.3,' DEG')
1040 FORMAT('0 FREQUENCY RANGE '/,10X,' V1 = ',F12.1,' CM-1 (',
* F10.2,' MICROMETERS)',/,10X,' V2 = ',F12.1,' CM-1 (',F10.2,
* ' MICROMETERS)',/10X,' DV = ',F12.1,' CM-1')
C
END
SUBROUTINE AERNSM(IAERSL,JPRT,GNDALT) 1,14
PARAMETER (NCASE=15)
CHARACTER*1 JCHAR
C
C ******************************************************************
C DEFINES ALTITUDE DEPENDENT VARIABLES Z,P,T,WH,WO AND HAZE
C CLD RAIN CLDTYPE
C LOADS HAZE INTO APPROPRATE LOCATION
C ******************************************************************
C
C
C MXFSC IS THE MAXIMUM NUMBER OF LAYERS FOR OUTPUT TO LBLRTM
C MXLAY IS THE MAXIMUN NUMBER OF OUTPUT LAYERS
C MXZMD IS THE MAX NUMBER OF LEVELS IN THE ATMOSPHERIC PROFILE
C STORED IN ZMDL (INPUT)
C MXPDIM IS THE MAXIMUM NUMBER OF LEVELS IN THE PROFILE ZPTH
C OBTAINED BY MERGING ZMDL AND ZOUT
C MXMOL IS THE MAXIMUM NUMBER OF MOLECULES, KMXNOM IS THE DEFAULT
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
C
C
C BLANK COMMON FOR ZMDL
C
COMMON RELFAS(MXZMD),HSTOR(MXZMD),ICH(4),VH(16),TX(16),W(16)
COMMON WPATH(IM2,16),TBBY(IM2)
COMMON ABSC(5,47),EXTC(5,47),ASYM(5,47),VX2(47),AWCCON(5)
C
CHARACTER*8 HMOD
C
COMMON HMOD(3),ZM(MXZMD),PF(MXZMD),TF(MXZMD),RFNDXM(MXZMD)
COMMON ZP(IM2),PP(IM2),TP(IM2),RFNDXP(IM2),SP(IM2),
* PPSUM(IM2),TPSUM(IM2),RHOPSM(IM2),
* IMMAX,WGM(MXZMD),DENW(MXZMD)
C
COMMON /IFIL/ IRD,IPR,IPU,NPR,NFHDRF,NPHDRF,NFHDRL,
*NPHDRL,NLNGTH,KFILE,KPANEL,LINFIL,
* NFILE,IAFIL,IEXFIL,NLTEFL,LNFIL4,LNGTH4
COMMON /LCRD1/ MODEL,ITYPE,IEMSCT,M1,M2,M3,IM,NOPRNT,TBOUND,SALB
COMMON /CARD1B/ JUNIT(NCASE),WMOL(NCASE),WAIR1,JLOW
COMMON /LCRD2/ IHAZE,ISEASN,IVULCN,ICSTL,ICLD,IVSA,VIS,WSS,WHH,
* RAINRT
COMMON /LCRD2A/ CTHIK,CALT,CEXT
COMMON /LCRD2D/ IREG(4),ALTB(4),IREGC(4)
COMMON /LCRD3/ H1,H2,ANGLE,RANGE,BETA,RE,LEN
COMMON /LCRD4/ V1,V2,DV
COMMON /CNTRL/ KMAX,M,IKMAX,NL,ML,IKLO,ISSGEO,IKP,JH1
COMMON /MART/ RHH
c COMMON /MDATA/ ZDA(MXZMD),P(MXZMD),T(MXZMD),WH(MXZMD),WO(MXZMD),
c * HMIX(MXZMD),CLD(MXZMD,7),RR(MXZMD,7)
COMMON /MDATA/ WH(MXZMD),WO(MXZMD),
* CLD(MXZMD,7),RR(MXZMD,7)
COMMON /MDATA2/ZDA(MXZMD),P(MXZMD),T(MXZMD)
COMMON /MODEL/ ZMDL(MXZMD),PMM(MXZMD),TMM(MXZMD),
* RFNDX(MXZMD),DENSTY(16,MXZMD),
* CLDAMT(MXZMD),RRAMT(MXZMD),EQLWC(MXZMD),HAZEC(MXZMD)
COMMON /ZVSALY/ ZVSA(10),RHVSA(10),AHVSA(10),IHVSA(10)
COMMON /MDLZ/HMDLZ(10)
COMMON /TITL/ HZ(16),SEASN(2),VULCN(8),BLANK,
* HMET(2),HMODEL(8),HTRRAD(4)
DIMENSION ITY1(MXZMD+1),IH1(MXZMD),IS1(MXZMD),IVL1(MXZMD),
* ZGN(MXZMD)
DIMENSION INEW(MXZMD),RELHUM(MXZMD),ZSTF(MXZMD),CLDTOP(10),
* AHAST(MXZMD)
C
CHARACTER*20 HZ,SEASN,VULCN,HMET,HMODEL,BLANK
CHARACTER*24 HTRRAD
CHARACTER*20 AHOL1,AHOL2,AHOL3,AHLVSA,AHUS
CHARACTER*20 AHAHOL(NCASE),HHOL
DIMENSION JCHAR(NCASE)
DATA AHLVSA/'VSA DEFINED '/
DATA AHUS /'USER DEFINED '/
DATA AHAHOL/
* 'CUMULUS ',
* 'ALTOSTRATUS ',
* 'STRATUS ',
* 'STRATUS STRATO CUM ',
* 'NIMBOSTRATUS ',
* 'DRIZZLE 2.0 MM/HR ',
* 'LT RAIN 5.0 MM/HR ',
* 'MOD RAIN 12.5 MM/HR ',
* 'HEAVY RAIN 25 MM/HR ',
* 'EXTREME RAIN 75MM/HR',
* 'USER ATMOSPHERE ',
* 'USER RAIN NO CLOUD ',
* 'CIRRUS CLOUD ',
* 'SUB-VISUAL CIRRUS ',
* 'NOAA CIRRUS MODEL '/
DATA CLDTOP / 3.,3.,1.,2.,.66,1.,.66,.66,3.,3./
C
C F(A) IS SATURATED WATER WAPOR DENSITY AT TEMP T,A=TZERO/T
C
F(A) = EXP(18.9766-14.9595*A-2.43882*A*A)*A
C
C ZM ORIGINALLY IS LBLRTM ALT
C
C ZGN IS EFFICTIVE ALTITUDE ARRAY
C ZDA COMMON /MDATA/ ALTITUDE OF THE PRESSURES,TEMP IN MDATA
C ZMDL COMMON /MODEL/ FINAL ALTITUDE FOR LOWTRAN
C ZSTF STORAGE OF ORIGINAL LBLRTM ALTITUDES
C ZK EFFECTIVE ALTITUDE FOR CLOUD
C ZSC EFFECTIVE ALTITUDE FOR AEROSOLS
C ZP BLANK COMMON UNUSED
C ZM,PM,TM ARE FOR LBLRTM USE BETWEEN 0 AND 6 KM
C
IREGC(1) = 0
IREGC(2) = 0
IREGC(3) = 0
IREGC(4) = 0
ICL = 0
MLSV = ML
DO 10 I = 1, IMMAX
ZSTF(I) = ZM(I)
10 CONTINUE
ICONV = 1
IRD0 = 1
ICLDL = ICLD
IF ((MODEL.GT.0.).AND.(MODEL.LT.7)) IRD0 = 0
IF ((IRD0.EQ.1).AND.(IVSA.EQ.1)) THEN
IRD0 = 0
IRD1 = 0
C
C C IRD2 = 0
C C IF(IAERSL .EQ. 7) IRD2 = 1
C
ICONV = 0
ML = ML+10-JLOW
IF (ML.GT.34) WRITE (IPR,905)
ML = MIN(ML,34)
ZVSA(10) = ZVSA(9)+0.01
RHVSA(10) = 0.
AHVSA(10) = 0.
IHVSA(10) = 0
IF (MODEL.EQ.0) WRITE (IPR,900)
IF (MODEL.EQ.0) STOP
ENDIF
ICL = 0
IDSR = 0
IF (ICLD.EQ.18.OR.ICLD.EQ.19) THEN
CALL CIRR18
CLDD = 0.1*CTHIK
CLD0 = CALT-0.5*CLDD
IF (CLD0.LE.0.) CLD0 = 0.
CLD1 = CLD0+CLDD
CLD2 = CLD1+CTHIK-CLDD
CLD3 = CLD2+CLDD
C
C CLD1 1ST Z OF CIRRUS
C CLD2 LST Z OF CIRRUS
C
ENDIF
CALL FLAYZ
(ML,MODEL,ICLD,IAERSL,ZMDL,ZM,GNDALT,IVSA,IEMSCT)
DO 20 I = 1, ML
JPRT = 1
IF (MODEL.EQ.0.OR.MODEL.EQ.7) JPRT = 0
IF (IAERSL.EQ.7) JPRT = 0
IF (ICLD.GT.0) JPRT = 0
IF (IVSA.GT.0) JPRT = 0
HAZEC(I) = 0.0
20 CONTINUE
DO 30 II = 1, 4
ALTB(II) = 0.
30 CONTINUE
T0 = 273.15
IC1 = 1
N = 7
IF (ML.EQ.1) M = 0
IVULCN = MAX(IVULCN,1)
ISEASN = MAX(ISEASN,1)
IF (JPRT.EQ.0) THEN
WRITE (IPR,950) MODEL,ICLD
ENDIF
IF (IAERSL.EQ.7) WRITE (IPR,910)
C
KLO = 2
C
IF (IAERSL.NE.7) THEN
DO 50 I = 1, ML
INEW(I) = KLO-1
IF (ZMDL(I).LT.ZM(KLO)) GO TO 50
40 INEW(I) = KLO
KLO = KLO+1
IF (KLO.GT.MLSV) GO TO 50
IF (ZMDL(I).GT.ZM(KLO)) GO TO 40
50 CONTINUE
ENDIF
C
C
DO 220 K = 1, ML
C
C LOOP OVER LAYERS
C
RH = 0.
WH(K) = 0.
WO(K) = 0.
DP = 0
IHA1 = 0
ICLD1 = 0
ISEA1 = 0
IVUL1 = 0
VIS1 = 0.
AHAZE = 0.
EQLWCZ = 0.
RRATZ = 0.
ICHR = 0
DO 60 KM = 1, 15
JCHAR(KM) = ' '
WMOL(KM) = 0.
60 CONTINUE
DO 70 KM = 1, 15
JUNIT(KM) = JOU
(JCHAR(KM))
70 CONTINUE
JUNIT(1) = M1
JUNIT(2) = M1
JUNIT(3) = M2
JUNIT(4) = 6
JUNIT(5) = M3
JUNIT(6) = 6
JUNIT(7) = 6
JUNIT(8) = 6
JUNIT(9) = 6
JUNIT(10) = 6
JUNIT(11) = 6
JUNIT(12) = 6
JUNIT(13) = 6
JUNIT(14) = 6
JUNIT(15) = 6
C
C
C AHAZE = AEROSOL VISIBLE EXTINCTION COFF (KM-1)
C AT A WAVELENGTH OF 0.55 MICROMETERS
C
C EQLWCZ=LIQUID WATER CONTENT (GM M-3) AT ALT Z
C FOR AEROSOL, CLOUD OR FOG MODELS
C
C RRATZ=RAIN RATE (MM/HR) AT ALT Z
C
C IHA1 AEROSOL MODEL USED FOR SPECTRAL DEPENDENCE OF EXTINCTION
C
C IVUL1 STRATOSPHERIC AERSOL MODEL USED FOR SPECTRAL DEPENDENCE
C OF EXT AT Z
C
C ICLD1 CLOUD MODEL USED FOR SPECTRAL DEPENDENCE OF EXT AT Z
C
C ONLY ONE OF IHA1,ICLD1 OR IVUL1 IS ALLOWED
C IHA1 NE 0 OTHERS IGNORED
C IHA1 EQ 0 AND ICLD1 NE 0 USE ICLD1
C
C IF AHAZE AND EQLWCZ ARE BOUTH ZERO
C DEFAULT PROFILE ARE LOADED FROM IHA1,ICLD1,IVUL1
C ISEA1 = AERSOL SEASON CONTROL FOR ALTITUDE Z
C
C C IF(IRD2 .EQ. 1) THEN
C
IF (IAERSL.EQ.7) THEN
READ (IRD,915) ZMDL(K),AHAZE,EQLWCZ,RRATZ,IHA1,ICLD1,IVUL1,
* ISEA1,ICHR
WRITE (IPR,915) ZMDL(K),AHAZE,EQLWCZ,RRATZ,IHA1,ICLD1,IVUL1,
* ISEA1,ICHR
C
IF (ICHR.EQ.1) THEN
IF (IHA1.EQ.0) THEN
IF (ICLD1.NE.11) ICHR = 0
ELSE
IF (IHA1.NE.7) ICHR = 0
ENDIF
ENDIF
INEW(K) = KLO-1
IF (ZMDL(K).LT.ZM(KLO)) GO TO 90
80 INEW(K) = KLO
KLO = KLO+1
IF (KLO.GT.MLSV) GO TO 90
IF (ZMDL(K).GT.ZM(KLO)) GO TO 80
90 CONTINUE
ENDIF
IF (IAERSL.NE.7) THEN
RRATZ = RAINRT
IF (ZMDL(K).GT.6.) RRATZ = 0.
ENDIF
C
C
C GNDALT NOT ZERO
C
ZSC = ZMDL(K)
IF ((GNDALT.GT.0.).AND.(ZMDL(K).LT.6.0)) THEN
ASC = 6./(6.-GNDALT)
CON = -ASC*GNDALT
ZSC = ASC*ZMDL(K)+CON
IF (ZSC.LT.0.) ZSC = 0.
ENDIF
ZGN(K) = ZSC
C
C
ICLDS = ICLD1
IF (ICLD1.EQ.0) ICLD1 = ICLD
ICLDL = ICLD1
IF (ICLD1.GT.11) ICLD1 = 0
IF (IHA1.NE.0) IVUL1 = 0
IF (IHA1.NE.0) ICLD1 = 0
IF (ICLD1.NE.0) IVUL1 = 0
IF ((AHAZE.NE.0.).OR.(EQLWCZ.NE.0.)) GO TO 100
IF (RRATZ.NE.0.) GO TO 100
IF ((IVSA.EQ.1).AND.(ICLD1.EQ.0)) THEN
CALL LAYVSA
(K,RH,AHAZE,IHA1,ZSTF)
ELSE
CALL LAYCLD
(K,EQLWCZ,RRATZ,IAERSL,ICLD1,GNDALT,RAINRT)
IF (ICLD1.LT.1) GO TO 100
IF (ICLD1.GT.10) GO TO 100
IF (ZMDL(K).GT.CLDTOP(ICLD1)+GNDALT) THEN
RRATZ = 0.
ENDIF
ENDIF
100 CONTINUE
ICLDC = ICLD
IF (ICLDS.NE.0) ICLDC = ICLDS
IF (ICLDC.EQ.18.OR.ICLDC.EQ.19) THEN
DENSTY(16,K) = 0.
IF (ZMDL(K).GE.CLD1.AND.ZMDL(K).LE.CLD2) DENSTY(16,K) = CEXT
ENDIF
CLDAMT(K) = EQLWCZ
IF (ICLDS.EQ.0.AND.CLDAMT(K).EQ.0.) ICLD1 = 0
RRAMT(K) = RRATZ
IF (MODEL.NE.0) THEN
IF (EQLWCZ.GT.0.0) RH = 100.0
IF (RRATZ.GT.0.0) RH = 100.0
ENDIF
AHAST(K) = AHAZE
C
C IHA1 IS IHAZE FOR THIS LAYER
C ISEA1 IS ISEASN FOR THIS LAYER
C IVUL1 IS IVULCN FOR THE LAYER
C
IF (ISEA1.EQ.0) ISEA1 = ISEASN
ITYAER = IHAZE
IF (IHA1.GT.0) ITYAER = IHA1
IF (IVUL1.GT.0) IVULCN = IVUL1
IF (IVUL1.LE.0) IVUL1 = IVULCN
C
IF (K.EQ.1) GO TO 130
IF (ICHR.EQ.1) GO TO 120
IF (ICLD1.NE.IREGC(IC1)) GO TO 110
IF (IHA1.EQ.0.AND.ICLD1.EQ.0) THEN
IF (ZSC.GT.2.) ITYAER = 6
IF (ZSC.GT.10.) ITYAER = IVULCN+10
IF (ZSC.GT.30.) ITYAER = 19
IF (ITYAER.EQ.ICH(IC1)) GO TO 130
ENDIF
IF (ICLD1.EQ.0.AND.IHA1.EQ.0) GO TO 120
N = 7
IF (IC1.GT.1) N = IC1+10
IF (IHA1.EQ.0) GO TO 130
IF (IHA1.NE.ICH(IC1)) GO TO 120
GO TO 130
110 IF (ICLD1.NE.0) THEN
IF (ICLD1.EQ.IREGC(1)) THEN
N = 7
ALTB(1) = ZMDL(K)
GO TO 140
ENDIF
IF (IC1.EQ.1) GO TO 120
IF (ICLD1.EQ.IREGC(2)) THEN
N = 12
ALTB(2) = ZMDL(K)
GO TO 140
ENDIF
IF (IC1.EQ.2) GO TO 120
IF (ICLD1.EQ.IREGC(3)) THEN
N = 13
ALTB(3) = ZMDL(K)
GO TO 140
ENDIF
ELSE
IF (IHA1.EQ.0.AND.ICLD1.EQ.0) THEN
IF (ZSC.GT.2.) ITYAER = 6
IF (ZSC.GT.10.) ITYAER = IVULCN+10
IF (ZSC.GT.30.) ITYAER = 19
ENDIF
IF (ITYAER.EQ.ICH(1)) THEN
N = 7
ALTB(1) = ZMDL(K)
GO TO 140
ENDIF
IF (IC1.EQ.1) GO TO 120
IF (ITYAER.EQ.ICH(2)) THEN
N = 12
ALTB(2) = ZMDL(K)
GO TO 140
ENDIF
IF (IC1.EQ.2) GO TO 120
IF (ITYAER.EQ.ICH(3)) THEN
N = 13
ALTB(3) = ZMDL(K)
GO TO 140
ENDIF
ENDIF
120 IC1 = IC1+1
ICL = 0
C
C
C
N = IC1+10
IF (RH.GT.0.) RHH = RH
IF (IC1.LE.4) GO TO 130
IC1 = 4
N = 14
ITYAER = ICH(IC1)
130 ICH(IC1) = ITYAER
IREGC(IC1) = ICLD1
ALTB(IC1) = ZMDL(K)
C
C FOR LVSA OR CLD OR RAIN ONLY
C
140 IF (IHA1.LE.0) IHA1 = IHAZE
C
DENSTY(7,K) = 0.
DENSTY(12,K) = 0.
DENSTY(13,K) = 0.
DENSTY(14,K) = 0.
DENSTY(15,K) = 0.
C
C IF((GNDALT.GT.0.).AND.(ZMDL(K).LT.6.0)) THEN
C J=IFIX(ZSC+1.0E-6)+1
C FAC=ZSC-FLOAT(J-1)
C ELSE
C
J = IFIX(ZMDL(K)+1.0E-6)+1
IF (ZMDL(K).GE.25.0) J = (ZMDL(K)-25.0)/5.0+26.
IF (ZMDL(K).GE.50.0) J = (ZMDL(K)-50.0)/20.0+31.
IF (ZMDL(K).GE.70.0) J = (ZMDL(K)-70.0)/30.0+32.
J = MIN(J,32)
FAC = ZMDL(K)-FLOAT(J-1)
IF (J.LT.26) GO TO 150
FAC = (ZMDL(K)-5.0*FLOAT(J-26)-25.)/5.
IF (J.GE.31) FAC = (ZMDL(K)-50.0)/20.
IF (J.GE.32) FAC = (ZMDL(K)-70.0)/30.
FAC = MIN(FAC,1.0)
C
C ENDIF
C
150 L = J+1
WHN = 0.
IF (MODEL.EQ.0) THEN
CALL GETPT
(K,ZMDL,P,T,WHN,INEW)
WH(K) = WHN
ELSE
CALL CHECK
( CALL CHECK
( CALL LDEFAL
(ZMDL(K),P(K),T(K))
CALL LCONVR
( WH(K) = WMOL(1)
ENDIF
C
TMP = T(K)-T0
C
C FOR LVSA OR CLD OR RAIN ONLY
C
IF (RH.GT.0.0) THEN
TA = T0/T(K)
WH(K) = F(TA)*0.01*RH
IF (IVSA.EQ.1) GO TO 160
C
C WRITE(IPR,800) ZMDL(K),EQLWCZ,ICLD1,RRATZ
C
C
160 ENDIF
C
C C IF (M3.GT.0) WO(K,7)=WO(J,M3)*(WO(L,M3)/WO(J,M3))**FAC
C
HSTOR(K) = 0.
C
C IF (HMIX(J).LE.0.) GO TO 40
C IF (HMIX(L).LE.0.) GO TO 40
C HSTOR(K)=HMIX(J)*(HMIX(L)/HMIX(J))**FAC
C
DENSTY(7,K) = 0.
DENSTY(12,K) = 0.
DENSTY(13,K) = 0.
DENSTY(14,K) = 0.
DENSTY(15,K) = 0.
C
C PS=P(K,7)/1013.0
C
TS = 273.15/T(K)
WTEMP = WH(K)
RELHUM(K) = 0.
IF (WTEMP.LE.0.) GO TO 170
RELHUM(K) = 100.0*WTEMP/F(TS)
IF (RELHUM(K).GT.100.) WRITE (IPR,920) RELHUM(K),ZMDL(K)
IF (RELHUM(K).GT.100.) RELHUM(K) = 100.
IF (RELHUM(K).LT.0.) WRITE (IPR,920) RELHUM(K),ZMDL(K)
IF (RELHUM(K).LT.0.) RELHUM(K) = 0.
170 RHH = RELHUM(K)
RH = RHH
IF (VIS1.LE.0.0) VIS1 = VIS
IF (AHAZE.EQ.0.0) GO TO 180
DENSTY(N,K) = AHAZE
IF (ITYAER.EQ.3) GO TO 180
C
C AHAZE IS IN LOWTRAN NUMBER DENSTY UNITS
C
GO TO 200
180 CONTINUE
C
C AHAZE NOT INPUT OR NAVY MARITIME MODEL IS CALLED
C
C CHECK IF GNDALT NOT ZERO
C
IF ((GNDALT.GT.0.).AND.(ZMDL(K).LT.6.0)) THEN
J = IFIX(ZSC+1.0E-6)+1
FAC = ZSC-FLOAT(J-1)
L = J+1
ENDIF
IF (ITYAER.EQ.3.AND.ICL.EQ.0) THEN
CALL MARINE
(VIS1,MODEL,WSS,WHH,ICSTL,EXTC,ABSC,IC1)
IREG(IC1) = 1
VIS = VIS1
ICL = ICL+1
ENDIF
IF (ITYAER.EQ.10.AND.IDSR.EQ.0) THEN
CALL DESATT
(WSS,VIS1)
IREG(IC1) = 1
VIS = VIS1
IDSR = IDSR+1
ENDIF
IF (AHAZE.GT.0.0) GO TO 200
CALL AERPRF
(J,K,VIS1,HAZ1,IHA1,ICLD1,ISEA1,IVUL1,NN)
CALL AERPRF
(L,K,VIS1,HAZ2,IHA1,ICLD1,ISEA1,IVUL1,NN)
HAZE = 0.
IF ((HAZ1.LE.0.0).OR.(HAZ2.LE.0.0)) GO TO 190
HAZE = HAZ1*(HAZ2/HAZ1)**FAC
DENSTY(N,K) = HAZE
190 CONTINUE
IF (CLDAMT(K).GT.0.0) THEN
HAZE = HAZEC(K)
IF (HAZE.GT.0.) DENSTY(N,K) = HAZE
ENDIF
200 CONTINUE
IF (K.EQ.1) GO TO 210
IF (CLDAMT(K).LE.0.0.AND.CLDAMT(K-1).GT.0.0) THEN
HAZE = HAZ1*(HAZ2/HAZ1)**FAC
IF (HAZE.GT.0.) DENSTY(N,K) = HAZE
ENDIF
210 CONTINUE
ITY1(K) = ITYAER
IH1(K) = IHA1
IF (AHAZE.NE.0) IH1(K) = -99
IS1(K) = ISEA1
IVL1(K) = IVUL1
WGM(K) = WH(K)
220 CONTINUE
C
C END OF LOOP
C
IF (ML.LT.20) WRITE (IPR,925)
IF (ML.GE.20) WRITE (IPR,930)
IHH = ICLD
IF (IHH.LE.0) IHH = 12
IHH = MIN(IHH,12)
IF (ICLD.EQ.18) IHH = 13
IF (ICLD.EQ.19) IHH = 14
IF (ICLD.EQ.20) IHH = 15
C
HHOL = AHAHOL(IHH)
IF (IVSA.NE.0) HHOL = AHLVSA
C
IF (ICLD.NE.0) THEN
IF (JPRT.EQ.0) WRITE (IPR,935) HHOL,M
ENDIF
IF (JPRT.EQ.0) WRITE (IPR,940)
C
IF (JPRT.EQ.1) GO TO 240
DO 230 KK = 1, ML
ZM(KK) = ZMDL(KK)
PF(KK) = P(KK)
TF(KK) = T(KK)
RELFAS(KK) = RELHUM(KK)
K = KK
IF (JPRT.EQ.1) GO TO 230
C
AHOL1 = BLANK
AHOL2 = BLANK
AHOL3 = BLANK
ITYAER = ITY1(KK)
IF (ITYAER.EQ.0) ITYAER = 1
IF (ITYAER.EQ.16) ITYAER = 11
IF (ITYAER.EQ.17) ITYAER = 11
IF (ITYAER.EQ.18) ITYAER = 13
IHA1 = IH1(KK)
ISEA1 = IS1(KK)
IVUL1 = IVL1(KK)
C
AHOL1 = HZ(ITYAER)
IF (IVSA.EQ.1) AHOL1 = HHOL
IF (CLDAMT(KK).GT.0.0.OR.RRAMT(KK).GT.0.0) AHOL1 = HHOL
IF (IHAZE.EQ.0) AHOL1 = HHOL
AHOL2 = AHUS
IF (AHAST(KK).EQ.0) AHOL2 = AHOL1
IF (CLDAMT(KK).GT.0.0.OR.RRAMT(KK).GT.0.0) AHOL2 = HHOL
IF (ZGN(KK).GT.2.0) AHOL3 = SEASN(ISEA1)
WRITE (IPR,945) ZMDL(KK),P(KK),T(KK),RELHUM(KK),WH(KK),
* CLDAMT(KK),RRAMT(KK),AHOL1,AHOL2,AHOL3 0
230 continue
240 IMMAX = ML
M = 7
IF (ML.EQ.1) WRITE (IPR,925)
IF (ML.NE.1) MODEL = M
RETURN
C
900 FORMAT(' ERROR MODEL EQ 0 AND ARMY MODEL CANNOT MIX')
905 FORMAT(' ERROR ML GT 24 AND ARMY MODEL TOP LAYER TRUNCATED')
910 FORMAT(/,10X,' MODEL 0 / 7 USER INPUT DATA ',//)
915 FORMAT (4F10.3,5I5)
920 FORMAT(' ***ERROR RELHUM ' ,E15.4,' AT ALT ',F12.3)
925 FORMAT('0 ')
930 FORMAT('1 ')
935 FORMAT(//'0 CLOUD AND OR RAIN TYPE CHOSEN IS ',A20,
* ' M IS SET TO',I5//)
940 FORMAT(T7,'Z',T17,'P',T26,'T',T32,'REL H', T41,'H2O',
* T49,'CLD AMT',T59,'RAIN RATE', T90,'AEROSOL'/,
* T6,'(KM)',T16,'(MB)',T25,'(K)',T33,'(%)',T39,'(GM M-3)',T49,
* '(GM M-3)',T59,'(MM HR-1)',T69,
* 'TYPE', T90,'PROFILE')
945 FORMAT(2F10.3,2F8.2,1P3E10.3,1X,3A20)
950 FORMAT(//,' MODEL ATMOSPHERE NO. ',I5,' ICLD =',I5,//)
C
END
C
C ***********************************************************
C
SUBROUTINE LAYCLD(K,CLDATZ,RRATZ,IAERSL,ICLD1,GNDALT,RAINRT) 1
C
C THIS SUBROUTINE RESTRUCTURES THE ATMOSPHERIC PROFILE
C TO PROFIDE FINER LAYERING WITHIN THE FIRST 6 KM.
C
C ZMDL COMMON /MODEL/ FINAL ALTITUDE FOR LOWTRAN
C ZK EFFECTIVE CLOUD ALTITUDES
C ZCLD CLOUD ALTITUDE ARRAY
C ZDIF ALT DIFF OF 2 LAYERS
C ZDA COMMON /MDATA/ CLD AND RAIN INFO IN THIS COMMON
C
C
C MXFSC IS THE MAXIMUM NUMBER OF LAYERS FOR OUTPUT TO LBLRTM
C MXLAY IS THE MAXIMUN NUMBER OF OUTPUT LAYERS
C MXZMD IS THE MAX NUMBER OF LEVELS IN THE ATMOSPHERIC PROFILE
C STORED IN ZMDL (INPUT)
C MXPDIM IS THE MAXIMUM NUMBER OF LEVELS IN THE PROFILE ZPTH
C OBTAINED BY MERGING ZMDL AND ZOUT
C MXMOL IS THE MAXIMUM NUMBER OF MOLECULES, KMXNOM IS THE DEFAULT
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
C
c COMMON /MDATA/ ZDA(MXZMD),P(MXZMD),T(MXZMD),WH(MXZMD),WO(MXZMD),
c * HMIX(MXZMD),CLD(MXZMD,7),RR(MXZMD,7)
COMMON /MDATA/ WH(MXZMD),WO(MXZMD),
* CLD(MXZMD,7),RR(MXZMD,7)
COMMON /MDATA2/ZDA(MXZMD),P(MXZMD),T(MXZMD)
COMMON /MODEL/ ZMDL(MXZMD),PN(MXZMD),TN(MXZMD),
* RFNDX(MXZMD),DENSTY(16,MXZMD),
* CLDAMT(MXZMD),RRAMT(MXZMD),EQLWC(MXZMD),HAZEC(MXZMD)
DIMENSION ZCLD(16)
DATA ZCLD/ 0.0,0.16,0.33,0.66,1.0,1.5,2.0,2.4,2.7,
* 3.0,3.5,4.0,4.5,5.0,5.5,6.0/
DATA CLDTP/6.0001/
DATA DELZ /0.02/
ICLD = ICLD1
IF (ICLD.EQ.0) RETURN
IF (ICLD.GT.11) RETURN
ZK = ZMDL(K)-GNDALT
ZK = MAX(ZK,0.)
IF (ZMDL(K).GT.6.) ZK = ZMDL(K)
IF (ICLD.GT.5) GO TO 10
C
C CC
C CC ICLD IS 1- 5 ONE OF 5 SPECIFIC CLOUD MODELS IS CHOSEN
C CC
C
MC = ICLD
MR = 6
GO TO 20
10 CONTINUE
C
C CC
C CC ICLD IS 6-10 ONE OF 5 SPECIFIC CLOUD/RAIN MODELS CHOSEN
C CC
C
IF (ICLD.EQ.6) MC = 3
IF (ICLD.EQ.7.OR.ICLD.EQ.8) MC = 5
IF (ICLD.GT.8) MC = 1
MR = ICLD-5
20 CONTINUE
IF (ZK.GT.CLDTP) GO TO 70
CLDATZ = 0.
RRATZ = 0.
IF (ZK.LE.10.) RRATZ = RAINRT
IF (MC.LT.1) GO TO 60
DO 50 MK = 1, 15
IF (ZK.GE.ZCLD(MK+1)) GO TO 50
IF (ZK.LT.ZCLD(MK)) GO TO 50
IF (ABS(ZK-ZCLD(MK)).LT.DELZ) GO TO 30
GO TO 40
30 CLDATZ = CLD(MK,MC)
RRATZ = RR(MK,MR)
GO TO 60
40 ZDIF = ZCLD(MK+1)-ZCLD(MK)
IF (ZDIF.LT.DELZ) GO TO 30
FAC = (ZCLD(MK+1)-ZK)/ZDIF
CLDATZ = CLD(MK+1,MC)+FAC*(CLD(MK,MC)-CLD(MK+1,MC))
RRATZ = RR(MK+1,MR)+FAC*(RR(MK,MR)-RR(MK+1,MR))
GO TO 60
50 CONTINUE
60 CLDAMT(K) = CLDATZ
CLD(K,7) = CLDATZ
RR(K,7) = RRATZ
RRAMT(K) = RRATZ
RETURN
70 CONTINUE
CLDAMT(K) = 0.0
RRAMT(K) = 0.0
CLDATZ = 0.0
RRATZ = 0.0
RETURN
END
BLOCK DATA MDTA
C
C > BLOCK DATA
C
C CLOUD AND RAIN DATA
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
C
c COMMON /MDATA/ ZDA(MXZMD),P(MXZMD),T(MXZMD),WH(MXZMD),WO(MXZMD),
c * HMIX(MXZMD),CLD1(MXZMD),CLD2(MXZMD),CLD3(MXZMD),CLD4(MXZMD),
c * CLD5(MXZMD),CLD6(MXZMD),CLD7(MXZMD),RR1(MXZMD),RR2(MXZMD),
c * RR3(MXZMD),RR4(MXZMD),RR5(MXZMD),RR6(MXZMD),RR7(MXZMD)
COMMON /MDATA/ WH(MXZMD),WO(MXZMD),
* CLD1(MXZMD),CLD2(MXZMD),CLD3(MXZMD),CLD4(MXZMD),
* CLD5(MXZMD),CLD6(MXZMD),CLD7(MXZMD),RR1(MXZMD),RR2(MXZMD),
* RR3(MXZMD),RR4(MXZMD),RR5(MXZMD),RR6(MXZMD),RR7(MXZMD)
COMMON /MDATA2/ZDA(MXZMD),P(MXZMD),T(MXZMD)
C
C DATA Z/
C C 0.0, 1.0, 2.0, 3.0, 4.0,
C C 5.0, 6.0, 7.0, 8.0, 9.0,
C C 10.0, 11.0, 12.0, 13.0, 14.0,
C C 15.0, 16.0, 17.0, 18.0, 19.0,
C C 20.0, 21.0, 22.0, 23.0, 24.0,
C C 25.0, 27.5, 30.0, 32.5, 35.0,
C C 37.5, 40.0, 42.5, 45.0, 47.5,
C C 50.0, 55.0, 60.0, 65.0, 70.0,
C C 75.0, 80.0, 85.0, 90.0, 95.0,
C C 100.0, 105.0, 110.0, 115.0, 120.0/
C CC CLOUD MODELS 1-5
C
DATA CLD1/ 0.0,0.0,0.0,0.2,0.35,1.0,1.0,1.0,0.3,0.15,3390*0.0/
DATA CLD2/ 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.3,0.4,0.3,3390*0.0/
DATA CLD3/ 0.0,0.0,0.15,0.30,0.15,3395*0.0/
DATA CLD4/ 0.0,0.0,0.0,0.10,0.15,0.15,0.10,3393*0.0/
DATA CLD5/ 0.0,0.30,0.65,0.40,3396*0.0/
DATA CLD6/ 3400*0.0/
DATA CLD7/ 3400*0.0/
C
C CC RAIN MODELS 1-5
C
DATA RR1/ 2.0,1.78,1.43,1.22,0.86,0.22,3394*0.0/
DATA RR2/ 5.0,4.0,3.4,2.6,0.8,0.2,3394*0.0/
DATA RR3/ 12.5,10.5,8.0,6.0,2.5,0.8,0.2,3393*0.0/
DATA RR4/ 25.0,21.5,17.5,12.0,7.5,4.2,2.5,1.0,0.7,0.2,3390*0.0/
DATA RR5/ 75.0,70.0,65.0,60.0,45.0,20.0,12.5,7.0,3.5,
* 1.0,0.2,3389*0.0/
DATA RR6/ 3400*0.0/
DATA RR7/ 3400*0.0/
C
C DATA CO2 /
C
END
C
C **************************************************************
C
SUBROUTINE GETPT(K,ZMDL,P,T,WHN,INEW) 1
C
C MXFSC IS THE MAXIMUM NUMBER OF LAYERS FOR OUTPUT TO LBLRTM
C MXLAY IS THE MAXIMUN NUMBER OF OUTPUT LAYERS
C MXZMD IS THE MAX NUMBER OF LEVELS IN THE ATMOSPHERIC PROFILE
C STORED IN ZMDL (INPUT)
C MXPDIM IS THE MAXIMUM NUMBER OF LEVELS IN THE PROFILE ZPTH
C OBTAINED BY MERGING ZMDL AND ZOUT
C MXMOL IS THE MAXIMUM NUMBER OF MOLECULES, KMXNOM IS THE DEFAULT
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
C
C
C BLANK COMMON FOR ZMDL
C
COMMON RELHUM(MXZMD),HSTOR(MXZMD),ICH(4),VH(16),TX(16),W(16)
COMMON WPATH(IM2,16),TBBY(IM2)
COMMON ABSC(5,47),EXTC(5,47),ASYM(5,47),VX2(47),AWCCON(5)
C
CHARACTER*8 HMOD
C
COMMON HMOD(3),Z1(MXZMD),PM(MXZMD),TM(MXZMD),RFNDXM(MXZMD)
COMMON ZP(IM2),PP(IM2),TP(IM2),RFNDXP(IM2),SP(IM2),
* PPSUM(IM2),TPSUM(IM2),RHOPSM(IM2),
* IMLOW,WGM(MXZMD),DENW(MXZMD)
C
COMMON /CNTRL/ KMAX,M,IKMAX,NL,ML,IKLO,ISSGEO,IKP,JH1
DIMENSION INEW( *)
DIMENSION ZMDL( *),P(MXZMD),T(MXZMD)
C
C ZP BLANK COMMON UNUSED
C Z1 BLANK COMMON LBLRTM ALTITUDES
C ZMDL COMMON /MODEL/ FINAL ALTITUDE FOR LOWTRAN
C
C THIS ROUTINE INTERPOLATES P,T,AND H2O INTO
C LOWTRAN LAYERS WHEN MODEL = 7
C
AVOGAD = 6.022045E23
WTH2O = 18.015
B = WTH2O*1.E06/AVOGAD
J = INEW(K)
C
JL = J-1
IF (JL.LT.1) JL = 1
JP = JL+1
IF (JP.GT.ML) GO TO 40
DIF = Z1(JP)-Z1(JL)
FAC = (ZMDL(K)-Z1(JL))/DIF
P(K) = PM(JL)
IF (PM(JP).LE.0.0.OR.PM(JL).LE.0.) GO TO 10
P(K) = PM(JL)*(PM(JP)/PM(JL))**FAC
10 T(K) = TM(JL)
IF (TM(JP).LE.0.0.OR.TM(JL).LE.0.) GO TO 20
T(K) = TM(JL)*(TM(JP)/TM(JL))**FAC
20 WHN = DENW(JL)
IF (DENW(JP).LE.0.0.OR.DENW(JL).LE.0.) GO TO 30
WHN = DENW(JL)*(DENW(JP)/DENW(JL))**FAC
30 CONTINUE
WHN = WHN*B
RETURN
40 P(K) = PM(JL)
T(K) = TM(JL)
WHN = DENW(JL)*B
RETURN
END
SUBROUTINE CIRR18 1
C
C ******************************************************************
C * ROUTINE TO SET CTHIK CALT CEXT FOR CIRRUS CLOUDS 18 19
C * INPUTS!
C * CHTIK - CIRRUS THICKNESS (KM)
C * 0 = USE THICKNESS STATISTICS
C * .NE. 0 = USER DEFINES THICKNESS
C *
C * CALT - CIRRUS BASE ALTITUDE (KM)
C * 0 = USE CALCULATED VALUE
C * .NE. 0 = USER DEFINES BASE ALTITUDE
C *
C * ICLD - CIRRUS PRESENCE FLAG
C * 0 = NO CIRRUS
C * 18 19 = USE CIRRUS PROFILE
C *
C * MODEL - ATMOSPHERIC MODEL
C * 1-5 AS IN MAIN PROGRAM
C * MODEL = 0,6,7 NOT USED SET TO 2
C *
C * OUTPUTS!
C * CTHIK - CIRRUS THICKNESS (KM)
C * CALT - CIRRUS BASE ALTITUDE (KM)
C CEXT IS THE EXTINCTION COEFFIENT(KM-1) AT 0.55
C DEFAULT VALUE 0.14*CTHIK
C *
C ******************************************************************
C
C
C MXFSC IS THE MAXIMUM NUMBER OF LAYERS FOR OUTPUT TO LBLRTM
C MXLAY IS THE MAXIMUN NUMBER OF OUTPUT LAYERS
C MXZMD IS THE MAX NUMBER OF LEVELS IN THE ATMOSPHERIC PROFILE
C STORED IN ZMDL (INPUT)
C MXPDIM IS THE MAXIMUM NUMBER OF LEVELS IN THE PROFILE ZPTH
C OBTAINED BY MERGING ZMDL AND ZOUT
C MXMOL IS THE MAXIMUM NUMBER OF MOLECULES, KMXNOM IS THE DEFAULT
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
C
C
C BLANK COMMON FOR ZMDL
C
COMMON RELHUM(MXZMD),HSTOR(MXZMD),ICH(4),VH(16),TX(16),W(16)
COMMON WPATH(IM2,16),TBBY(IM2)
COMMON ABSC(5,47),EXTC(5,47),ASYM(5,47),VX2(47),AWCCON(5)
C
COMMON /LCRD1/ MODEL,ITYPE,IEMSCT,M1,M2,M3,IM,NOPRNT,TBOUND,SALB
COMMON /LCRD2/ IHAZE,ISEASN,IVULCN,ICSTL,ICLD,IVSA,VIS,WSS,WHH,
* RAINRT
COMMON /LCRD2A/ CTHIK,CALT,CEXT
COMMON /CNTRL/ KMAX,M,IKMAX,NL,ML,IKLO,ISSGEO,IMULT,JH1
COMMON /LCRD4/ V1,V2,DV
COMMON/MODEL/ ZMDL(MXZMD),PM(MXZMD),TM(MXZMD),
* RFNDX(MXZMD),DENSTY(16,MXZMD),
* CLDAMT(MXZMD),RRAMT(MXZMD),EQLWC(MXZMD),HAZEC(MXZMD)
COMMON /IFIL/ IRD,IPR,IPU,NPR,NFHDRF,NPHDRF,NFHDRL,
* NPHDRL,NLNGTH,KFILE,KPANEL,LINFIL,
* NFILE,IAFIL,IEXFIL,NLTEFL,LNFIL4,LNGTH4
DIMENSION CBASE(5,2),TSTAT(11),PTAB(5),CAMEAN(5)
DIMENSION CBASE1(5),CBASE2(5)
EQUIVALENCE (CBASE1(1),CBASE(1,1)),(CBASE2(1),CBASE(1,2))
C
DATA CAMEAN / 11.0, 10.0, 8.0, 7.0, 5.0 /
DATA PTAB / 0.8, 0.4, 0.5, 0.45, 0.4/
DATA CBASE1 / 7.5, 7.3, 4.5, 4.5, 2.5 /
DATA CBASE2 /16.5,13.5,14.0, 9.5,10.0 /
DATA TSTAT / 0.0,.291,.509,.655,.764,.837,.892,
* 0.928, 0.960, 0.982, 1.00 /
MDL = MODEL
C
C CHECK IF USER WANTS TO USE A THICKNESS VALUE HE PROVIDES
C DEFAULTED MEAN CIRRUS THICKNESS IS 1.0KM OR 0.2 KM.
C
IF (CTHIK.GT.0.0) GO TO 10
IF (ICLD.EQ.18) CTHIK = 1.0
IF (ICLD.EQ.19) CTHIK = 0.2
10 IF (CEXT.EQ.0.) CEXT = 0.14*CTHIK
C
C BASE HEIGHT CALCULATIONS
C
IF (MODEL.LT.1.OR.MODEL.GT.5) MDL = 2
C
HMAX = CBASE(MDL,2)-CTHIK
BRANGE = HMAX-CBASE(MDL,1)
IF (CALT.GT.0.0) GO TO 20
CALT = CAMEAN(MDL)
C
20 IF (ICLD.EQ.18) WRITE (IPR,900)
IF (ICLD.EQ.19) WRITE (IPR,905)
WRITE (IPR,910) CTHIK
WRITE (IPR,915) CALT
WRITE (IPR,920) CEXT
C
C END OF CIRRUS MODEL SET UP
C
RETURN
C
900 FORMAT(15X,'CIRRUS ATTENUATION INCLUDED (STANDARD CIRRUS)')
905 FORMAT(15X,'CIRRUS ATTENUATION INCLUDED (THIN CIRRUS)')
910 FORMAT(15X,'CIRRUS THICKNESS ',
* F10.3,'KM')
915 FORMAT(15X,'CIRRUS BASE ALTITUDE ',
* F10.3,' KM')
920 FORMAT(15X,'CIRRUS PROFILE EXTINCT ',F10.3)
C
END
SUBROUTINE DESATT(WSPD,VIS) 1
C
C ******************************************************************
C *
C * THIS SUBROUTINE CALCULATES THE ATTENUATION COEFFICIENTS AND
C * ASYMMETRY PARAMETER FOR THE DESERT AEROSOL BASED ON THE WIND
C * SPEED AND METEOROLOGICAL RANGE
C *
C *
C *
C * PROGRAMMED BY: D. R. LONGTIN OPTIMETRICS, INC.
C * BURLINGTON, MASSACHUSET
C * JULY 1987
C *
C *
C * INPUTS: WSPD - WIND SPEED (IN M/S) AT 10 M
C * VIS - METEOROLOGICAL RANGE (KM)
C *
C * OUTPUTS: DESEXT - EXTINCTION COEFFICIENT AT 47 WAVELENGTH
C * DESSCA - SCATTERING COEFFICIENT AT 47 WAVELENGTH
C * ***** DESABS - ABSORPTION COEFFICIENT AT 47 WAVELENGTH
C * DESG - ASYMMETRY PARAMETER AT 47 WAVELENGTHS
C *
C ******************************************************************
C
C
C MXFSC IS THE MAXIMUM NUMBER OF LAYERS FOR OUTPUT TO LBLRTM
C MXLAY IS THE MAXIMUN NUMBER OF OUTPUT LAYERS
C MXZMD IS THE MAX NUMBER OF LEVELS IN THE ATMOSPHERIC PROFILE
C STORED IN ZMDL (INPUT)
C MXPDIM IS THE MAXIMUM NUMBER OF LEVELS IN THE PROFILE ZPTH
C OBTAINED BY MERGING ZMDL AND ZOUT
C MXMOL IS THE MAXIMUM NUMBER OF MOLECULES, KMXNOM IS THE DEFAULT
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
C
C
C BLANK COMMON FOR ZMDL
C
COMMON RELHUM(MXZMD),WHNO3(MXZMD),ICH(4),VH(16),TX(16),W(16)
COMMON WPATH(IM2,16),TBBY(IM2)
C
COMMON ABSC(5,47),EXTC(5,47),ASYM(5,47),VX2(47),AWCCON(5)
COMMON /DESAER/ EXT(47,4),ABS(47,4),G(47,4)
COMMON /IFIL/ IRD,IPR,IPU,NPR,NFHDRF,NPHDRF,NFHDRL,
* NPHDRL,NLNGTH,KFILE,KPANEL,LINFIL,
* NFILE,IAFIL,IEXFIL,NLTEFL,LNFIL4,LNGTH4
DIMENSION DESEXT(47),DESSCA(47),DESABS(47),DESG(47),WIND(4)
REAL DESEXT ,DESSCA ,DESABS ,DESG ,WIND
INTEGER WAVEL
DATA WIND/0., 10., 20., 30./
DATA RAYSCT / 0.01159 /
IF (WSPD.LT.0.) WSPD = 10.
C
NWSPD = INT(WSPD/10)+1
IF (NWSPD.GE.5) WRITE (IPR,905)
NWSPD = MIN(NWSPD,3)
C
C INTERPOLATE THE RADIATIVE PROPERTIES AT WIND SPEED WSPD
C
DO 10 WAVEL = 1, 47
C
C EXTINCTION COEFFICIENT
C
SLOPE = LOG(EXT(WAVEL,NWSPD+1)/EXT(WAVEL,NWSPD))/(WIND(NWSPD+1)
* -WIND(NWSPD))
B = LOG(EXT(WAVEL,NWSPD+1))-SLOPE*WIND(NWSPD+1)
DESEXT(WAVEL) = EXP(SLOPE*WSPD+B)
C
C ABSORPTION COEFFICIENT
C
SLOPE = LOG(ABS(WAVEL,NWSPD+1)/ABS(WAVEL,NWSPD))/(WIND(NWSPD+1)
* -WIND(NWSPD))
B = LOG(ABS(WAVEL,NWSPD+1))-SLOPE*WIND(NWSPD+1)
DESABS(WAVEL) = EXP(SLOPE*WSPD+B)
C
C SCATTERING COEFFICIENT
C
DESSCA(WAVEL) = DESEXT(WAVEL)-DESABS(WAVEL)
C
C ASYMMETRY PARAMETER
C
SLOPE = ( * WIND(NWSPD))
B = G(WAVEL,NWSPD+1)-SLOPE*(WIND(NWSPD+1))
DESG(WAVEL) = SLOPE*WSPD+B
10 CONTINUE
C
EXT55 = DESEXT(4)
C
C DETERMINE METEROLOGICAL RANGE FROM 0.55 EXTINCTION
C AND KOSCHMIEDER FORMULA
C
IF (VIS.LE.0.) THEN
VIS = 3.912/(DESEXT(4)+RAYSCT)
ENDIF
C
C RENORMALIZE ATTENUATION COEFFICIENTS TO 1.0 KM-1 AT
C 0.55 MICRONS FOR CAPABILTY WITH LOWTRAN
C
DO 20 WAVEL = 1, 47
EXTC(1,WAVEL) = DESEXT(WAVEL)/EXT55
C
C C DESSCA(WAVEL) = DESSCA(WAVEL) /EXT55
C
ABSC(1,WAVEL) = DESABS(WAVEL)/EXT55
ASYM(1,WAVEL) = DESG(WAVEL)
20 CONTINUE
WRITE (IPR,900) VIS,WSPD
RETURN
C
900 FORMAT(//,' VIS = ',F10.3,' WIND = ',F10.3)
905 FORMAT(' WARNING: WIND SPEED IS BEYOND 30 M/S; RADIATIVE',
*'PROPERTIES',/,'OF THE DESERT AEROSOL HAVE BEEN EXTRAPOLATED')
C
END
BLOCK DATA DSTDTA
C
C > BLOCK DATA
C ******************************************************************
C *
C * DESERT AEROSOL EXTINCTION COEFFICIENTS, ABSORPTION COEFFICIEN
C * AND ASYMMETRY PARAMETERS FOR FOUR WIND SPEEDS: 0 M/S, 10 M/S,
C * 20 M/S AND 30 M/S
C *
C * PROGRAMMED BY: D. R. LONGTIN OPTIMETRICS, INC.
C * BURLINGTON, MASSACHUSET
C * FEB 1988
C *
C ******************************************************************
C
COMMON /DESAER/DESEX1(47),DESEX2(47),DESEX3(47),DESEX4(47),
*DESAB1(47),DESAB2(47),DESAB3(47),DESAB4(47),DESG1(47),DESG2(47),
*DESG3(47),DESG4(47)
C
C EXTINCTION COEFFICIENTS
C
DATA DESEX1 /
* 8.7330E-2, 7.1336E-2, 6.5754E-2, 4.0080E-2, 2.8958E-2, 1.4537E-2,
* 7.1554E-3, 4.3472E-3, 3.5465E-3, 2.9225E-3, 2.5676E-3, 4.3573E-3,
* 5.7479E-3, 2.9073E-3, 2.0109E-3, 1.8890E-3, 1.8525E-3, 1.8915E-3,
* 1.9503E-3, 2.3256E-3, 4.9536E-3, 2.0526E-3, 2.6738E-3, 9.2804E-3,
* 1.5352E-2, 6.9396E-3, 2.2455E-3, 1.9840E-3, 1.9452E-3, 1.9019E-3,
* 1.8551E-3, 1.9661E-3, 1.9865E-3, 2.4089E-3, 1.7485E-3, 1.4764E-3,
* 2.2604E-3, 2.1536E-3, 2.3008E-3, 2.9272E-3, 2.6943E-3, 2.4319E-3,
* 1.9199E-3, 1.4887E-3, 8.0630E-4, 4.6950E-4, 2.0792E-4/
DATA DESEX2 /
* 1.0419E-1, 8.8261E-2, 8.2699E-2, 5.7144E-2, 4.6078E-2, 3.1831E-2,
* 2.4638E-2, 2.1952E-2, 2.1254E-2, 2.0743E-2, 2.0397E-2, 2.2340E-2,
* 2.3848E-2, 2.1104E-2, 2.0422E-2, 2.0462E-2, 2.0591E-2, 2.0843E-2,
* 2.1030E-2, 2.1630E-2, 2.2880E-2, 1.9075E-2, 2.0928E-2, 2.9835E-2,
* 3.8025E-2, 2.7349E-2, 2.1502E-2, 2.1475E-2, 2.1563E-2, 2.1726E-2,
* 2.2265E-2, 2.2580E-2, 2.2708E-2, 2.1705E-2, 2.1230E-2, 2.0523E-2,
* 2.6686E-2, 2.5461E-2, 2.3785E-2, 2.6033E-2, 2.6484E-2, 2.6464E-2,
* 2.5318E-2, 2.3341E-2, 1.7824E-2, 1.3092E-2, 7.2020E-3/
DATA DESEX3 /
* 2.7337E-1, 2.5795E-1, 2.5252E-1, 2.2773E-1, 2.1710E-1, 2.0402E-1,
* 1.9809E-1, 1.9664E-1, 1.9635E-1, 1.9655E-1, 1.9661E-1, 1.9907E-1,
* 2.0164E-1, 1.9957E-1, 2.0013E-1, 2.0142E-1, 2.0270E-1, 2.0400E-1,
* 2.0501E-1, 2.0665E-1, 2.0573E-1, 1.9165E-1, 2.0121E-1, 2.2402E-1,
* 2.4718E-1, 2.2503E-1, 2.0749E-1, 2.0910E-1, 2.0999E-1, 2.1165E-1,
* 2.1784E-1, 2.1727E-1, 2.1803E-1, 2.0995E-1, 2.1214E-1, 2.1308E-1,
* 2.5226E-1, 2.4234E-1, 2.2638E-1, 2.3991E-1, 2.4680E-1, 2.5176E-1,
* 2.5655E-1, 2.5505E-1, 2.3610E-1, 2.1047E-1, 1.5938E-1/
DATA DESEX4 /
* 1.9841E0, 1.9721E0, 1.9676E0, 1.9488E0, 1.9424E0, 1.9377E0,
* 1.9374E0, 1.9484E0, 1.9509E0, 1.9549E0, 1.9570E0, 1.9642E0,
* 1.9737E0, 1.9764E0, 1.9860E0, 1.9944E0, 2.0020E0, 2.0113E0,
* 2.0148E0, 2.0245E0, 2.0283E0, 1.9397E0, 1.9973E0, 2.1039E0,
* 2.2246E0, 2.1587E0, 2.0409E0, 2.0520E0, 2.0613E0, 2.0651E0,
* 2.1194E0, 2.1065E0, 2.1104E0, 2.0651E0, 2.0926E0, 2.1155E0,
* 2.3696E0, 2.2931E0, 2.1828E0, 2.2708E0, 2.3304E0, 2.3762E0,
* 2.4533E0, 2.4915E0, 2.5118E0, 2.4463E0, 2.2122E0/
C
C ABSORPTION COEFFICIENTS
C
DATA DESAB1 /
* 6.4942E-4, 6.1415E-4, 5.8584E-4, 4.4211E-4, 1.3415E-4, 7.8142E-5,
* 5.7566E-5, 8.3848E-5, 7.6988E-5, 4.4486E-5, 8.9604E-5, 2.4887E-3,
* 3.3444E-3, 6.8781E-4, 1.6387E-4, 3.5236E-4, 3.5340E-4, 4.0930E-4,
* 5.0526E-4, 8.2146E-4, 3.7647E-3, 1.0162E-3, 1.3525E-3, 7.7761E-3,
* 1.3108E-2, 5.1252E-3, 1.0973E-3, 6.8573E-4, 5.7622E-4, 5.1268E-4,
* 7.6834E-4, 5.3793E-4, 5.0611E-4, 1.2828E-3, 6.7827E-4, 4.3826E-4,
* 5.1221E-4, 8.8642E-4, 9.5535E-4, 1.0000E-3, 7.5646E-4, 6.1552E-4,
* 4.6087E-4, 3.5642E-4, 2.3556E-4, 1.7596E-4, 1.1699E-4/
DATA DESAB2 /
* 4.3569E-3, 4.3413E-3, 4.3277E-3, 4.0649E-3, 3.9091E-4, 8.4594E-5,
* 5.8501E-5, 8.4412E-5, 7.7547E-5, 4.6817E-5, 9.2721E-5, 2.5389E-3,
* 3.3588E-3, 7.9414E-4, 8.5079E-4, 4.6002E-3, 4.4872E-3, 4.6200E-3,
* 5.2973E-3, 4.8910E-3, 8.9899E-3, 5.4745E-3, 3.6375E-3, 1.1862E-2,
* 1.5179E-2, 7.0015E-3, 8.4693E-3, 6.9516E-3, 6.3008E-3, 6.3684E-3,
* 8.4992E-3, 6.9625E-3, 6.5192E-3, 7.8955E-3, 7.7192E-3, 5.8540E-3,
* 5.3263E-3, 9.3004E-3, 7.4848E-3, 3.0952E-3, 1.8219E-3, 1.3078E-3,
* 1.0653E-3, 5.5231E-4, 3.2311E-4, 2.2422E-4, 1.3839E-4/
DATA DESAB3 /
* 4.1552E-2, 4.1671E-2, 4.1781E-2, 4.1125E-2, 5.0552E-3, 2.1085E-4,
* 7.5703E-5, 9.5531E-5, 8.8354E-5, 9.0588E-5, 1.5058E-4, 3.4972E-3,
* 3.6310E-3, 2.6709E-3, 1.2558E-2, 5.9184E-2, 5.8289E-2, 5.9206E-2,
* 6.5487E-2, 5.8707E-2, 7.4669E-2, 5.2152E-2, 2.5783E-2, 4.7971E-2,
* 3.2378E-2, 2.4739E-2, 8.1225E-2, 7.5085E-2, 7.1232E-2, 7.3042E-2,
* 8.0638E-2, 7.8255E-2, 7.4882E-2, 7.8853E-2, 8.1412E-2, 6.5722E-2,
* 4.8565E-2, 8.4983E-2, 7.1273E-2, 3.0870E-2, 1.7031E-2, 1.1455E-2,
* 1.0554E-2, 4.0418E-3, 2.1509E-3, 1.4115E-3, 7.9698E-4/
DATA DESAB4 /
* 4.1777E-1, 4.1880E-1, 4.2000E-1, 4.1846E-1, 8.6452E-2, 2.6538E-3,
* 4.0804E-4, 3.1418E-4, 2.9996E-4, 9.3018E-4, 1.2814E-3, 2.1436E-2,
* 8.7553E-3, 3.7670E-2, 2.0849E-1, 7.0914E-1, 7.0420E-1, 7.1379E-1,
* 7.6309E-1, 7.1128E-1, 8.2992E-1, 5.3585E-1, 2.4456E-1, 3.8103E-1,
* 1.7784E-1, 1.9305E-1, 7.9910E-1, 7.8987E-1, 7.7502E-1, 7.9400E-1,
* 7.6332E-1, 8.3629E-1, 8.1581E-1, 8.3122E-1, 8.4901E-1, 7.0150E-1,
* 4.4205E-1, 7.7354E-1, 7.1088E-1, 3.9328E-1, 2.3337E-1, 1.6258E-1,
* 1.5289E-1, 5.8849E-2, 3.5576E-2, 2.4463E-2, 1.4525E-2/
C
C ASYMMETRY PARAMETER
C
DATA DESG1 /
* 0.6603, 0.6581, 0.6547, 0.6383, 0.6276, 0.5997, 0.5829, 0.5873,
* 0.5967, 0.6130, 0.6323, 0.6850, 0.6068, 0.6312, 0.6816, 0.7298,
* 0.7574, 0.7874, 0.8124, 0.8424, 0.8301, 0.8107, 0.6143, 0.6167,
* 0.4892, 0.4917, 0.6662, 0.6334, 0.6298, 0.6498, 0.7470, 0.6711,
* 0.6751, 0.7538, 0.8054, 0.7797, 0.5522, 0.6575, 0.4702, 0.3719,
* 0.3626, 0.3690, 0.3790, 0.3805, 0.3766, 0.3639, 0.3281/
DATA DESG2 /
* 0.6836, 0.6879, 0.6877, 0.6919, 0.6901, 0.7045, 0.7279, 0.7466,
* 0.7522, 0.7568, 0.7629, 0.7700, 0.7567, 0.7617, 0.7781, 0.8289,
* 0.8360, 0.8465, 0.8624, 0.8707, 0.9524, 0.8292, 0.6202, 0.6425,
* 0.5777, 0.5623, 0.7610, 0.7310, 0.7247, 0.7419, 0.7782, 0.7481,
* 0.7446, 0.8090, 0.8415, 0.8110, 0.6120, 0.7106, 0.5739, 0.4421,
* 0.4089, 0.3979, 0.3917, 0.3853, 0.3842, 0.3829, 0.3797/
DATA DESG3 /
* 0.7718, 0.7865, 0.7907, 0.8077, 0.7801, 0.7827, 0.7871, 0.7880,
* 0.7887, 0.7888, 0.7894, 0.7909, 0.7882, 0.7934, 0.8103, 0.8729,
* 0.8766, 0.8844, 0.8979, 0.8997, 0.9698, 0.8318, 0.6197, 0.6420,
* 0.5797, 0.5698, 0.8014, 0.7938, 0.7901, 0.8069, 0.7894, 0.8139,
* 0.8086, 0.8546, 0.8691, 0.8288, 0.6394, 0.7400, 0.6495, 0.5235,
* 0.4793, 0.4583, 0.4376, 0.4169, 0.4006, 0.3941, 0.3875/
DATA DESG4 /
* 0.8290, 0.8407, 0.8443, 0.8500, 0.8087, 0.7994, 0.7988, 0.7987,
* 0.7988, 0.7989, 0.7998, 0.8023, 0.8011, 0.8076, 0.8331, 0.9045,
* 0.9083, 0.9149, 0.9266, 0.9263, 0.9783, 0.8321, 0.6168, 0.6379,
* 0.5706, 0.5673, 0.8196, 0.8324, 0.8347, 0.8549, 0.7940, 0.8621,
* 0.8588, 0.8918, 0.8922, 0.8407, 0.6488, 0.7557, 0.7021, 0.6024,
* 0.5533, 0.5280, 0.5016, 0.4711, 0.4396, 0.4230, 0.4058/
END
C
C *****************************************************************
C
SUBROUTINE FLAYZ(ML,MODEL,ICLD,IAERSL,ZMDL,ZM,GNDALT,IVSA,IEMSCT) 1
C
C SUBROUTINE TO CREATE FINAL LOWTRAN BOUNDRIES
C
C ZMDL COMMON /MODEL/ FINAL ALTITUDE FOR LOWTRAN
C ZCLD CLOUD ALTITUDE
C ZK1 USED WITH VSA
C ZM BLANK COMMON LBLRTM ALTITUDES
C ZNEW ALTITUDES ABOVE THE CLOUD
C ZNEWV ALTITUDES ABOVE THE 1ST 9 VSA ALTITUDES
C ZTST =ZCLD(J)
C ZVSA VSA ALTITUDES
C
COMMON /LCRD2A/ CTHIK,CALT,CEXT
COMMON /ZVSALY/ ZVSA(10),RHVSA(10),AHVSA(10),IHVSA(10)
DIMENSION ZNEWV(24),ZM( *),ZMDL( *)
DIMENSION ZNEW(17),ZCLD(16),ZAER(34),ZST(34)
DATA ZCLD/ 0.0,0.16,0.33,0.66,1.0,1.5,2.0,2.4,2.7,
* 3.0,3.5,4.0,4.5,5.0,5.5,6.0/
DATA ZNEWV/1.,2.,3.,4.,5.,6.,7.,8.,9.,10.,11.,12.,
* 14.,16.,18.,20.,22.,25.,30.,35.,40.,50.,70.,100./
DATA ZNEW/ 7.,8.,9.,10.,12.,14.,16.,18.,20.,22.,25.,30.,
* 35.,40.,50.,70.,100./
DATA ZAER / 0., 1., 2., 3., 4., 5., 6., 7., 8., 9.,
* 10.,11.,12.,13.,14.,15.,16.,17.,18.,19.,
* 20.,21.,22.,23.,24.,25.,30.,35.,40.,45.,
* 50.,70.,100., 1000./
DATA DELZ /0.02/
IF (IAERSL.EQ.7) GO TO 250
C
IF (MODEL.EQ.0) GO TO 140
IF (IVSA.EQ.1) THEN
DO 10 I = 1, 9
ZMDL(I) = ZVSA(I)
10 CONTINUE
C
HMXVSA = ZVSA(9)
ZK1 = HMXVSA+0.01
IF (HMXVSA.LT.2.) ML = 33
IF (HMXVSA.LT.1.) ML = 34
IF (HMXVSA.EQ.2.) ML = 32
MDEL = 34-ML
DO 20 K = 1, ML
IK = K-10+MDEL
IF (IK.GE.1) ZMDL(K) = ZNEWV(IK)
IF (K.EQ.10) ZMDL(K) = ZK1
20 CONTINUE
C
RETURN
ELSE
ML = 46
ENDIF
C
IF (ICLD.GE.1.AND.ICLD.LE.11) GO TO 110
DO 30 I = 1, ML
IF (ZM(I).GT.100.) GO TO 40
IL = I
ZMDL(I) = ZM(I)
30 CONTINUE
40 ML = IL
C
C IF(IEMSCT.NE.0) ZMDL(ML)=100.
C
IF (GNDALT.LE.0.) GO TO 60
DALT = (6.-GNDALT)/6.
IF (DALT.LE.0.) GO TO 60
C
DO 50 I = 1, 6
ZMDL(I) = FLOAT(I-1)*DALT+GNDALT
50 CONTINUE
60 IF (ICLD.EQ.18.OR.ICLD.EQ.19) THEN
CLDD = 0.1*CTHIK
CLD0 = CALT-0.5*CLDD
CLD0 = MAX(CLD0,0.)
CLD1 = CLD0+CLDD
CLD2 = CLD1+CTHIK-CLDD
CLD3 = CLD2+CLDD
DO 70 I = 1, ML
IJ = I
IF (ZMDL(I).LT.CLD0) GO TO 70
GO TO 80
70 CONTINUE
GO TO 250
80 ML1 = ML-IJ
DO 90 I = 1, ML1
ZST(I) = ZMDL(IJ+I-1)
90 CONTINUE
ZMDL(IJ) = CLD0
ZMDL(IJ+1) = CLD1
ZMDL(IJ+2) = CLD2
ZMDL(IJ+3) = CLD3
II = 3
DO 100 I = 1, ML1
IF (ZST(I).LT.CLD3) GO TO 100
II = II+1
IF ((IJ+II).GT.ML) GO TO 250
ZMDL(IJ+II) = ZST(I)
100 CONTINUE
ENDIF
GO TO 250
C
C STAND CLOUD
C
110 DO 120 I = 1, 16
ZMDL(I) = ZCLD(I)+GNDALT
120 CONTINUE
I = 16
C
DO 130 K = 17, ML
J = K-16
IF (ZNEW(J).LE.ZMDL(16)) GO TO 130
I = I+1
ZMDL(I) = ZNEW(J)
130 CONTINUE
ML = I
GO TO 250
C
C MODEL 7
C
140 CONTINUE
IF (ICLD.EQ.0) GO TO 230
IF (ICLD.EQ.20) GO TO 230
IF (IVSA.EQ.1) GO TO 230
IF (ML.EQ.1) GO TO 230
KK = 0
DO 150 I = 1, ML
IF (ZM(I).GT.6.0) GO TO 160
KK = I
150 CONTINUE
160 IF (KK.LT.1) GO TO 200
C
I = 1
J = 1
K = 1
170 ZTST = ZCLD(J)
IF (ZCLD(J).LT.ZM(1)) THEN
J = J+1
GO TO 170
ENDIF
IF (ABS(ZTST-ZM(K)).LT.DELZ) GO TO 180
IF (ZTST.LT.ZM(K)) THEN
ZMDL(I) = ZTST
I = I+1
J = J+1
ELSE
ZMDL(I) = ZM(K)
I = I+1
K = K+1
ENDIF
GO TO 190
C
180 ZMDL(I) = ZM(K)
I = I+1
J = J+1
K = K+1
C
190 IF (K.GE.KK) GO TO 200
IF (J.GE.17) GO TO 200
IF (I.GT.35) GO TO 220
GO TO 170
C
200 IF (KK.EQ.0) THEN
I = 1
KK = 1
ENDIF
C
DO 210 M = KK, ML
ZMDL(I) = ZM(M)
I = I+1
IF (I.GT.35) GO TO 220
210 CONTINUE
C
220 ML = I-1
GO TO 250
C
230 DO 240 I = 1, ML
ZMDL(I) = ZM(I)
240 CONTINUE
250 RETURN
END
C
C ******************************************************************
C
SUBROUTINE TRANS 1,12
C
C ******************************************************************
C CALCULATES TRANSMITTANCE VALUES BETWEEN V1 AND V2
C FOR A GIVEN ATMOSPHERIC SLANT PATH
C
C MODIFIED FOR ASYMMETRY CALCULATION - JAN 1986 (A.E.R. INC.)
C
C ******************************************************************
C
C K WPATH(IK,K)
C
C 6 MOLECULAR (RAYLIEGH) SCATTERING
C 7 BOUNDRY LAYER AEROSOL (0 TO 2 KM)
C 12 TROPOSPHERIC AEROSOL (2-10 KM)
C 13 STRATOSPHERIC AEROSOL (10-30)
C 14 UPPER STRATOPHERIC (ABOVE 30KM)
C 15 AEROSOL WEIGHTED RELATIVE HUMITY (0 TO 2 KM)
C 16 CIRRUS CLOUDS
C ******************************************************************
C
PARAMETER (MAXDV=2050)
INTEGER PHASE,DIST
C
C MXFSC IS THE MAXIMUM NUMBER OF LAYERS FOR OUTPUT TO LBLRTM
C MXLAY IS THE MAXIMUN NUMBER OF OUTPUT LAYERS
C MXZMD IS THE MAX NUMBER OF LEVELS IN THE ATMOSPHERIC PROFILE
C STORED IN ZMDL (INPUT)
C MXPDIM IS THE MAXIMUM NUMBER OF LEVELS IN THE PROFILE ZPTH
C OBTAINED BY MERGING ZMDL AND ZOUT
C MXMOL IS THE MAXIMUM NUMBER OF MOLECULES, KMXNOM IS THE DEFAULT
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
C
C
C BLANK COMMON FOR ZMDL
C
COMMON RELHUM(MXZMD),HSTOR(MXZMD),ICH(4),VH(16),TX(16),W(16)
COMMON WPATH(IM2,16),TBBY(IM2)
COMMON ABSC(5,47),EXTC(5,47),ASYM(5,47),VX2(47),AWCCON(5)
C
CHARACTER*8 HMOD
C
COMMON HMOD(3),ZM(MXZMD),PF(MXZMD),TF(MXZMD),RFNDXM(MXZMD)
COMMON ZP(IM2),PP(IM2),TP(IM2),RFNDXP(IM2),SP(IM2),
* PPSUM(IM2),TPSUM(IM2),RHOPSM(IM2),
* IMLOW,WGM(MXZMD),DENW(MXZMD)
C
COMMON /IFIL/ IRD,IPR,IPU,NPR,NFHDRF,NPHDRF,NFHDRL,
* NPHDRL,NLNGTH,KFILE,KPANEL,LINFIL,
* NFILE,IAFIL,IEXFIL,NLTEFL,LNFIL4,LNGTH4
COMMON /RAIN/ RNPATH(IM2),RRAMTK(IM2)
COMMON /LCRD1/ MODEL,ITYPE,IEMSCT,M1,M2,M3,IM,NOPRNT,TBOUND,SALB
COMMON /LCRD2/ IHAZE,ISEASN,IVULCN,ICSTL,ICLD,IVSA,VIS,WSS,WHH,
* RAINRT
COMMON /LCRD3/ H1,H2,ANGLE,RANGE,BETA,RE,LEN
COMMON /LCRD4/ V1,V2,DV
COMMON /CNSTNS/ PI,CA,DEG,GCAIR,BIGNUM,BIGEXP
COMMON /CNTRL/ KMAX,M,IKMAX,NL,ML,IKLO,ISSGEO,IKP,JH1
COMMON /AER/ XX1,XX2,XX3,XX4,XX5,
* YY1,YY2,YY3,YY4,YY5,ZZ1,ZZ2,ZZ3,ZZ4,ZZ5
CHARACTER*8 XID, HMOLID, YID
Real*8 SECANT, XALTZ
COMMON /FILHDR/ XID(10),SECANT,PAVE,TAVE,HMOLID(60),XALTZ(4),
* WK(60),PZL,PZU,TZL,TZU,WN2 ,DVP,V1P,V2P,TBOUNF,EMISIV,
* FSCDID(17),NMOL,LAYER,YI1,YID(10) ,LSTWDF
REAL*8 VI1,VI2,V1P,V2P,VV
COMMON /LPANEL/ VI1,VI2,DVV,NLIMAP
COMMON /ZOUTP/ ZOUT(MXLAY),SOUT(MXLAY),RHOSUM(MXLAY),
* AMTTOT(MXMOL),AMTCUM(MXMOL),ISKIP(MXMOL)
EQUIVALENCE (VI1,PNLHDR(1))
EQUIVALENCE (FSCDID(17),NLIM)
EQUIVALENCE (XID(1),XFILHD(1))
DIMENSION XFILHD(2),PNLHDR(2),SRAI(MAXDV)
DIMENSION ABST(MAXDV),SCTT(MAXDV),ASYT(MAXDV),ASYDM(MAXDV)
DIMENSION VID(6),VL10(5),SUMEXT(MAXDV)
DATA VID/0.1,0.2,0.5,1.0,2.0,5.0/
DATA VL10/25.,50.,125.,250.,500./
DVP = DV
IENT = 0
SUMA = 0.
FACTOR = 0.5
C
C CC
C CC FREQUENCY CAN GO BELOW 350 CM-1 FOR LBLRTM
C CC
C
V2 = MIN(V2,50000.)
DV = MAX(DV,5.)
ICOUNT = 0
IEMISS = 0
IF (IEMSCT.EQ.1.OR.IEMSCT.EQ.2) IEMISS = 1
TCRRIS = EXP(-W(16)*2.)
C
C 234 FORMAT(2F8.4)
C CC
C CC SET LOWTRAN DV DEPENDING ON FREQUENCY RANGE
C CC CAN BE 0.1,0.2,0.5,1.0,2.0 OR 5.0
C CC
C
IF (V2.GT.300) THEN
V1 = FLOAT(INT(V1/5.0+0.1))*5.0
V2 = FLOAT(INT(V2/5.0+0.1))*5.0
ENDIF
V2 = MAX(V2,V1)
VDEL = V2-V1
IF (V1.GT.350.) VIDV = 5.0
IF (V1.GT.350.) GO TO 70
IF (V1.LE.10.) THEN
DO 10 I = 1, 4
IF (VDEL.LE.VL10(I)) GO TO 20
10 CONTINUE
IC = 5
GO TO 30
20 IC = I
30 CONTINUE
VIDV = VID(IC)
ELSE
DO 40 I = 4, 5
IF (VDEL.LE.VL10(I)) GO TO 50
40 CONTINUE
IC = 6
GO TO 60
50 IC = I
60 CONTINUE
VIDV = VID(IC)
ENDIF
70 CONTINUE
NLIM = (VDEL/VIDV)+5.
DVP = VIDV
V1 = V1-2*DVP
V2 = V2+2*DVP
V1P = V1
V2P = V2
WRITE (IPR,900) V1,V2,DVP
RMAXDV = FLOAT(MAXDV)
IF ((V2-V1)/DV.GT.RMAXDV) STOP 'TRANS; DO 80 I = 1, MAXDV
ABST(I) = 0.
SCTT(I) = 0.
ASYT(I) = 0.
SRAI(I) = 0.
ASYDM(I) = 0.
SUMEXT(I) = 0.0
80 CONTINUE
REWIND IEXFIL
CALL BUFOUT
(IEXFIL,XFILHD(1),NFHDRF)
IF (ICLD.EQ.20.AND.V1.LT.350.) WRITE (IPR,905)
NLIMAP = NLIM
XKT0 = 0.6951*296.
BETA0 = 1./XKT0
C
C ** BEGINING OF LAYER LOOP
C
VI1 = V1
VI2 = V2
IFL = 2
C
DO 130 IK = IKLO, IKMAX
W7 = WPATH(IK,7)
W12 = WPATH(IK,12)
W15 = WPATH(IK,15)
IF (W7.GT.0.0.AND.ICH(1).LE.7) W15 = W15/W7
IF (W12.GT.0.0.AND.ICH(1).GT.7) W15 = W15/W12
C
C INVERSE OF LOG REL HUM
C
W(15) = 100.-EXP(W15)
IF (W7.LE.0.0.AND.ICH(1).LE.7) W(15) = 0.
IF (W12.LE.0.0.AND.ICH(1).GT.7) W(15) = 0.
C
C ** LOAD AEROSOL EXTINCTION AND ABSORPTION COEFFICIENTS
C
C CC
C CC LOAD EXTINCTIONS AND ABSORPTIONS FOR 0.2-200.0 UM (1-46)
C CC
C
CALL EXABIN
C
C CC
C
VI = V1
VI = VI-VIDV
NV = 0
XKT = 0.6951*TBBY(IK)
BETAR = 1./XKT
C
C CC
C CC BEGINNING OF FREQUENCY LOOP
C CC
C
90 CONTINUE
C
C CC
C
CSSA = 1.
ASYMR = 1.
NV = NV+1
VI = VI+VIDV
V = ABS(VI)
VV = V
C
SCTMOL = RAYSCT
(V)*WPATH(IK,6)
C
DVV = VIDV
C
RADFT = RADFN
(VV,XKT)
RADFT0 = RADFN
(VV,XKT0)
C
C CC
C CC AEROSOL ATTENUATIONS
C CC
C
TRAIN = 0.0
C
CALL AEREXT
(V,IK,RADFT)
C
EXT = XX1*WPATH(IK,7)+XX2*WPATH(IK,12)+XX3*WPATH(IK,13)+XX4*
* WPATH(IK,14)+XX5*WPATH(IK,16)
ABT = YY1*WPATH(IK,7)+YY2*WPATH(IK,12)+YY3*WPATH(IK,13)+YY4*
* WPATH(IK,14)+YY5*WPATH(IK,16)
C
C ASYMMETRY FACTOR IS WEIGHTED AVERAGE
C
C CC ASY=(ZZ1*(XX1-YY1)*WPATH(IK,7)+ZZ2*(XX2-YY2)*WPATH(IK,12)+
C CC + ZZ3*(XX3-YY3)*WPATH(IK,13)+ZZ4*(XX4-YY4)*WPATH(IK,14))/
C CC + ((XX1-YY1)*WPATH(IK,7)+(XX2-YY2)*WPATH(IK,12)+
C CC + (XX3-YY3)*WPATH(IK,13)+(XX4-YY4)*WPATH(IK,14)+SCTMOL)
C
ASY = (ZZ1*(XX1-YY1)*WPATH(IK,7)+ZZ2*(XX2-YY2)*WPATH(IK,12)+ZZ3
* *(XX3-YY3)*WPATH(IK,13)+ZZ4*(XX4-YY4)*WPATH(IK,14)+ZZ5*(XX5-
* YY5)*WPATH(IK,16))
SCT = EXT-ABT
IF (VV.GE.350.AND.ICLD.EQ.20) ABT = ABT+(WPATH(IK,16)*2./RADFT)
C
C CC
C CC ADD CONTRIBUTION OF CLOUDS AND RAIN
C CC
C
IF (RRAMTK(IK).NE.0.0) THEN
TRAIN = TNRAIN
(RRAMTK(IK),VV,TBBY(IK),RADFT)
IF (V.LT.250.) THEN
IF (ICLD.LE.11) PHASE = 1
IF (ICLD.GT.11) PHASE = 2
DIST = 1
C
C CALL SCATTERING ROUTINE TO OBTAIN ASYMMTRY FACTOR AND RAT
C OF ABSORPTION TO EXTINCTION DUE TO RAIN WITHIN RANGE OF
C 19 TO 231 GHZ
C EXTRAPOLATE ABOVE AND BELOW THAT FREQ RANGE
C
CALL RNSCAT
(V,RRAMTK(IK),TBBY(IK),PHASE,DIST,IK,CSSA,
* ASYMR,IENT)
IENT = IENT+1
ELSE
CSSA = 0.5
ASYMR = 0.85
ENDIF
ENDIF
C
C SET EXT DUE TO RAIN FOR LAYER
C
RNEXPT = TRAIN*RNPATH(IK)
C
C PUT RADIATION CLD BACK IN
C
SRAI(NV) = SRAI(NV)+RNEXPT*RADFT
C
ABT = ABT+RNEXPT*CSSA
SCT = SCT+RNEXPT*(1.-CSSA)
ASY = ASY+ASYMR*(1.-CSSA)*RNEXPT
C
C
SCT = SCT+SCTMOL
C
EXT = SCT+ABT
C
IF (IK.LE.JH1) THEN
C
C DOUBLE TANGENT PATH LAYERS
C
SUMEXT(NV) = SUMEXT(NV)+EXT*RADFT*2.0
IF (IEMISS.EQ.0) THEN
EXT = EXT*2.
SCT = SCT*2.
ABT = ABT*2.
ENDIF
ELSE
SUMEXT(NV) = SUMEXT(NV)+EXT*RADFT
ENDIF
C
IF (VV.GE.1.0) THEN
RADRAT = RADFT/RADFT0
ELSE
RADRAT = BETAR/BETA0
ENDIF
C
C CC
C CC IF TRANSMISSION STORE THE ACCUMULATED AMOUNTS
C CC IF EMISSION STORE THE AMOUNTS PER LAYER
C CC
C
IF (IEMISS.EQ.1) THEN
ABST(NV) = ABST(NV)+ABT
SCTT(NV) = SCTT(NV)+SCT
ASYDM(NV) = ASYDM(NV)+SCT+SCTMOL
ASYT(NV) = ASYT(NV)+ASY
ELSE
ABST(NV) = ABST(NV)+ABT*RADRAT
SCTT(NV) = SCTT(NV)+SCT*RADRAT
ENDIF
C
C CC
C CC CIRRUS CLOUD SHOULD BE ADDED IN LATER
C CC
C
IF (VI.LT.V2) GO TO 90
C
C CC
C CC ***END OF FREQUENCY LOOP
C CC
C CC BUFFER OUT ABSORPTION, SCATTERING, AND
C CC ASYMMETRY PANELS OF LAYERS BY FREQUENCY
C CC TO IEXFIL FOR USE IN LBLRTM
C CC
C
IF (IK.NE.IKMAX) THEN
IF (IEMISS.EQ.1) THEN
IF (ZP(IK+1).LT.ZOUT(IFL)) GO TO 130
ENDIF
ELSE
GO TO 110
ENDIF
DO 100 I = 1, MAXDV
IF (ASYDM(I).GT.0.) THEN
ASYT(I) = ASYT(I)/ASYDM(I)
ELSE
ASYT(I) = 0.
ENDIF
100 CONTINUE
110 CONTINUE
IF ((IEMISS.GE.1).OR.(IK.EQ.IKMAX)) THEN
CALL BUFOUT
(IEXFIL,PNLHDR(1),NPHDRF)
CALL BUFOUT
(IEXFIL,ABST(1),NLIM)
CALL BUFOUT
(IEXFIL,SCTT(1),NLIM)
CALL BUFOUT
(IEXFIL,ASYT(1),NLIM)
DO 120 I = 1, MAXDV
ABST(I) = 0.
SCTT(I) = 0.
ASYT(I) = 0.
ASYDM(I) = 0.
120 CONTINUE
IFL = IFL+1
ENDIF
C
C ***END OF LAYER LOOP*** (IK LOOP)
C
130 CONTINUE
C
C
REWIND IEXFIL
VI = V1-VIDV
DO 140 NV = 1, NLIM
VI = VI+VIDV
IF (ICOUNT.EQ.0.OR.ICOUNT.EQ.50) THEN
ICOUNT = 0
IF (VI.GT.100.) WRITE (IPR,910)
IF (VI.LE.100.) WRITE (IPR,915)
ENDIF
ICOUNT = ICOUNT+1
IF (SUMEXT(NV).LE.BIGEXP) THEN
TRAN = EXP(-SUMEXT(NV))
ELSE
TRAN = 1.0/BIGNUM
ENDIF
IF (SRAI(NV).LE.BIGEXP) THEN
TR1 = EXP(-SRAI(NV))
ELSE
TR1 = 1.0/BIGNUM
ENDIF
IF (VI.GT.V1) FACTOR = 1.0
IF (VI.GE.V2) FACTOR = 0.5
SUMA = SUMA+FACTOR*DVV*(1.0-TRAN)
IF (VI.GT.100.) ALAM = 1.0E+04/VI
IF (VI.LE.100.) ALAM = VI*29.979
WRITE (IPR,920) VI,ALAM,TRAN,TR1
140 CONTINUE
IF (ICLD.EQ.20) WRITE (IPR,925) TCRRIS
AB = 1.0-SUMA/(VI-V1)
WRITE (IPR,930) V1,VI,SUMA,AB
RETURN
C
C ** FORMAT STATEMENTS FOR SPECTRAL DATA
C ** PAGE HEADERS
C
900 FORMAT('0 LOWTRAN WAVENUMBER INTERVAL **',3F10.3)
905 FORMAT(' CIRRUS NOT DEFINED BELOW 350 CM-1')
910 FORMAT ('1',/ 1X,' FREQ WAVELENGTH TOTAL RAIN '//)
915 FORMAT ('1',/ 1X,' FREQ FREQUENCY TOTAL RAIN ',
* /2X,' CM-1 GHZ ',2(4X,'TRANS')/)
920 FORMAT(1X,F7.1,F8.3,10F9.4,F12.3)
925 FORMAT('0TRANSMISSION DUE TO CIRRUS = ',F10.4)
930 FORMAT('0INTEGRATED ABSORPTION FROM ',F9.3,' TO ',F9.3,' CM-1 =',
* F10.2,' CM-1',/,' AVERAGE TRANSMITTANCE =',F6.4,/)
C
END
C
C ******************************************************************
C
SUBROUTINE RNSCAT(V,R,TT,PHASE,DIST,IK,CSSA,ASYMR,IENT) 1,8
C
C ******************************************************************
C
COMMON /IFIL/ IRD,IPR,IPU,NPR,NFHDRF,NPHDRF,NFHDRL,
* NPHDRL,NLNGTH,KFILE,KPANEL,LINFIL,
* NFILE,IAFIL,IEXFIL,NLTEFL,LNFIL4,LNGTH4
INTEGER PHASE,DIST
DIMENSION SC(3,4)
C
C ARGUMENTS:
C
C F = FREQUENCY (GHZ)
C R = RAINFALL RATE (MM/HR)
C T = TEMPERATURE (DEGREES CELSIUS)
C PHASE = PHASE PARAMETER (1=WATER, 2=ICE)
C DIST = DROP SIZE DISTRIBUTION PARAMETER
C (1=MARSHALL-PALMER, 2=BEST)
C
C RESULTS:
C
C SC(1) = ABSORPTION COEFFICIENT (1/KM)
C SC(2) = EXTINCTION COEFFICIENT (1/KM)
C SC(I),I=3,NSC = LEGENDRE COEFFICIENTS #I-3 (NSC=10)
C 2=BAD RAINFALL RATE, 3=BAD TEMPERATURE,
C 4=BAD PHASE PARAMETER, 5=BAD DROP SIZE DISTRIBUTION
C
C THE INTERNAL DATA:
C
DIMENSION FR(9),TEMP(3)
C
C FR(I),I=1,NF = TABULATED FREQUENCIES (GHZ) (NF=9)
C TEMP(I),I=1,NT = TABULATED TEMPERATURES (NT=3)
C
C THE BLOCK-DATA SECTION
C
DATA RMIN,RMAX/0.,50./,NF/9/,NT/3/,NSC/4/,MAXI/3/
DATA TK/273.15/,CMT0/1.0/,C7500/0.5/,G0/0.0/,G7500/0.85/
DATA (TEMP(I),I=1,3)/-10.,0.,10./
DATA (FR(I),I=1,9)/19.35,37.,50.3,89.5,100.,118.,130.,183.,231./
C
C THIS SUBROUTINE REQUIRES FREQUENCIES IN GHZ
C
NOPR = 0
IF (IK.EQ.1) NOPR = 1
IF (IENT.GT.1) NOPR = 0
F = V*29.97925
FSAV = F
RSAV = R
TSAV = T
INT = 0
C
C CONVERT TEMP TO DEGREES CELSIUS
C
T = TT-TK
C
C FREQ RANGE OF DATA 19.35-231 GHZ IF LESS THAN 19.35
C SET UP PARAMETERS FOR INTERPOLATION
C
IF (F.LT.FR(1)) THEN
FL = 0.0
FM = FR(1)
INT = 1
IF (NOPR.GT.0) WRITE (IPR,900)
ENDIF
C
C IF MORE THAN 231 GHZ SET UP PARAMETERS FOR EXTRAPOLATION
C
IF (F.GT.FR(NF)) THEN
FL = FR(NF)
FM = 7500.
INT = 2
IF (NOPR.GT.0) WRITE (IPR,900)
ENDIF
C
C TEMP RANGE OF DATA IS -10 TO +10 DEGREES CELCIUS
C IF BELOW OR ABOVE EXTREME SET AND DO CALCULATIONS AT EXTREME
C
IF (T.LT.TEMP(1)) THEN
T = TEMP(1)
IF (NOPR.GT.0) WRITE (IPR,905)
ENDIF
C
IF (T.GT.TEMP(3)) THEN
T = TEMP(3)
IF (NOPR.GT.0) WRITE (IPR,905)
ENDIF
C
C RAIN RATE OF DATA IS FOR 0-50 MM/HR
C IF GT 50 TREAT CALCULATIONS AS IF 50 MM/HR WAS INPUT
C
IF (R.GT.50) THEN
R = 50.
IF (NOPR.GT.0) WRITE (IPR,910)
ENDIF
C
KI = 1
C
C FIGURE OUT THE SECOND INDEX
C
10 J = PHASE+2*DIST
C
C
C GET THE TEMPERATURE INTERPOLATION PARAMETER ST
C IF NEEDED AND AMEND THE SECOND INDEX
C
CALL BS
(J,T,TEMP,NT,ST)
C
C FIGURE OUT THE THIRD INDEX AND THE FREQUENCY INTERPOLATION
C PARAMETER SF
C
CALL BS
(K,F,FR,NF,SF)
C
C INITIALIZE SC
C
DO 20 I = 1, NSC
SC(KI,I) = 0.
20 CONTINUE
SC(KI,3) = 1.
C
C NOW DO THE CALCULATIONS
C
C THE WATER CONTENT IS
C
IF (DIST.EQ.1) THEN
WC = .0889*R**.84
ELSE
WC = .067*R**.846
ENDIF
C
C FOR A TEMPERATURE DEPENDENT CASE, I.E.
C
IF (J.LT.3) THEN
S1 = (1.-SF)*(1.-ST)
S2 = (1.-SF)*ST
S3 = SF*(1.-ST)
S4 = SF*ST
DO 30 I = 1, MAXI
IF (I.LE.2) THEN
ISC = I
ELSE
ISC = I+1
ENDIF
SC(KI,ISC) = S1*TAB
(I,J,K,WC)+S2*TAB
(I,J+1,K,WC)+S3*TAB
(I,J,
* K+1,WC)+S4*TAB
(I,J+1,K+1,WC)
30 CONTINUE
C
C FOR A TEMPERATURE INDEPENDENT CASE
C
ELSE
S1 = 1.-SF
S2 = SF
DO 40 I = 1, MAXI
IF (I.LE.2) THEN
ISC = I
ELSE
ISC = I+1
ENDIF
SC(KI,ISC) = S1*TAB
(I,J,K,WC)+S2*TAB
(I,J,K+1,WC)
40 CONTINUE
ENDIF
F = FSAV
IF (INT.EQ.3) GO TO 50
IF (INT.EQ.4) GO TO 60
IF (INT.EQ.0) THEN
CSSA = SC(KI,1)/SC(KI,2)
CSSA = MIN(CSSA,1.0)
ASYMR = SC(KI,4)/3.0
F = FSAV
R = RSAV
T = TSAV
RETURN
ENDIF
IF (INT.EQ.1) THEN
INT = 3
F = FM
KI = 2
ENDIF
IF (INT.EQ.2) THEN
INT = 4
F = FL
KI = 3
ENDIF
GO TO 10
50 CONTINUE
FDIF = FM-F
FTOT = FM-FL
CM = SC(KI,1)/SC(KI,2)
CM = MIN(CM,1.0)
CL = CMT0
AM = SC(KI,4)/3.0
AL = G0
GO TO 70
60 CONTINUE
FDIF = FM-F
FTOT = FM-FL
CM = C7500
CL = SC(KI,1)/SC(KI,2)
CL = MIN(CL,1.0)
AM = G7500
AL = SC(KI,4)/3.0
70 CTOT = CM-CL
CAMT = FDIF*CTOT/FTOT
CSSA = CM-CAMT
ATOT = AM-AL
AAMT = FDIF*ATOT/FTOT
ASYMR = AM-AAMT
F = FSAV
R = RSAV
T = TSAV
RETURN
C
900 FORMAT(2X,'*** THE ASYMMETRY PARAMETER DUE TO RAIN IS BASED ON',
* 'DATA BETWEEN 19 AND 231 GHZ',
* /2X,'*** EXTRAPOLATION IS USED FOR FREQUENCIES LOWER AND',
* 'HIGHER THAN THIS RANGE')
905 FORMAT(2X,'*** TEMPERATURE RANGE OF DATA IS -10 TO +10 ',
*'DEGREES CELSIUS',/2X,'*** BEYOND THESE VALUES IT IS ',
*'TREATED AS IF AT THE EXTREMES')
910 FORMAT(2X,'*** RAIN RATES BETWEEN 0 AND 50 MM/HR ARE',
*'WITHIN THIS DATA RANGE',/2X,'*** ABOVE THAT THE ASYMMETRY',
*' PARAMETER IS CALCULATED FOR 50 MM/HR')
C
END
C
C ******************************************************************
C
SUBROUTINE BS(I,A,B,N,S) 2
C
C ******************************************************************
C
DIMENSION B(9)
C
C THIS SUBROUTINE DOES THE BINARY SEARCH FOR THE INDEX I
C SUCH THAT A IS IN BETWEEN B(I) AND B(I+1)
C AND CALCULATES THE INTERPOLATION PARAMETER S
C SUCH THAT A=S*B(I+1)+(1.-S)*B(I)
C
I = 1
J = N
10 M = (I+J)/2
IF (A.LE.B(M)) THEN
J = M
ELSE
I = M
ENDIF
IF (J.GT.I+1) GO TO 10
S = (A-B(I))/( RETURN
END
FUNCTION TAB(II,JJ,KK,WC) 6
C
C ******************************************************************
C
C THE INTERNAL DATA:
C
DIMENSION A(9,6,9),ALPHA(9,6,9),A1(5),A2(5),ALPHA1(5),
* MAXI(6,9)
C
C A(1,J,K),J=1,3 = POWER LAW COEFFICIENT FOR THE ABSORPTION
C COEFICIENT FOR THE MARSHALL-PALMER WATER DROP SIZE
C DISTRIBUTION FOR TEMPERATURE=10.*(J-2) AND FREQUENCY=FR(K)
C A(2,J,K),J=1,3 = THE SAME FOR THE EXTINCTION COEFFICIENT
C A(I,J,K),J=1,3,I=3,9 = THE SAME FOR THE LEGENDRE
C COEFFICIENT #I-2
C A(I,4,K),I=1,9 = THE SAME AS A(I,2,K), BUT FOR ICE
C (NO TEMPERATURE DEPENDENCE)
C A(I,5,K),I=1,9 = THE SAME AS A(I,2,K), BUT FOR THE BEST DROP
C SIZE DISTRIBUTION (NO TEMPRATURE DEPENDENCE)
C A(I,6,K),I=1,9 = THE SAME AS A(I,5,K), BUT FOR ICE
C ALPHA(I,J,K) = THE POWER EXPONENET CORRESPONDING TO A(I,J,K)
C MAXI(J,K): TAB(I,J,K,WC)=0. IF I.GT.MAXI(J,K)
C A1, A2 AND ALPHA1 = THE POWER-LINEAR LAW COEFFICIENTS AND
C EXPONENT FOR THE EXCEPTIONAL CASES
C
C THE FORMULA:
C
C SC=A*WC**ALPHA IF ABS(A).GT.10.**-8,
C SC=A1*WC**ALPHA1+A2*WC IF ABS(A).LE.10.**-8,
C A1, A2 AND ALPHA1 ARE INDEXED BY INT(ALPHA)
C
C THE BLOCK-DATA SECTION
C
DATA ((MAXI(J,K),J=1,6),K=1,9)/4*6,14*7,36*9/
DATA (A1(I),A2(I),ALPHA1(I),I=1,5)/.611,-.807,1.18,.655,-.772,1.08
* ,.958,-1.,.99,.538,-.696,1.27,1.58,-1.50,1.02/
DATA ((A(I,J,1),J=1,6),I=1,7)/.284,.285,.294,.001336,.36,.00146,
*.363,.365,.375,.0148,.528,.0317,3*0.,.3147,0.,.438,
*.4908,.487,.482,.528,.478,.538,3*.0350,.0470,.0482,.0647,
*.002,.00205,.00208,.00285,.0037,.0048,4*0.,.00021,.00016/
DATA ((ALPHA(I,J,1),J=1,6),I=1,7)/1.214,1.233,1.25,1.035,1.22,
*1.076,1.291,1.31,1.323,1.63,1.334,1.74,3.1,2.1,1.1,5.005,4.1,.555,
*-.009,-.013,-.016,.028,-.019,.031,.398,.399,.4,.473,.461,.525,
*1.06,.97,1.03,1.03,1.18,1.16,4*0.,1.3,1.3/
DATA ((A(I,J,2),J=1,6),I=1,7)/.8,.77,.73,.00344,.76,.0043,
*1.28,1.27,1.24,.162,1.43,.332,.254,.172,0.,.93,.32,1.29,
*.5,.486,.4706,.69,.481,.8,.0965,.0936,.09,.159,.151,.234,
*.0234,.0228,.0221,.034,.057,.065,2*.0037,.0035,.005,.011,.0106/
DATA ((ALPHA(I,J,2),J=1,6),I=1,7)/2*1.1,1.09,1.13,1.02,1.19,
*2*1.20,1.15,1.66,1.14,1.7,.29,.42,5.1,.39,.66,.44,
*0.,-.01,-.0199,.12,-.01,.17,.386,.378,.2,.48,.485,.56,
*.92,.91,.90,.97,1.15,1.13,1.32,1.26,1.32,1.41,1.69,1.67/
DATA ((A(I,J,3),J=1,6),I=1,7)/1.11,1.07,1.02,.0059,.92,.00775,
*1.88,1.89,1.87,.43,1.80,.77,.512,.425,.336,1.25,.677,1.55,
*.561,.534,.506,.867,.6,1.07,.175,.165,.156,.300,.292,.49,
*.066,.064,.061,.105,.16,.22,
*.0169,.0162,.0156,.023,.055,.056/
DATA ((ALPHA(I,J,3),J=1,6),I=1,7)/2*1.01,1.,1.18,.92,1.23,
*3*1.1,1.58,1.,1.57,.264,.320,.445,.27,.416,.27,
*.048,.033,.018,.168,.09,.224,.429,.417,.402,.501,.528,.62,
*2*.83,.82,.9,1.01,1.11,1.22,1.21,1.2,1.23,1.51,1.53/
DATA ((A(I,J,4),J=1,6),I=1,9)/1.51,1.49,1.44,.0163,1.12,.0194,
*2.73,2.77,2.79,1.61,2.18,1.9,1.14,1.054,.961,1.57,1.36,1.66,
*.99,.93,.87,1.31,1.33,1.63,.594,.557,.516,.77,1.02,1.16,
*.352,.334,.315,.43,.73,.8,.171,.163,.154,.18,.47,.43,
*.084,.081,.077,.106,.29,.32,.037,.036,.034,.029,.16,.11/
DATA ((ALPHA(I,J,4),J=1,6),I=1,9)/.87,.86,.85,1.181,.79,1.16,
*.93,.92,.91,1.3,.84,1.18,.188,.21,.24,.09,.21,.06,
*2*.2,.19,.175,.275,.2,2*.461,.459,.39,.51,.41,
*2*.66,.65,.58,.70,.64,2*.94,.93,.84,1.03,1.01,
*3*1.22,1.09,1.37,1.4,1.58,1.56,1.54,1.5,1.8,1.9/
DATA ((A(I,J,5),J=1,6),I=1,9)/1.55,1.53,1.49,.0194,1.14,.0225,
*2.82,2.87,2.90,1.91,2.22,2.,1.266,1.184,1.093,1.60,1.48,1.65,
*1.13,1.07,1.,1.4,1.51,1.69,.74,.698,.649,.87,1.24,1.23,
*.465,.444,.418,.52,.94,.91,.248,.238,.225,.24,.65,.53,
*.132,.128,.122,.15,.43,.47,.065,.063,.06,.045,.26,.16/
DATA ((ALPHA(I,J,5),J=1,6),I=1,9)/.85,.84,.83,1.168,.78,1.15,
*.9,.89,.88,1.23,.82,1.11,.172,.191,.216,.071,.181,.04,
*.222,.221,.22,.165,.274,.17,.452,.454,.456,.35,.48,.33,
*.63,.68,.63,.52,.66,.55,3*.89,.76,.94,.86,
*1.14,1.13,1.12,.96,1.24,1.1,1.44,1.41,1.43,1.31,1.6,1.6/
DATA ((A(I,J,6),J=1,6),I=1,9)/2*1.58,1.54,.0248,1.15,.0279,
*2.94,2.97,3.,2.34,2.25,2.2,1.447,1.374,1.288,1.62,1.64,1.63,
*1.37,1.31,1.234,1.52,1.8,1.77,1.,.96,.898,1.01,1.6,1.3,
*.68,.66,.62,.66,1.31,1.07,.41,.4,.38,.33,.99,.66,
*.25,.24,.23,.23,.71,.56,.136,.133,.127,.081,.49,.26/
DATA ((ALPHA(I,J,6),J=1,6),I=1,9)/.83,.81,.8,1.145,.762,1.120,
*.87,.86,.85,1.14,.799,1.,.149,.165,.184,.046,.148,.014,
*.232,.236,.238,.146,.255,.13,.428,.433,.438,.28,.44,.23,
*3*.59,.44,.59,.43,3*.81,.64,.83,.66,
*1.02,2*1.01,.81,1.06,.89,2*1.25,1.24,1.07,1.36,1.3/
DATA ((A(I,J,7),J=1,6),I=1,9)/1.60,1.59,1.56,.0285,1.16,.0314,
*2.98,3.02,3.05,2.6,2.26,2.3,1.546,1.481,1.4,1.63,1.72,1.62,
*1.52,1.464,1.388,1.58,1.97,1.8,1.18,1.13,1.07,1.08,1.82,1.33,
*.84,.82,.78,.75,1.55,1.16,.54,.53,.5,.4,1.22,.74,
*.34,.33,.32,.3,.93,.67,2*.2,.19,.112,.67,.33/
DATA ((ALPHA(I,J,7),J=1,6),I=1,9)/.81,.80,.788,1.132,.753,1.105,
*.85,.84,.83,1.09,.788,.95,.136,.153,.167,.033,.131,.004,
*.232,.236,.241,.133,.24,.11,.411,.416,.422,.25,.40,.19,
*3*.56,.4,.55,.38,2*.77,.76,.58,.76,.56,
*3*.95,.74,.97,.78,1.17,2*1.16,.98,1.23,1.11/
DATA ((A(I,J,8),J=1,6),I=1,9)/2*1.60,1.58,.045,1.15,.0461,
*3.08,3.09,3.1,3.3,2.27,2.32,1.849,1.81,1.75,1.628,1.98,1.606,
*2.07,2.04,1.98,1.78,2.5,1.946,1.89,1.86,1.81,1.30,2.6,1.508,
*1.58,1.56,1.52,1.11,2.49,1.57,1.22,1.21,1.18,.68,2.2,1.11,
*2*.91,.89,.61,2.,1.18,2*.65,.64,.299,1.6,.73/
DATA ((ALPHA(I,J,8),J=1,6),I=1,9)/.777,.764,.752,1.092,.729,1.057,
*.796,.79,.784,.96,.756,.81,.1,.108,.117,.004,.089,-.006,
*.207,.210,.215,.093,.182,.075,2*.34,.35,.15,.30,.122,
*3*.46,.3,.41,.28,3*.61,.42,.55,.394,
*3*.75,.56,.7,.55,2*.91,.9,.76,.87,.79/
DATA ((A(I,J,9),J=1,6),I=1,9)/2*1.58,1.56,.0587,1.13,.0579,
*3.09,2*3.08,3.39,2.26,2.33,2.009,1.99,1.95,1.624,2.11,1.64,
*2.43,2.42,2.38,1.902,2.80,2.078,2*2.42,2.38,1.454,3.09,1.7,
*2*2.2,2.17,1.4,3.1,1.91,1.87,1.88,1.85,.94,3.,1.46,
*2*1.54,1.52,.93,2.8,1.64,2*1.22,1.21,.53,2.5,1.17/
DATA ((ALPHA(I,J,9),J=1,6),I=1,9)/.757,.746,.736,1.06,.717,1.024,
*.766,.764,.761,.86,.74,.763,.084,.087,.092,-.0018,.069,.007,
*.183,.182,.184,.078,.148,.075,3*.29,.128,.24,.13,
*.4,2*.39,.264,.33,.256,2*.52,.51,.367,.44,.360,
*2*.63,.62,.49,.55,.47,.76,2*.75,.67,.67,.66/
C
C
IF (II.GT.MAXI(JJ,KK)) THEN
TAB = 0.
RETURN
ENDIF
IF (ABS( TAB = A(II,JJ,KK)*WC**ALPHA(II,JJ,KK)
ELSE
L = ALPHA(II,JJ,KK)
TAB = A1(L)*WC**ALPHA1(L)+A2(L)*WC
ENDIF
RETURN
END
FUNCTION RAYSCT(V) 1
C
C RADIATION FLD OUT
C ** MOLECULAR SCATTERING
C
RAYSCT = 0.
IF (V.LE.3000.) RETURN
RAYSCT = V**3/(9.26799E+18-1.07123E+09*V**2)
C
C V**4 FOR RADIATION FLD IN
C
RETURN
END
FUNCTION TNRAIN(RR,V,TM,RADFLD) 1,1
C
C CC
C
COMMON /CNSTNS/ PI,CA,DEG,GCAIR,BIGNUM,BIGEXP
COMMON /LCRD3/ H1,H2,ANGLE,RANGE,BETA,RE,LEN
C
C CC CALCULATES TRANSMISSION DUE TO RAIN AS A FUNCTION OF
C CC RR=RAIN RATE IN MM/HR
C CC OR WITHIN 350CM-1 USES THE MICROWAVE TABLE ROUTINE TO
C CC OBTAIN THE EXTINCTION DUE TO RAIN
C CC RANGE=SLANT RANGE KM
C CC
C CC ASSUMES A MARSHALL-PALMER RAIN DROP SIZE DISTRIBUTION
C CC N(D)=NZERO*EXP(-A*D)
C CC NZERO=8.E3 (MM-1) (M-3)
C CC A=41.*RR**(-0.21)
C CC D=DROP DIAMETER (CM)
C CC
C
REAL NZERO
DATA NZERO /8000./
C
C CC
C
A = 41./RR**0.21
C
C CC
C
IF (RR.LE.0) TNRAIN = 0.
IF (RR.LE.0) RETURN
C
C CC
C
IF (V.GE.350.0) THEN
TNRAIN = PI*NZERO/A**3
TNRAIN = TNRAIN/RADFLD
ELSE
TNRAIN = GMRAIN
(V,TM,RR)
ENDIF
RETURN
END
C
C *****************************************************************
C
SUBROUTINE LAYVSA(K,RH,AHAZE,IHA1,ZSTF) 1
C
C RETURNS HAZE FOR VSA OPTION
C
C
C MXFSC IS THE MAXIMUM NUMBER OF LAYERS FOR OUTPUT TO LBLRTM
C MXLAY IS THE MAXIMUN NUMBER OF OUTPUT LAYERS
C MXZMD IS THE MAX NUMBER OF LEVELS IN THE ATMOSPHERIC PROFILE
C STORED IN ZMDL (INPUT)
C MXPDIM IS THE MAXIMUM NUMBER OF LEVELS IN THE PROFILE ZPTH
C OBTAINED BY MERGING ZMDL AND ZOUT
C MXMOL IS THE MAXIMUM NUMBER OF MOLECULES, KMXNOM IS THE DEFAULT
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
C
COMMON /CNTRL/ KMAX,M,IKMAX,NL,ML,IKLO,ISSGEO,IKP,JH1
COMMON/MODEL/ ZMDL(MXZMD),PM(MXZMD),TM(MXZMD),
* RFNDX(MXZMD),DENSTY(16,MXZMD),
* CLDAMT(MXZMD),RRAMT(MXZMD),EQLWC(MXZMD),HAZEC(MXZMD)
C
COMMON /LCRD1/ MODEL,ITYPE,IEMSCT,M1,M2,M3,IM,NOPRNT,TBOUND,SALB
COMMON /LCRD2/ IHAZE,ISEASN,IVULCN,ICSTL,ICLD,IVSA,VIS,WSS,WHH,
* RAINRT
c COMMON /MDATA/ ZDA(MXZMD),P(MXZMD),T(MXZMD),WH(MXZMD),WO(MXZMD),
c * HMIX(MXZMD),CDUM1(MXZMD,7),RDUM2(MXZMD,7)
COMMON /MDATA/ WH(MXZMD),WO(MXZMD),
* CDUM1(MXZMD,7),RDUM2(MXZMD,7)
COMMON /MDATA2/ZDA(MXZMD),P(MXZMD),T(MXZMD)
COMMON /ZVSALY/ ZVSA(10),RHVSA(10),AHVSA(10),IHVSA(10)
COMMON /IFIL/ IRD,IPR,IPU,NPR,NFHDRF,NPHDRF,NFHDRL,
* NPHDRL,NLNGTH,KFILE,KPANEL,LINFIL,
* NFILE,IAFIL,IEXFIL,NLTEFL,LNFIL4,LNGTH4
C
DIMENSION ZSTF(MXZMD)
C
RH = 0.
AHAZE = 0
IHA1 = 0
IF (MODEL.EQ.0) GO TO 10
IF (K.GT.9) RETURN
ZMDL(K) = ZVSA(K)
RH = RHVSA(K)
AHAZE = AHVSA(K)
IHA1 = IHVSA(K)
RETURN
C
C MODEL 7 CODEING
C OLD LAYERS AEROSOL RETURNED
C
10 CONTINUE
ZVSA(10) = ZVSA(9)+0.01
RHVSA(10) = 0.
AHVSA(10) = 0.
IHVSA(10) = 0
C
C JML=ML
C
IF (ML.EQ.1) WRITE (IPR,900)
IF (ML.EQ.1) RETURN
IF (ZSTF(K).GT.ZVSA(10)) RETURN
DO 20 JJ = 1, 9
JL = JJ
IF (ZSTF(K).LT.ZVSA(JJ)) GO TO 20
JN = JJ+1
IF (ZSTF(K).LT.ZVSA(JN)) GO TO 30
20 CONTINUE
JN = 10
30 CONTINUE
DIF = ZVSA(JN)-ZVSA(JL)
DZ = ZVSA(JN)-ZSTF(K)
DLIN = DZ/DIF
IHA1 = IHVSA(JL)
C
C FAC=(ZVSA(JL)-ZSTF ( K))/DIF
C
AHAZE = (AHVSA(JN)-AHVSA(JL))*DLIN+AHVSA(JL)
RETURN
C
900 FORMAT(' ERROR MODEL EQ 0 AND ARMY MODEL CANNOT MIX')
C
END
C
C ******************************************************************
C
SUBROUTINE STDMDL 1
C
C ******************************************************************
C LOADS DENSITIES INTO COMMON MODEL AND
C CALCULATES THE INDEX OF REFRACTION
C
C AERSOLS NOW LOADED IN AERNSM
C
C ZM COMMON /MODEL/ FINAL ALTITUDE FOR LOWTRAN
C Z COMMON /MDATA/ ALTITUDE FOR DATA IN MDATA
C ZN BLANK COMMON
C ZP BLANK COMMON
C
C ******************************************************************
C
C
C MXFSC IS THE MAXIMUM NUMBER OF LAYERS FOR OUTPUT TO LBLRTM
C MXLAY IS THE MAXIMUN NUMBER OF OUTPUT LAYERS
C MXZMD IS THE MAX NUMBER OF LEVELS IN THE ATMOSPHERIC PROFILE
C STORED IN ZMDL (INPUT)
C MXPDIM IS THE MAXIMUM NUMBER OF LEVELS IN THE PROFILE ZPTH
C OBTAINED BY MERGING ZMDL AND ZOUT
C MXMOL IS THE MAXIMUM NUMBER OF MOLECULES, KMXNOM IS THE DEFAULT
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
C
C
C BLANK COMMON FOR ZMDL
C
COMMON RELHUM(MXZMD),HSTOR(MXZMD),ICH(4),VH(16),TX(16),W(16)
COMMON WPATH(IM2,16),TBBY(IM2)
COMMON ABSC(5,47),EXTC(5,47),ASYM(5,47),VX2(47),AWCCON(5)
C
CHARACTER*8 HMOD
C
COMMON HMOD(3),ZN(MXZMD),PN(MXZMD),TN(MXZMD),RFNDXM(MXZMD)
COMMON ZP(IM2),PP1(IM2),TP(IM2),RFNDXP(IM2),SP(IM2),
* PPSUM(IM2),TPSUM(IM2),RHOPSM(IM2),
* IMMAX,WGM(MXZMD),DEMW(MXZMD)
C
COMMON /IFIL/ IRD,IPR,IPU,NPR,NFHDRF,NPHDRF,NFHDRL,
* NPHDRL,NLNGTH,KFILE,KPANEL,LINFIL,
* NFILE,IAFIL,IEXFIL,NLTEFL,LNFIL4,LNGTH4
COMMON /LCRD1/ MODEL,ITYPE,IEMSCT,M1,M2,M3,IM,NOPRNT,TBOUND,SALB
COMMON /LCRD2/ IHAZE,ISEASN,IVULCN,ICSTL,ICLD,IVSA,VIS,WSS,WHH,
* RAINRT
COMMON /LCRD3/ H1,H2,ANGLE,RANGE,BETA,RE,LEN
COMMON /LCRD4/ V1,V2,DV
c COMMON /MDATA/ ZMDL(MXZMD),P(MXZMD),T(MXZMD),WH(MXZMD),WO(MXZMD),
c * HMIX(MXZMD),CLD(MXZMD,7),RR(MXZMD,7)
COMMON /MDATA/ WH(MXZMD),WO(MXZMD),
* CLD(MXZMD,7),RR(MXZMD,7)
COMMON /MDATA2/ZMDL(MXZMD),P(MXZMD),T(MXZMD)
COMMON /CNSTNS/ PI,CA,DEG,GCAIR,BIGNUM,BIGEXP
COMMON /CNTRL/ KMAX,M,IKMAX,NL,ML,IKLO,ISSGEO,IKP,JH1
COMMON /MODEL/ ZM(MXZMD),PM(MXZMD),TM(MXZMD),
* RFNDX(MXZMD),DENSTY(16,MXZMD),
* CLDM(MXZMD),RRM(MXZMD),EQLWC(MXZMD),HAZEC(MXZMD)
C
C XLOSCH = LOSCHMIDT'S NUMBER,MOLECULES CM-2,KM-1
C
DATA PZERO /1013.25/,TZERO/273.15/,XLOSCH/2.6868E24/
C
C RV GAS CONSTANT FOR WATER IN MB/(GM M-3 K)
C CON CONVERTS WATER VAPOR FROM GM M-3 TO MOLECULES CM-2 KM-1
C
DATA RV/4.6152E-3/,CON/3.3429E21/
C
C CONSTANTS FOR INDEX OF REFRACTION, AFTER EDLEN, 1965
C
DATA A0/83.42/,A1/185.08/,A2/4.11/,
* B1/1.140E5/,B2/6.24E4/,C0/43.49/,C1/1.70E4/
C
C F(A) IS SATURATED WATER WAPOR DENSITY AT TEMP T,A=TZERO/T
C
F(A) = EXP(18.9766-14.9595*A-2.43882*A*A)*A
C
C H20 CONTINUUM IS STORED AT 296 K RHZERO IS AIR DENSITY AT 296 K
C IN UNITS OF LOSCHMIDT'S
C
C CALL DRYSTR
C
RHZERO = (273.15/296.0)
C
IF (ICLD.GT.20) THEN
WRITE (IPR,900) ICLD
STOP 'STDMDL: ICLD GT 20'
ENDIF
C
C LOAD ATMOSPHERE PROFILE INTO /MODEL/
C
IF (M.LT.7) ML = NL
DO 10 I = 1, ML
IF (M.NE.7) ZM(I) = ZMDL(I)
PM(I) = P(I)
TM(I) = T(I)
PP = PM(I)
TT = TM(I)
F1 = (PP/PZERO)/(TT/TZERO)
F2 = (PP/PZERO)*SQRT(TZERO/TT)
WTEMP = WH(I)
RELHUM(I) = 0.
C
C RELHUM IS CALCULATED ONLY FOR THE BOUNDRY LAYER (0 TO 2 KM)
C
C SCALED H2O DENSITY
C
DENSTY(1,I) = 0.1*WTEMP*F2**0.9
C
C C IF (ZM(I).GT.6.0) GO TO 15
C C IF(DENSTY(7,I).LE.0.) GO TO 15
C
TS = TZERO/TT
RELHUM(I) = 100.0*(WTEMP/F(TS))
C
C UNIFORMALY MIXED GASES DENSITYS
C
DENSTY(2,I) = F1*F2**0.75
C
C UV OZONE
C
DENSTY(8,I) = 46.6667*WO(I)
C
C IR OZONE
C
DENSTY(3,I) = DENSTY(8,I)*F2**0.4
C
C N2 CONTINUUM
C
DENSTY(4,I) = 0.8*F1*F2
C
C SELF BROADENED WATER
C
RHOAIR = F1
RHOH2O = CON*WTEMP/XLOSCH
RHOFRN = RHOAIR-RHOH2O
DENSTY(5,I) = XLOSCH*RHOH2O**2/RHZERO
C
C FOREIGN BROADENED
C
DENSTY(10,I) = XLOSCH*RHOH2O*RHOFRN/RHZERO
C
C MOLECULAR SCATTERING
C
DENSTY(6,I) = F1
C
C AEROSOL FOR 0 TO 2KM
C
C
C RELITIVE HUMIDITY WEIGHTED BY BOUNDRY LAYER AEROSOL (0 TO 2 KM)
C
RELH = RELHUM(I)
RELH = MIN(RELH,99.)
RHLOG = ALOG(100.-RELH)
C
C DENSTY(15,I)=RELHUM(I)*DENSTY(7,I)
C
DENSTY(15,I) = RHLOG*DENSTY(7,I)
C
C DENSITY (9,I) NO LONGER USED
C
DENSTY(9,I) = 0.
C
C IF(ICH(1).GT.7) DENSTY(15,I)=RELHUM(I)*DENSTY(12,I)
C
IF (ICH(1).GT.7) DENSTY(15,I) = RHLOG*DENSTY(12,I)
C
C HNO3 IN ATM * CM /KM
C DENSTY(11,I)= F1* HMIX(I)*1.0E-4
C
DENSTY(11,I) = 0.
C
C IF(MODEL.EQ.0) DENSTY(11,I)=F1*HSTOR(I)*1.0E-4
C CIRRUS CLOUD
C
IF (ICLD.LT.18) DENSTY(16,I) = 0.0
C
C RFNDX = REFRACTIVITY 1-INDEX OF REFRACTION
C FROM EDLEN, 1966
C
PPW = RV*WTEMP*TT
AVW = 0.5*(V1+V2)
RFNDX(I) = ((A0+A1/(1.-(AVW/B1)**2)+A2/(1.0-(AVW/B2)**2))*(PP/
* PZERO)*(TZERO+15.0)/TT-(C0-(AVW/C1)**2)*PPW/PZERO)*1.E-6
10 CONTINUE
WRITE (IPR,910)
ZERO = 0.
DO 20 I = 1, ML
WRITE (IPR,905) I,ZM(I),PM(I),TM(I),ZERO,ZERO,DENSTY(7,I),
* DENSTY(12,I),DENSTY(13,I),DENSTY(14,I),DENSTY(15,I),
* DENSTY(16,I),RELHUM(I)
20 CONTINUE
RETURN
C
900 FORMAT('1',//10X,'ICLD CANNOT BE GREATER THAN 20 BUT IS',
* I5,//)
905 FORMAT (I4,0PF9.2,F9.3,F7.1,1X,1P9E10.3)
910 FORMAT('1',/,' ATMOSPHERIC PROFILES',//,
* 3X,'I',T10,'Z',T18,'P',T26,'T',T33,'CNTMFRN',T45,'HNO3',
* T53,'AEROSOL 1',T63,'AEROSOL 2', T73,'AEROSOL 3',T83,
* 'AEROSOL 4',T93,'AER1*RH',T103,'CIRRUS',T118,'RH'/,
* T9,'(KM)',T17,'(MB)',T25,'(K)',T31,'MOL/CM2 KM',T42,
* 'ATM CM/KM',T54,'(-)',T64,'(-)',T74,'(-)',T84,'(-)',T94,
* '(-)',T104,'(-)',T113,'(PERCNT)',/)
C
END
C
C *****************************************************************
C
SUBROUTINE NEWMDL(MAXATM) 1
C
C CC
C CC ROUTINE TO COMBINE LOWTRAN AND LBLRTM LAYERING
C
C ZMTP STORES ZM VALUES
C ZOUT COMMON /ZOUTP/ FINAL LBLRTM BOUNDRIES
C ZMDL COMMON /MODEL/ FINAL ALTITUDE FOR LOWTRAN
C CC
C
C
C MXFSC IS THE MAXIMUM NUMBER OF LAYERS FOR OUTPUT TO LBLRTM
C MXLAY IS THE MAXIMUN NUMBER OF OUTPUT LAYERS
C MXZMD IS THE MAX NUMBER OF LEVELS IN THE ATMOSPHERIC PROFILE
C STORED IN ZMDL (INPUT)
C MXPDIM IS THE MAXIMUM NUMBER OF LEVELS IN THE PROFILE ZPTH
C OBTAINED BY MERGING ZMDL AND ZOUT
C MXMOL IS THE MAXIMUM NUMBER OF MOLECULES, KMXNOM IS THE DEFAULT
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
C
C
C BLANK COMMON FOR ZMDL
C
C
COMMON /IFIL/ IRD,IPR,IPU,NPR,NFHDRF,NPHDRF,NFHDRL,
* NPHDRL,NLNGTH,KFILE,KPANEL,LINFIL,
* NFILE,IAFIL,IEXFIL,NLTEFL,LNFIL4,LNGTH4
COMMON /LCRD1/ MODEL,ITYPE,IEMSCT,M1,M2,M3,IM,NOPRNT,TBOUND,SALB
COMMON/MODEL/ZMDL(MXZMD),PM(MXZMD),TM(MXZMD),
* RFNDX(MXZMD),DENSTY(16,MXZMD),
* CLDAMT(MXZMD),RRAMT(MXZMD),EQLWC(MXZMD),HAZEC(MXZMD)
COMMON /ZOUTP/ ZOUT(MXLAY),SOUT(MXLAY),RHOSUM(MXLAY),
* AMTTOT(MXMOL),AMTCUM(MXMOL),ISKIP(MXMOL)
COMMON /CNTRL/ KMAX,M,IKMAX,NL,ML,IKLO,ISS,IKP,JH1
C
DIMENSION PTMP(MXZMD),TTMP(MXZMD),RTMP(MXZMD),
* DENTMP(16,MXZMD),ZMTP(MXZMD),RRAMTJ(MXZMD)
C
DO 10 I = 1, ML
ZMTP(I) = ZMDL(I)
PTMP(I) = PM(I)
TTMP(I) = TM(I)
RTMP(I) = RFNDX(I)
RRAMTJ(I) = RRAMT(I)
DO 8 K = 1, 16
DENTMP(K,I) = DENSTY(K,I)
8 CONTINUE
10 CONTINUE
IF (ITYPE.EQ.1) GO TO 130
IF (ML.LT.2) GO TO 130
DO 20 I = 1, IKP
DO 18 K = 1, 16
DENSTY(K,I) = 0.
18 CONTINUE
20 CONTINUE
I = 1
L = 1
J1 = 1
30 DO 80 J = J1, ML
IF (ZMDL(J).LT.ZOUT(1)) GO TO 80
IF (ZMDL(J).LE.ZOUT(I)) GO TO 40
GO TO 60
40 PM(L) = PTMP(J)
TM(L) = TTMP(J)
RFNDX(L) = RTMP(J)
RRAMT(L) = RRAMTJ(J)
ZMTP(L) = ZMDL(J)
DO 50 K = 1, 16
DENSTY(K,L) = DENTMP(K,J)
50 CONTINUE
L = L+1
IF (L.GT.MAXATM) GO TO 100
J1 = J+1
IF (ZMDL(J).LT.ZOUT(I)) GO TO 80
GO TO 90
60 JL = J-1
IF (JL.LT.1) JL = 1
JP = JL+1
DIF = ZMDL(JP)-ZMDL(JL)
DZ = ZOUT(I)-ZMDL(JL)
DLIN = DZ/DIF
PM(L) = (PTMP(JP)-PTMP(JL))*DLIN+PTMP(JL)
TM(L) = (TTMP(JP)-TTMP(JL))*DLIN+TTMP(JL)
RFNDX(L) = (RTMP(JP)-RTMP(JL))*DLIN+RTMP(JL)
RRAMT(L) = (RRAMTJ(JP)-RRAMTJ(JL))*DLIN+RRAMTJ(JL)
ZMTP(L) = ZOUT(I)
DO 70 K = 1, 16
DENSTY(K,L) = (DENTMP(K,JP)-DENTMP(K,JL))*DLIN+DENTMP(K,JL)
70 CONTINUE
L = L+1
IF (L.GT.MAXATM) GO TO 100
GO TO 90
80 CONTINUE
90 IF (I.EQ.IKP) GO TO 110
I = I+1
GO TO 30
C
C CC
C CC SET LOWTRAN HEIGHTS TO FINAL COMBINED LAYERING OF LBL/LOW
C CC SET ML TO THE FINAL COUNT OF COMBINED LAYERING
C CC
C
100 WRITE (IPR,900)
STOP 'NEWMDL; LAYER LIMIT'
110 LM = L-1
DO 120 I = 1, LM
ZMDL(I) = ZMTP(I)
120 CONTINUE
ML = LM
130 RETURN
C
900 FORMAT(' LAYER LIMIT REACHED CHANGE AVARAT 2. 10. 20. WORKS' )
C
END
C
C ******************************************************************
C
SUBROUTINE AERPRF (I,K,VIS,HAZE,IHAZE,ICLD,ISEASN,IVULCN,N) 2
C
C ******************************************************************
C WILL COMPUTE DENSITY PROFILES FOR AEROSOLS
C ******************************************************************
C
C
C MXFSC IS THE MAXIMUM NUMBER OF LAYERS FOR OUTPUT TO LBLRTM
C MXLAY IS THE MAXIMUN NUMBER OF OUTPUT LAYERS
C MXZMD IS THE MAX NUMBER OF LEVELS IN THE ATMOSPHERIC PROFILE
C STORED IN ZMDL (INPUT)
C MXPDIM IS THE MAXIMUM NUMBER OF LEVELS IN THE PROFILE ZPTH
C OBTAINED BY MERGING ZMDL AND ZOUT
C MXMOL IS THE MAXIMUM NUMBER OF MOLECULES, KMXNOM IS THE DEFAULT
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
C
COMMON/PRFD / ZHT(34),HZ2K(34,5),FAWI50(34),FAWI23(34),
* SPSU50(34),SPSU23(34),BASTFW(34),VUMOFW(34),HIVUFW(34),
* EXVUFW(34),BASTSS(34),VUMOSS(34),HIVUSS(34),EXVUSS(34),
* UPNATM(34),VUTONO(34),VUTOEX(34),EXUPAT(34)
COMMON /MODEL/ ZMDL(MXZMD),PM(MXZMD),TM(MXZMD),
* RFNDX(MXZMD),DENSTY(16,MXZMD),
* CLDAMT(MXZMD),RRAMT(MXZMD),EQLWC(MXZMD),HAZEC(MXZMD)
DIMENSION VS(5)
DATA VS/50.,23.,10.,5.,2./
DATA CULWC/7.683E-03/,ASLWC/4.509E-03/,STLWC/5.272E-03/
DATA SCLWC/4.177E-03/,SNLWC/7.518E-03/
HAZE = 0.
N = 7
IF (IHAZE.EQ.0) THEN
IF (ICLD.EQ.0.OR.ICLD.EQ.20) RETURN
ENDIF
IF (ZHT(I).GT.2.0) GO TO 30
DO 10 J = 2, 5
IF (VIS.GE.VS(J)) GO TO 20
10 CONTINUE
J = 5
20 CONST = 1./(1./VS(J)-1./VS(J-1))
HAZE = CONST*((HZ2K(I,J)-HZ2K(I,J-1))/VIS+HZ2K(I,J-1)/VS(J)-HZ2K(I
* ,J)/VS(J-1))
30 IF (ICLD.GE.1.AND.ICLD.LE.11) GO TO 40
IF (ZHT(I).GT.2.0) GO TO 100
RETURN
40 IF (CLDAMT(K).LE.0.) GO TO 100
IH = ICLD
IF (CLDAMT(K).GT.0.0) N = 12
GO TO (50,60,70,80,90,70,90,90,50,50,50), IH
50 HAZEC(K) = CLDAMT(K)/CULWC
IF (ZHT(I).GT.2.0) GO TO 100
RETURN
60 HAZEC(K) = CLDAMT(K)/ASLWC
IF (ZHT(I).GT.2.0) GO TO 100
RETURN
70 HAZEC(K) = CLDAMT(K)/STLWC
IF (ZHT(I).GT.2.0) GO TO 100
RETURN
80 HAZEC(K) = CLDAMT(K)/SCLWC
IF (ZHT(I).GT.2.0) GO TO 100
RETURN
90 HAZEC(K) = CLDAMT(K)/SNLWC
IF (ZHT(I).GT.2.0) GO TO 100
RETURN
100 IF (ZHT(I).GT.10.) GO TO 140
IF (ICLD.GE.1.AND.ICLD.LE.11) THEN
N = 13
ELSE
N = 12
ENDIF
CONST = 1./(1./23.-1./50.)
IF (ISEASN.GT.1) GO TO 120
IF (VIS.LE.23.) HAZI = SPSU23(I)
IF (VIS.LE.23.) GO TO 260
IF (ZHT(I).GT.4.0) GO TO 110
HAZI = CONST*((SPSU23(I)-SPSU50(I))/VIS+SPSU50(I)/23.-SPSU23(I)/
* 50.)
GO TO 260
110 HAZI = SPSU50(I)
GO TO 260
120 IF (VIS.LE.23.) HAZI = FAWI23(I)
IF (VIS.LE.23.) GO TO 260
IF (ZHT(I).GT.4.0) GO TO 130
HAZI = CONST*((FAWI23(I)-FAWI50(I))/VIS+FAWI50(I)/23.-FAWI23(I)/
* 50.)
GO TO 260
130 HAZI = FAWI50(I)
GO TO 260
140 IF (ZHT(I).GT.30.0) GO TO 240
IF (ICLD.GE.1.AND.ICLD.LE.11) THEN
N = 14
ELSE
N = 13
ENDIF
HAZI = BASTSS(I)
IF (ISEASN.GT.1) GO TO 190
IF (IVULCN.EQ.0) HAZI = BASTSS(I)
IF (IVULCN.EQ.0) GO TO 260
GO TO (150,160,170,170,160,160,170,180), IVULCN
150 HAZI = BASTSS(I)
GO TO 260
160 HAZI = VUMOSS(I)
GO TO 260
170 HAZI = HIVUSS(I)
GO TO 260
180 HAZI = EXVUSS(I)
GO TO 260
190 IF (IVULCN.EQ.0) HAZI = BASTFW(I)
IF (IVULCN.EQ.0) GO TO 260
GO TO (200,210,220,220,210,210,220,230), IVULCN
200 HAZI = BASTFW(I)
GO TO 260
210 HAZI = VUMOFW(I)
GO TO 260
220 HAZI = HIVUFW(I)
GO TO 260
230 HAZI = EXVUFW(I)
GO TO 260
240 N = 14
IF (IVULCN.GT.1) GO TO 250
HAZI = UPNATM(I)
GO TO 260
250 HAZI = VUTONO(I)
260 IF (HAZI.GT.0) HAZE = HAZI
END
C
C ******************************************************************
C
SUBROUTINE GEO(IERROR,BENDNG,MAXGEO) 1,3
C
C ******************************************************************
C THIS SUBROUTINE SERVES AS AN INTERFACE BETWEEN THE MAIN
C LOWTRAN PROGRAM 'LOWTRN' AND THE NEW SET OF SUBROUTINES,
C INCLUDING 'EXPINT', 'FINDSH', 'SCALHT', 'RFPATL', 'FILL',
C AND 'LAYER', WHICH CALCULATE THE ABSORBER
C AMOUNTS FOR A REFRACTED PATH THROUGH THE ATMOSPHERE.
C THE INPUT PARAMETERS ITYPE, H1, H2, ANGLE, RANGE, BETA, AND LEN
C ALL FUNCTION IN THE SAME WAY IN THE NEW ROUTINES AS IN THE OLD.
C ******************************************************************
C
C
C MXFSC IS THE MAXIMUM NUMBER OF LAYERS FOR OUTPUT TO LBLRTM
C MXLAY IS THE MAXIMUN NUMBER OF OUTPUT LAYERS
C MXZMD IS THE MAX NUMBER OF LEVELS IN THE ATMOSPHERIC PROFILE
C STORED IN ZMDL (INPUT)
C MXPDIM IS THE MAXIMUM NUMBER OF LEVELS IN THE PROFILE ZPTH
C OBTAINED BY MERGING ZMDL AND ZOUT
C MXMOL IS THE MAXIMUM NUMBER OF MOLECULES, KMXNOM IS THE DEFAULT
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
PARAMETER (MXZ20 = MXZMD+20, MX2Z3 = 2*MXZMD+3)
C
C
C BLANK COMMON FOR ZMDL
C
COMMON RELHUM(MXZMD),HSTOR(MXZMD),ICH(4),VH(16),TX(16),W(16)
COMMON WPATH(IM2,16),TBBY(IM2)
COMMON ABSC(5,47),EXTC(5,47),ASYM(5,47),VX2(47),AWCCON(5)
C
CHARACTER*8 HMOD
C
COMMON HMOD(3),ZN(MXZMD),PN(MXZMD),TN(MXZMD),RFNDXM(MXZMD)
COMMON ZP(IM2),PP(IM2),TP(IM2),RFNDXP(IM2),SP(IM2),
* PPSUM(IM2),TPSUM(IM2),RHOPSM(IM2),
* IMMAX,WGM(MXZMD),DEMW(MXZMD)
C
C RFRPTH is dependent upon MXZMD (MXZ20=MXZMD+20;MX2Z3=2*MXZMD+3)
C
COMMON /RFRPTH/ ZL(MXZ20),PL(MXZ20),TL(MXZ20),RFNDXL(MXZ20),
* SL(MXZ20),PPSUML(MXZ20),TPSUML(MXZ20),RHOSML(MXZ20),
* DENL(16,MXZ20),AMTL(16,MXZ20),LJ(MX2Z3)
COMMON /RAIN/ RNPATH(IM2),RRAMTK(IM2)
COMMON /IFIL/ IRD,IPR,IPU,NPR,NFHDRF,NPHDRF,NFHDRL,
*NPHDRL,NLNGTH,KFILE,KPANEL,LINFIL,
* NFILE,IAFIL,IEXFIL,NLTEFL,LNFIL4,LNGTH4
COMMON /LCRD1/ MODEL,ITYPE,IEMSCT,M1,M2,M3,IM,NOPRNT,TBOUND,SALB
COMMON /LCRD2/ IHAZE,ISEASN,IVULCN,ICSTL,ICLD,IVSA,VIS,WSS,WHH,
* RAINRT
COMMON /LCRD3/ H1,H2,ANGLE,RANGE,BETA,REE,LEN
COMMON /LCRD4/ V1,V2,DV
COMMON /CNSTNS/ PI,CA,DEG,GCAIR,BIGNUM,BIGEXP
COMMON /CNTRL/ KMAX,M,IKMAX,NL,ML,IKLO,ISSGEO,IKP,JH1
COMMON/MODEL/ ZMDL(MXZMD),PM(MXZMD),TM(MXZMD),
* RFNDX(MXZMD),DENSTY(16,MXZMD),
* CLDAMT(MXZMD),RRAMT(MXZMD),EQLWC(MXZMD),HAZEC(MXZMD)
COMMON /PARMLT/ RE,DELTAS,ZMAX,IMAX,IMOD,IBMAX,IPATH
COMMON /ADRIVE/LOWFLG,IREAD,MODELF,ITYPEF,NOZERO,NOPRNF,
* H1F,H2F,ANGLEF,RANGEF,BETAF,LENF,VL1,VL2,RO,IPUNCH,VBAR,
* HMINF,PHIF,IERRF,HSPACE
DIMENSION KMOL(16)
C
C ** KMOL(K) IS A POINTER USED TO REORDER THE AMOUNTS WHEN PRINTIN
C
DATA KMOL/1,2,3,11,8,5,9,10,4,6,7,12,13,14,16,15/
C
C ** INITIALIZE CONSTANTS AND CLEAR CUMULATIVE VARIABLES
C ** DELTAS IS THE NOMINAL PATH LENGTH INCRENMENT USED IN THE RAY
C
H1 = H1F
H2 = H2F
ANGLE = ANGLEF
HMIN = HMINF
LEN = LENF
PHI = PHIF
IERROR = IERRF
DELTAS = 5.0
JMAXST = 1
IERROR = 0
RE = REE
IMOD = ML
IMAX = ML
C
C ** ZERO OUT CUMULATIVE VARIABLES
C
DO 10 I = 1, 68
LJ(I) = 0
SL(I) = 0.0
PPSUML(I) = 0.0
TPSUML(I) = 0.0
RHOSML(I) = 0.0
DO 8 K = 1, KMAX
AMTL(K,I) = 0.0
8 CONTINUE
10 CONTINUE
ZMAX = ZMDL(IMAX)
IF (ITYPE.GE.2) GO TO 60
C
C ** HORIZONTAL PATH, MODEL EQ 1 TO 7: INTERPOLATE PROFILE TO H1
C
ZL(1) = H1
IF (ML.EQ.1) THEN
TL(1) = TM(1)
LJ(1) = 1
SL(1) = RANGE
ELSE
DO 20 I = 2, ML
I2 = I
IF (H1.LT.ZMDL(I)) GO TO 30
20 CONTINUE
30 CONTINUE
I1 = I2-1
FAC = (H1-ZMDL(I1))/(ZMDL(I2)-ZMDL(I1))
CALL EXPINT
(PL(1),PM(I1),PM(I2),FAC)
TL(1) = TM(I1)+(TM(I2)-TM(I1))*FAC
II1 = I1
IF (FAC.GT.0.5) II1 = I2
LJ(1) = II1
SL(II1) = RANGE
DO 40 K = 1, KMAX
CALL EXPINT
(DENL(K,1),DENSTY(K,I1),DENSTY(K,I2),FAC)
40 CONTINUE
ENDIF
C
C ** CALCULATE ABSORBER AMOUNTS FOR A HORIZONTAL PATH
C
WRITE (IPR,900) H1,RANGE,MODEL
TBBY(1) = TL(1)
IKMAX = 1
DO 50 K = 1, KMAX
IF (ML.EQ.1) DENL(K,1) = DENSTY(K,1)
W(K) = DENL(K,1)*RANGE
WPATH(1,K) = W(K)
50 CONTINUE
WTEM = (296.0-TL(1))/(296.0-260.0)
WTEM = MAX(WTEM,0.)
WTEM = MIN(WTEM,1.)
W(9) = W(5)*WTEM
WPATH(1,9) = W(9)
GO TO 170
60 CONTINUE
C
C ** SLANT PATH SELECTED
C ** INTERPRET SLANT PATH PARAMETERS
C
IF (IERROR.EQ.0) GO TO 70
IF (ISSGEO.NE.1) WRITE (IPR,905)
RETURN
70 CONTINUE
C
C ** CALCULATE THE PATH THROUGH THE ATMOSPHERE
C
IAMT = 1
CALL RFPATL
(H1,H2,ANGLE,PHI,LEN,HMIN,IAMT,RANGE,BETA,BENDNG)
C
C ** UNFOLD LAYER AMOUNTS IN AMTP INTO THE CUMULATIVE
C ** AMOUNTS IN WPATH FROM H1 TO H2
C
DO 80 I = 1, IPATH
IF (H1.EQ.ZL(I)) IH1 = I
IF (H2.EQ.ZL(I)) IH2 = I
80 CONTINUE
JMAX = (IPATH-1)+LEN*(MIN0(IH1,IH2)-1)
IKMAX = JMAX
C
C ** DETERMINE LJ(J), WHICH IS THE NUMBER OF THE LAYER IN AMTP(K,L
C ** STARTING FROM HMIN, WHICH CORRESPONDS TO THE LAYER J IN
C ** WPATH(J,K), STARTING FROM H1
C ** INITIAL DIRECTION OF PATH IS DOWN
C
L = IH1
LDEL = -1
IF (LEN.EQ.1.OR.H1.GT.H2) GO TO 90
C
C ** INITIAL DIRECTION OF PATH IS UP
C
L = 0
LDEL = 1
90 CONTINUE
JTURN = 0
JMAXP1 = JMAX+1
DO 110 J = 1, JMAXP1
C
C ** TEST FOR REVERSING DIRECTION OF PATH FROM DOWN TO UP
C
IF (L.NE.1.OR.LDEL.NE.-1) GO TO 100
JTURN = J
L = 0
LDEL = +1
100 CONTINUE
L = L+LDEL
LJ(J) = L
110 CONTINUE
C
C ** LOAD TBBY AND WPATH
C ** TBBY IS DENSITY WEIGHTED MEAN TEMPERATURE
C
AMTTOT = 0.
DO 120 K = 1, KMAX
W(K) = 0.0
WPATH(1,K) = 0.0
120 CONTINUE
IMAX = 0
DO 140 J = 1, JMAX
L = LJ(J)
IMAX = MAX(IMAX,L)
TBBY(L) = TPSUML(L)/RHOSML(L)
AMTTOT = AMTTOT+RHOSML(L)
DO 130 K = 1, KMAX
IF (K.EQ.9) GO TO 130
C
C CC
C
WPATH(L,K) = AMTL(K,L)
W(K) = W(K)+WPATH(L,K)
130 CONTINUE
WTEM = (296.0-TBBY(L))/(296.0-260.0)
IF (WTEM.LT.0.0) WTEM = 0.
IF (WTEM.GT.1.0) WTEM = 1.0
WPATH(L,9) = WTEM*AMTL(5,L)
W(9) = W(9)+WPATH(L,9)
140 CONTINUE
JMAX = IMAX
JMAXST = IMAX
JMAX = IMAX
IKMAX = IMAX
C
C ** INCLUDE BOUNDARY EMISSION IF:
C ** 1. TBOUND IS SET TO ZERO IN THIS VERSION OF LOWTRAN
C ** 2. SLANT PATH INTERSECTS THE EARTH (TBOUND
C ** SET TO TEMPERATURE OF LOWEST BOUNDARY)
C
IF (TBOUND.EQ.0.0.AND.H2.EQ.ZMDL(1)) TBOUND = TM(1)
C
C ** PRINT CUMULATIVE ABSORBER AMOUNTS
C
IF (NPR.EQ.1) GO TO 160
WRITE (IPR,910)
DO 150 J = 1, JMAX
LZ = J+1
L1 = LZ-1
IF (NPR.NE.1) WRITE (IPR,915) J,ZL(L1),ZL(LZ),TBBY(J),WPATH(J,
* KMOL(1)),(WPATH(J,KMOL(K)),K=10,15)
150 CONTINUE
C
C ** PRINT PATH SUMMARY
C
160 WRITE (IPR,920) H1,H2,ANGLE,RANGE,BETA,PHI,HMIN,BENDNG,LEN
170 CONTINUE
C
C ** CALCULATE THE AEROSOL WEIGHTED MEAN RH
C
IF ( W15 = W(15)/W(7)
C
C INVERSE OF LOG REL HUM
C
W(15) = 100.-EXP(W15)
GO TO 180
ENDIF
IF ( W15 = W(15)/W(12)
C
C INVERSE OF LOG REL HUM
C
W(15) = 100.-EXP(W15)
GO TO 180
ENDIF
W(15) = 0.
180 CONTINUE
C
C ** PRINT TOTAL PATH AMOUNTS
C
WRITE (IPR,925) (C
IF (JMAXST.GT.MAXGEO) THEN
WRITE (IPR,930) MAXGEO,JMAXST
STOP 'GEO: JMAXST .GT. MAXGEO'
ENDIF
DO 190 IK = 1, JMAXST
IL = LJ(IK)
RNPATH(IK) = SL(IL)
RRAMTK(IK) = RRAMT(IL)
190 CONTINUE
C
RETURN
C
900 FORMAT('0HORIZONTAL PATH AT ALTITUDE = ',F10.3,
* ' KM WITH RANGE = ',F10.3,' KM, MODEL = ',I3)
905 FORMAT('0GEO: IERROR NE 0: END THIS CALCULATION AND SKIP TO'
* ,' THE NEXT CASE')
910 FORMAT(////,' LAYER ABSORBER AMOUNTS FOR THE PATH FROM',
* ' Z(J) TO Z(J+1)',//,T3,'J',T9,'Z(J)',T18,'Z(J+1)',T27,'TBAR',
* T37,'H2O',
* T46,'MOL SCAT',T61,'AER 1',T73,'AER 2',T85,'AER 3',T97,'AER 4',
* T109,'CIRRUS',/,
* T8,'(KM)',T17,'(KM)',T28,'(K)',T32,'LOWTRN U.')
915 FORMAT(I3,2F9.3,F9.2,1P8E12.3)
920 FORMAT(//,'0SUMMARY OF THE GEOMETRY CALCULATION',//,
* 10X,'H1 = ',F10.3,' KM',/,10X,'H2 = ',F10.3,' KM',/,
*10X,'ANGLE = ',F10.3,' DEG',/,10X,'RANGE = ',F10.3,' KM',/,
*10X,'BETA = ',F10.3,' DEG',/,10X,'PHI = ',F10.3,' DEG',/,
* 10X,'HMIN = ',F10.3,' KM',/,10X,'BENDING = ',F10.3,' DEG',/,
* 10X,'LEN = ',I10)
925 FORMAT(////,' EQUIVALENT SEA LEVEL TOTAL ABSORBER AMOUNTS',//,
* T15,' ',T26,'MOL SCAT',T41,'AER 1', T53,'AER 2',
* T65,'AER 3',T77, 'AER 4',T87,'CIRRUS',T99,'MEAN RH'/,
* T99,'(PRCNT)',//,22X,1P6E12.3,0PF12.2,//)
930 FORMAT(//' CURRENT GEOMETRY DIMENSION ',I5 ,/
*,' JMAXST = ',I5,' RESET AVTRAT TDIFF1 TDIFF2 TO 2. 10. 20.')
C
END
C
C ******************************************************************
C
SUBROUTINE FINDSL(H,SH,GAMMA) 2,1
C
C ** GIVEN AN ALTITUDE H, THIS SUBROUTINE FINDS THE LAYER BOUNDARI
C ** ZM(I1) AND ZM(I2) WHICH CONTAIN H, THEN CALCULATES THE SCALE
C ** HEIGHT (SH) AND THE VALUE AT THE GROUND (GAMMA+1) FOR THE
C ** INDEX OF REFRACTION
C
C
C MXFSC IS THE MAXIMUM NUMBER OF LAYERS FOR OUTPUT TO LBLRTM
C MXLAY IS THE MAXIMUN NUMBER OF OUTPUT LAYERS
C MXZMD IS THE MAX NUMBER OF LEVELS IN THE ATMOSPHERIC PROFILE
C STORED IN ZMDL (INPUT)
C MXPDIM IS THE MAXIMUM NUMBER OF LEVELS IN THE PROFILE ZPTH
C OBTAINED BY MERGING ZMDL AND ZOUT
C MXMOL IS THE MAXIMUM NUMBER OF MOLECULES, KMXNOM IS THE DEFAULT
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
C
COMMON /PARMLT/ RE,DELTAS,ZMAX,IMAX,IMOD,IBMAX,IPATH
COMMON /CNSTNS/ PI,CA,DEG,GCAIR,BIGNUM,BIGEXP
COMMON /MODEL/ ZMDL(MXZMD),P(MXZMD),T(MXZMD),
* RFNDX(MXZMD),DENSTY(16,MXZMD),
* CLDAMT(MXZMD),RRAMT(MXZMD),EQLWC(MXZMD),HAZEC(MXZMD)
C
DO 10 IM = 2, IMOD
I2 = IM
IF (ZMDL(IM).GE.H) GO TO 20
10 CONTINUE
I2 = IMOD
20 CONTINUE
I1 = I2-1
CALL SCALHT
(ZMDL(I1),ZMDL(I2),RFNDX(I1),RFNDX(I2),SH,GAMMA)
RETURN
END
SUBROUTINE RFPATL(H1,H2,ANGLE,PHI,LEN,HMIN,IAMT,RANGE,BETA,BENDNG) 1,10
C
C ******************************************************************
C THIS SUBROUTINE TRACES THE REFRACTED RAY FROM H1 WITH A
C INITIAL ZENITH ANGLE ANGLE TO H2 WHERE THE ZENITH ANGLE IS PHI,
C AND CALCULATES THE ABSORBER AMOUNTS (IF IAMT.EQ.1) ALONG
C THE PATH. IT STARTS FROM THE LOWEST POINT ALONG THE PATH
C (THE TANGENT HEIGHT HMIN IF LEN = 1 OR HA = MIN(H1,H2) IF LEN = 0)
C AND PROCEEDS TO THE HIGHEST POINT. BETA AND RANGE ARE THE
C EARTH CENTERED ANGLE AND THE TOTAL DISTANCE RESPECTIVELY
C FOR THE REFRACTED PATH FROM H1 TO H2
C ******************************************************************
C
PARAMETER (MXZMD=3400, MXZ20 = MXZMD+20, MX2Z3 = 2*MXZMD+3)
COMMON /IFIL/ IRD,IPR,IPU,NPR,NFHDRF,NPHDRF,NFHDRL,
* NPHDRL,NLNGTH,KFILE,KPANEL,LINFIL,
* NFILE,IAFIL,IEXFIL,NLTEFL,LNFIL4,LNGTH4
COMMON /PARMLT/ RE,DELTAS,ZMAX,IMAX,IMOD,IBMAX,IPATH
COMMON /CNSTNS/ PI,CA,DEG,GCAIR,BIGNUM,BIGEXP
C
C RFRPTH is dependent upon MXZMD (MXZ20=MXZMD+20;MX2Z3=2*MXZMD+3)
C
COMMON /RFRPTH/ ZL(MXZ20),PL(MXZ20),TL(MXZ20),RFNDXL(MXZ20),
* SL(MXZ20),PPSUML(MXZ20),TPSUML(MXZ20),RHOSML(MXZ20),
* DENL(16,MXZ20),AMTL(16,MXZ20),LJ(MX2Z3)
COMMON /CNTRL/ KMAX,M,IKMAX,NL,ML,IKLO,ISSGEO,IKP,JH1
C
IF (H1.GT.H2) GO TO 10
IORDER = 1
HA = H1
HB = H2
ANGLEA = ANGLE
GO TO 20
10 CONTINUE
IORDER = -1
HA = H2
HB = H1
ANGLEA = PHI
20 CONTINUE
JNEXT = 1
C
C IF(IAMT.EQ.1 .AND. NPR.NE.1) WRITE(IPR,20)
C
IF (LEN.EQ.0) GO TO 30
C
C ** LONG PATH: FILL IN THE SYMETRIC PART FROM THE TANGENT HEIGHT
C ** TO HA
C
CALL FILL
(HMIN,HA,JNEXT)
JHA = JNEXT
JH1 = JNEXT-1
30 CONTINUE
C
C ** FILL IN THE REMAINING PATH FROM HA TO HB
C
IF (HA.EQ.HB) GO TO 40
CALL FILL
(HA,HB,JNEXT)
40 CONTINUE
JMAX = JNEXT
IPATH = JMAX
C
C ** INTEGRATE EACH SEGMENT OF THE PATH
C ** CALCULATE CPATH SEPERATELY FOR LEN = 0,1
C
IF (LEN.EQ.1) GO TO 50
CALL FINDSL
(HA,SH,GAMMA)
CPATH = (RE+HA)*ANDEX
(HA,SH,GAMMA)*SIN(ANGLEA/DEG)
GO TO 60
50 CONTINUE
CALL FINDSL
(HMIN,SH,GAMMA)
CPATH = (RE+HMIN)*ANDEX
(HMIN,SH,GAMMA)
60 CONTINUE
BETA = 0.0
S = 0.0
BENDNG = 0.0
IF (LEN.EQ.0) GO TO 100
C
C ** DO SYMETRIC PART, FROM TANGENT HEIGHT(HMIN) TO HA
C
IHLOW = 1
IF (IORDER.EQ.-1) IHLOW = 2
C
SINAI = 1.0
COSAI = 0.0
THETA = 90.0
J2 = JHA-1
DO 90 J = 1, J2
CALL SCALHT
(ZL(J),ZL(J+1),RFNDXL(J),RFNDXL(J+1),SH,GAMMA)
CALL LOLAYR
(J,SINAI,COSAI,CPATH,SH,GAMMA,IAMT,DS,DBEND)
DBEND = DBEND*DEG
PHI = ASIN(SINAI)*DEG
DBETA = THETA-PHI+DBEND
PHI = 180.0-PHI
S = S+DS
BENDNG = BENDNG+DBEND
BETA = BETA+DBETA
IF (IAMT.NE.1) GO TO 70
PBAR = PPSUML(J)/RHOSML(J)
TBAR = TPSUML(J)/RHOSML(J)
RHOBAR = RHOSML(J)/DS
C
C IF(IAMT.EQ.1 .AND. NPR.NE.1) WRITE(IPR,22) J,ZP(J),ZP(J+1),
C 1 THETA,DS,S,DBETA,BETA,PHI,DBEND,BENDNG,PBAR,TBAR,RHOBAR
C
70 CONTINUE
IF (ISSGEO.EQ.1) GO TO 80
C
C CC ATHETA(J)=THETA
C CC ADBETA(J)=DBETA
C
80 CONTINUE
THETA = 180.0-PHI
90 CONTINUE
C
C ** DOUBLE PATH QUANTITIES FOR THE OTHER PART OF THE SYMETRIC PAT
C
BENDNG = 2.0*BENDNG
BETA = 2.0*BETA
S = 2.0*S
C
C IF(IAMT.EQ.1 .AND. NPR.NE.1) WRITE(IPR,26) S,BETA,BENDNG
C
JNEXT = JHA
GO TO 120
100 CONTINUE
C
C ** SHORT PATH
C
JNEXT = 1
C
C ** ANGLEA IS THE ZENITH ANGLE AT HA IN DEG
C ** SINAI IS SIN OF THE INCIDENCE ANGLE
C ** COSAI IS CARRIED SEPERATELY TO AVOID A PRECISION PROBLEM
C ** WHEN SINAI IS CLOSE TO 1.0
C
THETA = ANGLEA
IF (ANGLEA.GT.45.0) GO TO 110
SINAI = SIN(ANGLEA/DEG)
COSAI = -COS(ANGLEA/DEG)
GO TO 120
110 CONTINUE
SINAI = COS((90.0-ANGLEA)/DEG)
COSAI = -SIN((90.0-ANGLEA)/DEG)
120 CONTINUE
C
C ** DO PATH FROM HA TO HB
C
IF (HA.EQ.HB) GO TO 160
J1 = JNEXT
J2 = JMAX-1
IHLOW = 1
IF (IORDER.EQ.-1) IHLOW = 2
IHIGH = MOD(IHLOW,2)+1
C
DO 150 J = J1, J2
CALL SCALHT
(ZL(J),ZL(J+1),RFNDXL(J),RFNDXL(J+1),SH,GAMMA)
CALL LOLAYR
(J,SINAI,COSAI,CPATH,SH,GAMMA,IAMT,DS,DBEND)
DBEND = DBEND*DEG
PHI = ASIN(SINAI)*DEG
DBETA = THETA-PHI+DBEND
PHI = 180.0-PHI
S = S+DS
BENDNG = BENDNG+DBEND
BETA = BETA+DBETA
IF (IAMT.NE.1) GO TO 130
PBAR = PPSUML(J)/RHOSML(J)
TBAR = TPSUML(J)/RHOSML(J)
RHOBAR = RHOSML(J)/DS
C
C IF(IAMT.EQ.1 .AND. NPR.NE.1) WRITE(IPR,22) J,ZP(J),ZP(J+1),
C 1 THETA,DS,S,DBETA,BETA,PHI,DBEND,BENDNG,PBAR,TBAR,RHOBAR
C
130 CONTINUE
IF (ISSGEO.EQ.1) GO TO 140
C
C CC ADBETA(J)=DBETA
C CC ATHETA(J)=THETA
C
140 CONTINUE
THETA = 180.0-PHI
150 CONTINUE
160 CONTINUE
C
C CC IF(ISSGEO.EQ.0) ATHETA(JMAX)=THETA
C
IF (IORDER.EQ.-1) PHI = ANGLEA
RANGE = S
RETURN
C
C
END
C
C ******************************************************************
C
SUBROUTINE FILL(HA,HB,JNEXT) 2,6
C
C ******************************************************************
C THIS SUBROUTINE DEFINES THE ATMOSPHERIC BOUNDARIES OF THE PATH
C FROM HA TO HB AND INTERPOLATES (EXTRAPOLATES) THE DENSITIES TO
C THESE BOUNDARIES ASSUMING THE DENSITIES VARY EXPONENTIALLY
C WITH HEIGHT
C ******************************************************************
C
C
C MXFSC IS THE MAXIMUM NUMBER OF LAYERS FOR OUTPUT TO LBLRTM
C MXLAY IS THE MAXIMUN NUMBER OF OUTPUT LAYERS
C MXZMD IS THE MAX NUMBER OF LEVELS IN THE ATMOSPHERIC PROFILE
C STORED IN ZMDL (INPUT)
C MXPDIM IS THE MAXIMUM NUMBER OF LEVELS IN THE PROFILE ZPTH
C OBTAINED BY MERGING ZMDL AND ZOUT
C MXMOL IS THE MAXIMUM NUMBER OF MOLECULES, KMXNOM IS THE DEFAULT
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
PARAMETER (MXZ20 = MXZMD+20, MX2Z3 = 2*MXZMD+3)
C
COMMON /IFIL/ IRD,IPR,IPU,NPR,NFHDRF,NPHDRF,NFHDRL,
* NPHDRL,NLNGTH,KFILE,KPANEL,LINFIL,
* NFILE,IAFIL,IEXFIL,NLTEFL,LNFIL4,LNGTH4
COMMON /MODEL/ ZMDL(MXZMD),P(MXZMD),T(MXZMD),
* RFNDX(MXZMD),DENSTY(16,MXZMD),
* CLDAMT(MXZMD),RRAMT(MXZMD),EQLWC(MXZMD),HAZEC(MXZMD)
COMMON /PARMLT/ RE,DELTAS,ZMAX,IMAX,IMOD,IBMAX,IPATH
COMMON /CNSTNS/ PI,CA,DEG,GCAIR,BIGNUM,BIGEXP
COMMON /CNTRL/ KMAX,M,IKMAX,NL,ML,IKLO,ISSGEO,IKP,JH1
C
C RFRPTH is dependent upon MXZMD (MXZ20=MXZMD+20;MX2Z3=2*MXZMD+3)
C
COMMON /RFRPTH/ ZL(MXZ20),PL(MXZ20),TL(MXZ20),RFNDXL(MXZ20),
* SL(MXZ20),PPSUML(MXZ20),TPSUML(MXZ20),RHOSML(MXZ20),
* DENL(16,MXZ20),AMTL(16,MXZ20),LJ(MX2Z3)
C
IF (HA.LT.HB) GO TO 10
WRITE (IPR,900) HA,HB,JNEXT
STOP
10 CONTINUE
C
C ** FIND ZMDL(IA): THE SMALLEST ZMDL(I).GT.HA
C
DO 20 I = 1, IMAX
IF (HA.GE.ZMDL(I)) GO TO 20
IA = I
GO TO 30
20 CONTINUE
IA = IMAX+1
IB = IA
GO TO 50
C
C ** FIND ZMDL(IB): THE SMALLEST ZMDL(I).GE.HB
C
30 CONTINUE
DO 40 I = IA, IMAX
IF (HB-ZMDL(I).GT..0001) GO TO 40
IB = I
GO TO 50
40 CONTINUE
IB = IMAX+1
50 CONTINUE
C
C ** INTERPOLATE DENSITIES TO HA, HB
C
ZL(JNEXT) = HA
I2 = IA
IF (I2.EQ.1) I2 = 2
I2 = MIN(I2,IMAX)
I1 = I2-1
A = (HA-ZMDL(I1))/(ZMDL(I2)-ZMDL(I1))
CALL EXPINT
(PL(JNEXT),P(I1),P(I2),A)
TL(JNEXT) = T(I1)+( CALL EXPINT
(RFNDXL(JNEXT),RFNDX(I1),RFNDX(I2),A)
DO 60 K = 1, KMAX
CALL EXPINT
(DENL(K,JNEXT),DENSTY(K,I1),DENSTY(K,I2),A)
60 CONTINUE
IF (IA.EQ.IB) GO TO 80
C
C ** FILL IN DENSITIES BETWEEN HA AND HB
C
I1 = IA
I2 = IB-1
DO 70 I = I1, I2
JNEXT = JNEXT+1
ZL(JNEXT) = ZMDL(I)
PL(JNEXT) = P(I)
TL(JNEXT) = T(I)
RFNDXL(JNEXT) = RFNDX(I)
DO 68 K = 1, KMAX
DENL(K,JNEXT) = DENSTY(K,I)
68 CONTINUE
70 CONTINUE
80 CONTINUE
C
C ** INTERPOLATE THE DENSITIES TO HB
C
JNEXT = JNEXT+1
ZL(JNEXT) = HB
I2 = IB
IF (I2.EQ.1) I2 = 2
I2 = MIN(I2,IMAX)
I1 = I2-1
A = (HB-ZMDL(I1))/(ZMDL(I2)-ZMDL(I1))
CALL EXPINT
(PL(JNEXT),P(I1),P(I2),A)
TL(JNEXT) = T(I1)+( CALL EXPINT
(RFNDXL(JNEXT),RFNDX(I1),RFNDX(I2),A)
DO 90 K = 1, KMAX
CALL EXPINT
(DENL(K,JNEXT),DENSTY(K,I1),DENSTY(K,I2),A)
90 CONTINUE
RETURN
C
900 FORMAT('0SUBROUTINE FILL- ERROR, HA .GE. HB',//,
* 10X,'HA, HB, JNEXT = ',2E25.15,I6)
C
END
C
C *****************************************************************
C
SUBROUTINE LOLAYR(J,SINAI,COSAI,CPATH,SH,GAMMA,IAMT,S,BEND) 2,5
C
C *****************************************************************
C THIS SUBROUTINE CALCULATES THE REFRACTED PATH FROM Z1 TO Z2
C WITH THE SIN OF THE INITIAL INCIDENCE ANGLE SINAI
C *****************************************************************
C
PARAMETER (MXZMD=3400, MXZ20 = MXZMD+20, MX2Z3 = 2*MXZMD+3)
C
COMMON /PARMLT/ RE,DELTAS,ZMAX,IMAX,IMOD,IBMAX,IPATH
COMMON /CNSTNS/ PI,CA,DEG,GCAIR,BIGNUM,BIGEXP
COMMON /CNTRL/ KMAX,M,IKMAX,NL,ML,IKLO,ISSGEO,IKP,JH1
C
C RFRPTH is dependent upon MXZMD (MXZ20=MXZMD+20;MX2Z3=2*MXZMD+3)
C
COMMON /RFRPTH/ ZL(MXZ20),PL(MXZ20),TL(MXZ20),RFNDXL(MXZ20),
* SL(MXZ20),PPSUML(MXZ20),TPSUML(MXZ20),RHOSML(MXZ20),
* DENL(16,MXZ20),AMTL(16,MXZ20),LJ(MX2Z3)
C
DIMENSION HDEN(20),DENA(20),DENB(20)
C
DATA EPSILN/1.0E-5/
C
C ** INITIALIZE LOOP
C
N = 0
Z1 = ZL(J)
Z2 = ZL(J+1)
H1 = Z1
R1 = RE+H1
DHMIN = DELTAS**2/(2.0*R1)
SINAI1 = SINAI
COSAI1 = COSAI
Y1 = COSAI1**2/2.0+COSAI1**4/8.0+COSAI1**6*3.0/48.0
Y3 = 0.0
X1 = -R1*COSAI1
RATIO1 = R1/RADREF
(H1,SH,GAMMA)
DSDX1 = 1.0/(1.0-RATIO1*SINAI1**2)
DBNDX1 = DSDX1*SINAI1*RATIO1/R1
S = 0.0
BEND = 0.0
IF (IAMT.EQ.2) GO TO 50
C
C ** INITIALIZE THE VARIABLES FOR THE CALCULATION OF THE
C ** ABSORBER AMOUNTS
C
PA = PL(J)
PB = PL(J+1)
TA = TL(J)
TB = TL(J+1)
RHOA = PA/(GCAIR*TA)
RHOB = PB/(GCAIR*TB)
DZ = ZL(J+1)-ZL(J)
HP = -DZ/ALOG(PB/PA)
IF (ABS(RHOB/RHOA-1.0).LT.EPSILN) GO TO 10
HRHO = -DZ/ALOG(RHOB/RHOA)
GO TO 20
10 HRHO = 1.0E30
20 CONTINUE
DO 40 K = 1, KMAX
DENA(K) = DENL(K,J)
DENB(K) = DENL(K,J+1)
IF (DENA(K).LE.0.0.OR.DENB(K).LE.0.0) GO TO 30
IF (ABS(1.0-DENA(K)/DENB(K)).LE.EPSILN) GO TO 30
C
C ** USE EXPONENTIAL INTERPOLATION
C
HDEN(K) = -DZ/ALOG(DENB(K)/DENA(K))
GO TO 40
C
C ** USE LINEAR INTERPOLATION
C
30 HDEN(K) = 0.0
40 CONTINUE
50 CONTINUE
C
C ** LOOP THROUGH PATH
C ** INTEGRATE PATH QUANTITIES USING QUADRATIC INTEGRATION WITH
C ** UNEQUALLY SPACED POINTS
C
60 CONTINUE
N = N+1
DH = -DELTAS*COSAI1
DHMIN = MAX(DH,DHMIN)
H3 = H1+DH
H3 = MIN(H3,Z2)
DH = H3-H1
R3 = RE+H3
H2 = H1+DH/2.0
R2 = RE+H2
SINAI2 = CPATH/(ANDEX
(H2,SH,GAMMA)*R2)
SINAI3 = CPATH/(ANDEX
(H3,SH,GAMMA)*R3)
RATIO2 = R2/RADREF
(H2,SH,GAMMA)
RATIO3 = R3/RADREF
(H3,SH,GAMMA)
IF ((1.0-SINAI2).GT.EPSILN) GO TO 70
C
C ** NEAR A TANGENT HEIGHT, COSAI = -SQRT(1-SINAI**2) LOSES
C ** PRECISION. USE THE FOLLOWING ALGORITHM TO GET COSAI.
C
Y3 = Y1+(SINAI1*(1.0-RATIO1)/R1+4.0*SINAI2*(1.0-RATIO2)/R2+SINAI3*
* (1.0-RATIO3)/R3)*DH/6.0
COSAI3 = -SQRT(2.0*Y3-Y3**2)
X3 = -R3*COSAI3
DX = X3-X1
W1 = 0.5*DX
W2 = 0.0
W3 = 0.5*DX
GO TO 90
C
70 CONTINUE
COSAI2 = -SQRT(1.0-SINAI2**2)
COSAI3 = -SQRT(1.0-SINAI3**2)
X2 = -R2*COSAI2
X3 = -R3*COSAI3
C
C ** CALCULATE WEIGHTS
C
D31 = X3-X1
D32 = X3-X2
D21 = X2-X1
IF (D32.EQ.0.0.OR.D21.EQ.0.0) GO TO 80
W1 = (2-D32/D21)*D31/6.0
W2 = D31**3/(D32*D21*6.0)
W3 = (2.0-D21/D32)*D31/6.0
GO TO 90
80 CONTINUE
W1 = 0.5*D31
W2 = 0.0
W3 = 0.5*D31
C
90 CONTINUE
DSDX2 = 1.0/(1.0-RATIO2*SINAI2**2)
DSDX3 = 1.0/(1.0-RATIO3*SINAI3**2)
DBNDX2 = DSDX2*SINAI2*RATIO2/R2
DBNDX3 = DSDX3*SINAI3*RATIO3/R3
C
C ** INTEGRATE
C
DS = W1*DSDX1+W2*DSDX2+W3*DSDX3
S = S+DS
DBEND = W1*DBNDX1+W2*DBNDX2+W3*DBNDX3
BEND = BEND+DBEND
IF (IAMT.EQ.2) GO TO 150
C
C ** CALCULATE AMOUNTS
C
DSDZ = DS/DH
PB = PA*EXP(-DH/HP)
RHOB = RHOA*EXP(-DH/HRHO)
IF ((DH/HRHO).LT.EPSILN) GO TO 100
PPSUML(J) = PPSUML(J)+DSDZ*(HP/(1.0+HP/HRHO))*(PA*RHOA-PB*RHOB)
TPSUML(J) = TPSUML(J)+DSDZ*HP*(PA-PB)/GCAIR
RHOSML(J) = RHOSML(J)+DSDZ*HRHO*(RHOA-RHOB)
GO TO 110
100 CONTINUE
PPSUML(J) = PPSUML(J)+0.5*DS*(PA*RHOA+PB*RHOB)
TPSUML(J) = TPSUML(J)+0.5*DS*(PA+PB)/GCAIR
RHOSML(J) = RHOSML(J)+0.5*DS*(RHOA+RHOB)
110 CONTINUE
DO 130 K = 1, KMAX
IF (ABS(HDEN(K)).EQ.0.0) GO TO 120
IF ((DH/HDEN(K)).LT.EPSILN) GO TO 120
C
C ** EXPONENTIAL INTERPOLATION
C
DENB(K) = DENL(K,J)*EXP( AMTL(K,J) = AMTL(K,J)+DSDZ*HDEN(K)*(DENA(K)-DENB(K))
GO TO 130
120 CONTINUE
C
C ** LINEAR INTERPOLATION
C
DENB(K) = DENL(K,J)+(DENL(K,J+1)-DENL(K,J))*(H3-Z1)/DZ
AMTL(K,J) = AMTL(K,J)+0.5*(DENA(K)+DENB(K))*DS
130 CONTINUE
PA = PB
RHOA = RHOB
DO 140 K = 1, KMAX
DENA(K) = DENB(K)
140 CONTINUE
150 CONTINUE
IF (H3.GE.Z2) GO TO 160
H1 = H3
R1 = R3
SINAI1 = SINAI3
RATIO1 = RATIO3
Y1 = Y3
COSAI1 = COSAI3
X1 = X3
DSDX1 = DSDX3
DBNDX1 = DBNDX3
GO TO 60
160 CONTINUE
SINAI = SINAI3
COSAI = COSAI3
SL(J) = S
RETURN
END
C
C *****************************************************************
C
SUBROUTINE EQULWC 1
C
C CC
C CC EQUIVALENT LIQUID WATER CONSTANTS FOR BEXT (0.55UM)=1.0KM-1
C CC AWCCON(1-4) IS SET TO ONE OF THE CONSTANTS FOR EACH AEROSOL
C CC IN SUBROUTINE EXABIN AND MULTIPLIED BY THE BEXT (DENSTY(N,I))
C CC WHERE N=7,12,13 OR 14 AND I IS THE NUMBER OF LAYERS
C CC
C
C
C MXFSC IS THE MAXIMUM NUMBER OF LAYERS FOR OUTPUT TO LBLRTM
C MXLAY IS THE MAXIMUN NUMBER OF OUTPUT LAYERS
C MXZMD IS THE MAX NUMBER OF LEVELS IN THE ATMOSPHERIC PROFILE
C STORED IN ZMDL (INPUT)
C MXPDIM IS THE MAXIMUM NUMBER OF LEVELS IN THE PROFILE ZPTH
C OBTAINED BY MERGING ZMDL AND ZOUT
C MXMOL IS THE MAXIMUM NUMBER OF MOLECULES, KMXNOM IS THE DEFAULT
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
C
C
C BLANK COMMON FOR ZMDL
C
COMMON RELHUM(MXZMD),HSTOR(MXZMD),ICH(4),VH(16),TX(16),W(16)
COMMON WPATH(IM2,16),TBBY(IM2)
COMMON ABSC(5,47),EXTC(5,47),ASYM(5,47),VX0(47),AWCCON(5)
C
CHARACTER*8 HMOD
C
COMMON HMOD(3),ZN(MXZMD),PN(MXZMD),TN(MXZMD),RFNDXM(MXZMD)
COMMON ZP(IM2),PP(IM2),TP(IM2),RFNDXP(IM2),SP(IM2),
* PPSUM(IM2),TPSUM(IM2),RHOPSM(IM2),
* IMMAX,WGM(MXZMD),DEMW(MXZMD)
C
COMMON /CNTRL/ KMAX,M,IKMAX,NL,ML,IKLO,ISS,IKP,JH1
COMMON /MODEL/ ZMDL(MXZMD),PM(MXZMD),TM(MXZMD),
* RFNDX(MXZMD),DENSTY(16,MXZMD),
* CLDAMT(MXZMD),RRAMT(MXZMD),EQLWC(MXZMD),HAZEC(MXZMD)
C
DO 10 I = 1, ML
IF (DENSTY(7,I).NE.0.0) EQLWC(I) = DENSTY(7,I)*AWCCON(1)
IF (DENSTY(12,I).NE.0.0) EQLWC(I) = DENSTY(12,I)*AWCCON(2)
IF (DENSTY(13,I).NE.0.0) EQLWC(I) = DENSTY(13,I)*AWCCON(3)
IF (DENSTY(14,I).NE.0.0) EQLWC(I) = DENSTY(14,I)*AWCCON(4)
10 CONTINUE
RETURN
END
C
C *****************************************************************
C
SUBROUTINE INDX (WAVL,TC,KEY,REIL,AIMAG) 1,20
C
C * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
C * *
C * * WAVELENGTH IS IN CENTIMETERS. TEMPERATURE IS IN DEG. C.
C * *
C * * KEY IS SET TO 1 IN SUBROUTINE GAMFOG
C * *
C * * REIL IS THE REAL PART OF THE REFRACTIVE INDEX.
C * *
C * * AIMAG IS THE IMAGINARY PART OF THE REFRACTIVE INDEX IT IS
C * *
C * * RETURNED NEG. I.E. M= REAL - I*AIMAG .
C * *
C * * A SERIES OF CHECKS ARE MADE AND WARNINGS GIVEN.
C * *
C * * RAY APPLIED OPTICS VOL 11,NO.8,AUG 72, PG. 1836-1844
C * *
C * * CORRECTIONS HAVE BEEN MADE TO RAYS ORIGINAL PAPER
C * *
C * *
C * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
C
COMMON /IFIL/ IRD,IPR,IPU,NPR,NFHDRF,NPHDRF,NFHDRL,
* NPHDRL,NLNGTH,KFILE,KPANEL,LINFIL,
* NFILE,IAFIL,IEXFIL,NLTEFL,LNFIL4,LNGTH4
C
R1 = 0.0
R2 = 0.0
IF (WAVL.LT..0001) WRITE (IPR,900)
IF (TC.LT.-20.) WRITE (IPR,905)
CALL DEBYE
(WAVL,TC,KEY,REIL,AIMAG)
C
C * * TABLE 3 WATER PG. 1840
C
IF (WAVL.GT..034) GO TO 10
GO TO 20
10 IF (WAVL.GT..1) GO TO 50
R2 = DOP
(WAVL,1.83899,1639.,52340.4,10399.2,588.24,345005.,259913.
* ,161.29,43319.7,27661.2)
R2 = R2+R2*(TC-25.)*.0001*EXP((.000025*WAVL)**.25)
REIL = REIL*(WAVL-.034)/.066+R2*(.1-WAVL)/.066
GO TO 50
20 IF (WAVL.GT..0006) GO TO 30
GO TO 40
30 REIL = DOP
(WAVL,1.83899,1639.,52340.4,10399.2,588.24,345005.,
* 259913.,161.29,43319.7,27661.2)
REIL = REIL+REIL*(TC-25.)*.0001*EXP((.000025*WAVL)**.25)
IF (WAVL.GT..0007) GO TO 50
R1 = DOP
(WAVL,1.79907,3352.27,99.914E+04,15.1963E+04,1639.,50483.5
* ,9246.27,588.24,84.4697E+04,10.7615E+05)
R1 = R1+R1*(TC-25.)*.0001*EXP((.000025*WAVL)**.25)
REIL = R1*(.0007-WAVL)/.0001+REIL*(WAVL-.0006)/.0001
GO TO 50
40 REIL = DOP
(WAVL,1.79907,3352.27,99.914E+04,15.1963E+04,1639.,
* 50483.5,9246.27,588.24,84.4697E+04,10.7615E+05)
REIL = REIL+REIL*(TC-25.)*.0001*EXP((.000025*WAVL)**.25)
C
C * * TABLE 2 WATER PG. 1840
C
50 IF (WAVL.GE..3) GO TO 180
IF (WAVL.GE..03) GO TO 60
GO TO 70
60 AIMAG = AIMAG+AB
(WAVL,.25,300.,.47,3.)+AB
(WAVL,.39,17.,.45,1.3)+AB
* (WAVL,.41,62.,.35,1.7)
GO TO 180
70 IF (WAVL.GE..0062) GO TO 80
GO TO 90
80 AIMAG = AIMAG+AB
(WAVL,.41,62.,.35,1.7)+AB
(WAVL,.39,17.,.45,1.3)+AB
* (WAVL,.25,300.,.4,2.)
GO TO 180
90 IF (WAVL.GE..0017) GO TO 100
GO TO 110
100 AIMAG = AIMAG+AB
(WAVL,.39,17.,.45,1.3)+AB
(WAVL,.41,62.,.22,1.8)+AB
* (WAVL,.25,300.,.4,2.)
GO TO 180
110 IF (WAVL.GE..00061) GO TO 120
GO TO 130
120 AIMAG = AIMAG+AB
(WAVL,.12,6.1,.042,.6)+AB
(WAVL,.39,17.,.165,2.4)+
* AB
(WAVL,.41,62.,.22,1.8)
GO TO 180
130 IF (WAVL.GE..000495) GO TO 140
GO TO 150
140 AIMAG = AIMAG+AB
(WAVL,.01,4.95,.05,1.)+AB
(WAVL,.12,6.1,.009,2.)
GO TO 180
150 IF (WAVL.GE..000297) GO TO 160
GO TO 170
160 AIMAG = AIMAG+AB
(WAVL,.27,2.97,.04,2.)+AB
(WAVL,.01,4.95,.06,1.)
GO TO 180
170 AIMAG = AIMAG+AB
(WAVL,.27,2.97,.025,2.)+AB
(WAVL,.01,4.95,.06,1.)
180 CONTINUE
RETURN
C
900 FORMAT(///,30X,'ATTEMPTING TO EVALUATE FOR A WAVELENGTH LESS THAN
*ONE MICRON',//)
905 FORMAT(///,30X,'ATTEMPTING TO EVALUATE FOR A TEMPERATURE LESS THAN
* -20. DEGREES CENTIGRADE',//)
C
END
C
C *****************************************************************
C
SUBROUTINE DEBYE(WAVL,TC,KEY,RE,AI) 1
C
C CC
C CC CALCULATES WAVENUMBER DEPENDENCE OF DIELECTRIC CONSTANT
C CC OF WATER
C CC
C
T = TC+273.15
IF (KEY.NE.0) GO TO 10
GO TO 20
10 EFIN = 5.27137+.0216474*TC-.00131198*TC*TC
C
C CC ALPHA=-16.8129/T+.0609265
C
TAU = .00033836*EXP(2513.98/T)
C
C CC SIG=12.5664E+08
C
ES = 78.54*(1.-.004579*(TC-25.)+.0000119*(TC-25.)**2-.000000028*
* (TC-25.)**3)
GO TO 30
20 EFIN = 3.168
C
C CC ALPHA=.00023*TC*TC+.0052*TC+.288
C CC SIG=1.26*EXP(-12500./(T*1.9869))
C
TAU = 9.990288E-05*EXP(13200./(T*1.9869))
ES = 3.168+.15*TC*TC+2.5*TC+200.
30 C1 = TAU/WAVL
C
C CC
C CC TEMPORARY FIX TO CLASSICAL DEBYE EQUATION
C CC TO HANDLE ZERO CM-1 PROBLEM
C CC
C CC ALPHA=0.0
C CC SIG=0.0
C CC
C CC C2=1.5708*ALPHA
C CC DEM=1.+2.*C1**(1.-ALPHA)*SIN(C2)+C1**(2.*(1.-ALPHA))
C CC E1=EFIN+(ES-EFIN)*(1.+(C1**(1.-ALPHA)*SIN(C2)))/DEM
C CC IF(KEY.NE.0.AND.WAVL.GE.300.) E1=87.53-0.3956*TC
C CC IF(KEY.NE.0 .AND. WAVL.GE.300.) E1=ES
C CC E2=(ES-EFIN)*C1**(1.-ALPHA)*COS(C2)/DEM+SIG*WAVL/18.8496E+10
C CC
C CC PERMANENT FIX TO CLSSICAL DEBYE EQUATION
C CC TO HANDLE ZERO CM-1 PROBLEM
C CC
C
E1 = EFIN+(ES-EFIN)/(1.0+C1**2)
C
C CC
C
E2 = ((ES-EFIN)*C1)/(1.0+C1**2)
C
C CC
C
RE = SQRT((E1+SQRT(E1*E1+E2*E2))/2.)
AI = -E2/(2.*RE)
RETURN
END
FUNCTION DOP(WAVL,A,CEN1,B,C,CEN2,D,E,CEN3,F,G) 4
C
C CC
C CC DESCRIBES THE REAL PART OF THE DIELECTRIC CONSTANT
C CC
C
V = 1./WAVL
V2 = V*V
H1 = CEN1**2-V2
H2 = CEN2**2-V2
H3 = CEN3**2-V2
DOP = SQRT(A+B*H1/(H1*H1+C*V2)+D*H2/(H2*H2+E*V2)+F*H3/(H3*H3+G*V2)
* )
RETURN
END
FUNCTION AB(WAVL,A,CEN,B,C) 15
C
C CC
C CC DESCRIBES THE IMAGINARY PART OF THE DIELECTRIC CONSTANT
C CC
C
AB = -A*EXP(-ABS((ALOG10(10000.*WAVL/CEN)/B))**C)
RETURN
END
FUNCTION GAMFOG(FREQ,T,RHO) 2,1
C
C COMPUTES ATTENUATION OF EQUIVALENT LIQUID WATER CONTENT
C IN CLOUDS OR FOG IN DB/KM
C CONVERTED TO NEPERS BY NEW CONSTANT 1.885
C
C FREQ = WAVENUMBER (INVERSE CM)
C T = TEMPERATURE (DEGREES KELVIN)
C RHO = EQUIVALENT LIQUID CONTENT (G/CUBIC METER)
C CINDEX=COMPLEX DIELECTRIC CONSTANT M FROM INDEX
C WAVL = WAVELENGTH IN CM
C
COMPLEX CINDEX
IF (RHO.GT.0.) GO TO 10
GAMFOG = 0.
RETURN
10 CONTINUE
KEY = 1
WAVL = 1.0/FREQ
TC = T-273.2
C
C CC
C CC CHANGE TEMP SO THAT MINIMUM IS -20.0 CENT.
C CC
C
TC = MAX(TC,-20.0)
CALL INDX
(WAVL,TC,KEY,REIL,AIMAK)
CINDEX = CMPLX(REIL,AIMAK)
C
C CC
C CC ATTENUATION = 6.0*PI*FREQ*RHO*IMAG(-K)
C CC 6.0*PI/10. = 1.885 (THE FACTOR OF 10 IS FOR UNITS CONVERSION
C CC
C GAMFOG=8.1888*FREQ*RHO*AIMAG( - (CINDEX**2-1)/(CINDEX**2+2))
C
GAMFOG = 1.885*FREQ*RHO*AIMAG( RETURN
END
FUNCTION AITK(ARG,VAL,X,NDIM) 2
C
C IBM SCIENTIFIC SUBROUTINE
C AITKEN INTERPOLATION ROUTINE
C
DIMENSION ARG(NDIM),VAL(NDIM)
c
IF (NDIM.gt.1) then
C
C START OF AITKEN-LOOP
C
10 DO 30 J = 2, NDIM
IEND = J-1
DO 20 I = 1, IEND
H = ARG(I)-ARG(J)
IF (H.eq.0) go to 70
VAL(J) = (VAL(I)*(X-ARG(J))-VAL(J)*(X-ARG(I)))/H
20 continue
30 CONTINUE
C
C END OF AITKEN-LOOP
C
endif
40 J = NDIM
50 AITK = VAL(J)
60 RETURN
C
C THERE ARE TWO IDENTICAL ARGUMENT VALUES IN VECTOR ARG
C
70 IER = 3
J = IEND
GO TO 50
END
FUNCTION GMRAIN(FREQ,T,RATE) 1,2
C
C COMPUTES ATTENUATION OF CONDENSED WATER IN FORM OF RAIN
C
C FREQ = WAVENUMBER (CM-1)
C T = TEMPERATURE (DEGREES KELVIN)
C RATE = PRECIPITATION RATE (MM/HR)
C WVLTH = WAVELENGTH IN CM
C
C TABLES ATTAB AND FACTOR CALCULATED FROM FULL MIE THEORY
C UTILIZING MARSHALL-PALMER SIZE DISTRIBUTION WITH RAYS INDEX
C OF REFRACTION
C
C ATTAB IS ATTENUATION DATA TABLE IN NEPERS FOR 20 DEG CELSIUS
C WITH RADIATION FIELD REMOVED
C
C WVNTBL IS WAVENUMBER TABLE FOR WAVENUMBERS USED IN TABLE ATTAB
C TMPTAB IS INTERPOLATION DATA TABLE FOR TEMPERATURES IN DEG KELVIN
C
C TLMDA IS INTERPOLATION DATA TABLE FOR WAVELENGTH IN CM
C TFREQ IS INTERPOLATION DATA TABLE FOR WAVENUMBER IN CM-1
C
C RATTAB IS RAIN RATE TABLE IN MM/HR
C
C FACTOR IS TABLE OF TEMPERATURE CORRECTION FACTORS FOR
C TABLE ATTAB FOR REPRESENTATIVE RAINS WITHOUT RADIATION FIELD
C
C
C AITKEN INTERPOLATION SCHEME WRITTEN BY
C E.T. FLORANCE O.N.R. PASADENA CA.
C
C
DIMENSION ATTAB1(35),ATTAB2(35),ATTAB3(35),ATTAB4(35),ATTAB5(35)
DIMENSION ATTAB6(35),ATTAB7(35),ATTAB8(35),ATTAB9(35)
DIMENSION ATTAB(35,9),WVLTAB(27),RATTAB(9),FACTOR(5,8,5)
DIMENSION X(4),Y(4),ATTN(4),RATES(4)
C
C CC DIMENSION X(3),Y(3),ATTN(3),RATES(3)
C
DIMENSION TMPTAB(5),TLMDA(6),FACIT(5),TFACT(5)
DIMENSION TFREQ(8),WVNTBL(35)
DIMENSION FACEQ1(5,8),FACEQ2(5,8),FACEQ3(5,8),FACEQ4(5,8)
DIMENSION FACEQ5(5,8)
EQUIVALENCE (ATTAB1(1),ATTAB(1,1)),(ATTAB2(1),ATTAB(1,2))
EQUIVALENCE (ATTAB3(1),ATTAB(1,3)),(ATTAB4(1),ATTAB(1,4))
EQUIVALENCE (ATTAB5(1),ATTAB(1,5)),(ATTAB6(1),ATTAB(1,6))
EQUIVALENCE (ATTAB7(1),ATTAB(1,7)),(ATTAB8(1),ATTAB(1,8))
EQUIVALENCE (ATTAB9(1),ATTAB(1,9))
EQUIVALENCE (FACEQ1(1,1),FACTOR(1,1,1))
EQUIVALENCE (FACEQ2(1,1),FACTOR(1,1,2))
EQUIVALENCE (FACEQ3(1,1),FACTOR(1,1,3))
EQUIVALENCE (FACEQ4(1,1),FACTOR(1,1,4))
EQUIVALENCE (FACEQ5(1,1),FACTOR(1,1,5))
DATA WVLTAB/.03,.033,.0375,.043,.05,.06,.075,.1,.15,.2,.25,.3,.5,
*.8,1.,2.,3.,4.,5.,5.5,6.,6.5,7.,8.,9.,10.,15./
DATA WVNTBL/ 0.0000,
* .0667,.1000,.1111,.1250,.1429,.1538,
* .1667,.1818,.2000,.2500,.3333,.5000,1.0000,
* 1.2500,2.0000,3.3333,4.0000,5.0000,6.6667,10.0000,
* 13.3333,16.6667,20.0000,23.2558,26.6667,30.3030,33.3333,
* 50.0,80.0,120.0,180.0,250.0,300.0,350.0/
DATA RATTAB /.25,1.25,2.5,5.,12.5,25.,50.,100.,150./
DATA TLMDA/.03,.1,.5,1.25,3.2,10./
DATA TFREQ/0.0,0.1,0.3125,0.8,2.0,10.0,33.3333,350.0/
DATA TMPTAB/273.15,283.15,293.15,303.15,313.15/
DATA ATTAB1/
* 1.272E+00,1.332E+00,1.361E+00,1.368E+00,1.393E+00,1.421E+00,
* 1.439E+00,1.466E+00,1.499E+00,1.541E+00,1.682E+00,1.951E+00,
* 2.571E+00,3.575E+00,3.808E+00,4.199E+00,3.665E+00,3.161E+00,
* 2.462E+00,1.632E+00,8.203E-01,4.747E-01,3.052E-01,2.113E-01,
* 1.551E-01,1.168E-01,8.958E-02,7.338E-02,3.174E-02,1.178E-02,
* 5.016E-03,2.116E-03,1.123E-03,8.113E-04,6.260E-04/
DATA ATTAB2/
* 4.915E+00,5.257E+00,5.518E+00,5.632E+00,5.807E+00,6.069E+00,
* 6.224E+00,6.452E+00,6.756E+00,7.132E+00,8.453E+00,1.132E+01,
* 1.685E+01,2.177E+01,2.246E+01,2.156E+01,1.470E+01,1.167E+01,
* 8.333E+00,5.089E+00,2.356E+00,1.320E+00,8.315E-01,5.705E-01,
* 4.151E-01,3.119E-01,2.385E-01,1.955E-01,8.373E-02,3.138E-02,
* 1.351E-02,5.789E-03,3.090E-03,2.236E-03,1.725E-03/
DATA ATTAB3/
* 8.798E+00,9.586E+00,1.023E+01,1.049E+01,1.093E+01,1.159E+01,
* 1.205E+01,1.263E+01,1.343E+01,1.450E+01,1.832E+01,2.627E+01,
* 3.904E+01,4.664E+01,4.702E+01,4.152E+01,2.542E+01,1.959E+01,
* 1.363E+01,8.087E+00,3.660E+00,2.028E+00,1.274E+00,8.710E-01,
* 6.340E-01,4.757E-01,3.634E-01,2.971E-01,1.275E-01,4.795E-02,
* 2.072E-02,8.936E-03,4.780E-03,3.460E-03,2.670E-03/
DATA ATTAB4/
* 1.575E+01,1.750E+01,1.914E+01,1.991E+01,2.108E+01,2.276E+01,
* 2.399E+01,2.561E+01,2.785E+01,3.097E+01,4.204E+01,6.334E+01,
* 8.971E+01,9.853E+01,9.609E+01,7.718E+01,4.290E+01,3.220E+01,
* 2.188E+01,1.271E+01,5.641E+00,3.110E+00,1.947E+00,1.327E+00,
* 9.657E-01,7.242E-01,5.539E-01,4.528E-01,1.942E-01,7.335E-02,
* 3.181E-02,1.380E-02,7.394E-03,5.354E-03,4.132E-03/
DATA ATTAB5/
* 3.400E+01,3.927E+01,4.523E+01,4.796E+01,5.207E+01,5.886E+01,
* 6.383E+01,7.060E+01,8.005E+01,9.360E+01,1.381E+02,2.069E+02,
* 2.620E+02,2.534E+02,2.366E+02,1.673E+02,8.285E+01,6.059E+01,
* 4.013E+01,2.280E+01,9.939E+00,5.439E+00,3.400E+00,2.315E+00,
* 1.685E+00,1.263E+00,9.664E-01,7.914E-01,3.397E-01,1.288E-01,
* 5.611E-02,2.450E-02,1.316E-02,9.536E-03,7.360E-03/
DATA ATTAB6/
* 6.087E+01,7.347E+01,8.886E+01,9.653E+01,1.081E+02,1.283E+02,
* 1.435E+02,1.649E+02,1.947E+02,2.346E+02,3.543E+02,4.991E+02,
* 5.705E+02,5.048E+02,4.510E+02,2.900E+02,1.335E+02,9.607E+01,
* 6.269E+01,3.520E+01,1.519E+01,8.295E+00,5.182E+00,3.529E+00,
* 2.569E+00,1.927E+00,1.474E+00,1.208E+00,5.191E-01,1.975E-01,
* 8.627E-02,3.784E-02,2.037E-02,1.476E-02,1.139E-02/
DATA ATTAB7/
* 1.090E+02,1.396E+02,1.811E+02,2.029E+02,2.396E+02,3.039E+02,
* 3.536E+02,4.189E+02,5.081E+02,6.217E+02,9.038E+02,1.165E+03,
* 1.212E+03,9.731E+02,8.330E+02,4.901E+02,2.123E+02,1.507E+02,
* 9.718E+01,5.408E+01,2.316E+01,1.264E+01,7.896E+00,5.377E+00,
* 3.915E+00,2.939E+00,2.249E+00,1.844E+00,7.940E-01,3.029E-01,
* 1.327E-01,5.846E-02,3.151E-02,2.284E-02,1.763E-02/
DATA ATTAB8/
* 1.950E+02,2.703E+02,3.904E+02,4.614E+02,5.825E+02,7.909E+02,
* 9.475E+02,1.142E+03,1.380E+03,1.656E+03,2.237E+03,2.610E+03,
* 2.500E+03,1.820E+03,1.491E+03,8.103E+02,3.336E+02,2.344E+02,
* 1.495E+02,8.273E+01,3.524E+01,1.922E+01,1.203E+01,8.182E+00,
* 5.961E+00,4.477E+00,3.429E+00,2.812E+00,1.216E+00,4.651E-01,
* 2.043E-01,9.033E-02,4.874E-02,3.534E-02,2.728E-02/
DATA ATTAB9/
* 2.742E+02,4.012E+02,6.353E+02,7.829E+02,1.027E+03,1.439E+03,
* 1.725E+03,2.071E+03,2.475E+03,2.909E+03,3.738E+03,4.104E+03,
* 3.776E+03,2.589E+03,2.070E+03,1.078E+03,4.326E+02,3.023E+02,
* 1.918E+02,1.059E+02,4.499E+01,2.454E+01,1.539E+01,1.045E+01,
* 7.615E+00,5.722E+00,4.384E+00,3.596E+00,1.561E+00,5.978E-01,
* 2.630E-01,1.165E-01,6.292E-02,4.562E-02,3.522E-02/
DATA FACEQ1/
* 1.606,1.252,1.000, .816, .680,1.603,1.246,1.000, .817, .684,
* 1.444,1.207,1.000, .838, .694,1.016, .985,1.000,1.034,1.058,
* .950, .976,1.000,1.034,1.068, .922, .956,1.000,1.044,1.090,
* .932, .966,1.000,1.034,1.068, .957, .978,1.000,1.022,1.044/
DATA FACEQ2/
* 1.606,1.252,1.000, .816, .680,1.612,1.256,1.000, .817, .684,
* 1.193,1.101,1.000, .889, .769, .885, .927,1.000,1.086,1.175,
* .941, .976,1.000,1.024,1.047, .932, .966,1.000,1.034,1.079,
* .932, .966,1.000,1.034,1.068, .957, .978,1.000,1.022,1.044/
DATA FACEQ3/
* 1.606,1.252,1.000, .816, .680,1.621,1.256,1.000, .817, .673,
* .969, .995,1.000, .982, .940, .895, .937,1.000,1.075,1.143,
* .950, .976,1.000,1.024,1.036, .932, .966,1.000,1.034,1.079,
* .932, .966,1.000,1.034,1.068, .957, .978,1.000,1.022,1.044/
DATA FACEQ4/
* 1.606,1.252,1.000, .816, .680,1.631,1.265,1.000, .807, .662,
* .848, .927,1.000,1.044,1.079, .922, .956,1.000,1.055,1.111,
* .950, .976,1.000,1.013,1.036, .932, .966,1.000,1.034,1.079,
* .932, .966,1.000,1.034,1.068, .957, .978,1.000,1.022,1.044/
DATA FACEQ5/
* 1.606,1.252,1.000, .816, .680,1.603,1.265,1.000, .807, .662,
* .820, .918,1.000,1.075,1.132, .941, .966,1.000,1.034,1.079,
* .960, .976,1.000,1.013,1.036, .932, .966,1.000,1.034,1.079,
* .932, .966,1.000,1.034,1.068, .957, .978,1.000,1.022,1.044/
DATA RATLIM /.05/
C
C GIVE ZERO ATTN IF RATE FALLS BELOW LIMIT
C
IF (RATE.GT.RATLIM) GO TO 10
GMRAIN = 0.
RETURN
10 WVLTH = 1.0/FREQ
C
C CC JMAX=3
C
JMAX = 4
C
C CC IF(WVLTH.GT.WVLTAB(1)) GO TO 14
C CC ILOW=0
C CC JMAX=2
C CC GO TO 18
C CC THIS DO LOOP IS 2 LESS THAN NO. OF WVLTAB INPUT
C CC14 DO 15 I=2,25
C
DO 20 I = 3, 33
C
C CC IF(WVLTH.LT.(.5*(WVLTAB(I)+WVLTAB(I+1)))) GO TO 16
C
IF (FREQ.LT.WVNTBL(I)) GO TO 30
20 CONTINUE
C
C CC SET ILOW EQUAL TO 1 LESS THAN DO MAX
C CC ILOW=24
C
I = 34
C
C CC GO TO 18
C CC16 ILOW = I-2
C
30 ILOW = I-3
C
C CC DO 190 I=2,7
C
DO 40 K = 3, 7
C
C CC IF (RATE. LT.(.5*(RATTAB(I)+RATTAB(I+1))))GO TO 195
C
IF (RATE.LT.RATTAB(K)) GO TO 50
40 CONTINUE
C
C CC KMIN=6
C
K = 8
C
C CC GO TO 198
C C195 KMIN=I-2
C
50 KMIN = K-3
DO 60 J = 1, JMAX
IJ = ILOW+J
X(J) = WVNTBL(IJ)
60 CONTINUE
C
C INTERPOLATE
C CC Z = -ALOG(FREQ)
C CC DO 25 K=1,3
C
DO 80 K = 1, 4
KJ = KMIN+K
RATES(K) = RATTAB(KJ)
DO 70 J = 1, JMAX
IJ = ILOW+J
Y(J) = ALOG(ATTAB(IJ,KJ))
70 CONTINUE
ATTN(K) = EXP(AITK
(X,Y,FREQ,JMAX))
80 CONTINUE
C
C APPLY TEMPERATURE CORRECTION
C
DO 90 I = 2, 5
IF (T.LT.TMPTAB(I)) GO TO 100
90 CONTINUE
ILOW = 4
GO TO 110
100 ILOW = I-1
110 CONTINUE
DO 120 J = 2, 8
IF (FREQ.LT.TFREQ(J)) GO TO 130
120 CONTINUE
C
C CC JLOW IS 2 LESS THAN DO MAX
C
JLOW = 6
GO TO 140
130 JLOW = J-2
140 CONTINUE
DO 160 K = 1, 2
DO 150 J = 1, 2
C
C INTERPOLATE IN TEMPERATURE
C CC KJ=(KMIN/2)+K
C
KJ = K+(KMIN+1)/2
JI = JLOW+J
FAC = ((TMPTAB(ILOW)-T)*FACTOR(ILOW+1,JI,KJ)+(T-TMPTAB(ILOW+
* 1))*FACTOR(ILOW,JI,KJ))/(TMPTAB(ILOW)-TMPTAB(ILOW+1))
JI = JLOW+3-J
FACIT(J) = (TFREQ(JI)-FREQ)*FAC
150 CONTINUE
TFACT(K) = (FACIT(2)-FACIT(1))/(TFREQ(JLOW+1)-TFREQ(JLOW+2))
160 CONTINUE
C
C COMPUTE ATTENUATION (DB/KM)
C CC KJ=2*KMIN/2+1
C
KJ = 2*((KMIN+1)/2)+1
C
C CC GMRAIN=AITK(RATES,ATTN,RATE,3)*
C
GMRAIN = AITK
(RATES,ATTN,RATE,4)*((RATE-RATTAB(KJ))*TFACT(2)+
* (RATTAB(KJ+2)-RATE)*TFACT(1))/(RATTAB(KJ+2)-RATTAB(KJ))
C
C CC
C CC APPLY CONVERSION TO NEPERS
C CC
C
RETURN
END
C
C ******************************************************************
C
SUBROUTINE CIRRUS(CTHIK,CALT,ISEED,CPROB,MODEL) 1,3
C
C ******************************************************************
C * ROUTINE TO GENERATE ALTITUDE PROFILES OF CIRRUS DENSITY
C * PROGRAMMED BY M.J. POST
C * R.A. RICHTER NOAA/WPL
C * BOULDER, COLORADO
C * 01/27/1981
C *
C * INPUTS|
C * CHTIK - CIRRUS THICKNESS (KM)
C * 0 = USE THICKNESS STATISTICS
C * .NE. 0 = USER DEFINES THICKNESS
C *
C * CALT - CIRRUS BASE ALTITUDE (KM)
C * 0 = USE CALCULATED VALUE
C * .NE. 0 = USER DEFINES BASE ALTITUDE
C *
C * ICIR - CIRRUS PRESENCE FLAG
C * 0 = NO CIRRUS
C * .NE. 0 = USE CIRRUS PROFILE
C *
C * MODEL - ATMOSPHERIC MODEL
C * 1-5 AS IN MAIN PROGRAM
C * MODEL = 0,6,7 NOT USED SET TO 2
C *
C * ISEED - RANDOM NUMBER INITIALIZATION FLAG.
C * 0 = USE DEFAULT MEAN VALUES FOR CIRRUS
C * .NE. 0 = INITIAL VALUE OF SEED FOR RANF
C * FUNCTION. CHANGE SEED VALUE EACH RUN FOR
C * DIFFERENT RANDOM NUMBER SEQUENCES. THIS
C * PROVIDES FOR STATISTICAL DETERMINATION
C * OF CIRRUS BASE ALTITUDE AND THICKNESS.
C *
C * OUTPUTS|
C * CTHIK - CIRRUS THICKNESS (KM)
C * CALT - CIRRUS BASE ALTITUDE (KM)
C * DENSTY(16,I) - ARRAY, ALTITUDE PROFILE OF CIRRUS DENSIT
C * CPROB - CIRRUS PROBABILITY
C *
C ******************************************************************
C
C
C MXFSC IS THE MAXIMUM NUMBER OF LAYERS FOR OUTPUT TO LBLRTM
C MXLAY IS THE MAXIMUN NUMBER OF OUTPUT LAYERS
C MXZMD IS THE MAX NUMBER OF LEVELS IN THE ATMOSPHERIC PROFILE
C STORED IN ZMDL (INPUT)
C MXPDIM IS THE MAXIMUM NUMBER OF LEVELS IN THE PROFILE ZPTH
C OBTAINED BY MERGING ZMDL AND ZOUT
C MXMOL IS THE MAXIMUM NUMBER OF MOLECULES, KMXNOM IS THE DEFAULT
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
C
C
C BLANK COMMON FOR ZMDL
C
COMMON RELHUM(MXZMD),HSTOR(MXZMD),ICH(4),VH(16),TX(16),W(16)
COMMON WPATH(IM2,16),TBBY(IM2)
COMMON ABSC(5,47),EXTC(5,47),ASYM(5,47),VX2(47),AWCCON(5)
C
CHARACTER*8 HMOD
C
COMMON HMOD(3),ZN(MXZMD),PN(MXZMD),TN(MXZMD),RFNDXM(MXZMD)
COMMON ZP(IM2),PP(IM2),TP(IM2),RFNDXP(IM2),SP(IM2),
* PPSUM(IM2),TPSUM(IM2),RHOPSM(IM2),
* IMMAX,WGM(MXZMD),DEMW(MXZMD)
C
COMMON /CNTRL/ KMAX,M,IKMAX,NL,ML,IKLO,ISSGEO,IKP,JH1
COMMON /MODEL/ ZMDL (MXZMD),PM(MXZMD),TM(MXZMD),
* RFNDX(MXZMD),DENSTY(16,MXZMD),
* CLDAMT(MXZMD),RRAMT(MXZMD),EQLWC(MXZMD),HAZEC(MXZMD)
C
DIMENSION CBASE(5,2),TSTAT(11),PTAB(5),CAMEAN(5)
DIMENSION CBASE1(5),CBASE2(5)
C
EQUIVALENCE (CBASE1(1),CBASE(1,1)),(CBASE2(1),CBASE(1,2))
C
C ISEED IS INTEGER*4
C
INTEGER*4 ISEED,IDUM
C
DATA CAMEAN / 11.0, 10.0, 8.0, 7.0, 5.0 /
DATA PTAB / 0.8, 0.4, 0.5, 0.45, 0.4/
DATA CBASE1 / 7.5, 7.3, 4.5, 4.5, 2.5 /
DATA CBASE2 /16.5,13.5,14.0, 9.5,10.0 /
DATA TSTAT / 0.0,.291,.509,.655,.764,.837,.892,
* 0.928, 0.960, 0.982, 1.00 /
C
C SET CIRRUS PROBABILITY AND PROFILE TO ALL ZEROES
C
CPROB = 0.0
MDL = MODEL
C
DO 10 I = 1, 68
DENSTY(16,I) = 0.
10 CONTINUE
C
C CHECK IF USER WANTS TO USE A THICKNESS VALUE HE PROVIDES, CALCULAT
C A STATISTICAL THICKNESS, OR USE A MEAN THICKNESS (ISEED = 0).
C DEFAULTED MEAN CIRRUS THICKNESS IS 1.0 KM.
C
IF (CTHIK.GT.0.0) GO TO 40
IF (ISEED.NE.0) GO TO 20
CTHIK = 1.0
GO TO 40
C
C > CALCULATE CLOUD THICKNESS USING LOWTRAN CIRRUS THICKNESS STATIST
C > NOTE - THIS ROUTINE USES A UNIFORM RANDOM NUMBER GENERATOR
C > WHICH RETURNS A NUMBER BETWEEN 0 AND 1.
C >
C
20 IDUM = -ISEED
C
URN = RANDM
(IDUM)
DO 30 I = 1, 10
IF (URN.GE.TSTAT(I).AND.URN.LT.TSTAT(I+1)) CTHIK = I-1
30 CONTINUE
CTHIK = CTHIK/2.0+RANDM
(IDUM)/2.0
C
C DENCIR IS CIRRUS DENSITY IN KM-1
C
40 DENCIR = 0.07*CTHIK
C
C BASE HEIGHT CALCULATIONS
C
IF (MODEL.LT.1.OR.MODEL.GT.5) MDL = 2
CPROB = 100.0*PTAB(MDL)
C
HMAX = CBASE(MDL,2)-CTHIK
BRANGE = HMAX-CBASE(MDL,1)
IF (CALT.GT.0.0) GO TO 60
IF (ISEED.NE.0) GO TO 50
CALT = CAMEAN(MDL)
GO TO 60
50 CALT = BRANGE*RANDM
(IDUM)+CBASE(MDL,1)
C
C PUT CIRRUS DENSITY IN CORRECT ALTITUDE BINS. IF MODEL = 7,
C INTERPOLATE EH(16,I) FOR NON-STANDARD ALTITUDE BOUNDARIES.
C
60 TOP = CALT+CTHIK
BOTTOM = CALT
IF (TOP.LT.ZMDL(1)) RETURN
IF (BOTTOM.GT.ZMDL(ML)) RETURN
IML = ML-1
DO 70 I = 1, IML
ZMIN = ZMDL(I)
ZMAX = ZMDL(I+1)
DENOM = ZMAX-ZMIN
IF (BOTTOM.LE.ZMIN.AND.TOP.GE.ZMAX) DENSTY(16,I) = DENCIR
IF (BOTTOM.GE.ZMIN.AND.TOP.LT.ZMAX) DENSTY(16,I) = DENCIR*CTHIK
* /DENOM
IF (BOTTOM.GE.ZMIN.AND.TOP.GE.ZMAX.AND.BOTTOM.LT.ZMAX)
* DENSTY(16,I) = DENCIR*(ZMAX-BOTTOM)/DENOM
IF (BOTTOM.LT.ZMIN.AND.TOP.LE.ZMAX.AND.TOP.GT.ZMIN) DENSTY(16,I
* ) = DENCIR*(TOP-ZMIN)/DENOM
70 CONTINUE
RETURN
END
C
C *****************************************************************
C
SUBROUTINE VSA(IHAZE,VIS,CEILHT,DEPTH,ZINVHT,Z,RH,AHAZE,IH) 1
C
C VERTICAL STRUCTURE ALGORITHM
C
C FROM ATMOSPHERIC SCIENCES LAB (U.S. ARMY)
C WHITE SANDS N.M.
C
C CREATES A PROFILE OF AEROSOL DENSITY NEAR THE GROUND,INCLUDING
C CLOUDS AND FOG
C
C THESE PROFILES ARE AT 9 HEIGHTS BETWEEN 0 KM AND 2 KM
C
C
C ***VISIBILITY IS ASSUMED TO BE THE SURFACE VISIBILITY***
C
C IHAZE = THE TYPE OF AEROSOL
C VIS = VISIBILITY IN KM
C CEILHT = THE CLOUD CEILING HEIGHT IN KM
C DEPTH = THE CLOUD/FOG DEPTH IN KM
C ZINVHT = THE HEIGHT OF INVERSION OR BOUNDARY LAYER IN KM
C
C VARIABLES USED IN VSA
C
C ZC = CLOUD CEILING HEIGHT IN M
C ZT = CLOUD DEPTH IN M
C ZINV = INVERSION HEIGHT IN M
C SEE BELOW FOR MORE INFORMATION ABOUT ZC, ZT, AND ZINV
C D = INITIAL EXTINCTION AT THE SURFACE (D=3.912/VIS)
C ZALGO = THE DEPTH OF THE LAYER FOR THE ALGORITHM
C
C OUTPUT FROM VSA:
C
C Z = HEIGHT IN KM
C RH = RELATIVE HUMIDITY AT HEIGHT Z IN PERCENT
C AHAZE = EXTINCTION AT HEIGHT Z IN KM**-1
C IH = AEROSAL TYPE FOR HEIGHT Z
C HMAX = MAXIMUM HEIGHT IN KM USED IN VSA, NOT NECESSARILY 2.0 KM
C
C
C THE SLANT PATH CALCULATION USES THE FOLLOWING FUNCTION:
C
C EXT55=A*EXP(B*EXP(C*Z))
C
C WHERE 'Z' IS THE HEIGHT IN KILOMETERS,
C 'A' IS A FUNCTION OF EXT55 AT Z=0.0 AND IS ALWAYS POSITIVE,
C 'B' AND 'C' ARE FUNCTIONS OF CLOUD CONDITIONS AND SURFACE
C VISIBILITY (EITHER A OR B CAN BE POSITIVE OR NEGATIVE),
C 'EXT55' IS THE VISIBILE EXTINCTION COEFFICIENT IN KM**-1.
C
C THEREFORE, THERE ARE 4 CASES DEPENDING ON THE SIGNS OF 'B' AND 'C'
C CEILHT AND ZINVHT ARE USED AS SWITCHES TO DETERMINE WHICH CASE
C TO USE. THE SURFACE EXTINCTION 'D' IS CALCULATED FROM THE
C VISIBILITY USING D=3.912/VIS-0.012 AS FOLLOWS-
C
C CASE=1 FOG/CLOUD CONDITIONS
C 'B' LT 0.0, 'C' LT 0.0
C 'D' GE 7.064 KM**-1
C FOR A CLOUD 7.064 KM**-1 IS THE BOUNDARY VALUE AT
C THE CLOUD BASE AND 'Z' IS THE VERTICAL DISTANCE
C INTO THE CLOUD.
C VARIABLE USED: DEPTH
C ** DEFAULT: DEPTH OF FOG/CLOUD IS 0.2 KM WHEN
C 'DEPTH' IS 0.0
C
C =2 CLOUD CEILING PRESENT
C 'B' GT 0.0, 'C' GT 0.0
C 'D' GT 0.398 KM**-1 IS CASE 2 FOR HAZY/FOG
C SURFACE CONDITIONS
C 'D' LE 0.398 KM**-1 IS CASE 2' FOR CLEAR/HAZY
C SURFACE CONDITIONS
C VARIABLE USED: CEILHT (MUST BE GE 0.0)
C ** DEFAULTS: CASE 2 - CEILHT IS CALCULATED FROM
C SURFACE EXTINCTION OR
C CASE 2' - CEILHT IS 1.8 KM WHEN
C 'CEILHT' IS 0.0
C
C =3 RADIATION FOG OR INVERSION OR BOUNDARY LAYER PRESENT
C 'B' LT 0.0, 'C' GT 0.0
C VIS LE 2.0 KM DEFAULTS TO A RADIATION FOG AT THE
C GROUND AND OVERRIDES INPUT BOUNDARY AEROSOL TYPE
C VIS GT 2.0 KM FOR AN INVERSION OR BOUNDARY LAYER
C WITH INPUT BOUNDARY AEROSOL TYPE
C ** IHAZE=9 (RADIATION FOG) ALWAYS DEFAULTS TO A
C RADIATION FOG NO MATTER WHAT THE VISIBILITY IS.
C SWITCH VARIABLE: CEILHT (MUST BE LT 0.0)
C VARIABLE USED: ZINVHT (MUST BE GE 0.0)
C ** CEILHT MUST BE LT 0.0 FOR ZINVHT TO BE USED **
C HOWEVER, IF DEPTH IS GT 0.0 AND ZINVHT IS EQ 0.0,
C THE PROGRAM WILL SUBSTITUTE DEPTH FOR ZINVHT.
C ** DEFAULT: FOR A RADIATION FOG ZINVHT IS 0.2 KM
C FOR AN INVERSION LAYER ZINVHT IS 2.0 KM
C
C =4 NO CLOUD CEILING, INVERSION LAYER, OR BOUNDARY
C LAYER PRESENT, I.E. CLEAR SKIES
C EXTINCTION PROFILE CONSTANT WITH HEIGHT
C
COMMON /IFIL/ IRD,IPR,IPU,NPR,NFHDRF,NPHDRF,NFHDRL,
* NPHDRL,NLNGTH,KFILE,KPANEL,LINFIL,
* NFILE,IAFIL,IEXFIL,NLTEFL,LNFIL4,LNGTH4
C
DIMENSION Z(10),RH(10),AHAZE(10),IH(10)
DIMENSION AA(2),CC(2),EE(4),A(2),B(2),C(2),FAC1(9),FAC2(9)
C
REAL KMTOM
C
DATA AA/135.,0.3981/,CC/-0.030,0.0125/,KMTOM/1000.0/,CR/0.35/
C
C THE LAST 3 VALUES OF EE BELOW ARE EXTINCTIONS FOR VISIBILITIES
C EQUAL TO 5.0, 23.0, AND 50.0 KM, RESPECTIVELY.
C
DATA EE/7.064,0.7824,0.17009,0.07824/
DATA FAC1/0.0,0.03,0.05,0.075,0.1,0.18,0.3,0.45,1.0/
DATA FAC2/0.0,0.03,0.1,0.18,0.3,0.45,0.6,0.78,1.0/
C
WRITE (IPR,900)
C
C UPPER LIMIT ON VERTICAL DISTANCE - 2 KM
C
ZHIGH = 2000.
HMAX = ZHIGH
IF (VIS.GT.0.0) GO TO 10
C
C DEFAULT FOR VISIBILITY DEPENDS ON THE VALUE OF IHAZE.
C
IF (IHAZE.EQ.8) VIS = 0.2
IF (IHAZE.EQ.9) VIS = 0.5
IF (IHAZE.EQ.2.OR.IHAZE.EQ.5) VIS = 5.0
IF (IHAZE.EQ.1.OR.IHAZE.EQ.4.OR.IHAZE.EQ.7) VIS = 23.0
IF (IHAZE.EQ.6) VIS = 50.0
C
C IF(IHAZE.EQ.3)VIS=??????
C
10 D = 3.912/VIS-0.012
C
ZC = CEILHT*KMTOM
IF (ZC.GT.CR) THEN
SZ = ZC-CR
ELSE
SZ = 0.
ENDIF
ZT = DEPTH*KMTOM
ZINV = ZINVHT*KMTOM
C
C IHAZE=9 (RADIATION FOG) IS ALWAYS CALCULATED AS A RADIATION FOG.
C
IF (IHAZE.EQ.9) ZC = -1.0
C
C ALSO, CHECK TO SEE IF THE FOG DEPTH FOR A RADIATION FOG
C WAS INPUT TO DEPTH INSTEAD OF THE CORRECT VARIABLE ZINVHT.
C
IF (IHAZE.EQ.9.AND.ZT.GT.0.0.AND.ZINV.EQ.0.0) ZINV = ZT
C
C 'IC' DEFINES WHICH CASE TO USE.
C
IC = 2
IF (D.GE.EE(1).AND.ZC.GE.0.0) IC = 1
C
IF (ZC.LT.0.0.AND.IC.EQ.2) IC = 3
IF (ZINV.LT.0.0.AND.IC.EQ.3) IC = 4
C
C 'ICC' IS FOR THE TWO CASES: 2 AND 2'.
C
ICC = 0
IF (IC.EQ.2) ICC = 1
IF (D.LE.AA(2).AND.IC.EQ.2) ICC = 2
K = 1
IF (ICC.EQ.2) GO TO 40
GO TO (20,30,50,60), IC
C
C CASE 1: DEPTH FOG/CLOUD; INCREASING EXTINCTION WITH HEIGHT FROM
C CLOUD/FOG BASE TO CLOUD/FOG TOP.
C
20 CONTINUE
IF (ZC.LT.HMAX.AND.IC.EQ.2) K = 2
C
C IC=-1 WHEN A CLOUD IS PRESENT AND THE PATH GOES INTO IT.
C USE CASE 2 OR 2' BELOW CLOUD AND CASE 1 INSIDE IT.
C
IF (K.EQ.2) IC = (-1)
C
C THE BASE OF THE CLOUD HAS AN EXTINCTION COEFFICIENT OF 7.064 KM-1.
C
IF (K.EQ.2) D = EE(1)
A(K) = AA(1)
C
C IF THE SURFACE EXTINCTION IS GREATER THAN THE UPPER LIMIT OF 92.1
C KM**-1, RUN THE ALGORITHM WITH AN UPPER LIMIT OF 'D+10'.
C
IF (D.GE.AA(1)) A(K) = D+10.0
C(K) = CC(1)
IF (ZT.LE.0.0) WRITE (IPR,940)
IF (ZT.LE.0.0) WRITE (IPR,945)
IF (ZT.GT.0.0) WRITE (IPR,955) ZT
C
C IF THE DISTANCE FROM THE GROUND TO THE CLOUD/FOG TOP IS LESS
C THAN 2.0 KM, VSA WILL ONLY CALCULATE UP TO THE CLOUD TOP.
C
IF (ZT.LE.0.0) ZT = 200.
HMAX = AMIN1(ZT+ZC,HMAX)
GO TO 60
C
C CASE 2: HAZY/LIGHTLY FOGGY; INCREASING EXTINCTION WITH HEIGHT
C UP TO THE CLOUD BASE.
C
30 A(K) = AA(2)
E = EE(1)
IF (ZC.EQ.0.0) WRITE (IPR,905)
IF (ZC.EQ.0.0) CEIL = ALOG(ALOG(E/A(K))/(ALOG(D/A(K))))/CC(2)
IF (ZC.EQ.0.0) WRITE (IPR,935) CEIL
IF (ZC.GT.0.0) WRITE (IPR,950) ZC
IF (ZC.EQ.0.0) ZC = CEIL
GO TO 60
C
C CASE 2': CLEAR/HAZY; INCREASING EXTINCTION WITH HEIGHT, BUT LESS
C SO THAN CASE 2, UP TO THE CLOUD BASE.
C
40 A(K) = D*0.9
E = EE(1)
IF (ZC.EQ.0.0) WRITE (IPR,905)
IF (ZC.EQ.0.0) WRITE (IPR,920)
IF (ZC.GT.0.0) WRITE (IPR,950) ZC
IF (ZC.EQ.0.0) ZC = 1800.
GO TO 60
C
C CASE 3: NO CLOUD CEILING BUT A RADIATION FOG OR AN INVERSION
C OR BOUNDARY LAYER PRESENT; DECREASING EXTINCTION WITH
C HEIGHT UP TO THE HEIGHT OF THE FOG OR LAYER.
C
50 A(K) = D*1.1
E = EE(3)
IF (IHAZE.EQ.2.OR.IHAZE.EQ.5) E = EE(2)
IF (IHAZE.EQ.6.OR.(VIS.GT.2.0.AND.IHAZE.NE.9)) E = EE(4)
IF (E.GT.D) E = D*0.99999
IF (ZT.GT.0.0.AND.ZINV.EQ.0.0.AND.VIS.LE.2.0) ZINV = ZT
IF (ZINV.EQ.0.0.AND.VIS.GT.2.0.AND.IHAZE.NE.9) WRITE (IPR,910)
IF (ZINV.EQ.0.0.AND.(VIS.LE.2.0.OR.IHAZE.EQ.9)) WRITE (IPR,915)
IF (ZINV.EQ.0.0.AND.(VIS.LE.2.0.OR.IHAZE.EQ.9)) WRITE (IPR,945)
IF (ZINV.GT.0.0.AND.VIS.GT.2.0.AND.IHAZE.NE.9) WRITE (IPR,960)
* ZINV
IF (ZINV.GT.0.0.AND.(VIS.LE.2.0.OR.IHAZE.EQ.9)) WRITE (IPR,965)
* ZINV
IF (ZINV.EQ.0.0.AND.VIS.GT.2.0.AND.IHAZE.NE.9) ZINV = 2000
IF (ZINV.EQ.0.0.AND.(VIS.LE.2.0.OR.IHAZE.EQ.9)) ZINV = 200
HMAX = AMIN1(ZINV,HMAX)
ZC = 0.0
C
C CASE 4: NO CLOUD CEILING OR INVERSION LAYER;
C CONSTANT EXTINCTION WITH HEIGHT.
C
60 IF (IC.NE.4) B(K) = ALOG(D/A(K))
IF (IC.EQ.4) WRITE (IPR,970)
IF (IC.EQ.2) THEN
C(K) = ALOG(ALOG(E/A(K))/B(K))/(ZC-SZ)
ENDIF
IF (IC.EQ.3) C(K) = ALOG(ALOG(E/A(K))/B(K))/ZINV
IF (ZC.LT.HMAX.AND.K.EQ.1.AND.IC.EQ.2) GO TO 20
IF (IC.EQ.2) HMAX = AMIN1(ZC,HMAX)
ZALGO = HMAX
IF (IC.LT.0) ZALGO = ZC
WRITE (IPR,925)
IF (IC.LT.0) K = 1
C
DO 70 I = 1, 9
IF (IC.LT.0.AND.I.EQ.5) K = 2
IF (IC.LT.0.AND.I.EQ.5) ZALGO = HMAX-ZC
Z(I) = ZALGO*(1.0-FAC2(10-I))
IF (IC.EQ.1) Z(I) = ZALGO*FAC1(I)
IF (IC.EQ.4) Z(I) = ZALGO*FLOAT(I-1)/8.0
IF (IC.LT.0.AND.I.LT.5) Z(I) = ZALGO*(1.0-FAC2(11-2*I))
IF (IC.LT.0.AND.I.GE.5) Z(I) = ZALGO*FAC1(2*I-9)
C
C IF(IC.LT.0.AND.(I.EQ.7.OR.I.EQ.8))Z(I)=ZALGO*FAC1(2*I-10)
C C IF(IC.NE.4)AHAZE(I)=A(K)*EXP(B(K)*EXP(C(K)*Z(I)))
C C IF(IC.EQ.4)AHAZE(I)=D
C
IF (IC.NE.4) THEN
IF ( AHAZE(I) = A(K)*EXP( ELSE
AHAZE(I) = A(K)*EXP( ENDIF
ELSE
AHAZE(I) = D
ENDIF
IF (IC.LE.0.AND.I.GE.5) Z(I) = Z(I)+ZC
Z(I) = Z(I)/KMTOM
RH(I) = 6.953*ALOG(AHAZE(I))+86.407
IF (AHAZE(I).GE.EE(1)) RH(I) = 100.0
VISIB = 3.912/(AHAZE(I)+0.012)
IH(I) = IHAZE
C
C IF A RADIATION FOG IS PRESENT (I.E. VIS<=2.0 KM AND IC=3),
C IH IS SET TO 9 FOR ALL LEVELS.
C
IF (VISIB.LE.2.0.AND.IC.EQ.3) IH(I) = 9
C
C FOR A DEPTH FOG/CLOUD CASE, IH=8 DENOTING AN ADVECTION FOG.
C
IF (IC.EQ.1.OR.(IC.LT.0.AND.I.GE.5)) IH(I) = 8
WRITE (IPR,930) Z(I),RH(I),AHAZE(I),VISIB,IH(I)
70 CONTINUE
HMAX = HMAX/KMTOM
RETURN
C
900 FORMAT('0 VERTICAL STRUCTURE ALGORITHM (VSA) USED')
905 FORMAT(' ',50X,'CLOUD CEILING HEIGHT UNKNOWN')
910 FORMAT(' ',50X,'INVERSION OR BOUNDARY LAYER HEIGHT UNKNOWN',/,
* ' ',50X,'VSA WILL USE A DEFAULT OF 2000.0 METERS',/)
915 FORMAT(' ',50X,'RADIATION FOG DEPTH UNKNOWN')
920 FORMAT(' ',50X,'VSA WILL USE A DEFAULT OF 1800.0 METERS',/)
925 FORMAT(5X,'HEIGHT(KM)',5X,'R.H.(%)',5X,'EXTINCTION(KM-1)',
* 5X,'VIS(3.912/EXTN)',5X,'IHAZE',/)
930 FORMAT(7X,F7.4,7X,F5.1,8X,E12.4,11X,F7.4,10X,I2)
935 FORMAT(' ',39X,'VSA WILL USE A CALCULATED VALUE OF ',F7.1,
* ' METERS',/)
940 FORMAT(' ',50X,'CLOUD DEPTH UNKNOWN')
945 FORMAT(' ',50X,'VSA WILL USE A DEFAULT OF 200.0 METERS',/)
950 FORMAT(' ',50X,'CLOUD CEILING HEIGHT IS ',F9.1,' METERS',/)
955 FORMAT(' ',50X,'CLOUD DEPTH IS ,F14.1,7H METERS',/)
960 FORMAT(' ',50X,'INVERSION OR BOUNDARY LAYER HEIGHT IS ',F7.1,
* ' METERS',/)
965 FORMAT(' ',50X,'DEPTH OF RADIATION FOG IS ',F7.1,' METERS',/)
970 FORMAT(' ',50X,'THERE IS NO INVERSION OR BOUNDARY LAYER OR ',
* 'CLOUD PRESENT',/)
C
END
C
C *****************************************************************
C
SUBROUTINE EXABIN 1
C
C LOADS EXTINCTION, ABSORPTION AND ASYMMETRY COEFFICIENTS
C FOR THE FOUR AEROSOL ALTITUDE REGIONS
C
C MODIFIED FOR ASYMMETRY - JAN 1986 (A.E.R. INC.)
C
C
C MXFSC IS THE MAXIMUM NUMBER OF LAYERS FOR OUTPUT TO LBLRTM
C MXLAY IS THE MAXIMUN NUMBER OF OUTPUT LAYERS
C MXZMD IS THE MAX NUMBER OF LEVELS IN THE ATMOSPHERIC PROFILE
C STORED IN ZMDL (INPUT)
C MXPDIM IS THE MAXIMUM NUMBER OF LEVELS IN THE PROFILE ZPTH
C OBTAINED BY MERGING ZMDL AND ZOUT
C MXMOL IS THE MAXIMUM NUMBER OF MOLECULES, KMXNOM IS THE DEFAULT
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
C
C
C BLANK COMMON FOR ZMDL
C
COMMON RELHUM(MXZMD),HSTOR(MXZMD),ICH(4),VH(16),TX(16),W(16)
COMMON WPATH(IM2,16),TBBY(IM2)
COMMON ABSC(5,47),EXTC(5,47),ASYM(5,47),VX0(47),AWCCON(5)
C
CHARACTER*8 HMOD
C
COMMON HMOD(3),ZM(MXZMD),PF(MXZMD),TF(MXZMD),RFNDXM(MXZMD)
COMMON ZP(IM2),PP(IM2),TP(IM2),RFNDXP(IM2),SP(IM2),
* PPSUM(IM2),TPSUM(IM2),RHOPSM(IM2),
* IMLOW,WGM(MXZMD),DENW(MXZMD)
C
COMMON /LCRD1/ MODEL,ITYPE,IEMSCT,M1,M2,M3,IM,NOPRNT,TBOUND,SALB
COMMON /LCRD2/ IHAZE,ISEASN,IVULCN,ICSTL,ICLD,IVSA,VIS,WSS,WHH,
* RAINRT
COMMON /LCRD2D/ IREG(4),ALTB(4),IREGC(4)
COMMON /LCRD3/ H1,H2,ANGLE,RANGE,BETA,RE,LEN
COMMON /LCRD4/ V1,V2,DV
C
COMMON /EXTD / VX2(47),RUREXT(47,4),RURABS(47,4),RURSYM(47,4),
* URBEXT(47,4),URBABS(47,4),URBSYM(47,4),OCNEXT(47,4),
* OCNABS(47,4),OCNSYM(47,4),TROEXT(47,4),TROABS(47,4),
* TROSYM(47,4),FG1EXT(47),FG1ABS(47),FG1SYM(47),
* FG2EXT(47),FG2ABS(47),FG2SYM(47),BSTEXT(47),BSTABS(47),
* BSTSYM(47),AVOEXT(47),AVOABS(47),AVOSYM(47),FVOEXT(47),
* FVOABS(47),FVOSYM(47),DMEEXT(47),DMEABS(47),DMESYM(47),
* CCUEXT(47),CCUABS(47),CCUSYM(47),CALEXT(47),CALABS(47),
* CALSYM(47),CSTEXT(47),CSTABS(47),CSTSYM(47),CSCEXT(47),
* CSCABS(47),CSCSYM(47),CNIEXT(47),CNIABS(47),CNISYM(47)
COMMON/CIRR/ CI64XT(47),CI64AB(47),CI64G(47),
* CIR4XT(47),CIR4AB(47),CIR4G(47)
C
DIMENSION RHZONE(4)
DIMENSION ELWCR(4),ELWCU(4),ELWCM(4),ELWCT(4)
C
DATA RHZONE/0.,70.,80.,99./
DATA ELWCR/3.517E-04,3.740E-04,4.439E-04,9.529E-04/
DATA ELWCM/4.675E-04,6.543E-04,1.166E-03,3.154E-03/
DATA ELWCU/3.102E-04,3.802E-04,4.463E-04,9.745E-04/
DATA ELWCT/1.735E-04,1.820E-04,2.020E-04,2.408E-04/
DATA AFLWC/1.295E-02/,RFLWC/1.804E-03/,CULWC/7.683E-03/
DATA ASLWC/4.509E-03/,STLWC/5.272E-03/,SCLWC/4.177E-03/
DATA SNLWC/7.518E-03/,BSLWC/1.567E-04/,FVLWC/5.922E-04/
DATA AVLWC/1.675E-04/,MDLWC/4.775E-04/
C
DO 10 I = 1, 47
VX0(I) = VX2(I)
10 CONTINUE
I1 = 1
NB = 1
NE = 46
C
C C IF (IHAZE.EQ.7) I1=2
C C IF(IHAZE.EQ.3) I1 = 2
C C DO 185 M=I1,4
C
DO 260 M = 1, 4
C
C C IF(ICLD.EQ.11.AND.M.EQ.2) GO TO 185
C
IF (IREG(M).NE.0) GO TO 260
ITA = ICH(M)
ITC = ICH(M)-7
ITAS = ITA
47 IF (IREGC(M).NE.0) GO TO 190
WRH = W(15)
IF (ICH(M).EQ.6.AND.M.NE.1) WRH = 70.
C
C THIS CODING DOES NOT ALLOW TROP RH DEPENDENT ABOVE EH(7,I)
C DEFAULTS TO TROPOSPHERIC AT 70. PERCENT
C
DO 20 I = 2, 4
IF (WRH.LT.RHZONE(I)) GO TO 30
20 CONTINUE
I = 4
30 II = I-1
IF (WRH.GT.0.0.AND.WRH.LT.99.) X = ALOG(100.0-WRH)
X1 = ALOG(100.0-RHZONE(II))
X2 = ALOG(100.0-RHZONE(I))
IF (WRH.GE.99.0) X = X2
IF (WRH.LE.0.0) X = X1
DO 180 N = NB, NE
ITA = ITAS
IF (ITA.EQ.3.AND.M.EQ.1) GO TO 40
ABSC(M,N) = 0.
EXTC(M,N) = 0.
ASYM(M,N) = 0.0
IF (ITA.GT.6) GO TO 110
IF (ITA.LE.0) GO TO 180
40 IF (N.GE.41.AND.ITA.EQ.3) ITA = 4
C
C RH DEPENDENT AEROSOLS
C
GO TO (50,50,60,70,80,90), ITA
50 Y2 = ALOG(RUREXT(N,I))
Y1 = ALOG(RUREXT(N,II))
Z2 = ALOG(RURABS(N,I))
Z1 = ALOG(RURABS(N,II))
A2 = ALOG(RURSYM(N,I))
A1 = ALOG(RURSYM(N,II))
E2 = ALOG(ELWCR(I))
E1 = ALOG(ELWCR(II))
GO TO 100
60 IF (M.GT.1) GO TO 70
A2 = ALOG(OCNSYM(N,I))
A1 = ALOG(OCNSYM(N,II))
A = A1+(A2-A1)*(X-X1)/(X2-X1)
ASYM(M,N) = EXP(A)
E2 = ALOG(ELWCM(I))
E1 = ALOG(ELWCM(II))
C
C NAVY MARITIME AEROSOL CHANGES TO MARINE IN MICROWAVE
C NO NEED TO DEFINE EQUIVALENT WATER
C
GO TO 180
70 Y2 = ALOG(OCNEXT(N,I))
Y1 = ALOG(OCNEXT(N,II))
Z2 = ALOG(OCNABS(N,I))
Z1 = ALOG(OCNABS(N,II))
A2 = ALOG(OCNSYM(N,I))
A1 = ALOG(OCNSYM(N,II))
E2 = ALOG(ELWCM(I))
E1 = ALOG(ELWCM(II))
GO TO 100
80 Y2 = ALOG(URBEXT(N,I))
Y1 = ALOG(URBEXT(N,II))
Z2 = ALOG(URBABS(N,I))
Z1 = ALOG(URBABS(N,II))
A2 = ALOG(URBSYM(N,I))
A1 = ALOG(URBSYM(N,II))
E2 = ALOG(ELWCU(I))
E1 = ALOG(ELWCU(II))
GO TO 100
90 Y2 = ALOG(TROEXT(N,I))
Y1 = ALOG(TROEXT(N,II))
Z2 = ALOG(TROABS(N,I))
Z1 = ALOG(TROABS(N,II))
A2 = ALOG(TROSYM(N,I))
A1 = ALOG(TROSYM(N,II))
E2 = ALOG(ELWCT(I))
E1 = ALOG(ELWCT(II))
100 Y = Y1+(Y2-Y1)*(X-X1)/(X2-X1)
ZK = Z1+(Z2-Z1)*(X-X1)/(X2-X1)
A = A1+(A2-A1)*(X-X1)/(X2-X1)
ABSC(M,N) = EXP(ZK)
EXTC(M,N) = EXP(Y)
ASYM(M,N) = EXP(A)
IF (N.EQ.1) EC = E1+(E2-E1)*(X-X1)/(X2-X1)
IF (N.EQ.1) AWCCON(M) = EXP(EC)
GO TO 180
110 IF (ITA.GT.19) GO TO 170
IF (ITC.LT.1) GO TO 180
GO TO (120,130,180,140,150,160,150,160,140,140,160,170), ITC
120 ABSC(M,N) = FG1ABS(N)
EXTC(M,N) = FG1EXT(N)
ASYM(M,N) = FG1SYM(N)
IF (N.EQ.1) AWCCON(M) = AFLWC
GO TO 180
130 ABSC(M,N) = FG2ABS(N)
EXTC(M,N) = FG2EXT(N)
ASYM(M,N) = FG2SYM(N)
IF (N.EQ.1) AWCCON(M) = RFLWC
GO TO 180
140 ABSC(M,N) = BSTABS(N)
EXTC(M,N) = BSTEXT(N)
ASYM(M,N) = BSTSYM(N)
IF (N.EQ.1) AWCCON(M) = BSLWC
GO TO 180
150 ABSC(M,N) = AVOABS(N)
EXTC(M,N) = AVOEXT(N)
ASYM(M,N) = AVOSYM(N)
IF (N.EQ.1) AWCCON(M) = AVLWC
GO TO 180
160 ABSC(M,N) = FVOABS(N)
EXTC(M,N) = FVOEXT(N)
ASYM(M,N) = FVOSYM(N)
ASYM(M,N) = DMESYM(N)
IF (N.EQ.1) AWCCON(M) = FVLWC
GO TO 180
170 ABSC(M,N) = DMEABS(N)
EXTC(M,N) = DMEEXT(N)
IF (N.EQ.1) AWCCON(M) = MDLWC
180 CONTINUE
GO TO 260
190 CONTINUE
C
C CC
C CC SECTION TO LOAD EXTINCTION, ABSORPTION AND ASYMMETRY
C CC COEFFICIENTS FOR CLOUD AND OR RAIN MODELS
C CC
C
DO 250 N = NB, NE
ABSC(M,N) = 0.0
EXTC(M,N) = 0.0
ASYM(M,N) = 0.0
IC = ICLD
GO TO (200,210,220,230,240,220,240,240,200,200,200), IC
200 ABSC(M,N) = CCUABS(N)
EXTC(M,N) = CCUEXT(N)
ASYM(M,N) = CCUSYM(N)
IF (N.EQ.1) AWCCON(M) = CULWC
GO TO 250
210 ABSC(M,N) = CALABS(N)
EXTC(M,N) = CALEXT(N)
ASYM(M,N) = CALSYM(N)
IF (N.EQ.1) AWCCON(M) = ASLWC
GO TO 250
220 ABSC(M,N) = CSTABS(N)
EXTC(M,N) = CSTEXT(N)
ASYM(M,N) = CSTSYM(N)
IF (N.EQ.1) AWCCON(M) = STLWC
GO TO 250
230 ABSC(M,N) = CSCABS(N)
EXTC(M,N) = CSCEXT(N)
ASYM(M,N) = CSCSYM(N)
IF (N.EQ.1) AWCCON(M) = SCLWC
GO TO 250
240 ABSC(M,N) = CNIABS(N)
EXTC(M,N) = CNIEXT(N)
ASYM(M,N) = CNISYM(N)
IF (N.EQ.1) AWCCON(M) = SNLWC
250 CONTINUE
260 CONTINUE
DO 270 N = 1, 47
ABSC(5,N) = 0.
EXTC(5,N) = 0.
ASYM(5,N) = 0.
AWCCON(5) = 0.
IF (ICLD.EQ.18) THEN
ABSC(5,N) = CI64AB(N)
EXTC(5,N) = CI64XT(N)
ASYM(5,N) = CI64G(N)
AWCCON(5) = ASLWC
ENDIF
IF (ICLD.EQ.19) THEN
ABSC(5,N) = CIR4AB(N)
EXTC(5,N) = CIR4XT(N)
ASYM(5,N) = CIR4G(N)
AWCCON(5) = ASLWC
ENDIF
270 CONTINUE
RETURN
C
END
C
C ******************************************************************
C
SUBROUTINE AEREXT (V,IK,RADFT) 1,3
C
C INTERPOLATES AEROSOL EXTINCTION, ABSORPTION, AND ASYMMETRY
C COEFFICIENTS FOR THE WAVENUMBER, V, WITHOUT THE RADIATION FIELD.
C
C MODIFIED FOR ASYMMETRY - JAN 1986 (A.E.R. INC.)
C
C
C MXFSC IS THE MAXIMUM NUMBER OF LAYERS FOR OUTPUT TO LBLRTM
C MXLAY IS THE MAXIMUN NUMBER OF OUTPUT LAYERS
C MXZMD IS THE MAX NUMBER OF LEVELS IN THE ATMOSPHERIC PROFILE
C STORED IN ZMDL (INPUT)
C MXPDIM IS THE MAXIMUM NUMBER OF LEVELS IN THE PROFILE ZPTH
C OBTAINED BY MERGING ZMDL AND ZOUT
C MXMOL IS THE MAXIMUM NUMBER OF MOLECULES, KMXNOM IS THE DEFAULT
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
C
C
C BLANK COMMON FOR ZMDL
C
COMMON RELHUM(MXZMD),HSTOR(MXZMD),ICH(4),VH(16),TX(16),W(16)
COMMON WPATH(IM2,16),TBBY(IM2)
COMMON ABSC(5,47),EXTC(5,47),ASYC(5,47),VX2(47),AWCCON(5)
C
CHARACTER*8 HMOD
C
COMMON HMOD(3),ZM(MXZMD),PF(MXZMD),TF(MXZMD),RFNDXM(MXZMD)
COMMON ZP(IM2),PP(IM2),TP(IM2),RFNDXP(IM2),SP(IM2),
* PPSUM(IM2),TPSUM(IM2),RHOPSM(IM2),
* IMLOW,WGM(MXZMD),DENW(MXZMD)
C
COMMON /LCRD1/ MODEL,ITYPE,IEMSCT,M1,M2,M3,IM,NOPRNT,TBOUND,SALB
COMMON /LCRD2/ IHAZE,ISEASN,IVULCN,ICSTL,ICLD,IVSA,VIS,WSS,WHH,
* RAINRT
COMMON /LCRD3/ H1,H2,ANGLE,RANGE,BETA,RE,LEN
COMMON /LCRD4/ V1,V2,DV
COMMON /CNTRL/ KMAX,M,IKMAX,NL,ML,IKLO,ISSGEO,IDUM1,IDUM2
COMMON /MODEL/ ZMDL(MXZMD),PM(MXZMD),TM(MXZMD),
* RFNDX(MXZMD),DENSTY(16,MXZMD),
* CLDAMT(MXZMD),RRAMT(MXZMD),EQLWC(MXZMD),HAZEC(MXZMD)
COMMON /AER/ EXTV(5),ABSV(5),ASYV(5)
C
C CC
C CC REDEFINE EXTC(47) AND ABSC(47) IF ALAM GT 200 MICRONS
C CC
C
IF (V.LE.1.0E-5) GO TO 80
IF (RADFT.LE.0.) GO TO 80
IF (V.LE.33.333) GO TO 60
C
C CC
C CC COMPUTE INFRARED ATTENUATION COEFFICIENT
C CC
C
IF (V.LE.50.0) THEN
DO 10 MR = 1, 5
EXTC(MR,47) = GAMFOG
(33.333,TBBY(IK),AWCCON(MR))
ABSC(MR,47) = EXTC(MR,47)
ASYC(MR,47) = 0.0
10 CONTINUE
ENDIF
DO 20 I = 1, 4
EXTV(I) = 0.
ABSV(I) = 0.
ASYV(I) = 0.
20 CONTINUE
C
C C IF (IHAZE.EQ.0) RETURN
C
ALAM = 1.0E+4/V
DO 30 N = 2, 47
XD = ALAM-VX2(N)
IF (XD.lt.0.) go to 40
30 CONTINUE
N = 47
40 VXD = VX2(N)-VX2(N-1)
DO 50 I = 1, 5
ASYV(I) = (ASYC(I,N)-ASYC(I,N-1))*XD/VXD+ASYC(I,N)
EXTV(I) = (EXTC(I,N)-EXTC(I,N-1))*XD/VXD+EXTC(I,N)
ABSV(I) = (ABSC(I,N)-ABSC(I,N-1))*XD/VXD+ABSC(I,N)
EXTV(I) = EXTV(I)/RADFT
ABSV(I) = ABSV(I)/RADFT
50 CONTINUE
RETURN
C
C CC
C
60 CONTINUE
C
C CC COMPUTE MICROWAVE ATTENUATION COEFFICIENTS
C CC
C
DO 70 I = 1, 5
EXTV(I) = GAMFOG
(V,TBBY(IK),AWCCON(I))
ABSV(I) = EXTV(I)
ASYV(I) = 0.0
EXTV(I) = EXTV(I)/RADFT
ABSV(I) = ABSV(I)/RADFT
70 CONTINUE
RETURN
C
C CC
C
80 CONTINUE
C
C CC CALL FUNCTION TO OBTAIN LIMITING VALUE AS FREQ APPROACHES
C CC ZERO USING RAY S MODIFIED DEBYE EQUATIONS
C CC
C CC EQL=EQLWC(IL)
C
DO 90 I = 1, 5
EXTV(I) = ABSLIM
(TBBY(IK),AWCCON(I))
ABSV(I) = EXTV(I)
ASYV(I) = 0.0
C
C WRITE (IPR,300) I,AWCCON(I)
C
90 CONTINUE
RETURN
C
C
END
FUNCTION ABSLIM(TK,AWLWC) 1
C
C CC
C CC FOR CLOUD OR AEROSOL ATTENUATION AS FREQ APPROACHES ZERO
C CC MODIFIED DEBYE EQUATIONS FROM RAY (1972) APPL. OPTICS VOL 11
C CC
C CC ANO= 8.0*10**(-2) (CM-4)
C CC ALM= 41.*RR**(-0.21) (CM-1) RR IN (MM/HR)
C CC
C
DATA PI/3.14159265/
C
C CC ANO=0.08
C CC ALM=41./RR**0.21
C
TC = TK-273.15
C
C CC
C
EFIN = 5.27137+.0216474*TC-.00131198*TC*TC
ES = 78.54*(1.-4.579E-03*(TC-25.)+1.19E-05*(TC-25.)**2-2.8E-08*(TC
* -25.)**3)
SLAMBD = 3.3836E-04*EXP(2513.98/TK)
C
C CC
C CC VOL=PI*ANO*ALM**(-4)
C
ESMIE2 = (ES-EFIN)/(ES+2.0)**2
C
C CC
C CC DIVIDE VOLUME EQUIVALENT LIQUID BY 10 FOR UNITS CONVERSION
C CC
C
EQLWC = AWLWC/10.0
C
C CC
C
ABSLIM = 0.6951*TK*36.0*PI*EQLWC*SLAMBD*ESMIE2
C
C CC
C
RETURN
END
BLOCK DATA TITLE
C
C > BLOCK DATA
C TITLE INFORMATION
C
CHARACTER*20 HHAZE,HSEASN,HVULCN,HMET,HMODEL,BLANK
CHARACTER*24 HTRRAD
COMMON /TITL/ HHAZE(16),HSEASN(2),HVULCN(8),BLANK,
* HMET(2),HMODEL(8),HTRRAD(4)
COMMON /VSBD/ VSB(10)
DATA VSB /23.,5.,0.,23.,5.,50.,23.,0.2,0.5,0./
DATA BLANK/' '/
DATA HHAZE /
* 'RURAL ',
* 'RURAL ',
* 'NAVY MARITIME ',
* 'MARITIME ',
* 'URBAN ',
* 'TROPOSPHERIC ',
* 'USER DEFINED ',
* 'FOG1 (ADVECTTION) ',
* 'FOG2 (RADIATION) ',
* 'DESERT AEROSOL ',
* 'BACKGROUND STRATO ',
* 'AGED VOLCANIC ',
* 'FRESH VOLCANIC ',
* 'AGED VOLCANIC ',
* 'FRESH VOCANIC ',
* 'METEORIC DUST '/
DATA HSEASN /
* 'SPRING-SUMMER ',
* 'FALL-WINTER '/
DATA HVULCN /
* 'BACKGROUND STRATO ',
* 'MODERATE VOLCANIC ',
* 'HIGH VOLCANIC ',
* 'HIGH VOLCANIC ',
* 'MODERATE VOLCANIC ',
* 'MODERATE VOLCANIC ',
* 'HIGH VOLCANIC ',
* 'EXTREME VOLCANIC '/
DATA HMET/
* 'NORMAL ',
* 'TRANSITION '/
DATA HMODEL /
* 'TROPICAL MODEL ',
* 'MIDLATITUDE SUMMER ',
* 'MIDLATITUDE WINTER ',
* 'SUBARCTIC SUMMER ',
* 'SUBARCTIC WINTER ',
* '1976 U S STANDARD ',
* ' ',
* 'MODEL=0 HORIZONTAL '/
DATA HTRRAD/
* 'TRANSMITTANCE ',
* 'RADIANCE ',
* 'RADIANCE+SOLAR SCATTERNG',
* 'TRANSMITTED SOLAR IRRAD.'/
END
BLOCK DATA PRFDTA
C
C > BLOCK DATA
C
C AEROSOL PROFILE DATA
C
C CC 0-2KM
C CC HZ2K=5 VIS PROFILES- 50KM,23KM,10KM,5KM,2KM
C CC >2-10KM
C CC FAWI50=FALL/WINTER 50KM VIS
C CC FAWI23=FALL/WINTER 23KM VIS
C CC SPSU50=SPRING/SUMMER 50KM VIS
C CC SPSU23=SPRING/SUMMER 23KM VIS
C CC >10-30KM
C CC BASTFW=BACKGROUND STRATOSPHERIC FALL/WINTER
C CC VUMOFW=MODERATE VOLCANIC FALL/WINTER
C CC HIVUFW=HIGH VOLCANIC FALL/WINTER
C CC EXVUFW=EXTREME VOLCANIC FALL/WINTER
C CC BASTSS,VUMOSS,HIVUSS,EXVUSS= SPRING/SUMMER
C CC >30-100KM
C CC UPNATM=NORMAL UPPER ATMOSPHERIC
C CC VUTONO=TRANSITION FROM VOLCANIC TO NORMAL
C CC VUTOEX=TRANSITION FROM VOLCANIC TO EXTREME
C CC EXUPAT=EXTREME UPPER ATMOSPHERIC
C
COMMON/PRFD /ZHT(34),HZ2K(34,5),FAWI50(34),FAWI23(34),SPSU50(34),
*SPSU23(34),BASTFW(34),VUMOFW(34),HIVUFW(34),EXVUFW(34),BASTSS(34),
*VUMOSS(34),HIVUSS(34),EXVUSS(34),UPNATM(34),VUTONO(34),
*VUTOEX(34),EXUPAT(34)
DATA ZHT/
* 0., 1., 2., 3., 4., 5., 6., 7., 8.,
* 9., 10., 11., 12., 13., 14., 15., 16., 17.,
* 18., 19., 20., 21., 22., 23., 24., 25., 30.,
* 35., 40., 45., 50., 70., 100.,99999./
DATA HZ2K(1,1),HZ2K(1,2),HZ2K(1,3),HZ2K(1,4),HZ2K(1,5)/
* 6.62E-02, 1.58E-01, 3.79E-01, 7.70E-01, 1.94E+00/
DATA HZ2K(2,1),HZ2K(2,2),HZ2K(2,3),HZ2K(2,4),HZ2K(2,5)/
* 4.15E-02, 9.91E-02, 3.79E-01, 7.70E-01, 1.94E+00/
DATA HZ2K(3,1),HZ2K(3,2),HZ2K(3,3),HZ2K(3,4),HZ2K(3,5)/
* 2.60E-02, 6.21E-02, 6.21E-02, 6.21E-02, 6.21E-02/
DATA FAWI50 /3*0.,
* 1.14E-02, 6.43E-03, 4.85E-03, 3.54E-03, 2.31E-03, 1.41E-03,
* 9.80E-04,7.87E-04,23*0./
DATA FAWI23 /3*0.,
* 2.72E-02, 1.20E-02, 4.85E-03, 3.54E-03, 2.31E-03, 1.41E-03,
* 9.80E-04,7.87E-04, 23*0./
DATA SPSU50 / 3*0.,
* 1.46E-02, 1.02E-02, 9.31E-03, 7.71E-03, 6.23E-03, 3.37E-03,
* 1.82E-03 ,1.14E-03,23*0./
DATA SPSU23 / 3*0.,
* 3.46E-02, 1.85E-02, 9.31E-03, 7.71E-03, 6.23E-03, 3.37E-03,
* 1.82E-03 ,1.14E-03,23*0./
DATA BASTFW /11*0.,
* 7.14E-04, 6.64E-04, 6.23E-04, 6.45E-04, 6.43E-04,
* 6.41E-04, 6.00E-04, 5.62E-04, 4.91E-04, 4.23E-04, 3.52E-04,
* 2.95E-04, 2.42E-04, 1.90E-04, 1.50E-04, 3.32E-05 ,7*0./
DATA VUMOFW /11*0.,
* 1.79E-03, 2.21E-03, 2.75E-03, 2.89E-03, 2.92E-03,
* 2.73E-03, 2.46E-03, 2.10E-03, 1.71E-03, 1.35E-03, 1.09E-03,
* 8.60E-04, 6.60E-04, 5.15E-04, 4.09E-04, 7.60E-05 ,7*0./
DATA HIVUFW /11*0.,
* 2.31E-03, 3.25E-03, 4.52E-03, 6.40E-03, 7.81E-03,
* 9.42E-03, 1.07E-02, 1.10E-02, 8.60E-03, 5.10E-03, 2.70E-03,
* 1.46E-03, 8.90E-04, 5.80E-04, 4.09E-04, 7.60E-05 ,7*0./
DATA EXVUFW /11*0.,
* 2.31E-03, 3.25E-03, 4.52E-03, 6.40E-03, 1.01E-02,
* 2.35E-02, 6.10E-02, 1.00E-01, 4.00E-02, 9.15E-03, 3.13E-03,
* 1.46E-03, 8.90E-04, 5.80E-04, 4.09E-04, 7.60E-05 ,7*0./
DATA BASTSS /11*0.,
* 7.99E-04, 6.41E-04, 5.17E-04, 4.42E-04, 3.95E-04,
* 3.82E-04, 4.25E-04, 5.20E-04, 5.81E-04, 5.89E-04, 5.02E-04,
* 4.20E-04, 3.00E-04, 1.98E-04, 1.31E-04, 3.32E-05 ,7*0./
DATA VUMOSS /11*0.,
* 2.12E-03, 2.45E-03, 2.80E-03, 2.89E-03, 2.92E-03,
* 2.73E-03, 2.46E-03, 2.10E-03, 1.71E-03, 1.35E-03, 1.09E-03,
* 8.60E-04, 6.60E-04, 5.15E-04, 4.09E-04, 7.60E-05 ,7*0./
DATA HIVUSS /11*0.,
* 2.12E-03, 2.45E-03, 2.80E-03, 3.60E-03, 5.23E-03,
* 8.11E-03, 1.20E-02, 1.52E-02, 1.53E-02, 1.17E-02, 7.09E-03,
* 4.50E-03, 2.40E-03, 1.28E-03, 7.76E-04, 7.60E-05 ,7*0./
DATA EXVUSS /11*0.,
* 2.12E-03, 2.45E-03, 2.80E-03, 3.60E-03, 5.23E-03,
* 8.11E-03, 1.27E-02, 2.32E-02, 4.85E-02, 1.00E-01, 5.50E-02,
* 6.10E-03, 2.40E-03, 1.28E-03, 7.76E-04, 7.60E-05 ,7*0./
DATA UPNATM /26*0.,
* 3.32E-05, 1.64E-05, 7.99E-06, 4.01E-06, 2.10E-06, 1.60E-07,
* 9.31E-10, 0. /
DATA VUTONO /26*0.,
* 7.60E-05, 2.45E-05, 7.99E-06, 4.01E-06, 2.10E-06, 1.60E-07,
* 9.31E-10, 0. /
DATA VUTOEX /26*0.,
* 7.60E-05, 7.20E-05, 6.95E-05, 6.60E-05, 5.04E-05, 1.03E-05,
* 4.50E-07, 0. /
DATA EXUPAT /26*0.,
* 3.32E-05, 4.25E-05, 5.59E-05, 6.60E-05, 5.04E-05, 1.03E-05,
* 4.50E-07, 0. /
END
BLOCK DATA EXTDTA
C
C > BLOCK DATA
C CC
C CC ALTITUDE REGIONS FOR AEROSOL EXTINCTION COEFFICIENTS
C CC
C CC
C CC 0-2KM
C CC RUREXT=RURAL EXTINCTION RURABS=RURAL ABSORPTION
C CC RURSYM=RURAL ASYMMETRY FACTORS
C CC URBEXT=URBAN EXTINCTION URBABS=URBAN ABSORPTION
C CC URBSYM=URBAN ASYMMETRY FACTORS
C CC OCNEXT=MARITIME EXTINCTION OCNABS=MARITIME ABSORPTIO
C CC OCNSYM=MARITIME ASYMMETRY FACTORS
C CC TROEXT=TROPSPHER EXTINCTION TROABS=TROPOSPHER ABSORP
C CC TROSYM=TROPSPHERIC ASYMMETRY FACTORS
C CC FG1EXT=FOG1 .2KM VIS EXTINCTION FG1ABS=FOG1 ABSORPTI
C CC FG1SYM=FOG1 ASYMMETRY FACTORS
C CC FG2EXT=FOG2 .5KM VIS EXTINCTION FG2ABS=FOG2 ABSORPTI
C CC FG2SYM=FOG2 ASYMMETRY FACTORS
C CC >2-10KM
C CC TROEXT=TROPOSPHER EXTINCTION TROABS=TROPOSPHER ABSOR
C CC TROSYM=TROPOSPHERIC ASYMMETRY FACTORS
C CC >10-30KM
C CC BSTEXT=BACKGROUND STRATOSPHERIC EXTINCTION
C CC BSTABS=BACKGROUND STRATOSPHERIC ABSORPTION
C CC BSTSYM=BACKGROUND STRATOSPHERIC ASYMMETRY FACTORS
C CC AVOEXT=AGED VOLCANIC EXTINCTION
C CC AVOABS=AGED VOLCANIC ABSORPTION
C CC AVOSYM=AGED VOLCANIC ASYMMETRY FACTORS
C CC FVOEXT=FRESH VOLCANIC EXTINCTION
C CC FVOABS=FRESH VOLCANIC ABSORPTION
C CC FVOSYM=FRESH VOLCANIC ASYMMETRY FACTORS
C CC >30-100KM
C CC DMEEXT=METEORIC DUST EXTINCTION
C CC DMEABS=METEORIC DUST ABSORPTION
C CC DMESYM=METEORIC DUST ASYMMETRY FACTORS
C
C AEROSOL EXTINCTION AND ABSORPTION DATA
C
C MODIFIED TO INCLUDE ASYMMETRY DATA - JAN 1986 (A.E.R. INC.)
C
C COMMON /EXTD /VX2(40),RUREXT(40,4),RURABS(40,4),URBEXT(40,4),
C 1URBABS(40,4),OCNEXT(40,4),OCNABS(40,4),TROEXT(40,4),TROABS(40,4),
C 2FG1EXT(40),FG1ABS(40),FG2EXT(40),FG2ABS(40),
C 3 BSTEXT(40),BSTABS(40),AVOEXT(40),AVOABS(40),FVOEXT(40)
C 4),FVOABS(40),DMEEXT(40),DMEABS(40)
C
COMMON /EXTD / VX2(47),RURE1(47),RURE2(47),RURE3(47),RURE4(47),
* RURA1(47),RURA2(47),RURA3(47),RURA4(47),
* RURG1(47),RURG2(47),RURG3(47),RURG4(47),
* URBE1(47),URBE2(47),URBE3(47),URBE4(47),
* URBA1(47),URBA2(47),URBA3(47),URBA4(47),
* URBG1(47),URBG2(47),URBG3(47),URBG4(47),
* OCNE1(47),OCNE2(47),OCNE3(47),OCNE4(47),
* OCNA1(47),OCNA2(47),OCNA3(47),OCNA4(47),
* OCNG1(47),OCNG2(47),OCNG3(47),OCNG4(47),
* TROE1(47),TROE2(47),TROE3(47),TROE4(47),
* TROA1(47),TROA2(47),TROA3(47),TROA4(47),
* TROG1(47),TROG2(47),TROG3(47),TROG4(47),
* FG1EXT(47),FG1ABS(47),FG1SYM(47),FG2EXT(47),FG2ABS(47),
* FG2SYM(47),BSTEXT(47),BSTABS(47),BSTSYM(47),AVOEXT(47),
* AVOABS(47),AVOSYM(47),FVOEXT(47),FVOABS(47),FVOSYM(47),
* DMEEXT(47),DMEABS(47),DMESYM(47),CCUEXT(47),CCUABS(47),
* CCUSYM(47),CALEXT(47),CALABS(47),CALSYM(47),CSTEXT(47),
* CSTABS(47),CSTSYM(47),CSCEXT(47),CSCABS(47),CSCSYM(47),
* CNIEXT(47),CNIABS(47),CNISYM(47)
C
C CI64-- STANDARD CIRRUS CLOUD MODEL
C ICE 64 MICRON MODE RADIUS CIRRUS CLOUD MODEL
C
C CIR4-- OPTICALLY THIN CIRRUS MODEL
C ICE 4 MICRON MODE RADIUS CIRRUS CLOUD MODEL
C
COMMON/CIRR/ CI64XT(47),CI64AB(47),CI64G(47),
* CIR4XT(47),CIR4AB(47),CIR4G(47)
DATA VX2 /
* .2000, .3000, .3371, .5500, .6943, 1.0600, 1.5360,
* 2.0000, 2.2500, 2.5000, 2.7000, 3.0000, 3.3923, 3.7500,
* 4.5000, 5.0000, 5.5000, 6.0000, 6.2000, 6.5000, 7.2000,
* 7.9000, 8.2000, 8.7000, 9.0000, 9.2000, 10.0000, 10.5910,
* 11.0000, 11.5000, 12.5000, 14.8000, 15.0000, 16.4000, 17.2000,
* 18.5000, 21.3000, 25.0000, 30.0000, 40.0000, 50.0000, 60.0000,
* 80.0000, 100.000, 150.000, 200.000, 300.000/
DATA RURE1 /
* 2.09291, 1.74582, 1.60500, 1.00000, .75203, .41943, .24070,
* .14709, .13304, .12234, .13247, .11196, .10437, .09956,
* .09190, .08449, .07861, .07025, .07089, .07196, .07791,
* .04481, .04399, .12184, .12658, .12829, .09152, .08076,
* .07456, .06880, .06032, .04949, .05854, .06000, .06962,
* .05722, .06051, .05177, .04589, .04304,
* .03582, .03155, .02018, .01469, .00798, .00551, 0./
DATA RURE2 /
* 2.09544, 1.74165, 1.59981, 1.00000, .75316, .42171, .24323,
* .15108, .13608, .12430, .13222, .13823, .11076, .10323,
* .09475, .08728, .08076, .07639, .07797, .07576, .07943,
* .04899, .04525, .12165, .12741, .12778, .09032, .07962,
* .07380, .06880, .06329, .05791, .06646, .06639, .07443,
* .06304, .06443, .05538, .04867, .04519,
* .03821, .03374, .02173, .01587, .00862, .00594, 0./
DATA RURE3 /
* 2.07082, 1.71456, 1.57962, 1.00000, .76095, .43228, .25348,
* .16456, .14677, .13234, .13405, .20316, .12873, .11506,
* .10481, .09709, .08918, .09380, .09709, .08791, .08601,
* .06247, .05601, .11905, .12595, .12348, .08741, .07703,
* .07266, .07044, .07443, .08146, .08810, .08563, .08962,
* .08051, .07677, .06658, .05747, .05184,
* .04572, .04074, .02689, .01981, .01084, .00714, 0./
DATA RURE4 /
* 1.66076, 1.47886, 1.40139, 1.00000, .80652, .50595, .32259,
* .23468, .20772, .18532, .17348, .35114, .20006, .17386,
* .16139, .15424, .14557, .16215, .16766, .14994, .14032,
* .12968, .12601, .13551, .13582, .13228, .11070, .09994,
* .09873, .10418, .13241, .15924, .16139, .15949, .15778,
* .15184, .13848, .12563, .11076, .09601,
* .09312, .08720, .06644, .05264, .03181, .02196, 0.0/
DATA RURA1 /
* .67196, .11937, .08506, .05930, .05152, .05816, .05006,
* .01968, .02070, .02101, .05652, .02785, .01316, .00867,
* .01462, .01310, .01627, .02013, .02165, .02367, .03538,
* .02823, .03962, .06778, .07285, .08120, .04032, .03177,
* .02557, .02342, .02177, .02627, .03943, .03114, .03696,
* .02956, .03500, .03241, .03297, .03380,
* .03170, .02794, .01769, .01305, .00730, .00518, 0.0/
DATA RURA2 /
* .62968, .10816, .07671, .05380, .04684, .05335, .04614,
* .01829, .01899, .01962, .05525, .06816, .01652, .00867,
* .01544, .01373, .01627, .02892, .02829, .02532, .03487,
* .02835, .03854, .06684, .07272, .08038, .03987, .03247,
* .02816, .02816, .03101, .03741, .04829, .04032, .04399,
* .03734, .03956, .03601, .03525, .03563,
* .03357, .02965, .01887, .01395, .00782, .00555, 0.0/
DATA RURA3 /
* .51899, .08278, .05816, .04082, .03570, .04158, .03620,
* .01513, .01481, .01633, .05278, .13690, .02494, .00886,
* .01804, .01582, .01677, .04816, .04367, .03013, .03443,
* .02930, .03677, .06209, .06911, .07475, .03892, .03494,
* .03513, .03968, .05152, .06241, .06937, .06203, .06215,
* .05614, .05209, .04608, .04196, .04095,
* .03916, .03486, .02262, .01686, .00951, .00674, 0.0/
DATA RURA4 /
* .21943, .02848, .01943, .01342, .01171, .01437, .01323,
* .01152, .00696, .01329, .06108, .24690, .05323, .01430,
* .03361, .02949, .02652, .09437, .08506, .05348, .04627,
* .04380, .04557, .05380, .05715, .05899, .04861, .05253,
* .06171, .07437, .10152, .12019, .12190, .11734, .11411,
* .10766, .09487, .08430, .07348, .06861,
* .06936, .06458, .04735, .03761, .02313, .01668, 0.0/
DATA RURG1 /
* .7581, .6785, .6712, .6479, .6342, .6176, .6334,
* .7063, .7271, .7463, .7788, .7707, .7424, .7312,
* .7442, .7516, .7662, .7940, .7886, .7797, .7664,
* .8525, .8700, .5846, .5570, .5992, .6159, .6271,
* .6257, .6374, .6546, .6861, .6859, .6120, .5570,
* .5813, .5341, .5284, .5137, .4348, .4223, .3775,
* .3435, .3182, .2791, .2494, .0000/
DATA RURG2 /
* .7632, .6928, .6865, .6638, .6498, .6314, .6440,
* .7098, .7303, .7522, .7903, .7804, .7380, .7319,
* .7508, .7584, .7738, .8071, .7929, .7843, .7747,
* .8507, .8750, .6112, .5851, .6272, .6466, .6616,
* .6653, .6798, .6965, .7026, .6960, .6360, .5848,
* .6033, .5547, .5445, .5274, .4518, .4318, .3863,
* .3516, .3257, .2853, .2548, .0000/
DATA RURG3 /
* .7725, .7240, .7197, .6997, .6858, .6650, .6702,
* .7181, .7378, .7653, .8168, .7661, .7286, .7336,
* .7654, .7735, .7910, .8303, .8025, .7957, .7946,
* .8468, .8734, .6831, .6619, .6994, .7250, .7449,
* .7547, .7665, .7644, .7265, .7170, .6769, .6409,
* .6442, .6031, .5854, .5646, .4977, .4602, .4127,
* .3751, .3476, .3048, .2721, .0000/
DATA RURG4 /
* .7778, .7793, .7786, .7717, .7628, .7444, .7365,
* .7491, .7609, .7921, .8688, .7537, .7294, .7413,
* .7928, .8016, .8225, .8761, .8359, .8285, .8385,
* .8559, .8654, .8414, .8415, .8527, .8740, .8903,
* .8952, .8923, .8611, .8033, .7989, .7758, .7632,
* .7508, .7314, .7091, .6867, .6419, .5790, .5259,
* .4749, .4415, .3886, .3489, .0000/
DATA URBE1 /
* 1.88816, 1.63316, 1.51867, 1.00000, .77785, .47095, .30006,
* .21392, .19405, .17886, .18127, .16133, .14785, .14000,
* .12715, .11880, .11234, .10601, .10500, .10361, .10342,
* .08766, .08652, .11937, .12139, .12297, .09797, .09057,
* .08595, .08196, .07563, .06696, .07209, .06842, .07177,
* .06354, .06177, .05373, .04728, .04051,
* .03154, .02771, .01759, .01278, .00693, .00480, 0.0/
DATA URBE2 /
* 1.95582, 1.64994, 1.53070, 1.00000, .77614, .46639, .29487,
* .21051, .18943, .17285, .17209, .21418, .15354, .14051,
* .12728, .11861, .11089, .11329, .11323, .10563, .10247,
* .08696, .08361, .12013, .12418, .12304, .09614, .08842,
* .08487, .08285, .08361, .08430, .08880, .08449, .08601,
* .07835, .07323, .06367, .05500, .04747,
* .03901, .03454, .02240, .01638, .00891, .00612, 0.0/
DATA URBE3 /
* 1.96430, 1.64032, 1.52392, 1.00000, .77709, .46253, .28690,
* .20310, .17981, .16101, .15614, .26475, .15456, .13563,
* .12215, .11361, .10500, .11715, .11753, .10392, .09766,
* .08443, .08057, .10943, .11342, .11063, .08703, .08025,
* .07886, .08032, .09101, .10070, .10386, .09943, .09886,
* .09152, .08247, .07152, .06089, .05253,
* .04582, .04091, .02717, .02008, .01103, .00754, 0.0/
DATA URBE4 /
* 1.41266, 1.33816, 1.29114, 1.00000, .83646, .55025, .35342,
* .25285, .21576, .18310, .16215, .37854, .20494, .16665,
* .14778, .13892, .12943, .15525, .15709, .13513, .12481,
* .11759, .11494, .11487, .11329, .11108, .09911, .09209,
* .09342, .10120, .13177, .15696, .15766, .15513, .15203,
* .14532, .13038, .11785, .10411, .09101,
* .08907, .08399, .06579, .05337, .03372, .02379, 0.0/
DATA URBA1 /
* .78437, .58975, .54285, .36184, .29222, .20886, .15658,
* .12329, .11462, .10747, .11797, .10025, .08759, .08184,
* .07506, .07006, .06741, .06601, .06544, .06449, .06665,
* .06278, .06949, .07316, .07462, .08101, .05753, .05272,
* .04899, .04734, .04494, .04443, .05133, .04348, .04443,
* .03994, .03981, .03633, .03468, .03146,
* .02809, .02471, .01556, .01145, .00639, .00454, 0.0/
DATA URBA2 /
* .69032, .49367, .45165, .29741, .24070, .17399, .13146,
* .10354, .09589, .09025, .10411, .15101, .07880, .06949,
* .06570, .06095, .05829, .07171, .06797, .05975, .06013,
* .05589, .06051, .07139, .07494, .07956, .05525, .05184,
* .05089, .05291, .05886, .06380, .06880, .06127, .06019,
* .05525, .05070, .04500, .04076, .03741,
* .03400, .03010, .01926, .01427, .00800, .00567, 0.0/
DATA URBA3 /
* .54848, .37101, .33734, .21949, .17785, .12968, .09854,
* .07804, .07165, .06791, .08563, .19639, .06722, .05316,
* .05316, .04886, .04620, .07570, .06899, .05291, .05101,
* .04734, .05025, .06171, .06570, .06854, .04892, .04797,
* .05057, .05665, .07127, .08095, .08411, .07728, .07475,
* .06886, .06019, .05222, .04538, .04171,
* .03911, .03486, .02271, .01697, .00961, .00681, 0.0/
DATA URBA4 /
* .15975, .10000, .09013, .05785, .04671, .03424, .02633,
* .02525, .01975, .02354, .06241, .26690, .05810, .02285,
* .03810, .03386, .03044, .09627, .08557, .05405, .04576,
* .04392, .04424, .04671, .04791, .04861, .04684, .05177,
* .06158, .07475, .10342, .12146, .12177, .11734, .11335,
* .10608, .09171, .08063, .06968, .06475,
* .06559, .06131, .04591, .03714, .02365, .01734, 0.0/
DATA URBG1 /
* .7785, .7182, .7067, .6617, .6413, .6166, .6287,
* .6883, .7070, .7243, .7370, .7446, .7391, .7371,
* .7414, .7435, .7466, .7543, .7498, .7424, .7270,
* .7674, .7850, .5880, .5616, .5901, .6159, .6238,
* .6240, .6281, .6306, .6298, .6252, .5785, .5378,
* .5512, .5072, .4930, .4709, .4009, .4110, .3672,
* .3344, .3093, .2717, .2426, .0000/
DATA URBG2 /
* .7906, .7476, .7385, .6998, .6803, .6536, .6590,
* .7066, .7258, .7484, .7769, .7405, .7351, .7459,
* .7625, .7673, .7759, .7910, .7732, .7703, .7644,
* .7966, .8142, .6635, .6428, .6700, .6935, .7050,
* .7092, .7145, .7094, .6762, .6684, .6316, .5997,
* .6013, .5625, .5433, .5198, .4552, .4387, .3928,
* .3575, .3310, .2899, .2588, .0000/
DATA URBG3 /
* .7949, .7713, .7650, .7342, .7162, .6873, .6820,
* .7131, .7312, .7583, .8030, .7171, .7185, .7400,
* .7698, .7778, .7923, .8142, .7864, .7867, .7891,
* .8147, .8298, .7276, .7136, .7361, .7590, .7729,
* .7783, .7808, .7624, .7094, .7022, .6714, .6480,
* .6417, .6104, .5887, .5651, .5058, .4692, .4212,
* .3825, .3549, .3112, .2778, .0000/
DATA URBG4 /
* .7814, .7993, .7995, .7948, .7870, .7682, .7751,
* .7501, .7565, .7809, .8516, .7137, .7039, .7241,
* .7728, .7846, .8093, .8576, .8125, .8140, .8304,
* .8472, .8549, .8525, .8569, .8640, .8853, .9017,
* .9061, .9021, .8685, .8126, .8091, .7897, .7802,
* .7691, .7550, .7353, .7146, .6754, .6134, .5601,
* .5056, .4701, .4134, .3714, .0000/
DATA OCNE1 /
* 1.47576, 1.32614, 1.26171, 1.00000, .88133, .70297, .56487,
* .46006, .42044, .38310, .35076, .42266, .32278, .28810,
* .24905, .21184, .16734, .14791, .21532, .15076, .12057,
* .10038, .10703, .15070, .15665, .14639, .10228, .08367,
* .07373, .06829, .05044, .04373, .04962, .06158, .07703,
* .07234, .06297, .05481, .05329, .08741,
* .04608, .03959, .02382, .01712, .00936, .00665, 0.0/
DATA OCNE2 /
* 1.36924, 1.25443, 1.20835, 1.00000, .91367, .77089, .64987,
* .54886, .50247, .45038, .38209, .50589, .43766, .38076,
* .31658, .27475, .22215, .21019, .27570, .21057, .16949,
* .14209, .14215, .16956, .17082, .16025, .11665, .09759,
* .09215, .09373, .10532, .12570, .13000, .13633, .14291,
* .13506, .11475, .09658, .08291, .10348,
* .06693, .05786, .03522, .02519, .01358, .00954, 0.0/
DATA OCNE3 /
* 1.22259, 1.14627, 1.11842, 1.00000, .94766, .87538, .80418,
* .72930, .68582, .62165, .49962, .67949, .66468, .59253,
* .49551, .44671, .37886, .35924, .43367, .37019, .30842,
* .26437, .25228, .24905, .23975, .22766, .17804, .15316,
* .15373, .16791, .22361, .28348, .28677, .29082, .29038,
* .27810, .23867, .20209, .16430, .14943,
* .12693, .11177, .07095, .05084, .02690, .01838, 0.0/
DATA OCNE4 /
* 1.09133, 1.06601, 1.05620, 1.00000, .97506, .94791, .94203,
* .93671, .92867, .90411, .80253, .89222, .94462, .92146,
* .85797, .82595, .76747, .68646, .78209, .75266, .68658,
* .62722, .60228, .56335, .53728, .51861, .43449, .37196,
* .35899, .37316, .46854, .58234, .58690, .60348, .60563,
* .60000, .55392, .50367, .43576, .35949,
* .34729, .32254, .23600, .17953, .10071, .06714, 0.0/
DATA OCNA1 /
* .30987, .04354, .02880, .01797, .01468, .01766, .01582,
* .00816, .01146, .01677, .03310, .03380, .00715, .00443,
* .00500, .00601, .00753, .01595, .02943, .00994, .01367,
* .01671, .02538, .03481, .03405, .03601, .01608, .01310,
* .01152, .01082, .01070, .01563, .02063, .03171, .03810,
* .03741, .03804, .03759, .04209, .07892,
* .04347, .03754, .02269, .01649, .00917, .00657, 0.0/
DATA OCNA2 /
* .23367, .03127, .02070, .01297, .01063, .01285, .01190,
* .00937, .00911, .01576, .05576, .23487, .03949, .00905,
* .02057, .01816, .01665, .08025, .08044, .03677, .03139,
* .03190, .03766, .04532, .04544, .04715, .03405, .03614,
* .04329, .05424, .07823, .09728, .10057, .10247, .10222,
* .09551, .08241, .07158, .06506, .09203,
* .06133, .05332, .03258, .02366, .01308, .00932, 0.0/
DATA OCNA3 /
* .13025, .01557, .01013, .00646, .00532, .00665, .00722,
* .01335, .00728, .01810, .09835, .37329, .09703, .01968,
* .05114, .04342, .03709, .17456, .16468, .08785, .06880,
* .06589, .06791, .07247, .07329, .07449, .07025, .07962,
* .09899, .12481, .17867, .22019, .22228, .22051, .21595,
* .20335, .17278, .14677, .12171, .12430,
* .10890, .09644, .06106, .04465, .02457, .01732, 0.0/
DATA OCNA4 /
* .03506, .00323, .00215, .00139, .00114, .00171, .00532,
* .03082, .01101, .03741, .20101, .47608, .21165, .05234,
* .12886, .11215, .09684, .32810, .31778, .20513, .16658,
* .15956, .15842, .15905, .15968, .16051, .16506, .18323,
* .21709, .25652, .33222, .39639, .39854, .40297, .40025,
* .39025, .35468, .32006, .27715, .25348,
* .25632, .23876, .17092, .13198, .07692, .05407, 0.0/
DATA OCNG1 /
* .7516, .6960, .6920, .6756, .6767, .6844, .6936,
* .7055, .7110, .7177, .7367, .6287, .6779, .6784,
* .6599, .6659, .6859, .6887, .6095, .6558, .6665,
* .6697, .6594, .5851, .5644, .5760, .5903, .5991,
* .6024, .5979, .6087, .5837, .5763, .5348, .4955,
* .4821, .4635, .4373, .3944, .2344, .2754, .2447,
* .2266, .2088, .1766, .1481, .0000/
DATA OCNG2 /
* .7708, .7288, .7243, .7214, .7211, .7330, .7445,
* .7579, .7649, .7790, .8182, .7673, .7171, .7205,
* .7235, .7251, .7397, .7537, .6934, .7137, .7193,
* .7206, .7151, .6732, .6620, .6696, .6821, .6895,
* .6898, .6819, .6556, .5925, .5869, .5511, .5284,
* .5124, .4912, .4646, .4302, .3124, .3101, .2752,
* .2529, .2335, .2021, .1738, .0000/
DATA OCNG3 /
* .7954, .7782, .7752, .7717, .7721, .7777, .7872,
* .8013, .8089, .8301, .8844, .8332, .7557, .7597,
* .7823, .7822, .7944, .8157, .7712, .7738, .7784,
* .7807, .7800, .7682, .7659, .7692, .7780, .7828,
* .7776, .7621, .7115, .6342, .6294, .5999, .5854,
* .5700, .5512, .5265, .4996, .4236, .3765, .3357,
* .3066, .2830, .2466, .2184, .0000/
DATA OCNG4 /
* .8208, .8270, .8260, .8196, .8176, .8096, .8096,
* .8202, .8255, .8520, .9228, .8950, .7965, .7847,
* .8242, .8244, .8376, .8857, .8463, .8332, .8379,
* .8441, .8467, .8502, .8534, .8562, .8688, .8789,
* .8785, .8683, .8252, .7562, .7519, .7261, .7141,
* .6980, .6789, .6540, .6294, .5783, .5100, .4595,
* .4164, .3868, .3404, .3042, .0000/
DATA TROE1 /
* 2.21222, 1.82753, 1.67032, 1.00000, .72424, .35272, .15234,
* .05165, .03861, .02994, .04671, .02462, .01538, .01146,
* .01032, .00816, .00861, .00994, .01057, .01139, .01747,
* .01494, .02418, .03165, .03386, .04247, .01601, .01215,
* .00937, .00861, .00823, .01139, .01924, .01234, .01348,
* .01114, .01297, .01266, .01418, .01487,
* .01543, .01321, .00793, .00582, .00330, .00239, 0.0/
DATA TROE2 /
* 2.21519, 1.82266, 1.66557, 1.00000, .72525, .35481, .15449,
* .05475, .04044, .03082, .04620, .05272, .01867, .01266,
* .01127, .00886, .00886, .01449, .01399, .01228, .01728,
* .01475, .02285, .03215, .03494, .04285, .01652, .01304,
* .01101, .01120, .01297, .01753, .02468, .01741, .01766,
* .01513, .01557, .01456, .01532, .01582,
* .01619, .01386, .00832, .00610, .00346, .00251, 0.0/
DATA TROE3 /
* 2.19082, 1.79462, 1.64456, 1.00000, .73297, .36443, .16278,
* .06468, .04658, .03399, .04538, .11892, .02835, .01646,
* .01386, .01076, .00968, .02551, .02222, .01468, .01690,
* .01437, .01994, .03127, .03513, .04076, .01722, .01513,
* .01519, .01791, .02538, .03272, .03816, .03038, .02886,
* .02551, .02228, .01937, .01804, .01791,
* .01798, .01539, .00924, .00678, .00384, .00278, 0.0/
DATA TROE4 /
* 1.75696, 1.54829, 1.45962, 1.00000, .77816, .43139, .21778,
* .11329, .08101, .05506, .04943, .25291, .06816, .03703,
* .02601, .01968, .01468, .04962, .04247, .02234, .01797,
* .01532, .01633, .02259, .02487, .02595, .01728, .01892,
* .02399, .03247, .05285, .06462, .06608, .05930, .05525,
* .04861, .03753, .02968, .02348, .02165,
* .02152, .01841, .01104, .00809, .00458, .00332, 0.0/
DATA TROA1 /
* .69671, .09905, .06563, .04101, .03354, .03627, .02810,
* .00873, .00918, .00930, .03215, .01285, .00513, .00316,
* .00557, .00494, .00646, .00867, .00937, .01025, .01646,
* .01481, .02418, .02886, .03070, .04032, .01494, .01139,
* .00873, .00816, .00797, .01133, .01911, .01215, .01329,
* .01101, .01291, .01266, .01418, .01487,
* .01543, .01321, .00793, .00582, .00330, .00239, 0.0/
DATA TROA2 /
* .65000, .08791, .05816, .03652, .02994, .03278, .02557,
* .00810, .00842, .00867, .03139, .03949, .00646, .00316,
* .00595, .00519, .00646, .01304, .01247, .01095, .01620,
* .01449, .02278, .02930, .03184, .04063, .01544, .01234,
* .01044, .01076, .01272, .01741, .02462, .01722, .01747,
* .01506, .01551, .01456, .01532, .01582,
* .01619, .01386, .00832, .00610, .00346, .00251, 0.0/
DATA TROA3 /
* .52804, .06367, .04158, .02633, .02184, .02443, .01937,
* .00658, .00646, .00709, .02949, .10013, .00968, .00310,
* .00677, .00582, .00646, .02361, .01994, .01266, .01544,
* .01386, .01968, .02848, .03203, .03854, .01620, .01449,
* .01462, .01747, .02513, .03253, .03797, .03019, .02861,
* .02538, .02215, .01930, .01797, .01791,
* .01797, .01539, .00924, .00677, .00384, .00278, 0.0/
DATA TROA4 /
* .19829, .01842, .01215, .00791, .00665, .00778, .00652,
* .00361, .00253, .00399, .02570, .20690, .01715, .00316,
* .00873, .00728, .00658, .04481, .03525, .01646, .01405,
* .01310, .01468, .01956, .02184, .02367, .01608, .01816,
* .02342, .03203, .05234, .06399, .06538, .05867, .05456,
* .04810, .03715, .02949, .02335, .02158,
* .02149, .01840, .01104, .00809, .00458, .00332, 0.0/
DATA TROG1 /
* .7518, .6710, .6638, .6345, .6152, .5736, .5280,
* .4949, .4700, .4467, .4204, .4028, .3777, .3563,
* .3150, .2919, .2695, .2465, .2402, .2313, .2101,
* .1760, .1532, .2091, .2079, .1843, .1811, .1687,
* .1626, .1526, .1356, .1030, .0962, .1024, .1086,
* .0928, .0836, .0643, .0451, .0290, .0156, .0118,
* .0076, .0050, .0024, .0015, .0000/
DATA TROG2 /
* .7571, .6858, .6790, .6510, .6315, .5887, .5418,
* .5075, .4829, .4598, .4338, .4043, .3890, .3680,
* .3259, .3026, .2800, .2541, .2494, .2414, .2196,
* .1873, .1657, .2123, .2110, .1890, .1836, .1709,
* .1640, .1534, .1354, .1044, .0984, .1026, .1073,
* .0935, .0842, .0661, .0477, .0309, .0171, .0129,
* .0084, .0056, .0027, .0017, .0000/
DATA TROG3 /
* .7667, .7176, .7128, .6879, .6690, .6255, .5769,
* .5403, .5167, .4947, .4703, .4143, .4190, .3993,
* .3563, .3325, .3095, .2767, .2751, .2693, .2464,
* .2175, .1992, .2247, .2215, .2042, .1952, .1814,
* .1726, .1604, .1398, .1111, .1065, .1068, .1086,
* .0984, .0888, .0724, .0549, .0358, .0216, .0166,
* .0109, .0073, .0036, .0023, .0000/
DATA TROG4 /
* .7696, .7719, .7710, .7606, .7478, .7142, .6727,
* .6381, .6201, .6050, .5912, .4849, .5137, .5019,
* .4625, .4389, .4169, .3696, .3707, .3708, .3473,
* .3232, .3112, .3022, .2938, .2850, .2675, .2494,
* .2347, .2165, .1857, .1536, .1509, .1441, .1416,
* .1354, .1245, .1088, .0905, .0614, .0440, .0354,
* .0257, .0179, .0089, .0059, .0000/
DATA FG1EXT /
* .98519, .99155, .99089, 1.00000, 1.00580, 1.01740, 1.03170,
* 1.04140, 1.04700, 1.05320, 1.05890, 1.04900, 1.06820, 1.07800,
* 1.09270, 1.10370, 1.11680, 1.10430, 1.11370, 1.12900, 1.14990,
* 1.17210, 1.18280, 1.20140, 1.21260, 1.21950, 1.22680, 1.15590,
* 1.05690, .98291, 1.01120, 1.10910, 1.11460, 1.14670, 1.16250,
* 1.18540, 1.21580, 1.24610, 1.26840, 1.20500, 1.20850, 1.23340,
* 1.19560, 1.06530, .68949, .42888, 0.00000/
DATA FG1ABS /
* .00012, .00001, .00001, .00000, .00001, .00095, .01515,
* .10858, .03890, .13270, .47131, .49695, .45787, .17915,
* .37373, .34600, .31866, .55187, .55023, .49984, .46341,
* .45944, .45916, .46087, .46240, .46386, .47193, .48902,
* .51470, .53099, .55264, .58664, .58897, .60369, .61155,
* .62335, .64120, .65627, .66278, .66393, .69344, .71087,
* .67625, .61180, .42130, .29086, 0.00000/
DATA FG1SYM /
* .8578, .8726, .8722, .8717, .8703, .8652, .8618,
* .8798, .8689, .8918, .9641, .9502, .9297, .8544,
* .9007, .8885, .8812, .9604, .9470, .9193, .9039,
* .9039, .9057, .9110, .9158, .9194, .9381, .9537,
* .9595, .9587, .9418, .9101, .9081, .8957, .8898,
* .8812, .8685, .8491, .8246, .7815, .7148, .6480,
* .5481, .4725, .3457, .2575, .0000/
DATA FG2EXT /
* .94790, .96213, .97061, 1.00000, 1.00940, 1.05180, 1.12520,
* 1.29570, 1.39200, 1.41120, 1.04720, 1.10820, 1.43290, 1.45270,
* 1.18710, 1.04370, .82356, .71746, .92406, .79342, .60263,
* .47680, .43171, .36732, .33259, .31184, .24137, .21603,
* .24005, .28816, .42671, .56861, .57263, .58090, .57164,
* .54247, .43983, .34475, .24907, .19291, .18500, .15586,
* .09047, .06445, .03533, .02529, 0.00000/
DATA FG2ABS /
* .00002, .00000, .00000, .00000, .00000, .00016, .00245,
* .01987, .00619, .02323, .17209, .57930, .19812, .03474,
* .09636, .07999, .06585, .34591, .32704, .17023, .12635,
* .11817, .11624, .11519, .11538, .11600, .12327, .14468,
* .18635, .24056, .35412, .44884, .45092, .45215, .44281,
* .41778, .34433, .27826, .21066, .17864, .17626, .15028,
* .08844, .06358, .03515, .02523, 0.00000/
DATA FG2SYM /
* .8388, .8459, .8419, .8286, .8224, .7883, .7763,
* .8133, .8393, .8767, .9258, .8982, .7887, .8082,
* .8319, .8243, .8210, .8282, .8037, .7904, .7728,
* .7528, .7436, .7274, .7171, .7100, .6790, .6520,
* .6305, .6020, .5475, .4577, .4511, .4084, .3872,
* .3566, .2976, .2340, .1711, .0956, .0623, .0454,
* .0286, .0190, .0090, .0052, .0000/
DATA BSTEXT /
* 1.48671, 1.55462, 1.51506, 1.00000, .70633, .28867, .09994,
* .04184, .02728, .01848, .01335, .06513, .08930, .06532,
* .04766, .04278, .05810, .05367, .04392, .03342, .04456,
* .11867, .14709, .12734, .09291, .08778, .05019, .04070,
* .05734, .03576, .01975, .01892, .01956, .03665, .04152,
* .01715, .01620, .00835, .00633, .00589,
* .01393, .01193, .00716, .00526, .00298, .00216, 0.0/
DATA BSTABS /
* 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, 0.00000, .00019,
* .00127, .00158, .00291, .00405, .05880, .08297, .06019,
* .04519, .04133, .05703, .05266, .04304, .03285, .04437,
* .11816, .14633, .12639, .09215, .08722, .04968, .04044,
* .05709, .03551, .01962, .01892, .01949, .03665, .04146,
* .01709, .01620, .00835, .00633, .00589,
* .01393, .01193, .00716, .00526, .00298, .00216, 0.0/
DATA BSTSYM /
* .6804, .7134, .7253, .7259, .6943, .5918, .4465,
* .3223, .2686, .2233, .1916, .1580, .1299, .1108,
* .0780, .0629, .0515, .0454, .0426, .0379, .0287,
* .0222, .0204, .0206, .0214, .0202, .0205, .0169,
* .0150, .0157, .0124, .0083, .0080, .0063, .0062,
* .0062, .0043, .0034, .0024, .0013, .0007, .0005,
* .0003, .0002, .0001, .0001, .0000/
DATA AVOEXT /
* 1.14880, 1.19171, 1.18013, 1.00000, .84873, .53019, .27968,
* .14551, .11070, .08633, .07184, .06076, .04506, .03399,
* .02095, .01538, .01266, .01019, .00994, .01044, .01361,
* .01791, .02278, .02918, .03108, .03234, .03456, .03184,
* .02772, .02475, .01715, .01563, .01665, .01646, .01734,
* .01772, .01076, .01051, .01133, .01329,
* .01492, .01277, .00766, .00562, .00318, .00231, 0.0/
DATA AVOABS /
* .44816, .11259, .08500, .05272, .04082, .02449, .01487,
* .01019, .00867, .00842, .00842, .00949, .00741, .00487,
* .00316, .00335, .00399, .00449, .00525, .00665, .01114,
* .01652, .02177, .02437, .02506, .02658, .03006, .02861,
* .02513, .02285, .01620, .01532, .01633, .01620, .01709,
* .01741, .01057, .01038, .01127, .01329,
* .01492, .01277, .00766, .00562, .00318, .00231, 0.0/
DATA AVOSYM /
* .8272, .7148, .7076, .6978, .6886, .6559, .6062,
* .5561, .5255, .4958, .4729, .4401, .4015, .3699,
* .3125, .2773, .2472, .2173, .2054, .1908, .1623,
* .1348, .1233, .1615, .1757, .1712, .1521, .1326,
* .1230, .1081, .0801, .0528, .0514, .0461, .0446,
* .0449, .0415, .0330, .0198, .0097, .0044, .0032,
* .0020, .0013, .0006, .0004, .0000/
DATA FVOEXT /
* .88715, .92532, .94013, 1.00000, 1.03013, 1.05975, 1.01171,
* .88677, .82538, .76361, .71563, .67424, .60589, .55057,
* .45222, .37646, .32316, .25519, .22728, .20525, .17810,
* .14481, .14152, .37639, .44551, .44405, .42222, .36462,
* .32551, .27519, .16728, .10627, .10861, .10886, .11665,
* .13127, .10108, .08557, .06411, .05741,
* .05531, .04707, .02792, .02028, .01136, .00820, 0.0/
DATA FVOABS /
* .41582, .22892, .19108, .14468, .12475, .09158, .06601,
* .04943, .04367, .04342, .04399, .05076, .04133, .02829,
* .01924, .01981, .02297, .02475, .02778, .03411, .05335,
* .07133, .08816, .15342, .18506, .19354, .20791, .18449,
* .16101, .13759, .08456, .06886, .07278, .07367, .07956,
* .08785, .06032, .05747, .05133, .05323,
* .05453, .04657, .02773, .02020, .01135, .00820, 0.0/
DATA FVOSYM /
* .9295, .8115, .7897, .7473, .7314, .7132, .7113,
* .7238, .7199, .7165, .7134, .6989, .6840, .6687,
* .6409, .6325, .6199, .6148, .6142, .6072, .5853,
* .5632, .5486, .4753, .4398, .4329, .4091, .4105,
* .4120, .4136, .4140, .3637, .3577, .3344, .3220,
* .3052, .2957, .2564, .2055, .1229, .0632, .0483,
* .0321, .0216, .0103, .0059, .0000/
DATA DMEEXT /
* 1.05019, 1.05880, 1.05259, 1.00000, .94949, .81456, .66051,
* .54380, .49133, .44677, .41671, .38063, .34778, .32804,
* .29722, .27506, .25082, .22620, .21652, .20253, .17266,
* .14905, .14234, .14082, .15057, .16399, .23608, .24481,
* .27791, .25076, .15272, .09601, .09456, .14576, .12373,
* .18348, .12190, .12924, .08538, .04108,
* .04714, .04069, .02480, .01789, .00980, .00693, 0.0/
DATA DMEABS /
* .00063, .00152, .00184, .00506, .00791, .01829, .03728,
* .06158, .07538, .08943, .10051, .11614, .13310, .14348,
* .14633, .13728, .12462, .11184, .10709, .10076, .09006,
* .08734, .09000, .10304, .11905, .13437, .19551, .20095,
* .22494, .18418, .09285, .06665, .06823, .12329, .10551,
* .16184, .09835, .10582, .06759, .03247,
* .04405, .03816, .02327, .01696, .00946, .00677, 0.0/
DATA DMESYM /
* .7173, .7039, .7020, .6908, .6872, .6848, .6891,
* .6989, .7046, .7099, .7133, .7159, .7134, .7058,
* .6827, .6687, .6583, .6513, .6494, .6475, .6467,
* .6496, .6506, .6461, .6334, .6177, .5327, .5065,
* .4632, .4518, .5121, .5450, .5467, .4712, .4853,
* .3984, .4070, .3319, .3427, .3766, .3288, .2969,
* .2808, .2661, .2409, .2098, .0000/
DATA CCUEXT /
* .98081, .98746, .98915, 1.00000, 1.00650, 1.02230, 1.04180,
* 1.05830, 1.06780, 1.07870, 1.09780, 1.06440, 1.09750, 1.11300,
* 1.14320, 1.16660, 1.20540, 1.15420, 1.17610, 1.21910, 1.26990,
* 1.30300, 1.31090, 1.31060, 1.29940, 1.28640, 1.16620, .98693,
* .88130, .83429, .92012, 1.07340, 1.08150, 1.12680, 1.14770,
* 1.17600, 1.19210, 1.19120, 1.14510, .97814, .96308, .94390,
* .75994, .56647, .26801, .15748, 0.00000/
DATA CCUABS /
* .00007, .00001, .00000, .00000, .00001, .00059, .00956,
* .07224, .02502, .08913, .41512, .51824, .41304, .12614,
* .29826, .26739, .23672, .55428, .55642, .44494, .38433,
* .37277, .37000, .36872, .36896, .36984, .37868, .40498,
* .44993, .48941, .54799, .60964, .61302, .63227, .64074,
* .65112, .65367, .64760, .61924, .59000, .61601, .61058,
* .49236, .38532, .20641, .13474, 0.00000/
DATA CCUSYM /
* .8557, .8676, .8680, .8658, .8630, .8557, .8496,
* .8566, .8464, .8627, .9417, .9458, .8891, .8136,
* .8503, .8400, .8453, .9428, .9168, .8759, .8733,
* .8841, .8894, .8986, .9044, .9082, .9239, .9342,
* .9367, .9331, .9119, .8719, .8692, .8515, .8424,
* .8287, .8059, .7742, .7354, .6554, .5557, .4720,
* .3713, .2990, .1846, .1156, .0000/
DATA CALEXT /
* .97331, .98106, .98472, 1.00000, 1.00850, 1.03090, 1.05770,
* 1.08070, 1.09390, 1.11530, 1.20260, 1.08250, 1.13480, 1.16770,
* 1.26750, 1.33520, 1.41110, 1.18200, 1.28390, 1.38040, 1.38430,
* 1.31200, 1.26540, 1.17160, 1.10410, 1.05640, .83383, .66530,
* .61995, .62907, .77190, .96660, .97609, 1.02520, 1.04380,
* 1.06270, 1.02550, .95714, .82508, .63464, .60962, .54998,
* .34165, .22587, .10647, .07067, 0.00000/
DATA CALABS /
* .00004, .00000, .00000, .00000, .00000, .00036, .00607,
* .04771, .01579, .05734, .33199, .54434, .35157, .08528,
* .21785, .18813, .15982, .52068, .52125, .35294, .28359,
* .26999, .26668, .26477, .26484, .26565, .27546, .30540,
* .36011, .41780, .51479, .60420, .60818, .62781, .63339,
* .63544, .60762, .56843, .50067, .44739, .45910, .42486,
* .27527, .19352, .09932, .06832, 0.00000/
DATA CALSYM /
* .8523, .8632, .8623, .8573, .8532, .8422, .8297,
* .8252, .8145, .8317, .9312, .9383, .8291, .7640,
* .8202, .8276, .8547, .9224, .8859, .8621, .8706,
* .8780, .8804, .8833, .8849, .8858, .8889, .8899,
* .8872, .8790, .8513, .7984, .7944, .7683, .7545,
* .7333, .6939, .6405, .5727, .4313, .3156, .2437,
* .1693, .1185, .0574, .0332, .0000/
DATA CSTEXT /
* .97430, .98324, .98570, 1.00000, 1.00890, 1.03100, 1.05590,
* 1.08130, 1.09760, 1.12170, 1.16390, 1.07880, 1.13660, 1.16990,
* 1.22930, 1.26720, 1.31080, 1.15290, 1.23270, 1.29770, 1.31180,
* 1.27830, 1.25190, 1.19190, 1.14390, 1.10790, .91743, .74497,
* .68246, .67604, .80234, .98329, .99219, 1.03880, 1.05710,
* 1.07730, 1.05460, 1.00640, .90146, .71967, .69823, .65179,
* .44906, .30781, .14114, .08913, 0.00000/
DATA CSTABS /
* .00005, .00001, .00000, .00000, .00000, .00042, .00681,
* .05317, .01779, .06484, .35033, .53843, .36321, .09457,
* .23629, .20663, .17789, .52440, .52484, .37331, .30681,
* .29375, .29057, .28880, .28887, .28969, .29913, .32789,
* .37961, .43212, .51866, .60025, .60398, .62285, .62874,
* .63229, .61185, .58151, .52536, .47993, .49571, .47074,
* .33104, .24066, .12346, .08312, 0.00000/
DATA CSTSYM /
* .8519, .8633, .8629, .8590, .8546, .8432, .8328,
* .8330, .8251, .8439, .9332, .9388, .8422, .7823,
* .8288, .8291, .8482, .9255, .8906, .8613, .8675,
* .8772, .8810, .8869, .8905, .8927, .9016, .9069,
* .9060, .8989, .8714, .8204, .8168, .7932, .7811,
* .7628, .7319, .6905, .6401, .5324, .4233, .3459,
* .2636, .2027, .1120, .0663, .0000/
DATA CSCEXT /
* .96965, .97960, .98266, 1.00000, 1.01040, 1.03530, 1.06590,
* 1.09980, 1.12280, 1.16020, 1.20330, 1.08630, 1.16840, 1.21860,
* 1.28860, 1.32310, 1.33780, 1.11630, 1.24450, 1.30260, 1.26260,
* 1.17670, 1.12990, 1.04180, .98070, .93828, .74401, .59962,
* .56489, .57976, .72193, .90905, .91772, .96075, .97500,
* .98623, .93761, .86388, .73722, .56926, .54699, .49341,
* .31131, .20846, .09872, .06531, 0.00000/
DATA CSCABS /
* .00004, .00000, .00000, .00000, .00000, .00035, .00553,
* .04382, .01430, .05271, .30881, .54982, .32983, .07796,
* .20033, .17269, .14662, .49557, .49304, .32632, .26104,
* .24829, .24525, .24349, .24358, .24437, .25378, .28239,
* .33510, .39227, .49203, .58265, .58638, .60338, .60677,
* .60472, .56954, .52556, .45708, .40717, .41646, .38375,
* .25009, .17726, .09148, .06291, 0.00000/
DATA CSCSYM /
* .8495, .8597, .8594, .8535, .8479, .8349, .8214,
* .8192, .8151, .8395, .9321, .9329, .8156, .7722,
* .8270, .8319, .8533, .9138, .8772, .8562, .8628,
* .8691, .8713, .8742, .8759, .8768, .8805, .8818,
* .8783, .8685, .8362, .7776, .7734, .7458, .7317,
* .7106, .6738, .6250, .5655, .4409, .3338, .2655,
* .1947, .1427, .0727, .0422, .0000/
DATA CNIEXT /
* .97967, .98623, .98795, 1.00000, 1.00710, 1.02340, 1.04300,
* 1.06100, 1.07130, 1.08440, 1.10650, 1.06540, 1.10200, 1.12040,
* 1.15490, 1.17990, 1.21730, 1.15000, 1.18140, 1.22610, 1.26770,
* 1.28840, 1.29070, 1.28200, 1.26650, 1.25130, 1.12860, .95670,
* .85784, .81564, .90486, 1.05950, 1.06760, 1.11240, 1.13250,
* 1.15910, 1.16960, 1.16290, 1.11130, .94771, .93251, .91151,
* .73279, .55018, .26554, .15656, 0.00000/
DATA CNIABS /
* .00007, .00001, .00000, .00000, .00001, .00058, .00948,
* .07084, .02436, .08711, .40714, .52024, .40688, .12335,
* .29163, .26107, .23098, .54886, .55047, .43579, .37552,
* .36411, .36140, .36017, .36043, .36132, .37019, .39640,
* .44146, .48184, .54304, .60651, .60988, .62882, .63682,
* .64613, .64572, .63682, .60584, .57559, .60014, .59283,
* .47587, .37364, .20267, .13269, 0.00000/
DATA CNISYM /
* .8550, .8670, .8677, .8645, .8616, .8538, .8474,
* .8534, .8439, .8609, .9411, .9449, .8822, .8101,
* .8486, .8403, .8475, .9405, .9134, .8749, .8732,
* .8833, .8882, .8968, .9025, .9061, .9217, .9322,
* .9346, .9308, .9086, .8669, .8641, .8457, .8364,
* .8222, .7992, .7677, .7298, .6525, .5558, .4752,
* .3796, .3105, .1995, .1287, .0000/
C
C EXTINCTION COEFFICIENTS
C
DATA CI64XT/
* 9.947E-01, 9.968E-01, 9.972E-01, 1.000E+00, 1.002E+00,
* 1.005E+00, 1.010E+00, 1.013E+00, 1.016E+00, 1.018E+00,
* 1.019E+00, 1.016E+00, 1.023E+00, 1.026E+00, 1.030E+00,
* 1.033E+00, 1.036E+00, 1.037E+00, 1.038E+00, 1.040E+00,
* 1.043E+00, 1.047E+00, 1.049E+00, 1.051E+00, 1.052E+00,
* 1.053E+00, 1.055E+00, 1.032E+00, 1.034E+00, 1.047E+00,
* 1.060E+00, 1.074E+00, 1.075E+00, 1.081E+00, 1.085E+00,
* 1.090E+00, 1.102E+00, 1.117E+00, 1.131E+00, 1.094E+00,
* 1.168E+00, 1.187E+00, 1.244E+00, 1.297E+00, 1.475E+00,
* 1.695E+00, 1.556E+00 /
C
C ABSORPTION COEFFICIENTS
C
DATA CI64AB/
* 7.893E-05, 1.914E-05, 1.450E-05, 5.904E-06, 3.905E-05,
* 1.917E-03, 2.604E-01, 3.732E-01, 8.623E-02, 2.253E-01,
* 4.152E-01, 4.460E-01, 4.660E-01, 4.589E-01, 4.848E-01,
* 4.786E-01, 4.915E-01, 4.944E-01, 4.936E-01, 4.947E-01,
* 4.978E-01, 5.012E-01, 5.028E-01, 5.070E-01, 5.095E-01,
* 5.111E-01, 5.205E-01, 5.126E-01, 4.969E-01, 4.868E-01,
* 4.836E-01, 4.982E-01, 4.999E-01, 5.097E-01, 5.126E-01,
* 5.188E-01, 5.108E-01, 4.915E-01, 5.559E-01, 5.515E-01,
* 5.600E-01, 5.948E-01, 6.225E-01, 6.348E-01, 5.693E-01,
* 3.306E-01, 8.661E-02 /
C
C ASYMMETRY PARAMETER - G
C
DATA CI64G/
* .8626, .8824, .8851, .8893, .8904, .8913, .9332, .9549,
* .9141, .9407, .9763, .9428, .9509, .9580, .9699, .9679,
* .9735, .9737, .9717, .9712, .9712, .9715, .9721, .9744,
* .9756, .9764, .9822, .9849, .9721, .9530, .9341, .9352,
* .9366, .9426, .9425, .9448, .9365, .9256, .9485, .9417,
* .8868, .8983, .8589, .8115, .6810, .5923, .5703 /
C
C EXTINCTION COEFFICIENTS
C
DATA CIR4XT/
* 9.685E-01, 9.803E-01, 9.826E-01, 1.000E+00, 1.011E+00,
* 1.038E+00, 1.066E+00, 1.090E+00, 1.118E+00, 1.201E+00,
* 1.374E+00, 1.019E+00, 1.143E+00, 1.198E+00, 1.331E+00,
* 1.434E+00, 1.424E+00, 1.283E+00, 1.298E+00, 1.326E+00,
* 1.287E+00, 1.230E+00, 1.191E+00, 1.048E+00, 9.634E-01,
* 9.093E-01, 6.067E-01, 5.216E-01, 6.953E-01, 8.902E-01,
* 1.083E+00, 1.228E+00, 1.214E+00, 1.076E+00, 1.032E+00,
* 8.881E-01, 6.275E-01, 3.462E-01, 2.118E-01, 3.955E-01,
* 5.089E-01, 3.012E-01, 1.235E-01, 5.377E-02, 2.068E-02,
* 6.996E-03, 1.560E-03 /
C
C ABSORPTION COEFFICIENTS
C
DATA CIR4AB/
* 5.316E-06, 1.461E-06, 9.045E-07, 4.431E-07, 2.746E-06,
* 1.413E-04, 2.920E-02, 5.578E-02, 6.844E-03, 2.151E-02,
* 6.322E-02, 5.051E-01, 4.578E-01, 1.360E-01, 3.269E-01,
* 1.572E-01, 2.246E-01, 4.176E-01, 4.282E-01, 3.802E-01,
* 3.517E-01, 3.037E-01, 2.543E-01, 2.410E-01, 2.432E-01,
* 2.438E-01, 2.346E-01, 3.747E-01, 4.839E-01, 5.722E-01,
* 6.368E-01, 5.303E-01, 5.085E-01, 3.920E-01, 3.437E-01,
* 2.481E-01, 1.175E-01, 7.172E-02, 1.108E-01, 3.459E-01,
* 4.044E-01, 2.545E-01, 9.594E-02, 4.410E-02, 1.887E-02,
* 6.433E-03, 1.456E-03 /
C
C ASYMMETRY PARAMETER - G
C
DATA CIR4G/
* .8517, .8654, .8661, .8615, .8574, .8447, .8321, .8248,
* .8227, .8612, .9363, .9231, .8419, .7550, .8481, .8358,
* .8718, .8953, .8884, .8786, .8731, .8660, .8625, .8652,
* .8659, .8658, .8676, .8630, .8434, .8194, .7882, .7366,
* .7339, .7161, .7015, .6821, .6383, .5823, .4845, .2977,
* .2295, .1716, .1228, .0748, .0329, .0186, .0081 /
END
C
C ******************************************************************
C
SUBROUTINE RDEXA 1
C
C READ IN USER DEFINED EXTINCTION, ABSORPTION AND
C ASYMMETRY PARAMETERS
C
C
C MXFSC IS THE MAXIMUM NUMBER OF LAYERS FOR OUTPUT TO LBLRTM
C MXLAY IS THE MAXIMUN NUMBER OF OUTPUT LAYERS
C MXZMD IS THE MAX NUMBER OF LEVELS IN THE ATMOSPHERIC PROFILE
C STORED IN ZMDL (INPUT)
C MXPDIM IS THE MAXIMUM NUMBER OF LEVELS IN THE PROFILE ZPTH
C OBTAINED BY MERGING ZMDL AND ZOUT
C MXMOL IS THE MAXIMUM NUMBER OF MOLECULES, KMXNOM IS THE DEFAULT
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
C
C
C BLANK COMMON FOR ZMDL
C
COMMON RELHUM(MXZMD),HSTOR(MXZMD),ICH(4),VH(16),TX(16),W(16)
COMMON WPATH(IM2,16),TBBY(IM2)
COMMON ABSC(5,47),EXTC(5,47),ASYM(5,47),VX2(47),AWCCON(5)
C
CHARACTER*8 HMOD
C
COMMON HMOD(3),ZM(MXZMD),PF(MXZMD),TF(MXZMD),RFNDXM(MXZMD)
COMMON ZP(IM2),PP(IM2),TP(IM2),RFNDXP(IM2),SP(IM2),
* PPSUM(IM2),TPSUM(IM2),RHOPSM(IM2),
* IMLOW,WGM(MXZMD),DENW(MXZMD)
C
COMMON /IFIL/ IRD,IPR,IPU,NPR,NFHDRF,NPHDRF,NFHDRL,
* NPHDRL,NLNGTH,KFILE,KPANEL,LINFIL,
* NFILE,IAFIL,IEXFIL,NLTEFL,LNFIL4,LNGTH4
COMMON /LCRD2D/ IREG(4),ALTB(4),IREGC(4)
C
DIMENSION TITLE(18),VX(47)
C
READ (IRD,900) (IREG(IK),IK=1,4)
WRITE (IPR,905) (IREG(IK),IK=1,4)
C
DO 10 IHC = 1, 4
C
IF (IREG(IHC).EQ.0) GO TO 10
READ (IRD,910) AWCCON(IHC),TITLE
WRITE (IPR,915) AWCCON(IHC),TITLE
WRITE (IPR,920)
C
READ (IRD,925) (VX(I),EXTC(IHC,I),ABSC(IHC,I),ASYM(IHC,I),I=1,
* 47)
WRITE (IPR,930) (VX(I),EXTC(IHC,I),ABSC(IHC,I),ASYM(IHC,I),I=1,
* 47)
10 CONTINUE
RETURN
C
900 FORMAT(4I5)
905 FORMAT('0 RECORD 3.6.2 *****',4I5)
910 FORMAT(E10.3,18A4)
915 FORMAT('0 RECORD 3.6.2 **** EQUIVALENT WATER = ',1PE10.3,18A4)
920 FORMAT('0 RECORD 3.6.3 ****')
925 FORMAT( 930 FORMAT(2X,F6.2,2F7.5,F6.4,F6.2,2F7.5,F6.4,F6.2,2F7.5,F6.4)
C
END
C
C *****************************************************************
C
SUBROUTINE MARINE(VIS,MODEL,WS,WH,ICSTL,BEXT,BABS,NL) 1
C
C THIS SUBROUTINE DETERMINES AEROSOL EXT + ABS COEFFICIENTS
C FOR THE NAVY MARITIME MODEL
C CODED BY STU GATHMAN - NRL
C
C INPUTS-
C WSS = CURRENT WIND SPEED (M/S)
C WHH = 24 HOUR AVERAGE WIND SPEED (M/S)
C RHH = RELATIVE HUMIDITY (PERCENTAGE)
C VIS = METEOROLOGICAL RANGE (KM)
C ICTL = AIR MASS CHARACTER 1 = OPEN OCEAN
C 10 = STRONG CONTINENTAL INFLUENCE
C MODEL = MODEL ATMOSPHERE
C
C OUTPUTS-
C BEXT = EXTINCTION COEFFICIENT (KM-1)
C BABS = ABSORPTION COEFFICIENT (KM-1)
C
COMMON /MART/ RHH
COMMON /IFIL/ IRD,IPR,IPU,NPR,NFHDRF,NPHDRF,NFHDRL,
* NPHDRL,NLNGTH,KFILE,KPANEL,LINFIL,
* NFILE,IAFIL,IEXFIL,NLTEFL,LNFIL4,LNGTH4
COMMON /CNSTNS/ PI,CA,DEG,GCAIR,BIGNUM,BIGEXP
COMMON/A/T1QEXT(40,4),T2QEXT(40,4),T3QEXT(40,4),
* T1QABS(40,4),T2QABS(40,4),T3QABS(40,4),ALAM(40),AREL(4)
C
C C COMMON/AER/A1, A2, A3 X(5)
C
DIMENSION WSPD(8), BEXT(5,47), BABS(5,47)
DIMENSION RHD(8)
C
DATA WSPD/6.9, 4.1, 4.1, 10.29, 6.69, 12.35, 7.2, 6.9/
DATA RHD/80., 75.63, 76.2, 77.13, 75.24, 80.53, 45.89, 80./
C
PISC = PI/1000.0
WRITE (IPR,900)
C
C CHECK LIMITS OF MODEL VALIDITY
C
RH = RHH
IF (RHH.GT.0.) GO TO 10
RH = RHD(MODEL+1)
10 WS = MIN(WS,20.)
WH = MIN(WH,20.)
RH = MIN(RH,98.)
IF (RH.LT.50.0.AND.RH.GE.0.0) RH = 50.
IF (ICSTL.LT.1.OR.ICSTL.GT.10) ICSTL = 3
C
C FIND SIZE DISTRIBUTION PARAMETERS FROM METEOROLOGY INPUT
C
IF (WH.LE.0.) WRITE (IPR,915)
IF (WH.LE.0.0) WH = WSPD(MODEL+1)
IF (WS.LE.0.) WRITE (IPR,920)
IF (WS.LE.0.0) WS = WH
WRITE (IPR,910) WS,WH,RH,ICSTL
C
C F IS A RELATIVE HUMIDITY DEPENDENT GROWTH CORRECTION
C TO THE ATTENUATION COEFFICIENT.
C
F = ((2.-RH/100.)/(6.*(1.-RH/100.)))**0.33333
A1 = 2000.0*ICSTL*ICSTL
A2 = AMAX1(5.866*(WH-2.2),0.5)
C
C CC A3 = AMAX1(0.01527*(WS-2.2), 1.14E-5)
C
A3 = 10**(0.06*WS-2.8)
C
C FIND EXTINCTION AT 0.55 MICRONS AND NORMALIZE TO 1.
C
C INTERPOLATE FOR RELATIVE HUMIDITY
C
DO 20 J = 2, 4
IF (RH.LE.AREL(J)) GO TO 30
20 CONTINUE
30 DELRH = AREL(J)-AREL(J-1)
DELRHV = RH-AREL(J-1)
RATIO = DELRHV/DELRH
QE1 = T1QEXT(4,J-1)+(T1QEXT(4,J)-T1QEXT(4,J-1))*RATIO
QE2 = T2QEXT(4,J-1)+(T2QEXT(4,J)-T2QEXT(4,J-1))*RATIO
QE3 = T3QEXT(4,J-1)+(T3QEXT(4,J)-T3QEXT(4,J-1))*RATIO
TOTAL = A1*10.**QE1+A2*10.**QE2+A3*10.**QE3
EXT55 = PISC*TOTAL/F
C
C IF METEOROLOLICAL RANGE NOT SPECIFIED,FIND FROM METEOR DATA
C
IF (VIS.LE.0.) VIS = 3.912/(EXT55+0.01159)
C = (1./EXT55)*(PISC/F)
A1 = C*A1
A2 = C*A2
A3 = C*A3
C
C CALCULATE NORMALIZED ATTENUATION COEFICIENTS
C
DO 40 I = 1, 40
T1XV = T1QEXT(I,J-1)+(T1QEXT(I,J)-T1QEXT(I,J-1))*RATIO
T2XV = T2QEXT(I,J-1)+(T2QEXT(I,J)-T2QEXT(I,J-1))*RATIO
T3XV = T3QEXT(I,J-1)+(T3QEXT(I,J)-T3QEXT(I,J-1))*RATIO
T1AV = T1QABS(I,J-1)+(T1QABS(I,J)-T1QABS(I,J-1))*RATIO
T2AV = T2QABS(I,J-1)+(T2QABS(I,J)-T2QABS(I,J-1))*RATIO
T3AV = T3QABS(I,J-1)+(T3QABS(I,J)-T3QABS(I,J-1))*RATIO
BEXT(NL,I) = A1*10**(T1XV)+A2*10**(T2XV)+A3*10**(T3XV)
BABS(NL,I) = A1*10**(T1AV)+A2*10**(T2AV)+A3*10**(T3AV)
40 CONTINUE
WRITE (IPR,905) VIS
RETURN
C
900 FORMAT('0MARINE AEROSOL MODEL USED')
905 FORMAT('0',T10,'VIS = ',F10.2,' KM')
910 FORMAT(T10,'WIND SPEED = ',F8.2,' M/SEC',/,T10,
* 'WIND SPEED (24 HR AVERAGE) = ',F8.2,' M/SEC',/,
* T10,'RELATIVE HUMIDITY = ',F8.2,' PERCENT',/,
* T10,'AIRMASS CHARACTER =' ,I3)
915 FORMAT('0 WS NOT SPECIFIED, A DEFAULT VALUE IS USED')
920 FORMAT('0 WH NOT SPECIFIED, A DEFAULT VALUE IS USED')
C
END
BLOCK DATA MARDTA
C
C > BLOCK DATA
C
C MARINE AEROSOL EXTINCTION AND ABSORPTION DATA
C CODED BY STU GATHMAN - NRL
C
COMMON/A/T1QEXT(40,4),T2QEXT(40,4),T3QEXT(40,4),
*T1QABS(40,4),T2QABS(40,4),T3QABS(40,4),ALAM(40),AREL(4)
DIMENSION A1(40),A2(40),A3(40),A4(40)
DIMENSION B1(40),B2(40),B3(40),B4(40)
DIMENSION C1(40),C2(40),C3(40),C4(40)
DIMENSION D1(40),D2(40),D3(40),D4(40)
DIMENSION E1(40),E2(40),E3(40),E4(40)
DIMENSION F1(40),F2(40),F3(40),F4(40)
EQUIVALENCE (A1(1), T1QEXT(1,1)), (A2(1), T1QEXT(1,2)),
* (A3(1), T1QEXT(1,3)), (A4(1), T1QEXT(1,4))
EQUIVALENCE (B1(1), T2QEXT(1,1)), (B2(1), T2QEXT(1,2)),
* (B3(1), T2QEXT(1,3)), (B4(1), T2QEXT(1,4))
EQUIVALENCE (C1(1), T3QEXT(1,1)), (C2(1), T3QEXT(1,2)),
* (C3(1), T3QEXT(1,3)), (C4(1), T3QEXT(1,4))
EQUIVALENCE (D1(1), T1QABS(1,1)), (D2(1), T1QABS(1,2)),
* (D3(1), T1QABS(1,3)), (D4(1), T1QABS(1,4))
EQUIVALENCE (E1(1), T2QABS(1,1)), (E2(1), T2QABS(1,2)),
* (E3(1), T2QABS(1,3)), (E4(1), T2QABS(1,4))
EQUIVALENCE (F1(1), T3QABS(1,1)), (F2(1), T3QABS(1,2)),
* (F3(1), T3QABS(1,3)), (F4(1), T3QABS(1,4))
DATA AREL/50.,85.,95.,98./
DATA ALAM/
* 0.2000, 0.3000, 0.3371, 0.5500, 0.6943, 1.0600,
* 1.5360, 2.0000, 2.2500, 2.5000, 2.7000, 3.0000,
* 3.3923, 3.7500, 4.5000, 5.0000, 5.5000, 6.0000,
* 6.2000, 6.5000, 7.2000, 7.9000, 8.2000, 8.7000,
* 9.0000, 9.2000, 10.0000, 10.5910, 11.0000, 11.5000,
*12.5000, 14.8000, 15.0000, 16.4000, 17.2000, 18.5000,
*21.3000, 25.0000, 30.0000, 40.0000/
DATA A1/
*-3.2949, -3.4662, -3.5275, -3.8505, -4.0388, -4.4410,
*-4.8584, -5.1720, -5.3272, -5.4342, -5.2765, -4.5101,
*-5.3730, -5.7468, -5.7579, -5.8333, -5.8552, -5.1780,
*-5.2910, -5.5959, -5.6295, -5.6748, -5.6051, -5.5363,
*-5.5330, -5.5136, -5.6568, -5.6040, -5.5221, -5.3902,
*-5.1724, -5.0903, -5.0901, -5.1285, -5.1444, -5.1963,
*-5.3101, -5.3994, -5.4873, -5.4779/
DATA A2/
*-2.8302, -2.9446, -2.9904, -3.2510, -3.4104, -3.7635,
*-4.1452, -4.4466, -4.6160, -4.7772, -4.7030, -3.8461,
*-4.6466, -5.0105, -5.0747, -5.1810, -5.2705, -4.5537,
*-4.6594, -4.9872, -5.0872, -5.1229, -5.0985, -5.0623,
*-5.0544, -5.0407, -5.0793, -4.9796, -4.8748, -4.7298,
*-4.5063, -4.4260, -4.4280, -4.4650, -4.4912, -4.5474,
*-4.6672, -4.7711, -4.8814, -4.9073/
DATA A3/
*-2.3712, -2.4231, -2.4512, -2.6377, -2.7631, -3.0569,
*-3.3918, -3.6682, -3.8305, -4.0111, -4.0467, -3.2055,
*-3.8717, -4.1908, -4.3282, -4.4495, -4.5780, -3.9249,
*-4.0136, -4.3349, -4.4674, -4.5088, -4.5083, -4.4973,
*-4.4923, -4.4845, -4.4753, -4.3617, -4.2509, -4.1029,
*-3.8779, -3.7963, -3.7989, -3.8345, -3.8639, -3.9215,
*-4.0438, -4.1532, -4.2719, -4.3120/
DATA A4/
*-1.9911, -1.9989, -2.0126, -2.1342, -2.2283, -2.4663,
*-2.7552, -3.0036, -3.1528, -3.3328, -3.4468, -2.6649,
*-3.1986, -3.4769, -3.6571, -3.7821, -3.9284, -3.3776,
*-3.4435, -3.7436, -3.8910, -3.9455, -3.9573, -3.9633,
*-3.9639, -3.9610, -3.9427, -3.8304, -3.7203, -3.5733,
*-3.3489, -3.2650, -3.2675, -3.3017, -3.3317, -3.3893,
*-3.5126, -3.6243, -3.7467, -3.7927/
DATA B1/
*-0.5781, -0.5525, -0.5484, -0.5147, -0.5094, -0.5324,
*-0.6138, -0.7139, -0.7776, -0.8624, -0.9838, -0.7720,
*-0.8542, -0.9535, -1.0873, -1.1624, -1.2647, -1.2123,
*-1.1811, -1.2905, -1.4126, -1.4643, -1.5227, -1.4560,
*-1.4177, -1.4144, -1.5746, -1.6348, -1.6431, -1.6023,
*-1.4648, -1.3910, -1.3898, -1.4056, -1.4196, -1.4655,
*-1.5795, -1.6825, -1.7924, -1.8224/
DATA B2/
*-0.1809, -0.1651, -0.1566, -0.1258, -0.1113, -0.1046,
*-0.1468, -0.2157, -0.2679, -0.3480, -0.4988, -0.2657,
*-0.2991, -0.3924, -0.5266, -0.5983, -0.7037, -0.6671,
*-0.6074, -0.7134, -0.8352, -0.9080, -0.9577, -0.9579,
*-0.9542, -0.9629, -1.0867, -1.1219, -1.1032, -1.0330,
*-0.8663, -0.7677, -0.7667, -0.7768, -0.7919, -0.8304,
*-0.9354, -1.0400, -1.1640, -1.2357/
DATA B3/
* 0.2483, 0.2574, 0.2626, 0.2887, 0.3055, 0.3312,
* 0.3262, 0.2922, 0.2589, 0.1989, 0.0548, 0.2322,
* 0.2487, 0.1816, 0.0685, 0.0090, -0.0846, -0.0876,
*-0.0110, -0.0936, -0.2013, -0.2799, -0.3216, -0.3575,
*-0.3769, -0.3944, -0.5018, -0.5379, -0.5179, -0.4473,
*-0.2822, -0.1730, -0.1713, -0.1737, -0.1850, -0.2141,
*-0.3046, -0.4002, -0.5221, -0.6163/
DATA B4/
* 0.6276, 0.6324, 0.6363, 0.6570, 0.6715, 0.7006,
* 0.7172, 0.7091, 0.6925, 0.6543, 0.5356, 0.6473,
* 0.6924, 0.6516, 0.5661, 0.5206, 0.4440, 0.4091,
* 0.4902, 0.4325, 0.3427, 0.2691, 0.2336, 0.1872,
* 0.1593, 0.1386, 0.0348, -0.0131, -0.0031, 0.0566,
* 0.2093, 0.3214, 0.3238, 0.3278, 0.3211, 0.3007,
* 0.2257, 0.1426, 0.0304, -0.0739/
DATA C1/
* 2.1434, 2.1454, 2.1469, 2.1539, 2.1577, 2.1673,
* 2.1812, 2.1970, 2.2030, 2.2115, 2.2149, 2.1931,
* 2.2220, 2.2326, 2.2425, 2.2479, 2.2494, 2.2203,
* 2.2382, 2.2473, 2.2380, 2.2373, 2.2179, 2.2310,
* 2.2417, 2.2421, 2.2244, 2.1950, 2.1686, 2.1370,
* 2.1193, 2.1454, 2.1477, 2.1703, 2.1725, 2.1729,
* 2.1580, 2.1324, 2.0878, 2.0131/
DATA C2/
* 2.5480, 2.5512, 2.5511, 2.5562, 2.5601, 2.5669,
* 2.5792, 2.5874, 2.5950, 2.6022, 2.6081, 2.5875,
* 2.6093, 2.6184, 2.6319, 2.6391, 2.6439, 2.6138,
* 2.6319, 2.6437, 2.6442, 2.6421, 2.6336, 2.6336,
* 2.6353, 2.6325, 2.6075, 2.5680, 2.5340, 2.5025,
* 2.5122, 2.5652, 2.5681, 2.5869, 2.5925, 2.5986,
* 2.5947, 2.5835, 2.5566, 2.4949/
DATA C3/
* 2.9825, 2.9831, 2.9847, 2.9893, 2.9929, 2.9976,
* 3.0090, 3.0130, 3.0179, 3.0233, 3.0294, 3.0148,
* 3.0293, 3.0357, 3.0481, 3.0563, 3.0627, 3.0410,
* 3.0532, 3.0646, 3.0713, 3.0733, 3.0716, 3.0701,
* 3.0681, 3.0662, 3.0457, 3.0067, 2.9733, 2.9460,
* 2.9643, 3.0156, 3.0182, 3.0337, 3.0399, 3.0477,
* 3.0511, 3.0501, 3.0384, 2.9943/
DATA C4/
* 3.3635, 3.3621, 3.3652, 3.3699, 3.3729, 3.3768,
* 3.3868, 3.3888, 3.3916, 3.3952, 3.4000, 3.3911,
* 3.4013, 3.4056, 3.4152, 3.4218, 3.4280, 3.4148,
* 3.4222, 3.4312, 3.4393, 3.4442, 3.4452, 3.4463,
* 3.4455, 3.4452, 3.4329, 3.4016, 3.3719, 3.3468,
* 3.3617, 3.4046, 3.4068, 3.4198, 3.4255, 3.4334,
* 3.4402, 3.4447, 3.4428, 3.4144/
DATA D1/
*-7.7562, -7.8498, -7.8630, -7.8493, -7.7889, -7.5044,
*-7.0058, -6.3955, -6.3210, -6.0026, -5.4176, -4.5443,
*-5.6380, -6.2635, -5.9512, -5.9860, -5.9526, -5.1907,
*-5.3115, -5.6289, -5.6502, -5.6922, -5.6157, -5.5462,
*-5.5437, -5.5234, -5.6647, -5.6087, -5.5250, -5.3918,
*-5.1733, -5.0909, -5.0907, -5.1291, -5.1450, -5.1968,
*-5.3105, -5.3997, -5.4875, -5.4779/
DATA D2/
*-7.5869, -7.6977, -7.7070, -7.6883, -7.6227, -7.2788,
*-6.6637, -5.9117, -6.0351, -5.6292, -4.8814, -3.8947,
*-5.0236, -5.7607, -5.3390, -5.4052, -5.4335, -4.5711,
*-4.6910, -5.0400, -5.1263, -5.1522, -5.1200, -5.0797,
*-5.0708, -5.0554, -5.0883, -4.9842, -4.8775, -4.7313,
*-4.5074, -4.4271, -4.4290, -4.4661, -4.4923, -4.5484,
*-4.6679, -4.7716, -4.8817, -4.9075/
DATA D3/
*-7.3806, -7.5324, -7.5421, -7.5190, -7.4456, -6.9683,
*-6.1934, -5.3374, -5.6261, -5.1328, -4.2936, -3.2785,
*-4.3895, -5.1770, -4.7151, -4.7944, -4.8513, -3.9542,
*-4.0698, -4.4296, -4.5444, -4.5647, -4.5533, -4.5320,
*-4.5225, -4.5111, -4.4899, -4.3685, -4.2548, -4.1053,
*-3.8800, -3.7987, -3.8013, -3.8369, -3.8663, -3.9238,
*-4.0456, -4.1545, -4.2728, -4.3123/
DATA D4/
*-7.1591, -7.3911, -7.3998, -7.3737, -7.2891, -6.6133,
*-5.7137, -4.8091, -5.1828, -4.6408, -3.7712, -2.7644,
*-3.8361, -4.6426, -4.1724, -4.2573, -4.3263, -3.4249,
*-3.5341, -3.8962, -4.0222, -4.0421, -4.0386, -4.0258,
*-4.0169, -4.0077, -3.9676, -3.8419, -3.7270, -3.5776,
*-3.3529, -3.2698, -3.2724, -3.3066, -3.3365, -3.3940,
*-3.5164, -3.6272, -3.7486, -3.7935/
DATA E1/
*-4.1531, -4.2017, -4.0836, -4.1441, -4.0515, -3.7234,
*-3.2022, -2.5924, -2.5215, -2.2244, -1.7099, -1.0243,
*-1.8178, -2.4304, -2.1483, -2.1897, -2.1768, -1.5025,
*-1.5770, -1.8688, -1.9132, -1.9550, -1.9023, -1.8200,
*-1.8019, -1.7822, -1.9415, -1.9082, -1.8419, -1.7290,
*-1.5359, -1.4523, -1.4511, -1.4744, -1.4875, -1.5339,
*-1.6446, -1.7377, -1.8338, -1.8404/
DATA E2/
*-4.0237, -4.0786, -4.0596, -4.0117, -3.9167, -3.5334,
*-2.8890, -2.1314, -2.2533, -1.8686, -1.2114, -0.5112,
*-1.2226, -1.9313, -1.5503, -1.6190, -1.6646, -0.9328,
*-0.9892, -1.2921, -1.3909, -1.4236, -1.4060, -1.3666,
*-1.3550, -1.3429, -1.3966, -1.3198, -1.2346, -1.1147,
*-0.9248, -0.8332, -0.8328, -0.8490, -0.8658, -0.9072,
*-1.0110, -1.1088, -1.2210, -1.2642/
DATA E3/
*-3.8225, -3.9189, -3.8934, -3.8788, -3.7792, -3.2584,
*-2.4500, -1.5859, -1.8664, -1.3920, -0.6602, -0.0250,
*-0.6305, -1.3614, -0.9442, -1.0200, -1.0892, -0.3681,
*-0.4088, -0.6976, -0.8140, -0.8430, -0.8410, -0.8268,
*-0.8209, -0.8142, -0.8176, -0.7305, -0.6447, -0.5305,
*-0.3534, -0.2582, -0.2574, -0.2661, -0.2802, -0.3137,
*-0.4046, -0.4954, -0.6063, -0.6635/
DATA E4/
*-3.6380, -3.8218, -3.8158, -3.6544, -3.6442, -2.9366,
*-1.9981, -1.0852, -1.4468, -0.9222, -0.1746, 0.3789,
*-0.1326, -0.8516, -0.4270, -0.5021, -0.5774, 0.1072,
* 0.0779, -0.1890, -0.3060, -0.3330, -0.3362, -0.3320,
*-0.3290, -0.3248, -0.3123, -0.2275, -0.1469, -0.0421,
* 0.1192, 0.2136, 0.2149, 0.2122, 0.2019, 0.1760,
* 0.0989, 0.0190, -0.0836, -0.1437/
DATA F1/
*-0.5486, -0.6082, -0.5956, -0.5356, -0.4402, -0.0871,
* 0.4527, 1.0366, 1.1096, 1.3655, 1.7101, 1.8903,
* 1.6543, 1.2291, 1.4722, 1.4553, 1.4742, 1.8427,
* 1.8260, 1.6925, 1.6714, 1.6561, 1.6818, 1.7408,
* 1.7604, 1.7735, 1.6870, 1.6975, 1.7266, 1.7732,
* 1.8476, 1.8953, 1.8977, 1.9100, 1.9121, 1.9074,
* 1.8820, 1.8553, 1.8167, 1.8034/
DATA F2/
*-0.4081, -0.4784, -0.4660, -0.4117, -0.3046, 0.0831,
* 0.7409, 1.4609, 1.3780, 1.7134, 2.1471, 2.2808,
* 2.1315, 1.6742, 1.9804, 1.9449, 1.9238, 2.2748,
* 2.2689, 2.1587, 2.1154, 2.1037, 2.1124, 2.1387,
* 2.1490, 2.1552, 2.1238, 2.1535, 2.1840, 2.2226,
* 2.2790, 2.3247, 2.3268, 2.3387, 2.3422, 2.3439,
* 2.3339, 2.3198, 2.2926, 2.2751/
DATA F3/
*-0.2242, -0.3289, -0.3406, -0.2786, -0.1532, 0.3414,
* 1.1618, 1.9783, 1.7412, 2.1629, 2.6182, 2.6999,
* 2.6101, 2.1844, 2.4931, 2.4589, 2.4253, 2.7204,
* 2.7182, 2.6391, 2.5975, 2.5896, 2.5918, 2.6017,
* 2.6055, 2.6086, 2.6049, 2.6334, 2.6574, 2.6843,
* 2.7225, 2.7601, 2.7620, 2.7734, 2.7780, 2.7832,
* 2.7839, 2.7809, 2.7677, 2.7571/
DATA F4/
*-0.0119, -0.2110, -0.2063, -0.1444, -0.0667, 0.6542,
* 1.5923, 2.4405, 2.1326, 2.5924, 3.0247, 3.0696,
* 3.0154, 2.6365, 2.9257, 2.8957, 2.8634, 3.1026,
* 3.1009, 3.0465, 3.0135, 3.0090, 3.0097, 3.0147,
* 3.0167, 3.0193, 3.0233, 3.0464, 3.0635, 3.0808,
* 3.1047, 3.1337, 3.1354, 3.1458, 3.1506, 3.1572,
* 3.1639, 3.1680, 3.1651, 3.1624/
END
C
C *************************************************************
C
SUBROUTINE LCONVR (P,T) 1,1
C
C *************************************************************
C
C WRITTEN APR, 1985 TO ACCOMMODATE 'JCHAR' DEFINITIONS FOR
C UNIFORM DATA INPUT -
C
C JCHAR JUNIT
C
C " ",A 10 VOLUME MIXING RATIO (PPMV)
C B 11 NUMBER DENSITY (CM-3)
C C 12 MASS MIXING RATIO (GM(K)/KG(AIR))
C D 13 MASS DENSITY (GM M-3)
C E 14 PARTIAL PRESSURE (MB)
C F 15 DEW POINT TEMP (TD IN T(K)) - H2O ONLY
C G 16 " " " (TD IN T(C)) - H2O ONLY
C H 17 RELATIVE HUMIDITY (RH IN PERCENT) - H2O ONLY
C I 18 AVAILABLE FOR USER DEFINITION
C J 19 REQUEST DEFAULT TO SPECIFIED MODEL ATMOSPHERE
C
C ***************************************************************
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
PARAMETER (NCASE=15, NCASE2=NCASE-2)
C
COMMON /IFIL/ IRD,IPR,IPU,NPR,NFHDRF,NPHDRF,NFHDRL,
* NPHDRL,NLNGTH,KFILE,KPANEL,LINFIL,
* NFILE,IAFIL,IEXFIL,NLTEFL,LNFIL4,LNGTH4
COMMON /CONSTL/ PZERO,TZERO,AVOGAD,ALOSMT,GASCON,PLANK,BOLTZ,
* CLIGHT,ADCON,ALZERO,AVMWT,AIRMWT,AMWT(MXMOL)
COMMON /CARD1B/ JUNITP,JUNITT,JUNIT1(NCASE2),WMOL1(NCASE),
* WAIR1,JLOW
C
DATA C1/18.9766/,C2/-14.9595/,C3/-2.43882/
C
C DENSAT(ATEMP) = ATEMP*B*EXP(C1+C2*ATEMP+C3*ATEMP**2)*1.0E-6
C
RHOAIR = ALOSMT*(P/PZERO)*(TZERO/T)
C
C NOPRNT = 0
C A = TZERO/T
C
DO 70 K = 1, 12
B = AVOGAD/AMWT(K)
R = AIRMWT/AMWT(K)
JUNIT = JUNIT1(K)
WMOL = WMOL1(K)
IF (K.NE.1) GO TO 10
CALL LWATVA
(P,T)
GO TO 70
10 CONTINUE
IF (JUNIT.GT.10) GO TO 20
C
C ** GIVEN VOL. MIXING RATIO
C
C C WMOL1(K)=WMOL*RHOAIR*1.E-6
C
GO TO 70
20 IF (JUNIT.NE.11) GO TO 30
C
C ** GIVEN NUMBER DENSITY (CM-3)
C
C C WMOL1(K) = WMOL
C
WMOL1(K) = WMOL/(RHOAIR*1.E-6)
GO TO 70
30 CONTINUE
IF (JUNIT.NE.12) GO TO 40
C
C ** GIVEN MASS MIXING RATIO (GM KG-1)
C
C C WMOL1(K)= R*WMOL*1.0E-3*RHOAIR
C
WMOL1(K) = R*WMOL*1.0E+3
GO TO 70
40 CONTINUE
IF (JUNIT.NE.13) GO TO 50
C
C ** GIVEN MASS DENSITY (GM M-3)
C
C C WMOL1(K) = B*WMOL*1.0E-6
C
WMOL1(K) = B*WMOL/RHOAIR
GO TO 70
50 CONTINUE
IF (JUNIT.NE.14) GO TO 60
C
C ** GIVEN PARTIAL PRESSURE (MB)
C
C C WMOL1(K)= ALOSMT*(WMOL/PZERO)*(TZERO/T)
C
WTEM = ALOSMT*(WMOL/PZERO)*(TZERO/T)
WMOL1(K) = WTEM/(RHOAIR*1.E-6)
GO TO 70
60 CONTINUE
IF (JUNIT.GT.14) GO TO 80
70 CONTINUE
RETURN
80 CONTINUE
WRITE (IPR,900) JUNIT
STOP
C
900 FORMAT(/,' **** ERROR IN CONVERT ****, JUNIT = ',I5)
C
END
C
C *************************************************************
C
SUBROUTINE LWATVA(P,T) 1
C
C *************************************************************
C
C WRITTEN APR, 1985 TO ACCOMMODATE 'JCHAR' DEFINITIONS FOR
C UNIFORM DATA INPUT -
C
C JCHAR JUNIT
C
C " ",A 10 VOLUME MIXING RATIO (PPMV)
C B 11 NUMBER DENSITY (CM-3)
C C 12 MASS MIXING RATIO (GM(K)/KG(AIR))
C D 13 MASS DENSITY (GM M-3)
C E 14 PARTIAL PRESSURE (MB)
C F 15 DEW POINT TEMP (TD IN T(K)) - H2O ONLY
C G 16 " " " (TD IN T(C)) - H2O ONLY
C H 17 RELATIVE HUMIDITY (RH IN PERCENT) - H2O ONLY
C I 18 AVAILABLE FOR USER DEFINITION
C J 19 REQUEST DEFAULT TO SPECIFIED MODEL ATMOSPHERE
C
C THIS SUBROUTINE COMPUTES THE WATERVAPOR NUMBER DENSITY (MOL CM-3)
C GIVE HUMIDITY # TD = DEW POINT TEMP(K,C), RH = RELATIVE
C (PERCENT), PPH2O = WATER VAPOR PARTIAL PRESSURE (MB), DENH2O =
C WATER VAPOR MASS DENSITY (GM M-3),AMSMIX = MASS MIXING RATIO
C (GM/KG).
C THE FUNCTION DENSAT FOR THE SATURATION
C WATER VAPOR DENSITY OVER WATER IS ACCURATE TO BETTER THAN 1
C PERCENT FROM -50 TO +50 DEG C. (SEE THE LOWTRAN3 OR 5 REPORT)
C
C 'JUNIT' GOVERNS CHOICE OF UNITS -
C
C ******************************************************************
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
PARAMETER (NCASE=15, NCASE2=NCASE-2)
C
COMMON /IFIL/ IRD,IPR,IPU,NPR,NFHDRF,NPHDRF,NFHDRL,
* NPHDRL,NLNGTH,KFILE,KPANEL,LINFIL,
* NFILE,IAFIL,IEXFIL,NLTEFL,LNFIL4,LNGTH4
COMMON /CARD1B/ JUNITP,JUNITT,JUNIT1(NCASE2),WMOL1(NCASE),
* WAIR,JLOW
COMMON /CONSTL/ PZERO,TZERO,AVOGAD,ALOSMT,GASCON,PLANK,BOLTZ,
* CLIGHT,ADCON,ALZERO,AVMWT,AIRMWT,AMWT(MXMOL)
C
DATA C1/18.9766/,C2/-14.9595/,C3/-2.43882/
DATA XLOSCH/2.6868E19/
C
DENSAT(ATEMP) = ATEMP*B*EXP(C1+C2*ATEMP+C3*ATEMP**2)*1.0E-6
C
RHOAIR = ALOSMT*(P/PZERO)*(TZERO/T)
PSS = P/PZERO
A = TZERO/T
WAIR = XLOSCH*PSS*A
B = AVOGAD/AMWT(1)
R = AIRMWT/AMWT(1)
JUNIT = JUNIT1(1)
WMOL = WMOL1(1)
IF (JUNIT.NE.10) GO TO 10
C
C ** GIVEN VOL. MIXING RATIO
C
C C WMOL1(1)=WMOL*RHOAIR*1.E-6
C
GO TO 90
10 IF (JUNIT.NE.11) GO TO 20
C
C ** GIVEN NUMBER DENSITY (CM-3)
C
WMOL1(1) = WMOL/(RHOAIR*1.E-6)
GO TO 90
20 CONTINUE
IF (JUNIT.NE.12) GO TO 30
C
C ** GIVEN MASS MIXING RATIO (GM KG-1)
C
C C WMOL1(1) = R*WMOL*1.0E-3*RHOAIR
C
WMOL1(1) = R*WMOL*1.0E+3
GO TO 90
30 CONTINUE
IF (JUNIT.NE.13) GO TO 40
C
C ** GIVEN MASS DENSITY (GM M-3)
C
C C WMOL1(1) = B*WMOL*1.0E-6
C
WMOL1(1) = B*WMOL/RHOAIR
GO TO 90
40 CONTINUE
IF (JUNIT.NE.14) GO TO 50
C
C ** GIVEN WATER VAPOR PARTIAL PRESSURE (MB)
C
C C WMOL1(1) = ALOSMT*(WMOL/PZERO)*(TZERO/T)
C
WTEM = ALOSMT*(WMOL/PZERO)*(TZERO/T)
WMOL1(1) = WTEM/(RHOAIR*1.E-6)
GO TO 90
50 CONTINUE
IF (JUNIT.NE.15) GO TO 60
C
C ** GIVEN DEWPOINT (DEG K)
C
ATD = TZERO/(WMOL)
C
C C WMOL1(1)= DENSAT(ATD)*(WMOL)/T
C
WTEM = DENSAT(ATD)*(WMOL)/T
WMOL1(1) = WTEM/(RHOAIR*1.E-6)
GO TO 90
60 CONTINUE
IF (JUNIT.NE.16) GO TO 70
C
C ** GIVEN DEWPOINT (DEG C)
C
ATD = TZERO/(TZERO+WMOL)
C
C C WMOL1(1) = DENSAT(ATD)*(TZERO+WMOL)/T
C
WTEM = DENSAT(ATD)*(TZERO+WMOL)/T
WMOL1(1) = WTEM/(RHOAIR*1.E-6)
GO TO 90
70 CONTINUE
IF (JUNIT.NE.17) GO TO 80
C
C ** GIVEN RELATIVE HUMIDITY (PERCENT)
C
C DENNUM = DENSAT(A)*(WMOL/100.0)/(1.0-(1.0-WMOL/100.0)*DENSAT(A)/
C 1 RHOAIR)
C C WMOL1(1) = DENSAT(A)*(WMOL/100.0)
C
WTEM = DENSAT(A)*(WMOL/100.0)
WMOL1(1) = WTEM/(RHOAIR*1.E-6)
GO TO 90
80 WRITE (IPR,900) JUNIT
STOP 'JUNIT'
90 CONTINUE
WMOL1(1) = 2.989E-23*WMOL1(1)*WAIR
DENST = DENSAT(A)
DENNUM = WMOL1(1)
C
C RHP = 100.0*(DENNUM/DENST)*((RHOAIR-DENST)/(RHOAIR-DENNUM))
C
RHP = 100.0*(DENNUM/DENST)
IF (RHP.LE.100.0) GO TO 100
WRITE (IPR,905) RHP
100 CONTINUE
RETURN
C
900 FORMAT(/,' **** ERROR IN WATVAP ****, JUNIT = ',I5)
905 FORMAT(/,' ********WARNING (FROM WATVAP) # RELATIVE HUMIDTY = ',
* G10.3,' IS GREATER THAN 100 PERCENT')
C
END
BLOCK DATA MLATLB
C
C ******************************************************************
C THIS SUBROUTINE INITIALIZES THE 6 BUILT-IN ATMOSPHERIC PROFILES
C (FROM 'OPTICAL PROPERTIES OF THE ATMOSPHERE, THIRD EDITION'
C AFCRL-72-0497 (AD 753 075), 'U.S. STANDARD ATMOSPHERE 1976' AND
C 'SUPPLEMENTS 1966'), PLUS COLLECTED CONSTITUENT PROFILES (REF)
C AND SETS OTHER CONSTANTS RELATED TO THE ATMOSPHERIC PROFILES
C ******************************************************************
C
CHARACTER*8 CTMNA1,CTMNA2,CTMNA3,CTMNA4,CTMNA5,CTMNA6
COMMON /CLATML/
*CTMNA1(3),CTMNA2(3),CTMNA3(3),CTMNA4(3),CTMNA5(3),CTMNA6(3)
REAL*8 ATMNA1,ATMNA2,ATMNA3,ATMNA4,ATMNA5,ATMNA6
Character*8 HMODS
COMMON /MLATML/ ALT(50),P1(50),P2(50),P3(50),P4(50),P5(50),P6(50),
*T1(50),T2(50),T3(50),T4(50),T5(50),T6(50),
*AMOL11(50),AMOL12(50),AMOL13(50),AMOL14(50),AMOL15(50),AMOL16(50),
*AMOL17(50),AMOL18(50),
*AMOL21(50),AMOL22(50),AMOL23(50),AMOL24(50),AMOL25(50),AMOL26(50),
*AMOL27(50),AMOL28(50),
*AMOL31(50),AMOL32(50),AMOL33(50),AMOL34(50),AMOL35(50),AMOL36(50),
*AMOL37(50),AMOL38(50),
*AMOL41(50),AMOL42(50),AMOL43(50),AMOL44(50),AMOL45(50),AMOL46(50),
*AMOL47(50),AMOL48(50),
*AMOL51(50),AMOL52(50),AMOL53(50),AMOL54(50),AMOL55(50),AMOL56(50),
*AMOL57(50),AMOL58(50),
*AMOL61(50),AMOL62(50),AMOL63(50),AMOL64(50),AMOL65(50),AMOL66(50),
*AMOL67(50),AMOL68(50),
*ATMNA1(3),ATMNA2(3),ATMNA3(3),ATMNA4(3),ATMNA5(3),ATMNA6(3),
* HMODS(3),ZST(50),PST(50),TST(50),AMOLS(50,35),IDUM
C
C COMMON /TRACL/ TRAC(50,22)
C
COMMON /TRACL/ ANO(50),SO2(50),ANO2(50),ANH3(50),HNO3(50),OH(50),
* HF(50),HCL(50),HBR(50),HI(50),CLO(50),OCS(50),H2CO(50),
* HOCL(50),AN2(50),HCN(50),CH3CL(50),H2O2(50),C2H2(50),
* C2H6(50),PH3(50),TDUM(50)
DATA CTMNA1 /'TROPICAL',' ',' '/
DATA CTMNA2 /'MIDLATIT','UDE SUMM','ER '/
DATA CTMNA3 /'MIDLATIT','UDE WINT','ER '/
DATA CTMNA4 /'SUBARCTI','C SUMMER',' '/
DATA CTMNA5 /'SUBARCTI','C WINTER',' '/
DATA CTMNA6 /'U. S. ST','ANDARD, ','1976 '/
C
C DATA ALT (KM) /
C
DATA ALT/
* 0.0, 1.0, 2.0, 3.0, 4.0,
* 5.0, 6.0, 7.0, 8.0, 9.0,
* 10.0, 11.0, 12.0, 13.0, 14.0,
* 15.0, 16.0, 17.0, 18.0, 19.0,
* 20.0, 21.0, 22.0, 23.0, 24.0,
* 25.0, 27.5, 30.0, 32.5, 35.0,
* 37.5, 40.0, 42.5, 45.0, 47.5,
* 50.0, 55.0, 60.0, 65.0, 70.0,
* 75.0, 80.0, 85.0, 90.0, 95.0,
* 100.0, 105.0, 110.0, 115.0, 120.0/
C
C DATA PRESSURE /
C
DATA P1/
* 1.013E+03, 9.040E+02, 8.050E+02, 7.150E+02, 6.330E+02,
* 5.590E+02, 4.920E+02, 4.320E+02, 3.780E+02, 3.290E+02,
* 2.860E+02, 2.470E+02, 2.130E+02, 1.820E+02, 1.560E+02,
* 1.320E+02, 1.110E+02, 9.370E+01, 7.890E+01, 6.660E+01,
* 5.650E+01, 4.800E+01, 4.090E+01, 3.500E+01, 3.000E+01,
* 2.570E+01, 1.763E+01, 1.220E+01, 8.520E+00, 6.000E+00,
* 4.260E+00, 3.050E+00, 2.200E+00, 1.590E+00, 1.160E+00,
* 8.540E-01, 4.560E-01, 2.390E-01, 1.210E-01, 5.800E-02,
* 2.600E-02, 1.100E-02, 4.400E-03, 1.720E-03, 6.880E-04,
* 2.890E-04, 1.300E-04, 6.470E-05, 3.600E-05, 2.250E-05/
DATA P2/
* 1.013E+03, 9.020E+02, 8.020E+02, 7.100E+02, 6.280E+02,
* 5.540E+02, 4.870E+02, 4.260E+02, 3.720E+02, 3.240E+02,
* 2.810E+02, 2.430E+02, 2.090E+02, 1.790E+02, 1.530E+02,
* 1.300E+02, 1.110E+02, 9.500E+01, 8.120E+01, 6.950E+01,
* 5.950E+01, 5.100E+01, 4.370E+01, 3.760E+01, 3.220E+01,
* 2.770E+01, 1.907E+01, 1.320E+01, 9.300E+00, 6.520E+00,
* 4.640E+00, 3.330E+00, 2.410E+00, 1.760E+00, 1.290E+00,
* 9.510E-01, 5.150E-01, 2.720E-01, 1.390E-01, 6.700E-02,
* 3.000E-02, 1.200E-02, 4.480E-03, 1.640E-03, 6.250E-04,
* 2.580E-04, 1.170E-04, 6.110E-05, 3.560E-05, 2.270E-05/
DATA P3/
* 1.018E+03, 8.973E+02, 7.897E+02, 6.938E+02, 6.081E+02,
* 5.313E+02, 4.627E+02, 4.016E+02, 3.473E+02, 2.993E+02,
* 2.568E+02, 2.199E+02, 1.882E+02, 1.611E+02, 1.378E+02,
* 1.178E+02, 1.007E+02, 8.610E+01, 7.360E+01, 6.280E+01,
* 5.370E+01, 4.580E+01, 3.910E+01, 3.340E+01, 2.860E+01,
* 2.440E+01, 1.646E+01, 1.110E+01, 7.560E+00, 5.180E+00,
* 3.600E+00, 2.530E+00, 1.800E+00, 1.290E+00, 9.400E-01,
* 6.830E-01, 3.620E-01, 1.880E-01, 9.500E-02, 4.700E-02,
* 2.220E-02, 1.030E-02, 4.560E-03, 1.980E-03, 8.770E-04,
* 4.074E-04, 2.000E-04, 1.057E-04, 5.980E-05, 3.600E-05/
DATA P4/
* 1.010E+03, 8.960E+02, 7.929E+02, 7.000E+02, 6.160E+02,
* 5.410E+02, 4.740E+02, 4.130E+02, 3.590E+02, 3.108E+02,
* 2.677E+02, 2.300E+02, 1.977E+02, 1.700E+02, 1.460E+02,
* 1.260E+02, 1.080E+02, 9.280E+01, 7.980E+01, 6.860E+01,
* 5.900E+01, 5.070E+01, 4.360E+01, 3.750E+01, 3.228E+01,
* 2.780E+01, 1.923E+01, 1.340E+01, 9.400E+00, 6.610E+00,
* 4.720E+00, 3.400E+00, 2.480E+00, 1.820E+00, 1.340E+00,
* 9.870E-01, 5.370E-01, 2.880E-01, 1.470E-01, 7.100E-02,
* 3.200E-02, 1.250E-02, 4.510E-03, 1.610E-03, 6.060E-04,
* 2.480E-04, 1.130E-04, 6.000E-05, 3.540E-05, 2.260E-05/
DATA P5/
* 1.013E+03, 8.878E+02, 7.775E+02, 6.798E+02, 5.932E+02,
* 5.158E+02, 4.467E+02, 3.853E+02, 3.308E+02, 2.829E+02,
* 2.418E+02, 2.067E+02, 1.766E+02, 1.510E+02, 1.291E+02,
* 1.103E+02, 9.431E+01, 8.058E+01, 6.882E+01, 5.875E+01,
* 5.014E+01, 4.277E+01, 3.647E+01, 3.109E+01, 2.649E+01,
* 2.256E+01, 1.513E+01, 1.020E+01, 6.910E+00, 4.701E+00,
* 3.230E+00, 2.243E+00, 1.570E+00, 1.113E+00, 7.900E-01,
* 5.719E-01, 2.990E-01, 1.550E-01, 7.900E-02, 4.000E-02,
* 2.000E-02, 9.660E-03, 4.500E-03, 2.022E-03, 9.070E-04,
* 4.230E-04, 2.070E-04, 1.080E-04, 6.000E-05, 3.590E-05/
DATA P6/
* 1.013E+03, 8.988E+02, 7.950E+02, 7.012E+02, 6.166E+02,
* 5.405E+02, 4.722E+02, 4.111E+02, 3.565E+02, 3.080E+02,
* 2.650E+02, 2.270E+02, 1.940E+02, 1.658E+02, 1.417E+02,
* 1.211E+02, 1.035E+02, 8.850E+01, 7.565E+01, 6.467E+01,
* 5.529E+01, 4.729E+01, 4.047E+01, 3.467E+01, 2.972E+01,
* 2.549E+01, 1.743E+01, 1.197E+01, 8.010E+00, 5.746E+00,
* 4.150E+00, 2.871E+00, 2.060E+00, 1.491E+00, 1.090E+00,
* 7.978E-01, 4.250E-01, 2.190E-01, 1.090E-01, 5.220E-02,
* 2.400E-02, 1.050E-02, 4.460E-03, 1.840E-03, 7.600E-04,
* 3.200E-04, 1.450E-04, 7.100E-05, 4.010E-05, 2.540E-05/
C
C DATA TEMPERATUR/
C
DATA T1/
* 299.70, 293.70, 287.70, 283.70, 277.00,
* 270.30, 263.60, 257.00, 250.30, 243.60,
* 237.00, 230.10, 223.60, 217.00, 210.30,
* 203.70, 197.00, 194.80, 198.80, 202.70,
* 206.70, 210.70, 214.60, 217.00, 219.20,
* 221.40, 227.00, 232.30, 237.70, 243.10,
* 248.50, 254.00, 259.40, 264.80, 269.60,
* 270.20, 263.40, 253.10, 236.00, 218.90,
* 201.80, 184.80, 177.10, 177.00, 184.30,
* 190.70, 212.00, 241.60, 299.70, 380.00/
DATA T2/
* 294.20, 289.70, 285.20, 279.20, 273.20,
* 267.20, 261.20, 254.70, 248.20, 241.70,
* 235.30, 228.80, 222.30, 215.80, 215.70,
* 215.70, 215.70, 215.70, 216.80, 217.90,
* 219.20, 220.40, 221.60, 222.80, 223.90,
* 225.10, 228.45, 233.70, 239.00, 245.20,
* 251.30, 257.50, 263.70, 269.90, 275.20,
* 275.70, 269.30, 257.10, 240.10, 218.10,
* 196.10, 174.10, 165.10, 165.00, 178.30,
* 190.50, 222.20, 262.40, 316.80, 380.00/
DATA T3/
* 272.20, 268.70, 265.20, 261.70, 255.70,
* 249.70, 243.70, 237.70, 231.70, 225.70,
* 219.70, 219.20, 218.70, 218.20, 217.70,
* 217.20, 216.70, 216.20, 215.70, 215.20,
* 215.20, 215.20, 215.20, 215.20, 215.20,
* 215.20, 215.50, 217.40, 220.40, 227.90,
* 235.50, 243.20, 250.80, 258.50, 265.10,
* 265.70, 260.60, 250.80, 240.90, 230.70,
* 220.40, 210.10, 199.80, 199.50, 208.30,
* 218.60, 237.10, 259.50, 293.00, 333.00/
DATA T4/
* 287.20, 281.70, 276.30, 270.90, 265.50,
* 260.10, 253.10, 246.10, 239.20, 232.20,
* 225.20, 225.20, 225.20, 225.20, 225.20,
* 225.20, 225.20, 225.20, 225.20, 225.20,
* 225.20, 225.20, 225.20, 225.20, 226.60,
* 228.10, 231.00, 235.10, 240.00, 247.20,
* 254.60, 262.10, 269.50, 273.60, 276.20,
* 277.20, 274.00, 262.70, 239.70, 216.60,
* 193.60, 170.60, 161.70, 161.60, 176.80,
* 190.40, 226.00, 270.10, 322.70, 380.00/
DATA T5/
* 257.20, 259.10, 255.90, 252.70, 247.70,
* 240.90, 234.10, 227.30, 220.60, 217.20,
* 217.20, 217.20, 217.20, 217.20, 217.20,
* 217.20, 216.60, 216.00, 215.40, 214.80,
* 214.20, 213.60, 213.00, 212.40, 211.80,
* 211.20, 213.60, 216.00, 218.50, 222.30,
* 228.50, 234.70, 240.80, 247.00, 253.20,
* 259.30, 259.10, 250.90, 248.40, 245.40,
* 234.70, 223.90, 213.10, 202.30, 211.00,
* 218.50, 234.00, 252.60, 288.50, 333.00/
DATA T6/
* 288.20, 281.70, 275.20, 268.70, 262.20,
* 255.70, 249.20, 242.70, 236.20, 229.70,
* 223.30, 216.80, 216.70, 216.70, 216.70,
* 216.70, 216.70, 216.70, 216.70, 216.70,
* 216.70, 217.60, 218.60, 219.60, 220.60,
* 221.60, 224.00, 226.50, 230.00, 236.50,
* 242.90, 250.40, 257.30, 264.20, 270.60,
* 270.70, 260.80, 247.00, 233.30, 219.60,
* 208.40, 198.60, 188.90, 186.90, 188.40,
* 195.10, 208.80, 240.00, 300.00, 360.00/
C
C DATA H2O /
C
DATA AMOL11/
* 2.593E+04, 1.949E+04, 1.534E+04, 8.600E+03, 4.441E+03,
* 3.346E+03, 2.101E+03, 1.289E+03, 7.637E+02, 4.098E+02,
* 1.912E+02, 7.306E+01, 2.905E+01, 9.900E+00, 6.220E+00,
* 4.000E+00, 3.000E+00, 2.900E+00, 2.750E+00, 2.600E+00,
* 2.600E+00, 2.650E+00, 2.800E+00, 2.900E+00, 3.200E+00,
* 3.250E+00, 3.600E+00, 4.000E+00, 4.300E+00, 4.600E+00,
* 4.900E+00, 5.200E+00, 5.500E+00, 5.700E+00, 5.900E+00,
* 6.000E+00, 6.000E+00, 6.000E+00, 5.400E+00, 4.500E+00,
* 3.300E+00, 2.100E+00, 1.300E+00, 8.500E-01, 5.400E-01,
* 4.000E-01, 3.400E-01, 2.800E-01, 2.400E-01, 2.000E-01/
DATA AMOL21/
* 1.876E+04, 1.378E+04, 9.680E+03, 5.984E+03, 3.813E+03,
* 2.225E+03, 1.510E+03, 1.020E+03, 6.464E+02, 4.129E+02,
* 2.472E+02, 9.556E+01, 2.944E+01, 8.000E+00, 5.000E+00,
* 3.400E+00, 3.300E+00, 3.200E+00, 3.150E+00, 3.200E+00,
* 3.300E+00, 3.450E+00, 3.600E+00, 3.850E+00, 4.000E+00,
* 4.200E+00, 4.450E+00, 4.700E+00, 4.850E+00, 4.950E+00,
* 5.000E+00, 5.100E+00, 5.300E+00, 5.450E+00, 5.500E+00,
* 5.500E+00, 5.350E+00, 5.000E+00, 4.400E+00, 3.700E+00,
* 2.950E+00, 2.100E+00, 1.330E+00, 8.500E-01, 5.400E-01,
* 4.000E-01, 3.400E-01, 2.800E-01, 2.400E-01, 2.000E-01/
DATA AMOL31/
* 4.316E+03, 3.454E+03, 2.788E+03, 2.088E+03, 1.280E+03,
* 8.241E+02, 5.103E+02, 2.321E+02, 1.077E+02, 5.566E+01,
* 2.960E+01, 1.000E+01, 6.000E+00, 5.000E+00, 4.800E+00,
* 4.700E+00, 4.600E+00, 4.500E+00, 4.500E+00, 4.500E+00,
* 4.500E+00, 4.500E+00, 4.530E+00, 4.550E+00, 4.600E+00,
* 4.650E+00, 4.700E+00, 4.750E+00, 4.800E+00, 4.850E+00,
* 4.900E+00, 4.950E+00, 5.000E+00, 5.000E+00, 5.000E+00,
* 4.950E+00, 4.850E+00, 4.500E+00, 4.000E+00, 3.300E+00,
* 2.700E+00, 2.000E+00, 1.330E+00, 8.500E-01, 5.400E-01,
* 4.000E-01, 3.400E-01, 2.800E-01, 2.400E-01, 2.000E-01/
DATA AMOL41/
* 1.194E+04, 8.701E+03, 6.750E+03, 4.820E+03, 3.380E+03,
* 2.218E+03, 1.330E+03, 7.971E+02, 3.996E+02, 1.300E+02,
* 4.240E+01, 1.330E+01, 6.000E+00, 4.450E+00, 4.000E+00,
* 4.000E+00, 4.000E+00, 4.050E+00, 4.300E+00, 4.500E+00,
* 4.600E+00, 4.700E+00, 4.800E+00, 4.830E+00, 4.850E+00,
* 4.900E+00, 4.950E+00, 5.000E+00, 5.000E+00, 5.000E+00,
* 5.000E+00, 5.000E+00, 5.000E+00, 5.000E+00, 5.000E+00,
* 4.950E+00, 4.850E+00, 4.500E+00, 4.000E+00, 3.300E+00,
* 2.700E+00, 2.000E+00, 1.330E+00, 8.500E-01, 5.400E-01,
* 4.000E-01, 3.400E-01, 2.800E-01, 2.400E-01, 2.000E-01/
DATA AMOL51/
* 1.405E+03, 1.615E+03, 1.427E+03, 1.166E+03, 7.898E+02,
* 4.309E+02, 2.369E+02, 1.470E+02, 3.384E+01, 2.976E+01,
* 2.000E+01, 1.000E+01, 6.000E+00, 4.450E+00, 4.500E+00,
* 4.550E+00, 4.600E+00, 4.650E+00, 4.700E+00, 4.750E+00,
* 4.800E+00, 4.850E+00, 4.900E+00, 4.950E+00, 5.000E+00,
* 5.000E+00, 5.000E+00, 5.000E+00, 5.000E+00, 5.000E+00,
* 5.000E+00, 5.000E+00, 5.000E+00, 5.000E+00, 5.000E+00,
* 4.950E+00, 4.850E+00, 4.500E+00, 4.000E+00, 3.300E+00,
* 2.700E+00, 2.000E+00, 1.330E+00, 8.500E-01, 5.400E-01,
* 4.000E-01, 3.400E-01, 2.800E-01, 2.400E-01, 2.000E-01/
DATA AMOL61/
* 7.745E+03, 6.071E+03, 4.631E+03, 3.182E+03, 2.158E+03,
* 1.397E+03, 9.254E+02, 5.720E+02, 3.667E+02, 1.583E+02,
* 6.996E+01, 3.613E+01, 1.906E+01, 1.085E+01, 5.927E+00,
* 5.000E+00, 3.950E+00, 3.850E+00, 3.825E+00, 3.850E+00,
* 3.900E+00, 3.975E+00, 4.065E+00, 4.200E+00, 4.300E+00,
* 4.425E+00, 4.575E+00, 4.725E+00, 4.825E+00, 4.900E+00,
* 4.950E+00, 5.025E+00, 5.150E+00, 5.225E+00, 5.250E+00,
* 5.225E+00, 5.100E+00, 4.750E+00, 4.200E+00, 3.500E+00,
* 2.825E+00, 2.050E+00, 1.330E+00, 8.500E-01, 5.400E-01,
* 4.000E-01, 3.400E-01, 2.800E-01, 2.400E-01, 2.000E-01/
C
C DATA CO2 /
C
DATA AMOL12/
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.280E+02, 3.200E+02, 3.100E+02, 2.700E+02,
* 1.950E+02, 1.100E+02, 6.000E+01, 4.000E+01, 3.500E+01/
C
C DATA CO2 /
C
DATA AMOL22/
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.280E+02, 3.200E+02, 3.100E+02, 2.700E+02,
* 1.950E+02, 1.100E+02, 6.000E+01, 4.000E+01, 3.500E+01/
C
C DATA CO2 /
C
DATA AMOL32/
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.280E+02, 3.200E+02, 3.100E+02, 2.700E+02,
* 1.950E+02, 1.100E+02, 6.000E+01, 4.000E+01, 3.500E+01/
C
C DATA CO2 /
C
DATA AMOL42/
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.280E+02, 3.200E+02, 3.100E+02, 2.700E+02,
* 1.950E+02, 1.100E+02, 6.000E+01, 4.000E+01, 3.500E+01/
C
C DATA CO2 /
C
DATA AMOL52/
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.280E+02, 3.200E+02, 3.100E+02, 2.700E+02,
* 1.950E+02, 1.100E+02, 6.000E+01, 4.000E+01, 3.500E+01/
C
C DATA CO2 /
C
DATA AMOL62/
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02, 3.300E+02,
* 3.300E+02, 3.280E+02, 3.200E+02, 3.100E+02, 2.700E+02,
* 1.950E+02, 1.100E+02, 6.000E+01, 4.000E+01, 3.500E+01/
C
C DATA OZONE /
C
DATA AMOL13/
* 2.869E-02, 3.150E-02, 3.342E-02, 3.504E-02, 3.561E-02,
* 3.767E-02, 3.989E-02, 4.223E-02, 4.471E-02, 5.000E-02,
* 5.595E-02, 6.613E-02, 7.815E-02, 9.289E-02, 1.050E-01,
* 1.256E-01, 1.444E-01, 2.500E-01, 5.000E-01, 9.500E-01,
* 1.400E+00, 1.800E+00, 2.400E+00, 3.400E+00, 4.300E+00,
* 5.400E+00, 7.800E+00, 9.300E+00, 9.850E+00, 9.700E+00,
* 8.800E+00, 7.500E+00, 5.900E+00, 4.500E+00, 3.450E+00,
* 2.800E+00, 1.800E+00, 1.100E+00, 6.500E-01, 3.000E-01,
* 1.800E-01, 3.300E-01, 5.000E-01, 5.200E-01, 5.000E-01,
* 4.000E-01, 2.000E-01, 5.000E-02, 5.000E-03, 5.000E-04/
DATA AMOL23/
* 3.017E-02, 3.337E-02, 3.694E-02, 4.222E-02, 4.821E-02,
* 5.512E-02, 6.408E-02, 7.764E-02, 9.126E-02, 1.111E-01,
* 1.304E-01, 1.793E-01, 2.230E-01, 3.000E-01, 4.400E-01,
* 5.000E-01, 6.000E-01, 7.000E-01, 1.000E+00, 1.500E+00,
* 2.000E+00, 2.400E+00, 2.900E+00, 3.400E+00, 4.000E+00,
* 4.800E+00, 6.000E+00, 7.000E+00, 8.100E+00, 8.900E+00,
* 8.700E+00, 7.550E+00, 5.900E+00, 4.500E+00, 3.500E+00,
* 2.800E+00, 1.800E+00, 1.300E+00, 8.000E-01, 4.000E-01,
* 1.900E-01, 2.000E-01, 5.700E-01, 7.500E-01, 7.000E-01,
* 4.000E-01, 2.000E-01, 5.000E-02, 5.000E-03, 5.000E-04/
DATA AMOL33/
* 2.778E-02, 2.800E-02, 2.849E-02, 3.200E-02, 3.567E-02,
* 4.720E-02, 5.837E-02, 7.891E-02, 1.039E-01, 1.567E-01,
* 2.370E-01, 3.624E-01, 5.232E-01, 7.036E-01, 8.000E-01,
* 9.000E-01, 1.100E+00, 1.400E+00, 1.800E+00, 2.300E+00,
* 2.900E+00, 3.500E+00, 3.900E+00, 4.300E+00, 4.700E+00,
* 5.100E+00, 5.600E+00, 6.100E+00, 6.800E+00, 7.100E+00,
* 7.200E+00, 6.900E+00, 5.900E+00, 4.600E+00, 3.700E+00,
* 2.750E+00, 1.700E+00, 1.000E-00, 5.500E-01, 3.200E-01,
* 2.500E-01, 2.300E-01, 5.500E-01, 8.000E-01, 8.000E-01,
* 4.000E-01, 2.000E-01, 5.000E-02, 5.000E-03, 5.000E-04/
DATA AMOL43/
* 2.412E-02, 2.940E-02, 3.379E-02, 3.887E-02, 4.478E-02,
* 5.328E-02, 6.564E-02, 7.738E-02, 9.114E-02, 1.420E-01,
* 1.890E-01, 3.050E-01, 4.100E-01, 5.000E-01, 6.000E-01,
* 7.000E-01, 8.500E-01, 1.000E+00, 1.300E+00, 1.700E+00,
* 2.100E+00, 2.700E+00, 3.300E+00, 3.700E+00, 4.200E+00,
* 4.500E+00, 5.300E+00, 5.700E+00, 6.900E+00, 7.700E+00,
* 7.800E+00, 7.000E+00, 5.400E+00, 4.200E+00, 3.200E+00,
* 2.500E+00, 1.700E+00, 1.200E+00, 8.000E-01, 4.000E-01,
* 2.000E-01, 1.800E-01, 6.500E-01, 9.000E-01, 8.000E-01,
* 4.000E-01, 2.000E-01, 5.000E-02, 5.000E-03, 5.000E-04/
DATA AMOL53/
* 1.802E-02, 2.072E-02, 2.336E-02, 2.767E-02, 3.253E-02,
* 3.801E-02, 4.446E-02, 7.252E-02, 1.040E-01, 2.100E-01,
* 3.000E-01, 3.500E-01, 4.000E-01, 6.500E-01, 9.000E-01,
* 1.200E+00, 1.500E+00, 1.900E+00, 2.450E+00, 3.100E+00,
* 3.700E+00, 4.000E+00, 4.200E+00, 4.500E+00, 4.600E+00,
* 4.700E+00, 4.900E+00, 5.400E+00, 5.900E+00, 6.200E+00,
* 6.250E+00, 5.900E+00, 5.100E+00, 4.100E+00, 3.000E+00,
* 2.600E+00, 1.600E+00, 9.500E-01, 6.500E-01, 5.000E-01,
* 3.300E-01, 1.300E-01, 7.500E-01, 8.000E-01, 8.000E-01,
* 4.000E-01, 2.000E-01, 5.000E-02, 5.000E-03, 5.000E-04/
DATA AMOL63/
* 2.660E-02, 2.931E-02, 3.237E-02, 3.318E-02, 3.387E-02,
* 3.768E-02, 4.112E-02, 5.009E-02, 5.966E-02, 9.168E-02,
* 1.313E-01, 2.149E-01, 3.095E-01, 3.846E-01, 5.030E-01,
* 6.505E-01, 8.701E-01, 1.187E+00, 1.587E+00, 2.030E+00,
* 2.579E+00, 3.028E+00, 3.647E+00, 4.168E+00, 4.627E+00,
* 5.118E+00, 5.803E+00, 6.553E+00, 7.373E+00, 7.837E+00,
* 7.800E+00, 7.300E+00, 6.200E+00, 5.250E+00, 4.100E+00,
* 3.100E+00, 1.800E+00, 1.100E+00, 7.000E-01, 3.000E-01,
* 2.500E-01, 3.000E-01, 5.000E-01, 7.000E-01, 7.000E-01,
* 4.000E-01, 2.000E-01, 5.000E-02, 5.000E-03, 5.000E-04/
C
C DATA N2O /
C
DATA AMOL14/
* 3.200E-01, 3.200E-01, 3.200E-01, 3.200E-01, 3.200E-01,
* 3.200E-01, 3.200E-01, 3.200E-01, 3.200E-01, 3.195E-01,
* 3.179E-01, 3.140E-01, 3.095E-01, 3.048E-01, 2.999E-01,
* 2.944E-01, 2.877E-01, 2.783E-01, 2.671E-01, 2.527E-01,
* 2.365E-01, 2.194E-01, 2.051E-01, 1.967E-01, 1.875E-01,
* 1.756E-01, 1.588E-01, 1.416E-01, 1.165E-01, 9.275E-02,
* 6.693E-02, 4.513E-02, 2.751E-02, 1.591E-02, 9.378E-03,
* 4.752E-03, 3.000E-03, 2.065E-03, 1.507E-03, 1.149E-03,
* 8.890E-04, 7.056E-04, 5.716E-04, 4.708E-04, 3.932E-04,
* 3.323E-04, 2.837E-04, 2.443E-04, 2.120E-04, 1.851E-04/
C
C DATA N2O /
C
DATA AMOL24/
* 3.200E-01, 3.200E-01, 3.200E-01, 3.200E-01, 3.200E-01,
* 3.200E-01, 3.200E-01, 3.200E-01, 3.195E-01, 3.163E-01,
* 3.096E-01, 2.989E-01, 2.936E-01, 2.860E-01, 2.800E-01,
* 2.724E-01, 2.611E-01, 2.421E-01, 2.174E-01, 1.843E-01,
* 1.607E-01, 1.323E-01, 1.146E-01, 1.035E-01, 9.622E-02,
* 8.958E-02, 8.006E-02, 6.698E-02, 4.958E-02, 3.695E-02,
* 2.519E-02, 1.736E-02, 1.158E-02, 7.665E-03, 5.321E-03,
* 3.215E-03, 2.030E-03, 1.397E-03, 1.020E-03, 7.772E-04,
* 6.257E-04, 5.166E-04, 4.352E-04, 3.727E-04, 3.237E-04,
* 2.844E-04, 2.524E-04, 2.260E-04, 2.039E-04, 1.851E-04/
C
C DATA N2O /
C
DATA AMOL34/
* 3.200E-01, 3.200E-01, 3.200E-01, 3.200E-01, 3.200E-01,
* 3.200E-01, 3.200E-01, 3.200E-01, 3.195E-01, 3.163E-01,
* 3.096E-01, 2.989E-01, 2.936E-01, 2.860E-01, 2.800E-01,
* 2.724E-01, 2.611E-01, 2.421E-01, 2.174E-01, 1.843E-01,
* 1.621E-01, 1.362E-01, 1.230E-01, 1.124E-01, 1.048E-01,
* 9.661E-02, 8.693E-02, 7.524E-02, 6.126E-02, 5.116E-02,
* 3.968E-02, 2.995E-02, 2.080E-02, 1.311E-02, 8.071E-03,
* 4.164E-03, 2.629E-03, 1.809E-03, 1.321E-03, 1.007E-03,
* 7.883E-04, 6.333E-04, 5.194E-04, 4.333E-04, 3.666E-04,
* 3.140E-04, 2.717E-04, 2.373E-04, 2.089E-04, 1.851E-04/
C
C DATA N2O /
C
DATA AMOL44/
* 3.100E-01, 3.100E-01, 3.100E-01, 3.100E-01, 3.079E-01,
* 3.024E-01, 2.906E-01, 2.822E-01, 2.759E-01, 2.703E-01,
* 2.651E-01, 2.600E-01, 2.549E-01, 2.494E-01, 2.433E-01,
* 2.355E-01, 2.282E-01, 2.179E-01, 2.035E-01, 1.817E-01,
* 1.567E-01, 1.350E-01, 1.218E-01, 1.102E-01, 9.893E-02,
* 8.775E-02, 7.327E-02, 5.941E-02, 4.154E-02, 3.032E-02,
* 1.949E-02, 1.274E-02, 9.001E-03, 6.286E-03, 4.558E-03,
* 2.795E-03, 1.765E-03, 1.214E-03, 8.866E-04, 6.756E-04,
* 5.538E-04, 4.649E-04, 3.979E-04, 3.459E-04, 3.047E-04,
* 2.713E-04, 2.439E-04, 2.210E-04, 2.017E-04, 1.851E-04/
C
C DATA N2O /
C
DATA AMOL54/
* 3.200E-01, 3.200E-01, 3.200E-01, 3.200E-01, 3.200E-01,
* 3.200E-01, 3.200E-01, 3.200E-01, 3.195E-01, 3.163E-01,
* 3.096E-01, 2.989E-01, 2.936E-01, 2.860E-01, 2.800E-01,
* 2.724E-01, 2.611E-01, 2.421E-01, 2.174E-01, 1.843E-01,
* 1.621E-01, 1.362E-01, 1.230E-01, 1.122E-01, 1.043E-01,
* 9.570E-02, 8.598E-02, 7.314E-02, 5.710E-02, 4.670E-02,
* 3.439E-02, 2.471E-02, 1.631E-02, 1.066E-02, 7.064E-03,
* 3.972E-03, 2.508E-03, 1.726E-03, 1.260E-03, 9.602E-04,
* 7.554E-04, 6.097E-04, 5.024E-04, 4.210E-04, 3.579E-04,
* 3.080E-04, 2.678E-04, 2.350E-04, 2.079E-04, 1.851E-04/
C
C DATA N2O /
C
DATA AMOL64/
* 3.200E-01, 3.200E-01, 3.200E-01, 3.200E-01, 3.200E-01,
* 3.200E-01, 3.200E-01, 3.200E-01, 3.200E-01, 3.195E-01,
* 3.179E-01, 3.140E-01, 3.095E-01, 3.048E-01, 2.999E-01,
* 2.944E-01, 2.877E-01, 2.783E-01, 2.671E-01, 2.527E-01,
* 2.365E-01, 2.194E-01, 2.051E-01, 1.967E-01, 1.875E-01,
* 1.756E-01, 1.588E-01, 1.416E-01, 1.165E-01, 9.275E-02,
* 6.693E-02, 4.513E-02, 2.751E-02, 1.591E-02, 9.378E-03,
* 4.752E-03, 3.000E-03, 2.065E-03, 1.507E-03, 1.149E-03,
* 8.890E-04, 7.056E-04, 5.716E-04, 4.708E-04, 3.932E-04,
* 3.323E-04, 2.837E-04, 2.443E-04, 2.120E-04, 1.851E-04/
C
C DATA CO /
C
DATA AMOL15/
* 1.500E-01, 1.450E-01, 1.399E-01, 1.349E-01, 1.312E-01,
* 1.303E-01, 1.288E-01, 1.247E-01, 1.185E-01, 1.094E-01,
* 9.962E-02, 8.964E-02, 7.814E-02, 6.374E-02, 5.025E-02,
* 3.941E-02, 3.069E-02, 2.489E-02, 1.966E-02, 1.549E-02,
* 1.331E-02, 1.232E-02, 1.232E-02, 1.307E-02, 1.400E-02,
* 1.521E-02, 1.722E-02, 1.995E-02, 2.266E-02, 2.487E-02,
* 2.738E-02, 3.098E-02, 3.510E-02, 3.987E-02, 4.482E-02,
* 5.092E-02, 5.985E-02, 6.960E-02, 9.188E-02, 1.938E-01,
* 5.688E-01, 1.549E+00, 3.849E+00, 6.590E+00, 1.044E+01,
* 1.705E+01, 2.471E+01, 3.358E+01, 4.148E+01, 5.000E+01/
C
C DATA CO /
C
DATA AMOL25/
* 1.500E-01, 1.450E-01, 1.399E-01, 1.349E-01, 1.312E-01,
* 1.303E-01, 1.288E-01, 1.247E-01, 1.185E-01, 1.094E-01,
* 9.962E-02, 8.964E-02, 7.814E-02, 6.374E-02, 5.025E-02,
* 3.941E-02, 3.069E-02, 2.489E-02, 1.966E-02, 1.549E-02,
* 1.331E-02, 1.232E-02, 1.232E-02, 1.307E-02, 1.400E-02,
* 1.521E-02, 1.722E-02, 1.995E-02, 2.266E-02, 2.487E-02,
* 2.716E-02, 2.962E-02, 3.138E-02, 3.307E-02, 3.487E-02,
* 3.645E-02, 3.923E-02, 4.673E-02, 6.404E-02, 1.177E-01,
* 2.935E-01, 6.815E-01, 1.465E+00, 2.849E+00, 5.166E+00,
* 1.008E+01, 1.865E+01, 2.863E+01, 3.890E+01, 5.000E+01/
C
C DATA CO /
C
DATA AMOL35/
* 1.500E-01, 1.450E-01, 1.399E-01, 1.349E-01, 1.312E-01,
* 1.303E-01, 1.288E-01, 1.247E-01, 1.185E-01, 1.094E-01,
* 9.962E-02, 8.964E-02, 7.814E-02, 6.374E-02, 5.025E-02,
* 3.941E-02, 3.069E-02, 2.489E-02, 1.966E-02, 1.549E-02,
* 1.331E-02, 1.232E-02, 1.232E-02, 1.307E-02, 1.400E-02,
* 1.498E-02, 1.598E-02, 1.710E-02, 1.850E-02, 1.997E-02,
* 2.147E-02, 2.331E-02, 2.622E-02, 3.057E-02, 3.803E-02,
* 6.245E-02, 1.480E-01, 2.926E-01, 5.586E-01, 1.078E+00,
* 1.897E+00, 2.960E+00, 4.526E+00, 6.862E+00, 1.054E+01,
* 1.709E+01, 2.473E+01, 3.359E+01, 4.149E+01, 5.000E+01/
C
C DATA CO /
C
DATA AMOL45/
* 1.500E-01, 1.450E-01, 1.399E-01, 1.349E-01, 1.312E-01,
* 1.303E-01, 1.288E-01, 1.247E-01, 1.185E-01, 1.094E-01,
* 9.962E-02, 8.964E-02, 7.814E-02, 6.374E-02, 5.025E-02,
* 3.941E-02, 3.069E-02, 2.489E-02, 1.966E-02, 1.549E-02,
* 1.331E-02, 1.232E-02, 1.232E-02, 1.307E-02, 1.400E-02,
* 1.510E-02, 1.649E-02, 1.808E-02, 1.997E-02, 2.183E-02,
* 2.343E-02, 2.496E-02, 2.647E-02, 2.809E-02, 2.999E-02,
* 3.220E-02, 3.650E-02, 4.589E-02, 6.375E-02, 1.176E-01,
* 3.033E-01, 7.894E-01, 1.823E+00, 3.402E+00, 5.916E+00,
* 1.043E+01, 1.881E+01, 2.869E+01, 3.892E+01, 5.000E+01/
C
C DATA CO /
C
DATA AMOL55/
* 1.500E-01, 1.450E-01, 1.399E-01, 1.349E-01, 1.312E-01,
* 1.303E-01, 1.288E-01, 1.247E-01, 1.185E-01, 1.094E-01,
* 9.962E-02, 8.964E-02, 7.814E-02, 6.374E-02, 5.025E-02,
* 3.941E-02, 3.069E-02, 2.489E-02, 1.966E-02, 1.549E-02,
* 1.331E-02, 1.232E-02, 1.232E-02, 1.307E-02, 1.400E-02,
* 1.521E-02, 1.722E-02, 2.037E-02, 2.486E-02, 3.168E-02,
* 4.429E-02, 6.472E-02, 1.041E-01, 1.507E-01, 2.163E-01,
* 3.141E-01, 4.842E-01, 7.147E-01, 1.067E+00, 1.516E+00,
* 2.166E+00, 3.060E+00, 4.564E+00, 6.877E+00, 1.055E+01,
* 1.710E+01, 2.473E+01, 3.359E+01, 4.149E+01, 5.000E+01/
C
C DATA CO /
C
DATA AMOL65/
* 1.500E-01, 1.450E-01, 1.399E-01, 1.349E-01, 1.312E-01,
* 1.303E-01, 1.288E-01, 1.247E-01, 1.185E-01, 1.094E-01,
* 9.962E-02, 8.964E-02, 7.814E-02, 6.374E-02, 5.025E-02,
* 3.941E-02, 3.069E-02, 2.489E-02, 1.966E-02, 1.549E-02,
* 1.331E-02, 1.232E-02, 1.232E-02, 1.307E-02, 1.400E-02,
* 1.498E-02, 1.598E-02, 1.710E-02, 1.850E-02, 2.009E-02,
* 2.220E-02, 2.497E-02, 2.824E-02, 3.241E-02, 3.717E-02,
* 4.597E-02, 6.639E-02, 1.073E-01, 1.862E-01, 3.059E-01,
* 6.375E-01, 1.497E+00, 3.239E+00, 5.843E+00, 1.013E+01,
* 1.692E+01, 2.467E+01, 3.356E+01, 4.148E+01, 5.000E+01/
C
C DATA CH4 /
C
DATA AMOL16/
* 1.700E+00, 1.700E+00, 1.700E+00, 1.700E+00, 1.700E+00,
* 1.700E+00, 1.700E+00, 1.699E+00, 1.697E+00, 1.693E+00,
* 1.685E+00, 1.675E+00, 1.662E+00, 1.645E+00, 1.626E+00,
* 1.605E+00, 1.582E+00, 1.553E+00, 1.521E+00, 1.480E+00,
* 1.424E+00, 1.355E+00, 1.272E+00, 1.191E+00, 1.118E+00,
* 1.055E+00, 9.870E-01, 9.136E-01, 8.300E-01, 7.460E-01,
* 6.618E-01, 5.638E-01, 4.614E-01, 3.631E-01, 2.773E-01,
* 2.100E-01, 1.651E-01, 1.500E-01, 1.500E-01, 1.500E-01,
* 1.500E-01, 1.500E-01, 1.500E-01, 1.400E-01, 1.300E-01,
* 1.200E-01, 1.100E-01, 9.500E-02, 6.000E-02, 3.000E-02/
C
C DATA CH4 /
C
DATA AMOL26/
* 1.700E+00, 1.700E+00, 1.700E+00, 1.700E+00, 1.697E+00,
* 1.687E+00, 1.672E+00, 1.649E+00, 1.629E+00, 1.615E+00,
* 1.579E+00, 1.542E+00, 1.508E+00, 1.479E+00, 1.451E+00,
* 1.422E+00, 1.390E+00, 1.356E+00, 1.323E+00, 1.281E+00,
* 1.224E+00, 1.154E+00, 1.066E+00, 9.730E-01, 8.800E-01,
* 7.888E-01, 7.046E-01, 6.315E-01, 5.592E-01, 5.008E-01,
* 4.453E-01, 3.916E-01, 3.389E-01, 2.873E-01, 2.384E-01,
* 1.944E-01, 1.574E-01, 1.500E-01, 1.500E-01, 1.500E-01,
* 1.500E-01, 1.500E-01, 1.500E-01, 1.400E-01, 1.300E-01,
* 1.200E-01, 1.100E-01, 9.500E-02, 6.000E-02, 3.000E-02/
C
C DATA CH4 /
C
DATA AMOL36/
* 1.700E+00, 1.700E+00, 1.700E+00, 1.700E+00, 1.697E+00,
* 1.687E+00, 1.672E+00, 1.649E+00, 1.629E+00, 1.615E+00,
* 1.579E+00, 1.542E+00, 1.508E+00, 1.479E+00, 1.451E+00,
* 1.422E+00, 1.390E+00, 1.356E+00, 1.323E+00, 1.281E+00,
* 1.224E+00, 1.154E+00, 1.066E+00, 9.730E-01, 8.800E-01,
* 7.931E-01, 7.130E-01, 6.438E-01, 5.746E-01, 5.050E-01,
* 4.481E-01, 3.931E-01, 3.395E-01, 2.876E-01, 2.386E-01,
* 1.944E-01, 1.574E-01, 1.500E-01, 1.500E-01, 1.500E-01,
* 1.500E-01, 1.500E-01, 1.500E-01, 1.400E-01, 1.300E-01,
* 1.200E-01, 1.100E-01, 9.500E-02, 6.000E-02, 3.000E-02/
C
C DATA CH4 /
C
DATA AMOL46/
* 1.700E+00, 1.700E+00, 1.700E+00, 1.700E+00, 1.697E+00,
* 1.687E+00, 1.672E+00, 1.649E+00, 1.629E+00, 1.615E+00,
* 1.579E+00, 1.542E+00, 1.506E+00, 1.471E+00, 1.434E+00,
* 1.389E+00, 1.342E+00, 1.290E+00, 1.230E+00, 1.157E+00,
* 1.072E+00, 9.903E-01, 9.170E-01, 8.574E-01, 8.013E-01,
* 7.477E-01, 6.956E-01, 6.442E-01, 5.888E-01, 5.240E-01,
* 4.506E-01, 3.708E-01, 2.992E-01, 2.445E-01, 2.000E-01,
* 1.660E-01, 1.500E-01, 1.500E-01, 1.500E-01, 1.500E-01,
* 1.500E-01, 1.500E-01, 1.500E-01, 1.400E-01, 1.300E-01,
* 1.200E-01, 1.100E-01, 9.500E-02, 6.000E-02, 3.000E-02/
C
C DATA CH4 /
C
DATA AMOL56/
* 1.700E+00, 1.700E+00, 1.700E+00, 1.700E+00, 1.697E+00,
* 1.687E+00, 1.672E+00, 1.649E+00, 1.629E+00, 1.615E+00,
* 1.579E+00, 1.542E+00, 1.506E+00, 1.471E+00, 1.434E+00,
* 1.389E+00, 1.342E+00, 1.290E+00, 1.230E+00, 1.161E+00,
* 1.084E+00, 1.014E+00, 9.561E-01, 9.009E-01, 8.479E-01,
* 7.961E-01, 7.449E-01, 6.941E-01, 6.434E-01, 5.883E-01,
* 5.238E-01, 4.505E-01, 3.708E-01, 3.004E-01, 2.453E-01,
* 1.980E-01, 1.590E-01, 1.500E-01, 1.500E-01, 1.500E-01,
* 1.500E-01, 1.500E-01, 1.500E-01, 1.400E-01, 1.300E-01,
* 1.200E-01, 1.100E-01, 9.500E-02, 6.000E-02, 3.000E-02/
C
C DATA CH4 /
C
DATA AMOL66/
* 1.700E+00, 1.700E+00, 1.700E+00, 1.700E+00, 1.700E+00,
* 1.700E+00, 1.700E+00, 1.699E+00, 1.697E+00, 1.693E+00,
* 1.685E+00, 1.675E+00, 1.662E+00, 1.645E+00, 1.626E+00,
* 1.605E+00, 1.582E+00, 1.553E+00, 1.521E+00, 1.480E+00,
* 1.424E+00, 1.355E+00, 1.272E+00, 1.191E+00, 1.118E+00,
* 1.055E+00, 9.870E-01, 9.136E-01, 8.300E-01, 7.460E-01,
* 6.618E-01, 5.638E-01, 4.614E-01, 3.631E-01, 2.773E-01,
* 2.100E-01, 1.650E-01, 1.500E-01, 1.500E-01, 1.500E-01,
* 1.500E-01, 1.500E-01, 1.500E-01, 1.400E-01, 1.300E-01,
* 1.200E-01, 1.100E-01, 9.500E-02, 6.000E-02, 3.000E-02/
C
C DATA O2 /
C
DATA AMOL17/
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.000E+05, 1.900E+05, 1.800E+05,
* 1.600E+05, 1.400E+05, 1.200E+05, 9.400E+04, 7.250E+04/
C
C DATA O2 /
C
DATA AMOL27/
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.000E+05, 1.900E+05, 1.800E+05,
* 1.600E+05, 1.400E+05, 1.200E+05, 9.400E+04, 7.250E+04/
C
C DATA O2 /
C
DATA AMOL37/
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.000E+05, 1.900E+05, 1.800E+05,
* 1.600E+05, 1.400E+05, 1.200E+05, 9.400E+04, 7.250E+04/
C
C DATA O2 /
C
DATA AMOL47/
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.000E+05, 1.900E+05, 1.800E+05,
* 1.600E+05, 1.400E+05, 1.200E+05, 9.400E+04, 7.250E+04/
C
C DATA O2 /
C
DATA AMOL57/
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.000E+05, 1.900E+05, 1.800E+05,
* 1.600E+05, 1.400E+05, 1.200E+05, 9.400E+04, 7.250E+04/
C
C DATA O2 /
C
DATA AMOL67/
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05, 2.090E+05,
* 2.090E+05, 2.090E+05, 2.000E+05, 1.900E+05, 1.800E+05,
* 1.600E+05, 1.400E+05, 1.200E+05, 9.400E+04, 7.250E+04/
C
C DATA DENSITY /
C
DATA AMOL18/
* 2.450E+19, 2.231E+19, 2.028E+19, 1.827E+19, 1.656E+19,
* 1.499E+19, 1.353E+19, 1.218E+19, 1.095E+19, 9.789E+18,
* 8.747E+18, 7.780E+18, 6.904E+18, 6.079E+18, 5.377E+18,
* 4.697E+18, 4.084E+18, 3.486E+18, 2.877E+18, 2.381E+18,
* 1.981E+18, 1.651E+18, 1.381E+18, 1.169E+18, 9.920E+17,
* 8.413E+17, 5.629E+17, 3.807E+17, 2.598E+17, 1.789E+17,
* 1.243E+17, 8.703E+16, 6.147E+16, 4.352E+16, 3.119E+16,
* 2.291E+16, 1.255E+16, 6.844E+15, 3.716E+15, 1.920E+15,
* 9.338E+14, 4.314E+14, 1.801E+14, 7.043E+13, 2.706E+13,
* 1.098E+13, 4.445E+12, 1.941E+12, 8.706E+11, 4.225E+11/
DATA AMOL28/
* 2.496E+19, 2.257E+19, 2.038E+19, 1.843E+19, 1.666E+19,
* 1.503E+19, 1.351E+19, 1.212E+19, 1.086E+19, 9.716E+18,
* 8.656E+18, 7.698E+18, 6.814E+18, 6.012E+18, 5.141E+18,
* 4.368E+18, 3.730E+18, 3.192E+18, 2.715E+18, 2.312E+18,
* 1.967E+18, 1.677E+18, 1.429E+18, 1.223E+18, 1.042E+18,
* 8.919E+17, 6.050E+17, 4.094E+17, 2.820E+17, 1.927E+17,
* 1.338E+17, 9.373E+16, 6.624E+16, 4.726E+16, 3.398E+16,
* 2.500E+16, 1.386E+16, 7.668E+15, 4.196E+15, 2.227E+15,
* 1.109E+15, 4.996E+14, 1.967E+14, 7.204E+13, 2.541E+13,
* 9.816E+12, 3.816E+12, 1.688E+12, 8.145E+11, 4.330E+11/
DATA AMOL38/
* 2.711E+19, 2.420E+19, 2.158E+19, 1.922E+19, 1.724E+19,
* 1.542E+19, 1.376E+19, 1.225E+19, 1.086E+19, 9.612E+18,
* 8.472E+18, 7.271E+18, 6.237E+18, 5.351E+18, 4.588E+18,
* 3.931E+18, 3.368E+18, 2.886E+18, 2.473E+18, 2.115E+18,
* 1.809E+18, 1.543E+18, 1.317E+18, 1.125E+18, 9.633E+17,
* 8.218E+17, 5.536E+17, 3.701E+17, 2.486E+17, 1.647E+17,
* 1.108E+17, 7.540E+16, 5.202E+16, 3.617E+16, 2.570E+16,
* 1.863E+16, 1.007E+16, 5.433E+15, 2.858E+15, 1.477E+15,
* 7.301E+14, 3.553E+14, 1.654E+14, 7.194E+13, 3.052E+13,
* 1.351E+13, 6.114E+12, 2.952E+12, 1.479E+12, 7.836E+11/
DATA AMOL48/
* 2.549E+19, 2.305E+19, 2.080E+19, 1.873E+19, 1.682E+19,
* 1.508E+19, 1.357E+19, 1.216E+19, 1.088E+19, 9.701E+18,
* 8.616E+18, 7.402E+18, 6.363E+18, 5.471E+18, 4.699E+18,
* 4.055E+18, 3.476E+18, 2.987E+18, 2.568E+18, 2.208E+18,
* 1.899E+18, 1.632E+18, 1.403E+18, 1.207E+18, 1.033E+18,
* 8.834E+17, 6.034E+17, 4.131E+17, 2.839E+17, 1.938E+17,
* 1.344E+17, 9.402E+16, 6.670E+16, 4.821E+16, 3.516E+16,
* 2.581E+16, 1.421E+16, 7.946E+15, 4.445E+15, 2.376E+15,
* 1.198E+15, 5.311E+14, 2.022E+14, 7.221E+13, 2.484E+13,
* 9.441E+12, 3.624E+12, 1.610E+12, 7.951E+11, 4.311E+11/
DATA AMOL58/
* 2.855E+19, 2.484E+19, 2.202E+19, 1.950E+19, 1.736E+19,
* 1.552E+19, 1.383E+19, 1.229E+19, 1.087E+19, 9.440E+18,
* 8.069E+18, 6.898E+18, 5.893E+18, 5.039E+18, 4.308E+18,
* 3.681E+18, 3.156E+18, 2.704E+18, 2.316E+18, 1.982E+18,
* 1.697E+18, 1.451E+18, 1.241E+18, 1.061E+18, 9.065E+17,
* 7.742E+17, 5.134E+17, 3.423E+17, 2.292E+17, 1.533E+17,
* 1.025E+17, 6.927E+16, 4.726E+16, 3.266E+16, 2.261E+16,
* 1.599E+16, 8.364E+15, 4.478E+15, 2.305E+15, 1.181E+15,
* 6.176E+14, 3.127E+14, 1.531E+14, 7.244E+13, 3.116E+13,
* 1.403E+13, 6.412E+12, 3.099E+12, 1.507E+12, 7.814E+11/
DATA AMOL68/
* 2.548E+19, 2.313E+19, 2.094E+19, 1.891E+19, 1.704E+19,
* 1.532E+19, 1.373E+19, 1.228E+19, 1.094E+19, 9.719E+18,
* 8.602E+18, 7.589E+18, 6.489E+18, 5.546E+18, 4.739E+18,
* 4.050E+18, 3.462E+18, 2.960E+18, 2.530E+18, 2.163E+18,
* 1.849E+18, 1.575E+18, 1.342E+18, 1.144E+18, 9.765E+17,
* 8.337E+17, 5.640E+17, 3.830E+17, 2.524E+17, 1.761E+17,
* 1.238E+17, 8.310E+16, 5.803E+16, 4.090E+16, 2.920E+16,
* 2.136E+16, 1.181E+16, 6.426E+15, 3.386E+15, 1.723E+15,
* 8.347E+14, 3.832E+14, 1.711E+14, 7.136E+13, 2.924E+13,
* 1.189E+13, 5.033E+12, 2.144E+12, 9.688E+11, 5.114E+11/
DATA ANO /
* 3.00E-04, 3.00E-04, 3.00E-04, 3.00E-04, 3.00E-04,
* 3.00E-04, 3.00E-04, 3.00E-04, 3.00E-04, 3.00E-04,
* 3.00E-04, 3.00E-04, 3.00E-04, 2.99E-04, 2.95E-04,
* 2.83E-04, 2.68E-04, 2.52E-04, 2.40E-04, 2.44E-04,
* 2.55E-04, 2.77E-04, 3.07E-04, 3.60E-04, 4.51E-04,
* 6.85E-04, 1.28E-03, 2.45E-03, 4.53E-03, 7.14E-03,
* 9.34E-03, 1.12E-02, 1.19E-02, 1.17E-02, 1.10E-02,
* 1.03E-02, 1.01E-02, 1.01E-02, 1.03E-02, 1.15E-02,
* 1.61E-02, 2.68E-02, 7.01E-02, 2.13E-01, 7.12E-01,
* 2.08E+00, 4.50E+00, 7.98E+00, 1.00E+01, 1.00E+01/
DATA SO2 /
* 3.00E-04, 2.74E-04, 2.36E-04, 1.90E-04, 1.46E-04,
* 1.18E-04, 9.71E-05, 8.30E-05, 7.21E-05, 6.56E-05,
* 6.08E-05, 5.79E-05, 5.60E-05, 5.59E-05, 5.64E-05,
* 5.75E-05, 5.75E-05, 5.37E-05, 4.78E-05, 3.97E-05,
* 3.19E-05, 2.67E-05, 2.28E-05, 2.07E-05, 1.90E-05,
* 1.75E-05, 1.54E-05, 1.34E-05, 1.21E-05, 1.16E-05,
* 1.21E-05, 1.36E-05, 1.65E-05, 2.10E-05, 2.77E-05,
* 3.56E-05, 4.59E-05, 5.15E-05, 5.11E-05, 4.32E-05,
* 2.83E-05, 1.33E-05, 5.56E-06, 2.24E-06, 8.96E-07,
* 3.58E-07, 1.43E-07, 5.73E-08, 2.29E-08, 9.17E-09/
DATA ANO2 /
* 2.30E-05, 2.30E-05, 2.30E-05, 2.30E-05, 2.30E-05,
* 2.30E-05, 2.30E-05, 2.30E-05, 2.30E-05, 2.32E-05,
* 2.38E-05, 2.62E-05, 3.15E-05, 4.45E-05, 7.48E-05,
* 1.71E-04, 3.19E-04, 5.19E-04, 7.71E-04, 1.06E-03,
* 1.39E-03, 1.76E-03, 2.16E-03, 2.58E-03, 3.06E-03,
* 3.74E-03, 4.81E-03, 6.16E-03, 7.21E-03, 7.28E-03,
* 6.26E-03, 4.03E-03, 2.17E-03, 1.15E-03, 6.66E-04,
* 4.43E-04, 3.39E-04, 2.85E-04, 2.53E-04, 2.31E-04,
* 2.15E-04, 2.02E-04, 1.92E-04, 1.83E-04, 1.76E-04,
* 1.70E-04, 1.64E-04, 1.59E-04, 1.55E-04, 1.51E-04/
DATA ANH3 /
* 5.00E-04, 5.00E-04, 4.63E-04, 3.80E-04, 2.88E-04,
* 2.04E-04, 1.46E-04, 9.88E-05, 6.48E-05, 3.77E-05,
* 2.03E-05, 1.09E-05, 6.30E-06, 3.12E-06, 1.11E-06,
* 4.47E-07, 2.11E-07, 1.10E-07, 6.70E-08, 3.97E-08,
* 2.41E-08, 1.92E-08, 1.72E-08, 1.59E-08, 1.44E-08,
* 1.23E-08, 9.37E-09, 6.35E-09, 3.68E-09, 1.82E-09,
* 9.26E-10, 2.94E-10, 8.72E-11, 2.98E-11, 1.30E-11,
* 7.13E-12, 4.80E-12, 3.66E-12, 3.00E-12, 2.57E-12,
* 2.27E-12, 2.04E-12, 1.85E-12, 1.71E-12, 1.59E-12,
* 1.48E-12, 1.40E-12, 1.32E-12, 1.25E-12, 1.19E-12/
DATA HNO3 /
* 5.00E-05, 5.96E-05, 6.93E-05, 7.91E-05, 8.87E-05,
* 9.75E-05, 1.11E-04, 1.26E-04, 1.39E-04, 1.53E-04,
* 1.74E-04, 2.02E-04, 2.41E-04, 2.76E-04, 3.33E-04,
* 4.52E-04, 7.37E-04, 1.31E-03, 2.11E-03, 3.17E-03,
* 4.20E-03, 4.94E-03, 5.46E-03, 5.74E-03, 5.84E-03,
* 5.61E-03, 4.82E-03, 3.74E-03, 2.59E-03, 1.64E-03,
* 9.68E-04, 5.33E-04, 2.52E-04, 1.21E-04, 7.70E-05,
* 5.55E-05, 4.45E-05, 3.84E-05, 3.49E-05, 3.27E-05,
* 3.12E-05, 3.01E-05, 2.92E-05, 2.84E-05, 2.78E-05,
* 2.73E-05, 2.68E-05, 2.64E-05, 2.60E-05, 2.57E-05/
DATA OH /
* 4.40E-08, 4.40E-08, 4.40E-08, 4.40E-08, 4.40E-08,
* 4.40E-08, 4.40E-08, 4.41E-08, 4.45E-08, 4.56E-08,
* 4.68E-08, 4.80E-08, 4.94E-08, 5.19E-08, 5.65E-08,
* 6.75E-08, 8.25E-08, 1.04E-07, 1.30E-07, 1.64E-07,
* 2.16E-07, 3.40E-07, 5.09E-07, 7.59E-07, 1.16E-06,
* 2.18E-06, 5.00E-06, 1.17E-05, 3.40E-05, 8.35E-05,
* 1.70E-04, 2.85E-04, 4.06E-04, 5.11E-04, 5.79E-04,
* 6.75E-04, 9.53E-04, 1.76E-03, 3.74E-03, 7.19E-03,
* 1.12E-02, 1.13E-02, 6.10E-03, 1.51E-03, 2.42E-04,
* 4.47E-05, 1.77E-05, 1.19E-05, 1.35E-05, 2.20E-05/
DATA HF /
* 1.00E-08, 1.00E-08, 1.23E-08, 1.97E-08, 3.18E-08,
* 5.63E-08, 9.18E-08, 1.53E-07, 2.41E-07, 4.04E-07,
* 6.57E-07, 1.20E-06, 1.96E-06, 3.12E-06, 4.62E-06,
* 7.09E-06, 1.05E-05, 1.69E-05, 2.57E-05, 4.02E-05,
* 5.77E-05, 7.77E-05, 9.90E-05, 1.23E-04, 1.50E-04,
* 1.82E-04, 2.30E-04, 2.83E-04, 3.20E-04, 3.48E-04,
* 3.72E-04, 3.95E-04, 4.10E-04, 4.21E-04, 4.24E-04,
* 4.25E-04, 4.25E-04, 4.25E-04, 4.25E-04, 4.25E-04,
* 4.25E-04, 4.25E-04, 4.25E-04, 4.25E-04, 4.25E-04,
* 4.25E-04, 4.25E-04, 4.25E-04, 4.25E-04, 4.25E-04/
DATA HCL /
* 1.00E-03, 7.49E-04, 5.61E-04, 4.22E-04, 3.19E-04,
* 2.39E-04, 1.79E-04, 1.32E-04, 9.96E-05, 7.48E-05,
* 5.68E-05, 4.59E-05, 4.36E-05, 6.51E-05, 1.01E-04,
* 1.63E-04, 2.37E-04, 3.13E-04, 3.85E-04, 4.42E-04,
* 4.89E-04, 5.22E-04, 5.49E-04, 5.75E-04, 6.04E-04,
* 6.51E-04, 7.51E-04, 9.88E-04, 1.28E-03, 1.57E-03,
* 1.69E-03, 1.74E-03, 1.76E-03, 1.79E-03, 1.80E-03,
* 1.80E-03, 1.80E-03, 1.80E-03, 1.80E-03, 1.80E-03,
* 1.80E-03, 1.80E-03, 1.80E-03, 1.80E-03, 1.80E-03,
* 1.80E-03, 1.80E-03, 1.80E-03, 1.80E-03, 1.80E-03/
DATA HBR /
* 1.70E-06, 1.70E-06, 1.70E-06, 1.70E-06, 1.70E-06,
* 1.70E-06, 1.70E-06, 1.70E-06, 1.70E-06, 1.70E-06,
* 1.70E-06, 1.70E-06, 1.70E-06, 1.70E-06, 1.70E-06,
* 1.70E-06, 1.70E-06, 1.70E-06, 1.70E-06, 1.70E-06,
* 1.70E-06, 1.70E-06, 1.70E-06, 1.70E-06, 1.70E-06,
* 1.71E-06, 1.76E-06, 1.90E-06, 2.26E-06, 2.82E-06,
* 3.69E-06, 4.91E-06, 6.13E-06, 6.85E-06, 7.08E-06,
* 7.14E-06, 7.15E-06, 7.15E-06, 7.15E-06, 7.15E-06,
* 7.15E-06, 7.15E-06, 7.15E-06, 7.15E-06, 7.15E-06,
* 7.15E-06, 7.15E-06, 7.15E-06, 7.15E-06, 7.15E-06/
DATA HI /
* 3.00E-06, 3.00E-06, 3.00E-06, 3.00E-06, 3.00E-06,
* 3.00E-06, 3.00E-06, 3.00E-06, 3.00E-06, 3.00E-06,
* 3.00E-06, 3.00E-06, 3.00E-06, 3.00E-06, 3.00E-06,
* 3.00E-06, 3.00E-06, 3.00E-06, 3.00E-06, 3.00E-06,
* 3.00E-06, 3.00E-06, 3.00E-06, 3.00E-06, 3.00E-06,
* 3.00E-06, 3.00E-06, 3.00E-06, 3.00E-06, 3.00E-06,
* 3.00E-06, 3.00E-06, 3.00E-06, 3.00E-06, 3.00E-06,
* 3.00E-06, 3.00E-06, 3.00E-06, 3.00E-06, 3.00E-06,
* 3.00E-06, 3.00E-06, 3.00E-06, 3.00E-06, 3.00E-06,
* 3.00E-06, 3.00E-06, 3.00E-06, 3.00E-06, 3.00E-06/
DATA CLO /
* 1.00E-08, 1.00E-08, 1.00E-08, 1.00E-08, 1.00E-08,
* 1.00E-08, 1.00E-08, 1.00E-08, 1.01E-08, 1.05E-08,
* 1.21E-08, 1.87E-08, 3.18E-08, 5.61E-08, 9.99E-08,
* 1.78E-07, 3.16E-07, 5.65E-07, 1.04E-06, 2.04E-06,
* 4.64E-06, 8.15E-06, 1.07E-05, 1.52E-05, 2.24E-05,
* 3.97E-05, 8.48E-05, 1.85E-04, 3.57E-04, 5.08E-04,
* 6.07E-04, 5.95E-04, 4.33E-04, 2.51E-04, 1.56E-04,
* 1.04E-04, 7.69E-05, 6.30E-05, 5.52E-05, 5.04E-05,
* 4.72E-05, 4.49E-05, 4.30E-05, 4.16E-05, 4.03E-05,
* 3.93E-05, 3.83E-05, 3.75E-05, 3.68E-05, 3.61E-05/
DATA OCS /
* 6.00E-04, 5.90E-04, 5.80E-04, 5.70E-04, 5.62E-04,
* 5.55E-04, 5.48E-04, 5.40E-04, 5.32E-04, 5.25E-04,
* 5.18E-04, 5.09E-04, 4.98E-04, 4.82E-04, 4.60E-04,
* 4.26E-04, 3.88E-04, 3.48E-04, 3.09E-04, 2.74E-04,
* 2.41E-04, 2.14E-04, 1.88E-04, 1.64E-04, 1.37E-04,
* 1.08E-04, 6.70E-05, 2.96E-05, 1.21E-05, 4.31E-06,
* 1.60E-06, 6.71E-07, 4.35E-07, 3.34E-07, 2.80E-07,
* 2.47E-07, 2.28E-07, 2.16E-07, 2.08E-07, 2.03E-07,
* 1.98E-07, 1.95E-07, 1.92E-07, 1.89E-07, 1.87E-07,
* 1.85E-07, 1.83E-07, 1.81E-07, 1.80E-07, 1.78E-07/
DATA H2CO /
* 2.40E-03, 1.07E-03, 4.04E-04, 2.27E-04, 1.40E-04,
* 1.00E-04, 7.44E-05, 6.04E-05, 5.01E-05, 4.22E-05,
* 3.63E-05, 3.43E-05, 3.39E-05, 3.50E-05, 3.62E-05,
* 3.62E-05, 3.58E-05, 3.50E-05, 3.42E-05, 3.39E-05,
* 3.43E-05, 3.68E-05, 4.03E-05, 4.50E-05, 5.06E-05,
* 5.82E-05, 7.21E-05, 8.73E-05, 1.01E-04, 1.11E-04,
* 1.13E-04, 1.03E-04, 7.95E-05, 4.82E-05, 1.63E-05,
* 5.10E-06, 2.00E-06, 1.05E-06, 6.86E-07, 5.14E-07,
* 4.16E-07, 3.53E-07, 3.09E-07, 2.76E-07, 2.50E-07,
* 2.30E-07, 2.13E-07, 1.98E-07, 1.86E-07, 1.75E-07/
DATA HOCL /
* 7.70E-06, 1.06E-05, 1.22E-05, 1.14E-05, 9.80E-06,
* 8.01E-06, 6.42E-06, 5.42E-06, 4.70E-06, 4.41E-06,
* 4.34E-06, 4.65E-06, 5.01E-06, 5.22E-06, 5.60E-06,
* 6.86E-06, 8.77E-06, 1.20E-05, 1.63E-05, 2.26E-05,
* 3.07E-05, 4.29E-05, 5.76E-05, 7.65E-05, 9.92E-05,
* 1.31E-04, 1.84E-04, 2.45E-04, 2.96E-04, 3.21E-04,
* 3.04E-04, 2.48E-04, 1.64E-04, 9.74E-05, 4.92E-05,
* 2.53E-05, 1.50E-05, 1.05E-05, 8.34E-06, 7.11E-06,
* 6.33E-06, 5.78E-06, 5.37E-06, 5.05E-06, 4.78E-06,
* 4.56E-06, 4.37E-06, 4.21E-06, 4.06E-06, 3.93E-06/
DATA AN2 /
* 7.81E+05, 7.81E+05, 7.81E+05, 7.81E+05, 7.81E+05,
* 7.81E+05, 7.81E+05, 7.81E+05, 7.81E+05, 7.81E+05,
* 7.81E+05, 7.81E+05, 7.81E+05, 7.81E+05, 7.81E+05,
* 7.81E+05, 7.81E+05, 7.81E+05, 7.81E+05, 7.81E+05,
* 7.81E+05, 7.81E+05, 7.81E+05, 7.81E+05, 7.81E+05,
* 7.81E+05, 7.81E+05, 7.81E+05, 7.81E+05, 7.81E+05,
* 7.81E+05, 7.81E+05, 7.81E+05, 7.81E+05, 7.81E+05,
* 7.81E+05, 7.81E+05, 7.81E+05, 7.81E+05, 7.81E+05,
* 7.81E+05, 7.81E+05, 7.81E+05, 7.80E+05, 7.79E+05,
* 7.77E+05, 7.74E+05, 7.70E+05, 7.65E+05, 7.60E+05/
DATA HCN /
* 1.70E-04, 1.65E-04, 1.63E-04, 1.61E-04, 1.60E-04,
* 1.60E-04, 1.60E-04, 1.60E-04, 1.60E-04, 1.60E-04,
* 1.60E-04, 1.60E-04, 1.60E-04, 1.59E-04, 1.57E-04,
* 1.55E-04, 1.52E-04, 1.49E-04, 1.45E-04, 1.41E-04,
* 1.37E-04, 1.34E-04, 1.30E-04, 1.25E-04, 1.19E-04,
* 1.13E-04, 1.05E-04, 9.73E-05, 9.04E-05, 8.46E-05,
* 8.02E-05, 7.63E-05, 7.30E-05, 7.00E-05, 6.70E-05,
* 6.43E-05, 6.21E-05, 6.02E-05, 5.88E-05, 5.75E-05,
* 5.62E-05, 5.50E-05, 5.37E-05, 5.25E-05, 5.12E-05,
* 5.00E-05, 4.87E-05, 4.75E-05, 4.62E-05, 4.50E-05/
DATA CH3CL /
* 7.00E-04, 6.70E-04, 6.43E-04, 6.22E-04, 6.07E-04,
* 6.02E-04, 6.00E-04, 6.00E-04, 5.98E-04, 5.94E-04,
* 5.88E-04, 5.79E-04, 5.66E-04, 5.48E-04, 5.28E-04,
* 5.03E-04, 4.77E-04, 4.49E-04, 4.21E-04, 3.95E-04,
* 3.69E-04, 3.43E-04, 3.17E-04, 2.86E-04, 2.48E-04,
* 1.91E-04, 1.10E-04, 4.72E-05, 1.79E-05, 7.35E-06,
* 3.03E-06, 1.32E-06, 8.69E-07, 6.68E-07, 5.60E-07,
* 4.94E-07, 4.56E-07, 4.32E-07, 4.17E-07, 4.05E-07,
* 3.96E-07, 3.89E-07, 3.83E-07, 3.78E-07, 3.73E-07,
* 3.69E-07, 3.66E-07, 3.62E-07, 3.59E-07, 3.56E-07/
DATA H2O2 /
* 2.00E-04, 1.95E-04, 1.92E-04, 1.89E-04, 1.84E-04,
* 1.77E-04, 1.66E-04, 1.49E-04, 1.23E-04, 9.09E-05,
* 5.79E-05, 3.43E-05, 1.95E-05, 1.08E-05, 6.59E-06,
* 4.20E-06, 2.94E-06, 2.30E-06, 2.24E-06, 2.68E-06,
* 3.68E-06, 5.62E-06, 1.03E-05, 1.97E-05, 3.70E-05,
* 6.20E-05, 1.03E-04, 1.36E-04, 1.36E-04, 1.13E-04,
* 8.51E-05, 6.37E-05, 5.17E-05, 4.44E-05, 3.80E-05,
* 3.48E-05, 3.62E-05, 5.25E-05, 1.26E-04, 3.77E-04,
* 1.12E-03, 2.00E-03, 1.68E-03, 4.31E-04, 4.98E-05,
* 6.76E-06, 8.38E-07, 9.56E-08, 1.00E-08, 1.00E-09/
DATA C2H2 /
* 3.00E-04, 1.72E-04, 9.57E-05, 6.74E-05, 5.07E-05,
* 3.99E-05, 3.19E-05, 2.80E-05, 2.55E-05, 2.40E-05,
* 2.27E-05, 2.08E-05, 1.76E-05, 1.23E-05, 7.32E-06,
* 4.52E-06, 2.59E-06, 1.55E-06, 8.63E-07, 5.30E-07,
* 3.10E-07, 1.89E-07, 1.04E-07, 5.75E-08, 2.23E-08,
* 8.51E-09, 4.09E-09, 2.52E-09, 1.86E-09, 1.52E-09,
* 1.32E-09, 1.18E-09, 1.08E-09, 9.97E-10, 9.34E-10,
* 8.83E-10, 8.43E-10, 8.10E-10, 7.83E-10, 7.60E-10,
* 7.40E-10, 7.23E-10, 7.07E-10, 6.94E-10, 6.81E-10,
* 6.70E-10, 6.59E-10, 6.49E-10, 6.40E-10, 6.32E-10/
DATA C2H6 /
* 2.00E-03, 2.00E-03, 2.00E-03, 2.00E-03, 1.98E-03,
* 1.95E-03, 1.90E-03, 1.85E-03, 1.79E-03, 1.72E-03,
* 1.58E-03, 1.30E-03, 9.86E-04, 7.22E-04, 4.96E-04,
* 3.35E-04, 2.14E-04, 1.49E-04, 1.05E-04, 7.96E-05,
* 6.01E-05, 4.57E-05, 3.40E-05, 2.60E-05, 1.89E-05,
* 1.22E-05, 5.74E-06, 2.14E-06, 8.49E-07, 3.42E-07,
* 1.34E-07, 5.39E-08, 2.25E-08, 1.04E-08, 6.57E-09,
* 4.74E-09, 3.79E-09, 3.28E-09, 2.98E-09, 2.79E-09,
* 2.66E-09, 2.56E-09, 2.49E-09, 2.43E-09, 2.37E-09,
* 2.33E-09, 2.29E-09, 2.25E-09, 2.22E-09, 2.19E-09/
DATA PH3 /
* 1.00E-14, 1.00E-14, 1.00E-14, 1.00E-14, 1.00E-14,
* 1.00E-14, 1.00E-14, 1.00E-14, 1.00E-14, 1.00E-14,
* 1.00E-14, 1.00E-14, 1.00E-14, 1.00E-14, 1.00E-14,
* 1.00E-14, 1.00E-14, 1.00E-14, 1.00E-14, 1.00E-14,
* 1.00E-14, 1.00E-14, 1.00E-14, 1.00E-14, 1.00E-14,
* 1.00E-14, 1.00E-14, 1.00E-14, 1.00E-14, 1.00E-14,
* 1.00E-14, 1.00E-14, 1.00E-14, 1.00E-14, 1.00E-14,
* 1.00E-14, 1.00E-14, 1.00E-14, 1.00E-14, 1.00E-14,
* 1.00E-14, 1.00E-14, 1.00E-14, 1.00E-14, 1.00E-14,
* 1.00E-14, 1.00E-14, 1.00E-14, 1.00E-14, 1.00E-14/
END
C
C ******************************************************************
C
SUBROUTINE LDEFAL (Z,P,T) 1
C
C ******************************************************************
C
C THIS SUBROUTINE LOADS ONE OF THE 6 BUILT IN ATMOSPHERIC PROFILES
C FROM WHICH IT WILL INTERPOLATE "DEFAULT" VALUES FOR ALTITUDE "Z"
C
C
C *** THIS SUBROUTINE IS CALLED BY "RDUNIT" WHICH
C *** READS USER SUPPLIED INPUT PROFILES OR SINGLE VALUES
C *** UNDER "MODEL = 0 " SPECIFICATIONS
C
C *** SEE DOCUMENTATION FOR CLARIFICATION ***
C
C SUBROUTINE "DEFALT"IS TRIGGERRED WHENEVER ANY ONE OF
C THE INPUT PARAMETERS JCHARP, JCART, (JCHAR(K),K=1,NMOL) IS = 1-6
C
C FOR SIMPLICITY, ALL INTERPOLATIONS ARE DONE AT ONE TIME BECAUSE
C THE LAGRANGE WEIGHTS (4PT), BASED ON (ALT-Z), REMAIN UNCHANGED
C
C JCHAR(K) FOR K<8 ALLOW MODEL-DEPENDENT CHOICES
C
C JCHAR=JUNIT
C
C 1 CHOOSES TROPICAL
C 2 " MID-LATITUDE SUMMER
C 3 " MID-LATITUDE WINTER
C 4 " HIGH-LAT SUMMER
C 5 " HIGH-LAT WINTER
C 6 " US STANDARD
C
C
C JUNIT(K) FOR K>7 CHOOSES FROM THE SINGLE TRACE CONSTITUENT
C PROFILES, ALL APPRORIATE FOR THE US STD ATMOSPHERE
C
C *** NOTE *** T<0 WILL ALSO PRINT OUT A MESSAGE INDICATING
C *** A POSSIBLE MISAPPLICATION OF TEMPERATURE UNITS, (K) VS (C)
C
C ******************************************************************
C
PARAMETER (NCASE=15, NCASE2=NCASE-2)
COMMON /IFIL/ IRD,IPR,IPU,NPR,NFHDRF,NPHDRF,NFHDRL,
* NPHDRL,NLNGTH,KFILE,KPANEL,LINFIL,
* NFILE,IAFIL,IEXFIL,NLTEFL,LNFIL4,LNGTH4
COMMON /CARD1B/ JUNITP,JUNITT,JUNIT(NCASE2),WMOL(NCASE),
* WAIR,JLOW
C
CHARACTER*8 HDUM,DUM1
C
COMMON /MLATML/ ALT(50),PMATM(50,6),TMATM(50,6),AMOL(50,8,6),
* HDUM(3),DUM1(6,3),DUM2(50,38),IDUM
COMMON /TRACL/ TRAC(50,22)
C
DATA PZERO /1013.25/,TZERO/273.15/,XLOSCH/2.6868E19/
C
C *** 4PT INTERPOLATION FUNCTION
C
VAL(A1,A2,A3,A4,X1,X2,X3,X4) = A1*X1+A2*X2+A3*X3+A4*X4
C
C
NMOL = 1
ILOWER = 0
IUPPER = 0
IM50 = 50
DO 10 IM = 2, IM50
I2 = IM
IF (ALT(IM).GE.Z) GO TO 20
10 CONTINUE
I2 = IM50
20 I1 = I2-1
I0 = I2-2
I3 = I2+1
IF (I0.LT.1) GO TO 30
IF (I3.GT.IM50) GO TO 40
C
GO TO 60
C
C LOWER ENDPOINT CORRECTION
C
30 CONTINUE
ILOWER = 1
I0 = I1
I1 = I2
I2 = I3
I3 = I3+1
GO TO 60
C
C UPPER ENDPOINT CORRECTION
C
40 CONTINUE
IUPPER = 1
IF (Z.GT.ALT(IM50)) GO TO 50
I3 = I2
I2 = I1
I1 = I0
I0 = I1-1
GO TO 60
C
C UPPER ENDPOINT EXTRAPOLATION
C
50 CONTINUE
Z0 = ALT(I0)
Z1 = ALT(I1)
Z2 = ALT(I2)
Z3 = Z2+2.*(Z-Z2)
IUPPER = 2
WRITE (IPR,900) Z
STOP 'DEFAULTZ'
C
C I3=I2
C GO TO 31
C
C LAGRANGE CONTINUATION
C
60 CONTINUE
C
C LAGRANGE COEF DETERMINATION
C
Z1 = ALT(I1)
Z2 = ALT(I2)
Z0 = ALT(I0)
Z3 = ALT(I3)
DEN1 = (Z0-Z1)*(Z0-Z2)*(Z0-Z3)
DEN2 = (Z1-Z2)*(Z1-Z3)*(Z1-Z0)
DEN3 = (Z2-Z3)*(Z2-Z0)*(Z2-Z1)
DEN4 = (Z3-Z0)*(Z3-Z1)*(Z3-Z2)
A1 = ((Z-Z1)*(Z-Z2)*(Z-Z3))/DEN1
A2 = ((Z-Z2)*(Z-Z3)*(Z-Z0))/DEN2
A3 = ((Z-Z3)*(Z-Z0)*(Z-Z1))/DEN3
A4 = ((Z-Z0)*(Z-Z1)*(Z-Z2))/DEN4
C
C
C TEST INPUT PARAMETERS (JUNIT'S) SEQUENTIALLY FOR TRIGGER
C I.E. JUNIT(P,T,K) = 1-6
C
IF (JUNITP.GT.6) GO TO 70
MATM = JUNITP
C
C WRITE (IPR,60) Z,MATM
C
X1 = ALOG(PMATM(I0,MATM))
X2 = ALOG(PMATM(I1,MATM))
X3 = ALOG(PMATM(I2,MATM))
X4 = ALOG(PMATM(I3,MATM))
IF (IUPPER.EQ.2) X4 = X3+2*(X3-X2)
P = VAL(A1,A2,A3,A4,X1,X2,X3,X4)
P = EXP(P)
70 IF (JUNITT.GT.6) GO TO 80
MATM = JUNITT
C
C WRITE (IPR,65) Z,MATM
C
X1 = TMATM(I0,MATM)
X2 = TMATM(I1,MATM)
X3 = TMATM(I2,MATM)
X4 = TMATM(I3,MATM)
T = VAL(A1,A2,A3,A4,X1,X2,X3,X4)
80 DO 110 K = 1, NMOL
IF (JUNIT(K).GT.6) GO TO 110
C
IF (K.GT.7) GO TO 90
MATM = JUNIT(K)
C
X1 = AMOL(I0,K,MATM)
X2 = AMOL(I1,K,MATM)
X3 = AMOL(I2,K,MATM)
X4 = AMOL(I3,K,MATM)
GO TO 100
90 ITR = K-7
MATM = 6
C
X1 = TRAC(I0,ITR)
X2 = TRAC(I1,ITR)
X3 = TRAC(I2,ITR)
X4 = TRAC(I3,ITR)
100 WMOL(K) = VAL(A1,A2,A3,A4,X1,X2,X3,X4)
JUNIT(K) = 10
GO TO 110
C
C 53 JUNIT(K)=10
C WRITE(IPR,54)K
C 54 FORMAT(' **** INCONSISTENCY IN THE USER SPECIFICATION',
C A ' , JUNIT = 9 AND WMOL(K) = 0 , K =',I2,/,
C B ' **** DENNUM(K) HAS BEEN SET TO 0, NOT DEFAULT VALUE')
C
110 CONTINUE
WMOL(12) = WMOL(12)*1.0E+3
C
C THE UNIT FOR NEW PROFILE IS PPMV.
C
RETURN
C
C 100 CONTINUE
C
C
C STOP'DEFAULT'
C
900 FORMAT(/,' *** Z IS GREATER THAN 120 KM ***, Z = ',F10.3)
C
END
BLOCK DATA ATMCOL
C
C > BLOCK DATA
C ******************************************************************
C THIS SUBROUTINE INITIALIZES THE CONSTANTS USED IN THE
C PROGRAM. CONSTANTS RELATING TO THE ATMOSPHERIC PROFILES ARE STORED
C IN BLOCK DATA MLATMB.
C ******************************************************************
C
PARAMETER (MXFSC=200, MXLAY=MXFSC+3,MXZMD=3400,
* MXPDIM=MXLAY+MXZMD,IM2=MXPDIM-2,MXMOL=35,MXTRAC=22)
C
COMMON /CONSTL/ PZERO,TZERO,AVOGAD,ALOSMT,GASCON,PLANK,BOLTZ,
* CLIGHT,ADCON,ALZERO,AVMWT,AIRMWT,AMWT(MXMOL)
DATA PZERO/1013.25/,TZERO/273.15/
DATA AVOGAD/6.022045E+23/,ALOSMT/2.68675E+19/,
* GASCON/8.31441E+7/,PLANK/6.626176E-27/,BOLTZ/1.380662E-16/,
* CLIGHT/2.99792458E10/
C
C ** ALZERO IS THE MEAN LORENTZ HALFWIDTH AT PZERO AND 296.0 K.
C ** AVMWT IS THE MEAN MOLECULAR WEIGHT USED TO AUTOMATICALLY
C ** GENERATE THE LBLRTM BOUNDARIES IN AUTLAY
C
DATA ALZERO/0.1/,AVMWT/36.0/
DATA AIRMWT/28.964/,AMWT/18.015,44.010,47.998,44.01,28.011,
* 16.043,31.999,30.01,64.06,46.01,17.03,63.01,17.00,20.01,
* 36.46,80.92,127.91,51.45,60.08,30.03,52.46,28.014,
* 27.03, 50.49, 34.01, 26.03, 30.07, 34.00, 7*0./
END