Version 24 (modified by forkel, 6 years ago) (diff)

--

Chemistry model parameters

Steering

Since Version 5.0 a chemistry model is available in PALM which computes chemical conversion and tranport of reactive trace gases. In addition this module permits also the simulation of passive compounds in the gas phase and particulate matter.

All parts of code that are related to chemistry start with chem. The main routines and the driver of the chemistry module is included in chemistry_model_mod.f90. The main routines and the driver of the chemistry module is included in chemistry_model_mod.f90, subroutines are in chem_gasphase_mod.f90, chem_photolysis_mod.f90, and chem_emissions.f90.

The module chem_gasphase_mod.f90, where the gas phase chemistry rate equations are solved within PALM4U depends on the chosen chemical mechanism. chem_gasphase_mod.f90 is generated by a preprocessor that is based on the Kinetic Pre-Processor KPP (Damian et al., 2002, Sandu et al., 2006), Release 2.2.3 from November 2012 (http://people.cs.vt.edu/asandu/Software/Kpp/, kpp-2.2.3.tar.gz) and an adapted version of the KPP postprocessor KP4 (Jöckel et al, 2010, https://www.geosci-model-dev.net/3/717/2010/). This adapted Version of kp4 which converts the KPP-generated code to a PALM4U module is named kpp4palm.

The chemical preprocessor is located in the subdirectory UTIL/chemistry/gasphase_preproc.

Currently PALM-4U includes the following sample of chemistry mechanisms:

  • CBM4: Carbon Bond Mechanism (Gery et al. 1989, 32 compounds, 81 reactions)
  • SMOG: Photochemical smog mechanism (13 compounds, 12 reactions)
  • SIMPLE: Simplified version of SMOG (9 compounds, 7 reactions)
  • SIMPLEP: SIMPLE plus one tracer named PM10 (10 compounds, 7 real reactions plus one dummy 'reaction')
  • PHSTAT: Photo-stationary state (3 compounds, 2 reactions)

Additionally 'mechanisms' are available that describes only the transport of one and two passive Tracers, respectively:

  • PASSIVE1: Passive tracers (1 compound, 0 reactions)
  • PASSIVE: Passive tracers (2 compounds, 0 reactions)

The list will be extended further.

Ready-to-use chem_gasphase_mod.f90 files for each of the mechanisms are supplied in the subdirectories Util/chemistry/gasphase_preproc/mechanisms/def_MECH, where 'MECH' stands for any of the available mechanisms. For using a different chemical mechanism than the one that comes with checkout of PALM4U (currently PASSIVE), copy your preferred mechanism into the SOURCEdirectory.

For details about preparing a chem_gasphase_mod.f90 from scratch see Readme_KPP4PALM.odt in the PALM4U subdirectory UTIL/chemistry/gasphase_preproc.

A main factor influencing atmospheric chemistry are the emissions of reactive compounds. In PALM4U emissions can be applied in three different ways:

  • PARAMETERIZED: Traffic emissions are parameterized depending on the the values of street_type in the static file. Emission values for each street type and chemical compound must be supplied in the namelist as described beow. No other emissions are considered. street_type can be obtained from Openstreetmap.
  • DEFAULT: Gridded yearly emissions must be supplied by the user as specified in the PIDS document (see sample emissions file). Typical temporal variations are apllied by PALM4U.
  • PREPROCESSED: Preprocessed hourly (other temporal intervals will be possible in later versions) 3-d emission fields must be supplied by the user.

Chemistry is automatically activated when a chemistry_parameters namelist is set in the parameter file (_p3d).

A brief description of the chemistry model will follow here (see LSM description as an example).



NAMELIST group name: chemistry_parameters




Steering:

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_cs_flux) or emissions are applied ('do_emis' = .T.), bc_cs_b = 'neumann' must be used.

bc_cs_t

C*20

'initial_gradient'

Top boundary condition of the scalar concentration.

Allowed are the values 'dirichlet' (cs(k=nz+1) does not change during the run), 'neumann' (cs(k=nz+1) = cs(k=nz)),

### RFo No idea whther this also works für cs 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.

call_chem_at_all_substeps

XXX

YYY

ZZZ

chem_debug'n'

XXX

YYY

ZZZ

chem_gasphase_on

XXX

YYY

ZZZ

cs_heights

XXX

YYY

ZZZ

cs_name

XXX

YYY

ZZZ

cs_profile

XXX

YYY

ZZZ

cs_profile_name

XXX

YYY

ZZZ

cs_surface

R

0.0

Concentration value for chemical species at the surface.

Here, a detailed description follows...Maybe also link to an example input file will follow.

cs_surface_initial_change

XXX

YYY

ZZZ

[=#cs_vertical_gradient, cs_vertical_gradient,]

XXX

YYY

ZZZ

cs_vertical_gradient_level

XXX

YYY

ZZZ

daytype_mdh

XXX

YYY

ZZZ

decycle_chem_lr

XXX

YYY

ZZZ

decycle_chem_ns

XXX

YYY

ZZZ

decycle_method

XXX

YYY

ZZZ

do_emis

XXX

YYY

ZZZ

emiss_factor_main

XXX

YYY

ZZZ

emiss_factor_side

XXX

YYY

ZZZ

icntrl

XXX

YYY

ZZZ

main_street_id

XXX

YYY

ZZZ

max_street_id

XXX

YYY

ZZZ

mode_emis

XXX

YYY

ZZZ

my_steps

XXX

YYY

ZZZ

nest_chemistry

XXX

YYY

ZZZ

photolysis_scheme

XXX

YYY

ZZZ

rcntrl

XXX

YYY

ZZZ

side_street_id

XXX

YYY

ZZZ

surface_csflux

XXX

YYY

ZZZ

surface_csflux

XXX

YYY

ZZZ

surface_csflux_name

XXX

YYY

ZZZ

time_fac_type

XXX

YYY

ZZZ

top_csflux

XXX

YYY

ZZZ

wall_csflux

XXX

YYY

ZZZ

Attachments (5)