Lightning NOx emissions: Difference between revisions

From Geos-chem
Jump to navigation Jump to search
No edit summary
 
(80 intermediate revisions by 2 users not shown)
Line 1: Line 1:
====== GEOS-Chem Lightning Emissions Forum ======
On this page we list various updates to GEOS-Chem's lightning NOx emissions algorithm.


===== The common block bug fix =====
== Generating OTD/LIS factors ==


==== 02 Oct 2007 ====
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:


Lee Murray has identified a bug in the existing code ([[wiki:geos-chem:dev_forum#v7-04-12|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.
    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
    (ltmurray@post.harvard.edu), 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 )


'''''Lee Murray (ltmurray@fas.harvard.edu) wrote:'''''
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.


: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)
To generate unconstrained flash rates, run GEOS-Chem for your full period and turn off all emissions except lightning in HEMCO_Config.rc:


: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.
103    LightNOx          : on    NO
    --> OTD-LIS factors  :      false
    --> OTD-LIS scaling  :       1.000001
    --> CDF table        :      $ROOT/LIGHTNOX/v2014-07/light_dist.ott2010.dat


:I don't know if this will correct the problems that Ray and I had with the local-rescaling lightning as wellIt is quite possible that this is also common block error, though maybe not. I will continue to investigate.
To speed up the simulation, we also recommend disabling all processes (transport, chemistry, convection, wet deposition, dry deposition) in <tt>input.geos</tt>To avoid hitting the above error in this simulation, you can either use <code>OTD-LIS scaling : 1.000001</code> in <tt>HEMCO_Config.rc</tt> or manually comment out the <code>IF ( BETA == 1d0 )</code> trap in <tt>HEMCO/Extensions/hcox_lightnox_mod.F90</tt> (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 [http://www.sas.rochester.edu/ees/accmg/ Lee Murray].  


: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).
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 16:15, 18 November 2016 (UTC)


:Do you agree?
== OTD/LIS redistribution for GEOS-FP ==


:~Lee
=== OTD/LIS factors in GEOS-Chem v10-01 ===


ERROR: note weird values in CO
In [[GEOS-Chem v10-01]] and newer versions, the OTD/LIS lightning redistribution factors are read with the [[HEMCO|HEMCO emissions component]].  We have created [http://ftp.as.harvard.edu/gcgrid/data/ExtData/HEMCO/LIGHTNOX/v2014-07/README new OTD/LIS data files] (in [http://ferret.wrc.noaa.gov/noaa_coop/coop_cdf_profile.html COARDS-compliant netCDF format]) for use with HEMCO. These new data files are contained in the [[HEMCO data directories|HEMCO data directory tree]].  For detailed instructions on how to download these data files to your disk server, please see our [[HEMCO_data_directories#Downloading_the_HEMCO_data_directories|''Downloading the HEMCO data directories'' wiki post]].


[[Image:Lnox_common_block_error.png|frame]]
--[[User:Bmy|Bob Y.]] 16:31, 13 February 2015 (EST)


=== OTD/LIS factors in GEOS-Chem v9-02 ===


**FIXED: weird values in CO disappear**
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.


{{wiki:geos-chem:fixed.png}}
You may obtain the new OTD/LIS scale factors from:


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 [[wiki:geos-chem:anthro_forum#aircraft_nox|aircraft NOx]] (EMIS_AC_NOx)This fix will be implemented into [[wiki:geos-chem:dev_forum#v7-04-13|GEOS-Chem v7-04-13]].
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 *


>>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.
The OTD/LIS files are named with the following convention:
>>
>>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.


OTD-LIS-Local-Redist.CTH.v5.geos5.*
OTD-LIS-Local-Redist.CTH.v5.geosfp.*


===== Replacing the near-land algorithm =====
Note that the version of the data has been updated from <tt>v4</tt> to <tt>v5</tt>, in order to distinguish them from the files in the previous directory <tt>lightning_NOx_201101/</tt>.


==== 24 Sep 2007 ====
Code updates have also been made to <tt>lightning_nox_mod.f</tt> in [[GEOS-Chem v9-02]], so that GEOS-Chem reads in these new OTD/LIS local factors.


Lee Murray (see correspondence below) has submitted a revised algorithm for lightning NOx emissions.  This will be added into [[wiki:geos-chem:dev_forum#v7-04-13|GEOS-Chem internal version v7-04-13]].
--[[User:Bmy|Bob Y.]] 13:13, 18 June 2014 (EDT)


>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.
==== Update OTD/LIS factors for GEOS-FP through October 2014 ====
>
>Thanks,
>Lee
>
>**1. 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.
>
>**2. Elimination of all top-down scaling** -- Attempt to have a physically-based parameterization.
>
>**3. 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.
>
>**4. 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).
>
>**5. 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)
>
>**6. 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.
>
>**7. Recommended options in "input.geos"**


   => Use lightning NOx? : T
<span style="color:green">'''''These updates were validated with the 1-month benchmark simulation [[GEOS-Chem v10-01 benchmark history#v10-01h|v10-01h]] and approved on Approved 01 May 2015.'''''</span>
    => Scale glb flrate : T
 
    => OTD reg redist? : F
Lee Murray has generated OTD-LIS factors for GEOS-FP through October 2014. These updates will be brought into [[GEOS-Chem v10-01]] via [[HEMCO]].
    => OTD local redist?: T
 
    => Use CTH param?  : T
Users of [[GEOS-Chem v9-02]] may use the updated OTD/LIS factors by following the steps below.
    => Use MFLUX param? : F
 
    => Use PRECON param?: F
'''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 <tt>READ_LOCAL_REDIST</tt>, change <tt>FILENAME</tt> to point to the <tt>lightning_NOx_201408</tt> 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 <tt>READ_LOCAL_REDIST</tt>, 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 <tt>INIT_LIGHTNING_NOX</tt>, change <tt>FILENAME</tt> to point to the <tt>lightning_NOx_201408</tt> 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 )
 
--[[User:Melissa Payer|Melissa Sulprizio]] 14:19, 12 January 2015 (EST)
 
== Previous issues that are now resolved ==
 
=== Limit flash rate density in hcox_lightnox_mod.F90 ===
 
<span style="color:green">'''''This update was included in [[GEOS-Chem 12#12.0.0|GEOS-Chem 12.0.0]].'''''</span>
 
'''''Chris Holmes suggested:'''''
 
:When operating outside the time range that Lee has calculated scale factors, we could cap the flash/emission rate at the maximum value at the maximum value that occurs during the OTD/LIS record. That way we use Lee’s work when it’s available, but things don’t go crazy outside it.
 
'''''Lee Murray wrote:'''''
 
:After we apply the OTD/LIS redistribution, you can globally limit the flash rate to its highest observed value of 4.2e-3 flashes / km2 / s from the newish ENTLN global product.
 
:For the grid-independent lightning product, I'm using local upper values from ENTLN to limit unrealistically high values.
 
      !-----------------------------------------------------------
      ! (6a) Compute flash rate and apply OTD/LIS redistribution
      !-----------------------------------------------------------
      ! Convert [flashes/min] to [flashes/6h]
      RATE    = FLASHRATE * 360.0d0
      ! Apply regional or local OTD-LIS redistribution so that the
      ! flashes occur in the right place.
      RATE = RATE * REDIST
      ! Apply scaling factor to make sure annual average flash rate
      ! equals that of the climatology. (ltm, 09/24/07)
      RATE = RATE * Inst%OTD_LIS_SCALE
      END IF ! LBOTTOM >  1
      END IF ! LTOP    >= LCHARGE
      END IF ! LTOP    >  0
      END IF ! LCHARGE >  1
      <span style="color:green">'''! Do not allow flash density to become unrealistically high
      IF ( ( RATE / 21600. / A_KM2 ) > 0.004177159 ) THEN
            RATE = 0.004177159 * 21600. * A_KM2
      END IF'''</span>
      !-----------------------------------------------------------
      ! Eventually overwrite with values determined from imported
      ! flash rate
      !-----------------------------------------------------------
 
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 12:11, 10 August 2018 (UTC)
 
=== Update WEST_NS_DIV to fix ozone overestimate in southern US ===
 
<span style="color:green">'''''This update was validated with [[GEOS-Chem_v11-01_benchmark_history#v11-01k|1-month benchmark simulation v11-01f]] and [[GEOS-Chem_v11-01_benchmark_history#v11-01k-Run0|1-year benchmark simulation v11-01k-Run0]]. This version was approved on 19 Dec 2016.'''''</span>
 
'''''From [http://acmg.seas.harvard.edu/publications/2016/Travis_ACPD_2016.pdf Travis et al. (2016, ACP)]:'''''
 
:We constrain the lightning NOx source with satellite data as described by [http://acmg.seas.harvard.edu/publications/2012/Murray_et_al_2012.pdf 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<sup>-1</sup>) than for tropical (260 mol flash<sup>-1</sup>) (Huntrieser et al. 2007, 2008; Hudman et al., 2007; Ott et al., 2010) with a fairly arbitrary boundary between the two at 23&deg; N in North America and 35&deg; N in Eurasia. [http://acmg.seas.harvard.edu/publications/2014/zhang2014.pdf 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&deg; S-35&deg; 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
:to
  REAL*8,  PARAMETER            :: WEST_NS_DIV  = 35d0
 
--[[User:Melissa Payer|Melissa Sulprizio]] ([[User talk:Melissa Payer|talk]]) 20:57, 2 December 2016 (UTC)

Latest revision as of 20:53, 27 November 2018

On this page we list various updates to GEOS-Chem's lightning NOx emissions algorithm.

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
    (ltmurray@post.harvard.edu), 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.

--Melissa Sulprizio (talk) 16:15, 18 November 2016 (UTC)

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:

OTD-LIS-Local-Redist.CTH.v5.geos5.*
OTD-LIS-Local-Redist.CTH.v5.geosfp.*

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.

Lee Murray has generated OTD-LIS factors for GEOS-FP through October 2014. These updates will be brought into GEOS-Chem v10-01 via HEMCO.

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)

Previous issues that are now resolved

Limit flash rate density in hcox_lightnox_mod.F90

This update was included in GEOS-Chem 12.0.0.

Chris Holmes suggested:

When operating outside the time range that Lee has calculated scale factors, we could cap the flash/emission rate at the maximum value at the maximum value that occurs during the OTD/LIS record. That way we use Lee’s work when it’s available, but things don’t go crazy outside it.

Lee Murray wrote:

After we apply the OTD/LIS redistribution, you can globally limit the flash rate to its highest observed value of 4.2e-3 flashes / km2 / s from the newish ENTLN global product.
For the grid-independent lightning product, I'm using local upper values from ENTLN to limit unrealistically high values.
      !-----------------------------------------------------------
      ! (6a) Compute flash rate and apply OTD/LIS redistribution
      !-----------------------------------------------------------

      ! Convert [flashes/min] to [flashes/6h]
      RATE     = FLASHRATE * 360.0d0

      ! Apply regional or local OTD-LIS redistribution so that the 
      ! flashes occur in the right place. 
      RATE = RATE * REDIST

      ! Apply scaling factor to make sure annual average flash rate 
      ! equals that of the climatology. (ltm, 09/24/07)
      RATE = RATE * Inst%OTD_LIS_SCALE

      END IF ! LBOTTOM >  1
      END IF ! LTOP    >= LCHARGE 
      END IF ! LTOP    >  0 
      END IF ! LCHARGE >  1 

      ! Do not allow flash density to become unrealistically high
      IF ( ( RATE / 21600. / A_KM2 ) > 0.004177159 ) THEN
           RATE = 0.004177159 * 21600. * A_KM2
      END IF

      !-----------------------------------------------------------
      ! Eventually overwrite with values determined from imported
      ! flash rate 
      !-----------------------------------------------------------

--Melissa Sulprizio (talk) 12:11, 10 August 2018 (UTC)

Update WEST_NS_DIV to fix ozone overestimate in southern US

This update was validated with 1-month benchmark simulation v11-01f and 1-year benchmark simulation v11-01k-Run0. This version was approved on 19 Dec 2016.

From Travis et al. (2016, ACP):

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
to
 REAL*8,  PARAMETER            :: WEST_NS_DIV   =  35d0

--Melissa Sulprizio (talk) 20:57, 2 December 2016 (UTC)