=================================================================== 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 > # include12nov99.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