This occurs when the nested grid is smaller than the parent domain, and unfortunately, it also feeds back into the solution on subsequent timesteps after model output because the PSA field is corrupted.
The bug is new to V3.3; earlier releases of MM5v3 are not affected.
The non-MPP code is not affected.
The recommended fix involves installing a patch to the FLIC preprocessor and reinstalling the model. An alternate method involves changing several lines of the routine domain/io/outtap.F.
1. Download the filehttp://www2.mmm.ucar.edu/mm5/mpp/helpdesk/handle_executable.c
and replace MPP/FLIC/FLIC/handle_executable.c directory with this new file. You may need to use the right mouse button and select "save link as" on your browser. 2. Type 'make' in the MPP/FLIC/FLIC directory. 3. Type 'touch domain/io/outtap.F' in the top-level directory. 4. Type 'make mpp'.
DO I=1,ILX OUTTAP.675 PSA(I,JL)=PSA(I,JL-1) OUTTAP.676 ENDDO OUTTAP.677 DO J=1,JL OUTTAP.678 PSA(IL,J)=PSA(IL-1,J) OUTTAP.679 ENDDO OUTTAP.680to read instead:
DO J=JL,JL DO I=1,ILX PSA(I,J)=PSA(I,J-1) ENDDO ENDDO DO I=IL,IL DO J=1,JL PSA(I,J)=PSA(I-1,J) ENDDO ENDDOPlease report any problems to mesouser@ucar.edu .
The recommended fix in this memorandum modfies FLIC to generate the global-to-local index conversions as late as possible in the routine so that the initial calls to MP_INITDOMAIN and MP_DOMAINSTAT will have occurred already.
The alternate fix eliminates the need for a global-to-local conversion by eliminating the loop invariant indices into PSA.