== Overview == [[TracNav(doc/app/partoc|nocollapse)]] [[TracNav(doc/tec/chemtoc|nocollapse)]] [[NoteBox(note,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 **[wiki:doc/tec/chem CHEM main page]**.)]] \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ == Parameter list == '''NAMELIST group name: [=#chempar {{{chemistry_parameters}}}'''] (see also relevant parameters in other namelistrs at the pottom of this page) ||='''Parameter Name''' =||='''[[../fortrantypes|FORTRAN]]\\[[../fortrantypes|Type]]''' =||='''Default\\Value''' =||='''Explanation''' =|| |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#bc_cs_b '''bc_cs_b'''] }}} {{{#!td style="vertical-align:top; width: 50px" C*20 }}} {{{#!td style="vertical-align:top; width: 75px" 'dirichlet' }}} {{{#!td Bottom boundary condition of the chemical species (`cs`) concentration. Allowed values are 'dirichlet' (cs(k=0) = const. = [#cs_surface cs_surface] + cs_surface_initial_change; When a constant surface concentration flux is used ([#surface_csflux surface_csflux]) or emissions are applied ([#emissions_anthropogenic emissions_anthropogenic] = .T.), '''bc_cs_b''' = 'neumann' must be used. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#bc_cs_t '''bc_cs_t'''] }}} {{{#!td style="vertical-align:top; width: 50px" C*20 }}} {{{#!td style="vertical-align:top; width: 75px" 'initial_gradient' }}} {{{#!td 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)), 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_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. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#call_chem_at_all_substeps '''call_chem_at_all_substeps'''] }}} {{{#!td style="vertical-align:top; width: 50px" L }}} {{{#!td style="vertical-align:top; width: 75px" .FALSE. }}} {{{#!td Switch whether chemistry is called at each substep of the Runge-Kutta scheme or just at each full dynamical time step 'dt'. The latter will do since the chemistry solvers are using their own timestep steering. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#chem_gasphase_on '''chem_gasphase_on'''] }}} {{{#!td style="vertical-align:top; width: 50px" L }}} {{{#!td style="vertical-align:top; width: 75px" .TRUE. }}} {{{#!td Switch for switching off the chemical reactions but still doing the transport for all chemical compounds. Useful for test purposes. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#chem_mechanism '''chem_mechanism'''] }}} {{{#!td style="vertical-align:top; width: 50px" C*30 }}} {{{#!td style="vertical-align:top; width: 75px" 'phstatp' }}} {{{#!td 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 **[wiki:doc/app/chemmech chemistry mechanism]** page. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#cs_heights '''cs_heights'''] }}} {{{#!td style="vertical-align:top; width: 50px" R(99,100) }}} {{{#!td style="vertical-align:top; width: 75px" 9999999.9 }}} {{{#!td Height levels above ground (in m) to go with [#cs_profile 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)\\ }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#cs_name '''cs_name'''] }}} {{{#!td style="vertical-align:top; width: 50px" C*11(99) }}} {{{#!td style="vertical-align:top; width: 75px" 'novalue' }}} {{{#!td Names of chemical species where surface concentrations or concentration profiles ([#cs_profile 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 cs_surface] and [#cs_profile cs_profile]/[#cs_heights cs_heights]-pairs) for all compounds of the chosen chemical mechanism. Names of compounds which do not occur mechanism are ignored. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#cs_profile '''cs_profile'''] }}} {{{#!td style="vertical-align:top; width: 50px" R(99,100) }}} {{{#!td style="vertical-align:top; width: 75px" 9999999.9 }}} {{{#!td Concentration values of chemical species (gases in ppm, particulate matter in kg m^-3^) at [#cs_heights 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 cs_name]. These initial profiles become only effective when {{{'set_constant_profiles'}}} is set for [#init 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. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#cs_surface '''cs_surface'''] }}} {{{#!td style="vertical-align:top; width: 50px" R }}} {{{#!td style="vertical-align:top; width: 75px" 0.0 }}} {{{#!td Concentration value for chemical species at the surface (gases in ppm, particulate matter in kg m^-3^). }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#daytype_mdh '''daytype_mdh'''] }}} {{{#!td style="vertical-align:top; width: 50px" C*80 }}} {{{#!td style="vertical-align:top; width: 75px" }}} {{{#!td Type of weekday required for the MDH (!MonthDayHour) case of the DEFAULT mode of the emissions module. Possible values are: workday, weekend, holiday }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#decycle_chem_lr '''decycle_chem_lr'''] }}} {{{#!td style="vertical-align:top; width: 50px" L }}} {{{#!td style="vertical-align:top; width: 75px" .FALSE. }}} {{{#!td Cyclic boundary conditions for chemistry may result in accumluation of chemical compounds. If '''decycle_chem_lr''' is set to true, initial concentration values are fixed at the left or right inflow boundary. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#decycle_chem_ns '''decycle_chem_ns'''] }}} {{{#!td style="vertical-align:top; width: 50px" L }}} {{{#!td style="vertical-align:top; width: 75px" .FALSE. }}} {{{#!td Cyclic boundary conditions for chemistry may result in accumluation of chemical compounds. If '''decycle_chem_ns''' is set to true, initial concentration values are fixed at the southern or northern inflow boundary. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#decycle_method '''decycle_method'''] }}} {{{#!td style="vertical-align:top; width: 50px" C*20(4) }}} {{{#!td style="vertical-align:top; width: 75px" 'dirichlet' }}} {{{#!td Decycling method at horizontal boundaries (1=left, 2=right, 3=south, 4=north)\\ 'dirichlet' = initial size distribution and chemical composition set for the ghost points and first three grid points \\ 'neumann' = zero gradient }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#deposition_dry '''deposition_dry'''] }}} {{{#!td style="vertical-align:top; width: 50px" L }}} {{{#!td style="vertical-align:top; width: 75px" .FALSE. }}} {{{#!td Switches the deposition calculation for particles and gases ON (.TRUE.) or OFF (.FALSE.) }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#emissions_anthropogenic '''emissions_anthropogenic'''] }}} {{{#!td style="vertical-align:top; width: 50px" L }}} {{{#!td style="vertical-align:top; width: 75px" .FALSE. }}} {{{#!td Switches the chem_emission module ON (.TRUE.) or OFF (.FALSE.) }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#emiss_factor_main '''emiss_factor_main'''] }}} {{{#!td style="vertical-align:top; width: 50px" R(99) }}} {{{#!td style="vertical-align:top; width: 75px" -9999.0 }}} {{{#!td 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 surface_csflux_name]. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#emiss_factor_side '''emiss_factor_side'''] }}} {{{#!td style="vertical-align:top; width: 50px" R(99) }}} {{{#!td style="vertical-align:top; width: 75px" -9999.0 }}} {{{#!td Constant emission scaling factor for SIDE (secondary) street types, used in the PARAMETERIZED [#mode_emis 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 surface_csflux_name]. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#emiss_lod '''emiss_lod'''] }}} {{{#!td style="vertical-align:top; width: 50px" C*80 }}} {{{#!td style="vertical-align:top; width: 75px" 'PARAMETERIZED' }}} {{{#!td Level of Detail / mode of chemistry emissions.\\ Possible values are: * 0 (=='PARAMETERIZED'): Parameterized traffic emissions based on street types supplied '''additionally''' in the [wiki:iofiles/pids#static_input _static] input file (e.g from `OpenStreetMap`). * 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) '''The obsolete mode_emis is also still working''' }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#icntrl '''icntrl'''] }}} {{{#!td style="vertical-align:top; width: 50px" I(20) }}} {{{#!td style="vertical-align:top; width: 75px" 0 }}} {{{#!td 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/ }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#main_street_id '''main_street_id'''] }}} {{{#!td style="vertical-align:top; width: 50px" I(99) }}} {{{#!td style="vertical-align:top; width: 75px" 0 }}} {{{#!td Index for identifying MAIN streets following street type classes from `OpenStreetMap`. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#max_street_id '''max_street_id'''] }}} {{{#!td style="vertical-align:top; width: 50px" I(99) }}} {{{#!td style="vertical-align:top; width: 75px" 0 }}} {{{#!td Maximum index value for identifying ALL (MAIN and SIDE) streets following street type classes from `OpenStreetMap`. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#mode_emis '''mode_emis'''] }}} {{{#!td style="vertical-align:top; width: 50px" C*80 }}} {{{#!td style="vertical-align:top; width: 75px" 'PARAMETERIZED' }}} {{{#!td 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 [wiki:iofiles/pids#static_input _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''' }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#my_steps '''my_steps'''] }}} {{{#!td style="vertical-align:top; width: 50px" I(50) }}} {{{#!td style="vertical-align:top; width: 75px" 0 }}} {{{#!td 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. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#photolysis_scheme '''photolysis_scheme'''] }}} {{{#!td style="vertical-align:top; width: 50px" C*10 }}} {{{#!td style="vertical-align:top; width: 75px" 'simple' }}} {{{#!td 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 [#../radpar simple clear sky] radiation scheme must be active. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#rcntrl '''rcntrl'''] }}} {{{#!td style="vertical-align:top; width: 50px" R(20) }}} {{{#!td style="vertical-align:top; width: 75px" 0.0 and see below }}} {{{#!td 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. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#side_street_id '''side_street_id'''] }}} {{{#!td style="vertical-align:top; width: 50px" I(99) }}} {{{#!td style="vertical-align:top; width: 75px" 0 }}} {{{#!td Index for identifying SIDE streets following street type classes from 'OpenStreetMap'. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#surface_csflux '''surface_csflux'''] }}} {{{#!td style="vertical-align:top; width: 50px" R(99) }}} {{{#!td style="vertical-align:top; width: 75px" 0.0 }}} {{{#!td 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/m^2^*s, while for PMs, input emission values have to be in kg/m^2^*s. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#surface_csflux_name '''surface_csflux_name'''] }}} {{{#!td style="vertical-align:top; width: 50px" C*11(99) }}} {{{#!td style="vertical-align:top; width: 75px" 'novalue' }}} {{{#!td Names of chemical species which are emitted. Required only for [#mode_emis 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. }}} |---------------- {{{#!td style="vertical-align:top; width: 150px" [=#time_fac_type '''time_fac_type'''] }}} {{{#!td style="vertical-align:top; width: 50px" C*80 }}} {{{#!td style="vertical-align:top; width: 75px" MDH }}} {{{#!td Type of time treatment for DEFAULT mode of the chem_emission module. Possible values are: HOUR or MDH }}} |---------------- \\\\ === Output steering === ||='''Parameter Name''' =||='''Values & Explanation''' =|| |---------------- {{{#!td style="vertical-align:top; width: 200px" '''data_output = ''' }}} {{{#!td style="vertical-align:top; width: 900px" {{{ '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 [https://palm.muk.uni-hannover.de/trac/wiki/doc/app/d3par#output `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!'' }}} \\\\ === Initial & lateral boundary conditions === '''NAMELIST group name: {{{initialization_parameters}}}''' ||='''Parameter Name''' =||='''Values & Explanation''' =|| |---------------- {{{#!td style="vertical-align:top; width: 200px" '''initializing_actions = ''' }}} {{{#!td style="vertical-align:top; width: 1000px" {{{ '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 [wiki:doc/app/iofiles/inifor INIFOR](i.e. in the _dynamic file, see [../iofiles#PIDS_DYNAMIC PIDS_DYNAMIC]) are currently only available for meteorology, user defined initial vertical [#cs_profiles profiles] from the namelist can be activated by combining {{{set_constant_profiles}}} with {{{inifor}}} separated by a space only in the [wiki:inipar#initializing_actions initializing_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}}}''' ||='''Parameter Name''' =||='''Values & Explanation''' =|| |---------------- {{{#!td style="vertical-align:top; width: 200px" '''nesting_offline = ''' }}} {{{#!td style="vertical-align:top; width: 1000px" {{{ .TRUE., }}} Default is {{{.FALSE.}}} or absence of the {{{nesting_offl_parameters}}} namelist, i.e. cyclic boundary conditions for meteorology (and chemistry, unless decycling is activated. 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 [wiki:doc/app/iofiles/inifor INIFOR]) by reading lateral and top boundary conditions from the [../iofiles/pids#dynamic_input dynamic] input file. For details and further instructions see [wiki:doc/app/nesting_offl_parameters nesting_offl_parameters]. Please apply with caution, since turbulence is underestimated when offline nesting is applied, in particular for small domain sizes. Boundary conditions for meteorological as well as chemistry variables can be read and used by PALM. However, as lateral and top boundary conditions from [wiki:doc/app/iofiles/inifor INIFOR](i.e. in the _dynamic file, see [../iofiles#PIDS_DYNAMIC PIDS_DYNAMIC]) are currently only available for meteorology, 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 [../iofiles/pids#dynamic_input dynamic] file. }}}