Diff file for this release



You will find descriptions of the changes to the MM5 version 2
source code in this file. For the difference file between the
current release and the last release, please see 
ReleaseNotes/diff.ddmmmyy. The 'current release' refers to the newest
source code, while the 'last release' refers to the source code
with the last change. Each release will be a complete tar file
such as this. The bug fixes/changes in the diff.ddmmmyy
files will be the differences between successive releases.

The current release is 2.2 (December 2 1997).

==========================================================
Changes for release 2.2 (tag release-2-2)

Please see ReleaseNotes/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.

- An empty config.INCL file is added to include/ directory, so that 'make clean'
  can be executed before 'make' is. No effect on compiling.

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