Difference between revisions of "UKCA & UMUI Tutorial 6"

From UKCA
Line 3: Line 3:
 
==Adding new Chemical Reactions==
 
==Adding new Chemical Reactions==
   
UKCA currently uses two different methods of defining the chemical reactions solved in the model. The first is a backward Euler solver, and is used for the ''RAQ'' and ''StdTrop'' chemistry schemes. The second makes use of the [http://www.atm.ch.cam.ac.uk/acmsu/asad/ ASAD chemical integration software package], and is used for the ''CheT/TropIsop'', ''CheS/Strat'', and ''CheST/StratTrop'' chemistry schemes. ASAD can use many different solvers, although currently it uses symbolic Newton-Raphson solver.
+
UKCA currently uses two different methods of defining the chemical reactions solved in the model. The first is a backward Euler solver, and is used for the ''RAQ'' and ''StdTrop'' chemistry schemes where the solver itself is created by a code-writer. The second makes use of the [http://www.atm.ch.cam.ac.uk/acmsu/asad/ ASAD chemical integration software package], and is used for the ''CheT/TropIsop'', ''CheS/Strat'', and ''CheST/StratTrop'' chemistry schemes. ASAD can use many different solvers, although currently it uses symbolic Newton-Raphson solver. In this tutorial we will only consider the ASAD framework, as this is easily extended by a user.
  +
  +
ASAD considers four different types of chemical reactions: bimolecular reactions, trimolecular reactions, heterogeneous reactions, and photolysis reactions.
  +
  +
==Biomolecular Reactions==
  +
  +
For most bimolecular reactions, it is sufficient to provide the <math>k_{0}</math>, <math>\alpha</math>, and <math>\beta</math> coefficients that are used to compute the rate coefficient <math>k</math> from the Arrhenius expression
  +
  +
<math>
  +
k = k_{0} \left(\frac{T}{300}\right)^{\alpha} \textmf{exp} \left(\frac{-\beta}{T}\right)
  +
</math>
  +
  +
The bimolecular reactions are defined in the '''ukca_chem_<span style="color:blue">scheme</span>.F90''' routines using the '''ratb_t''' Fortran type specification, and are held in arrays. At the end of this routine
  +
the '''ratb_defs_<span style="color:blue">scheme</span>''' array is created from these, and if that scheme is selected in UKCA these reactions are copied across into the master '''ratb_defs''' array.
  +
  +
The specifications of the induvidual reactions are done as, e.g.
  +
  +
ratb_t('OH ','C5H8 ','ISO2 ',' ',' ',& ! B144
  +
' ', 2.70E-11, 0.00, -390.00, 0.000, 0.000, 0.000, 0.000), & ! B144 IUPAC2009
  +
...
  +
ratb_t('OH ','HCl ','H2O ','Cl ',' ',& ! B159
  +
' ', 1.80E-12, 0.00, 250.00, 0.000, 0.000, 0.000, 0.000), & ! B159 JPL2011
  +
  +
The first reaction in these examples takes its kinetic data from [http://www.iupac-kinetic.ch.cam.ac.uk/ IUPAC]. Going to this website, this reaction is defined [http://www.iupac-kinetic.ch.cam.ac.uk/datasheets/xhtml/HOx_VOC8_HO_CH2C%28CH3%29CHCH2%28isoprene%29.xhtml_mathml.xml here].
  +
   
   

Revision as of 12:25, 21 June 2013

Back to UKCA & UMUI Tutorials

Adding new Chemical Reactions

UKCA currently uses two different methods of defining the chemical reactions solved in the model. The first is a backward Euler solver, and is used for the RAQ and StdTrop chemistry schemes where the solver itself is created by a code-writer. The second makes use of the ASAD chemical integration software package, and is used for the CheT/TropIsop, CheS/Strat, and CheST/StratTrop chemistry schemes. ASAD can use many different solvers, although currently it uses symbolic Newton-Raphson solver. In this tutorial we will only consider the ASAD framework, as this is easily extended by a user.

ASAD considers four different types of chemical reactions: bimolecular reactions, trimolecular reactions, heterogeneous reactions, and photolysis reactions.

Biomolecular Reactions

For most bimolecular reactions, it is sufficient to provide the , , and coefficients that are used to compute the rate coefficient from the Arrhenius expression

Failed to parse (unknown function "\textmf"): {\displaystyle k = k_{0} \left(\frac{T}{300}\right)^{\alpha} \textmf{exp} \left(\frac{-\beta}{T}\right) }

The bimolecular reactions are defined in the ukca_chem_scheme.F90 routines using the ratb_t Fortran type specification, and are held in arrays. At the end of this routine the ratb_defs_scheme array is created from these, and if that scheme is selected in UKCA these reactions are copied across into the master ratb_defs array.

The specifications of the induvidual reactions are done as, e.g.

ratb_t('OH        ','C5H8      ','ISO2      ','          ','          ',& ! B144 
'          ',  2.70E-11,  0.00,   -390.00, 0.000, 0.000, 0.000, 0.000), & ! B144 IUPAC2009   
...
ratb_t('OH        ','HCl       ','H2O       ','Cl        ','          ',& ! B159 
'          ',  1.80E-12,  0.00,    250.00, 0.000, 0.000, 0.000, 0.000), & ! B159 JPL2011   

The first reaction in these examples takes its kinetic data from IUPAC. Going to this website, this reaction is defined here.



Written by Luke Abraham 2013