Description of mbm code

This code generates the initial conditions for the "moist benchmark" simulation of Bryan and Fritsch (2002, MWR, p. 2917).

The code is available here: mbm.F

Please see the "special instructions" section at the top of this file for important information about using this code for your numerical model.


Example applications of the moist benchmark simulation. Using the model of Bryan and Fritsch (2002) and using initial conditions appropriate for this model, the output looks like this:

Example 1: CM1, exact setup (neweqts=2 in CM1):

The utility of this test case is demonstrated by the following examples. Using the same equations and the same initial conditions as above, but using a different solution technique, I find the following:

Example 2: CM1, exact setup, no diabatic tendency on small steps (neweqts=1 in CM1):

Notice the oscillations in the pressure field. This is what can happen in a moist compressible numerical model that conserves mass, but doesn't properly account for diabatic tendencies on the small (acoustic) time steps.

Now, if I use an approximate equation set, but keep the initial conditions the same, an improper solution is obtained:

Example 3: CM1, exact initial conditions, approximate thermodynamic equation (neweqts=0 in CM1):

This case was highlighted in the Bryan and Fritsch (2002) article. There is, actually, a way to produce the correct solution using an approximate thermodynamic equation (of the type that is used in MM5 and WRF, for example). If I use the approximate equations to generate an appropriate initial state (this option is available in the mbm.F code), then the following solution is obtained:

Example 4: CM1, approximate thermodynamic equation (neweqts=0 in CM1), consistent initial conditions:

Bottom line: Model developers have two options. Option one ... the option I prefer ... is to use an exact thermodynamic equation in your numerical model (as in CM1 with neweqts > 1). Option two: if your model uses an approximate thermodynamic equation (as in MM5, WRF, etc), and you want to run the moist benchmark case, you need to modify the initial conditions to match the equations used in your model. See "special instructions" in the mbm.F code for how you can do this.


Last updated: 18 October 2008