AutoChem | PDF Central | CDACentral

AutoChem

Concept

When a set of atmospheric constituents react with each other their time evolution is described by a set of ordinary differential equations (ODEs). AutoChem is an automatic code generator and documentor for atmospheric chemistry modeling and assimilation. Given a set of reaction databases and a user supplied list of required species it will automatically select the reactions involving those constituents. It then constructs the ordinary differential equation (ODE) time derivatives, symbolically differentiates the time derivatives to give the Jacobian, and symbolically differentiates the Jacobian to give the Hessian and the adjoint. It also documents the whole process in a set of LaTeX and PDF files. In addition, a huge number of observations of many different constituents from a host of platforms are available from this site in an atmospheric chemistry observational database.

Preprocessor Programs

The subset of reactions involving the user specified constituents is extracted by the first AutoChem preprocessor program called Pick. This subset of reactions is then used by the second AutoChem preprocessor program RoC (rate of change) to generate the time derivatives, Jacobian, and Hessian. Once the two preprocessor programs have been run all the Fortran90 code has been generated that is necessary for modeling and assimilating the kinetic processes.

A flow diagram for AutoChem is shown below. To enlarge click on the image.

AutoChem Flow Diagrams. Click to enlarge.

The following steps are carried out by AutoChem:

  • Step 1a. Given a list of user supplied constituents pick the reactions involving these constituents.
  • Step 1b. Write out these reactions as a document.
  • Step 2a. Construct the time derivatives of each constituent.
  • Step 2b. Write out the time derivatives as a document.
  • Step 3a. Symbolically differentiate the time derivative to give the Jacobian.
  • Step 3b. Write out the Jacobian as a document.
  • Step 4a. Symbolically differentiate the Jacobian to give the Hessian.
  • Step 4b. Write out the Hessian as a document.
  • Step 5. Write computer code and generate required data files for implementation in Fortran90 of steps 1 to 4 for a forward chemical model and for data assimilation.
  • Step 6. Run time code includes automatic analysis diagnostics of each ODE and the relative importance of each term, timescales, and suite of other diagnostics.

The software is written in Fortran90 with extensive use made of modules and types for efficiency of data transfer. Full use is made of intrinsic Fortran90 logical operations to perform rapid symbolic differentiation.

Clicakable image

Contact the Author | 2006 David Lary