Lightning NOx emissions
GEOS-Chem v11-02-final will also carry the designation GEOS-Chem 12.0.0. We are migrating to a purely numeric versioning system in order to adhere more closely to software development best practices. For a complete description of the new versioning system, please see our GEOS-Chem version numbering system wiki page.
On this page we list various updates to GEOS-Chem's lightning NOx emissions algorithm.
- 1 Generating OTD/LIS factors
- 2 OTD/LIS redistribution for GEOS-FP
- 3 OTD/LIS redistribution for MERRA 2x2.5
- 4 Previous issues that are now resolved
- 5 Obsolete information
Generating OTD/LIS factors
When running a GEOS-Chem simulation for a time period that doesn't have OTS/LIS factors, your simulation will stop with the following error:
Your model framework has not had its lightnox code reprocessed for the correction to how CLDTOPS are calculated, probably due to the lack of your met fields at Harvard. Please contact Lee Murray (email@example.com), who can help you prepare the necessary modifications and files to get lightnox working for you. You may remove this trap in lightnox_nox_mod.f at your own peril, but be aware that the magnitude and distribution of lightnox may be unrealistic. You can explicitly set the beta value in your HEMCO configuration file by adding it to the 'Lightning NOx settings: # ExtNr ExtName on/off Species 103 LightNOx : on NO --> OTD-LIS scaling : 1.00e-3 CALL HCO_ERROR( 'Wrong beta - see information in standard output', RC )
To guarantee that lightning remains reasonable during your simulation period, you'll need to provide Lee Murray with the unconstrained flash rates so he can generate the OTD/LIS factor.
To generate unconstrained flash rates, run GEOS-Chem for your full period and turn off all emissions except lightning in HEMCO_Config.rc:
103 LightNOx : on NO --> OTD-LIS factors : false --> OTD-LIS scaling : 1.000001 --> CDF table : $ROOT/LIGHTNOX/v2014-07/light_dist.ott2010.dat
To speed up the simulation, we also recommend disabling all processes (transport, chemistry, convection, wet deposition, dry deposition) in input.geos. To avoid hitting the above error in this simulation, you can either use
OTD-LIS scaling : 1.000001 in HEMCO_Config.rc or manually comment out the
IF ( BETA == 1d0 ) trap in HEMCO/Extensions/hcox_lightnox_mod.F90 (you will need to inform Lee of which method you used). Archive monthly mean lightning flash rates using the ND56 diagnostic and send those to Lee Murray.
OTD/LIS redistribution for GEOS-FP
OTD/LIS factors in GEOS-Chem v10-01
In GEOS-Chem v10-01 and newer versions, the OTD/LIS lightning redistribution factors are read with the HEMCO emissions component. We have created new OTD/LIS 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. 16:31, 13 February 2015 (EST)
OTD/LIS factors in GEOS-Chem v9-02
Lee Murray has generated OTD-LIS local redistribution factors for use with the GEOS-FP met fields. The scale factors were based on GEOS-FP met data from April 2012 through September 2013.
You may obtain the new OTD/LIS scale factors from:
ftp ftp.as.harvard.edu cd gcgrid/data/GEOS_4x5/lightning_NOx_201311 mget * cd gcgrid/data/GEOS_2x2.5/lightning_NOx_201311 mget * cd gcgrid/data/GEOS_0.5x0.666_NA/lightning_NOx_201311 mget * cd gcgrid/data/GEOS_0.25x0.3125_NA/lightning_NOx_201311 mget *
The OTD/LIS files are named with the following convention:
Note that the version of the data has been updated from v4 to v5, in order to distinguish them from the files in the previous directory lightning_NOx_201101/.
Code updates have also been made to lightning_nox_mod.f in GEOS-Chem v9-02, so that GEOS-Chem reads in these new OTD/LIS local factors.
--Bob Y. 13:13, 18 June 2014 (EDT)
Update OTD/LIS factors for GEOS-FP through October 2014
These updates were validated with the 1-month benchmark simulation v10-01h and approved on Approved 01 May 2015.
Users of GEOS-Chem v9-02 may use the updated OTD/LIS factors by following the steps below.
Download the updated OTD/LIS scale factors
You may obtain the latest OTD/LIS scale factors using:
ftp ftp.as.harvard.edu cd gcgrid/data/GEOS_4x5/lightning_NOx_201408 mget * cd gcgrid/data/GEOS_2x2.5/lightning_NOx_201408 mget * cd gcgrid/data/GEOS_0.25x0.3125_NA/lightning_NOx_201408 mget *
Modify the code in lightning_nox_mod.F
(1) In routine READ_LOCAL_REDIST, change FILENAME to point to the lightning_NOx_201408 data directory and use the appropriate suffix. The code should now look like this:
! OTD-LIS local redist filename for CTH parameterization ! Now read from lightning_NOx_201408 (ltm, 7/23/14) FILENAME = & 'lightning_NOx_201408/OTD-LIS-Local-Redist.CTH.v5.' // & TRIM( MODELNAME ) // '.' // GET_RES_EXT() ! Prefix directory to file name FILENAME = TRIM( DATA_DIR ) // TRIM( FILENAME ) ! Append suffix for GEOS-FP nested grids #if defined( GEOS_FP ) && defined( NESTED_CH ) FILENAME = TRIM( FILENAME ) // '.CH' #elif defined( GEOS_FP ) && defined( NESTED_NA ) FILENAME = TRIM( FILENAME ) // '.NA' #elif defined( GEOS_FP ) && defined( NESTED_EU ) FILENAME = TRIM( FILENAME ) // '.EU' #elif defined( GEOS_FP ) && defined( NESTED_SE ) FILENAME = TRIM( FILENAME ) // '.SE' #endif ! Append suffix for developmental lightning redistribution files ! This file constrains lightning distribution from Apr. 2012-Oct. 2014 ! (ltm, 12/10/2014) #if defined( GEOS_FP ) FILENAME = TRIM( FILENAME ) // '.v20141210' #endif
(2) In routine READ_LOCAL_REDIST, update the BETA factors for GEOS-FP. The code should now look like this:
#if defined( GEOS_FP ) && defined( GRID4x5 ) !--------------------------------------- ! GEOS-FP: 4 x 5 global simulation !--------------------------------------- ! Constrained with simulated "climatology" for ! April 2012 - Oct 2014. Will need to be updated as more ! met fields become available (ltm, 2014-12-10). IF ( ( GET_YEAR() .eq. 2012 .and. GET_MONTH() .ge. 4 ) .or. & ( GET_YEAR() .eq. 2013 ) .or. & ( GET_YEAR() .eq. 2014 .and. GET_MONTH() .le. 10 ) ) THEN BETA = ANN_AVG_FLASHRATE / 82.373293d0 ENDIF #elif defined( GEOS_FP ) && defined( GRID2x25 ) !--------------------------------------- ! GEOS-FP: 2 x 2.5 global simulation !--------------------------------------- ! Constrained with simulated "climatology" for ! April 2012 - Oct 2014. Will need to be updated as more ! met fields become available (ltm, 2014-12-10). IF ( ( GET_YEAR() .eq. 2012 .and. GET_MONTH() .ge. 4 ) .or. & ( GET_YEAR() .eq. 2013 ) .or. & ( GET_YEAR() .eq. 2014 .and. GET_MONTH() .le. 10 ) ) THEN BETA = ANN_AVG_FLASHRATE / 260.40253d0 ENDIF #elif defined( GEOS_FP ) && defined( GRID025x0325 ) && defined( NESTED_CH ) !--------------------------------------- ! GEOS-FP: Nested China simulation !--------------------------------------- ! Constrained with simulated "climatology" for ! Jan 2013 - Dec 2013. Will need to be updated as more ! met fields become available (ltm, 2014-10-22). IF ( ( cYr .eq. 2013 .and. cMt .ge. 1 ) .or. & ( cYr .eq. 2013 .and. cMt .le. 12 ) ) THEN BETA = ANN_AVG_FLASHRATE / 1052.6366d0 ENDIF #elif defined( GEOS_FP ) && defined( GRID025x03125 ) && defined( NESTED_NA ) !--------------------------------------- ! GEOS-FP: Nested N America simulation !--------------------------------------- ! Constrained with simulated "climatology" for ! April 2012 - Oct 2014. Will need to be updated as more ! met fields become available (ltm, 2015-01-13). IF ( ( GET_YEAR() .eq. 2012 .and. GET_MONTH() .ge. 4 ) .or. & ( GET_YEAR() .eq. 2013 ) .or. & ( GET_YEAR() .eq. 2014 .and. GET_MONTH() .le. 10 ) ) THEN BETA = ANN_AVG_FLASHRATE / 720.10258d0 ENDIF
(3) In routine INIT_LIGHTNING_NOX, change FILENAME to point to the lightning_NOx_201408 data directory.
!================================================================= ! Read lightning CDF from Ott et al [JGR, 2010]. (ltm, 1/25/11) !================================================================= ! Define filename FILENAME = 'lightning_NOx_201408/light_dist.ott2010.dat' FILENAME = TRIM( DATA_DIR ) // TRIM( FILENAME )
--Melissa Sulprizio 14:19, 12 January 2015 (EST)
OTD/LIS redistribution for MERRA 2x2.5
This update was tested in the 1-month benchmark simulation v9-01-03g and approved on 27 Feb 2012.
Matt Cooper wrote:
- I've been working with Lee Murray on scaling the lightning NOx for use with MERRA at 2x2.5. I've attached the new lightning_nox_mod that Lee made that now includes a scaling factor for MERRA. I've tested it and it produces the expected flash rates and lightning NOx amounts. So this is ready to included in the model.
--Melissa Payer 15:29, 22 February 2012 (EST)
Previous issues that are now resolved
Update WEST_NS_DIV to fix ozone overestimate in southern US
- We constrain the lightning NOx source with satellite data as described by Murray et al. (2012). Lightning NOx is mainly released at the top of convective updrafts following Ott et al. (2010). The standard GEOS-Chem model uses higher NOx yields for midlatitudes lightning (500 mol flash-1) than for tropical (260 mol flash-1) (Huntrieser et al. 2007, 2008; Hudman et al., 2007; Ott et al., 2010) with a fairly arbitrary boundary between the two at 23° N in North America and 35° N in Eurasia. Zhang et al. (2014) previously found that this leads GEOS-Chem to overestimate background ozone in the southwestern US and we find the same here for the eastern US and the Gulf of Mexico. We treat here all lightning in the 35° S-35° N band as tropical and this remove the distinction between North America and Eurasia.
Katie Travis wrote:
- All that is needed [for this update] is to change the following line in hcox_lightnox_mod.F90 from
REAL*8, PARAMETER :: WEST_NS_DIV = 23d0
REAL*8, PARAMETER :: WEST_NS_DIV = 35d0
BETA values for North America for years after 2008
If you are using the North-American Nested-Grid simulation for years post-2008, then you should be aware of the following. We will add this update into GEOS-Chem v9-01-03.
Lee Murray wrote:
- Since the operational version of GEOS5 used for the assimilation by GMAO changed in October 2008 from 5.1.0 to 5.2.0, which use different convection schemes, the lightning redistribution (i.e., satellite climatological constraint) needs to be determined for 5.2.0 separately. However, Harvard doesn't host Nested NA 2009-2010, so I couldn't generate the necessary input files until others had sent me the unconstrained lightning flash rates who had previously downloaded from the Dalhousie archive with those years. You should expect an annual average about 0.005 Tg N d-1 across the North American domain, with a summertime peak of about 0.01 Tg N d-1.
- However, a few warnings. Using the attached lightning constraint will be an improvement over running unconstrained, however there are substantial interannual changes in the lightning distribution -- especially at the nested horizontal resolution. The constraint will make the 2009-2010 lightning distribution that of the 1995-2005 climatological mean, and therefore perhaps not be indicative of actual lightning in 2009 or 2010. And since only two years are used to generate a simulated climatology for comparison with the long term satellite climatology, the problem may be exacerbated.
--Bob Y. 16:07, 28 February 2012 (EST)
The common block bug fix
This code has been removed from GEOS-Chem. NOx emissions are now handled by HEMCO.
Lee Murray has identified a bug in the existing code (GEOS-Chem v7-04-12) which manifests itself when lightning emissions are turned off in GEOS-Chem. The bug causes non-physical values to propagate through the tracer array...this shows up as anomalous CO concentrations at high altitudes over the tropics.
Lee Murray wrote:
- The bug of simply turning off lightning in input.geos in a clean build of GEOS-Chem v7-04-12 causing the CO (and other species) to explode has been fixed. (see attached)
- We use common block arrays to pass lightning and aircraft (GEMISNOX) and soil (GEMISNOX2) emissions to the SMVGEAR solver. If a common block is called only in a subroutine, apparently (perhaps architecture/compiler-specific) it is able to occasionally lose its values (I had to really dig up old comments on F77 programming), which is feeding junk values into the model.
- I don't know if this will correct the problems that Ray and I had with the local-rescaling lightning as well. It is quite possible that this is also common block error, though maybe not. I will continue to investigate.
- The only sure way to eliminate this problem for certain is to eliminate the use of common block arrays (which is something that's been on the to-do list for a while). If we're going to be overhauling lightning for v7-04-13, I would strongly recommend that we switch over to the use of allocated arrays to hold the lightning emissions. (This would then also require modifying at least the aircraft emissions similarly).
- Do you agree?
ERROR: note weird values in CO
FIXED: weird values in CO disappear
Bob Yantosca replied that the preferred way to fix this error would be to replace the common block array GEMISNOX with separate module arrays for lightning NOx (EMIS_LI_NOx) and Aircraft NOx (EMIS_AC_NOx). This fix will be implemented into GEOS-Chem v7-04-13.
Bob Yantosca replied:
- It's probably better to just take the GEMISNOX array out of the common block completely and to create separate module arrays for lightning and aircraft emissions. That should get rid of any instability.
- Indeed, some of these common-block errors can be very esoteric. As Lee said, they may be specific to a given compiler/platform combination. Some of these types of errors may also depend on what level of optimization that you use to compile the code. Fortran optimizers can do stuff like try to force common blocks to align themselves in multiples of 64kb chunks or other weird stuff (unless you tell it not to).
- We do have some common blocks still in GEOS-Chem, mainly in the legacy code and 3rd-party code sections (i.e. emissions, SMVGEAR, FAST-J, ISORROPIA, etc.). It is often difficult to totally remove all of the common blocks in the older code sections without making changes in a lot of other places as well. Newer parts of GEOS-Chem have been written to the F90 specifications.
- Bob Y.
Replacing the near-land algorithm
Lee Murray (see correspondence below) has submitted a revised algorithm for lightning NOx emissions. This will be added into GEOS-Chem internal version v7-04-13.
Lee Murray wrote:
- Here's a list of the changes in the lightning code over v7.04.12 that I'm about to send over to Bob for inclusion into the standard model -- these are all what I have been running my sensitivity simulations with, and I think are improvements. I just want to make sure that these sound reasonable to everyone -- please let me know if you have any concerns/objections.
- Elimination of "near-land" treatment -- reverting to a single "lightning_nox_mod.f" ("lightning_nox_nl_mod.f" will be removed). This offers a significant improvement in correlation with the climatology on its own.
- Elimination of all top-down scaling -- Attempt to have a physically-based parameterization.
- Elimination of emissions per path length. This relied on the grossly-simplified assumption that the relative path lengths vary as the linear ratio between the vertical distances between the negative charge layer with the ground and the cloud top heights for CG or IC flashes, respectively. The CG and IC path lengths (which have significant horizontal components and many multiple strokes per flash) almost definitely do not follow this relationship -- and we don't differentially distribute vertically anyway. In the future, we can look at aggregated pdfs of path lengths available from single-storm measurements to make a more appropriate distinction (hopefully in conjunction with different vertical pdfs). This was already done for N MIdLats, but now for tropics too.
- Tropical flashes at 260 mol/fl -- from Randall's constraint of 4.4 Tg N in the tropics and the OTD-LIS climatology for the region he considered. (Versus 500 mol/fl currently in the model for N MidLat, as per Rynda's work). Both of these are within the range of values in the literature. The 500 is at the upper range. The 260 is very close to the mean/median (and will be applied to ~80% of all flashes).
- New Local Scaling -- Now monthly rather than seasonally, since we have the high res monthly climatology and there are significant intra-seasonal spatial variability in the lightning distribution -- particularly over the SE USA. Also, set the redist factor in boxes where the model parameterization calculates no lightning over the OTD-LIS window (May 1995-Dec 2005) but OTD-LIS saw some to 1.0 (I believe Bastien set them to 0.0), so as not to suppress future years that may want to put lightning there via the param.
(For now, have inserted a logical trap to cancel the simulation if the regional redistribution is selected. Once my study is done, then we just remove the trap in a future version)
- New input.geos mid-level scaling option -- If turned on (may be used with or without any of the redistributions), it will multiply every box by a uniform factor determined such that the 11-year parameterized and observed average annual flash rates (~46 flashes per second) are equal. This will be a highly recommended feature. CTH does an okay job without it, but PRECON and MFLUX really need it to be brought to the correct order of magnitude (at least in GEOS4). However, leave it optional so that one can use the unmodified physical parameterizations as well if they so choose. In the future, this may be modified to be a year-specific scaling factor as determined by the LIS observations.
- Recommended options in "input.geos"
=> Use lightning NOx? : T => Scale glb flrate : T => OTD reg redist? : F => OTD local redist?: T => Use CTH param? : T => Use MFLUX param? : F => Use PRECON param?: F
These sections pertain to code or data that has been removed from the most recent versions of GEOS-Chem. We shall keep this information here for reference.