===================================================================
CHANGES
diff -r2.2 -r2.4
10a11,152
> The current release is 2.2 (December 2 1996).
>
> ==========================================================
> Changes for release 2.2 (tag release-2-2)
>
> Please see Run/diff.02DEC96 file for actual differences.
>
> 1. Bug fixes:
>
> - Several script errors have been corrected in decks.
> It affects restart (all decks except Cray), Observation nudging
> (Cray batch deck only), and creating correct mmlif (IBM deck only).
>
> - Look-up-table version of Dudhia and Reisner microphysics schemes
> (MPHYTBL=1, and IMPHYS=3,4,5) are in working order now. They include
> ice sedimentation and fake dry run options.
> Affected files are
>
> include/hdtabl.incl
> physics/explicit/Makefile
> physics/explicit/reisner1/lexmoisr.F
> physics/explicit/shared/settbl.F
> physics/explicit/simple/Makefile
> physics/explicit/simple/lexmoiss.F
>
> - Add defines.incl dependency in domain/io/Makefile for subroutine initsav.F
>
> - Correct argument variable list in subroutine call to OUTSAV from
> subroutine domain/io/shutdo.F. Only affects Cray runs in which the model
> stops before exceeding CPU time limit.
>
> - Correct initialization of 5-layer soil model in the nested domain. Only
> affects nested runs, minimal impact. Affected files
>
> domain/nest/Makefile
> domain/nest/initnest.F
> physics/pbl_sfc/util/slab.F
>
> - Correct some SGI parallel directives in
>
> dynamics/nonhydro/solve3.F
>
> No noticeable effect.
>
> - Correct an error in obtaining first time observation nudging data in
>
> fdda/obs/in4dob.F
>
> Affects only observation nudging runs.
>
> 2. New additions:
>
> - One more PBL option is added. This is based on Troen and Mahrt (1986) and
> the code is provided by Song-You Hong from NCEP. We refer to it as MRF PBL
> since the scheme is used in NCEP's MRF model. To use it, set IBLTYP=5
> in the configure.user file. This option runs about 13 - 15 % faster when
> compared with Blackadar scheme, and can speed up to about 20 % in 8-processor
> dedicated Cray runs (nd class on NCAR's shavano).
>
> Files modified to accomodate this addition:
>
> README.namelist
> configure.user
> Util/parseconfig.c - this is a c-program for CPP processing.
> domain/initial/Makefile
> domain/initial/param.F
> dynamics/hydro/solve1.F
> dynamics/nonhydro/solve3.F
> physics/pbl_sfc/Makefile
>
> New files:
>
> include/pbltb.incl
> physics/pbl_sfc/mrfpbl/Makefile
> physics/pbl_sfc/mrfpbl/mrfpbl.F
> physics/pbl_sfc/mrfpbl/tridi2.F
>
> - Compilation vs running option check: These checks are added to prevent users
> from making mistakes of choosing the options that they have not compiled.
> Modified file:
>
> domain/initial/param.F
>
> 3. Changes - Code clean-up
>
> - removed unused include files, arrays etc..
>
> Makefile
> domain/initial/Makefile -- removing unused include file dependency
> domain/initial/init.F -- modify subroutine call argument list
> domain/initial/param.F -- remove unused include file;
> setting IEXICE according to IMPHYS;
> initializing GIP array for all domains for obs nudging.
> domain/nest/initnest.F -- modify subroutine call argument list
> dynamics/nonhydro/solve3.F -- remove unused arrays
> clean subroutine DOTS calls
>
> - add more parallel directives for Cray and SGI. No effect.
>
> dynamics/nonhydro/solve3.F
> dynamics/nonhydro/sound.F
>
> - change print format so that it can be printed correctly on 32-bit workstations.
>
> domain/io/mapsmp.F
> domain/io/outprt.F
> domain/io/outtap.F
>
> - change very-small numbers to bigger ones to accomodate 32-bit machines.
>
> dynamics/hydro/vmodes.F
> dynamics/hydro/vprntv.F
>
> physics/explicit/reisner2/exmoisg.F
>
> - change common block name from SIZE to GSIZE:
>
> physics/explicit/gsfc/satice.F
> physics/explicit/shared/consat.F
>
> - dimension two arrays in Burk-Thompson PBL routine. No effect.
>
> physics/pbl_sfc/btpbl/navypb.F
>
> - use IMPHYS in 'if' statement:
>
> physics/radiation/cloud/lwrad.F
>
> - modify print statement for nudging in more than one domain.
>
> fdda/grid/blnudgd.F
> fdda/grid/nudgd.F
> fdda/obs/in4dob.F
>
> - remove all_code target from Makefiles:
>
> physics/cumulus/Makefile
> physics/pbl_sfc/Makefile
> physics/pbl_sfc/dry/Makefile
> physics/pbl_sfc/bulk/Makefile
===================================================================
Makefile
diff -r2.1 -r2.8
1c1
< # Makefile for top directory ("all")
---
> # Makefile for top directory
===================================================================
README.namelist
diff -r2.0 -r2.2
59,60c59,60
< # - PBL type 0=frictionless,1=bulk,
< # 2=multie-lvl,3=Burk-Thompson
---
> # - PBL type 0=no PBL fluxes,1=bulk,
> # 2=Blackadar,3=Burk-Thompson,5=MRF
===================================================================
configure.user
diff -r2.8 -r2.10
174,175c174,175
< # - PBL type 0=frictionless,1=bulk,
< # 2=multie-lvl,3=Burk-Thompson
---
> # - PBL type 0=no PBL fluxes,1=bulk,
> # 2=Blackadar,3=Burk-Thompson,5=MRF
===================================================================
Templates/mm5.deck.cray
diff -r2.5 -r2.6
490c490
< while ( $NUM < $NumFDOBInp )
---
> while ( $NUM < $NumFDOBDom )
===================================================================
Templates/mm5.deck.cray-ia-bsh
diff -r2.0 -r2.1
160c160
< #STARTs= ReStart # restart model run
---
> #STARTsw=ReStart # restart model run
===================================================================
Templates/mm5.deck.dec
diff -r2.0 -r2.1
158c158
< #STARTs= ReStart # restart model run
---
> #STARTsw=ReStart # restart model run
===================================================================
Templates/mm5.deck.hp
diff -r2.1 -r2.2
159c159
< #STARTs= ReStart # restart model run
---
> #STARTsw=ReStart # restart model run
===================================================================
Templates/mm5.deck.ibm
diff -r2.0 -r2.4
81a82
> &PPARAM
160c161
< #STARTs= ReStart # restart model run
---
> #STARTsw=ReStart # restart model run
===================================================================
Templates/mm5.deck.sgi
diff -r2.0 -r2.1
159c159
< #STARTs= ReStart # restart model run
---
> #STARTsw=ReStart # restart model run
===================================================================
Templates/mm5.deck.sun
diff -r2.0 -r2.1
161c161
< #STARTs= ReStart # restart model run
---
> #STARTsw=ReStart # restart model run
===================================================================
Util/Makefile
diff -r2.0 -r2.1
22c22
< $(RM_CMD) "#"*
---
> $(RM_CMD) "#"* linesplitter72
===================================================================
Util/parseconfig.c
diff -r2.1 -r2.2
264d263
< nav = 0;
266a266,268
> } else if (iblt[j] == 5) {
> if (id0++ < 1)
> fprintf(fd, "#define IBLT5 1\n");
===================================================================
domain/initial/Makefile
diff -r2.0 -r2.2
62c62,63
< param.o: ../../include/soilcnst.incl ../../include/hdtabl.incl
---
> param.o: ../../include/soilcnst.incl
> param.o: ../../include/pbltb.incl
===================================================================
domain/initial/init.F
diff -r2.4 -r2.6
103c103,104
< CALL RDINIT(11,IX,JX,0) INIT.103
---
> IHEADER=0 02DEC96.1
> CALL RDINIT(11,IX,JX,IHEADER) 02DEC96.2
===================================================================
domain/initial/param.F
diff -r2.5 -r2.11
23c23
< # include PARAM.23
---
> # include 02DEC96.3
37a38
> DIMENSION I_FRAD(0:10),I_ICUPA(0:10),I_IBLT(0:10),I_IMPHYS(0:10) 02DEC96.4
149a151,152
> C = 3 ; BURK-THOMPSON PBL 02DEC96.5
> C = 5 ; MRF PBL (HONG AND PAN, 1996) 02DEC96.6
715a719
> GIP(NN)=0.0 02DEC96.7
742,749d745
< DO 12 IN=1,MAXNES PARAM.740
< IF(IBLTYP(IN).NE.2.AND.IFDDA.EQ.1)THEN PARAM.741
< IWARN=IWARN+1 PARAM.742
< PRINT *,'ERROR: FDDA REQUIRES IBLTYP=2' PARAM.743
< C SOME MODIFICATION TO THE FDDA CODE IS NEEDED FOR BLKPBL PARAM.744
< ENDIF PARAM.745
< 12 CONTINUE PARAM.746
< C PARAM.747
938d933
< GIP(1)=1.E-4 PARAM.936
963a959,971
> C 02DEC96.8
> C-----SET IEXICE SWITCH ACCORDING TO IMPHYS CHOSEN 02DEC96.9
> C 02DEC96.10
> IEXICE=1 02DEC96.11
> DO N=1,MAXNES 02DEC96.12
> IF(IMPHYS(N).EQ.3)IEXICE=0 02DEC96.13
> ENDDO 02DEC96.14
> DO N=1,MAXNES 02DEC96.15
> IF(IMPHYS(N).NE.3.AND.IEXICE.EQ.0)THEN 02DEC96.16
> IWARN=IWARN+1 02DEC96.17
> PRINT *,'ERROR: IMPHYS=3 OPTION REQUIRED FOR ALL DOMAINS' 02DEC96.18
> ENDIF 02DEC96.19
> ENDDO 02DEC96.20
966a975,1143
> C SAVE COMPILATION SWITCHES 02DEC96.21
> #ifdef NHYDRO0 02DEC96.22
> I_NHYDRO0=1 02DEC96.23
> #else 02DEC96.24
> I_NHYDRO0=0 02DEC96.25
> #endif 02DEC96.26
> #ifdef NHYDRO1 02DEC96.27
> I_NHYDRO1=1 02DEC96.28
> #else 02DEC96.29
> I_NHYDRO1=0 02DEC96.30
> #endif 02DEC96.31
> C 02DEC96.32
> #ifdef FDDAOBS1 02DEC96.33
> I_FDDAOBS1=1 02DEC96.34
> #else 02DEC96.35
> I_FDDAOBS1=0 02DEC96.36
> #endif 02DEC96.37
> #ifdef FDDAGD1 02DEC96.38
> I_FDDAGD1=1 02DEC96.39
> #else 02DEC96.40
> I_FDDAGD1=0 02DEC96.41
> #endif 02DEC96.42
> C 02DEC96.43
> #ifdef NESTED 02DEC96.44
> I_NESTED=1 02DEC96.45
> #else 02DEC96.46
> I_NESTED=0 02DEC96.47
> #endif 02DEC96.48
> C 02DEC96.49
> C-----RADIATION 02DEC96.50
> C 02DEC96.51
> I_FRAD(0)=1 02DEC96.52
> #ifdef FRAD1 02DEC96.53
> I_FRAD(1)=1 02DEC96.54
> #else 02DEC96.55
> I_FRAD(1)=0 02DEC96.56
> #endif 02DEC96.57
> #ifdef FRAD2 02DEC96.58
> I_FRAD(2)=1 02DEC96.59
> #else 02DEC96.60
> I_FRAD(2)=0 02DEC96.61
> #endif 02DEC96.62
> #ifdef FRAD3 02DEC96.63
> I_FRAD(3)=1 02DEC96.64
> #else 02DEC96.65
> I_FRAD(3)=0 02DEC96.66
> #endif 02DEC96.67
> C 02DEC96.68
> C-----CUMULUS 02DEC96.69
> C 02DEC96.70
> I_ICUPA(1)=1 02DEC96.71
> #ifdef ICUPA2 02DEC96.72
> I_ICUPA(2)=1 02DEC96.73
> #else 02DEC96.74
> I_ICUPA(2)=0 02DEC96.75
> #endif 02DEC96.76
> #ifdef ICUPA3 02DEC96.77
> I_ICUPA(3)=1 02DEC96.78
> #else 02DEC96.79
> I_ICUPA(3)=0 02DEC96.80
> #endif 02DEC96.81
> #ifdef ICUPA4 02DEC96.82
> I_ICUPA(4)=1 02DEC96.83
> #else 02DEC96.84
> I_ICUPA(4)=0 02DEC96.85
> #endif 02DEC96.86
> #ifdef ICUPA5 02DEC96.87
> I_ICUPA(5)=1 02DEC96.88
> #else 02DEC96.89
> I_ICUPA(5)=0 02DEC96.90
> #endif 02DEC96.91
> #ifdef ICUPA6 02DEC96.92
> I_ICUPA(6)=1 02DEC96.93
> #else 02DEC96.94
> I_ICUPA(6)=0 02DEC96.95
> #endif 02DEC96.96
> #ifdef ICUPA7 02DEC96.97
> I_ICUPA(7)=1 02DEC96.98
> #else 02DEC96.99
> I_ICUPA(7)=0 02DEC96.100
> #endif 02DEC96.101
> C 02DEC96.102
> C-----MICROPHYSICS 02DEC96.103
> C 02DEC96.104
> #ifdef MPHYSTBL1 02DEC96.105
> I_MPHYSTBL1=1 02DEC96.106
> #else 02DEC96.107
> I_MPHYSTBL1=0 02DEC96.108
> #endif 02DEC96.109
> I_IMPHYS(0)=0 02DEC96.110
> I_IMPHYS(1)=1 02DEC96.111
> #ifdef IMPHYS2 02DEC96.112
> I_IMPHYS(2)=1 02DEC96.113
> #else 02DEC96.114
> I_IMPHYS(2)=0 02DEC96.115
> #endif 02DEC96.116
> #if defined(IMPHYS3) || defined(IMPHYS4)
> I_IMPHYS(3)=1 02DEC96.118
> I_IMPHYS(4)=1 02DEC96.119
> #else 02DEC96.120
> I_IMPHYS(3)=0 02DEC96.121
> I_IMPHYS(4)=0 02DEC96.122
> #endif 02DEC96.123
> #ifdef IMPHYS5 02DEC96.124
> I_IMPHYS(5)=1 02DEC96.125
> #else 02DEC96.126
> I_IMPHYS(5)=0 02DEC96.127
> #endif 02DEC96.128
> #ifdef IMPHYS6 02DEC96.129
> I_IMPHYS(6)=1 02DEC96.130
> #else 02DEC96.131
> I_IMPHYS(6)=0 02DEC96.132
> #endif 02DEC96.133
> #ifdef IMPHYS7 02DEC96.134
> I_IMPHYS(7)=1 02DEC96.135
> #else 02DEC96.136
> I_IMPHYS(7)=0 02DEC96.137
> #endif 02DEC96.138
> C 02DEC96.139
> C-----BOUNDARY LAYER 02DEC96.140
> C 02DEC96.141
> I_IBLT(0)=1 02DEC96.142
> #ifdef IBLT1 02DEC96.143
> I_IBLT(1)=1 02DEC96.144
> #else 02DEC96.145
> I_IBLT(1)=0 02DEC96.146
> #endif 02DEC96.147
> #ifdef IBLT2 02DEC96.148
> I_IBLT(2)=1 02DEC96.149
> #else 02DEC96.150
> I_IBLT(2)=0 02DEC96.151
> #endif 02DEC96.152
> #ifdef IBLT3 02DEC96.153
> I_IBLT(3)=1 02DEC96.154
> #else 02DEC96.155
> I_IBLT(3)=0 02DEC96.156
> #endif 02DEC96.157
> #ifdef IBLT4 02DEC96.158
> I_IBLT(4)=1 02DEC96.159
> #else 02DEC96.160
> I_IBLT(4)=0 02DEC96.161
> #endif 02DEC96.162
> #ifdef IBLT5 02DEC96.163
> I_IBLT(5)=1 02DEC96.164
> #else 02DEC96.165
> I_IBLT(5)=0 02DEC96.166
> #endif 02DEC96.167
> C 02DEC96.168
> C-----CHECK CHOSEN PHYSICS OPTIONS AGAINST COMPILED OPTIONS 02DEC96.169
> C 02DEC96.170
> IF(I_FRAD(IFRAD).NE.1)THEN 02DEC96.171
> PRINT *,'ERROR:IFRAD=',IFRAD,' OPTION NOT COMPILED' 02DEC96.172
> IWARN=IWARN+1 02DEC96.173
> ENDIF 02DEC96.174
> DO N=1,MAXNES 02DEC96.175
> IF(I_IBLT(IBLTYP(N)).NE.1)THEN 02DEC96.176
> PRINT *,'ERROR:IBLTYP=',IBLTYP(N),' OPTION NOT COMPILED' 02DEC96.177
> IWARN=IWARN+1 02DEC96.178
> ENDIF 02DEC96.179
> IF(I_ICUPA(ICUPA(N)).NE.1)THEN 02DEC96.180
> PRINT *,'ERROR:ICUPA=',ICUPA(N),' OPTION NOT COMPILED' 02DEC96.181
> IWARN=IWARN+1 02DEC96.182
> ENDIF 02DEC96.183
> IF(I_IMPHYS(IMPHYS(N)).NE.1)THEN 02DEC96.184
> PRINT *,'ERROR:IMPHYS=',IMPHYS(N),' OPTION NOT COMPILED' 02DEC96.185
> IWARN=IWARN+1 02DEC96.186
> ENDIF 02DEC96.187
> ENDDO 02DEC96.188
> C------------------------------------------------------------------------------ 02DEC96.189
1016,1017c1193,1194
< IF(IBLTYP(1).NE.2.AND.IMVDIF.EQ.1)THEN PARAM.1012
< PRINT *,'ERROR: IMVDIF=1 REQUIRES IBLTYP=2' PARAM.1013
---
> IF(IBLTYP(1).NE.2.AND.IBLTYP(1).NE.5.AND.IMVDIF.EQ.1)THEN 02DEC96.190
> PRINT *,'ERROR: IMVDIF=1 REQUIRES IBLTYP=2 OR 5' 02DEC96.191
1036,1037c1213,1214
< IF(IBLTYP(1).NE.2.AND.ISOIL.EQ.1)THEN PARAM.1032
< PRINT *,'ERROR: ISOIL=1 REQUIRES IBLTYP=2 ' PARAM.1033
---
> IF(IBLTYP(1).NE.2.AND.IBLTYP(1).NE.5.AND.ISOIL.EQ.1)THEN 02DEC96.192
> PRINT *,'ERROR: ISOIL=1 REQUIRES IBLTYP=2 OR 5' 02DEC96.193
1039a1217,1220
> IF(IBLTYP(1).EQ.5.AND.ISOIL.NE.1)THEN 02DEC96.194
> PRINT *,'ERROR: IBLTYP=5 REQUIRES ISOIL=1' 02DEC96.195
> IWARN=IWARN+1 02DEC96.196
> ENDIF 02DEC96.197
1047a1229,1233
> IF(IBLTYP(1).NE.2.AND.IBLTYP(1).NE.5.AND.IFDDA.EQ.1)THEN 02DEC96.198
> IWARN=IWARN+1 02DEC96.199
> PRINT *,'ERROR: FDDA REQUIRES IBLTYP=2 OR 5' 02DEC96.200
> C SOME MODIFICATION TO THE FDDA CODE IS NEEDED FOR BLKPBL 02DEC96.201
> ENDIF 02DEC96.202
1099,1100c1285,1286
< IF(IBLTYP(N).NE.2.AND.IMVDIF.EQ.1)THEN PARAM.1094
< PRINT *,'ERROR: IMVDIF=1 REQUIRES IBLTYP=2' PARAM.1095
---
> IF(IBLTYP(N).NE.2.AND.IBLTYP(N).NE.5.AND.IMVDIF.EQ.1)THEN 02DEC96.203
> PRINT *,'ERROR: IMVDIF=1 REQUIRES IBLTYP=2 OR 5' 02DEC96.204
1103,1104c1289,1290
< IF(IBLTYP(N).NE.2.AND.ISOIL.EQ.1)THEN PARAM.1098
< PRINT *,'ERROR: ISOIL=1 REQUIRES IBLTYP=2 ' PARAM.1099
---
> IF(IBLTYP(N).NE.2.AND.IBLTYP(N).NE.5.AND.ISOIL.EQ.1)THEN 02DEC96.205
> PRINT *,'ERROR: ISOIL=1 REQUIRES IBLTYP=2 OR 5' 02DEC96.206
1106a1293,1296
> IF(IBLTYP(N).EQ.5.AND.ISOIL.NE.1)THEN 02DEC96.207
> PRINT *,'ERROR: IBLTYP=5 REQUIRES ISOIL=1' 02DEC96.208
> IWARN=IWARN+1 02DEC96.209
> ENDIF 02DEC96.210
1121a1312,1315
> IF(IBLTYP(N).NE.2.AND.IBLTYP(N).NE.5.AND.IFDDA.EQ.1)THEN 02DEC96.211
> IWARN=IWARN+1 02DEC96.212
> PRINT *,'ERROR: FDDA REQUIRES IBLTYP=2 OR 5' 02DEC96.213
> ENDIF 02DEC96.214
1559a1754,1763
> #ifdef IBLT5 02DEC96.215
> DO N=0,1000 02DEC96.216
> ZOLN=-FLOAT(N)*0.01 02DEC96.217
> X=(1-16.*ZOLN)**0.25 02DEC96.218
> PSIMTB(N)=2*ALOG(0.5*(1+X))+ALOG(0.5*(1+X*X)) 02DEC96.219
> - -2.*ATAN(X)+2.*ATAN(1.) 02DEC96.220
> Y=(1-16*ZOLN)**0.5 02DEC96.221
> PSIHTB(N)=2*ALOG(0.5*(1+Y)) 02DEC96.222
> ENDDO 02DEC96.223
> #endif 02DEC96.224
1605a1810
> IF(IBLTYP(1).EQ.5)PRINT1063,IBLTYP(1) 02DEC96.225
1702a1908
> 1063 FORMAT(/' IBLTYP = ',I3,' MRF PBL IS USED.') 02DEC96.226
===================================================================
domain/io/Makefile
diff -r2.0 -r2.1
88a89
> initsav.o: ../../include/defines.incl
===================================================================
domain/io/mapsmp.F
diff -r2.0 -r2.2
53c53
< DIMENSION NAME(5) MAPSMP.53
---
> CHARACTER*40 NAME 02DEC96.227
96,97c96,97
< WRITE (N,80)(NAME(III),III=1,5),IEXP,TIME MAPSMP.96
< 80 FORMAT(////' THIS IS A LIST OF ',5A8,' ,SCALED BY 1.E',I3,5X, MAPSMP.97
---
> WRITE (N,80)NAME,IEXP,TIME 02DEC96.228
> 80 FORMAT(////' THIS IS A LIST OF ',A40,' ,SCALED BY 1.E',I3,5X, 02DEC96.229
125,126c125,126
< WRITE (N,170)(NAME(NN),NN=1,5),FLDMAX,TIME MAPSMP.125
< 170 FORMAT(/' ALL OF THE VALUES OF ',5A8,' ARE EQUAL TO ',E15.5,5X, MAPSMP.126
---
> WRITE (N,170)NAME,FLDMAX,TIME 02DEC96.230
> 170 FORMAT(/' ALL OF THE VALUES OF ',A40,' ARE EQUAL TO ',E15.5,5X, 02DEC96.231
===================================================================
domain/io/outprt.F
diff -r2.0 -r2.2
40,41c40,41
< 10 FORMAT(///1X,'---------------------------------------------------- OUTPRT.40
< 1------------------'/1X,'*****',4X,'MESH NO. ',I2,' AT T = ', OUTPRT.41
---
> 10 FORMAT(///1X,'--------------------------------------------------', 02DEC96.232
> 1'-----------------'/1X,'*****',4X,'MESH NO. ',I2,' AT T = ', 02DEC96.233
43,44c43,44
< 2' MINUTES, KTAU = ',I5,3X,'*****'/1X,'---------------------------- OUTPRT.43
< 3------------------------------------------'///) OUTPRT.44
---
> 2' MINUTES, KTAU = ',I5,3X,'*****'/1X,'--------------------------', 02DEC96.234
> 3'-----------------------------------------'///) 02DEC96.235
===================================================================
domain/io/outtap.F
diff -r2.0 -r2.2
168,169c168,169
< IF(MAXMV.GT.33)PRINT*,'INFORMATION ABOUT MOVES AFTER MOVE 33 AR'// OUTTAP.168
< + 'E NOT INCLUDED IN THE HEADER OF THE OUTPUT FILE' OUTTAP.169
---
> IF(MAXMV.GT.33)PRINT*,'INFORMATION ABOUT MOVES AFTER MOVE 33 ', 02DEC96.236
> + 'ARE NOT INCLUDED IN THE HEADER OF THE OUTPUT FILE' 02DEC96.237
===================================================================
domain/io/shutdo.F
diff -r2.0 -r2.2
18c18
< + IFOHUG) SHUTDO.18
---
> + IFOHUG,MAXNES,MKX,MIX,MJX) 02DEC96.238
===================================================================
domain/nest/Makefile
diff -r2.0 -r2.1
106a107
> initnest.o: ../../include/soil.incl ../../include/soiln.incl
===================================================================
domain/nest/initnest.F
diff -r2.2 -r2.6
17a18
> # include 02DEC96.239
27a29
> # include 02DEC96.240
705a708,721
> C--- SOIL LAYER TEMPERATURE 02DEC96.241
> C 02DEC96.242
> IF(ISOIL.EQ.1)THEN 02DEC96.243
> DO L=1,MLX 02DEC96.244
> CALL FILL(TSLA(1,1,L),HELP1,MIX,MJX,IYY,JXX,IYY-1,JXX-1) 02DEC96.245
> CALL EXAINT(HELP1,IYY,JXX,HSCR1N,IYYN,JXXN,ISOUTH,JWEST,1) 02DEC96.246
> CALL FILL(HSCR1N,TSLAN(1,1,L),IYYN,JXXN,MIX,MJX,IYYN-1,JXXN-1) 02DEC96.247
> DO I=1,IYYN-1 02DEC96.248
> DO J=1,JXXN-1 02DEC96.249
> TSLBN(I,J,L)=TSLAN(I,J,L) 02DEC96.250
> ENDDO 02DEC96.251
> ENDDO 02DEC96.252
> ENDDO 02DEC96.253
> ENDIF 02DEC96.254
739c755,756
< CALL RDINIT(IUNITH,IL,JL,1) INITNEST.739
---
> IHEADER=1 02DEC96.255
> CALL RDINIT(IUNITH,IL,JL,IHEADER) 02DEC96.256
803a821
> IF(IBLTYP(N).EQ.5)PRINT1063,IBLTYP(N) 02DEC96.257
867a886
> 1063 FORMAT(/' IBLTYP = ',I3,' MRF PBL IS USED.') 02DEC96.258
===================================================================
dynamics/hydro/solve1.F
diff -r2.0 -r2.2
1040a1041,1045
> #ifdef IBLT5 02DEC96.259
> ELSEIF(IBLTYP(INEST).EQ.5)THEN 02DEC96.260
> CALL MRFPBL(IYY,JXX,KZZ,J,INEST,NN,UTEN,VTEN,QCTEN,SCR3,SCR4, 02DEC96.261
> + QITEN,QNCTEN) 02DEC96.262
> #endif 02DEC96.263
1370c1375
< IF(IBLTYP(INEST).EQ.2.OR.IBLTYP(INEST).EQ.3)THEN SOLVE1.1370
---
> IF(IBLTYP(INEST).GE.2)THEN 02DEC96.264
===================================================================
dynamics/hydro/vmodes.F
diff -r2.0 -r2.2
265c265
< IF(X.GT.1.E-8)LHYDRO=.TRUE. VMODES.265
---
> IF(X.GT.1.E-4)LHYDRO=.TRUE. 02DEC96.265
===================================================================
dynamics/hydro/vprntv.F
diff -r2.0 -r2.2
9,10c9,12
< PRINT1,NAM,A VPRNTV.9
< 1 FORMAT('0',A8,1X,1P11G11.3,1X,/,9X,1P11G11.3) VPRNTV.10
---
> PRINT1,NAM 02DEC96.266
> 1 FORMAT('0',A8) 02DEC96.267
> PRINT 2,A 02DEC96.268
> 2 FORMAT('0',1X,1P11G11.3) 02DEC96.269
===================================================================
dynamics/nonhydro/solve3.F
diff -r2.0 -r2.7
32c32
< DIMENSION DIVX(MIX,MKX),SCRW1(MIX,KXP1),SCRW2(MIX,KXP1) SOLVE3.32
---
> DIMENSION DIVX(MIX,MKX) 02DEC96.270
78a79
> CALL DOTS(PSB,HSCR2,IL,JL,MIX,MJX) 02DEC96.271
81a83,86
> cmic$ do all autoscope 02DEC96.272
> c$doacross 02DEC96.273
> c$& share(rhscr1,hscr1,rhscr2,hscr2,il,jl), 02DEC96.274
> c$& local(i,j) 02DEC96.275
84a90
> RHSCR2(I,J)=1./HSCR2(I,J) 02DEC96.276
86a93,96
> cmic$ do all autoscope 02DEC96.277
> c$doacross 02DEC96.278
> c$& share(rpsa,psa,rpsb,psb,rpsc,il,jl), 02DEC96.279
> c$& local(i,j) 02DEC96.280
94a105,110
> cmic$ do all autoscope 02DEC96.281
> c$doacross 02DEC96.282
> c$& share(uj1,vj1,ujl,vjl,uj2,vj2,ujlx,vjlx, 02DEC96.283
> c$& ui1,vi1,uil,vil,ui2,vi2,uilx,vilx,ua,va,rhscr1, 02DEC96.284
> c$& il,jl,kl,ilx,jlx), 02DEC96.285
> c$& local(k,i,j) 02DEC96.286
119a136,139
> cmic$ do all autoscope 02DEC96.287
> c$doacross 02DEC96.288
> c$& share(icon), 02DEC96.289
> c$& local(j) 02DEC96.290
415a436,439
> cmic$ do all autoscope 02DEC96.291
> c$doacross 02DEC96.292
> c$& share(ptenj,ilx), 02DEC96.293
> c$& local(i) 02DEC96.294
420a445,448
> cmic$ do all autoscope 02DEC96.295
> c$doacross 02DEC96.296
> c$& share(p,psb,a,ptop,ppb,psa,ilx,jlx), 02DEC96.297
> c$& local(k,kk,i,j) 02DEC96.298
432,438d459
< C SOLVE3.432
< CALL DOTS(PSB,HSCR2,IL,JL,MIX,MJX) SOLVE3.433
< DO I=1,IL SOLVE3.434
< DO J=1,JL SOLVE3.435
< RHSCR2(I,J)=1./HSCR2(I,J) SOLVE3.436
< ENDDO SOLVE3.437
< ENDDO SOLVE3.438
468c489
< cmic$2 divx,pp,jb1,scr5,xkm,scrw1) SOLVE3.468
---
> cmic$2 divx,pp,jb1,scr5,xkm) 02DEC96.299
498,499c519,520
< c$& xkdot,cldfra,frla,frsa, SOLVE3.498
< c$& divx,pp,jb1,scr5,xkm,scrw1,jm1,srx,dellt) SOLVE3.499
---
> c$& cldfra,frla,frsa, 02DEC96.300
> c$& divx,pp,jb1,scr5,xkm,jm1,srx,dellt) 02DEC96.301
717c738
< CALL VADV(KZZ+1,WTEN,WA,QDOT,MSFX,PSA,SCRW1,J,5,INEST) SOLVE3.717
---
> CALL VADV(KZZ+1,WTEN,WA,QDOT,MSFX,PSA,SCR2,J,5,INEST) 02DEC96.302
1025a1047,1051
> #ifdef IBLT5 02DEC96.303
> ELSEIF(IBLTYP(INEST).EQ.5)THEN 02DEC96.304
> CALL MRFPBL(IYY,JXX,KZZ,J,INEST,NN,UTEN,VTEN,QCTEN,SCR3,SCR4, 02DEC96.305
> + QITEN,QNCTEN) 02DEC96.306
> #endif 02DEC96.307
1362a1389,1393
> cmic$ do all autoscope 02DEC96.308
> c$doacross 02DEC96.309
> c$& share(wtens,pptens,wwbt,ppwbt,webt,ppebt,wsbt,ppsbt,wnbt,ppnbt 02DEC96.310
> c$& rpsa,ilx,ilxm,jlx,jlxm,kl,klp1), 02DEC96.311
> c$& local(i,j,k) 02DEC96.312
1388c1419
< IF(IBLTYP(INEST).EQ.2.OR.IBLTYP(INEST).EQ.3)THEN SOLVE3.1388
---
> IF(IBLTYP(INEST).GE.2)THEN 02DEC96.313
1406a1438,1441
> cmic$ do all autoscope 02DEC96.314
> c$doacross 02DEC96.315
> c$& share(ucc,vcc,ucd,vcd,ilx,jlx,kl), 02DEC96.316
> c$& local(j,k,i) 02DEC96.317
1433c1468
< c$& cosrot,sinrot,f,hscr2,ucc,vcc,ua,va,wa), SOLVE3.1433
---
> c$& cosrot,sinrot,f,rhscr2,ucc,vcc,ua,va,wa), 02DEC96.318
1527c1562,1563
< c$& share(utens,vtens,hscr2), SOLVE3.1527
---
> c$& share(utens,vtens,rhscr2,il,jl,kl,uwbt,vwbt,uebt,vebt, 02DEC96.319
> c$& usbt,vsbt,unbt,vnbt), 02DEC96.320
1546c1582,1583
< c$& share(utens,vtens,hscr2), SOLVE3.1546
---
> c$& share(utens,vtens,rhscr2,il,jl,kl,uwbt,vwbt,uebt,vebt, 02DEC96.321
> c$& usbt,vsbt,unbt,vnbt,ilx,jlx), 02DEC96.322
1572c1609
< c$& inest,imoist,idry,iice), SOLVE3.1572
---
> c$& inest,imoist,idry), 02DEC96.323
1695c1732,1737
< CALL DOTS(PSA,HSCR1,IL,JL,MIX,MJX) SOLVE3.1695
---
> cmic$ do all autoscope 02DEC96.324
> c$doacross 02DEC96.325
> c$& share(uj1,vj1,ujl,vjl,uj2,vj2,ujlx,vjlx, 02DEC96.326
> c$& ui1,vi1,uil,vil,ui2,vi2,uilx,vilx,ua,va,rhscr1, 02DEC96.327
> c$& il,jl,kl,ilx,jlx), 02DEC96.328
> c$& local(k,i,j) 02DEC96.329
1731a1774,1777
> cmic$ do all autoscope 02DEC96.330
> c$doacross 02DEC96.331
> c$& share(ilx,jlx,nca), 02DEC96.332
> c$& local(i,j) 02DEC96.333
1742a1789,1791
> c$doacross 02DEC96.334
> c$& share(wmax,rpsa,imax,jmax,ilx,jlx,klp1), 02DEC96.335
> c$& local(i,j,k,wtest) 02DEC96.336
===================================================================
dynamics/nonhydro/sound.F
diff -r2.0 -r2.3
98a99,102
> cmic$ do all autoscope 02DEC96.337
> c$doacross 02DEC96.338
> c$& share(m,l,pmask,jstart,jend,istart,iend), 02DEC96.339
> c$& local(i,j) 02DEC96.340
111a116
> cmic$ do all autoscope 02DEC96.341
140c145
< c$& share(n,mp1,lp1,ua,ub,va,vb,xmuu,xnuu,msfd,psadot,ppa,ppb,wa,wb), SOUND.140
---
> c$& share(n,mp1,lp1,ua,ub,va,vb,xmuu,xnuu,msfd,rpsadot,ppa,ppb,wa,wb), 02DEC96.342
===================================================================
fdda/grid/blnudgd.F
diff -r2.0 -r2.2
419c419
< IF(ID.EQ.3.AND.MOD(KTAU,NPF).EQ.0.AND.J.EQ.2)THEN BLNUDGD.419
---
> IF(ID.EQ.3) THEN 02DEC96.343
===================================================================
fdda/grid/nudgd.F
diff -r2.0 -r2.2
206c206
< IF(ID.EQ.3.AND.MOD(KTAU,NPF).EQ.0.AND.J.EQ.2)THEN NUDGD.206
---
> IF(ID.EQ.3) THEN 02DEC96.344
209a210,211
> CALL MAPSMP(WXY2,MIXFG,MJXFG,1,ILX,1,1,JLX,1,0.,1,8HWXY2(WQ), 02DEC96.345
> + XTH) 02DEC96.346
===================================================================
fdda/obs/in4dob.F
diff -r2.0 -r2.2
41c41,42
< 11 READ (NVOLA+INEST-1,END=12)RTIMOB IN4DOB.41
---
> 11 READ(NVOLA+INEST-1,END=12)RTIMOB,RIO(1),RJO(1),RKO(1), 02DEC96.347
> 1 (VAROBS(IVAR,1),IVAR=1,5) 02DEC96.348
52a54
> TIMEOB(1)=RTIMOB 02DEC96.349
232,236c234,238
< PRINT1449,RINXY,RINSIG,TWDOP IN4DOB.232
< IF(ISWIND(1).EQ.1)PRINT1450,GIV(1) IN4DOB.233
< IF(ISTEMP(1).EQ.1)PRINT1451,GIT(1) IN4DOB.234
< IF(ISMOIS(1).EQ.1)PRINT1452,GIQ(1) IN4DOB.235
< IF(ISPSTR(1).EQ.1)PRINT1453,GIP(1) IN4DOB.236
---
> PRINT 1449, INEST,RINXY,RINSIG,TWDOP 02DEC96.350
> IF(ISWIND(INEST).EQ.1) PRINT 1450,GIV(INEST) 02DEC96.351
> IF(ISTEMP(INEST).EQ.1) PRINT 1451,GIT(INEST) 02DEC96.352
> IF(ISMOIS(INEST).EQ.1) PRINT 1452,GIQ(INEST) 02DEC96.353
> IF(ISPSTR(INEST).EQ.1) PRINT 1453,GIP(INEST) 02DEC96.354
238,250d239
< C IN4DOB.238
< C*** NESTED DOMAINS IN4DOB.239
< C IN4DOB.240
< DO 1234 INE=1,MAXNES IN4DOB.241
< IF(I4DI(INE).EQ.1)THEN IN4DOB.242
< TWDOP=TWINDO*60. IN4DOB.243
< PRINT1469,RINXY,RINSIG,TWDOP IN4DOB.244
< IF(ISWIND(INE).EQ.1)PRINT1450,GIV(INE) IN4DOB.245
< IF(ISTEMP(INE).EQ.1)PRINT1451,GIT(INE) IN4DOB.246
< IF(ISMOIS(INE).EQ.1)PRINT1452,GIQ(INE) IN4DOB.247
< IF(ISPSTR(INE).EQ.1)PRINT1453,GIP(INE) IN4DOB.248
< ENDIF IN4DOB.249
< 1234 CONTINUE IN4DOB.250
267c256
< PRINT601,IONF IN4DOB.267
---
> PRINT 601, INEST,IONF 02DEC96.355
277c266
< * 'FOR THE CGM IS ',1I2,' CGM TIMESTEPS ',/) IN4DOB.277
---
> 1 'FOR MESH #',I2,' IS ',1I2,' CGM TIMESTEPS ',/) 02DEC96.356
285c274,275
< 1449 FORMAT(1H0,'*****NUDGING INDIVIDUAL OBS ON CGM WITH RINXY = ', IN4DOB.285
---
> 1449 FORMAT(1H0,'*****NUDGING INDIVIDUAL OBS ON MESH #',I2, 02DEC96.357
> & ' WITH RINXY = ', 02DEC96.358
===================================================================
include/hdtabl.incl
diff -r2.0 -r2.2
10c10
< 8 RXMI(0:10000),NOS(0:20000), HDTABL.10
---
> 8 RXMI(0:10000),NOS(0:200000), 02DEC96.359
===================================================================
physics/cumulus/Makefile
diff -r2.0 -r2.3
100a101
> (cd ../pbl_sfc/dry; $(MAKE) code); \
108a110
> (cd ../pbl_sfc/dry; $(MAKE) code); \
===================================================================
physics/explicit/Makefile
diff -r2.0 -r2.1
77c77,81
< (cd simple; $(MAKE) code); \
---
> if [ $(MPHYSTBL) = 0 ]; then (cd simple; $(MAKE) code); \
> else \
> echo "use look up table version of exmoiss"; \
> (cd simple; $(MAKE) lex_code); \
> (cd shared; $(MAKE) code); fi; \
84c88,92
< (cd simple; $(MAKE) code); \
---
> if [ $(MPHYSTBL) = 0 ]; then (cd simple; $(MAKE) code); \
> else \
> echo "use look up table version of exmoiss"; \
> (cd simple; $(MAKE) lex_code); \
> (cd shared; $(MAKE) code); fi; \
91c99,103
< (cd reisner1; $(MAKE) code); \
---
> if [ $(MPHYSTBL) = 0 ]; then (cd reisner1; $(MAKE) code); \
> else \
> echo "use look up table version of exmoisr"; \
> (cd reisner1; $(MAKE) lex_code); \
> (cd shared; $(MAKE) code); fi; \
===================================================================
physics/explicit/gsfc/satice.F
diff -r2.0 -r2.2
42c42
< COMMON/SIZE/ TNW,TNSS,TNG,ROQR,ROQS,ROQG SATICE.42
---
> COMMON/GSIZE/ TNW,TNSS,TNG,ROQR,ROQS,ROQG 02DEC96.360
===================================================================
physics/explicit/reisner1/Makefile
diff -r2.1 -r2.3
34,41d33
< lexmoisr.o: lexmoisr.F
< $(RM) $@
< cut -c 1-72 lexmoisr.F > .tmp.F
< $(CPP) $(CPPFLAGS) .tmp.F > tmp2.F
< ../../../Util/linesplitter72 -F tmp2.F
< mv tmp2.F.new lexmoisr.f
< $(FC) -c $(FCFLAGS) lexmoisr.f
<
77a70
> lexmoisr.o: ../../../include/param2.incl
===================================================================
physics/explicit/reisner1/lexmoisr.F
diff -r2.0 -r2.2
21a22
> # include 02DEC96.361
70a72
> REAL SCR4I(MIX,MKX),FI(MKX),FALOUTI(MKX) 02DEC96.362
148c150
< C A + B IN FORUMLA (B7) OF DUDHIA (1992) FOR T > TO LEXMOISR.148
---
> C A + B IN FORMULA (B7) OF DUDHIA (1992) FOR T > TO 02DEC96.363
160d161
< IF(J.EQ.10)PRINT*,'AFTER DO 20' LEXMOISR.160
180d180
< IF(J.EQ.10)PRINT*,'AFTER DO 22' LEXMOISR.180
325d324
< IF(J.EQ.10)PRINT*,'AFTER DO 30' LEXMOISR.325
371c370
< TTEN(I,K)=TTEN(I,K)-TEMP/PRD(I,K) LEXMOISR.371
---
> TTEN(I,K)=TTEN(I,K)-TEMP/PRD(I,K)*(1-IFDRY) 02DEC96.364
402c401
< TTEN(I,K)=TTEN(I,K)-TEMP/PRD(I,K) LEXMOISR.402
---
> TTEN(I,K)=TTEN(I,K)-TEMP/PRD(I,K)*(1-IFDRY) 02DEC96.365
406d404
< IF(J.EQ.10)PRINT*,'AFTER DO 40' LEXMOISR.406
432d429
< IF(J.EQ.10)PRINT*,'AFTER DO 60' LEXMOISR.432
448c445
< TTEN(I,K)=TTEN(I,K)+PSC(I,J)*SCR6(I,K)*DUM21(I,K) LEXMOISR.448
---
> TTEN(I,K)=TTEN(I,K)+PSC(I,J)*SCR6(I,K)*DUM21(I,K)*(1-IFDRY) 02DEC96.366
451a449
> SCR4I(I,K)=AMAX1(1.E-25,QIB(I,J,K)+DT*QITEN(I,K)) 02DEC96.367
481a480,487
> RHO3=((A(K)*PSC(I,J)+PTOP)*1000.+PPB(I,J,K)*RPSB(I,J))/ 02DEC96.368
> & (R*SCR7(I,K)*RPSC(I,J)) 02DEC96.369
> C SEDIMENTATION FORMULA OF HEYMSFIELD AND DONNER (1990 JAS) 02DEC96.370
> IF(ICE(I,K).GT.1.E-25)THEN 02DEC96.371
> VSED=3.29*(RHO3*ICE(I,K))**0.16 02DEC96.372
> ELSE 02DEC96.373
> VSED=0. 02DEC96.374
> ENDIF 02DEC96.375
486c492,493
< RGVM=AMAX1(FR(K),FS(K)) LEXMOISR.486
---
> FI(K)=G*RHO2*VSED 02DEC96.376
> RGVM=AMAX1(FR(K),FS(K),FI(K)) 02DEC96.377
490d496
< IF(J.EQ.10)PRINT*,'AFTER DO 90' LEXMOISR.490
491a498,499
> IF(N.GT.1000)STOP 02DEC96.378
> + 'IN SUB. EXMOISR, NSTEP TOO LARGE, PROBABLY NAN' 02DEC96.379
494a503
> FALOUTI(K)=FI(K)*SCR4I(I,K) 02DEC96.380
499a509
> FALTNDI=FALOUTI(K)/DSIGMA(K) 02DEC96.381
501a512
> QITEN(I,K)=QITEN(I,K)-FALTNDI/NSTEP 02DEC96.382
503a515
> SCR4I(I,K)=SCR4I(I,K)-FALTNDI*DT/NSTEP 02DEC96.383
506a519
> FALTNDI=(FALOUTI(K)-FALOUTI(K-1))/DSIGMA(K) 02DEC96.384
508a522
> QITEN(I,K)=QITEN(I,K)-FALTNDI/NSTEP 02DEC96.385
510a525
> SCR4I(I,K)=SCR4I(I,K)-FALTNDI*DT/NSTEP 02DEC96.386
516,517c531,532
< RAINNC(I,J)=RAINNC(I,J)+(FALOUTR(KL)+FALOUTS(KL))*DTMIN*6000./ LEXMOISR.516
< + G/NSTEP LEXMOISR.517
---
> RAINNC(I,J)=RAINNC(I,J)+(FALOUTR(KL)+FALOUTS(KL)+FALOUTI(KL) 02DEC96.387
> & )*DTMIN*6000./G/NSTEP 02DEC96.388
529c544
< TTEN(I,K)=TTEN(I,K)-XLATF/PRD(I,K)*DUM11(I,K)/DT LEXMOISR.529
---
> TTEN(I,K)=TTEN(I,K)-XLATF/PRD(I,K)*DUM11(I,K)/DT*(1-IFDRY) 02DEC96.389
538c553
< TTEN(I,K)=TTEN(I,K)+XLATF/PRD(I,K)*DUM11(I,K)/DT LEXMOISR.538
---
> TTEN(I,K)=TTEN(I,K)+XLATF/PRD(I,K)*DUM11(I,K)/DT*(1-IFDRY) 02DEC96.390
===================================================================
physics/explicit/reisner2/exmoisg.F
diff -r2.0 -r2.2
109c109
< QAOUT(I,K)=AMAX1(1.E-99,QVB(I,J,K)*RPSB(I,J)) EXMOISG.109
---
> QAOUT(I,K)=AMAX1(1.E-25,QVB(I,J,K)*RPSB(I,J)) 02DEC96.391
129c129
< R1=1.E-90 EXMOISG.129
---
> R1=1.E-25 02DEC96.392
487c487
< C REV: NIAG(I,K)=CVMGZ(1.E-99,NIAG(I,K),NIAG(I,K)) EXMOISG.487
---
> C REV: NIAG(I,K)=CVMGZ(1.E-25,NIAG(I,K),NIAG(I,K)) 02DEC96.393
489c489
< NIAG(I,K)=1.E-99 EXMOISG.489
---
> NIAG(I,K)=1.E-25 02DEC96.394
809,810c809,813
< ALPHARS=(DSNOW**2*(4.*SLOS(I,K))**6)/(DSNOW**2*(4.*SLOS(I,K) EXMOISG.809
< + )**6+DRAIN**2*(4.*SLOR(I,K))**6) EXMOISG.810
---
> ALPSNOW=AMAX1(1.E-25,DSNOW**2*(4.*SLOS(I,K))**6) 02DEC96.395
> ALPRAIN=AMAX1(1.E-25,DRAIN**2*(4.*SLOR(I,K))**6) 02DEC96.396
> C ALPHARS=(DSNOW**2*(4.*SLOS(I,K))**6)/(DSNOW**2*(4.*SLOS(I,K) 02DEC96.397
> C + )**6+DRAIN**2*(4.*SLOR(I,K))**6) 02DEC96.398
> ALPHARS=ALPSNOW/(ALPSNOW+ALPRAIN) 02DEC96.399
1095,1097c1098,1100
< SCR4R(I,K)=AMAX1(1.E-99,QRB(I,J,K)+DT*QRTEN(I,K)) EXMOISG.1095
< SCR4S(I,K)=AMAX1(1.E-99,QNIB(I,J,K)+DT*QNITEN(I,K)) EXMOISG.1096
< SCR4G(I,K)=AMAX1(1.E-99,QGB(I,J,K)+DT*QGTEN(I,K)) EXMOISG.1097
---
> SCR4R(I,K)=AMAX1(1.E-25,QRB(I,J,K)+DT*QRTEN(I,K)) 02DEC96.400
> SCR4S(I,K)=AMAX1(1.E-25,QNIB(I,J,K)+DT*QNITEN(I,K)) 02DEC96.401
> SCR4G(I,K)=AMAX1(1.E-25,QGB(I,J,K)+DT*QGTEN(I,K)) 02DEC96.402
===================================================================
physics/explicit/shared/consat.F
diff -r2.0 -r2.2
8c8
< COMMON/SIZE/ TNW,TNSS,TNG,ROQR,ROQS,ROQG CONSAT.8
---
> COMMON/GSIZE/ TNW,TNSS,TNG,ROQR,ROQS,ROQG 02DEC96.403
===================================================================
physics/explicit/shared/settbl.F
diff -r2.0 -r2.2
132,134c132,135
< DO I=1,20000 SETTBL.132
< NOS(I)=(CONST1A*((DRAIN/CONST1B*1.E-7*FLOAT(I))*(PI*DSNOW* SETTBL.133
< + 1.E-7*FLOAT(I))**(BS/4))**0.94)**(4./(0.94*BS+4))/SON SETTBL.134
---
> DO I=1,200000 02DEC96.404
> NOS(I)=(CONST1A*(DRAIN/(CONST1B*1.E-7*FLOAT(I))*(PI*DSNOW/ 02DEC96.405
> + (1.E-7*FLOAT(I)))**(BS/4))**0.94)**(4./(0.94*BS+4))/SON 02DEC96.406
> IF(NOS(I).GT.1.)NOS(I)=1. 02DEC96.407
===================================================================
physics/explicit/simple/Makefile
diff -r2.1 -r2.3
29,36d28
< lexmoiss.o: lexmoiss.F
< $(RM) $@
< cut -c 1-72 lexmoiss.F > .tmp.F
< $(CPP) $(CPPFLAGS) .tmp.F > tmp2.F
< ../../../Util/linesplitter72 -F tmp2.F
< mv tmp2.F.new lexmoiss.f
< $(FC) -c $(FCFLAGS) lexmoiss.f
<
74c66
< lexmoiss.o: ../../../include/functb.incl
---
> lexmoiss.o: ../../../include/functb.incl ../../../include/param2.incl
===================================================================
physics/explicit/simple/lexmoiss.F
diff -r2.0 -r2.2
21a22
> # include 02DEC96.408
36a38
> DIMENSION RGVC(MKX),FALOUTC(MKX) 02DEC96.409
134d135
< IF(I.EQ.10.AND.J.EQ.10)PRINT*,'K,XMI= ',K,XMI LEXMOISS.134
213c214
< TTEN(I,K)=TTEN(I,K)-DUM41(I,K)*DUM21(I,K)/PRD(I,K) LEXMOISS.213
---
> TTEN(I,K)=TTEN(I,K)-DUM41(I,K)*DUM21(I,K)/PRD(I,K)*(1-IFDRY) 02DEC96.410
263c264
< TTEN(I,K)=TTEN(I,K)+PSC(I,J)*SCR6(I,K)*DUM21(I,K) LEXMOISS.263
---
> TTEN(I,K)=TTEN(I,K)+PSC(I,J)*SCR6(I,K)*DUM21(I,K)*(1-IFDRY) 02DEC96.411
266a268
> SCR3(I,K)=AMAX1(1.E-25,QCB(I,J,K)+DT*QCTEN(I,K)) 02DEC96.412
286a289
> VT2C=0. 02DEC96.413
289a293,294
> C SEDIMENTATION FORMULA OF HEYMSFIELD AND DONNER (1990, JAS) 02DEC96.414
> VT2C=3.29*(1000.*RHO2*SCR3(I,K))**0.16 02DEC96.415
292a298,299
> RGVC(K)=G*RHO2*VT2C 02DEC96.416
> NSTEP=MAX0(IFIX(RGVC(K)*DT/DSIGMA(K)+1.),NSTEP) 02DEC96.417
295a303,304
> IF(N.GT.1000)STOP 02DEC96.418
> + 'IN SUB. EXMOISS, NSTEP TOO LARGE, PROBABLY NAN' 02DEC96.419
298a308,309
> FALOUTC(K)=RGVC(K)*SCR3(I,K) 02DEC96.420
> SCR5(I,K)=SCR5(I,K)+FALOUTC(K)/DSIGMA(K)/NSTEP 02DEC96.421
303a315,317
> FALTNDC=FALOUTC(K)/DSIGMA(K) 02DEC96.422
> QCTEN(I,K)=QCTEN(I,K)-FALTNDC/NSTEP 02DEC96.423
> SCR3(I,K)=SCR3(I,K)-FALTNDC*DT/NSTEP 02DEC96.424
307a322,324
> FALTNDC=(FALOUTC(K)-FALOUTC(K-1))/DSIGMA(K) 02DEC96.425
> QCTEN(I,K)=QCTEN(I,K)-FALTNDC/NSTEP 02DEC96.426
> SCR3(I,K)=SCR3(I,K)-FALTNDC*DT/NSTEP 02DEC96.427
312a330
> RAINNC(I,J)=RAINNC(I,J)+FALOUTC(KL)*DTMIN*6000./G/NSTEP 02DEC96.428
332c350
< TTEN(I,K-1)=TTEN(I,K-1)-XLF0/PRD(I,K-1)*QCMF LEXMOISS.332
---
> TTEN(I,K-1)=TTEN(I,K-1)-XLF0/PRD(I,K-1)*QCMF*(1-IFDRY) 02DEC96.429
334c352
< TTEN(I,K)=TTEN(I,K)-XLF0/PRD(I,K)*QCMF LEXMOISS.334
---
> TTEN(I,K)=TTEN(I,K)-XLF0/PRD(I,K)*QCMF*(1-IFDRY) 02DEC96.430
337c355
< TTEN(I,K-1)=TTEN(I,K-1)-XLF0/PRD(I,K-1)*QRMF LEXMOISS.337
---
> TTEN(I,K-1)=TTEN(I,K-1)-XLF0/PRD(I,K-1)*QRMF*(1-IFDRY) 02DEC96.431
339c357
< TTEN(I,K)=TTEN(I,K)-XLF0/PRD(I,K)*QRMF LEXMOISS.339
---
> TTEN(I,K)=TTEN(I,K)-XLF0/PRD(I,K)*QRMF*(1-IFDRY) 02DEC96.432
===================================================================
physics/pbl_sfc/Makefile
diff -r2.0 -r2.2
39a40,46
> $(GREP) "5" $$tmpfile; \
> if [ $$? = 0 ]; then \
> echo "IBLTYP = 5"; \
> (cd mrfpbl; $(MAKE) all); \
> else \
> echo "IBLTYP != 5"; \
> fi; \
48,49c55,56
< (cd bulk; $(MAKE) all_code); \
< (cd dry; $(MAKE) all_code); \
---
> (cd bulk; $(MAKE) code); \
> (cd dry; $(MAKE) code); \
56c63
< (cd dry; $(MAKE) bltyp1_code); \
---
> (cd dry; $(MAKE) code); \
73a81,87
> $(GREP) "5" $$tmpfile; \
> if [ $$? = 0 ]; then \
> echo "IBLTYP = 5"; \
> (cd mrfpbl; $(MAKE) code); \
> else \
> echo "IBLTYP != 5"; \
> fi; \
107a122,128
> $(GREP) "5" $$tmpfile; \
> if [ $$? = 0 ]; then \
> echo "IBLTYP = 5"; \
> (cd mrfpbl; $(MAKE) little_f); \
> else \
> echo "IBLTYP != 5"; \
> fi; \
115a137
> (cd mrfpbl; $(MAKE) clean); \
===================================================================
physics/pbl_sfc/btpbl/navypb.F
diff -r2.0 -r2.4
21a22
> DIMENSION RHOAU(II),RHOVU(II) 02DEC96.433
===================================================================
physics/pbl_sfc/bulk/Makefile
diff -r2.0 -r2.1
23c23
< all_code:: $(SRC)
---
> code:: $(SRC)
===================================================================
physics/pbl_sfc/dry/Makefile
diff -r2.0 -r2.1
29c29
< all_code:: $(SRC)
---
> code:: $(SRC)
===================================================================
physics/pbl_sfc/util/slab.F
diff -r2.0 -r2.2
104a105
> IF(XLD1(I).LT.0.5)GOTO 75 02DEC96.434
110a112
> 75 CONTINUE 02DEC96.435
===================================================================
physics/radiation/cloud/lwrad.F
diff -r2.0 -r2.2
110c110
< IF((IICE.EQ.0.AND.IEXICE.EQ.1).AND.T(I,K).LT.273.15)THEN LWRAD.110
---
> IF(IMPHYS(INEST).EQ.4.AND.T(I,K).LT.273.15)THEN 02DEC96.436