...
Calculating the increments on different fields depending on the radiation is rather costly. Therefore, the option exists to calculate the increments only every n seconds but still apply them at every timestep. The following parameters of the namelist 'physics_cfgs' can get set to a multiple 4 to 6 of the model timestep.
...
If the grid resolution is ~10 km or lower the model is hydrostatic and one should set 'Dynamics_hydro_L = .true.' in the namelist 'gemdyn_settings.nmlkernel'. For grid resolutions of ~4km and higher one should set 'Dynamics_hydro_L = .false.'
...
Due to the semi-lagrangian advection scheme, which does not exactly conserve the total mass of the atmosphere, the GEM model is "loosing air" with time. Therefore, the parameter 'Schm_psadj' from the gem_settings.nml namelist 'dyn_fisl' needs to get set to one of the following:
...
To get a list of fields that need to get provided have a look at the following wiki: Geophysical fields
Schemes
All schemes get set in the 'gem_settings.nml'.
...
One needs to choose a land surface scheme that calculates the heat fluxes and diagnostic fields over the land fraction. The land fraction includes bare soil (desert) and vegetated areas. If no urban model (see below) is used it also includes the urban fraction. The parameter 'schmsol' from the namelist 'surface_cfgs' needs to get set to one of the following:
'NIL ' : No Land surface processes (default)
'ISBA' : Interaction Soil Biosphere Atmosphere (ISBA) land sfc scheme
'SVS ' : Soil, Vegetation, and Snow (SVS) (Multibudget) land sfc scheme
'CLASS': Canadian LAnd Surface Scheme
...
If ISBA is chosen, the following other parameters from the namelist 'surface_cfgs' also need to get set:
!# If .true. apply temporary fix to ISBA
!# * timestep dependent KCOEF
!# * No PSN factor for meting and freezing
logical :: isba_melting_fix = .false.
!# Use the vegetation-only roughness length to compute vegetation snow fraction
logical :: isba_snow_z0veg = .false.
...
If CLASS is chosen, the following other parameters from the namelist 'surface_cfgs' also need to get set:
!# Number of soil layers in CLASS
integer :: class_ig = 3
!# Soil layer thickness in CLASS
real :: schmsol_lev(200) = 0.0
...
One needs to choose a lake scheme that calculates the heat fluxes and diagnostic fields over the land fraction. The parameter 'schmlake' from the namelist 'surface_cfgs' needs to get set to one of the following:
...
One needs to choose a lake scheme that calculates the heat fluxes and diagnostic fields over the urban fraction. The parameter 'schmurb' from the namelist 'surface_cfgs' needs to get set to one of the following:
...
If 'TEB' is choosen, the following other parameters from the namelist 'surface_cfgs' also need to get set:
!# Adjust wind diagnostic in TEB with building height if .true.
logical :: urb_diagwind = .false.
!# Adjust temperature diagnostic in TEB in the street if .true.
logical :: urb_diagtemp = .false.
...
For the following surface fractions the emissivity can get adjusted in the namelist 'surface_cfgs':
snow_emiss : Emissivity for snow, default 1, recommended '0.97'
water_emiss : Emissivity for water, default 1, recommended '1.0'
ice_emiss : Emissivity for ice (glacier and sea ice), default '0.99', recommended '0.97'
isba_soil_emiss : Emissivity for bare soil (ISBA scheme only), default '0.95', recommended 'climato'
Radiation
Limit ice /snow
Due to biases, sea ice not drifting and glaciers not sliding downhill, sea ice and snow tend to get too think in certain places. Therefore, their depth can get limited by setting the parameters from the namelist 'surface_cfgs':
ICEMAX = 2.5 (recommended value)
SNOWMAX = 10. (recommended value)
Radiation
One needs to choose a radiation scheme. In general one chooses the latest one. Therefore, the parameter 'radia' from the namelist 'physics_cfgsOne needs to choose a radiation scheme. In general one chooses the latest one. Therefore, the parameter 'radia' needs to get set to one of the following:
'NIL' : no radiation scheme (default)
'NEWRAD' : complete radiation scheme
'CCCMARAD' : most advanced radiation scheme
'CCCMARAD2': most advanced radiation scheme v2
When 'cccmarad2' is chosen, one should also set the following parameters to .true from the namelist 'physics_cfgs' to .true.:
!# Use climatological values of GHG in radiation (CCCMARAD2 only)
logical :: radghg_L =.false.
!# Use LINOZ prognostic Ozone in radiation (CCCMARAD2 .and. LINOZ only)
logical :: rad_linoz_L =.false.
Roughness length
Limit ice /snow
Due to biases, sea ice not drifting and glaciers not sliding downhill, sea ice and snow tend to get too think in certain places. Therefore, their depth can get limited by setting the parameters:
ICEMAX = 2.5 (recommended value)
SNOWMAX = 10. (recommended value)
Gravity wave drag
Emissivity
Condensation
Convection
Tracers to advect
Precipitation (Bourgouin)
Boundary layer
...
Turbulent orographic form drag
By default, part of the unresolved topography gets "added" as an orographic roughness length to the roughness length of the surface schemes. But instead one can also use a turbulent orographic form drag scheme. To do this the following parameters of the namelist 'physics_cfgs' can get set to:
Tofd = 'beljaars04'
Tofd_alpha = 35.
Gravity wave drag
The parameter 'gwdrag' from the namelist 'physics_cfgs' should get set to one of the following:
'NIL' : no Gravity wave drag (default)
'GWD86' : gravity wave drag + low-level blocking
'SGO16' : new formulation (2016) of GWD86
The non-orographic GWD scheme, Hines, can get activated by setting the following parameter from the namelist 'physics_cfgs' to:
non_oro = .true. (default .false.)
Condensation
To select a condensation scheme the parameter 'stcond' from the namelist 'physics_cfgs' should get set to one of the following:
'NIL' : No explicit condensation scheme used (default)
'CONSUN' : Sunqvist type condensation scheme
'NEWSUND' : Sunqvist type condensation scheme
'MP_MY2_OLD' : Milbrandtl and Yau microphysics scheme (old formulation)
'MP_MY2' : Milbrandtl and Yau microphysics scheme
'MP_P3' : P3 microphysics scheme
For resolutions of 10 km and lower we usually use 'consun'. For resolutions of 4 km and higher 'MP_P3'. However, 'MP_P3' can also get used at lower resolutions (down to 12 km), especially when the output is used to drive a higher resolution simulation that uses 'MP_P3'.
When using stcond = 'MP_P3' one should also set the following parameters from the namelist 'gem_cfgs', for example to:
p3_ncat = 1
p3_depfact = 1.0
p3_subfact = 1.0
p3_debug = .false.
p3_scpf_on = .true.
p3_pfrac = 1.
p3_resfact = 0.46
p3_clip_qv = .true.
Tracers to advect
Depending on the condensation scheme, several tracers can get chosen to get advected by setting the parameter 'Tr3d_list_S' from the namelist 'gem_cfgs'. For example:
for 'stcond = consun':
Tr3d_list_S = 'HU,wload=0,mono=2,mass=1,hzd=0,min=0.',
'QC,wload=1,mono=2,mass=1,hzd=0,min=0.'
for 'stcond = MP_P3':
Tr3d_list_S = 'HU , wload=0,mono=2,mass=1,hzd=0,min=0.',
'MPQC, wload=1,mono=2,mass=1,hzd=0,min=0.',
'MPNC, wload=0,mono=2,mass=1,hzd=0,min=0.',
Precipitation (Bourgouin)
To improve the precipitation type(!) (not the quantity) an extra scheme can get used by setting the parameter 'pcptype' from the namelist 'gem_cfgs' can get set to one of the following:
'NIL' : no call to bourge (default)
'BOURGE' : use Bourgouin algorithm (bourge1) to determine precip. types - can sometimes improve the type of precipitation when using 'stcond = MP_P3'
'BOURGE3D' : 3-D version of the Bourgouin algorithm - should get used when using 'stcond = consun'.
Boundary layer
A boundary layer scheme should get chosen by setting 'fluvert' from the namelist 'gem_cfgs' to one of the following:
'NIL' : no vertical diffusion (default)
'CLEF' : non-cloudy boundary layer formulation
'MOISTKE' : cloudy boundary layer formulation
'SIMPLE ' : a very simple mixing scheme for neutral PBLs
Usually, we are choosing either 'CLEF' or 'MOISTKE'.
When using fluvert = 'MOISTKE' one can also set the following parameter from the namelist 'gem_cfgs', for example to:
Fnn_reduc = 1.0 ,
Fnn_mask = .false. ,
Mixing length
The mixing length calculation scheme should get set by setting the parameter 'longmel' from the namelist 'gem_cfgs' to one of the following:
'BLAC62' : mixing length calc. using Blackadar
'BOUJO' : mixing length calc. using Bougeault
'TURBOUJO' : mixing length calc. using Bougeault in turbulent regimes (otherwise Blackadar)
'LH' : mixing length calc. using Lenderink and Holtslag
Horizontal diffusion
Convection
The shallow convection scheme should get set by setting the parameter 'shal' from the namelist 'convection_cfgs' to one of the following:
'NIL' (default)
'KTRSNT'
'KTRSNT_MG' (not recommended)
'BECHTOLD'
The deep convection scheme should get set by setting the parameter 'deep' from the namelist 'convection_cfgs' to one of the following:
'NIL' :
'SEC' :
'OLDKUO' :
'KUOSTD' :
'KFC' :
'KFC2' :
'KFC3' :
'BECHTOLD' :
Output fields
Have a look at the following wiki page to learn more about the format of the file 'outcfg.out', in which all output fields need to get specified, apart from station data (see below): outcfg.out
...