Difference between revisions of "Soil NOx emissions"
(→Previous issues that have now been resolved) |
(→Modifications for HEMCO) |
||
Line 52: | Line 52: | ||
=== Modifications for HEMCO === | === Modifications for HEMCO === | ||
− | The soil NOx algorithm | + | The soil NOx algorithm has been included as an extension to the [[HEMCO]] emissions component in [[GEOS-Chem v10-01 benchmark history#v10-01e|GEOS-Chem v10-01e]]. Here is a list of the source code files that were modified: |
− | --[[User:Bmy|Bob Y.]] | + | {| border=1 cellspacing=0 cellpadding=5 |
+ | |-bgcolor="#CCCCCC" | ||
+ | !width="300px"|Module(s) | ||
+ | !width="675px"|Status | ||
+ | |||
+ | |-valign="top" | ||
+ | | | ||
+ | *<tt>Headers/commsoil_mod.F</tt> | ||
+ | |'''COMPLETELY REMOVED; SOME CONTENTS MERGED WITH ANOTHER MODULE.''' | ||
+ | *HEMCO has rendered everything obsolete in <tt>Headers/commsoil_mod.F</tt> except the following 3 arrays: | ||
+ | *#<tt>DEP_RESERVOIR</tt> | ||
+ | *#<tt>DRY_TOTN</tt> | ||
+ | *#<tt>WET_TOTN</tt> | ||
+ | *These arrays have now been added to module <tt>GeosCore/get_ndep_mod.F</tt> as PUBLIC module variables. | ||
+ | *NOTE: The ND49 timeseries diagnostics for soil NOx quantities are now broken. HEMCO keeps track of these quantities via its own diagnostic archiving system. | ||
+ | |||
+ | |-valign="top" | ||
+ | |<tt> | ||
+ | *GeosCore/nc_soilnox_read.F90 | ||
+ | *GeosCore/pulsing.F | ||
+ | *GeosCore/soil_nox_mod.F | ||
+ | *GeosCore/soilnox_restart_mod.F | ||
+ | </tt> | ||
+ | |'''COMPLETELY REMOVED.''' | ||
+ | *Soil NOx emissions are now computed by a HEMCO extension (source code file <tt>HEMCO/Extension/hcox_soilnox_mod.F90</tt>). | ||
+ | *The soil NOx restart file quantities are now saved to the HEMCO restart file. | ||
+ | |} | ||
+ | |||
+ | --[[User:Bmy|Bob Y.]] 17:24, 5 January 2015 (EST) | ||
== References == | == References == |
Revision as of 22:24, 5 January 2015
This page describes the soil NOx emissions schemes contained within GEOS-Chem.
Contents
Hudman et al 2012 soil NOx emissions algorithm
This update was tested in the 1-month benchmark simulation v9-02b and approved on 29 Oct 2012.
Overview
Rynda Hudman developed a new soil NOx emissions scheme, based on the work of Neil Moore (formerly of Dalhousie University). This work was published in Hudman et al (2012).
Bram Maasakkers (Eindhoven) further updated the Hudman et al (2012) soil NOx emissions scheme, as follows:
Bram Maasakkers wrote:
- The most important changes in the submitted version are:
- Minor changes originating from the update from GEOS-Chem v8-02-02 to GEOS-Chem v9-01-03. Furthermore, to allow the parametrization to work with non-local planetary-boundary layer (PBL) mixing, a soil NOx section has been added to the non-local PBL mixing module. This was required to report the deposition of N to the soil NOx module.
- The Jacob and Bakwin (1991) reduction factor has been implemented, representing the deposition of emitted NOx in the canopy. Implementation leads to a decrease of annual soil NOx emissions from 10.7 to 9.5 Tg N yr-1. The largest impact occurs over the tropical rain-forests in South America and central Africa.
- To allow the model to work at all resolutions (the provided code only worked at 2x2.5), online regridding has been implemented using new high resolution input files.
Bram Maasakker's updates to the Hudman et al (2012) emissions scheme were implemented into the GEOS-Chem v9-02 public release. The older Yienger and Levy (1995) soil NOx emissions algorithm has since been removed from GEOS-Chem.
--Bob Y. 14:54, 5 January 2015 (EST)
Validation
See this validation document by Rynda Hudman.
--Bob Y. 16:45, 9 March 2011 (EST)
Source code and data
Bram Maasakkers wrote:
- Four new input files are read in separate modules.
- Surface resistance values (for canopy_nox_mod): nc_soilnox_read.F90
- soilNOx.Inputs_MODIS_Biomes.nc
- Clim file (includes regridding): readclim.F
- soilNOx.climate.generic.05x05.nc
- Fertilizer reservoir (includes regridding): readfert.F
- soilNOx.fert_res.generic.05x05.nc
- MODIS/Koppen landcover map (includes regridding): readsoil.F
- soilNOx.landtype.generic.025x025.nc
- Surface resistance values (for canopy_nox_mod): nc_soilnox_read.F90
Data files for the updated soil NOx emissions scheme can be found at:
ftp://ftp.as.harvard.edu/pub/geos-chem/data/GEOS_NATIVE/soil_NOx_201208/
You can download these directories with anonymous FTP or the Wget utility. For instructions, please see Chapter 2.4, Downloading the GEOS-Chem shared data directories in the GEOS-Chem Online User's Guide.
--Melissa Payer 12:22, 30 October 2012 (EDT)
Modifications for HEMCO
The soil NOx algorithm has been included as an extension to the HEMCO emissions component in GEOS-Chem v10-01e. Here is a list of the source code files that were modified:
Module(s) | Status |
---|---|
|
COMPLETELY REMOVED; SOME CONTENTS MERGED WITH ANOTHER MODULE.
|
|
COMPLETELY REMOVED.
|
--Bob Y. 17:24, 5 January 2015 (EST)
References
- Bey I., D. J. Jacob, R. M. Yantosca, J. A. Logan, B. Field, A. M. Fiore, Q. Li, H. Liu, L. J. Mickley, and M. Schultz, Global modeling of tropospheric chemistry with assimilated meteorology: Model description and evaluation, J. Geophys. Res., 106, 23,073-23,096, 2001. PDF
- Hudman, R.C., N.E. Moore, R.V. Martin, A.R. Russell, A.K. Mebust, L.C. Valin, and R.C. Cohen, A mechanistic model of global soil nitric oxide emissions: implementation and space based-constraints, Atm. Chem. Phys., 12, 7779-7795, doi:10.5194/acp-12-7779-2012. HTML
- Jacob, D.J., and P.S. Bakwin, Cycling of NOx in tropical forest canopies and its implications for the global source of biogenic NOx to the atmosphere, in Microbial Production and Consumption of Greenhouse Gases, edited by W.B. Whitman, American Society of Microbiology, Washington DC, 1991.
- Olson, J. World Ecosystems (WEI.4): Digital raster data on a 10 minute geographic 1080 x 2160 grid, in Global ecosystems database, version 1.0: Disc A, edited by NOAA Natl. Geophys. Data Center, Boulder, Colorado, 1992.
- Yienger, J.J, and H. Levy, Empirical model of global soil-biogenic NOx emissions, J. Geophys. Res., 100, D6, 11,447-11464, June 20, 1995.
- Wang, Y., D.J. Jacob, and J.A. Logan, Global Simulation of tropospheric O3-NOx-hydrocarbon chemistry: 1. Model formulation, J. Geophys. Res., 103, pp. 10713-10725, 1998. PDF
--Bob Y. 14:20, 19 February 2010 (EST)
Previous issues that have now been resolved
The following posts describe issues with the Hudman et al 2012 algorithm that were later fixed.
Dependency between soil NOx emissions and dry deposition
This issue has been resolved in the new soil NOx algorithm that was added to GEOS-Chem v9-02. The new module GeosCore/canopy_nox_mod.F computes the NOx from the canopy independently of the dry deposition module. We shall leave this post here for reference.
—Bob Yantosca, 06 Feb 2014
In GEOS-Chem there is a code dependency between the dry deposition routines and the soil NOx emissions routines. This is purely historical baggage that goes back to the days of the old 9-layer Harvard-GISS CTM (from which these routines were taken).
Please see the full discussion on the dry deposition wiki page.
--Bob Y. 10:41, 19 February 2010 (EST)
Routine SOIL_DRYDEP produces NaN values when ND44 diagnostic is turned off
This issue was tested in the 1-year benchmark simulation v9-02f and approved on 20 Mar 2013.
This error is suspected of producing anomalously high NOx emissions over Greenland in the 1-year benchmark to GEOS-Chem v9-02f. We will re-run that benchmark with this fix.
Patrick Kim wrote:
- I have discovered [an] error when we run with non-local PBL mixing.... It actually has nothing to do with the non-local mixing itself, but rather is a result of the soil NOx emissions. NIT was being passed as an NaN into SOIL_DRYDEP from the CHEM_NIT subroutine (in GeosCore/sulfate_mod.F), and therefore you get a NaN for DRY_NIT (in module GeosCore/get_ndep_mod.F). This causes the A_FERT term to be an NaN in the call to routine SOILNOX and it propagates down in the calculation from there.
- Looking at the CHEM_NIT subroutine, it looks like this is because I did not have ND44 turned on in my input.geos file. In the code, [array] T44 is only initialized and calculated if the diagnostic is turned on, but this is what is passed to SOIL_DRYDEP. My suggestion would be to change the code to allow the calculation of the dry deposition quantities earlier without having to specifically turn on this diagnostic.... I've run tests with the diagnostic on and have not run into any problems since.
We have fixed this as follows:
GeosCore/sulfate_mod.F: In routines CHEM_NH3, CHEM_NH4, CHEM_NH4aq, and CHEM_NIT, we save drydep fluxes into an array that is defined whether or not you have the ND44 diagnostic turned on. Then we pass values from that array to SOIL_DRYDEP. Also, we now prevent SOIL_DRYDEP and ND44 from being updated if LNLPBL = .TRUE., since in that case those operations will be done in the non-local PBL mixing module (GeosCore/vdiff_mod.F90).
GeosCore/drydep_mod.F: Moved the call to SOIL_DRYDEP out of the !$OMP CRITICAL block, this is not necessary.
GeosCore/vdiff_mod.F90: Cosmetic changes and added comments.
--Bob Y. 16:56, 13 March 2013 (EDT)
Prevent LOG(0) error from occurring in soil NOx module
This fix was originally made in GeosCore/soil_nox_mod.F, which was removed from GEOS-Chem v10-01 and higher versions. The equivalent fix has been made in the HEMCO soil NOx emissions module.
—Bob Yantosca, 06 Feb 2013.
This update was tested in the 1-month benchmark simulation v9-02r and approved on 14 Nov 2013.
In function PULSING (in module GeosCore/soil_nox_mod.F), a numerical floating-point error may occur if the argument of a logarithm is zero. To prevent this from occurring, we added this fix:
!----------------------------------------------------------------------------- ! Prior to 10/28/13: ! Now add a numerical trap to prevent log(0) from occurring, which would ! cause a floating-point error. (mpayer, bmy, 10/28/13) ! !Initialize new pulse factor (dry period hours) ! PFACTOR = 13.01 * LOG( DRYPERIOD ) - 53.6 !----------------------------------------------------------------------------- ! Initialize new pulse factor (dry period hours) IF ( DRYPERIOD > 0 ) THEN PFACTOR = 13.01 * LOG( DRYPERIOD ) - 53.6 ELSE PFACTOR = -53.6 ENDIF
This issue was discovered with the GEOS-Chem Unit Tester while validating the GEOS-4 4x5 full-chemistry simulation.
--Bob Y. 15:28, 14 November 2013 (EST)
NOTE: The corresponding fix was also added to HEMCO emissions routine PULSING in hcox_soilnox_mod.F90.
--Bob Y. 16:09, 3 June 2014 (EDT)
Unresolved issues
None at this time.
--Bob Y. 16:10, 3 June 2014 (EDT)
Yienger and Levy 1995 soil NOx algorithm
In GEOS-Chem v9-02 and higher versions, the original soil NOx emissions algorithm (based on Yienger & Levy [1995] has been replaced by the Hudman et al 2012 algorithm described above. We shall leave this post here for reference.
—Bob Yantosca, 06 Feb 2014
Overview
The original soil NOx emissions scheme in GEOS-Chem was based on the work of Yienger and Levy [1995] and Wang et al [1998]. A brief description is given in Section 4.4 from Wang et al [1998]:
Nitrogen oxides are emitted by soil microbes during nitrification and denitrification processes. Following Yienger and Levy [1995], we compute NO emission fluxes as a function of vegetation type (from the Olson [1992] map), temperature, precipitation history, fertilizer usage if any, and a canopy reduction factor, η. Parameter η is the fraction of soil emitted NOx that is deposited within the canopy before it is exported to the atmosphere; it reflects the oxidation of NO to NO2 in the canopy air followed by uptake of NO2 by vegetation [Jacob and Bakwin, 1991]. This result was extened by Yienger and Levy [1995] to other ecosystems by assuming an arbitrary function of LAI and stomatal area index (the product of LAI and the ratio of stomatal area to leaf area). We attempt here to formulate η on a more physical basis. ...
We estimate ... a canopy reduction factor η = 70% for the Amazon forest in April, as obtained by Jacob and Bakwin [1991]. However, our computed global average η is only 20%. Compared with the Amazon Forest, most ecoystems have smaller values of LAI and gamma, stronger winds above the canopy , and higher canopy surface resistances for NO2 deposition. Our global mean η is considerably less than the estimate of 50% by Yienger & Levy [1995]. Our global above-canopy emission of NOx from soils is 6 Tg N/yr, only 10% higher than that of Yienger and Levy [1995], likely reflecting differences in the meterological fields used for surface temperature and precipitation.
Validation
See Wang et al [1998] and Bey et al [2001].
Source code and data
The source code files for the GEOS-Chem soil NOx emissions scheme are:
- commsoil.h
- fertadd.f
- pulsing.f
- precipfrac.f
- sfcwindsqr.f
- soilbase.f
- soilcrf.f
- soilnoxems.f
- soiltemp.f
- soiltype.f
For more information about the data, please see the README files in the following GEOS-Chem data directories:
- 0.5 x 0.666 China nested grid: GEOS_0.5x0.666_CH/soil_NOx_200203/README
- 0.5 x 0.666 North America nested grid: GEOS_0.5x0.666_NA/soil_NOx_200203/README
- 2 x 2.5 global data: GEOS_2x2.5/soil_NOx_200203/README
- 4 x 5 global data: GEOS_4x5/soil_NOx_200203/README
--Bob Y. 09:43, 24 February 2010 (EST)
Issues that were later resolved
Quantities zeroed at startup
This issue is now resolved with the new soil NOx algorithm that was added to GEOS-Chem v9-02. A soil NOx restart file is saved at the end of each simulation to ensure that the quantities are preserved between stages of a long simulation. We shall leave this post here for reference.
—Bob Yantosca, 06 Feb 2013.
The existing GEOS-Chem soil NOx emissions code zeroes several quantities at startup, among which are the soil pulsing factors. These are the multiplicative factors which compute the sudden increase (or "pulse") of NOx from soils after precipitation falls on dry soil. There are factors for 3 pulsing types in the code: after 5 days, after 10 days, and after 15 days. These are stored in the SOILPULS array, along with a flag to denote dry or wet soil.
Here is an illustration of the problem. The soil pulsing and resultant quantities for a run that started on Feb 1, 2000 are printed out below.
---> DATE: 2000/02/01 GMT: 00:00 X-HRS: 0.000 ###---------------------------------------------------- ### I, J : 69 51 ### SOILPULS 1 : 1.00000000000000 ! dry/wet soil ### SOILPULS 2 : 0.000000000000000E+000 ! 5-day pulsing factor ### SOILPULS 3 : 0.000000000000000E+000 ! 10-day pulsing factor ### SOILPULS 4 : 0.000000000000000E+000 ! 15-day pulsing factor ### PULSE : 1.00000000000000 ! Resultant pulsing factor ### SOIL TOT : 11112048160.8142 ! Soil NOx emissions @ box (69,51)
Note that all of the soil pulsing factors are zero because this is the very first timestep of the run. However, if we compare this to a run which started on Jan 1, 2000:
---> DATE: 2000/02/01 GMT: 00:00 X-HRS: 744.000 ###---------------------------------------------------- ### I, J : 69 51 ### SOILPULS 1 : 1.00000000000000 ! dry/wet soil flag ### SOILPULS 2 : 2.843218125816628E-003 ! 5-day pulsing factor ### SOILPULS 3 : 2.189570703768949E-002 ! 10-day pulsing factor ### SOILPULS 4 : 4.879111537477707E-002 ! 15-day pulsing factor ### PULSE : 1.89150985108935 ! Resultant pulsing factor ### SOIL TOT : 21018548561.9593 ! Soil NOx emissions @ box (69,51)
we see that the soil pulsing factors have already been initialized to non-zero values from the January spinup. This leads to different soil NOx emissions than in the run which started on Feb 1, 2000. This is an inherent flaw in the design of the original soil NOx code, which was taken from the old Harvard-GISS CTM.
Rynda Hudman is currently working on updating the soil NOx algorithm. The pulsing information (as well as other quantities) will be stored in a soil NOx restart file. This will eliminate the problem.
--Bob Y. 10:49, 18 February 2010 (EST)