===================================================================
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