Difference between revisions of "Aerosol-only simulation"

From Geos-chem
Jump to: navigation, search
(Bug in routine GET_WETDEP_NMAX when using SOA)
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
__FORCETOC__
 +
'''''[[GEOS-Chem chemistry mechanisms|Previous]] | [[CH4 simulation|Next]] | [[Guide to GEOS-Chem simulations]]'''''
 +
#[[Simulations overview]]
 +
#[[GEOS-Chem chemistry mechanisms|Mechanisms for full-chemistry simulations]] (e.g. Standard, Tropchem, etc.)
 +
#<span style="color:blue">'''Aerosol-only simulation'''</span>
 +
#[[CH4 simulation]]
 +
#[[CO2 simulation]]
 +
#[[Mercury|Hg simulation]]
 +
#[[POPs simulation]]
 +
#[[Tagged CO simulation]]
 +
#[[Tagged O3 simulation]]
 +
#[[TransportTracers simulation]]
 +
 +
 
On this page we describe the aerosol-only (a.k.a. offline aerosol) simulation.
 
On this page we describe the aerosol-only (a.k.a. offline aerosol) simulation.
  
Line 117: Line 131:
  
 
--[[User:Melissa Payer|Melissa Sulprizio]] 12:51, 5 November 2013 (EST)
 
--[[User:Melissa Payer|Melissa Sulprizio]] 12:51, 5 November 2013 (EST)
 
=== Run directories ===
 
 
[[Image:obsolete.jpg]]
 
 
<span style="color:red">'''''NOTE: This section is now obsolete.  We now use [[GEOS-Chem_basics#Restart_files|netCDF restart files]] in [[GEOS-Chem|v11-01]] and higher versions.  This makes it much easier to add new species.'''''</span>
 
 
We recommend that you create the run directory for your aerosol-only (a.k.a offline aerosol simulation) from one of the GEOS-Chem full-chemistry run directories. 
 
 
First, use Git to download one of the [[Secondary organic aerosols#SOA run directories|full-chemistry run directories for the simulation with secondary organic aerosols]]. 
 
 
Next, edit the TRACER MENU section of the <tt>input.geos</tt> file so that only the [[#Tracer list|aerosol tracers are listed]].
 
 
Next, create a new restart file that contains only the aerosol tracers.  The easiest way to do this is with [http://acmg.seas.harvard.edu/gamap/ GAMAP].  Start GAMAP and Then all you’d have to do is change the number of tracers in “input.geos”.  You could also create a new restart file with GAMAP.  Start GAMAP with:
 
 
  gamap, file=’restart.4x5.geos5.2004010100', 'IJ-AVG-$'
 
 
Then pick the tracers you want to save, and type
 
 
  S25-56    # this is DMS .. SALC in the 59-tracer SOA fullchem file
 
 
and when prompted for an output file name, type
 
 
  restart.4x5.geos5.2004010100.aer_only
 
 
and press "OK".  Make sure to add this restart file name to the SIMULATION MENU section of your input.geos file.
 
 
If you are using [[GEOS-Chem v9-01-03]] or earlier versions, you may also need to create an [[Secondary organic aerosols#The SOA restart file|SOA restart file]] which contains the concentrations of various short-lived secondary organic aerosol quantities. The SOA restart file is no longer needed in [[GEOS-Chem v9-02]], as part of the [[Secondary_organic_aerosols#SOA_simulation_with_semi-volatile_POA|SOA simulation updates]] by Havala Pye.
 
 
Please also see the following references:
 
 
# GEOS-Chem User's Guide: [http://acmg.seas.harvard.edu/geos/doc/man/chapter_5.html Chapter 5: GEOS-Chem run directories]
 
# GEOS-Chem User's Guide: [http://acmg.seas.harvard.edu/geos/doc/man/chapter_6.html#6.1.6 Chapter 6.1.6: Checklist for offline aerosol chemistry simulation]
 
 
--[[User:Bmy|Bob Y.]] 17:12, 3 March 2011 (EST)
 
 
== More Information ==
 
For more information, see the GEOS-Chem manual pages about offline aerosols:
 
[http://acmg.seas.harvard.edu/geos/doc/man/chapter_6.html#Aerosols http://acmg.seas.harvard.edu/geos/doc/man/chapter_6.html#6.1.6]
 
[http://acmg.seas.harvard.edu/geos/doc/man/appendix_1.html#Aerosols http://acmg.seas.harvard.edu/geos/doc/man/appendix_1.html#A1.2]
 
  
 
== Previous issues that have now been resolved ==
 
== Previous issues that have now been resolved ==
Line 164: Line 138:
 
<span style="color:green">'''''This fix was included in [[GEOS-Chem v11-01 benchmark history#v11-01j|v11-01j]] and approved on 03 Dec 2016'''''</span>
 
<span style="color:green">'''''This fix was included in [[GEOS-Chem v11-01 benchmark history#v11-01j|v11-01j]] and approved on 03 Dec 2016'''''</span>
  
In routine <code>SEASALT_CHEM</code> (in <code>GeosCore/sulfate_mod.F</code>), the <code>MW_HNO3</code> variable was undefined for aerosol-only simulations, which do not use HNO3 as a defined species.  This issue was detected by a unit test using the [[GNU Fortran compiler]].  
+
In routine <tt>SEASALT_CHEM</tt> (in <tt>GeosCore/sulfate_mod.F</tt>), the <tt>MW_HNO3</tt> variable was undefined for aerosol-only simulations, which do not use HNO3 as a defined species.  This issue was detected by a unit test using the [[GNU Fortran compiler]].  
  
 
To fix this issue, we have added the following block of code, which defines <code>MW_HNO3</code> whether or not HNO3 is a defined species:
 
To fix this issue, we have added the following block of code, which defines <code>MW_HNO3</code> whether or not HNO3 is a defined species:
Line 212: Line 186:
  
 
--[[User:Bmy|Bob Y.]] 15:29, 14 November 2013 (EST)
 
--[[User:Bmy|Bob Y.]] 15:29, 14 November 2013 (EST)
 
=== Bug in routine GET_WETDEP_NMAX when using SOA ===
 
 
<span style="color:green">'''''This issue was resolved in [[GEOS-Chem v9-02]].'''''</span>
 
 
The following issue exists in [[GEOS-Chem v9-01-03]] and earlier versions.
 
 
'''''[mailto:cbuten@pdx.edu Chris Butenhoff] wrote:'''''
 
 
:There appears to be a bug in <tt>wetscav_mod.F</tt>. In line 6978 the number of carbon + SOA aerosols in the tracer list should be 17 not 15. This is set correctly for the fullchem simulation but not offline simulations.
 
 
The corrected code is shown below:
 
 
      ELSE IF ( ITS_AN_AEROSOL_SIM() ) THEN
 
 
        !-----------------------
 
        ! Offline simulation
 
        !-----------------------
 
        NMAX = 0
 
        IF ( LSULF  )  NMAX = NMAX + 9        ! add 9 sulfur species
 
        IF ( LCRYST )  NMAX = NMAX + 5        ! add 5 cryst & aq species
 
        IF ( LDUST  )  NMAX = NMAX + NDSTBIN  ! Add number of dust bins
 
        IF ( LSSALT )  NMAX = NMAX + 2        ! plus 2 seasalts
 
 
        IF ( LSOA ) THEN
 
            IF ( LCARB ) NMAX = NMAX + '''17'''      ! carbon + SOA aerosols
 
        ELSE
 
            IF ( LCARB ) NMAX = NMAX + 4        ! just carbon aerosols
 
        ENDIF
 
 
--[[User:Melissa Payer|Melissa Sulprizio]] 11:17, 5 November 2013 (EST)
 
 
=== Emissions not included when using non-local PBL mixing scheme ===
 
 
<span style="color:green">'''''This update was tested in the 1-month benchmark simulation [[GEOS-Chem_v9-02_benchmark_history#v9-02l|v9-02l]] and approved on 26 Jun 2013.'''''</span>
 
 
<span style="color:red">'''''This code was removed from [[GEOS-Chem v10-01]] and newer versions.  All emissions are now implemented via the [[HEMCO|HEMCO emissions component]].'''''</span>
 
 
It was discovered in [[GEOS-Chem v9-01-03]] that the emissions were not being added into tracer concentration when the non-local PBL scheme was turned on in input.geos. To solve this problem, the following code needs to be added to routine VDIFFDR (vdiff_mod.F90) in the same loop where emissions are added for the full-chemistry simulation:
 
 
      !----------------------------------------------------------------
 
      ! Add emissions for offline aerosol simulation
 
      !----------------------------------------------------------------
 
      IF ( IS_AEROSOL ) THEN
 
 
          ! add surface emis of aerosols
 
          ! (after converting kg/box/timestep to kg/m2/s)
 
          ! Should NOT use ID_EMITTED here, since it is only for gases
 
          ! for SMVGEAR. (Lin, 06/10/08)
 
          do N = 1, N_TRACERS
 
            eflx(I,J,N) = eflx(I,J,N) + emis_save(I,J,N)      &
 
                                      / GET_AREA_M2( I, J, 1 ) &
 
                                      / GET_TS_EMIS() / 60.d0
 
          enddo
 
 
      ENDIF
 
 
At the top of the same routine, <tt>IS_AEROSOL</tt> needs to be defined as:
 
 
    LOGICAL :: IS_AEROSOL
 
 
    IS_AEROSOL  = ITS_AN_AEROSOL_SIM()
 
 
--[[User:Melissa Payer|Melissa Payer]] 12:01, 19 June 2013 (EDT)
 
 
=== Bugs in reading EMEP and EPA-NEI data from disk ===
 
 
<span style="color:red">'''''In [[GEOS-Chem v10-01]] and higher versions, EMEP and EPA/NEI emissions are handled by the [[HEMCO|HEMCO emissions component]].'''''</span>
 
 
The following issues exist in [[GEOS-Chem v9-01-01]] and higher versions. These issues were resolved in [[GEOS-Chem v9-01-03]].
 
 
# [[GEOS-Chem v9-01-02#Fixes in emep_mod.f|Minor issue in <tt>emep_mod.f</tt> affecting the offline aerosol simulation]]
 
# [[GEOS-Chem v9-01-02#Fix for offline simulations in nei2005_anthro_mod.f|Minor issue in <tt>nei2005_anthro_mod.f</tt> affecting the offline aerosol simulation]]
 
 
--[[User:Bmy|Bob Y.]] 11:48, 8 August 2011 (EDT)
 
  
 
== Known issues ==
 
== Known issues ==
Line 292: Line 191:
 
=== ND05 diagnostic quantities zeroed unexpectedly ===
 
=== ND05 diagnostic quantities zeroed unexpectedly ===
  
<span style="color:red">'''''In [[GEOS-Chem v11-01]], we shall be implementing netCDF-based diagnostics.  These will render the "binary punch" format diagnostics obsolete.'''''</span>
+
<span style="color:darkorange">'''''The binary punch format diagnostics will soon be made obsolete in a future GEOS-Chem version.'''''</span>
  
 
'''''Helen McIntyre wrote:'''''
 
'''''Helen McIntyre wrote:'''''
Line 323: Line 222:
  
 
:So my guess is that the ND05 diagnostic was designed for offline simulations and if you want it for online chemistry, you need to implement it.
 
:So my guess is that the ND05 diagnostic was designed for offline simulations and if you want it for online chemistry, you need to implement it.
 +
 +
 +
----
 +
'''''[[GEOS-Chem chemistry mechanisms|Previous]] | [[CH4 simulation|Next]] | [[Guide to GEOS-Chem simulations]]'''''

Revision as of 19:07, 13 August 2019

Previous | Next | Guide to GEOS-Chem simulations

  1. Simulations overview
  2. Mechanisms for full-chemistry simulations (e.g. Standard, Tropchem, etc.)
  3. Aerosol-only simulation
  4. CH4 simulation
  5. CO2 simulation
  6. Hg simulation
  7. POPs simulation
  8. Tagged CO simulation
  9. Tagged O3 simulation
  10. TransportTracers simulation


On this page we describe the aerosol-only (a.k.a. offline aerosol) simulation.

Description

The aerosol simulation is an offline simulation for aerosol tracers only. It uses archived monthly mean OH, NO3, O3 and total nitrate concentrations archived from a previous full-chemistry simulation (more on that below), as well as production and loss rates for H2O2. This simulation does not provide "tagged" capabilities, but reduces the suite of tracers from full chemistry.

Assumptions

  1. OH concentrations are taken from a previously run full chemistry simulation. The default is from a much earlier version of the model, when OH thought to be more realistic. The standard code uses OH from version 5-07-08, with GEOS3 meteorology.
  2. O3, NO3 and total nitrate (HNO3+NIT) concentrations, as well as production rates and photolysis rates for H2O2 are taken from a previously run full chemistry simulation. The current default fields were produced from a GEOS-4, v7-02-03 simulation. These files are generally located in the sulfate_sim_200508/offline/ directory in your GEOS-Chem data directories.

Practicalities

As with all other Offline chemistry simulations, the GEOS-Chem user community shall be responsible for the scientific content and validation of the aerosol-only simulation.

Tracer list

GEOS-Chem v9-01-03 and earlier versions

In GEOS-Chem v9-01-03 and earlier versions, there are 31 tracers in a complete aerosol-only simulation (see input.geos below).

The offline aerosol is simulation type 10. For a full set of aerosol tracers (based on the 59-tracer full-chemistry SOA simulation), the input.geos should look like this:

Type of simulation      : 10
Number of Tracers       : 31
Tracer Entries -------> : TR#  Name   g/mole Tracer Members; () = emitted 
Tracer #1               : 1    DMS    62.00
Tracer #2               : 2    SO2    64.00
Tracer #3               : 3    SO4    96.00
Tracer #4               : 4    MSA    96.00
Tracer #5               : 5    NH3    17.00
Tracer #6               : 6    NH4    18.00
Tracer #7               : 7    NIT    62.00
Tracer #8               : 8    H2O2   34.00
Tracer #9               : 9    BCPI   12.00
Tracer #10              : 10   OCPI   12.00
Tracer #11              : 11   BCPO   12.00
Tracer #12              : 12   OCPO   12.00
Tracer #13              : 13   ALPH   136.23
Tracer #14              : 14   LIMO   136.23
Tracer #15              : 15   ALCO   142.00
Tracer #16              : 16   SOG1   150.00
Tracer #17              : 17   SOG2   160.00
Tracer #18              : 18   SOG3   220.00
Tracer #19              : 19   SOG4   130.00
Tracer #20              : 20   SOG5   150.00
Tracer #21              : 21   SOA1   150.00
Tracer #22              : 22   SOA2   160.00
Tracer #23              : 23   SOA3   220.00
Tracer #24              : 24   SOA4   130.00
Tracer #25              : 25   SOA5   150.00
Tracer #26              : 26   DST1   29.00
Tracer #27              : 27   DST2   29.00
Tracer #28              : 28   DST3   29.00
Tracer #29              : 29   DST4   29.00
Tracer #30              : 30   SALA   36.00
Tracer #31              : 31   SALC   36.00

This list can be reduced by turning off any aerosol species (eg. SOA, dust, SS, etc). You may also run without the secondary organic aerosols (ALPH, LIMO, ALCO, SOG{1,2,3,4,5}, SOA{1,2,3,4,5}) if you wish (but we recommend that you use them).

GEOS-Chem v9-02 and later versions

The SOA simulation was updated in GEOS-Chem v9-02o to include a better tracer lumping scheme, as shown in Figure 1 of Pye et al. 2010.

The offline aerosol is simulation type 10. For a full set of aerosol tracers (based on the 100-tracer full-chemistry SOA simulation), the input.geos should look like this:

Type of simulation      : 10
Number of Tracers       : 47
Tracer Entries -------> : TR#  Name   g/mole   Tracer Members; () = emitted
Tracer #1               :  1   DMS     62.00
Tracer #2               :  2   SO2     64.00
Tracer #3               :  3   SO4     96.00
Tracer #4               :  4   SO4s    96.00
Tracer #5               :  5   MSA     96.00
Tracer #6               :  6   NH3     17.00
Tracer #7               :  7   NH4     18.00
Tracer #8               :  8   NIT     62.00
Tracer #9               :  9   NITs    62.00
Tracer #10              : 10   H2O2    34.00
Tracer #11              : 11   BCPI    12.00
Tracer #12              : 12   OCPI    12.00
Tracer #13              : 13   BCPO    12.00
Tracer #14              : 14   OCPO    12.00
Tracer #15              : 15   DST1    29.00
Tracer #16              : 16   DST2    29.00
Tracer #17              : 17   DST3    29.00
Tracer #18              : 18   DST4    29.00
Tracer #19              : 19   SALA    36.00
Tracer #20              : 20   SALC    36.00
Tracer #21              : 21   MTPA   136.23
Tracer #22              : 22   LIMO   136.23
Tracer #23              : 23   MTPO   136.23
Tracer #24              : 24   TSOG1  150.00
Tracer #25              : 25   TSOG2  150.00
Tracer #26              : 26   TSOG3  150.00
Tracer #27              : 27   TSOG0  150.00
Tracer #28              : 28   TSOA1  150.00
Tracer #29              : 29   TSOA2  150.00
Tracer #30              : 30   TSOA3  150.00
Tracer #31              : 31   TSOA0  150.00
Tracer #32              : 32   ISOG1  150.00
Tracer #33              : 33   ISOG2  150.00
Tracer #34              : 34   ISOG3  150.00
Tracer #34              : 35   ISOA1  150.00
Tracer #36              : 36   ISOA2  150.00
Tracer #37              : 37   ISOA3  150.00
Tracer #38              : 38   BENZ    12.00   (6C)
Tracer #39              : 39   TOLU    12.00   (7C)
Tracer #40              : 40   XYLE    12.00   (8C)
Tracer #41              : 41   ASOG1  150.00
Tracer #42              : 42   ASOG2  150.00
Tracer #43              : 43   ASOG3  150.00
Tracer #44              : 44   ASOAN  150.00
Tracer #45              : 45   ASOA1  150.00
Tracer #46              : 46   ASOA2  150.00
Tracer #47              : 47   ASOA3  150.00

This list can be reduced by turning off any aerosol species (eg. SOA, dust, SS, etc). You may also run without the secondary organic aerosols (MTPA, LIMO, MTPO, TSOG0–3, TSOA0–3, ISOG1–3, ISOA1–3, ASOG1–3, ASOA1–3, ASOAN) if you wish (but we recommend that you use them).

--Melissa Sulprizio 12:51, 5 November 2013 (EST)

Previous issues that have now been resolved

Fixed undefined molecular weight of HNO3 in routine SEASALT_CHEM

This fix was included in v11-01j and approved on 03 Dec 2016

In routine SEASALT_CHEM (in GeosCore/sulfate_mod.F), the MW_HNO3 variable was undefined for aerosol-only simulations, which do not use HNO3 as a defined species. This issue was detected by a unit test using the GNU Fortran compiler.

To fix this issue, we have added the following block of code, which defines MW_HNO3 whether or not HNO3 is a defined species:

     ! Get the molecular weight of HNO3 from the species database
     ! if it is defined, otherwise set it manually (bmy, 10/11/16)
     IF ( id_HNO3 > 0 ) THEN
        MW_HNO3 = State_Chm%SpcData(id_HNO3)%Info%emMW_g
     ELSE
        MW_HNO3 = 63.0_fp
     ENDIF

NOTE: This is just a quick fix. Ideally, we will want to declare HNO3 as a non-advected species in the GEOS-Chem species database for these simulationns.

--Bob Yantosca (talk) 16:47, 11 October 2016 (UTC)

Error in ISOROPIAII when sulfate aerosols are turned off

This update was tested in the 1-month benchmark simulation v9-02r and approved on 14 Nov 2013.

Chris Butenhoff wrote:

I set ONLINE SULFATE AEROSOLS = F and removed the sulfate aerosols from the tracer list. However I now get the error "IDTSO4 is undefined" from isoropia11_mod.F (line 207).

For full-chemistry simulations, we only call routine DO_ISOROPIAII if sulfate aerosols are used (i.e. LSULF = T). However, no such check exists when running the offline aerosol simulation. This was probably an oversight and we should add the following fix to routine DO_CHEMISTRY (in GeosCore/chemistry_mod.F):

           !*** AEROSOL THERMODYNAMIC EQUILIBRIUM ***
           IF ( LSULF ) THEN
              IF ( LSSALT ) THEN

#if   !defined( NO_ISORROPIA )
                 ! ISOROPIA takes Na+, Cl- into account
                 CALL DO_ISOROPIAII
    &               ( am_I_Root, Input_Opt, State_Met, State_Chm, RC )
#endif

              ELSE

                 ! RPMARES does not take Na+, Cl- into account
                 ! (skip for crystalline & aqueous offline run)
                 IF ( .not. LCRYST ) THEN
                    CALL DO_RPMARES( am_I_Root, Input_Opt, 
    &                                State_Met, State_Chm, RC )
                 ENDIF
              ENDIF
           ENDIF

--Bob Y. 15:29, 14 November 2013 (EST)

Known issues

ND05 diagnostic quantities zeroed unexpectedly

The binary punch format diagnostics will soon be made obsolete in a future GEOS-Chem version.

Helen McIntyre wrote:

I'm running the new and old versions of GEOS-Chem, and both seem to not output all the ND05 diagnostics correctly. There are 10 prod/loss diagnostics in this category, but only the 5th, 6th and 7th work. All the rest come out as zero.
I've had a brief look though the code, and it seems that the ones that work are calculated in one part of the routine (sulfate_mod.f), and the zero ones in another (I don't know if this has anything to do with it).
I've just done a 1 day run, with GEOS-Chem v8-01-01 at 4x5 resolution using GEOS-5 met fields. The old version I'm using is v7-02-04 and I get the same result.
The 'ctm.bpch', 'geos.log' and 'input.geos' files from the v8-01-01 run can be found here: http://homepages.see.leeds.ac.uk/~lechlm/files/

Claire Carouge replied:

There are some problems in the calculations. For the 5th element of AD05 (in Fortran notations and not IDL), the diagnostic come from the value of L1 which is calculated line 1529 (v8-01-04):
   L1     = ( SO20 - SO2_cd + PSO2_DMS(I,J,L) ) * RK1/RK
But on line 1508, we have:
   RK1 = 0.d0
with the previous comment:
  ! For online runs, SMVGEAR deals w/ this computation,
  ! so we can simply set RK1 = 0 (rjp, bmy, 3/23/03)
So L1 is always 0. I have no idea what RK1 is for, you may have to go into the physics/chemistry behind the code and we are not qualified to help you with it.
The other values for AD05 are calculated in the routine CHEM_DMS and this routine is only called in an offline aerosol simulation (l. 545 in sulfate_mod.f).
So my guess is that the ND05 diagnostic was designed for offline simulations and if you want it for online chemistry, you need to implement it.



Previous | Next | Guide to GEOS-Chem simulations