This repository contains changes to the “dry” dynamical core spectral model from the GFDL Flexible Modeling System. The original model code can be found here.
Various features were added to the model, described in detail below and in the namelist
file input.nml. Note that the hs_forcing_mod
module and
hs_forcing.f90
file are renamed to forcing_mod
and
forcing.f90, and the gaussian_topog_mod
module
and gaussian_topog.f90
file are renamed to idealized_topog_mod
and
idealized_topog.f90. This renaming reflects
the availability of new model features. Also, the forcing
subroutine now accepts
longitudes as well as latitudes.
vert_coord_option='pk_sigma'
, analogous to
vert_coord_option='even_sigma'
, in the &spectral_dynamics_nml
namelist (see
input.nml).&vert_coordinate_nml
namelist in the levels_ecmwf_60.nml
file. This namelist can be copied into input.nml and applied by
setting vert_coord_option='input'
in the &spectral_dynamics_nml
namelist (see
below).&forcing_nml
options), and the option to load locked diabatic heating from
a file instead of using Newtonian damping (locked_heating=.true.
).'pk'
scheme
(teq_mode='pk'
), and a modified Polvani and Kushner scheme (teq_mode='pkmod'
),
with stratospheric equilibrium temperatures conforming to the height at which the
minimum tropospheric equilibrium temperature is reached. It also includes an option
to change the damping timescale in the stratosphere (damp_mode='pk'
or
damp_mode='pkmod'
), beginning where the minimum tropospheric equilibrium
temperature is reached.surf_shneider=.true.
and
e.g. t_mean=300
instead of surf_schneider=.false.
and e.g. t_0=315
), changing
the exponent to which the cosine latitude is raised to control how boundary layer
damping intensity changes with latitude (e.g. exp_b=4
), and changing the latitude of
the most intense meridional equilibrium temperature gradients (e.g. exp_h=-2
for
equatorward motion, exp_h=2
for poleward motion).&idealized_topog_nml
namelist.The full, original model documentation is published on github-pages. Use the links at the top of each page to navigate between sections! Below are some important notes regarding the documentation.
The model can be given two types of input files in the INPUT
directory.
topography.data.nc
, containing a zsurf
variable with longitude and
latitude dimensions.heating.data.nc
, containing a t
variable or tdt
variable
with longitude, latitude, and level dimensions. This heating replaces thermal damping.The following is a table of valid truncation numbers with the corresponding recommended
number of latitudes and cores for parallelization. Remember that to avoid aliasing of
the harmonics, N >= (3M + 1)/2
, where N
is the number of latitudes and M
is the
truncation number.
Truncation | Number of latitudes | Recommended cores (latitudes per file) |
---|---|---|
42 | 64 | 16 (4) |
63 | 96 | 24 (4) |
85 | 128 | 32 (4) |
106 | 160 | 40 (4), 80 (2) |
159 | 240 | 60 (4) |
170 | 256 | 64 (4) |
266 | 400 | 100 (4) |