TOMAS aerosol microphysics

From Geos-chem
Revision as of 20:16, 22 September 2022 by Bmy (Talk | contribs) (Updates for GEOS-Chem v9-02 public release)

Jump to: navigation, search

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.


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. An advantage of TOMAS is the full size resolution for all chemical species and the conservation of aerosol number, the latter of which allows one to construct aerosol and CCN number budgets that will balance.

Authors and collaborators

--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
Colorado State Jeffrey Pierce
Sal Farina
Jack Kodros
Sensitivity of CCN to condensational growth rates
TOMAS parallelization
Aerosol radiative effects
Add yours here

--Bob Y. 16:35, 12 May 2014 (EDT)

TOMAS-specific setup

TOMAS has its own run directories (run.Tomas) that can be downloaded from the Harvard FTP. The input.geos file will look slightly different from standard GEOS-Chem, and between versions.

Pre- v9.02: To turn on TOMAS, see the "Microphysics menu" in input.geos and make sure TOMAS is set to T.

v9.02 and later: TOMAS is enabled or disabled at compile time - the TOMAS flag in input.geos has been removed.

TOMAS is a simulation type 3 and utilizes 171-423 tracers. Each aerosol species requires 30 tracers for the 30 bin size resolution, 12 for the 12 bin, etc. Here is the (abbreviated) default setup in input.geos for TOMAS-30 in v9.02 and later (see run.Tomas directory):

Tracer #   Description   
  1- 62    Std Geos Chem 
     63    H2SO4              
 64- 93    Number             
 94-123    Sulfate            
124-153    Sea-salt           
154-183    Hydrophilic EC     
184-213    Hydrophobic EC     
214-243    Hydrophilic OC     
244-273    Hydrophobic OC     
274-303    Mineral dust       
304-333    Aerosol water

TOMAS-40 requires 423 tracers (~360 TOMAS tracers for each of the 40-bin species, and ~62 standard GEOS-Chem tracers)

--Salvatore Farina 18:48, 8 July 2013 (EDT)

Implementation notes

  1. The original implementation and validation of TOMAS had been done for version GEOS-Chem v8-03-01, which was released on 24 Feb 2010.
  2. TOMAS was completely re-integrated into GEOS-Chem v9-02, which was released on 03 Mar 2014.
  3. TOMAS was re-integrated into GEOS-Chem v10-01 to become compatible with HEMCO.
  4. Updates to TOMAS to use the SOAP/SOAS tracers were made for GEOS-Chem v11-02 (not yet released).

Update April 2013

This update was tested in the 1-month benchmark simulation v9-02k and approved on 07 Jun 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 )

# if defined( TOMAS40 ) 
  ... Code for 40 bin TOMAS simulation (optional) goes here ...
# elif defined( TOMAS12 )
  ... Code for 12 bin TOMAS simulation (optional) goes here ...
# elif defined( TOMAS15 )
  ... Code for 15 bin TOMAS simulation (optional) goes here ...
# else
  ... Code for 30 bin TOMAS simulation (default) goes here ...
# endif


TOMAS is now invoked by compiling GEOS-Chem with one of the following options:

Command Result
make -j4 TOMAS=yes ... Compiles GEOS-Chem for the 30 bin (default) TOMAS simulation
make -j4 TOMAS12=yes ... Compiles GEOS-Chem for the 12 bin (optional) TOMAS simulation
make -j4 TOMAS15=yes ... Compiles GEOS-Chem for the 15 bin (optional) TOMAS simulation
make -j4 TOMAS40=yes ... Compiles GEOS-Chem for the 40 bin (optional) TOMAS simulation

The -j4 in the above examples tell the GNU Make utility to compile 4 files at a time. This reduces the overall compilation time.

All files in the old GeosTomas/ directory have now been deleted, as these have been rendered obsolete.

These updates are included in 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 compile with one of the TOMAS options (described in the above table) at compile time.

--Salvatore Farina 13:49, 4 June 2013 (EDT)
--Bob Y. 16:39, 12 May 2014 (EDT)

Computational Information

GC-TOMAS v9-02 (30 sections) on 8 processors:

  • One year simulation = 7-8 days wall clock time

More speedups are available using lower aerosol size resolution

--Dan W. 11:00, 07 May 2013 (EST)

GC-TOMAS v9-02 on 16 processors (glooscap)

Simulation Wall time / simulation year
TOMAS12 (optional) 2.8 days
TOMAS15 (optional) 3.3 days
TOMAS30 (default) 6.1 days
TOMAS40 (optional) 7.8 days

--Salvatore Farina 15:51, 3 March 2014 (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.


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. Binary nucleation (Vehkamaki et al. 2002), ion-mediated nucleation (Yu, 2008) and activation nucleation (Kulmala, 2006) are options as well.

In TOMAS-12 and TOMAS-30, nucleated particles follow the Kerminen approximation to grow to the smallest size bin. This has a tendency to overpredict the number of particles in the smallest bins of those models. See Y. H. Lee, J. R. Pierce, and P. J. Adams 2013 here for more details on the consequences of this.



--Dan W. 14:08, 9 May 2011 (EST)


The following figure documents the performance of GEOS-Chem-TOMAS for predicting aerosol number (N10 = number of particles larger than 10 nm etc.) against measurements at 20 global sites. Details of observations are in

  • D'Andrea, S. D., Hakkinen, S. A. K., Westervelt, D. M., Kuang, C., Levin, E. J. T., Kanawade, V. P., Leaitch, W. R., Spracklen, D. V., Riipinen, I., and Pierce, J. R.: Understanding global secondary organic aerosol amount and size-resolved condensational behavior, Atmos. Chem. Phys., 13, 11519-11534, doi:10.5194/acp-13-11519-11534, 2013.

GEOS-Chem-TOMAS performance update 20140304.png

An updated version of this figure is included as Figure 1 in Kodros and Pierce, (2017). Please note that the figure in this paper uses GEOS-Chem v10-01, which included substantial updates to emission inventories (as part of the HEMCO update). Thus, the differences in the comparisons between GEOS-Chem v8-02, v9-03, and v10-01 shown here are not necessarily due to the TOMAS code alone.

  • Kodros, J. K. and Pierce, J. R.: Important global and regional differences in aerosol cloud-albedo effect estimates between simulations with and without prognostic aerosol microphysics, J. Geophys. Res. Atmos., doi:10.1002/2016JD025886, 2017

--Jeff Pierce 13:21, 4 March 2014 (MST)
--Jack Kodros 11:30, 11 June 2018 (MST)

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.

Set-up Guide

This TOMAS setup guide was written for users on ACE-NET's Glooscap cluster, but may be more generally applicable.

--Salvatore Farina 11:55, 26 July 2013 (EDT)

Size Resolution

The different TOMAS simulations (12, 15, 30, 40 size bins) have the following characteristics:

Simulation Size resolution
TOMAS12 All 7 chemical species have size resolution ranging from 10 nm to 1 µm spanned by 10 logarithmically spaced (mass quadrupling) bins and two supermicron bins. Coarser resolution than TOMAS30 - Improved computation time.
TOMAS15 Same as TOMAS12 with 3 additional (mass quadrupling) sub-10nm bins with a lower limit ~2nm. Analogous to TOMAS40 with improved computation time.
TOMAS30 All 7 chemical species have size resolution ranging from 10 nm to 10 µm, spanned by 30 logarithmically spaced (mass doubling) bins.
TOMAS40 Same as TOMAS30 with 10 additional (mass doubling) sub-10nm bins with a lower limit ~1nm.

--Salvatore Farina 12:51, 4 June 2013 (EDT)

Nesting and grid size

As of v10.01, TOMAS has been implemented and tested on the 4x5, 2x2.5, 0.5x0.667 (North America and Asia), and 0.25x0.3125 (Asian) domains. To the best of our knowledge, these grids should continue working in upcoming releases of GEOS-Chem (including the grid-independent GEOS-Chem).

Sample code

To assist new users, sample processing code (in Python) is available for GEOS-Chem-TOMAS output. Specifically, this code reads in GEOS-Chem-TOMAS output and demonstrates some common calculations (such as calculating size distributions, bin diameters, CCN, etc.). The primary focus of this code is to provide a few examples rather than a complete, efficient package. Further, this code was written based on GEOS-Chem-TOMAS v10.01, which outputs monthly tracers in bpch format. We also provide sample IDL scripts to convert bpch files to netCDF using GAMAP routines. Future versions of GEOS-Chem will output netCDF directly, and so these IDL routines will become obsolete.

Git repository for sample TOMAS code:

--Jack Kodros 1:12, 11 June 2018 (MST)

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)

Biomass burning subgrid coagulation switch

This update was included in GEOS-Chem 12.2.1, which was released on 28 Feb 2019.

Emily Ramnarine created code that allows the "emitted" size distribution in the model be a function of a number of properties that include the mean emissions rate per fire in the grid box. In order to do this, Emily needed to (1) make changes to carbon_mod.F, (2) add a line or few to HEMCO_config.rc, and (3) modify the FINN input files to include the number of fires. This only affects TOMAS simulations. Emily wrote:

This parameterization, based on Sakamoto et al (2016), estimates the amount of near-source, sub-grid scale coagulation happening in a biomass burning plume. Can be turned on or off. When on, the default assumption is that each smoke plume is completely seperate from the others (i.e. there is no overlap of the plumes). There is also an option for all smoke plumes in a grid box to overlap completely. When being used, this parameterization changes the median diameter and modal width of biomass burning emissions to account for coagulation.

Reference Ramnarine, E., Kodros, J. K., Hodshire, A. L., Lonsdale, C. R., Alvarado, M. J., and Pierce, J. R., Effects of Near-Source Coagulation of Biomass Burning Aerosols on Global Predictions of Aerosol Size Distributions and Implications for Aerosol Radiative Effects, Atmos. Chem. Phys. Discuss.,, in review, 2018.

--Melissa Sulprizio (talk) 15:07, 22 February 2019 (UTC)
--Bob Yantosca (talk) 18:54, 28 February 2019 (UTC)


In this section we provide references relevant to TOMAS aerosl microphysics simulations.

Studies using TOMAS simulations

  1. Nucleation in GEOS-Chem: Westervelt, D. M., Pierce, J. R., Riipinen, I., Trivitayanurak, W., Hamed, A., Kulmala, M., Laaksonen, A., Decesari, S., and Adams, P. J.: Formation and growth of nucleated particles into cloud condensation nuclei: model-measurement comparison, Atmos. Chem. Phys. Discuss., 13, 8333-8386, doi:10.5194/acpd-13-8333-2013, 2013. LINK
  2. 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, Atmos. Chem. Phys., 8(12), 3149-3168, 2008.
  3. TOMAS initial paper, sulfate only: Adams, P. J. and Seinfeld, J. H.: redicting global aerosol size distributions in general circulation models, J. Geophys. Res.-Atmos., 107(D19), -, doi:Artn 4370 Doi 10.1029/2001jd001010, 2002.
  4. 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, J. Geophys. Res.-Atmos., 111 (D6), doi:10.1029/2005JD006186, 2006.
  5. 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.; Trivitayanurak, W. and Adams, P. J.: Does the POA–SOA split matter for global CCN formation?, Atmos. Chem. Phys., 14, 995–1010, doi:10.5194/acp-14-995-2014, 2014.
  6. 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.
  7. TOMAS with SOA: D'Andrea, S. D., Hakkinen, S. A. K., Westervelt, D. M., Kuang, C., Levin, E. J. T., Kanawade, V. P., Leaitch, W. R., Spracklen, D. V., Riipinen, I., and Pierce, J. R.: Understanding global secondary organic aerosol amount and size-resolved condensational behavior, Atmos. Chem. Phys., 13, 11519-11534, doi:10.5194/acp-13-11519-11534, 2013.
  8. TOMAS with offline DRE/AIE: Kodros, J. K., Cucinotta, R., Ridley, D. A., Wiedinmyer, C. and Pierce, J. R.: The aerosol radiative effects of uncontrolled combustion of domestic waste, Atmos. Chem. Phys., 16(11), 6771-6784, doi:10.5194/acp-16- 6771-2016, 2016
  9. TOMAS compared to GEOS-Chem standard: Kodros, J. K. and Pierce, J. R.: Important global and regional differences in aerosol cloud-albedo effect estimates between simulations with and without prognostic aerosol microphysics, J. Geophys. Res. Atmos., doi:10.1002/2016JD025886, 2017.

--Bob Y. 09:53, 2 June 2014 (EDT), Win T. 17:18, 28 June 2021 (EDT)

Input data used by TOMAS

  1. Usoskin, I. G. and Kovaltsov, G. A., Cosmic ray induced ionization in the atmosphere: Full modeling and practical applications, J. Geophys. Res., 111, doi:10.1029/2006JD007150, 2006..
  2. Yu, Fangqun, et al, Ion-mediated nucleation in the atmosphere: Key controlling parameters, implications, and look-up table, J. Geophys. Res., 115, D03206, doi:10.1029/2009JD012630, 2010.

--Bob Y. 17:03, 24 February 2014 (EST)

Previous issues now resolved

Restore DST1, DST2, DST3, and DST4 in TOMAS simulations

This update (Git ID: 5ed3e9cf) was included in GEOS-Chem 12.2.1, which was released on 28 Feb 2019.

Betty Croft reported, "DST1, DST2, DST3 and DST4 appear to be missing from input.goes.template in the v12 UT directories UT/runs/4x5_TOMAS15 and UT/runs/4x5_TOMAS40." To fix this, add the following lines in green to the Advected Species Menu in input.geos:

Species name            : BCPO
Species name            : OCPO
Species name            : DST1
Species name            : DST2
Species name            : DST3
Species name            : DST4
Species name            : SALA
Species name            : SALC

--Melissa Sulprizio (talk) 15:10, 22 February 2019 (UTC)
--Bob Yantosca (talk) 18:54, 28 February 2019 (UTC)

Fixes for missing biomass emissions and incorrect aerosol dry deposition

These updates (Git ID: 6a944b92) were included in GEOS-Chem 12.0.2, which was released on 10 Oct 2018.

Pengfei Liu wrote:

We have submitted a patch to the GEOS-Chem Support Team that fixes the following bugs:

  1. Missing biomass burning BC/OC emissions in TOMAS. Size resolved BC/OC emissions were correctly implemented for anthropogenic and biofuel emissions, but were missing for biomass burning. This bug was introduced during the update from GEOS-Chem 11-01 to 12.0.0.
  2. Unit conversion error in TOMAS aerosol dry deposition (ND44). The equation used to convert the unit of TOMAS aerosol dry deposition from kg/s to molec/cm2/s was wrong. This error resulted in dry deposition fluxes of TOMAS aerosol species ~10^27 too small. This error was carried from earlier versions. It only affected ND44 and other diagnostics should not be influenced.

--Bob Yantosca (talk) 14:58, 10 October 2018 (UTC)

Fixes for TOMAS simulation in v11-02c

These fixes were included in v11-02c and approved on 21 Sep 2017.

Sal Farina provided several updates to get the TOMAS simulation to work in v11-02c, including:

  1. A patch for TOMAS to run in v11.02c (applies to 7c92951206e62). Prior to this fix, the TOMAS simulation was crashing because of 3D emissions added in v11-02a.
  2. A TOMAS data file that has contained a typo for a long time. Sal added a leading space to each line for the formatted read to work correctly on negative numbers.The corrected file can now be found in GEOS_NATIVE/TOMAS_201402/YuIMN_AMOLF3D.txt (the original file is named with pre_v11-02a for record keeping).
  3. A tweak to the UT for TOMAS to have longer timesteps than the other simulations (30/60, instead of 10/20) by default.

--Melissa Sulprizio (talk) 20:21, 26 June 2017 (UTC)

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)

Prevent sea salt from being emitted over ice in TOMAS

This update was validated in the 1-month benchmark simulation v10-01c and approved on 29 May 2014.

Jeff Pierce wrote:

The FOCEAN (fraction of box that is ocean parameter) in TOMAS seasalt emissions didn't consider ice. I've modified it to do things more like the bulk emissions. In GeosCore/seasalt_mod.F, at line 1954, there is a line...
   FOCEAN   = 1d0 - State_Met%FRCLND(I,J)
I've updated this to be...
   IF ( IS_WATER( I, J, State_Met ) ) THEN
      FOCEAN   = 1d0 - State_Met%FRCLND(I,J)
      FOCEAN = 0.d0
I couldn't figure out a way for FOCEAN to take into account the fraction that is land and fraction that is ice, so I will just use the IS_WATER to filter out boxes that are mostly ice. The box scheme is actually simpler and emits into the full box (or not) depending on the logical variable returned by function IS_WATER.

--Bob Y. 17:04, 30 May 2014 (EDT)

Updates to TOMAS Jeagle sea salt extension

This update was included in the 1-month benchmark simulation v11-01j and approved on 03 Dec 2016

Jack Kodros wrote:

I recently made some updates to the TOMAS Jeagle sea salt HEMCO/Extensions file that allows for 12,30, and 40-bin TOMAS simulations (the previous version would run, just with unrealistic bin widths). If possible I would like the attached file the replace the former in the public release of version 11 (or any future development releases).

--Melissa Sulprizio (talk) 13:07, 18 July 2016 (UTC)

Add temporary fix to get TOMAS dry deposition to pass unit tests

This fix was included in the v11-01 provisional release.

We have reversed the order of the second parallel DO loop in TOMAS routine GeosCore/aero_drydep.F. This prevents a numerical roundoff error in the ND44 dry deposition diagnostic that was causing TOMAS unit tests to fail.

We added the code in GREEN at approx. line 410:

      ! Loop over chemically-active grid boxes
! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
! %%%                                                                      %%%
! %%% Sal Farina wrote: Change the loop order from LJI to IJL or JIL.      %%%
! %%% This will make the MP code add up the diagnostic in the same order   %%%
! %%% as SP mode (only the outermost loop gets parallelized). Yes looping  %%%
! %%% over LJI should be faster than IJL, but (and correct me if i'm       %%%
! %%% wrong) if we are looping over species inside that loop, all benefits %%%
! %%% are totally lost anyway. The way Spc / STT is defined, tracerid      %%%
! %%% should always be the outermost loop...                               %%%
! %$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
!$OMP+PRIVATE( L, J, I, AREA_CM2, RKT, flux, JC, BIN )
!$OMP+PRIVATE( ID, X0, X, Y0, Y )
      DO I = 1, IIPAR
      DO J = 1, JJPAR
      DO L = 1, LLCHEM 

This prevents roundoff error due to a loss of numerical significance (as pointed out by TOMAS team member Sal Farina).

This is a temporary fix. The GCST will work with the TOMAS team to search for a more permanent solution.

--Bob Yantosca (talk) 18:05, 7 December 2016 (UTC)

Unresolved issues

The following issues are still being worked on:

Offline Dust

NOTE: The fix described above will alleviate this bottleneck.

Currently, GEOS-Chem with TOMAS uses proscribed offline dust aerosol data in radiative transfer / photolysis calculations. Due to complications, this is turned off entirely for 2x2.5 resolution.