next up previous contents
Next: Model Physics Up: Model Code Previous: Coupling Considerations

Dealing with model blow-up

Although the standard version of model has been throughly tested, users may experience occasional model numerical instability and ``blow-up'' when grid resolution or domain size is changed, or model physical parameters are modified. For example, the model may sometimes produce strong high latitude disturbances, especially over land; or the model may sometimes create a grid-scale disturbance over tropical land that produces excessive land cooling and precipitation. If the model warms up too much over all (for instance in a coupled simulation) it tends to be prone to blow up unless the changes in dry static stability are properly represented. Another problematic region could be summer monsoon area, where strong gradients of precipitation can occur along the coast of China at the land-sea contrast. Possible reasons for the blow-up include that the model physical parameterizations have certain range of validity, and that the model numerics is chosen to achieve maximum computational efficiency under current settings. When different parameters are used, the validity of model assumptions may be violated or the CFL criterion is exceeded at certain locations. Very often there is a combination of pushing the model into a range of questionable validity in some part of the domain (sometimes within the sponge layer), followed by numerical instability. We considered adding fail-safe checks at various places in the code, but the computational cost and added code complexity seemed to make this sub-optimal, since most users are familiar with computational instability.

If you experience a blow-up, it is best to diagnose the conditions under which it seems to be occurring and what is different from the standard run. Modifying the physical parameters in qtcmpar.in, or changing the use of sponge boundary functions, or changing the horizontal viscosity coefficients, or capping the largest coefficient of momentum advection can help work around a particular instability. Reducing the time step may seem obvious, but may not help if the model is encountering one particular region where the parameterizations are being pushed beyond their range of validity. Users are welcome to report difficulty to resolve blow-ups to the QTCM development team. We will be happy to share our experience with you. However, we cannot guarantee to debug each individual case.


next up previous contents
Next: Model Physics Up: Model Code Previous: Coupling Considerations

Johnny Wei-Bing Lin
Thu Sep 9 13:11:12 PDT 1999