Chemistry Working Group

From Geos-chem
Revision as of 17:51, 30 June 2011 by Jmao (Talk | contribs) (Current GEOS-Chem Chemistry Issues (please add yours!))

Jump to: navigation, search

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

Jingqiu Mao

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)

isoprene

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

--Bob Y. 15:41, 27 October 2009 (EDT)