# Resources for learning the technical parts of atmospheric modeling

I'm a computer/atmospheric science undergrad and I'm trying to get into atmospheric modeling. Any recommendations for resources to get going or to learn about approaches? I can handle fairly technical stuff so don't be shy.

• I think it would be helpful if you distinguished what type of atmospheric modeling you are interested in. For instance, meteorological models used in weather forecasts, climate models that focus on carbon transfer and energy budgets, chemical transport models that focus on air quality, or dispersion models that focus on the immediate effects of known pollution sources.
– f.thorpe
Commented Nov 15, 2014 at 16:08
• Also, see this post: earthscience.stackexchange.com/questions/20/…
– f.thorpe
Commented Nov 15, 2014 at 16:16

## 1 Answer

For fundamentals on numerical methods applied in atmosphere and ocean modeling, see the GARP publication by Mesinger and Arakawa: Numerical Methods Used in Atmospheric Models. This old, but certainly not outdated text provides the basics on time and space discretization and stability, with particular focus on solving advection equations, and gravity-inertia wave (read: shallow water) equations, and is relatively easy to digest. A must read for any meteorologist or oceanographer using or developing numerical models.

Then, an excellent textbook by Dale Durran, Numerical Methods for Fluid Dynamics: with Applications in Geophysics maintains similar application focus as Mesinger and Arakawa, but expanded with more numerical algorithms and in-depth analysis. It covers the basics as well, so it can be used as a stand-alone text.

There are many other more general CFD textbooks that contain material applicable to ocean and atmosphere modeling. The majority are more geared towards mechanical engineering applications, so you may need to apply a filter (hur hur).

On the other hand, if you are more interested in physics parameterization schemes used in atmosphere models, such as cumulus convection, microphysics, or boundary layer parameterization schemes, a book by David Stensrud, Parameterization Schemes: Keys to Understanding Numerical Weather Prediction Models, is an excellent summary of current state-of-the-art. It covers a wide area of unresolved physical processes in the atmosphere, so it does not go into too many details - if you are interested in fully understanding a particular scheme, you will need to follow the reference chain and read the particular papers on the topic. I highly recommend this one if you are interested in gaining an overall understanding of parameterizing atmospheric physics processes.

• The only thing I can add is "learn Fortran (not FORTRAN)!" Great selection of books to get started. Implementing a shallow water model is a great introduction to modeling. Commented Nov 15, 2014 at 17:41
• @willluce even new development is done in Fortran. Its (arguably) the best tool for the job (still). Also look into OpenMP and MPI as our problems tend to be embarrassingly parallel. Commented Nov 15, 2014 at 18:01
• @DavidHammen Incredibly lousy? Sounds to me like you were not doing it right. Whoever does or did research in high performance computing knows very well why Fortran still dominates their application domain. Comments like yours are becoming very old. Commented Nov 16, 2014 at 15:41
• @IsopycnalOscillation - The "best" language to use depends on context. If you're developing an app for an Android phone, you use Java. For an iPhone, you're best off if you use Objective C. With regard to your question, it's whatever language in which the majority of existing ocean-atmospheric simulations are already written (almost certainly Fortran). A team of hundreds could not rewrite the hundreds of thousands of lines of code that form the basis of those numerical codes. The easiest solution is to work with the code that already exists, and in your case, it's almost certainly Fortran. Commented Dec 13, 2014 at 9:12
• I disagree... I think you need to learn python. All the slick super fast cross-data-type functions are done in python. That is, if you want to learn a language that is actually fun to use and runs super fast. Though... there are a lot of calls to Fortran. Or is it FORTRAN?
– f.thorpe
Commented Feb 21, 2015 at 4:30