ISORROPIA II: Difference between revisions
Line 133: | Line 133: | ||
--[[User:Bmy|Bob Y.]] 10:23, 8 April 2011 (EDT) | --[[User:Bmy|Bob Y.]] 10:23, 8 April 2011 (EDT) | ||
--[[User:Bmy|Bob Y.]] 14:36, 6 July 2011 (EDT) | --[[User:Bmy|Bob Y.]] 14:36, 6 July 2011 (EDT) |
Revision as of 15:38, 18 August 2011
Overview
Brief description
The ISORROPIA II package performs aerosol thermodynamical equilibrium. It partitions nitrate (HNO3 and NIT) and ammonia (NH3 and NH4) between the gas and aerosol phases. Inputs to the partitioning routine include temperature and RH. ISORROPIA II has significant benefits over previous implementations of ISORROPIA, especially for partitioning of nitrate at low RH.
From Pye et al [2009]:
ISORROPIA II [Fountoukis and Nenes, 2007] is implemented in GEOS-Chem to compute gas-aerosol equilibrium partitioning of nitric acid and ammonia. Particles in this study are not size-resolved; however, they can be generally assumed to represent PM2.5 since formation of sulfate-nitrate-ammonium on coarse mode sea salt and dust is excluded. Submicrometer-sized particles are likely to reach gas-aerosol equilibrium on time-scales less than the 1 hour computational time step used here [Meng and Seinfeld, 1996].
Sodium and chloride from accumulation mode sea salt are considered in the gas-aerosol equilibrium along with sulfate, nitrate, and ammonium. Calcium, magnesium, and potassium concentrations are not considered in the present study because of the issues with dust emissions previously mentioned. All inorganic aerosols are assumed to exist on the upper, metastable branch of the hygroscopic hysterisis curve. Although this assumption may not hold at higher altitudes in the free troposphere [Wang et al., 2008], since the focus of this study is mainly on surface-level concentrations, where humidities reach high values on a daily basis, the metastable assumption is acceptable.
Authors and collaborators
- Thanos Nenes (Georgia Tech) -- Principal Investigator
- Havala O. T. Pye (Caltech)
--Bob Y. 12:48, 2 March 2010 (EST)
Implementation notes
ISORROPIA II has been implemented into GEOS-Chem v8-03-01.
Code structure
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.) ISOROPIA/ Directory where ISORROPIA II code resides 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
ISORROPIA II consists of the following files:
Files in ISOROPIA/ subdirectory: --------------------------------- Makefile Makefile for ISORROPIA II code isoropiaIIcode.f Source code file with ISORROPIA II routines isrpia.inc ISOROPIA II header file with common blocks Files in GeosCore/ subdirectory: -------------------------------- isoropiaII_mod.f "Interface" code between GEOS-Chem and ISORROPIA II
Additional Documentation
Havala O. T. Pye wrote:
- Documentation (including a user manual) for ISORROPIAII can be found on the ISORROPIA website.
- isoropiaIIcode.f is essentially ISOFWD.FOR and ISOCOM.FOR of the ISORROPIA II box model pasted together.
- For more information on ISORROPIA II, see
- Fountoukis, C. and Nenes, A.: ISORROPIA II: a computationally efficient thermodynamic equilibrium model for K+–Ca2+–Mg2+–NH4+–Na+–SO42−–NO3−–Cl−–H2O aerosols, Atmos. Chem. Phys., 7, 4639-4659, 2007. pdf
- The implementation by Pye et al. 2009 JGR did not include Ca, K, or Mg since dust emissions were not used.
--Bob Y. 12:28, 17 March 2010 (EDT)
Validation
See Pye et al [2009]
References
- Fountoukis, C., and A. Nenes (2007), ISORROPIA II: A computationally efficient thermodynamic equilibrium model for K+-Ca2+-Mg2+-NH4+-Na+-SO42-NO3--Cl-H2O aerosols, Atmos. Chem. Phys., 7(17), 4639-4659.
- Meng, Z. Y., and J. H. Seinfeld, Time scales to achieve atmospheric gas-aerosol equilibrium for volatile species, Atmos. Environ., 30(16), 28892900, doi:10.1016/1352-2310(95)00493-9., 1996.
- Pye, H. O. T., H. Liao, S. Wu, L. J. Mickley, D. J.Jacob, D. K. Henze, and J. H. Seinfeld, Effect of changes in climate and emissions on future sulfate-nitrate-ammonium aerosol levels in the United States, J. Geophys. Res., 114, D01205, 2009. PDF
- Wang, J., A. A. Hoffman, R. J. Park, D. Jacob, and S. T. Martin, Global distribution of solid and aqueous sulfate aerosols: Effect of the hysteresis of particle phase transitions, J. Geophys. Res., 113, D11206, doi:10.1029/2007JD009367, 2008. PDF
--Bob Y. 16:00, 22 February 2010 (EST)
Previous issues now resolved
Patches for v8-03-01
The following issues in ISORROPIA II have now been fixed as of August 2010:
- Bug fix in ISORROPIA for offline aerosol
- Patch to fix declaration of IONIC in ISORROPIA II
- Bug fix for ND42 diagnostic and ISORROPIA II
--Bob Y. 14:44, 3 August 2010 (EDT)
Minor fixes in isorropiaIIcode.f
Havala Pye wrote
- There are 2 minor bug fixes for ISORROPIA II. There are two locations in file ISOROPIA/isorropiaIIcode.f where the variable MOLALR(4) should be MOLALR(9). These fixes affect how aerosol phase water is calculated. Since GEOS-Chem typically considers sodium and chloride, these subcases are likely not being used, but the code should be updated in case these subcases are used in the future.
This fix will be implemented in GEOS-Chem v9-01-02.
--Bob Y. 11:10, 1 March 2011 (EST)
Outstanding issues
Aerosol pH
This issue is somewhat resolved.
Havala O. T. Pye wrote:
- At the GEOS-Chem User's meeting (2009) Becky Alexander and her student Eric noted that ISORROPIA II sometimes returns a negative H+ concentration. In my tests, the negative values occurred in N. India and Western Russia area during limited times of the year. A quick fix has been implemented. A condition I tracked down was returning a negative [H+] when solving the HSO4 = H + SO4 equilibrium (CALCHS4 in isorropiaIIcode.f) when the actual answer should have been ~1e-27 mol/m3. (I plugged the same input values into a spreadsheet and it returned the same negative answer so it seems like a numerical precision issue.) For my case study, it came down to subtracting two numbers of very similar value (first 8 digits the same) which resulted in a negative. I put in a fix to reset H+ to 1d-30 in CALCHS4 if it goes negative.
--Bob Y. 10:29, 29 January 2010 (EST)
Parallelization issue for nested grid simulations
For those of you who are running one of the GEOS-Chem nested grid simulations, you may encounter a segmentation fault error. This error is caused by GEOS-Chem running up against the memory limits of the machine. One way to solve this problem is to compile ISORROPIA II for single processor only:
Sungshik Patrick Kim wrote:
- I tracked down the memory bottlenecks in my [China nested-grid simulation]....The crashes then were caused by memory allocation in ISORROPIA (with all of the private variables that had to be copied), so after turning off the parallelization for the ISORROPIA driver routine, I can actually spin up the model!
To compile ISORROPIA II for single processor, while compiling everything else for multi-processor, you can add an extra comment character ! to the !$OMP commands in GeosCore/isoropiaII_mod.f, such as:
!!$OMP PARALLEL DO !!$OMP+DEFAULT( SHARED ) !!$OMP+PRIVATE( I, J, L, N, WI, WT, GAS, TEMPI ) !!$OMP+PRIVATE( RHI, VOL, TSO4, TNH3, TNA, TCL, ANO3, GNO3 ) !!$OMP+PRIVATE( TCA, TMG, TK, CNTRL, SCASI ) !!$OMP+PRIVATE( TNO3, AERLIQ, AERSLD, OTHER, TNH4, TNIT ) !!$OMP+PRIVATE( HPLUSTEMP, NUM_SAV, DEN_SAV, HNO3_DEN ) !!$OMP+SCHEDULE( DYNAMIC ) ... !!$OMP END PARALLEL DO
--Bob Y. 10:23, 8 April 2011 (EDT)
--Bob Y. 14:36, 6 July 2011 (EDT)