Overview

This page is part of the Chemistry Model (CHEM) documentation.
It contains all namelist parameters that can be used to steer CHEM.
For an overview of all CHEM-related pages, see the CHEM main page.






















Parameter list

NAMELIST group name: chemistry_parameters (see also relevant parameters in other namelistrs at the pottom of this page)

Parameter Name FORTRAN
Type
Default
Value
Explanation

bc_cs_b

C*20

'dirichlet'

Bottom boundary condition of the chemical species (cs) concentration.

Allowed values are 'dirichlet' (cs(k=0) = const. = cs_surface + cs_surface_initial_change; When a constant surface concentration flux is used (surface_csflux) or emissions are applied (emissions_anthropogenic = .T.), bc_cs_b = 'neumann' must be used.

bc_cs_l

C(20)

see bc_lr

The left boundary condition of the chemical species concentrations.

Allowed are the values 'dirichlet' (constant concentration over the entire simulation as given by the initial profiles), 'neumann' (zero concentration gradient), and 'cyclic' . If not set by the user, the default value is given by parameter bc_lr. If 'cyclic' has been chosen, parameter bc_cs_r must be set 'cyclic' , too.

Horizontal boundary conditions for chemical species can be set independently from horizontal boundary conditions that have been chosen for the remaining model quantities via parameters bc_lr and bc_ns, e.g. you can choose cyclic boundary conditions for chemical species, while the flow field uses non-cyclic conditions, or vice versa.

For nested runs (child domain or offline-nested parent) boundary values may be set using values from parent domains or from the dynamic driver file, depending on the setting of nesting_offline_chem and nesting_chem.

bc_cs_n

C(20)

see bc_ns

The north boundary condition of the chemical species concentrations.

Allowed are the values 'dirichlet' (constant concentration over the entire simulation as given by the initial profiles), 'neumann' (zero concentration gradient), and 'cyclic' . If not set by the user, the default value is given by parameter bc_ns. If 'cyclic' has been chosen, parameter bc_cs_s must be set 'cyclic' , too.

Horizontal boundary conditions for chemical species can be set independently from horizontal boundary conditions that have been chosen for the remaining model quantities via parameters bc_lr and bc_ns, e.g. you can choose cyclic boundary conditions for chemical species, while the flow field uses non-cyclic conditions, or vice versa.

For nested runs (child domain or offline-nested parent) boundary values may be set using values from parent domains or from the dynamic driver file, depending on the setting of nesting_offline_chem and nesting_chem.

bc_cs_r

C(20)

see bc_lr

The right boundary condition of the chemical species concentrations.

Allowed are the values 'dirichlet' (constant concentration over the entire simulation as given by the initial profiles), 'neumann' (zero concentration gradient), and 'cyclic' . If not set by the user, the default value is given by parameter bc_lr. If 'cyclic' has been chosen, parameter bc_cs_l must be set 'cyclic' , too.

Horizontal boundary conditions for chemical species can be set independently from horizontal boundary conditions that have been chosen for the remaining model quantities via parameters bc_lr and bc_ns, e.g. you can choose cyclic boundary conditions for chemical species, while the flow field uses non-cyclic conditions, or vice versa.

For nested runs (child domain or offline-nested parent) boundary values may be set using values from parent domains or from the dynamic driver file, depending on the setting of nesting_offline_chem and nesting_chem.

bc_cs_s

C(20)

see bc_ns

The south boundary condition of the chemical species concentrations.

Allowed are the values 'dirichlet' (constant concentration over the entire simulation as given by the initial profiles), 'neumann' (zero concentration gradient), and 'cyclic' . If not set by the user, the default value is given by parameter bc_ns. If 'cyclic' has been chosen, parameter bc_cs_n must be set 'cyclic' , too.

Horizontal boundary conditions for chemical species can be set independently from horizontal boundary conditions that have been chosen for the remaining model quantities via parameters bc_lr and bc_ns, e.g. you can choose cyclic boundary conditions for chemical species, while the flow field uses non-cyclic conditions, or vice versa.

For nested runs (child domain or offline-nested parent) boundary values may be set using values from parent domains or from the dynamic driver file, depending on the setting of nesting_offline_chem and nesting_chem.

bc_cs_t

C*20

'initial_gradient'

Top boundary condition of the chemical species (cs) concentration.

Allowed are the values 'dirichlet' (cs(k=nz+1) does not change during the run), 'neumann' (cs(k=nz+1) = cs(k=nz)), and 'initial_gradient' . With the 'initial_gradient' boundary condition the value of the scalar concentration gradient at the top is calculated from the initial scalar concentration profile (see cs_surface, cs_vertical_gradient) by: bc_cs_t_val = (cs_init(k=nz) - ss_init(k=nz-1)) / dzu(nz). Using this value (assumed constant during the run) the concentration boundary values are calculated as cs(k=nz+1) = cs(k=nz) + bc_cs_t_val * dzu(nz+1) (up to k=nz the prognostic equation for the chemical species concentration is solved).

When a constant cs flux is used at the top boundary (top_csflux), bc_cs_t = 'neumann' must be used, because otherwise the resolved scale may contribute to the top flux so that a constant value cannot be guaranteed.

For nested runs (child domain or offline-nested parent) boundary values may be set using values from parent domains or from the dynamic driver file, depending on the setting of nesting_offline_chem and nesting_chem.

call_chem_at_all_substeps

L

.FALSE.

Switch whether chemistry is called at intermediate substeps of the Runge-Kutta scheme. Note that seting this parameter to .TRUE. is only appriate for test purposes and does not increase the accuracy since the intermediate steps of the Runge-Kutta scheme do not represent a physical state.

chem_gasphase_on

L

.TRUE.

Switch for switching off the chemical reactions but still doing the transport for all chemical compounds. Useful for test purposes.

chem_mechanism

C*30

'phstatp'

Parameter for check of chemistry mechanism: The Setting in the namelist must match with the mechanism in the code, i.e. in chem_gasphase_mod.f90. chem_mechanism = 'phstatp' matches with the chemistry mechanism in chem_gasphase_mod.f90 that comes with PALM-4U when it is downloaded.

How to apply a different mechanism than 'phstatp' is decribed on the chemistry mechanism page.

cs_heights

R(99,100)

9999999.9

Height levels above ground (in m) to go with cs_profile in order to define initial profiles of chemical species. The first index refers to the chemical compound, the second to height level. Example:
cs_heights(1,:) = 0.0, 5.0, 15.0, 25.0, 35.0, 45.0, 55.0, 65.0, 75.0, 85.0, 95.0, (heights for profile of first chemical species)
cs_heights(2,:) = 0.0, 5.0, 15.0, 25.0, 35.0, 45.0, 55.0, 65.0, 75.0, 85.0, 95.0, (heights for profile of second chemical species)

cs_name

C*11(99)

'novalue'

Names of chemical species where surface concentrations or concentration profiles (cs_profile) are prescribed. Example:
cs_name = 'O3', 'NO', 'NO2', 'CO', 'RCHO', 'PM10', 'PM25',
It is not necessary to specify cs_name (and cs_surface and cs_profile/cs_heights-pairs) for all compounds of the chosen chemical mechanism. Names of compounds which do not occur mechanism are ignored.

cs_profile

R(99,100)

9999999.9

Concentration values of chemical species (gases in ppm, particulate matter in kg m-3) at cs_heights.

Example:
cs_profile(1,:) = 0.020, 0.023, 0.026, 0.029, 0.032, 0.035, 0.038, 0.041, 0.044, 0.047, 0.050, (Values for initial profile of first species)
cs_profile(2,:) = 0.080, 0.073, 0.064, 0.057, 0.050, 0.043, 0.036, 0.029, 0.022, 0.015, 0.007, (Values for initial profile of second species)

The individual chemical species are identified using cs_name. These initial profiles become only effective when 'set_constant_profiles' is set for initializing_actions. 'set_constant_profiles' can be combined with 'inifor' if the file from inifor contails only meteorological variables and constant profiles are only set for chemistry.

cs_surface

R

0.0

Concentration value for chemical species at the surface (gases in ppm, particulate matter in kg m-3).

daytype_mdh

C*80

'workday'

Type of weekday required for the MDH (MonthDayHour) case of the LOD 1 mode of the emissions module. Possible values are: workday, weekend, holiday

deposition_dry

L

.FALSE.

Switches the deposition calculation for particles and gases ON (.TRUE.) or OFF (.FALSE.)

emissions_anthropogenic

L

.FALSE.

Switches the chem_emission module ON (.TRUE.) or OFF (.FALSE.)

emiss_factor_main

R(99)

-9999.0

Constant emission scaling factor for MAIN street types, used in the PARAMETERIZED mode of chem_emission module. The number and the order of the values has to correspond to the names of the emission species provided for surface_csflux_name.

This parameter is only required for LOD 0!

emiss_factor_side

R(99)

-9999.0

Constant emission scaling factor for SIDE (secondary) street types, used in the PARAMETERIZED mode of chem_emission module. The number and the order of the values has to correspond to the names of the emission species provided for surface_csflux_name.

This parameter is only required for LOD 0!

emiss_interpolate

L

.FALSE.

Enables temporal interpolation of the emission between PIDS_CHEM emission time steps.

emiss_lod

I

-1

Level of Detail / mode of chemistry emissions.
Possible values are:

  • 0 (=='PARAMETERIZED'): Parameterized traffic emissions based on street types supplied additionally in the _static input file (e.g from OpenStreetMap). Please note that LOD 0 is currently not applicable if the horizontal grid exceeds 10 to 15 m at maximum (depending on the width of the streets in the considered area). In this context, it must also be considered, that streets, which are only one grid point wide in the STATIC file will probably be eliminated in the topography filtering during runtime, i.e. emissions from steets which are only one grid point wide will be supressed.
  • 1 (=='DEFAULT'): Input of yearly gridded emissions and MDH courses.
  • 2 (=='PRE-PROCESSED'): Input of fully preprocessed emissions at fixed time intervals (currently only hourly intervals)

Please do not forget to set emissions_anthropogenic = .TRUE.

icntrl

I(20)

0

Selection and steering of the chemistry solver. In order to offer more control over the integrator, the KPP-generated Integrator subroutine (e.g. SUBROUTINE rosenbrock in chem_gasphase_mod.f90) provides the optional input parameters ICNTRL_U and RCNTRL_U. Each of them is an array of 20 elements that allow the fine-tuning of the integrator, e.g. by setting a particular Integrator method, tolerances, minimum and maximum step sizes, etc.

Note: For input parameters equal to zero the default values of the corresponding variables are used.

ICNTRL(1) = 1: F = F(y) Independent of T (AUTONOMOUS), = 0: F = F(t,y) Depends on T (NON-AUTONOMOUS)

ICNTRL(2) = 0: abstol, reltol are N-dimensional vectors, = 1: Abstol, Reltol are scalars

ICNTRL(3) -> selection of a particular Rosenbrock method

0 : Rodas3 (Default from KPP)
1 : Ros2 (Simplest Rosenbrock solver, will also do)
2 : Ros3
3 : Ros4
4 : Rodas3
5 : Rodas4

ICNTRL(4) -> maximum number of integration steps; For ICNTRL(4) =0) the default value of 100000 is used

Example (recommended values):

icntrl(3) = 1, ! ros2 (a bit less time consuming than the Rodas3 solver recommended by KPP)
icntrl(4) = 500, ! max. number of chem-substeps

See http://people.cs.vt.edu/asandu/Software/Kpp/

main_street_id

I(99)

0

Index for identifying MAIN streets following street type classes from OpenStreetMap.

This parameter is only required for LOD 0!

max_street_id

I(99)

0

Maximum index value for identifying ALL (MAIN and SIDE) streets following street type classes from OpenStreetMap.

This parameter is only required for LOD 0!

mode_emis

C*80

'PARAMETERIZED'

Mode of chemistry emissions.
Possible values are:

  • 'DEFAULT' Input of yearly gridded emissions and MDH courses.
  • 'PRE-PROCESSED' Input of fully preprocessed emissions at fixed time intervals (currently only hourly intervals)
  • 'PARAMETERIZED' Parameterized traffic emissions based on street types supplied additionally in the _static input file (e.g from OpenStreetMap).

At the moment the values have to be in capital letters.

Obsolete, but still working - use emiss_lod instead

my_steps

I(50)

0

List of fixed timesteps: my_step(1) = 0.0 automatic stepping
Is ignored in scalar mode.
Only relvant for vector mode, i.e. the vectorized Rosenbrock solvers.

nesting_chem

L

.TRUE.

Parameter to switch off self-nesting for chemistry variables. If nesting_chem = .F. , the boundary conditions for chemistry variables are defined via parameters bc_cs_b, bc_cs_t, bc_cs_l, bc_cs_r, bc_cs_n, and bc_cs_s.

nesting_offline_chem

L

.TRUE.

Parameter to switch off offline-nesting for chemistry variables. If nesting_offline_chem = .F. , the boundary conditions for chemistry variables are defined via parameters bc_cs_b, bc_cs_t, bc_cs_l, bc_cs_r, bc_cs_n, and bc_cs_s.

photolysis_scheme

C*10

'simple'

Currently two somple photolysis Options are available: 'constant' and 'simple'

'constant' uses photolysis frequencies at a zenith angle of 45 degrees.

'simple' describes parameterized time-dependent photolysis frequencies as supplied with MCM (http://mcm.leeds.ac.uk/MCM, Saunders et al. (2003)). As the solar zenith angle must be available for this scheme, at least the simple clear sky radiation scheme must be active.

rcntrl

R(20)

0.0 and see below

Steering of the chemistry solver.

RCNTRL(1) -> Hmin, lower bound for the integration step size. It is strongly recommended to keep Hmin = ZERO

RCNTRL(2) -> Hmax, upper bound for the integration step size

RCNTRL(3) -> Hstart, starting value for the integration step size

RCNTRL(4) -> Facmin (lower bound on step decrease factor, default=0.2)

RCNTRL(5) -> Facmax (upper bound on step increase factor, default=6)

RCNTRL(6) -> Facrej (step decrease factor after multiple rejections)

RCNTRL(7) -> Facsafe (by which the new step is slightly smaller than the predicted value, default=0.9)

See http://people.cs.vt.edu/asandu/Software/Kpp/

Example (recommended value):

rcntrl(3) = 0.1, ! hstart in sec. Setting of hstart can result in savoings of computstinal time of 30% and more.

side_street_id

I(99)

0

Index for identifying SIDE streets following street type classes from 'OpenStreetMap?'.

This parameter is only required for LOD 0!

surface_csflux

R(99)

0.0

Values of surface fluxes of chemistry emissions to be used in the PARAMETERIZED mode. The number and the order of the values has to correspond to the names of the emission species provided to surface_csflux_name. Units of the input values differ between gases and PMs. In the first case, emissions must be provided in micromole/m2*d, while for PMs, input emission values have to be in kg/m2*d.

This parameter is only required for LOD 0!

surface_csflux_name

C*11(99)

'novalue'

Names of chemical species which are emitted. Required only for mode_emis = 'PARAMETERIZED'.

Example:
surface_csflux_name = 'NO', 'NO2', 'CO', 'RCHO', 'PM10', 'PM25',
It is not necessary to specify surface_csflux_name for all compounds of the chosen chemical mechanism. Names of compounds which do not occur in the mechanism are ignored.

This parameter is only required for LOD 0!

switch_off_module

L

.FALSE.

time_fac_type

C*80

MDH

Type of time treatment for LOD 1 mode of the chem_emission module. Possible values are: HOUR or MDH

top_csflux

R(99)

0.0

wall_csflux

R(99,6)

0.0



Output steering

Parameter Name Values & Explanation

data_output = 

'w',  'w_av',
'q',  'q_av', 
'kc_PM10', 'kc_NO2', 'kc_NO', 'kc_O3', 'kc_PM10_av', 'kc_NO2_av',

Output of chemistry variables follows the usual output steering as described in `Data Output`.

In order to find out about the possible output variables of your applied mechanism, please look into trunk/UTIL/chemistry/gasphase_preproc/mechanisms/def_MECH/MECH.eqn (where MECH stands for the name of any mechanism) or search for spc_names in the chem_gasphase_mod.f90 you are using.

Names of chemistry variables must be preceded by kc_'. Possible output includes 2d cross section and/or 3d volume data (instantaneous and averaged) as well as instantaneous and averaged profiles.

Note that time series output is not available yet'''

data_output_pr =

'wtheta',  'w*theta*', 'w"theta"',
'kc_w*PM10*', 'kc_w*NO2*', 'kc_w*NO*', 'kc_w*O3*', 'kc_w*PM10*',
'kc_w"PM10"', 'kc_w"NO2"', 'kc_w"NO"', 'kc_w"O3"', 'kc_w"PM10"',

Note, output of total vertical fluxes (resolved- + sugbrid-scale) has not been realized yet.



Initial & lateral boundary conditions

NAMELIST group name: initialization_parameters

Parameter Name Values & Explanation

initializing_actions =

'inifor set_constant_profiles', 

Either set_constant_profiles or a combination of set_constant_profiles and inifor or a combination of both can be applied. As large-scale forcings from INIFOR(i.e. in the _dynamic file, see PIDS_DYNAMIC) are currently only available for meteorology, user defined initial vertical profiles from the namelist can be activated by combining set_constant_profiles with inifor separated by a space only in the initialization_parameters namelist. All variables which are available in _dynamic file are taken from there, variables which are not included in the _dynamic file are initialized with vertical profiles from the namelist.

NAMELIST group name: nesting_offl_parameters

The namelist nesting_offl_parameters enables offline nesting of the PALM-domain into a larger-scale model (currently only COSMO output can be processed by INIFOR) by reading lateral and top boundary conditions from the dynamic input file. For details and further instructions see nesting_offl_parameters.

Please apply with caution, especially for small domain sizes and near the inflow boundaries turbulence has still not been sufficiently develped.

Boundary conditions for meteorological as well as chemistry variables can be read and used by PALM. However, as lateral and top boundary conditions from INIFOR(i.e. in the _dynamic file, see PIDS_DYNAMIC) are currently only available for meteorology (using INIFOR), values from the initial profiles are used as boundary conditions at inflow for the chemisry variables if no chemistry boundary conditions are included in the dynamic file.

Last modified 14 months ago Last modified on Feb 15, 2023 2:41:31 PM

Attachments (5)