I have developed the ASP
(Atmosphere-Surface forecast Prediction) model
since about 2007 in my free time. The model is
under continuous development and it must be noted that it
is simpler and uses slightly more coarse vertical and horizontal
resolutions than
operational models (although it is comparable to some such models)...
but it has baseline physics and a
solid dynamical core and thus can produce reasonable
forecasts.
I have developed all the code and
scripts using free sotware and literature from the web
under the Linux operating system.
ASP is a hybrid-mass coordinate primitive equation model
with equations expressed in flux form.
It can be run in hydrostatic or non-hydrostatic
mode using an add-on non-hydrostatic module (2 additional
prognostic equations). The non-hydrostatic
equations are fully compressible (this option is usally activated
for resolutions below 10 km, although it can be run seamlessly
at any spatial resolution).
The model baseline physics consist in: bulk microphysics,
broadband longwave and two-stream shortwave radiation
models with clouds,
a mass-flux convection scheme, vertical
diffusion/turbulence with non-local diffusivities (K)
based on a prognostic 1.5 order TKE scheme and
an EDMF scheme within the PBL and a
a fully implicit coupling between the atmosphere and
three sub-grid surface tiles (continental surface, liquid
water surfaces and sea ice). The four prognostic
dynamic (atmospheric) variables consist in the u and
v
wind components, the dry or moist (density, the current default)
air potential temperature,
and the dry surface hydrostatic pressure. The mass coordinates
and associated coordinate metrics use dry hydrostatic mass.
Note that in non-hydrostatic mode, the 2 additional prognostic variables
are the vertical velocity, w, and the geopotential.
There are 5 moist (microphysical) prognostic variables
expressed as mixing ratios: water vapor,
cloud liquid water content, cloud ice content,
and 2 precipitation variables (rainfall and snowfall).
There are 6
prognostic variables for the land surface;
the soil temperature, moisture and ice content for
N-layers (the current default is
5), snow density, SWE and albedo (currently a 2 layer snow
scheme). The frozen water tile uses a single prognostic
variables for ice temperature (2 layers). Finally, the
surface water scheme (lakes and oceans/seas), uses a
cool-skin prognostic temperature (with a relaxation to
SSTs provided from an external source).
Heat transfer in the soil and ice uses diffusion, while soil moisture
transfer is modeled using Richard's equation. The time
integration schemes use linearized fluxes and are implicit
(soil, water and water-ice temperatures are implicitly coupled
with the atmospheric temperature profiles).
The numerical schemes are fairly standard compared to research and operational models.
The vertical resolution is variable and is greatest near
the surface: terrain following pressure (dry mass) coordinates are
used in the lower atmosphere, while constant pressure surfaces are
used in the upper atmosphere.
The vertical discretization uses a Lorenz staggered grid, and
horizontal discreization is on an Arakawa C-grid.
The model has options for Lambert and Mercator map
projections for limited area applications, and a Plate
Carree projection over the globe. Horizontal resolution for all 3 projections
is a user option. For the Plate Carree projection,
Fourier filtering of certain mass variables is used above a critical
latitude for this application to optimize the balance
between model time step and CPUs. The
model has options for high order diffusion, divergence damping, and advection finite
differences (including a 5th order WENO scheme). Note that scalar variables (water vapor and hydrometeors, TKE
and a passive tracer used for testing) are currently advected using a standard 5th order horizontal scheme
for the first 2 RK steps, and a 5th order WENO scheme for the third and last RK step. Vertical advection
uses a 3rd order scheme for the first 2 RK steps, and a 3rd order WENO scheme for the last RK step.
The numerical integration includes 3 time steps (from largest to smallest): i) large/physics time step,
ii) Runge-Kutta (RK) time integration
methods for advection and coriolis terms, and iii) foward-backward time splitting
for gavity and sound wave terms. Note that there are options to use implicit second-order
vertical advection of certain variables within the RK loop (the default, however, is currently RK
vertical advection). In non-hydrostatic mode, the model uses the HEVI (horizontally-explicit, vertically
implicit) approach to simultaneously solve for w, geopotential and the pressure during the
time split using a tridiagonal matrix solver. Finally,
there is fully implicit vertical turbulence-coupling with surface (on large/physics model time step)
in which the dynamics tendencies are source terms.
Finally, radiation and the convection schemes are
generally called at a lower
frequency than the large time step (depending on size
of large time step).
The model is initialized either using a "cold-start" (NWP
analysis interpolated to the ASP grid, followed by a
digital filter using short forward and backward
dry-adiabtic integrations), or a simple data assimilation
scheme in which a previous forecast is nudged to the NWP
provided initial state. Finally, a "big-brother" data-assimilation
option
exists in which certain variables can be nudged using
large scale variables (from an NWP model which is also
providing the time varying lateral boundary conditions)
during the early part of the forecast to potentially
improve the trajectory (a simple economical way to benefit
from a NWP models likely better early forecast period
owing to a more elaborate data assimilation scheme).
For a more detailed description of ASP (physics, dynamics,
numerics...), go to the
ASP Documentation Page.
For real-timee forecast plots for
domains over Western Europe and North America, go to the
LAM Real Time Forecast Page.
For real-timee forecast plots for different selected
domains over the globe, go to the
Global Real Time Forecast Page.