# Numerical weather forecasting - resources for a programmer?

There is a community wiki question over at A good book or source for climate science and meteorology basics? that talks about meteorology basics.

Building on that, but with a slightly different focus, are there "standard texts" for a computer programmer (with engineering background - I get maths, but don't know which math I need to apply) to help understand numerical weather forecasting? If that is too broad, I'm mainly interested in mesoscale and microscale applications.

I've tried building and running some of the forecast models (e.g. WRF) but I'm uncomfortable looking at numbers coming out without understanding at least some of the process.

• – milancurcic Feb 14 '15 at 7:06
• there is typically a benchmark case included with the model so you can test your setup – farrenthorpe Feb 15 '15 at 3:35
• Did you look at at www2.mmm.ucar.edu/wrf/users/docs/arw_v3.pdf – stali Feb 16 '15 at 20:00
• I think one of the most valuable standard sources is not text, it is the user community of the respective model framework (e.g. ncl-talk, m3users, wrfusers, etc.). User lists for modeling are very active and you will typically get a response from a knowledgeable person within a day or two. – farrenthorpe Feb 17 '15 at 21:58

The resources you want will vary on what level of understanding you are seeking. For example, knowing the math means you can solve equations or transform them, but it doesn't mean you understand the physics involved.

Some topics you'll want an understanding of to understand the process:

• Physics

At the heart of any weather model are our primitive equations. Navier-stokes, thermodynamic energy, the state equation, and mass continuity.

• Differential equations, linear algebra

The math for solving the above equations.

• Discretization, numerical stability

How to turn the equations into something than be numerically solved on a 3D grid of points discrete in space and time. This also involves choices in grid types, grid resolution, boundary conditions and time steps. Any numeric noise must be accounted for and some artificial diffusion is sometimes used to accomplish this.

• Sub-gridscale physics

A consequence of a grid means that processes smaller than about 4x your grid spacing and certainly those entirely contained within a grid volume are not resolvable by the physics in your equations. These physics must be parameterized. These process can include convection, radiation, turbulence, moisture, boundary layer processes and more.

Some books that may assist you include:

The next step is digging into the source code. From this perspective I suggest taking a look at CM1, which may be easier to follow than WRF from a programming perspective and will give you a foundation for how the math is applied in code to solve our equations and produce the output you see.