===================================================================
CHANGES
diff -r1.1.1.1 -r1.4
11a12,13
> This is the last release in MM5 Version 2. Last update provided
> on Nov 12 1999.
13a16,99
>
> Changes implemented since April 3 1999:
>
> 1. Add loader option for SGI O2000 section for BT scheme.
>
> Affected file:
> configure.user
>
> 2. Correct physical property in 24 category landuse data for
> winter category 23 ('Bare Ground Tundra').
>
> Affected file:
> Run/landuse.tbl
>
> 3. Correct modification to physical properties for permanent ice
> category if using USGS or SiB landuse data. Ice category was
> hardwired in the code before. Affect results only if you use
> USGS or SiB landuse data, and you have permannet ice in your
> domain and use IFSNOW switch in the namelist.
>
> Affected files:
> domain/initial/init.F, param.F
> domain/nest/initnest.F
> include/landuse.incl
>
> 4. Correction to curvature and coriolis terms for w. Small effect.
>
> Affected file:
> dynamics/nonhydro/solve3.F
>
> 5. Prevent KF scheme from potential floating point violation.
>
> Affected file:
> physics/cumulus/kf/kfpara.F
>
> 6. Two corrections for shallow convection scheme (ISHALLO=1).
>
> - Use of shallow convection scheme would cause ice process in
> several explicit moisture schemes to be turned off.
>
> Affected file:
> physics/cumulus/shallow/shallow.F
>
> - Prevent shallow clouds from getting too deep, which prevents
> blow-ups in some cases.
>
> Affected file:
> physics/cumulus/shallow/entrs.F
>
> 7. Prevent Goddard microphysics scheme from getting potential
> floating point error.
>
> Affected file:
> physics/explicit/gsfc/satice.F
>
> 8. Correction to Reisner I/II schemes for evaporation of freezing rain.
>
> Affected file:
> physics/explicit/reisner1/exmoisr.F, lexmoisr.F
> physics/explicit/reisner2/exmoisg.F
>
> 9. Correction to bulk PBL scheme. Too few variables in argument
> list to call SLAB.
>
> Affected file:
> physics/pbl_sfc/bulk/blkpbl.F
>
> 10.Prevent Eta Mellor-Yamada scheme from getting floating point
> error.
>
> Affected file:
> physics/pbl_sfc/myepbl/mixlen.F
>
> - Correct an error when using this PBL option with hydrostatic model.
>
> Affected file:
> physics/pbl_sfc/myepbl/myepbl.F
>
> 11.CCM2 radiation scheme made available in MPP MM5.
>
> 12.A correction is made to MPP tar file for IMPHYS=8 option.
>
>
> ==========================================================
66c152,153
< to deal with hydrostatic module.
---
> to deal with hydrostatic module. These options would not have worked
> properly with hydrostatic model.
82,85c169,175
< - A way of allowing a user to input different landuse categories and change
< land surface properties is implemented. A new table file, landuse.tbl,
< is created in the directory Run/ in which the land surface properties
< are defined. The current table supports 13-category, 16-category SiB, and
---
> - A way of allowing the model to handle different number of landuse categories,
> and allowing a user to change land surface properties is implemented.
> A new table file, landuse.tbl, is created in the directory Run/ in which
> the land surface properties are defined (which were defined through DATA
> statement in the code prior to this release). Because the values in the table
> are read during program execution, they may be modified without recompilation
> of the code. The current table supports 13-category, 16-category SiB, and
89c179,180
< from 30" datasets over the globe.
---
> from 30" datasets. The USGS datasets are global, and the SiB datasets are
> N. America.
===================================================================
Makefile
diff -r1.1.1.1 -r1.2
91c91,92
< $(CPP) -I../../pick ../mpp_objects_all > .tmpobjs ; \
---
> $(CPP) -D$(RUNTIME_SYSTEM) \
> -I../../pick ../mpp_objects_all > .tmpobjs ; \
===================================================================
README.MPP
diff -r1.1.1.1 -r1.2
251a252,260
> To enable DM/SMP operation for the DEC, uncomment SPECIAL_OMP
> in Section 7e of configure.user, make mpclean, and make mpp.
>
> To enable DM/SMP operation for the IBM SP, use the settings in
> section 7a.1 of configure.user, make mpclean, and make mpp.
> Note: the IBM Fortran compiler must be release 6.1 or greater.
> Expect inordinately long compile times (> 1hr) for solve3.F with
> these settings.
>
===================================================================
configure.user
diff -r1.1.1.1 -r1.2
100a101,104
> ##select appropriate XLOCAL loader
> #XLOCAL0 =
> ### Burk-Thompson PBL (IBLTYP=3) option mp directives
> ##XLOCAL0 = -Wl,-Xlocal,bt1_,-Xlocal,blk1_,-Xlocal,blk2
105c109
< #LDOPTIONS = $(ABI) $(PREC) $(MP) $(OPT)
---
> #LDOPTIONS = $(ABI) $(PREC) $(MP) $(OPT) $(XLOCAL0)
===================================================================
Run/landuse.tbl
diff -r1.1.1.1 -r1.2
81c81
< 23, 70., .95, .95, 5., 5., .62, 12.0e5,'Bare Ground Tundra'
---
> 23, 70., .95, .95, 5., 5., 0., 12.0e5,'Bare Ground Tundra'
===================================================================
domain/initial/init.F
diff -r1.1.1.1 -r1.3
474c474
< THC(I,J)=THERIN(11,ISN)/100. INIT.331
---
> THC(I,J)=THERIN(ISICE,ISN)/100. 12nov99.1
479c479
< EMISS(I,J)=SFEM(11,ISN) INIT.336
---
> EMISS(I,J)=SFEM(ISICE,ISN) 12nov99.2
484c484
< MAVAIL(I,J)=SLMO(11,ISN) INIT.341
---
> MAVAIL(I,J)=SLMO(ISICE,ISN) 12nov99.3
520c520
< SHC(I,J)=SFHC(11,ISN) INIT.377
---
> SHC(I,J)=SFHC(ISICE,ISN) 12nov99.4
===================================================================
domain/initial/param.F
diff -r1.1.1.1 -r1.3
500a501,503
> IF(MMINLU.EQ.'OLD ')ISICE=11 12nov99.5
> IF(MMINLU.EQ.'USGS')ISICE=24 12nov99.6
> IF(MMINLU.EQ.'SiB ')ISICE=16 12nov99.7
514c517,518
< - ' WATER CATEGORY = ',ISWATER 03APR99.60
---
> - ' WATER CATEGORY = ',ISWATER, 12nov99.8
> - ' SNOW CATEGORY = ',ISICE 12nov99.9
===================================================================
domain/nest/initnest.F
diff -r1.1.1.1 -r1.3
1509c1509
< THCN(I,J)=THERIN(11,ISN)/100. INITNEST.1094
---
> THCN(I,J)=THERIN(ISICE,ISN)/100. 12nov99.10
1514c1514
< EMISSN(I,J)=SFEM(11,ISN) INITNEST.1099
---
> EMISSN(I,J)=SFEM(ISICE,ISN) 12nov99.11
1519c1519
< MAVAIN(I,J)=SLMO(11,ISN) INITNEST.1104
---
> MAVAIN(I,J)=SLMO(ISICE,ISN) 12nov99.12
1552c1552
< SHCN(I,J)=SFHC(11,ISN) INITNEST.1131
---
> SHCN(I,J)=SFHC(ISICE,ISN) 12nov99.13
===================================================================
dynamics/hydro/solve1.F
diff -r1.1.1.1 -r1.3
907c907
< IF(IMPHYS(INEST).GE.6)THNE 03APR99.204
---
> IF(IMPHYS(INEST).GE.6)THEN 12nov99.14
===================================================================
dynamics/nonhydro/solve3.F
diff -r1.1.1.1 -r1.4
575c575
< RHO0S=TWT(K,1)*RHO0(I,1,K)+TWT(K,2)*RHO0(I,JB1,K-1) SOLVE3.555
---
> RHO0S=TWT(K,1)*RHO0(I,JB1,K)+TWT(K,2)*RHO0(I,JB1,K-1) 12nov99.15
780c780
< UAQ=0.125*(TWT(K,1)*(UA(I,J,K)/MSFD(I,J)+UA(I+1,J,K)/ SOLVE3.748
---
> UAQ=0.25*(TWT(K,1)*(UA(I,J,K)/MSFD(I,J)+UA(I+1,J,K)/ 12nov99.16
785c785
< VAQ=0.125*(TWT(K,1)*(VA(I,J,K)/MSFD(I,J)+VA(I+1,J,K)/ SOLVE3.753
---
> VAQ=0.25*(TWT(K,1)*(VA(I,J,K)/MSFD(I,J)+VA(I+1,J,K)/ 12nov99.17
797c797
< WTEN(I,K)=WTEN(I,K)+(UAQ*UAQ+VAQ*VAQ)/REARTH 22DEC97.168
---
> WTEN(I,K)=WTEN(I,K)+(UAQ*UAQ+VAQ*VAQ)/REARTH*RPSA(I,J) 12nov99.18
===================================================================
include/landuse.incl
diff -r1.1.1.1 -r1.3
3c3
< 1 LUN, NSN, ISWATER LANDUSE.3
---
> 1 LUN, NSN, ISWATER, ISICE 12nov99.19
===================================================================
include/parccm2.incl
diff -r1.1.1.1 -r1.3
5a6
> #ifndef MPP1 12nov99.20
7a9,12
> #else 12nov99.21
> PARAMETER(IPLEV=MKX,IPLEVP=MKX+1,IPLON=MIX,IPLOND=MIX, 12nov99.22
> 1 IPLONP2=MIX,IPLAT=1,IPLATD=MJX) 12nov99.23
> #endif 12nov99.24
===================================================================
physics/cumulus/kf/kfpara.F
diff -r1.1.1.1 -r1.3
459,460d458
< WABS=SQRT(ABS(WTW)) KFPARA.380
< WU(NK1)=WTW/WABS KFPARA.381
465c463,465
< IF(WU(NK1).LT.0.)GOTO 65 KFPARA.386
---
> IF(WTW.LE.0.)GOTO 65 12nov99.25
> WABS=SQRT(ABS(WTW)) 12nov99.26
> WU(NK1)=WTW/WABS 12nov99.27
===================================================================
physics/cumulus/shallow/entrs.F
diff -r1.1.1.1 -r1.3
49c49,50
< IF(DBY(K).LT.0.)THEN ENTRS.49
---
> DEPTH=P(K)-P(KBC+1) 12nov99.28
> IF(DBY(K).LT.0..OR.DEPTH.GT.3000.)THEN 12nov99.29
===================================================================
physics/cumulus/shallow/shallow.F
diff -r1.1.1.1 -r1.3
73a74
> REAL TOSHALL 12nov99.30
77c78
< TO=50. SHALLOW.77
---
> TOSHALL=50. 12nov99.31
172c173
< IF(T(K).LE.TO)IPH=2 SHALLOW.172
---
> IF(T(K).LE.TOSHALL)IPH=2 12nov99.32
396c397
< IF(XT(K).LE.TO)IPH=2 SHALLOW.396
---
> IF(XT(K).LE.TOSHALL)IPH=2 12nov99.33
530c531
< PRINT *,'KBXX,KBMAX = ',KBXX,KBMAX SHALLOW.530
---
> C PRINT *,'KBXX,KBMAX = ',KBXX,KBMAX 12nov99.34
===================================================================
physics/explicit/gsfc/satice.F
diff -r1.1.1.1 -r1.3
244c244
< IF(TAIR(I).LT.T0K)THEN SATICE.244
---
> IF(TAIR(I).LT.T0K.AND.TAIR(I).GT.T0K-40.)THEN 12nov99.35
===================================================================
physics/explicit/reisner1/exmoisr.F
diff -r1.1.1.1 -r1.3
19a20,21
> C ADD HYDROSTATIC OPTION (V2.12) C 12nov99.36
> C CORRECTION IN FREEZING RAIN EVAPORATION C 12nov99.37
44c46
< 1 ABI(MIX,MKX),QVTEN(MIX,MKX) EXMOISR.53
---
> 1 ABI(MIX,MKX),ABW(MIX,MKX),QVTEN(MIX,MKX) 12nov99.38
140,144d141
< IF(TAOUT(I,K).GT.TO)THEN EXMOISR.140
< PRA(I,K)=DUM31(I,K) EXMOISR.141
< ELSE EXMOISR.142
< PRA(I,K)=XLS EXMOISR.143
< ENDIF EXMOISR.144
146,147c143,147
< AB(I,K)=RHO(I,K)*PRA(I,K)*PRA(I,K)/(SCR4(I,K)*RV*TAOUT(I,K)* EXMOISR.146
< + TAOUT(I,K))+1./(QVS(I,K)*DUM11(I,K)) EXMOISR.147
---
> AB(I,K)=RHO(I,K)*XLS*XLS/(SCR4(I,K)*RV*TAOUT(I,K)* 12nov99.39
> + TAOUT(I,K))+1./(QVS(I,K)*DUM11(I,K)) 12nov99.40
> C A + B FOR RAIN EVAP AND T < TO 12nov99.41
> ABW(I,K)=RHO(I,K)*DUM31(I,K)*DUM31(I,K)/(SCR4(I,K)*RV 12nov99.42
> + *TAOUT(I,K)*TAOUT(I,K))+1./(QVS(I,K)*DUM11(I,K)) 12nov99.43
149c149
< ABI(I,K)=RHO(I,K)*PRA(I,K)*PRA(I,K)/(SCR4(I,K)*RV*TAOUT(I,K)* EXMOISR.149
---
> ABI(I,K)=RHO(I,K)*XLS*XLS/(SCR4(I,K)*RV*TAOUT(I,K)* 12nov99.44
257c257
< + SLOR(I,K)**(DEPR4))/AB(I,K) EXMOISR.258
---
> + SLOR(I,K)**(DEPR4))/ABW(I,K) 12nov99.45
===================================================================
physics/explicit/reisner1/lexmoisr.F
diff -r1.1.1.1 -r1.3
15a16,17
> C CHANGES C 12nov99.46
> C CORRECTION OF FREEZING RAIN EVAP C 12nov99.47
41c43
< 1 ABI(MIX,MKX),QVTEN(MIX,MKX) LEXMOISR.51
---
> 1 ABI(MIX,MKX),ABW(MIX,MKX),QVTEN(MIX,MKX) 12nov99.48
135,139d136
< IF(TAOUT(I,K).GT.TO)THEN LEXMOISR.143
< PRA(I,K)=DUM31(I,K) LEXMOISR.144
< ELSE LEXMOISR.145
< PRA(I,K)=XLS LEXMOISR.146
< ENDIF LEXMOISR.147
141,142c138,142
< AB(I,K)=RHO(I,K)*PRA(I,K)*PRA(I,K)/(SCR4(I,K)*RV*TAOUT(I,K)* LEXMOISR.149
< + TAOUT(I,K))+1./(QVS(I,K)*DUM11(I,K)) LEXMOISR.150
---
> AB(I,K)=RHO(I,K)*XLS*XLS/(SCR4(I,K)*RV*TAOUT(I,K)* 12nov99.49
> + TAOUT(I,K))+1./(QVS(I,K)*DUM11(I,K)) 12nov99.50
> C A + B FOR RAIN EVAP AND T < TO 12nov99.51
> ABW(I,K)=RHO(I,K)*DUM31(I,K)*DUM31(I,K)/(SCR4(I,K)*RV 12nov99.52
> + *TAOUT(I,K)*TAOUT(I,K))+1./(QVS(I,K)*DUM11(I,K)) 12nov99.53
144c144
< ABI(I,K)=RHO(I,K)*PRA(I,K)*PRA(I,K)/(SCR4(I,K)*RV*TAOUT(I,K)* LEXMOISR.152
---
> ABI(I,K)=RHO(I,K)*XLS*XLS/(SCR4(I,K)*RV*TAOUT(I,K)* 12nov99.54
279c279
< + L2BVT2(SLOR(I,K)))/AB(I,K) LEXMOISR.289
---
> + L2BVT2(SLOR(I,K)))/ABW(I,K) 12nov99.55
===================================================================
physics/explicit/reisner2/exmoisg.F
diff -r1.1.1.1 -r1.3
66c66
< 1 ABI(MIX,MKX),PREG(MIX,MKX),QVTEN(MIX,MKX) EXMOISG.66
---
> 1 ABI(MIX,MKX),ABW(MIX,MKX),PREG(MIX,MKX),QVTEN(MIX,MKX) 12nov99.56
158,165c158,163
< IF(TAOUT(I,K).GT.TO)THEN EXMOISG.158
< PRA(I,K)=DUM31(I,K) EXMOISG.159
< ELSE EXMOISG.160
< PRA(I,K)=XLS EXMOISG.161
< ENDIF EXMOISG.162
< C A + B IN FORUMLA (B7) OF DUDHIA (1992) FOR T > TO EXMOISG.163
< AB(I,K)=RHO(I,K)*PRA(I,K)*PRA(I,K)/(SCR4(I,K)*RV*TAOUT(I,K) EXMOISG.164
< + *TAOUT(I,K))+1./(QVS(I,K)*DUM11(I,K)) EXMOISG.165
---
> C A + B IN FORMULA (B7) OF DUDHIA (1992) FOR T > TO 12nov99.57
> AB(I,K)=RHO(I,K)*XLS*XLS/(SCR4(I,K)*RV 12nov99.58
> + *TAOUT(I,K)*TAOUT(I,K))+1./(QVS(I,K)*DUM11(I,K)) 12nov99.59
> C A + B FOR RAIN EVAP AND T < TO 12nov99.60
> ABW(I,K)=RHO(I,K)*DUM31(I,K)*DUM31(I,K)/(SCR4(I,K)*RV 12nov99.61
> + *TAOUT(I,K)*TAOUT(I,K))+1./(QVS(I,K)*DUM11(I,K)) 12nov99.62
167c165
< ABI(I,K)=RHO(I,K)*PRA(I,K)*PRA(I,K)/(SCR4(I,K)*RV*TAOUT(I,K) EXMOISG.167
---
> ABI(I,K)=RHO(I,K)*XLS*XLS/(SCR4(I,K)*RV*TAOUT(I,K) 12nov99.63
483c481
< + /AB(I,K) EXMOISG.483
---
> + /ABW(I,K) 12nov99.64
===================================================================
physics/pbl_sfc/bulk/blkpbl.F
diff -r1.1.1.1 -r1.3
249a250
> FLHC(I)=CPM(I,KL)*RHOX(I)*HOL(I,J)*WSPD(I) 12nov99.65
265a267
> FLQC(I)=RHOX(I)*HOL(I,J)*WSPD(I)*MAVAIL(I,J) 12nov99.66
284c286
< CALL SLAB(DELTSM,J,INEST) BLKPBL.276
---
> CALL SLAB(DELTSM,J,INEST,THX,QX,FLHC,FLQC) 12nov99.67
===================================================================
physics/pbl_sfc/myepbl/mixlen.F
diff -r1.1.1.1 -r1.3
104a105
> QOL2ST=AMAX1(QOL2ST,1.E-20) 12nov99.68
111a113
> QOL2UN=AMAX1(QOL2UN,1.E-20) 12nov99.69
===================================================================
physics/pbl_sfc/myepbl/myepbl.F
diff -r1.1.1.1 -r1.3
93c93
< PSURF=A(K)*PSB(I,J)+PTOP MYEPBL.93
---
> PSURF=PSB(I,J)+PTOP 12nov99.70
===================================================================
physics/radiation/ccm2/cldems.F
diff -r1.1.1.1 -r1.3
11a12,14
> #ifdef MPP1 12nov99.71
> # include 12nov99.72
> #endif 12nov99.73
33a37
> #ifndef MPP1 12nov99.74
34a39,41
> #else 12nov99.75
> DO 30 I=1,ILX 12nov99.76
> #endif 12nov99.77
===================================================================
physics/radiation/ccm2/getdat.F
diff -r1.1.1.1 -r1.3
123a124
> #ifndef MPP1 12nov99.78
125a127,130
> #else 12nov99.79
> DO 10 N=1,ILX 12nov99.80
> NLIM = N 12nov99.81
> #endif 12nov99.82
139a145
> #ifndef MPP1 12nov99.83
141a148,151
> #else 12nov99.84
> DO 30 I=1,ILX 12nov99.85
> ILIM=I 12nov99.86
> #endif 12nov99.87
167a178
> #ifndef MPP1 12nov99.88
169a181,184
> #else 12nov99.89
> DO 40 N=1,ILX 12nov99.90
> NLIM=N 12nov99.91
> #endif 12nov99.92
175a191
> #ifndef MPP1 12nov99.93
177a194,197
> #else 12nov99.94
> DO 50 N=1,ILX 12nov99.95
> NLIM=N 12nov99.96
> #endif 12nov99.97
183a204
> #ifndef MPP1 12nov99.98
185a207,210
> #else 12nov99.99
> DO 60 N=1,ILX 12nov99.100
> NLIM=N 12nov99.101
> #endif 12nov99.102
192a218
> #ifndef MPP1 12nov99.103
193a220,222
> #else 12nov99.104
> DO 70 N=1,ILX 12nov99.105
> #endif 12nov99.106
205a235
> #ifndef MPP1 12nov99.107
207a238,241
> #else 12nov99.108
> DO 80 N=1,ILX 12nov99.109
> NLIM=N 12nov99.110
> #endif 12nov99.111
256a291
> #ifndef MPP1 12nov99.112
257a293,295
> #else 12nov99.113
> DO 90 N=1,ILX 12nov99.114
> #endif 12nov99.115
265a304
> #ifndef MPP1 12nov99.116
266a306,308
> #else 12nov99.117
> DO 100 N=1,ILX 12nov99.118
> #endif 12nov99.119
274a317
> #ifndef MPP1 12nov99.120
276a320,323
> #else 12nov99.121
> DO 101 N=1,ILX 12nov99.122
> NLIM=N 12nov99.123
> #endif 12nov99.124
294a342
> #ifndef MPP1 12nov99.125
295a344,346
> #else 12nov99.126
> DO 225 I=1,ILX 12nov99.127
> #endif 12nov99.128
326a378
> #ifndef MPP1 12nov99.129
327a380,382
> #else 12nov99.130
> DO 400 I=1,ILX 12nov99.131
> #endif 12nov99.132
333a389
> #ifndef MPP1 12nov99.133
334a391,393
> #else 12nov99.134
> DO 500 I=1,ILX 12nov99.135
> #endif 12nov99.136
===================================================================
physics/radiation/ccm2/inirad.F
diff -r1.1.1.1 -r1.3
19a20
> #ifndef MPP1 12nov99.137
20a22,24
> #else 12nov99.138
> DO 10 I=1,IL-1 12nov99.139
> #endif 12nov99.140
===================================================================
physics/radiation/ccm2/o3data.F
diff -r1.1.1.1 -r1.3
85a86
> #ifndef MPP1 12nov99.141
99a101,116
> 12nov99.142
> #else 12nov99.143
> DO 100 I=1,ILX 12nov99.144
> DO 10 K=KLEVP1,1,-1 12nov99.145
> KJ=KLEVP1-K+1 12nov99.146
> IF(INHYD.EQ.1)THEN 12nov99.147
> IF(K.GT.1.AND.K.LT.KLEVP1)PPBS=TWT(K,2)*PPB(I,J,K-1)+ 12nov99.148
> + TWT(K,1)*PPB(I,J,K) 12nov99.149
> IF(K.EQ.1)PPBS=PPB(I,J,1) 12nov99.150
> IF(K.EQ.KLEVP1)PPBS=PPB(I,J,IPLEV) 12nov99.151
> ELSE 12nov99.152
> PPBS=0. 12nov99.153
> ENDIF 12nov99.154
> PRLEVH(KJ)=(SIGMA(K)*PSB(I,J)+PTOP)*10.+PPBS/PSB(I,J)* 12nov99.155
> + .01 12nov99.156
> #endif 12nov99.157
===================================================================
physics/radiation/ccm2/radabs.F
diff -r1.1.1.1 -r1.3
43a44,46
> #ifdef MPP1 12nov99.158
> # include 12nov99.159
> #endif 12nov99.160
266a270,273
> #ifdef MPP1 12nov99.161
> # define IPLON I LX 12nov99.162
> # define IPLOND I LX 12nov99.163
> #endif 12nov99.164
===================================================================
physics/radiation/ccm2/radclr.F
diff -r1.1.1.1 -r1.3
24a25,27
> #ifndef MPP1 12nov99.165
> # include 12nov99.166
> #endif 12nov99.167
125a129,134
> 12nov99.168
> #ifdef MPP1 12nov99.169
> # define IPLON I LX 12nov99.170
> # define IPLOND I LX 12nov99.171
> #endif 12nov99.172
> 12nov99.173
130a140
> #ifndef MPP1 12nov99.174
131a142,144
> #else 12nov99.175
> CALL RESETR(TOTTRN,MIX*2,0.) 12nov99.176
> #endif 12nov99.177
210a224
> #ifndef MPP1 12nov99.178
211a226,228
> #else 12nov99.179
> CALL WHENFGT(IPLON,TOTTRN(NOFLIC(1),K),1,TRMIN,INDEX,NVAL) 12nov99.180
> #endif 12nov99.181
213a231
> #ifndef MPP1 12nov99.182
214a233,235
> #else 12nov99.183
> I=INDEX(NOFLIC(II)) 12nov99.184
> #endif 12nov99.185
===================================================================
physics/radiation/ccm2/radclw.F
diff -r1.1.1.1 -r1.3
132a133,136
> #ifdef MPP1 12nov99.186
> # define IPLON I LX 12nov99.187
> # define IPLOND I LX 12nov99.188
> #endif 12nov99.189
347a352
> #ifndef MPP1 12nov99.190
348a354,356
> #else 12nov99.191
> I=INDXC(NOFLIC(ICLD)) 12nov99.192
> #endif 12nov99.193
359a368
> #ifndef MPP1 12nov99.194
361a371,375
> #else 12nov99.195
> I=INDXC(NOFLIC(ICLD)) 12nov99.196
> C FLIC SHOULD CONVERT THIS BUT IT DOES NOT (BUG) 12nov99.197
> DO 480 KM=3,KHIV(FLIC_G2L_M(I,MIX)) 12nov99.198
> #endif 12nov99.199
374a389
> #ifndef MPP1 12nov99.200
375a391,393
> #else 12nov99.201
> I=INDXC(NOFLIC(ICLD)) 12nov99.202
> #endif 12nov99.203
===================================================================
physics/radiation/ccm2/radcsw.F
diff -r1.1.1.1 -r1.3
304a305,308
> #ifdef MPP1 12nov99.204
> # define IPLON I LX 12nov99.205
> # define IPLOND I LX 12nov99.206
> #endif 12nov99.207
333a338,340
> 12nov99.208
> #ifndef MPP1 12nov99.209
> 12nov99.210
342a350,362
> 12nov99.211
> #else 12nov99.212
> IS(1)=ILX+1 12nov99.213
> IE(1)=ILX 12nov99.214
> DO 21 I=1,ILX 12nov99.215
> IF(COSZRS(I).GT.0.)THEN 12nov99.216
> IS(1)=FLIC_L2G_M(I) 12nov99.217
> GOTO 22 12nov99.218
> ENDIF 12nov99.219
> 21 CONTINUE 12nov99.220
> 22 CONTINUE 12nov99.221
> #endif 12nov99.222
> 12nov99.223
346a367
> #ifndef MPP1 12nov99.224
354a376,385
> #else 12nov99.225
> IF(IS(1).GE.IPLON+1)RETURN 12nov99.226
> DO 23 I=IS(1),IPLON 12nov99.227
> IF(COSZRS(I).LE.0.)THEN 12nov99.228
> IE(1)=FLIC_L2G_M(I-1) 12nov99.229
> GOTO 24 12nov99.230
> ENDIF 12nov99.231
> 23 CONTINUE 12nov99.232
> 24 CONTINUE 12nov99.233
> #endif 12nov99.234
355a387,388
> 12nov99.235
> 12nov99.236
364a398
> #ifndef MPP1 12nov99.237
365a400,402
> #else 12nov99.238
> IS(2)=FLIC_L2G_M(I) 12nov99.239
> #endif 12nov99.240
380a418,428
> #ifdef MPP1 12nov99.241
> C THIS MAY NEED MODIFICATION AT SOME POINT BUT FOR A REGIONAL MODEL 12nov99.242
> C SCANNING THROUGH RADIATION IN THE NS DIMENSION, CASES WHERE THERE ARE 12nov99.243
> C MORE THAN ONE VECTOR OF CONTIGUOUS DAYLIGHT POINTS IN A SWEEP WOULD 12nov99.244
> C BE UNLIKELY. THIS LOGIC WAS ORIGINALLY INCLUDED FOR THE EW SWEEP 12nov99.245
> C OVER POINTS IN THE GLOBAL CCM MODEL. 12nov99.246
> NLOOP = 1 12nov99.247
> IS(1) = 1 12nov99.248
> IE(1) = ILX 12nov99.249
> #endif 12nov99.250
> 12nov99.251
552a601
> #ifndef MPP1 12nov99.252
553a603,605
> #else 12nov99.253
> ILIM=I 12nov99.254
> #endif 12nov99.255
567a620
> #ifndef MPP1 12nov99.256
568a622,624
> #else 12nov99.257
> ILIM=I 12nov99.258
> #endif 12nov99.259
===================================================================
physics/radiation/ccm2/radded.F
diff -r1.1.1.1 -r1.3
137a138,141
> #ifdef MPP1 12nov99.260
> # define IPLON I LX 12nov99.261
> # define IPLOND I LX 12nov99.262
> #endif 12nov99.263
142a147
> #ifndef MPP1 12nov99.264
143a149,151
> #else 12nov99.265
> CALL RESETR(TOTTRN,MIX*IPLEVP,0.) 12nov99.266
> #endif 12nov99.267
265c273,277
< CALL WHENFGT(IPLON,TOTTRN(1,K),1,TRMIN,INDEX,NVAL) RADDED.247
---
> #ifndef MPP1 12nov99.268
> CALL WHENFGT(IPLON,TOTTRN(1,K),1,TRMIN,INDEX,NVAL) 12nov99.269
> #else 12nov99.270
> CALL WHENFGT(IPLON,TOTTRN(NOFLIC(1),K),1,TRMIN,INDEX,NVAL) 12nov99.271
> #endif 12nov99.272
267a280
> #ifndef MPP1 12nov99.273
268a282,284
> #else 12nov99.274
> I=INDEX(NOFLIC(II)) 12nov99.275
> #endif 12nov99.276
===================================================================
physics/radiation/ccm2/radems.F
diff -r1.1.1.1 -r1.3
39a40,42
> #ifdef MPP1 12nov99.277
> # include 12nov99.278
> #endif 12nov99.279
240a244,248
> 12nov99.280
> #ifdef MPP1 12nov99.281
> # define IPLON I LX 12nov99.282
> # define IPLOND I LX 12nov99.283
> #endif 12nov99.284
===================================================================
physics/radiation/ccm2/radinp.F
diff -r1.1.1.1 -r1.3
21a22,24
> #ifdef MPP1 12nov99.285
> # include 12nov99.286
> #endif 12nov99.287
68a72,76
> 12nov99.288
> #ifdef MPP1 12nov99.289
> # define IPLON I LX 12nov99.290
> # define IPLOND I LX 12nov99.291
> #endif 12nov99.292
===================================================================
physics/radiation/ccm2/radout.F
diff -r1.1.1.1 -r1.3
57a58,62
> 12nov99.293
> #ifdef MPP1 12nov99.294
> # define IPLON I LX 12nov99.295
> # define IPLOND I LX 12nov99.296
> #endif 12nov99.297
===================================================================
physics/radiation/ccm2/radtpl.F
diff -r1.1.1.1 -r1.3
14a15,17
> #ifdef MPP1 12nov99.298
> # include 12nov99.299
> #endif 12nov99.300
51a55,59
> #ifdef MPP1 12nov99.301
> # define IPLON I LX 12nov99.302
> # define IPLOND I LX 12nov99.303
> #endif 12nov99.304
> C 12nov99.305
===================================================================
physics/radiation/ccm2/wheneq.F
diff -r1.1.1.1 -r1.3
0a1
> #ifndef MPP1 12nov99.306
15a17,40
> #else 12nov99.307
> C 12nov99.308
> CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 12nov99.309
> C 12nov99.310
> C DO NOT RUN THIS ROUTINE THROUGH FLIC 12nov99.311
> C 12nov99.312
> 12nov99.313
> SUBROUTINE WHENEQ(PLON,IPOS,I1,I2,INDX,NPTS) 12nov99.314
> C....... DUMMY ROUTINE FOR CRAY ROUTINE 12nov99.315
> #include 12nov99.316
> #include 12nov99.317
> FLIC_RUN_DECL 12nov99.318
> INTEGER PLON,IPOS(MIX),INDX(MIX) 12nov99.319
> NPTS=0 12nov99.320
> DO 10 I=is_x0(1),ie_x0(ilx) 12nov99.321
> IF(IPOS(I).EQ.I2)THEN 12nov99.322
> NPTS=NPTS+1 12nov99.323
> INDX(NPTS)=FLIC_L2G_M(I) 12nov99.324
> ENDIF 12nov99.325
> 10 CONTINUE 12nov99.326
> RETURN 12nov99.327
> END 12nov99.328
> 12nov99.329
> #endif 12nov99.330
===================================================================
physics/radiation/ccm2/whenfgt.F
diff -r1.1.1.1 -r1.3
0a1
> #ifndef MPP1 12nov99.331
18a20,43
> 12nov99.332
> #else 12nov99.333
> CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 12nov99.334
> CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 12nov99.335
> SUBROUTINE WHENFGT(NMBR,TIN,LEN,TMIN,INDEX,NVAL) 12nov99.336
> C 12nov99.337
> C....... DUMMY ROUTINE FOR CRAY ROUTINE 12nov99.338
> C 12nov99.339
> # include 12nov99.340
> # include 12nov99.341
> FLIC_RUN_DECL 12nov99.342
> DIMENSION TIN(MIX),INDEX(MIX) 12nov99.343
> NVAL=0 12nov99.344
> INDEX(1)=0 12nov99.345
> DO 100 N=is_x0(1),ie_x0(ilx) 12nov99.346
> IF(TIN(N).GT.TMIN)THEN 12nov99.347
> NVAL=NVAL+1 12nov99.348
> INDEX(NVAL)=FLIC_L2G_M(N) 12nov99.349
> ENDIF 12nov99.350
> 100 CONTINUE 12nov99.351
> RETURN 12nov99.352
> END 12nov99.353
> 12nov99.354
> #endif 12nov99.355
===================================================================
physics/radiation/ccm2/zenitm.F
diff -r1.1.1.1 -r1.3
27a28,29
> #ifndef MPP1 12nov99.356
> 12nov99.357
42a45,62
> 12nov99.358
> #else 12nov99.359
> 12nov99.360
> DEGRAD=0.0174533 12nov99.361
> C XT24 = AMOD(XTIME,1440.0) 12nov99.362
> XT24=AMOD(XTIME+RADFRQ*0.5,1440.0) 12nov99.363
> DO 10 ILL=1,ILX 12nov99.364
> TLOCAP=GMT+XT24/60.+XLONG(ILL,JSLC)/15. 12nov99.365
> TLOCAP=AMOD(TLOCAP+24.,24.) 12nov99.366
> OMEGA=15.*(TLOCAP-12.)*DEGRAD 12nov99.367
> XXLAT=XLAT(ILL,JSLC)*DEGRAD 12nov99.368
> C COSZRS = COSINE OF SOLAR ZENITH ANGLE 12nov99.369
> COSZRS(ILL)=SIN(DECLIN)*SIN(XXLAT)+COS(DECLIN)*COS(XXLAT)* 12nov99.370
> + COS(OMEGA) 12nov99.371
> COSZRS(ILL)=AMAX1(0.,COSZRS(ILL)) 12nov99.372
> 10 CONTINUE 12nov99.373
> 12nov99.374
> #endif 12nov99.375