from README.MPP, MM5V2.12 ------------------------- C. Procedures for testing bit for bit agreement between MPP and non-MPP versions of the model. The following is a brief description of how to check the parallel version of the model for bit for bit agreement with the non-MPP version. 1. In configure.user, disable all optimization for the MPP and non-MPP versions on your platform of choice. This will entail editing Section 3 in the non-MPP configure.user and Section 7 in the MPP configure.user. Also remove any specifications of fast math libraries (e.g. the mass or essl libraries on the IBM. 2. If you are testing with the Blackadar PBL scheme (HIRPBL), edit the file physics/pbl_sfc/hirpbl/hirpbl.F and insert this line into the beginning of the file: #define BIT_FOR_BIT_KLUDGE Be certain to remove this again when you are done testing. 3. Compile both the MPP and non-MPP versions, and run them using the same namelist file and data sets. 4. Compare the files. 4a. First try comparing the output files using the Unix cmp command, e.g.: cmp fort.41.par fort.41.seq . If the command returns without any output, the files are identical bit for bit and the test has succeeded. 4b. If cmp finds differences If differences are reported by the cmp command, that does not necessarily mean that the output is substantively different -- there is garbage data around some output fields (extra row and column not used for cross point variables) and this can generate spurious differences between the parallel and non-MPP output files. Download the file: http://www.mmm.ucar.edu/mp/WRF/diffv2.f and compile with your fortran compiler. On the DEC machines, use the -convert big_endian option. Then use the resulting program as follows: diffv2 fort.41.seq fort.41.par If the non-garbage data in the files differ, the program will generate two files, fort.88 and fort.98, which contain ASCII dumps of the fields that differ. If the diffv2 program writes a lot of stuff to the screen but doesn't generate these files, then the fields all agree bit for bit, and the test succeeds. 4c. If you are unable to get bit-for-bit agreement between the MPP and non-MPP versions of the model for your configuration, please send us a note: mesouser@ucar.edu. 5. When you are done testing, be sure to undo the changes to the code that you may have done in steps 1 and 2, especially the #define in hirpbl.F.