Chemistry Working Group
Oxidants and Chemistry Working Group
All users interested in the GEOS-Chem chemistry scheme and associated processes (photolysis, heterogeneous, deposition) are encouraged to subscribe to the chemistry email list (click on the link in the contact information section below).
Contact information
Oxidants and Chemistry Working Group Chair | Mat Evans |
Oxidants and Chemistry Working Group email list | geos-chem-oxidants@seas.harvard.edu |
To subscribe to email list | Send email to geos-chem-oxidants-join@seas.harvard.edu |
To unsubscribe from email list | Send email to geos-chem-oxidants-leave@seas.harvard.edu |
Current GEOS-Chem Chemistry Projects (please add yours!)
User Group | Description | Contact Person | Date Added |
---|---|---|---|
Caltech/Harvard | Examining the effects of isoprene nitrates and epoxide on tropical ozone and OH using SHADOZ and OMI measurements | Fabien Paulot Jingqiu Mao |
April 28, 2009 |
Caltech/Harvard | Examining the HCHO yield, OH recycling and ozone production with INTEX-A observations from new isoprene chemistry | Jingqiu Mao Fabien Paulot |
April 28, 2009 |
NIA / LaRC | Tropospheric ozone over East Asia: Ozonesonde observations and modeling analysis | Yiqiang Zhang Hongyu Liu |
June 29, 2010 |
U. Wollongong | Tropospheric ozone precursors over Australasia: Using GEOS-Chem to interpret FTIR measurements of CO, NO2 and HCHO | Rebecca Buchholz | May 19, 2011 |
Current GEOS-Chem Chemistry Issues (please add yours!)
Isoprene chemistry
I've created a page with some of the recent literature on isoprene chemistry. Please add more papers as they come along! ( MJE Leeds)
Centralizing chemistry time step
Current set up:
2x2.5: timestep 1 : transport (15min) + Chemistry (60min) timestep 2: transport (15 min) timestep 3 : transport (15min) timestep 4: transport (15 min)--------------------------->output timestep 5 : transport (15min) + Chemistry (60min) timestep 6: transport (15 min) timestep 7 : transport (15min) timestep 8: transport (15 min)--------------------------->output
Fix: (provided by Lin Zhang) In time_mod.f, change this line
FLAG = ( MOD( ELAPSED_MIN, TS_CHEM ) == 0 )
to
! changes for proper chemistry time (lzh, ccc, 03/20/2010) INTEGER :: M !================================================================= ! ITS_TIME_FOR_CHEM begins here! !================================================================= ! Get multiplier between transport and chemistry: M = TS_CHEM/TS_DYN ! Divide by 2 (get middle). KEEP INTEGERS!!!! M = MAX( M/2, 1 ) ! Is it time for chemistry? !FLAG = ( MOD( ELAPSED_MIN, TS_CHEM ) == 0 ) FLAG = ( MOD( ELAPSED_MIN, TS_CHEM ) == (M-1)*TS_DYN ) ! Might be M+1 or M didn't think it through completely. And we may want ! to calculate M only once, so put it as a module variable ! (and change the name)
In this way, chemistry time step is put in the center of transport time steps.
Problem when calling planeflight diagnostics
This code caused the model to crash when you call planeflight diagnostics.
Because originally in main.f, TS_DYN=15min TS_CHEM=60min TS_DIAG=60min TCTTT(T is transport, C is chemistry) ITS_TIME_FOR_DYN()-->FLAG = ( MOD( ELAPSED_MIN, TS_DYN ) == 0 )--> Do dynamics ITS_TIME_FOR_CHEM()-->FLAG = ( MOD( ELAPSED_MIN, TS_CHEM ) == 0 )--> Do chemistry (call setup_planeflight based on ITS_A_NEW_DAY in chemdr.f) CALL TIMESTAMP_DIAG CALL SET_ELAPSED_MIN-->ELAPSED_MIN = ELAPSED_MIN + TS_DYN--> after this is done, it is not a new day any more. CALL SET_CURRENT_TIME ITS_TIME_FOR_DIAG() -->FLAG = ( MOD( ELAPSED_MIN, TS_DIAG ) == 0 )-->including call Planeflight.
Since we move chemistry time step to the middle of transport, TTCTT, chemdr.f won't call setup_planeflight anymore. So the model will crash when it calls planeflight during diag output (no initialization).
Fix provided by Bob Y.
replace these lines in chemdr.f
IF ( ND40 > 0 .and. ITS_A_NEW_DAY() ) THEN CALL SETUP_PLANEFLIGHT ENDIF
with:
INTEGER :: DATE INTEGER, SAVE :: DATE_PREV = -1 ................ !================================================================= ! At the beginning of each new day, call SETUP_PLANEFLIGHT ! to see if there are any plane flight points to be processed !================================================================= ! Get todays' date DATE = GET_NYMD() ! If this is the first chem timestep of a new day, then we need to ! call SETUP_PLANEFLIGHT. If chemistry is turned on, then we need ! to place this call here, so as to make sure that the chemical ! mechanism files (read by READER and READCHEM) have been loaded. IF ( ND40 .and. DATE /= DATE_PREV ) THEN print*, '### Called SETUP_PLANEFLIGHT' CALL SETUP_PLANEFLIGHT DATE_PREV = DATE ENDIF
The idea is that you want to call SETUP_PLANEFLIGHT on the first chemical timestep of a new day. However, this is no longer just when NHMS == 000000. A better way to test that just to see when the date is not the same as the previous date.
--Jmao 14:17, 14 June 2011 (EDT)
Potential issue with reading restart.cspec file
The index of species in CSPEC is changed by turning on P/L diagnostics (ND65).
Without P/L diagnostics, CSPEC is indexed as (*, active species + inactive species). With P/L diagnostics, CSPEC is indexed as (*, active species + P/L diagnostics + inactive species).
So if you read in a restart.cspec and switch on P/L diagnostics, model will set lots of inactive species to zero, such as CH4, N2 etc. Ozone and H2O are not affected as they are reinitialized in the code. But this is a big problem if you have zero CH4 in the code.
Solution: not available yet. You might want to either use restart file or turn ND65 off for now.
yield of isoprene nitrates
Fabien Paulot found a problem in current chemistry scheme. In GEOS-Chem v8-02-01 and beyond, isoprene nitrates are produced twice: one through channel A and one through 10% loss in channel B. This makes the loss of NOx larger than it should be (18.7% vs. 10%) and also reduces the yield of MVK/MACR/CH2O by about 13%.
A 453 2.70E-12 0.0E+00 350 1 B 0.00 0. 0. 5.00E+00 0.0E+00 0 0 0.00 0. 0. RIO2 + NO =0.900NO2 +0.900HO2 +0.340IALD +0.340MVK +0.220MACR +0.560CH2O + + A 453 2.70E-12 0.0E+00 350 1 A 0.00 0. 0. 5.00E+00 0.0E+00 0 0 0.00 0. 0. RIO2 + NO =1.000HNO3 + + +
So it should be corrected as (no channel A):
A 453 2.70E-12 0.0E+00 350 0 0 0.00 0. 0. RIO2 + NO =0.900NO2 +0.900HO2 +0.340IALD +0.340MVK +0.220MACR +0.560CH2O + + D 453 2.70E-12 0.0E+00 350 1 A 0.00 0. 0. 5.00E+00 0.0E+00 0 0 0.00 0. 0. RIO2 + NO =1.000HNO3 + + +
--J Mao. 18:04, 30 Aug 2010 (EDT)
rate of HNO4
Ellie Browne found a typo in the globchem.dat (v8-02-01 and beyond)
A 73 9.52E-05 3.2E+00 -10900 1 P 0.60 0. 0. 1.38E+15 1.4E+00 -10900 0 0.00 0. 0. HNO4 + M =1.000HO2 +1.000NO2 + +
This should be corrected as:
A 73 9.52E-05 3.4E+00 -10900 1 P 0.60 0. 0. 1.38E+15 1.1E+00 -10900 0 0.00 0. 0. HNO4 + M =1.000HO2 +1.000NO2 + +
The difference is within 2%.
--J Mao. 19:04, 30 Aug 2010 (EDT)
HO2 + CH2O
Scheme does not contain the HO2 + CH2O --> Adduct reaction (MJE Leeds)
Hermans, I., et al. (2005), Kinetics of alpha-hydroxy-alkylperoxyl radicals in oxidation processes. HO2 center dot-initiated oxidation of ketones/aldehydes near the tropopause, Journal of Physical Chemistry A, 109(19), 4303-4311.
According to this paper, this reaction is significant when Temperature is below 220K.
--J Mao. 15:00, 10 Aug 2009 (EDT)
near-IR photolysis of HNO4
1. Since FastJX already takes this into account with cross section data at 574nm, we do not need to redo this in calcrate.f. We can therefore comment out this entire IF block:
!--------------------------------------------------------------------- ! Prior to 10/27/09: ! FastJX has taken near-IR photolysis into account with ! cross section at 574nm, so we don't need to add 1e-5 anymore. ! According to Jimenez et al., "Quantum yields of OH, HO2 and ! NO3 in the UV photolysis of HO2NO2", PCCP, 2005, we also ! changed the branch ratio from 0.67(HO2)/0.33(OH) to 0.95/0.05 ! This will put most weight of near-IR photolysis on HO2 channel. ! (jmao, bmy, 10/27/09) ! !!============================================================== !! HARDWIRE addition of 1e-5 s-1 photolysis rate to !! HNO4 -> HO2+NO2 to account for HNO4 photolysis in near-IR -- !! see Roehl et al. 'Photodissociation of peroxynitric acid in !! the near-IR', 2002. (amf, bmy, 1/7/02) !! !! Add NCS index to NKHNO4 for SMVGEAR II (gcc, bmy, 4/1/03) !!============================================================== !IF ( NKHNO4(NCS) > 0 ) THEN ! ! ! Put J(HNO4) in correct spot for SMVGEAR II ! PHOTVAL = NKHNO4(NCS) - NRATES(NCS) ! NKN = NKNPHOTRT(PHOTVAL,NCS) ! ! DO KLOOP=1,KTLOOP ! RRATE(KLOOP,NKN)=RRATE(KLOOP,NKN) + 1d-5 ! ENDDO !ENDIF !---------------------------------------------------------------------
2. We need to change the branch ratio of HNO4 photolysis in ratj.d. Change these lines from:
13 HNO4 PHOTON OH NO3 0.00E+00 0.00 33.3 HO2NO2 14 HNO4 PHOTON HO2 NO2 0.00E+00 0.00 66.7 HO2NO2
to:
13 HNO4 PHOTON OH NO3 0.00E+00 0.00 5.0 HO2NO2 14 HNO4 PHOTON HO2 NO2 0.00E+00 0.00 95.0 HO2NO2
This is based on Jimenez et al. (Quantum yields of OH, HO2 and NO3 in the UV photolysis of HO2NO2, PHYSICAL CHEMISTRY CHEMICAL PHYSICS, 2005) shows that HO2 yield should be 0.95 and OH yield should be 0.05 for wavelength above 290nm.
This way all the near-IR photolysis will have most weight on HO2 channel(Stark et al., Overtone dissociation of peroxynitric acid (HO2NO2): Absorption cross sections and photolysis products, JOURNAL OF PHYSICAL CHEMISTRY A, 2008).
This update has now been added to the chemistry mechanism documentation file.
--J Mao. 11:00, 26 Oct 2009 (EDT)
Documentation
- Updated chemical reactions that will be used in GEOS-Chem v8-02-04 and higher.
- Updated chemical reactions now used in GEOS-Chem v8-02-01 through GEOS-Chem v8-02-03.
- All typos have now been corrected in the present file.
- Format of FAST-J input file jv_spec.dat
--Bob Y. 15:41, 27 October 2009 (EDT)