TOMAS aerosol microphysics
This page describes the TOMAS aerosol microphysics option in GEOS-Chem. TOMAS is one of two aerosol microphysics packages being incorporated into GEOS-Chem, the other being APM.
Overview
The TwO-Moment Aerosol Sectional (TOMAS) microphysics package was developed for implementation into GEOS-Chem at Carnegie-Mellon University. Using a moving sectional and moment-based approach, TOMAS tracks two independent moments (number and mass) of the aerosol size distribution for a number of discrete size bins. It also contains codes to simulate nucleation, condensation, and coagulation processes. The aerosol species that are considered with high size resolution are sulfate, sea-salt, OC, EC, and dust.
Authors and collaborators
- Peter Adams (Carnegie-Mellon U.) -- Principal Investigator
- Win Trivitayanurak (Carnegie-Mellon U. -- now at U. Edinburgh)
- Dan Westervelt (Carnegie-Mellon U.)
- Jeffrey Pierce (Dalhousie U.)
Questions regarding TOMAS can be directed at Dan (e-mail linked above).
--Dan W. 11:53, 27 January 2010 (EST)
TOMAS User Groups
User Group | Personnel | Projects |
---|---|---|
Carnegie-Mellon University | Peter Adams Dan Westervelt |
New particle formation evaluation in GC-TOMAS Sensitivity of CCN to nucleation rates Development of number tagging and source apportionment model for GC-TOMAS |
Dalhousie University Colorado State |
Jeffrey Pierce Stephen D'Andrea Sal Farina (TOMAS Software Engineer) |
Sensitivity of CCN to condensational growth rates TOMAS parallelization Others... |
Add yours here |
TOMAS-specific setup
TOMAS has its own run directory (run.Tomas) that can be downloaded from the Harvard FTP. The input.geos file will look slightly different. To turn on TOMAS, see the "Microphysics menu" in input.geos and make sure TOMAS is set to T.
TOMAS is a simulation type 3 and utilizes 310 tracers. Each aerosol species requires 30 tracers for the 30 bin size resolution. Here is the (abbreviated) default setup in input.geos (see run.Tomas directory):
Tracer # Description 40 H2SO4 41-70 Number 71-100 Sulfate 101-130 Sea-salt 131-160 Hydrophilic EC 161-190 Hydrophobic EC 191-210 Hydrophilic OC 211-240 Hydrophobic OC 241-271 Mineral dust 271-310 Aerosol water
TOMAS-40 requires 400 tracers (~360 TOMAS tracers for each of the 40-bin species, and ~40 standard GEOS-Chem tracers)
--Dan W. 21:08, 28 January 2010 (EST)
Implementation notes
TOMAS validation in GEOS-Chem v8-03-01 was completed on 24 Feb 2010.
Update April 2013
Sal Farina has been working with the GEOS-Chem Support Team to inline the TOMAS aerosol microphysics code into the GeosCore directory. All TOMAS-specific sections of code are now segregated from the rest of GEOS-Chem with C-preprocessor statements such as:
#if defined( TOMAS ) ... Code for 30 bin TOMAS simulation (default) goes here ... #if defined( TOMAS40 ) ... Code for 40 bin TOMAS simulation (optional) goes here ... #endif #endif
TOMAS is now invoked by compiling GEOS-Chem with one of the following options:
make -j4 TOMAS=yes ... # Compiles GEOS-Chem for the 30 bin (default) TOMAS simulation # -j4 compiles 4 files at a time; this reduces overall compilation time
or
make -j4 TOMAS40=yes ... # Compiles GEOS-Chem for the 40 bin (optional) TOMAS simulation # -j4 compiles 4 files at a time; this reduces overall compilation time
All files in the old GeosTomas/ directory have now been deleted, as these have been rendered obsolete.
We hope to be able to add these updates into GEOS-Chem v9-02. These modifications will not affect the existing GEOS-Chem simulations, as all TOMAS code is not compiled into the executable unless you specify either TOMAS=yes or TOMAS40=yes at compile time.
We also update the wiki pages again in the near future to reflect these changes.
--Bob Y. 13:59, 23 April 2013 (EDT)
Code structure
NOTE: This will be rendered obsolete by the re-integration of TOMAS into GEOS-Chem, which is slated for GEOS-Chem v9-02.
The main-level Code directory has now been divided into several subdirectories:
GeosCore/ GEOS-Chem "core" routines GeosTomas/ Parallel copies of GEOS-Chem routines that reference TOMAS GeosUtil/ "Utility" modules (e.g. error_mod.f, file_mod.f, time_mod.f, etc. Headers/ Header files (define.h, CMN_SIZE, CMN_DIAG, etc.) KPP/ KPP solver directory structure bin/ Directory where executables are placed doc/ Directory where documentation is created help/ Directory for GEOS-Chem Help Screen lib/ Directory where library files are placed mod/ Directory where module files are placed obsolete/ Directory where obsolete versions of code are archived
Because there were a lot of TOMAS-related modifications in several GEOS-Chem "core" routines, the routines that need to "talk" to TOMAS were placed into a separate subdirectory named GeosTomas/. The files in GeosTomas are:
Files: ------ Makefile -- GEOS-Chem routines that have been aero_drydep.f modified to reference the TOMAS aerosol carbon_mod.f microphysics package. These are kept chemdr.f in a separate GeosTomas directory so that chemistry_mod.f they do not interfere with the routines cleanup.f in the GeosCore directory. diag3.f diag_mod.f The GeosTomas directory only needs to diag_pl_mod.f contain the files that have been modified drydep_mod.f for TOMAS. The Makefile will look for dust_mod.f all other files from the GeosCore directory emissions_mod.f using the VPATH option in GNU Make. gamap_mod.f initialize.f NOTE to GEOS-Chem developers: When you input_mod.f make changes to any of these routines isoropia_mod.f in the GeosCore directory, you must also logical_mod.f make the same modifications to the ndxx_setup.f corresponding routines in the GeosTomas planeflight_mod.f directory. seasalt_mod.f sulfate_mod.f Maybe in the near future we can work tomas_mod.f towards integrating TOMAS into the GeosCore tomas_tpcore_mod.f90 directory more cleanly. However, due to tpcore_mod.f the large number of modifications that were tpcore_window_mod.f necessary for TOMAS, it was quicker to tracerid_mod.f implement the TOMAS code in a separate wetscav_mod.f subdirectory. xtra_read_mod.f -- Bob Y. (1/25/10)
Each of these files were merged with the corresponding files in the GeosCore subdirectory. Therefore, in addition to having the GEOS-Chem modifications from v8-02-05, these files also have the relevant TOMAS references.
A few technical considerations dictated the placing of these files into a separate GeosTomas/ directory:
- The ND60 diagnostic in the standard GEOS-Chem code (in GeosCore/) is now used for the CH4 offline simulation, but in TOMAS it's used for something else.
- Some parameters needed to be declared differently with for simulations with TOMAS.
- Because not all GEOS-Chem users will choose to use TOMAS, we did not want to unnecessarily bog down the code in GeosCore/ with references to TOMAS-specific routines.
All of these concerns could be best solved by keeping parallel copies of the affected routines in the GeosTomas directory.
--Bob Y. 13:35, 25 February 2010 (EST)
Building GEOS-Chem with TOMAS
NOTE: This will be rendered obsolete by the re-integration of TOMAS into GEOS-Chem, which is slated for GEOS-Chem v9-02.
The VPATH feature of GNU Make is used to simplify the compilation. When GEOS-Chem is compiled with the tomas target, the GNU Make utility will search for files in the GeosTomas/ directory first. If it cannot find files there, it will then search the GeosCore/ directory. Thus, if we make a change to a "core" GEOS-Chem routine in the GeosCore/ subdirectory (say in dao_mod.f or diag49_mod.f), then those changes will automatically be applied when you build GEOS-Chem with TOMAS. Thus, we only need to keep in GeosTomas/ separate copies of those files that have to "talk" with TOMAS.
Several new targets were added to the Makefile in the top-level Code/ directory:
#============================================================================= # Targets for TOMAS aerosol microphysics code (win, bmy, 1/25/10) #============================================================================= .PHONY: tomas libtomas exetomas cleantomas tomas: @$(MAKE) -C $(GEOSTOM) TOMAS=yes all libtomas: @$(MAKE) -C $(GEOSTOM) TOMAS=yes lib exetomas: @$(MAKE) -C $(GEOSTOM) TOMAS=yes exe cleantomas: @$(MAKE) -C $(GEOSTOM) TOMAS=yes clean
You can build GEOS-Chem with the TOMAS option by typing:
make tomas ...
This will automatically do the proper things to build the TOMAS code into GEOS-Chem, such as:
- Adding a -DTOMAS C-preprocessor switch to the FFLAGS compiler flag settings in Makefile_header.mk. This will cause TOMAS-specific areas of code to be turned on.
- Turning off OpenMP parallelization. For now the GEOS-Chem + TOMAS code needs to be run on a single processor. We continue to work on parallelizing the code.
- Calling the Makefile in the GeosTomas/ subdirectory to build the executable. The executable file is now named geostomas in order to denote that the TOMAS code is built in.
The GEOS-Chem + TOMAS has been built on the following compilers
- Intel Fortran compiler v10
- SunStudio 12
--Bob Y. 10:36, 27 January 2010 (EST)
Computational Information
GC-TOMAS v8-03-01 on a single 2.6 GHz processor:
- 36 hours of real time per month of model simulation time
- 4.3 GB RAM per simulation (with full diagnostic output)
- 3.8 GB RAM per simulation (with minimal diagnostic output)
"Full diagnostic" refers to recording output for optical depths, J-values, wet and dry deposition, tracer concentrations, and microphysical processes (nucleation rates, condensation, coagulation).
"Minimal diagnostic" refers to recording output for all of the above except wet and dry deposition.
--Dan W. 20:40, 10 February 2010 (EST)
Microphysics Code
The aerosol microphysics code is largely contained within the file tomas_mod.f. Tomas_mod and its subroutines are modular -- they use all their own internal variables. For details, see tomas_mod.f and comments.
Nucleation
The choice of nucleation theory is selected in the header section of tomas_mod.f. The choices are currently binary homogeneous nucleation as in Vehkamaki, 2001 or ternary homogenous nucleation as in Napari et al., 2002. The ternary nucleation rate is typically scaled by a globally uniform tuning factor of 10^-4 or 10^-5. In TOMAS-40, ion-mediated nucleation (Yu, 2008) and activation nucleation (Kulmala, 2006) are options as well.
Condensation
Coagulation
Size resolved emissions
Size resolved deposition
More to be added here shortly.
--Dan W. 14:08, 9 May 2011 (EST)
Validation
GC-TOMAS v8-03-01 generally compares very well with observations and other models. Please see our GC-TOMAS v8-02-05 validation document for more information and figures.
Below are some results of benchmarking GC-TOMAS with earlier versions of the model as well as observations:
Figure 1: CN10 concentrations predicted by GC-TOMAS v8-02-05 against observations. Descriptions of observational data can be found on p 5454 of Pierce et al, Atmos. Chem. Phys., 7, 2007.
--Dan W. 20:13, 10 February 2010 (EST)
Previous issues now resolved
Segmentation Fault
You may get an early segfault if your stacksize is not set to either unlimited or a very large number. To avoid this, you either have to change the value of an environmental variable (setenv command in .cshrc) or use the ulimit command. See this page for details.
--Dan W. 20:20, 10 February 2010 (EST)
Outstanding issues
Vertical Grids
Currently, GC-TOMAS is only compatible with the reduced vertical grids:
Development for the full vertical grids is ongoing.
--Dan W. 20:43, 10 February 2010 (EST)
Compile from GeosTomas directory
NOTE: This will be rendered obsolete by the re-integration of TOMAS into GEOS-Chem, which is slated for GEOS-Chem v9-02.
Dan Westervelt wrote:
- I think there is something going wrong in my compilation, although errors have come up at both compile time and run time. The worst of the problems is this: I'll make a change to any fortran file in the code (even something meaningless like print*, 'foo') and hundreds of compile errors come out with fishy error messages such as (from ifort v10.1):
***fortcom: Error: chemistry_mod.f, line 478: A kind type parameter must be a compile-time constant. [DP] REAL(kind=dp) :: RCNTRL(20)
- Any advice? The errors I'm having are not unique to any version of GC, any type of met fields, any compiler, etc.
Bob Yantosca wrote:
- Make sure you are always in the GeosTomas subdirectory when you build the code. Sometimes there is a problem if you build the code from a higher level directory. This may have to do with the VPATH in the makefile.
Dan Westervelt wrote:
- Thanks, that seems to do the trick.
--Bob Y. 14:37, 14 April 2010 (EDT)
Other features of TOMAS
Other varieties of TOMAS are suited for specific science questions, for example with nucleation studies where explicit aerosol dynamics are needed for nanometer-sized particles.
Size resolution
TOMAS-30: All 7 chemical species have size resolution ranging from 10 nm to 10 microns, spanned by 30 logarithmically spaced bins. Currently in standard GEOS-Chem code
TOMAS-40: All chemical species have size resolution from 1 nm to 10 micron, again spanned by 40 logarithmically spaced bins. Incorporated into GEOS-Chem v8.03.01, available by request.
TOMAS-36: Size resolution from 3 nm to 10 micron, 36 logarithmically spaced bins. Incorporated into GEOS-Chem v8.03.01, available by request.
TOMAS-15: Size resolution from 10 nm to 10 micron. Coarser bin spacing than TOMAS-30. Improved computation time.
TOMAS-12: Same as TOMAS-15, but with lumped supermicron bins. Improved computation time, available by request.
TOMAS-18: Same as TOMAS-36, but with coarser size resolution. Improved computation time, available by request.
Nesting and grid size
TOMAS is implemented on a 2x2.5 North American domain. Developed by Jeffrey Pierce (jeffrey.pierce@dal.ca)
AOD, CCN post-processing code
Codes available for calculating aerosol optical depth using TOMAS predicted aerosol composition and size and Mie Theory. Also CCN concentrations calculated from TOMAS size-resolved composition and Kohler theory. Developed by Yunha Lee and Jeffrey Pierce, adapted for GEOS-Chem output by Jeffrey Pierce.
--Dan W. 2:00, 9 May 2011 (EST)
Reference
TOMAS implementation in GEOS-Chem: Trivitayanurak, W., Adams, P. J., Spracklen, D. V. and Carslaw, K. S.: Tropospheric aerosol microphysics simulation with assimilated meteorology: model description and intermodel comparison, Atmospheric Chemistry and Physics, 8(12), 3149-3168, 2008.
TOMAS initial paper, sulfate only: Adams, P. J. and Seinfeld, J. H.: Predicting global aerosol size distributions in general circulation models, J Geophys Res-Atmos, 107(D19), -, doi:Artn 4370 Doi 10.1029/2001jd001010, 2002.
TOMAS with sea-salt: Pierce, J.R., and Adams P.J., Global evaluation of CCN formation by direct emission of sea salt and growth of ultrafine sea salt, Journal of Geophysical Research-Atmospheres, 111 (D6), doi:10.1029/2005JD006186, 2006.
TOMAS with carbonaceous aerosol: Pierce, J. R., Chen, K. and Adams, P. J.: Contribution of primary carbonaceous aerosol to cloud condensation nuclei: processes and uncertainties evaluated with a global aerosol microphysics model, Atmos. Chem. Phys., 7(20), 5447-5466, doi:10.5194/acp-7-5447-2007, 2007.
TOMAS with dust: Lee, Y.H., K. Chen, and P.J. Adams, 2009: Development of a global model of mineral dust aerosol microphysics. Atmos. Chem. Phys., 8, 2441-2558, doi:10.5194/acp-9-2441-2009.