Community Aerosol and Radiation Model for Atmospheres

Version 3.0

Documentation

The following documentation is automatically generated from the comments in the source code by f90doc. It contains a description of all the routines, but doesn't contain the actual code.

1) Model Definition

The model is initialized by using carma_mod.F90, which contains lists of groups, elements, solutes and gases. This is how the specific microphysical model to be implemented is described.

2) Atmospheric State & Model Execution

The atmospheric state is captured via the state object. Once the state is entered and initialized, then the Step method advances the atmospheric state to the next time step. Multiple threads can be used by creating multiple state objects (one per thread) and initializing each of them with a different column. See the test example carma_test.F90 for an example of how to use multiple threads.

3) Constants, Enumerations, Types & Precision

4) Algorithms

The algortihms look very much like the Fortran 77 code from CARMA 2.3. This was done to make it easier to transition code to the Fortran 90 framework and so that the Fortran 90 code would look familiar to CARMA 2.3 developers. The common block variables have been replaced by structures; however, the file carma_globaer.h uses macros to map the old common bloack names to the new structure elements. You must be careful not to try to use the names defined in carma_globaer.h as locally declared variables.

5) Tests

The test cases exercise the CARMA code. The tests are located in the tests subdirectory. Each test creates a file named carma_xxxtest.txt with the results and has a read_xxxtest.pro IDL file that is used to analyze and plot the test results. The tests can be executed interactively using run-carma.csh <executable name> or all can be run in batch mode (without display) using the script run-regress.csh. Standard results for each test are located in tests/bench.