Ship emissions

From Geos-chem
Revision as of 18:21, 3 March 2015 by Bmy (Talk | contribs) (In GEOS-Chem v10-01 and newer versions)

Jump to: navigation, search

This page describes the various ship emissions inventories that have been implemented in GEOS-Chem.

Overview

At present there are several different ship emissions options in GEOS-Chem.

ARCTAS
The ARCTAS pre-mission ship SO2 emissions from David Streets. [Eyring et al, 2005a and 2005b]
Corbett
Ship emissions inventory as described in Corbett et al [1999].
EDGAR
SO2 ship emissions from the EDGAR 3.2 FT2000 global inventory.
EMEP
Ship emissions from the EMEP (European Monitoring and Evaluation Programme).
ICOADS
Emission inventory based on data from the International Comprehensive Ocean−Atmosphere Data Set (ICOADS), the Automated Mutual-Assistance Vessel Rescue System (AMVER) data sets [Wang et al, 2008]. This is the recommended global ship emissions inventory.

Starting with GEOS-Chem v8-01-04, ship-emitted NOx is no longer emitted directly as NOx, but as the combination HNO3 + 10*O3, following Chen et al [2005].

ARCTAS

The ARCTAS pre-mission inventory of SO2 was first introduced in GEOS-Chem v8-01-04.

Philippe Le Sager wrote:

The ship emission is based on the work by Eyring et al., [2005a and 2005b], which estimates the total international ship emissions for 1985, 1990, 2001, and 2020 (projection). The ship emission for each individual year is interpreted based on the above years, and the spatial pattern (gridded) is mapped based on the EDGAR gridded ship emission for 2000 (total amount from EDGAR is scaled to Eyring-based number).
If you want to reference the work on publication or website, you may either mention Diehl et al. [manuscript in preparation, 2009] or refer to the AeroCom readme document (prepared by Diehl).

In GEOS-Chem v10-01 and newer versions

In GEOS-Chem v10-01 and newer versions, the ARCTAS ship emissions data files are read with the HEMCO emissions component. We have created new ARCTAS ship data files (in COARDS-compliant netCDF format) for use with HEMCO. These new data files are contained in the HEMCO data directory tree. For detailed instructions on how to download these data files to your disk server, please see our Downloading the HEMCO data directories wiki post.

--Bob Y. 13:21, 3 March 2015 (EST)

In GEOS-Chem versions prior to v10-01

In GEOS-Chem v9-02 and older versions, the ARCTAS ship emissions data files are stored in binary punch format. They are read from disk by the source code in module GeosCore/arctas_ship_emiss_mod.f.

--Bob Y. 14:18, 13 February 2015 (EST)

Corbett

For more information about this inventory please see: Corbett, J. J., P. S. Fischbeck, and S. N. Pandis, Global nitrogen and sulfur inventories for oceangoing ships, J. Geophys. Res., 104(D3), 3457–3470, 1999.

In GEOS-Chem v10-01 and newer versions

In GEOS-Chem v10-01 and newer versions, the Corbett et al ship emissions data files are read with the HEMCO emissions component. We have created new Corbett ship data files (in COARDS-compliant netCDF format) for use with HEMCO. These new data files are contained in the HEMCO data directory tree. For detailed instructions on how to download these data files to your disk server, please see our Downloading the HEMCO data directories wiki post.

--Bob Y. 14:13, 13 February 2015 (EST)

In GEOS-Chem versions prior to v10-01

In GEOS-Chem v9-02 and older versions, the Corbett et al ship emissions data files are stored in binary punch format at the following resolutions:

  1. 0.5° x 0.666° China nested grid
  2. 0.5° x 0.666° North America nested grid
  3. 2° x 2.5° global grid
  4. 4° x 5° global grid

These data files are read from disk by routine READ_SHIP_SO2 in GeosCore/sulfate_mod.f.

--Bob Y. 14:13, 13 February 2015 (EST)

EDGAR

EDGAR v4.2 ship emissions

Please see this wiki post on our EDGAR v4.2 anthropogenic emissions wiki page for more information about EDGAR inventories of ship exhaust.

--Melissa Sulprizio 16:39, 17 February 2015 (EST)

EDGAR v3 ship emissions

Please see this wiki post on our EDGAR v3 anthropogenic emissions wiki page for more information about EDGAR inventories of ship exhaust.

--Bob Y. 12:29, 20 December 2012 (EST)

EMEP

For a complete discussion of EMEP ship emissions, please see the EMEP European ship emissions inventory post on our EMEP European anthropogenic emissions wiki page.

--Bob Y. 12:03, 20 December 2012 (EST)

ICOADS

The ICOADS ship inventory was first introduced in GEOS-Chem v8-02-03. It contains the species NOx, CO, and SO2. Chulkyu Lee worked on implementing ICOADS into GEOS-Chem.

From Wang et al [2008]:

Ship activity patterns depicted by the International Comprehensive Ocean−Atmosphere Data Set (ICOADS), the Automated Mutual-Assistance Vessel Rescue System (AMVER) data set, and their combination demonstrate different spatial and statistical sampling biases. These differences could significantly affect the accuracy of ship emissions inventories and atmospheric modeling. We demonstrate (using ICOADS) a method to improve global-proxy representativeness by trimming over-reporting vessels that mitigates sampling bias, augment the sample data set, and account for ship heterogeneity. Apparent under-reporting to ICOADS and AMVER by ships near coastlines, perhaps engaged in coastwise (short sea) shipping especially in Europe, indicates that bottom-up regional inventories may be more representative locally. Primarily due to the long time series available publicly for ICOADS data, the improved ICOADS data set may be the most appropriate global ship traffic proxy identified to date to be used for a top-down approach. More generally, these three spatial proxies can be used together to perform uncertainty analyses of ship air-emissions impacts on a global scale (http://coast.cms.udel.edu/GlobalShipEmissions/).

In GEOS-Chem v10-01 and newer versions

In GEOS-Chem v10-01 and newer versions, the ICOADS ship emissions are read with the HEMCO emissions component. We have created new ICOADS data files (in COARDS-compliant netCDF format) for use with HEMCO. These new data files are contained in the HEMCO data directory tree. For detailed instructions on how to download these data files to your disk server, please see our Downloading the HEMCO data directories wiki post.

--Bob Y. 12:27, 13 February 2015 (EST)

In GEOS-Chem versions prior to v10-01

In GEOS-Chem v9-02 and older versions, the ICOADS data files are stored in binary punch format. They are read from disk by the source code in module GeosCore/icoads_ship_mod.f.

--Bob Y. 12:34, 13 February 2015 (EST)

PARANOX ship plume model

In GEOS-Chem v10-01 and higher versions

An updated version of PARANOX was brought into GEOS-Chem v10-01 via the HEMCO emissions component.

PARANOX updates by Chris Holmes and Geert Vinken (July 2014)

This post describes the original updates to PARANOX made by Chris Holmes and Geert Vinken in July 2014. These updates have since been brought into GEOS-Chem as an extension to the HEMCO emissions component.

Chris Holmes wrote:

Geert and I have updated the ship plume emissions in GEOS-Chem. A paper based on the updated model is now accepted in ACP (see this link).
I am writing to pass along the updates to you for inclusion in the GC standard code.
I have posted a patch file and new look-up tales that accompany this code update at
     ftp://halo.ess.uci.edu/Public/holmes/shipnox_v9-02/
The patch will apply to the git commit tagged as "v9-02-Public-Release" on 2014-2-27. After applying the patch, you will need to update the "101 FORMAT" statement to point to the correct data directory on your system.
Update 7/17/14: The above patch file is now superseded by the patch file posted here. The new patch file also applied to the commit tagged as "v9-02-Public-Release" and includes a fix for high values of O3 dry deposition. See this wiki post for more information.
The updated features are as follows:
  1. Ship plume chemical aging now depends on wind speed, which directly affects the plume dispersion rates and indirectly affects the plume chemistry.
  2. The underlying Gaussian plume model now includes dry deposition.
  3. NO, NO2, and O3 are all emitted separately, consistent with removing the NOx and Ox families in GC v9-02.
  4. The look-up tables are now in netCDF format.
  5. CH4 oxidation in ship plumes is now diagnosed and written in the paranox_ts files. This is only a diagnostic and does not affect the model chemistry.
As with previous versions, paranox_mod.F uses a look-up table derived from a Gaussian plume model to provide effective emission factors for NOx, O3, and HNO3 from ships. Both the Gaussian plume model and GEOS-Chem with the embedded look-up tables have been evaluated against observations (Holmes et al. 2014; Vinken et al., 2011). The emission factors are based on 8 environmental variables from the CTM: ambient concentrations of NOx and O3, solar zenith angle at emission time and 5 hours later, photolysis rates of NO2 and O3, temperature, and wind speed.

--Melissa Sulprizio 10:21, 18 June 2014 (EDT)

Re-implementation as a HEMCO extension

Christoph Keller and the GEOS-Chem Support Team have re-implemented the updated implementation of PARANOX described above as a HEMCO extension. A new HEMCO extension module (HEMCO/Extensions/hcox_paranox_mod.F90) has now replaced the original paranox_mod.F module.

New PARANOX lookup table files have been created in both COARDS-compliant netCDF format as well as in text format for use with HEMCO. These new data files are contained in the HEMCO data directory tree. For detailed instructions on how to download these data files to your disk server, please see our Downloading the HEMCO data directories wiki post.

--Bob Y. 14:43, 17 February 2015 (EST)

In versions of GEOS-Chem prior to v10-01

Module paranox_mod.F was removed from GEOS-Chem v10-01 and newer versions. The PARANOX ship plume model is now implemented via HEMCO.

— Bob Yantosca, 17 February 2015

This update was tested in the 1-month benchmark simulation v9-01-03f and approved on 17 Feb 2012. This update is included in Adjoint v35a.

Geert Vinken wrote:

[At the] past GEOS-Chem user's meeting I had a presentation about accounting for non-linear chemistry of ship plumes in the GEOS-Chem model. I think my code is ready to be incorporated in the GEOS-Chem model.
I've attached an Appendix from a report I wrote a year ago, which contains some more information about how the method is programmed. I'm aware that some routines might need to be moved to new files (e.g. the interpolation of the Look-Up-Table is now done in icoads_ship_mod.f).
The reference for my work has just been published.

--Bob Y. 10:27, 1 December 2011 (EST)

References

  1. AEROCOM readme document
  2. EMEP web page
  3. ICOADS web page
  4. Auvray, M., and I. Bey, Long-Range Transport to Europe: Seasonal Variations and Implications for the European Ozone Budget, J. Geophys. Res., 110, D11303, doi: 10.1029/2004JD005503, 2005.
  5. Chen, G., et al. An investigation of the chemistry of ship emission plumes during ITCT 2002, J. Geophys. Res., 110, D10S90, doi:10.1029/2004JD005236, 2005.
  6. Corbett, J. J., P. S. Fischbeck, and S. N. Pandis, Global nitrogen and sulfur inventories for oceangoing ships, J. Geophys. Res., 104(D3), 3457–3470, 1999.
  7. Eyring, V., H. W. Kšhler, J. van Aardenne, and A. Lauer, Emissions from international shipping: 1. The last 50 years, J. Geophys. Res., 110, D17305, doi:10.1029/2004JD005619, 2005a.
  8. Eyring, V., H. W. Kšhler, A. Lauer, and B. Lemper, Emissions from international shipping: 2. Impact of future technologies on scenarios until 2050, J. Geophys. Res., 110, D17306, doi:10.1029/2004JD005620, 2005b.
  9. Olivier, J.G.J. and J.J.M. Berdowski, Global emissions sources and sinks. In: Berdowski, J., Guicherit, R. and B.J. Heij (eds.) The Climate System, pp. 33-78. A. A. Balkema Publishers/Swets & Zeitlinger Publishers, Lisse, The Netherlands., 2001
  10. Vestreng, V., and H. Klein (2002), Emission data reported to UNECE/EMEP: Quality insurance and trend analysis and presentation of Web-Dab, MSC-W Status Rep. 2002:, 101 pp., Norw. Meteorol. Inst., Oslo, Norway. PDF
  11. Vestreng, V., K. Mareckova, S. Kakareka, A. Malchykhina and T. Kukharchyk. Inventory Review 2007; Emission Data reported to LRTAP Convention and NEC Directive, MSC-W Technical Report 1/07, Norw. Meteorol. Inst., Oslo, Norway, 2007.
  12. Vinken, G. C. M, K. F. Boersma, D. J. Jacob, and E. W. Meijer, Accounting for non-linear chemistry of ship plumes in the GEOS-Chem global chemistry transport model, Atmos. Chem. Phys., 11, 11707-11722, 2011. Link
  13. Wang, C., J. J. Corbett, and J. Firestone, Improving Spatial representation of Global Ship Emissions Inventories, Environ. Sci. Technol., 42 (1), 193-199, 2008. Link

--Bob Y. 10:31, 1 December 2011 (EST)

Previous issues that are now resolved

Minor fixes for EMEP ship emissions

This code was removed from GEOS-Chem v10-01 and newer versions. EMEP ship emissions are now implemented through the HEMCO emissions component.

— Bob Yantosca, 13 February 2015

Please see these posts about minor bug fixes for EMEP ship emissions in GEOS-Chem v8-02-04 and in GEOS-Chem v8-03-01.

--Bob Y. 10:08, 25 February 2010 (EST)

Bug for ship emissions in emfossil.f

This code was removed from GEOS-Chem v10-01 and newer versions. EMEP ship emissions are now implemented through the HEMCO emissions component.

— Bob Yantosca, 13 February 2015

NOTE: This fix has been incorporated into GEOS-Chem v9-01-01.

Geert Vinken wrote:

Problem: The ship NOx emissions are as HNO3 and O3. These are stored in the EMISRR array when the other NOx emissions are determined. However, when later on the HNO3 and O3 emissions are determined these entries in the EMISRR arrays are overwritten. This way the ship HNO3 and O3 emissions are lost and consequently no ship emissions are present in the model!
Code problem: In emissdr.f (line258) the fossil fuel emissions are called for all the emitted species.
   IF ( LANTHRO ) THEN
      DO N = 1, NEMANTHRO
         NN = IDEMS(N)

         IF ( NN /= 0 ) THEN
             CALL EMFOSSIL( I, J, N, NN, IREF, JREF, JSCEN )
         ENDIF
      ENDDO           
   ENDIF
In emfossil.f the work array is initialized in line 525:
         ! Initialize work variables
         EMX(:)  = 0d0
And then in line 814 the EMISRR(I,J,N) array is overwritten with the work array:
         EMISRR(I,J,N) = EMX(1) * XNUMOL(NN) / DTSRCE
Here the present HNO3 and O3 emissions from the NOx emissions are thus overwritten.
Fix: I think the following should fix this, as the EMISRR array is zeroed in every call to emissdr.f this should give no problems:
            !--------------------------------------------------------------
            ! Store in EMISRR array and archive diagnostics
            !--------------------------------------------------------------
   !--- Prior to (gvinken, 11/16/10). Emissions already present in EMISRR
   !     no longer get overwritten.
   !         EMISRR(I,J,N) = EMX(1) * XNUMOL(NN) / DTSRCE
            EMISRR(I,J,N) = EMISRR(I,J,N) + EMX(1) * XNUMOL(NN) / DTSRCE

--Bob Y. 12:00, 16 November 2010 (EST)

Inconsistent mask file for EMEP ship emissions

Please see this wiki post on our EMEP emissions wiki page for a full description of the issue.

--Bob Y. 12:21, 20 December 2012 (EST)

Potential bug in EDGAR ship emissions code

This update was tested in the 1-month benchmark simulation v9-01-02s and approved on 5 Nov 2011. (Included in Adjoint v34e )

Please see this wiki post on our EDGAR anthropogenic emissions page for a full description of the issue.

--Bob Y. 12:32, 20 December 2012 (EST)

Bug in ship NOx emissions

Module emfossil.F has been removed from GEOS-Chem v10-01 and newer versions. PARANOX is now implemented via the HEMCO emissions component.

— Bob Yantosca, 17 February 2015

This update was tested in the 1-month benchmark simulation v9-01-02s and approved on 5 Nov 2011. (Included in Adjoint v34e )

Chris Holmes wrote:

I found a bug in ship NOx emissions in v9-01-02n. Ship NOx emissions are supposed to be emitted as (1 mol HNO3 + 10 mol O3) per mol NOx in the inventory. The code previously used molar masses incorrectly so that the ratios were actually 0.73 mol HNO3 and 9.5 mol O3. Thus, this bug fix will slightly increase O3 and HNO3 over the oceans. I have pasted the corrected code for emfossil.F below:
!---------------------------------------------------------------               
! Prior to cdh 10/20/2011, HNO3 and O3 emissions were incorrectly scaled
!     to ship NOx, due to molar masses being in the wrong place
!               ! Convert molec/cm2/s to kg/box/timestep to get same
!               ! units as EMISRN, ie default GEIA emiss (phs, 7/9/09)
!               SHIP = SHIP * ( DTSRCE * AREA_CM2 ) / XNUMOL(NN) 
!         
!               ! Store as HNO3 and O3
!               EMISRR(I,J,IDEHNO3) = SHIP * XNUMOL(IDTHNO3) / DTSRCE
!               EMISRR(I,J,IDEOX)   = 10D0 * SHIP * 
!     &                               XNUMOL(IDTOX) / DTSRCE
!               
!               ! ND36 = Anthro source diagnostic...store as [molec/cm2]
!               ! and convert to [molec/cm2/s] in DIAG3.F
!               IF ( ND36 > 0 ) THEN
!
!                  AD36(I,J,IDEHNO3) = AD36(I,J,IDEHNO3) + SHIP * 
!     &                                XNUMOL(IDTHNO3) / AREA_CM2
!
!                  AD36(I,J,IDEOX) = AD36(I,J,IDEOX) + SHIP * 
!     &                              10D0 * XNUMOL(IDTOX) / AREA_CM2
!                  
!               ENDIF
!---------------------------------------------------------------               
              ! Store as HNO3 and O3
              ! Convert molec/cm2/s to molec/box/s (cdh, 10/20/2011)
              EMISRR(I,J,IDEHNO3) = SHIP * AREA_CM2
              EMISRR(I,J,IDEOX)   = 10D0 * SHIP * AREA_CM2 
              
              ! ND36 = Anthro source diagnostic...store as [molec/cm2]
              ! and convert to [molec/cm2/s] in DIAG3.F
              IF ( ND36 > 0 ) THEN

                 AD36(I,J,IDEHNO3) = AD36(I,J,IDEHNO3) + SHIP * DTSRCE

                 AD36(I,J,IDEOX) = AD36(I,J,IDEOX) + 10D0 * SHIP * 
    &                              DTSRCE
                 
              ENDIF

--Melissa Payer 13:44, 21 October 2011 (EDT)

Duplicate ship emissions in Asia in Streets 2000 inventory

This update was tested in the 1-month benchmark simulation v9-01-03f and approved on 17 Feb 2012.

Please see this wiki post on our David Streets regional emissions wiki page for a full description of the issue.

--Bob Y. 12:24, 20 December 2012 (EST)

NOx ship emissions restored to the ND32, ND36 diagnostics

Module emfossil.F has been removed from GEOS-Chem v10-01 and newer versions. Also, the HEMCO emissions component now internally computes all diagnostics for emission quantities.

— Bob Yantosca, 17 February 2015

In versions v9-01-01 and v9-01-02, you may have noticed that ship NOx emissions seem to be lacking from the ND36 (ANTHSRCE) or ND32 (NOX-AN-$) diagnostics. This is because the ship NOx emissions in these versions were partitioned into HNO3 + 10*Ox (in GeosCore/emfossil.F), and then saved into separate slots of the ND36 diagnostic:

              ! Store as HNO3 and O3
              ! Convert molec/cm2/s to molec/box/s (cdh, 10/20/2011)
              EMISRR(I,J,IDEHNO3) = SHIP * AREA_CM2
              EMISRR(I,J,IDEOX)   = 10D0 * SHIP * AREA_CM2 

With the advent of the PARANOX plume model in GEOS-Chem v9-01-03 and later versions, this has now been corrected. The resultant ship emissions are now properly archived as NOx, O3, and HNO3 in the ND36 diagnostics. Ship NOx is also saved into the ND32 diagnostic. This is done in routine GeosCore/calcrate.F, where PARANOX is invoked:

              !===================================================
              ! Update diagnostics
              !===================================================
              !ND36 = Anthro source diagnostic...store as [molec/cm2]
              !and convert to [molec/cm2/s] in DIAG3.F
              IF ( ND36 > 0 ) THEN

                 AD36(IX,IY,IDEHNO3) = AD36(IX,IY,IDEHNO3) + SHIP * 
    &                                  (1D0 - fraction_nox) *
    &                                  XNUMOL(IDTHNO3) / AREA_CM2

                 AD36(IX,IY,IDEOX)  = AD36(IX,IY,IDEOX) + SHIP * 
    &                                 int_ope * (1D0 - fraction_nox)* 
    &                                 XNUMOL(IDTOX) / AREA_CM2
   
                 AD36(IX,IY,IDENOX) = AD36(IX,IY,IDENOX) + SHIP * 
    &                                 fraction_nox * 
    &                                 XNUMOL(IDTNOX) / AREA_CM2
              ENDIF

              ! ND32 = save anthro NOx for levels L=1,NOXEXTENT [molec/cm2/s]
              IF ( ND32 > 0 ) THEN
                 AD32_an(IX,IY,IZ) = AD32_an(IX,IY,IZ) + 
    &                 ( SHIP * fraction_nox * XNUMOL(NN) / 
    &                                 ( DTSRCE * AREA_CM2 ) )   
              ENDIF

--Bob Y. 16:12, 7 February 2013 (EST)

Bug in ship CO emissions

Module emfossil.F has been removed from GEOS-Chem v10-01 and newer versions. EMEP ship emissions are now implemented via HEMCO.

— Bob Yantosca, 17 February 2015

This update was tested in the 1-month benchmark simulation v9-02l and approved on 26 Jun 2013. This update is included in Adjoint v35a.

Chris Holmes wrote:

When EMEP ship emissions are selected in input.geos the EMEP ship emissions inventory was previously overwriting all ship CO emissions globally. As a result, ship CO emissions were zero outside of the EMEP region (European waters). The solution is to only overwrite within the EMEP region. This bug has persisted at least since v9-01-01.

To fix this bug, change the following code in emfossil.F from:

           IF ( LEMEPSHIP ) SHIP = 
    $           GET_EMEP_ANTHRO( I, J, NN, SHIP=.TRUE.)

to:

           IF ( LEMEPSHIP ) THEN
           
              ! If we are over the European region ...
              ! (bug fix, now overwrite only EMEP region, cdh 1/2/2013)
              IF ( GET_EUROPE_MASK( I, J ) > 0d0 ) THEN
                 SHIP =  GET_EMEP_ANTHRO( I, J, NN, SHIP=.TRUE.)
              ENDIF

           ENDIF

--Melissa Payer 14:19, 3 January 2013 (EST)

Bugs in ship emissions and non-local PBL mixing

This update was tested in the 1-month benchmark simulation v9-02l and approved on 26 Jun 2013. This update is included in Adjoint v35a.

Chris Holmes wrote:

I have some bug fixes for ship NOx emissions which have some significant impacts on HOx-NOx-O3 chemistry. In addition, I found an unresolved bug that affects all emissions, at least when using non-local PBL mixing. Geert Vinken and I have talked and I believe he concurs with my recommended changes.
One proposal that I will make is that we should add global mass balance checks to the monthly benchmarks, in order to find and fix these kinds of bugs more quickly in the future. For example, the integrated emissions minus deposition and chemical loss over a 1-month run should equal the change in mass between the first and last restart files. This would help QA/QC during model development. Many, but not all, of the bugs below would have been caught by this kind of test.
BUG FIXES
  • Ship NOx emissions with the ICOADS-AMVER inventory were 3.3 times too low, due to a NO2 vs. N molecular weight error. Emissions should be 5.0Tg(N)/yr. As a result, O3 and HNO3 concentrations were underestimated, especially over the N. Atlantic and N. Pacific. This bug has probably persisted in all model versions with ICOADS ship emissions.
NOTE: Yanko Davila found that this bug fix may not be backwards compatible with GEOS-Chem v9-01-01 and earlier when ship emissions were handled in emfossil.F. Applying the bug fix in earlier versions may result in unreasonably high values of ozone over the shipping zones.
All remaining bugs afflict only v9-01-03 and later.
  • Some portion (probably 25%) of ship emissions were neglected in the model runs with non-local PBL mixing, due to ship emissions being in calcrate.F, not setemis.F. I moved the ship code to setemis.F and reordered the call to Fast-J in chemdr.F to accommodate this. (The Fast-J move alone has no impact.)
  • Molecular weights of NOx, HNO3, and O3 were all mixed up in ship plume code. Affects both simulation and diagnostics only v9-01-03, although there was a similar bug in v9-01-01 that we've already fixed in v9-01-02.
  • ND32 and ND36 diagnostics gave incorrect totals because ship NOx is calculated every convective time step, when using non-linear PBL mixing, rather than every emission time step. I created additional diagnostic counters in order to calculate the correct averages, regardless of the mixing scheme chosen.
MINOR SCIENCE UPDATES
These fixes enable the code to do what it was supposed to do, although they're more than simple bug fixes.
  • Net O3 loss in ship plumes (which occurs at night) is now treated as dry deposition, rather than set to zero. We calculate a dry deposition frequency that would give an equivalent O3 loss rate.
  • Ship plume NO2 should be included in Ox emissions (along with O3 production) when using the non-local PBL mixing. This is unnecessary when doing instant PBL mixing because then emissions occur with chemistry when there is no Ox family.
  • ND63 diagnostics are now averages of user-specified time intervals and reported in units of molec/cm2/s or unitless (mol/mol). This improves consistency with other diagnostics.
REMAINING EMISSIONS BUG
  • With non-local PBL mixing, there are *no emissions* during the first mixing and convection time step. Even worse, you can't tell this from the diagnostics, which show emissions as normal. This happens because some emission variables are not initialized until after chemistry runs, so setemis within vdiff_mod can't run. Emissions of all trace gases are affected, at least in v9-01-03. I don't know how long this error has persisted. Resolving this bug requires putting chemistry before PBL mixing in main. For fully decoupling emissions and chemistry code. I tested the reordering solution, but it causes 20% or greater changes in concentration of some species, so I leave this issue to the GCST. The emission and PBL mixing wiki pages should have a warning about this.

--Bob Y. 11:57, 3 May 2013 (EDT)
--Melissa Sulprizio 11:20, 22 August 2013 (EDT)

Bug in ND36 diagnostic when ship emissions are turned off

This code was removed from GEOS-Chem v10-01 and newer versions. The HEMCO emissions component now computes all emissions diagnostics internally.

— Bob Yantosca, 17 February 2015

This update was tested in the 1-month benchmark simulation v9-02o and approved on 03 Sep 2013.

Yanko Davila wrote:

It seems there may be a small potential bug in the ND36 diagnostic in diag3.F. Near lines 2435, the following:
           IF ( AD36_SHIP_COUNT >= 1 ) THEN
              ARRAY(:,:,1) = AD36(:,:,MM) / SECONDS +
    &              AD36_SHIP(:,:,MM) / REAL( AD36_SHIP_COUNT )
           ENDIF
should be
           IF ( AD36_SHIP_COUNT >= 1 ) THEN
              ARRAY(:,:,1) = AD36(:,:,MM) / SECONDS +
    &              AD36_SHIP(:,:,MM) / REAL( AD36_SHIP_COUNT )
           ELSE 
              ARRAY(:,:,1) = AD36(:,:,MM) / SECONDS
           ENDIF
so that AD36 will have the correct units even if shipping emissions are turned off.

--Melissa Sulprizio 11:36, 22 August 2013 (EDT)

Only call PARANOX with the full-chemistry simulations

Module emissions_mod.F has been removed from GEOS-Chem v10-01 and newer versions. PARANOX is now implemented via the HEMCO emissions component.

— Bob Yantosca, 17 February 2015

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

In routine DO_EMISSIONS (in module GeosCore/emissions_mod.F), the subroutine READ_PARANOX_LUT is called for fullchem, offline aerosol, tagged CO, and H2/HD simulations. But PARANOX assumes that you have NO and O3 tracers defined. Calling PARANOX from an offline simulation will result in a seg-fault error, caused by unallocated arrays.

The solution is to only call READ_PARANOX_LUT for the full-chemistry simulations and not from any of the offline simulations.

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

Fix for high values of O3 dry deposition

This update is slated for inclusion in GEOS-Chem v10-01.

Tomás Sherwen wrote:

I am experiencing an issue with the O3 dry deposition fields in V9-2 (GEOS-FP), and note a similar issue has been previously reported within the wiki with a response from Bob Yantosca.
The O3 deposition fields are extremely high over Shanghai, northern Europe and near Lake Superior. A log plot of this is attached below. Masking for anomalous values, yields a annual deposition within expected bounds (821 Tg / yr). This anomaly is not present for other depositional fields tested (e.g. SO2, iodine tracers, etc). The issue is present within the “off-the-shelf” version i have of v9-2. Standard compile settings have been used, the flags implicated in response on the wiki were not used.

The plot below shows the O3 dry deposition field (2012-07-01 to 2013-07-01, GEOS-FP, V9-2) / Tg O3 / yr (capped at 1000000000.0 for plotting)

O3dep v9-02.png

Chris Holmes responded:

I have a solution. The attached patch file applies to v9-02-Public-Release with the parent commit "Clean up use of State_Met in several modules". This supersedes and replaces my previous patch file that is currently posted on the wiki here.
The wiki description of my changes since v9-02 is still accurate. The substantive difference between this patch and the previous one is that when O3 is lost in sub-grid-scale ship plumes, the loss is calculated by the chemical solver using a 1st order rate coefficient from paranox.
The problem that Tomás identified occurred because paranox calculates a 1st order loss rate for O3 in ship plumes by diving the flux by the ambient O3 concentration in a grid box. The 1st order loss rate can be quite high when the O3 concentration is low (divide by a small number). Tomás's problem occurs when the O3 concentration then increases after the paranox call and before the 1st order loss is applied, so that a large 1st order loss rate is applied to a large O3 concentration. Because of the timing and order of operations in GC, this can occur when using NLPBL mixing, but not with instant PBL mixing. With the plume O3 loss now calculated inside chemistry, the problem does not occur.
My patch requires adding the following new reaction to globchem.dat
   A  998 0.00E+00  0.0E+00      0 0 S   0.00     0.     0.
         O3            +
   =                   +                   +                   +
   +                   +                   +                   +
   +                   +                   +                   +
   +                   +                   +                   +
I have not used KPP and haven't updated the KPP files.

--Melissa Sulprizio 09:34, 17 July 2014 (EDT)

Outstanding issues not yet resolved