Ship emissions

From Geos-chem
Revision as of 16:19, 31 January 2012 by Jaf (Talk | contribs) (Outstanding issues not yet resolved)

Jump to: navigation, search

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


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

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

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].


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

The source code is contained in file arctas_ship_emiss_mod.f.

For more information about the data, please see the README file: GEOS_1x1/ARCTAS_SHIP_2008/README

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).


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.

The Corbett et al data are read from disk by routine READ_SHIP_SO2 in sulfate_mod.f.

For more information about the data files, please see the following README files:

  1. GEOS_0.5x0.666_CH/sulfate_sim_200508/README
  2. GEOS_0.5x0.666_NA/sulfate_sim_200508/README
  3. GEOS_2x2.5/sulfate_sim_200508/README
  4. GEOS_4x5/sulfate_sim_200508/README


For more information about the data files, please see the following README document: GEOS_1x1/EDGAR_200607/README

The source code routines that read the EDGAR ship emissions data from disk are:

  1. SEASCL_EDGAR_SHIP_SO2 (edgar_mod.f)
  2. GET_EDGAR_SHIP_SO2 (edgar_mod.f)

The EDGAR ship SO2 emissions are reported as per year. Routine SEASCL_EDGAR_SHIP_SO2 applies monthly scale factors (which are computed as the ratio of monthly/total ship SO2 emissions from the Corbett et al inventory to the annual EDGAR ship SO2 emissions. This is required to impose aseasonality onto the EDGAR ship SO2 emissions.


The EMEP inventory contains ship emissions for NOx, CO, SO2.

The source code is located in file emep_mod.f.

Please also note the following fixes:

  1. Minor fixes for EMEP ship emissions
  2. Inconsistent mask file for EMEP ship emissions

1980 to 1989

EMEP ship data from 1980-1989 emit NOx as pure NOx (and not HNO3 + 10*O3). It was not possible to separate the NOx into HNO3 and O3 from this data set.

See Auvray and Bey [2005] and Vestreng and Klein [2002] for more information.

1990 to 2005

EMEP ship data from 1990-2005 are based on [Vestreng et al, 2007].

For more information about the data, please see the README file: GEOS_1x1/EMEP_200911/README

--Bob Y. 14:40, 24 February 2010 (EST)


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.

The source code is in file icoads_ship_mod.f.

For more information about the data, see the README file: GEOS_1x1/ICOADS_200907/README

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 (

PARANOX ship plume model

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.
The reference for my work has just been published.

This update is currently slated for inclusion into GEOS-Chem v9-01-03.

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


  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

Please see these posts about minor bug fixes for EMEP ship emissions in v8-02-04 in v8-02-05.

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

Bug for ship emissions in emfossil.f

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.
      DO N = 1, NEMANTHRO
         NN = IDEMS(N)

         IF ( NN /= 0 ) THEN
             CALL EMFOSSIL( I, J, N, NN, IREF, JREF, JSCEN )
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

This fix was included in GEOS-Chem v9-01-01.

Geert Vinken wrote:

When I was looking at the ship emissions I noticed that the current mask that determines where to apply EMEP emissions, does not correspond anymore with the actual EMEP emissions. The mask still corresponds with the 200510 emissions data. This mismatch in the mask and the actual emissions results in no ship emissions being released over a region of the North Atlantic and north of Norway.
As a solution I updated the mask file to correspond with the new border of the EMEP emissions domain. I cut of the mask west of 30W and north of 70N. This fixes the problem.

--Bob Y. 15:28, 10 January 2011 (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.

Michael Long discovered this potential bug in the EDGAR emissions code.

The current GEOS-Chem default configuration uses the ICOADS ship emissions instead of the EDGAR ship emissions. In routine READ_EMISSIONS_MENU in input_mod.f, we have a safety check...we turn off the logical switch LEDGARSHIP if switch LICOADS is turned on:

     ! Check global ship emissions options
     ! Add an ship emissions options (cklee, 6/30/09)
     ! Replace with ICOADS ship emissions
     ! User can still use regional EMEP, and ARCTAS-SO2 if he wants (phs) 
        LEDGARSHIP = .FALSE. ! ICOADS precedes EDGAR
        LSHIPSO2   = .FALSE. ! SO2-ICOADS precedes SO2-Corbett

In edgar_mod.F, the EDGAR ship emissions arrays are not allocated if the switch LEDGARSHIP == .FALSE.:


        IF ( AS /= 0 ) CALL ALLOC_ERR( 'EDGAR_SO2_SHIP' )
        EDGAR_SO2_SHIP = 0d0

        IF ( AS /= 0 ) CALL ALLOC_ERR( 'EDGAR_NOx_SHIP' )
        EDGAR_NOx_SHIP = 0d0

        IF ( AS /= 0 ) CALL ALLOC_ERR( 'EDGAR_CO_SHIP' )
        EDGAR_CO_SHIP = 0d0

However, we still pass EDGAR_CO_SHIP to routine COMPUTE_EDGAR_CO even if it is not allocated:

        IF ( LEDGARCO ) THEN

Here, EDGAR_CO_SHIP is an output variable, which is supposed to return the EDGAR ship emissions at the current model resolution. This may produce undefined behavior. This may trigger an error when compiling with the check-array-bounds option (BOUNDS=yes).

Some of the more forgiving compilers may "fix" this on-the-fly and thus, you might not see any errors. However, for the sake of good programming practice, this should be fixed.

--Bob Y. 16:12, 8 August 2011 (EDT)

Bug in ship NOx emissions

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

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,IDEOX)   = 10D0 * SHIP * 
!     &                               XNUMOL(IDTOX) / DTSRCE
!               ! ND36 = Anthro source 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 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

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

Outstanding issues not yet resolved

Duplicate ship emissions in Asia in Streets 2000 inventory

The anthropogenic emissions from the Streets 2000 inventory include ship emissions for NOx, SO2, and CO. This results in duplication of ship emissions when a global ship emissions inventory is used in model versions at least through v9-01-02. This will be fixed in a future version (TBD) by setting Streets anthropogenic NOx, SO2, and CO emissions to 0 for boxes that are 100% ocean. However, there may still be extra enhancements in coastal grid boxes, where land-based and ship emissions cannot be separated in this inventory.

This problem affects all simulations over Asia for model years 2000 and earlier. It also affects nested model runs for model years between 2001-2005 due to a bug in choosing the simulation year in the nested model, at least through v9-01-02. This separate problem will also be fixed in a future version (TBD).

--Jenny Fisher, 31 January 2011