back to top

Parameter settings

This section shows most of the parameters and their default and/or recommended values. For details about the physical meaning of these parameters, please refer to the main MiMA reference paper and comments in the source code.

Go directly to default values or an input file with all recommended values.

Some of the default values are “safe choices”, designed to have the least impact if the user is not aware of them. But these values are not necessarily the best ones, so this section gives some ballpark values which have been working well so far. A sample input file with all recommended values resides in the repository here.


Namelist coupler_nml

Variable Recommended Value Meaning
dt_atmos 900 integration time step in [s]


Namelist spectral_dynamics_nml

Variable Recommended Value Meaning
damping_order 4 8th order numerical diffusion
water_correction_limit 200.e2 [Pa] turn off water correction in stratosphere to avoid systematic sink
initial_sphum 2.e-6 [kg/kg] Start with some water vapor as the stratosphere takes very long to fill up dynamically
robert_coeff .03 Robertson coefficient for implicit time stepping
num_levels >= 40 Number of vertical levels
vert_coord_option ‘uneven_sigma’ use hybrid sigma/pressure coordinates
surf_res 0.5 parameter 1 to define vertical level distribution
scale_heights 9.0 parameter 2 to define vertical level distribution
exponent 7.0 parameter 3 to define vertical level distribution
topography_option ‘gaussian’ if orographic forcing required
specify_initial_conditions .false. If set to true, the model will look for initial conditions in INPUT/

Namelist gaussian_topog_nml, example for 3km wave-two in midlatitudes

Variable Recommended Value Meaning
height 3000., 3000.,  
olat 45., 45.,  
olon 90., 270.,  
wlat 20., 20.,  
wlon 20., 20.,  
rlat 0., 0.,  
rlon 0., 0., /  

Mixed layer

Namelist simple_surface_nml

Variable Recommended Value Meaning
Tm 285 [K] some meridional profile already in initial conditions
do_qflux .true. export tropical heat into extratropics. Mimic ocean circulation
do_warmpool .true. mimic tropical warmpool wave-one forcing
const_albedo 0.22 global SSTs reasonable
[land_option ‘lonlat’ if some land-sea contrast desired ]
[slandlon 0, [deg] don’t forget the ‘,’ ]
[elandlon 360, [deg] zonally symmetric land]
[slandlat 40, [deg] way outside the tropics ]
[elandlat 50, [deg] midlats only]

Namelist qflux_nml

Variable Recommended Value Meaning
qflux_amp 30 [W/m2] gives a good compromise between too strong jets and double ITCZ
warmpool_amp 30 [W/m2 gives realistic warmpool anomaly and good cold point


Following Frierson (2007) we use large scale condenstion together with the Betts-Miller convection scheme with the “shallower” shallow convection adjustment.

Namelist moist_processes_nml

Variable Recommended Value Meaning
do_mca .false. Do moist convective adjustment
do_lsc .true. Do large scale condensation
do_bm .true. Do Betts-Miller convetion
use_df_stuff .true. When true, specific humidity = (rdgas/rvgas)*esat/pressure

Namelist betts_miller_nml

Variable Recommended Value Meaning
rhbm 0.7 relax to 70% relative humidity
do_simp .false. don’t adjust time scales to make precipitation always continuous
do_shallower .true. shallow convection: choose smaller depth to make precip zero

Namelist moist_conv_nml is only touched to make sure moisture handling is consistent accross namelists.

Variable Recommended Value Meaning
use_df_stuff .true. Make everything consistent with above use_df_stuff

Namelist lscale_cond_nml: We want to re-evaporate outfalling precipitation if any of the layers below are sub-saturated.

Variable Recommended Value Meaning
do_evap .true. re-evaporate in below sub-saturated layers (if any)
use_df_stuff .true. Make everything consistent


Namelist rrtm_radiation_nml

Variable Recommended Value Meaning
do_read_ozone .true. Read ozone from file (only way to have non-zero ozone)
ozone_file ’ozone_1990’ If so, filename without ’.nc’ extension - this file is in the repository
co2_val 300. Constant value for CO2 [ppm]
dt_rad 7200 Radiation time step [s]. Every time step if < dt_atmos

Namelist astro_nml.

Variable Recommended Value Meaning
solr_cnst 1360 solar constant [W/m2]
[ solday 90 if perpetual equinox desired and calendar=’thirt_day’ ]

Boundary conditions

Namelist damping_driver_nml.

Variable Recommended Value Meaning
do_rayleigh .true. do simple Rayleigh friction at the top
trayfric -0.5 Rayleigh friction time scale of 1/2 day
sponge_bottom 100 Rayleigh friction above 0.5hPa
do_conserve_energy .true. account for heat release due to momentum loss

Namelist surface_flux_nml

Variable Recommended Value Meaning
use_virtual_temp .false. for consistency with df_stuff
old_dtaudv .true. use alternative d(stress)/d(wind component)
use_df_stuff .true. for consistency with df_stuff
no_surface_momentum_flux .false. use to turn off surface momentum fluxes
no_surface_moisture_flux .false. use to turn off surface moisture fluxes
no_surface_heat_flux .false. use to turn off surface heat fluxes
no_surface_radiative_flux .false. use to turn off surface radiative fluxes

Namelist diffusivity_nml

Variable Recommended Value Meaning
do_entrain .false. don’t account for entrainment (which is off anyway)
use_df_stuff .true. for consistency with df_stuff

Vertical numerics

Namelist vert_turb_driver_nml

Variable Recommended Value
use_tau .false.
constant_gust 0.0
do_mellor_yamada .false.
use_df_stuff .true.
do_diffusivity .true.

Namelist vert_diff_driver_nml

Variable Recommended Value
do_conserve_energy .true.
use_virtual_temp_vert_diff .false.

Default values


Most general parameters are set in coupler/coupler_main.f90 and coupler_nml.

Variable Default Value Meaning
current_date 0001,1,1,0,0,0 Start from year 1
calendar ‘thirty_day’ Use 12 30-day months


The dynamical core is set up in atmos_spectral/model/spectral_dynamics.f90 and the namelist spectral_dynamics_nml.

Variable Default Value Meaning
damping_order 2 8th order numerical diffusion
do_water_correction .true. make sure water mass is conserved in the advection step
water_correction_limit 200.e2 correct water mass only below this level [Pa]. Introduces artificial sink in stratosphere if corrected there.
vert_advect_uv ‘second_centered’ second order vertical advection scheme
vert_advect_t ‘second_centered’ second order vertical advection scheme
robert_coeff .04 Robertson coefficient for implicit time stepping
lon_max 128 T42 resolution
lat_max 64 T42 resolution
num_fourier 42 T42 resolution
num_spherical 43 T42 resolution
fourier_inc 1 T42 resolution
num_levels 18 number of vertical levels
surf_res 0.1 parameter 1 to define uneven_sigma levels
scale_heights 4 parameter 2 to define uneven_sigma levels
vert_coord_option ‘even_sigma’ use sigma levels
exponent 7.0 parameter 3 to define vertical level distribution

Initial conditions are set in atmos_spectral/init/spectral_init_cond.f90 and the namelist spectral_init_nml.

Variable Default Value Meaning
initial_temperature 264 Initial temperature of isothermal atmosphere in [K]


The namelist physics_driver_nml steers which physics components are used. It resides in atmos_param/physics_driver/physics_driver.f90.

Variable Default Value Meaning
do_moist_processes .true. call moist_processes routines
tau_diff 3600. time scale for smoothing diffusion coefficients
do_radiation .false. calculating radiative fluxes and heating rates with AM2 radiation?
do_grey_radiation .false. rather do grey radiation?
do_rrtm_radiation .true. or RRTM radiation?
do_damping .true. do any of the damping schemes?
do_local_heating .false. add artificial local heating? If so, see local_heating_nml namelist
diff_min 1.e-3 minimum value of a diffusion coefficient beneath which the coefficient is reset to zero
diffusion_smooth .true. diffusion coefficients should be smoothed in time?
do_netcdf_restart .true. make restart files netCDF format?

Mixed layer

All changes to the mixed layer ocean as compared to FHZ06 are discussed in the main text. Table [Surface_default] gives the default values for all newly introduced input parameters, and those that might have slightly changed meaning.

These parameters are set in coupler/simple_surface.f90.

Variable Default Value Meaning
Tm 265 Initial surface temperature [K]. 1K warmer than isothermal atmosphere seems reasonable to get convection going right away.
heat_capacity 4e8 [J/K/m2] 100m mixed layer depth
land_capacity -1 same as heat_capacity
trop_capacity -1 same as heat_capacity
trop_cap_limit 15 [deg] Poleward boundary for trop_capacity
heat_cap_limit 60 [deg] Equatorward boundary for heat_capacity
albedo_choice 1 Single value globally
const_albedo 0.30 Value of surface albedo
albedo_exp 2 Exponent for meridional albedo profile if albedo_choice = 4
do_qflux .false. Add meridional heat flux to surface?
qflux_width 16 if so, half-width in [degrees lat]
qflux_amp 30 if so, amplitude in [W/m2]
do_warmpool .false. Add zonally asymmetric heat flux?
warmpool_amp 30 if so, amplitude in [W/m2]
warmpool_phase 0 if so, phase in zonal direction in degrees longitude
warmpool_centr 0 if so, center of heatflux in degrees latitude
warmpool_k 1 if so, wave number of heatflux
land_option ’none’ Add land-sea contrast?
slandlon (0,0,0,0,0,0,0,0,0,0) if so, give land patches start longitude [deg]
elandlon -(1,1,1,1,1,1,1,1,1,1) if so, give land patches end longitude [deg]
slandlat (0,0,0,0,0,0,0,0,0,0) if so, give land patches start latitude [deg]
elandlat -(1,1,1,1,1,1,1,1,1,1) if so, gie land patches end longitude [deg]


In contrast to the initial Frierson et al (2006) setup, we turn off moist convective adjustment by default, and turn on Betts-Miller convection and use the alternative definition of specific humidity.

Moist processes

The moist processes parameters are set in atmos_param/moist_processes/moist_processes.f90 and the namelist moist_processes_nml.

Variable Default Value Meaning
do_mca .true. Do moist convective adjustment?
do_lsc .true. Do large scale condensation?
do_ras .false. Do relaxed Arakawa-Schubert?
do_strat .false. Do stratiform clouds?
do_dryadj .false. Do dry adjustment?
do_rh_clodus .false. Do relative humidity cloud scheme?
do_diag_clouds .false. Do Gordon’s diagnostic cloud scheme?
do_donner_deep .false. Do Donner deep convection scheme?
use_tau .false. Use current time values? (future time if .false.)
do_gust_cv .false. Do convective gustiness?
do_bm .false. Do Betts-Miller convetion?
do_bmmass .false. Do Betts-Miller mass flux scheme?
do_bmomp .false. Do Pauluis version of Betts-Miller scheme?
use_df_stuff .false. When true, specific humidity = (rdgas/rvgas)*esat/pressure


The Betts-Miller parameters are set in atmos_param/betts_miller/betts_miller.f90 and the namelist betts_miller_nml.

Variable Default Value Meaning
tau_bm 7200 relaxation time scale in [s]
rhbm 0.8 relative humidity to relax to
do_simp .true. adjust time scales to make precipitation always continuous?
do_shallower .false. shallow convection: choose smaller depth to make precip zero?
do_changeqref .false. shallow convection: change both q and T to make precip zero?
do_envsat .false. reference rhbm wrt environment (.true.) or parcel (.false.)?
do_taucape .false. make taubm proportional to 1/sqrt(CAPE)?
capetaubm 900 [J/kg] value of CAPE for which tau = tau_bm if do_taucape=.true.
tau_min 2400 [s] minimum tau_bm allowed if do_taucape=.true.

Moist convective adjustment

Moist convective adjustment parameters are in atmos_param/moist_conv/moist_conv.f90 and the namelist moist_conv_nml.

Variable Default Value Meaning
beta 0.0 fraction of condensate detrained into stratiform cloud
use_df_stuff .false.  

Large Scale Condensation

We want to re-evaporate outfalling precipitation if any of the layers below are sub-saturated. Parameters are described in atmos_param/lscale_cond/lscale_cond.f90 and the namelist lscale_cond_nml.

Variable Default Value Meaning
hc 1.0 relative humidity at which condensation occurs
do_evap .false. re-evaporate in below sub-saturated layers (if any)?
use_df_stuff .false. For consistency with above



The new radiative transfer routine, which eventually calls the RRTM short and long wave modules, has a few parameters that do not affect RRTM directly. Those parameters are given in the first table and can be found in atmos_param/rrtm_radiation/rrtm_radiation.f90 and namelist rrtm_radiation_nml.

Variable Default Value Meaning
do_read_radiation .false. Read SW and LW radiation in the atmosphere from file?
radiation_file ’radiation’ If so, filename without ’.nc’ extension
do_read_sw_flux .false. Read SW surface flux from file?
sw_flux_file ’sw_flux’ If so, filename without ’.nc’ extension
do_read_lw_flux .false. Read LW surface flux from file?
lw_flux_file ’lw_flux’ If so, filename without ’.nc’ extension
do_read_ozone .false. Read ozone from file (only way to have non-zero ozone)?
ozone_file ’ozone’ If so, filename without ’.nc’ extension
do_read_h2o .false. Use external water vapor distribution instead of active tracer?
h2o_file ’h2o’ If so, filename without ’.nc’ extension
include_secondary_gases .false. Set CH4, N2O, O2, CFC-11, CFC-12, CFC-22, CCl4 to non-zero?
ch4_val 0 If so, set value for CH4
n2o_val 0 If so, set value for N2O
o2_val 0 If so, set value for O2
cfc{1112,22}_val 0 If so, set value for CFC-{11,12,22}
ccl4_val 0 If so, set value for CCl4
h2o_lower_limit 0.2ppm Never use specific humidity values smaller than this in radiative transfer
do_fixed_water .false. Use fixed value for specific humidity in radiative transfer?
fixed_water 2ppm If so, set value
fixed_water_pres 100e2Pa If so, above which pressure level?
fixed_water_lat 90 If so, equatorward of which latitude?
do_zm_tracers .false. Feed only the zonal mean of all absorbers to the radiative transfer
do_zm_rad .false. Only pass zonal mean radiative forcing to dynamics
dt_rad 0 Radiation time step [s]. Every time step if < dt_atmos
store_intermediate_rad .true. Keep radiative forcing constant or set to zero between radiative time steps?
do_rad_time_avg .true. Compute zenith angle average over radiative time step (true) or use instantaneous (false)?
dt_rad_avg 86400. Average zenith angle over this time interval [s]. Defaults to diurnal mean, e.g. incoming SW flux at the TOA will be zonally symmetric. Set equal to dt_rad if < 0
lonstep 1 Only compute radiation at every nth longitudinal grid point
do_precip_albedo .false. Link surface albedo to precipitation?
precip_albedo 0.35 If so, set albedo for 100% precipitating grid boxes
precip_lat 0 If so, only use poleward of this latitude [deg]
precip_albedo_mode ’full’ If so, use ’full’ (total), ’lscale’ (large scale), or ’conv’ (convective) precipitation for albedo calculation

The next table gives the default values for all needed RRTM input parameters, with the parameter names as given by the original source code. These are not part of any namelist, but we report them here for completeness. We refer the reader to RRTM documentation and source code to learn the exact meanings of each input parameter. The parameter type is defined as follows: ‘fixed’ means the value is hard coded and cannot be changed without recompiling; ‘fixed input’ means that the variable can be changed within a namelist at run time, but will not change during the simulation; ‘interactive’ means that the value is re-evaluated at each radiation time step before calling RRTM.

Variable Type Default
iaer fixed 0
h2vmr interactive tracer
o3vmr fixed input from file
co2vmr fixed input 300e-6
ch4vmr fixed input 0
n2ovmr fixed input 0
o2vmr fixed input 0
cfc11vmr fixed input 0
cfc12vmr fixed input 0
cfc22vmr fixed input 0
ccl4vmr fixed input 0
asdir fixed input 0.27
aldir fixed = asdir
asdif fixed = asdir
aldir fixed = asdir
coszen interactive computed
adjes fixed input 1
dyofyr fixed input 0
scon fixed input 1368.22
emis fixed 1
inflgsw fixed 0
iceflgsw fixed 0
liqflgsw fixed 0
cldfr fixed 0
taucld fixed 0
ssacld fixed 0
asmcld fixed 0
asmcld fixed 0
fsfcld fixed 0
cicewp fixed 0
cliqwp fixed 0
reice fixed 10
reliq fixed 10
tauaer fixed 0
ssaaer fixed 0
asmaer fixed 0
acaer fixed 0


All things which define Earth versus other planets/planetary systems are set in atmos_param/rrtm_radiation/astro.f90 and astro_nml.

Variable Default Value Meaning
obliq 23.439 Earth’s obliquity in [degrees latitude]
use_dyofyr .false. use day of the year to compute Earth-Sun distance? Note that this is done internally in RRTM, and assumes 365days/year.
solrad 1.0 distance Earth-Sun [AU] if use_dyofyr=.false.
solr_cnst 1368.22 solar constant [W/m2]
solday 0 if >0, do perpetual run corresponding to day of the year = solday in [0,days per year]
equinox_day 0.25 fraction of the year defining March equinox.

Local heating

If do_local_heating = .true. in physics_driver_nml, the namelist local_heating_nml can be used to set the form and position of the desired local heating.

Variable Default Value Meaning
hamp 0 amplitude of Gaussian heating in [K/d], maximum 10 entries
loncenter -1 zonal center of the Gaussian in [degrees longitude]. Zonally symmetric if <0. maximum 10 entries
lonwidth -1 zonal width of the Gaussian, if loncenter >= 0. [degrees longitude], maximum 10 entries
lonmove 0 zonal speed of moving heat source [deg/day], maximum 10 entries
latcenter 0 meridional center of the Gaussian in [degrees latitude], maximum 10 entries
latwidth 15 meridional width of the Gaussian in the [degrees latitude], maximum 10 entries
latmove 0 meridonal speed of moving heat source [deg/day], maximum 10 entries
pcenter -1 vertical center of the Gaussian in the vertical [hPa] no vertical structure if <0, maximum 10 entries
pwidth 1 vertical width of the Gaussian in orders of magnitude [log10(hPa)], constant with pressure if <0, maximum 10 entries
pmove 0 vertical speed of moving heat source [hPa/day], maximum 10 entries
is_periodic .false. reset location periodically? Periodicity is unidirectional in longitude and pressure, back-and-forth in latitude, maximum 10 entries
twidth -1 temporal width of Gaussian [days]. constant in time if <0, maximum 10 entries
tphase 0 temporal phase of Gaussian heating [days], maximum 10 entries
tperiod -1 temporal period of Gaussian heating; [fraction of year] if <0, [days] if >0, maximum 10 entries

Boundary conditions

The upper boundary conditions are defined by how to deal with gravity waves. The simplest choice is simple Rayleigh friction (damping towards zero momentum), non-orographic gravity wave parameterization, orographic gravity wave drag, or a constant “gravity wave” drag. By default, no scheme is active, which will almost certainly cause the code to crash. See recommended values above and source code comments for guidance.

Parameters are described in atmos_param/damping_driver/damping_driver.f90 and the namelist damping_driver_nml.

Variable Default Value Meaning
do_rayleigh .false. do simple Rayleigh friction at the top?
trayfric 0.0 Rayleigh friction time scale, [s] if > 0, [-d] if < 0
sponge_bottom 50 [Pa] bottom of Rayleigh friction layer (sponge)
do_mg_drag .false. mountain gravity wave scheme (not tested!)
do_cg_drag .false. non-orographic gravity wave scheme (under development)
do_topo_drag .false. topographic drag scheme (not tested!)
do_const_drag .false. constant “gravity wave” scheme (not tested!)
do_conserve_energy .false. account for heat release due to momentum loss?

The lower boundary condition is set by the Monin-Obukhov boundary layer. It is used for atmospheric diffusivities in atmos_param/diffusivity/diffusivity.f90 and surface fluxes in coupler/surface_flux.f90. We didn’t change anything in this part as compared to Frierson et al (2006), and only report the default values here. Refer to recommended values for the appropriate settings in MiMA.

Namelist surface_flux_nml

Variable Default Value
no_neg_q .false.
use_virtual_temp .true.
alt_gustiness .false.
old_dtaudv .false.
use_mixing_ratio .false.
use_df_stuff .false.
gust_const 1.0
ncar_ocean_flux .false.
raoult_sat_vap .false.

Namelist diffusivity_nml

Variable Default Value
fixed_depth .false.
depth_0 5000.0
frac_inner 0.1
rich_crit_pbl 1.0
entr_ratio 0.2
parcel_buoy 2.0
znom 1000.0
free_atm_diff .false.
free_atm_skyhi_diff .false.
pbl_mcm .false.
rich_crit_diff 0.25
mix_len 30.
rich_prandtl 1.00
background_m 0.0
background_t 0.0
ampns .false.
ampns_max 1.0E20
do_entrain .true.
use_df_stuff .false.

Vertical numerics

Again, nothing has been done to these schemes, but we report the default values.

File atmos_param/vert_turb_driver/vert_turb_driver.f90 and namelist vert_turb_driver_nml. Make sure to check the recommended values.

Variable Default Value
do_shallow_conv .false.
do_mellor_yamada .true.
do_diffusivity .false.
do_molecular_diffusion .false.
do_edt .false.
do_stable_bl .false.
use_tau .true.
do_entrain .false.
gust_scheme ‘constant’
constant_gust 1.0
gust_factor 1.0
use_df_stuff .false.

File atmos_param/vert_diff_driver/vert_diff_driver.f90 and namelist vert_diff_driver_nml. Make sure to check the recommended values.

Variable Default Value
do_conserve_energy .false.
do_mcm_no_neg_q .false.
use_virtual_temp_vert_diff .true.
do_mcm_plev .false.
do_mcm_vert_diff_tq .false.