Difference between revisions of "Tagged O3 simulation"

From Geos-chem
Jump to: navigation, search
(Update for v10-01)
(36 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 +
__FORCETOC__
 +
'''''[[Tagged CO simulation|Previous]] | [[TransportTracers simulation|Next]] | [[Guide to GEOS-Chem simulations]]'''''
 +
#[[Simulations overview]]
 +
#[[GEOS-Chem chemistry mechanisms|Mechanisms for full-chemistry simulations]] (e.g. Standard, Tropchem, etc.)
 +
#[[Aerosol-only simulation]
 +
#[[CH4 simulation]]
 +
#[[CO2 simulation]]
 +
#[[Mercury|Hg simulation]]
 +
#[[POPs simulation]]
 +
#[[Tagged CO simulation]]
 +
#<span style="color:blue">'''Tagged O3 simulation'''</span>
 +
#[[TransportTracers simulation]]
 +
 +
 
This page contains information about the Tagged O3 simulation in GEOS-Chem (formerly known as the "Tagged Ox" simulation).
 
This page contains information about the Tagged O3 simulation in GEOS-Chem (formerly known as the "Tagged Ox" simulation).
  
Line 65: Line 79:
 
== Recent modifications to the tagged O3 simulation ==
 
== Recent modifications to the tagged O3 simulation ==
  
We have made several modifications to the tagged O3 simulation in [[GEOS-Chem v9-02]] and [[GEOS-Chem v10-01]]. Here is a list of what has changed:
+
=== Write initial and final Ox mass to file ===
 +
 
 +
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02b|v11-02b]] and approved on 16 Jun 2017.'''''</span>
 +
 
 +
The budget computation code needs the initial and final mass of O3 in [kg] in order to compute the difference in accumulated mass. The accumulated mass is then compared to the budget computed with all terms (emissions, deposition, chemical, etc) for validation. Although in theory we can get the initial and final masses from the restart file and convert units, it is more straightforward to print the values to a file.
 +
 
 +
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 19:36, 18 May 2017 (UTC)
 +
 
 +
=== PBLTOP and MTTOP bug fix ===
 +
 
 +
<span style="color:green">'''''This update was validated in the 1-month benchmark simulation [[GEOS-Chem v11-01 benchmark history#v11-01d|v11-01d]] (approved 12 Dec 2015).'''''</span>
 +
 
 +
<tt>PBLTOP</tt> and <tt>MTTOP</tt> are set to levels corresponding to 750 hPa and 350 hPa respectively in routine <tt>get_regional_pox</tt> in <tt>tagged_ox_mod.F</tt>. Values used for GEOS-4 are erroneously used for GEOS-5, GEOS-FP, MERRA, and MERRA-2, resulting in PBL and middle troposphere levels that are below what they should be for those MET fields. This bug fix updates the levels for GEOS-5, GEOS-FP, MERRA, and MERRA-2 from 5 to 16 for PBLTOP and from 10 to 27 for MTTOP.
 +
 
 +
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 14:58, 22 October 2015 (UTC)<br>--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 17:49, 8 January 2016 (UTC)
 +
 
 +
=== European grid definition bug fix ===
 +
 
 +
<span style="color:green">'''''This update was validated in the 1-month benchmark simulation [[GEOS-Chem v11-01 benchmark history#v11-01d|v11-01d]] (approved 12 Dec 2015).'''''</span>
 +
 
 +
There is an error in the European grid definition within tagged_ox_mod.F in v10-01. Please see the tagged ozone simulation wiki page for details.The longitude definition of ITS_A_EUR is incorrectly defined as greater than -15.0 and greater than or equal to 55.0, and thus has no upper bound. It should instead have an upper bound of 55.0. If running the extended tagged ozone simulation, you should amend the definition to be as follows:
 +
 
 +
ITS_IN_EUR = ( Y >=  36.0 .and. ( X >  -15.0 .and. X <=  55.0 ) )
 +
 
 +
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 14:12, 28 September 2015 (UTC)<br>--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 17:50, 8 January 2016 (UTC)
  
 
=== Now call INIT_TAGGED_OX from input_mod.F ===
 
=== Now call INIT_TAGGED_OX from input_mod.F ===
  
'''''This update was validated in the 1-month benchmark simulation [[GEOS-Chem v10-01 benchmark history#v10-01c|v10-01c]] and approved on 29 May 2014.'''''
+
<span style="color:green">'''''This update was validated in the 1-month benchmark simulation [[GEOS-Chem v10-01 benchmark history#v10-01c|v10-01c]] (approved 29 May 2014.)'''''</span>
  
 
Prior to [[GEOS-Chem v10-01]], routine <tt>INIT_TAGGED_OX</tt> (in module <tt>GeosCore/tagged_ox_mod.F</tt>) was called from routine <tt>CHEM_TAGGED_OX</tt> on the first chemistry timestep.  
 
Prior to [[GEOS-Chem v10-01]], routine <tt>INIT_TAGGED_OX</tt> (in module <tt>GeosCore/tagged_ox_mod.F</tt>) was called from routine <tt>CHEM_TAGGED_OX</tt> on the first chemistry timestep.  
Line 75: Line 113:
 
In order to make the code more compatible with our [[Grid-Independent GEOS-Chem]] development, we now call <tt>INIT_TAGGED_OX</tt> from routine <tt>GIGC_INIT_EXTRA</tt> (in module <tt>GeosCore/input_mod.F</tt>).  This is now called during the "Initialization" phase of GEOS-Chem rather than during the "Run" phase.
 
In order to make the code more compatible with our [[Grid-Independent GEOS-Chem]] development, we now call <tt>INIT_TAGGED_OX</tt> from routine <tt>GIGC_INIT_EXTRA</tt> (in module <tt>GeosCore/input_mod.F</tt>).  This is now called during the "Initialization" phase of GEOS-Chem rather than during the "Run" phase.
  
--[[User:Bmy|Bob Y.]] 17:04, 30 May 2014 (EDT)
+
--[[User:Bmy|Bob Y.]] 17:04, 30 May 2014 (EDT)<br>--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 17:50, 8 January 2016 (UTC)
  
 
=== Make it easier to switch between the simple and extended simulations ===
 
=== Make it easier to switch between the simple and extended simulations ===
  
'''''This update was validated in the 1-month benchmark simulation [[GEOS-Chem v10-01 benchmark history#v10-01c|v10-01c]] and approved on 29 May 2014.'''''
+
<span style="color:green">'''''This update was validated in the 1-month benchmark simulation [[GEOS-Chem v10-01 benchmark history#v10-01c|v10-01c]] (approved on 29 May 2014).'''''</span>
  
 
If you wish to activate the '''[[#Extended tagged O3 simulation|EXTENDED TAGGED O3 SIMULATION]]''', then look for this line of code at the top of module <tt>GeosCore/tagged_ox_mod.F</tt>:
 
If you wish to activate the '''[[#Extended tagged O3 simulation|EXTENDED TAGGED O3 SIMULATION]]''', then look for this line of code at the top of module <tt>GeosCore/tagged_ox_mod.F</tt>:
Line 91: Line 129:
 
Then <tt>make realclean</tt> and recompile GEOS-Chem, etc.
 
Then <tt>make realclean</tt> and recompile GEOS-Chem, etc.
  
--[[User:Bmy|Bob Y.]] 17:04, 30 May 2014 (EDT)
+
--[[User:Bmy|Bob Y.]] 17:04, 30 May 2014 (EDT)<br>--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 17:51, 8 January 2016 (UTC)
  
 
=== Now let user select the year of archived ozone data ===
 
=== Now let user select the year of archived ozone data ===
Line 99: Line 137:
 
==== Original post: v9-02 public release ====
 
==== Original post: v9-02 public release ====
  
'''''This issue was introduced into the public release of [[GEOS-Chem v9-02]] (03 Mar 2014).'''''
+
<span style="color:green">'''''This issue was introduced into the public release of [[GEOS-Chem v9-02]] (03 Mar 2014).'''''</span>
  
 
The tagged O3 simulation relies on ozone production & loss (aka "P&L") data that has been archived from a prior [[NOx-Ox-HC-aerosol|full-chemistry simulation]].  Until now, the model would attempt to read archived O3 P&L data for the current simulation year (i.e. the year used to read in the met fields from disk).
 
The tagged O3 simulation relies on ozone production & loss (aka "P&L") data that has been archived from a prior [[NOx-Ox-HC-aerosol|full-chemistry simulation]].  Until now, the model would attempt to read archived O3 P&L data for the current simulation year (i.e. the year used to read in the met fields from disk).
Line 111: Line 149:
 
This lets you specify the year of archived O3 P&L data that you want the tagged O3 simulation to read from disk.  (If you don't want 2004, you can change the year above).  If, on the other hand, you would like to read O3 P&L data for the current simulation year, simply comment out this <tt>#define</tt> statement.
 
This lets you specify the year of archived O3 P&L data that you want the tagged O3 simulation to read from disk.  (If you don't want 2004, you can change the year above).  If, on the other hand, you would like to read O3 P&L data for the current simulation year, simply comment out this <tt>#define</tt> statement.
  
--[[User:Bmy|Bob Y.]] 11:18, 11 April 2014 (EDT)
+
--[[User:Bmy|Bob Y.]] 11:18, 11 April 2014 (EDT)<br>--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 17:51, 8 January 2016 (UTC)
  
 
==== Update for v10-01 ====
 
==== Update for v10-01 ====
  
'''''These updates were validated in the 1-month benchmark simulation [[GEOS-Chem v10-01 benchmark history#v10-01c|v10-01c]] and approved on 29 May 2014.'''''
+
<span style="color:green">'''''These updates were validated in the 1-month benchmark simulation [[GEOS-Chem v10-01 benchmark history#v10-01c|v10-01c]] and approved on 29 May 2014.'''''</span>
  
 
In the [[#Original post: v9-02 public release|preceding section]], we mentioned that we have placed a C-preprocesor switch named <tt>USE_THIS_O3_YEAR</tt> at the top of module <tt>GeosCore/tagged_ox_mod.F</tt>.  This switch allows you to specify the year of the O3 prod/loss data files that will be read in from disk, instead of reading in this data for the current simulation year.
 
In the [[#Original post: v9-02 public release|preceding section]], we mentioned that we have placed a C-preprocesor switch named <tt>USE_THIS_O3_YEAR</tt> at the top of module <tt>GeosCore/tagged_ox_mod.F</tt>.  This switch allows you to specify the year of the O3 prod/loss data files that will be read in from disk, instead of reading in this data for the current simulation year.
Line 145: Line 183:
  
 
--[[User:Bmy|Bob Y.]] 17:04, 30 May 2014 (EDT)
 
--[[User:Bmy|Bob Y.]] 17:04, 30 May 2014 (EDT)
 
=== Modifications for v9-02 tagged O3 simulation ===
 
 
'''''This update was tested in the 1-month benchmark simulation [[GEOS-Chem v9-02 benchmark history#1-month benchmark with GEOS-5 meteorology|v9-02r]] and approved on 14 Nov 2013.'''''
 
 
In the [[GEOS-Chem v9-02]] full-chemistry, we have now carry all the constituents of <tt>Ox</tt> (<tt>O3</tt>, <tt>NO2</tt>, <tt>HNO3</tt>) separately.  Some variable names that contained <tt>Ox</tt> have accordingly been renamed to <tt>O3</tt>.  Here is a list of modifications:
 
 
#<tt>GeosCore/tracerid_mod.F</tt>
 
#*Now use <tt>IDTO3</tt> instead of <tt>IDTOx</tt>
 
#*Also rename <tt>IDTOxStrt</tt> to <tt>IDTO3Strt</tt>
 
#<tt>GeosCore/diag3.F</tt>
 
#*Now use <tt>IDTO3</tt> instead of <tt>IDTOx</tt>
 
#<tt>GeosCore/paranox_mod.F</tt>
 
#*Correct commented out code (<tt>IDTOX3</tt> to <tt>IDTO3</tt>)
 
#<tt>GeosCore/strat_chem_mod.F</tt>
 
#*Now replace <tt>Ox</tt> and <tt>OxStrt</tt> with <tt>O3</tt> and <tt>O3strt</tt> in the IF statement
 
#*Also reference <tt>IDTO3Strt flag</tt>
 
#<tt>GeosCore/tagged_ox_mod.F</tt>
 
#*Now use <tt>IDTO3Strt</tt> tracer flag
 
#*[[#Now let user select the year of archived ozone data|Now allow GEOS-Chem to read archived ozone Prod/Loss files for a year different than the met field year]]
 
 
--[[User:Bmy|Bob Y.]] 14:58, 6 November 2013 (EST)
 
  
 
=== Reactivate stratospheric P(Ox) in tagged Ox simulation ===
 
=== Reactivate stratospheric P(Ox) in tagged Ox simulation ===
  
'''''These issues were resolved during the [[GEOS-Chem_v9-02#Period_of_public_comment|public comment period]] following the provisional release of GEOS-Chem v9-02 and were included in the public release of [[GEOS-Chem v9-02]]. (03 Mar 2014)'''''
+
<span style="color:green">'''''These issues were resolved during the [[GEOS-Chem_v9-02#Period_of_public_comment|public comment period]] following the provisional release of GEOS-Chem v9-02 and were included in the public release of [[GEOS-Chem v9-02]] (03 Mar 2014).  This update is included in Adjoint [[GEOS-Chem_Adjoint_v35 | v35j]].'''''</span>
  
 
[mailto:jlin5@pku.edu.cn Jintai Lin] noted that the stratospheric P(Ox) produced by the Synoz boundary condition should be passed to the Tagged Ox simulation source code in <tt>tagged_ox_mod.F</tt>.  This is only for runs which use the Synoz boundary condition.  If you are using Linoz, then this should be disabled.
 
[mailto:jlin5@pku.edu.cn Jintai Lin] noted that the stratospheric P(Ox) produced by the Synoz boundary condition should be passed to the Tagged Ox simulation source code in <tt>tagged_ox_mod.F</tt>.  This is only for runs which use the Synoz boundary condition.  If you are using Linoz, then this should be disabled.
Line 216: Line 232:
 
NOTE: The call to <tt>ADD_STRAT_POx</tt> will be ignored if we are using the Linoz linear stratospheric O3 chemistry scheme.
 
NOTE: The call to <tt>ADD_STRAT_POx</tt> will be ignored if we are using the Linoz linear stratospheric O3 chemistry scheme.
  
--[[User:Bmy|Bob Y.]] 16:06, 1 November 2011 (EDT)
+
--[[User:Bmy|Bob Y.]] 16:06, 1 November 2011 (EDT)<br>--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 17:55, 8 January 2016 (UTC)
  
 
=== Replace LD65 with LLTROP in tagged_ox_mod.F ===
 
=== Replace LD65 with LLTROP in tagged_ox_mod.F ===
  
'''''This issue was resolved during the [[GEOS-Chem_v9-02#Period_of_public_comment|public comment period]] following the provisional release of GEOS-Chem v9-02 and were included in the official release of [[GEOS-Chem v9-02]] (03 Mar 2014).'''''
+
<span style="color:green">'''''This issue was resolved during the [[GEOS-Chem_v9-02#Period_of_public_comment|public comment period]] following the provisional release of GEOS-Chem v9-02 and were included in the official release of [[GEOS-Chem v9-02]] (03 Mar 2014).  This update is included in Adjoint [[GEOS-Chem_Adjoint_v35 | v35j]].'''''</span>
  
 
'''''[mailto:hongyu.liu-1@nasa.gov Hongyu Liu] wrote''''':
 
'''''[mailto:hongyu.liu-1@nasa.gov Hongyu Liu] wrote''''':
Line 238: Line 254:
 
== Restart Files ==
 
== Restart Files ==
  
Text to be added
+
In [[GEOS-Chem v10-01]] and higher versions, you can create run directories for the Tagged O3 simulation from the GEOS-Chem unit tester.  Please see [[Creating GEOS-Chem run directories|our ''Creating GEOS-Chem run directories'' wiki page]] for more information.
 +
 
 +
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 17:57, 8 January 2016 (UTC)
  
 
== References ==
 
== References ==
Line 246: Line 264:
 
== Previous issues that are now resolved==
 
== Previous issues that are now resolved==
  
We are streamlining the tagged O3 simulation in [[GEOS-Chem v10-01]].
+
=== Reading P(O3) and L(O3) ===
  
--[[User:Bmy|Bob Y.]] 11:16, 11 April 2014 (EDT)
+
The Tagged O3 simulation now reads P(O3) and L(O3) fields via the [[HEMCO|HEMCO emissions component]].
 +
 
 +
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 17:58, 8 January 2016 (UTC)
 +
 
 +
=== Fix bug in calculation of L(Ox) ===
 +
 
 +
<span style="color:green">'''''This update was included in [[GEOS-Chem v11-02#v11-02f|v11-02f]] (approved 17 May 2018).'''''</span>
 +
 
 +
'''''Daniel Jacob wrote:'''''
 +
 
 +
:I think I found the bug in the tagged Ox simulation. In deriving loss frequencies, L(Ox) should be divided by Ox and not by O3. In surface boxes over China or downwind where ozone is titrated to NO2, the bug will cause very large loss frequencies. When you then apply those to the tagged Ox simulation (and you use the linear loss approximation to the exponential) you end up with negative Ox.
 +
 
 +
--[[User:Bmy|Bob Yantosca]] ([[User talk:Bmy|talk]]) 16:06, 17 May 2018 (UTC)
  
 
== Unresolved issues ==
 
== Unresolved issues ==
  
None at this time.
+
=== Possible ND20 bug in v10-01 ===
 +
[mailto:lshen@fas.harvard.edu Lu Shen] found that the tagged ozone simulation might have a bug in v10-01. The ozone loss rate in ND20 has many extreme values. Please contact him (lshen@fas.harvard.edu) if you find a similar problem. Thanks.
 +
 
 +
--[[User:Lizzie Lundgren|Lizzie Lundgren]] ([[User talk:Lizzie Lundgren|talk]]) 14:29, 28 September 2015 (UTC)
 +
 
  
--[[User:Bmy|Bob Y.]] 11:16, 11 April 2014 (EDT)
+
----
 +
'''''[[Tagged CO simulation|Previous]] | [[TransportTracers simulation|Next]] | [[Guide to GEOS-Chem simulations]]'''''

Revision as of 19:49, 13 August 2019

Previous | Next | Guide to GEOS-Chem simulations

  1. Simulations overview
  2. Mechanisms for full-chemistry simulations (e.g. Standard, Tropchem, etc.)
  3. [[Aerosol-only simulation]
  4. CH4 simulation
  5. CO2 simulation
  6. Hg simulation
  7. POPs simulation
  8. Tagged CO simulation
  9. Tagged O3 simulation
  10. TransportTracers simulation


This page contains information about the Tagged O3 simulation in GEOS-Chem (formerly known as the "Tagged Ox" simulation).

Overview

The tagged O3 simulation allows you to use archived ozone production and loss rates to perform a simulation for geographically tagged ozone tracers without having to run the full-chemistry simulation. The tagged O3 simulation is also used to spin up the ozone into steady-state when validating a new meterorolgical field product.

Tagged O3 simulation user groups

Please feel free to add your project to the table below.

User Group Personnel Projects
GEOS-Chem Support Team Bob Yantosca, Melissa Sulprizio Spinning up O3 to steady-state for GEOS-FP meteorology

--Bob Y. 11:01, 11 April 2014 (EDT)

Nomenclature

We now prefer to refer to this simulation as the "Tagged O3 Simulation" instead of the "Tagged Ox Simulation". This reflects the removal of the Ox tracer from GEOS-Chem v9-02 and higher versions. Ox has now been replaced by O3.

--Bob Y. 11:08, 11 April 2014 (EDT)

Types of tagged O3 simulations

You may perform two different types of tagged O3 simulations. These simulations differ in the number of tagged O3 tracers that are available:

Simple tagged O3 simulation

The default setting is the SIMPLE TAGGED O3 SIMULATION, which carries 2 tracers:

(1 ) O3      : Total O3
(2 ) O3Strt  : O3 from the Stratosphere

Extended tagged O3 simulation

You may also choose to run the EXTENDED TAGGED O3 SIMULATION, which carries 13 tracers:

(1 ) O3      : Total O3
(2 ) O3Strt  : O3 from the Stratosphere      (tropopause - atm top   )
(3 ) O3Ut    : O3 produced in Upper Trop     (350 hPa    - tropopause) 
(4 ) O3Mt    : O3 produced in Middle Trop    (PBL top    - 350 hPa   )
(5 ) O3Row   : O3 produced in Rest of World  (surface    - PBL top   )
(6 ) O3PcBl  : O3 produced in Pacific BL     (surface    - PBL top   )
(7 ) O3NaBl  : O3 produced in N. American BL (surface    - PBL top   )
(8 ) O3AtBl  : O3 produced in Atlantic BL    (surface    - PBL top   )
(9 ) O3EuBl  : O3 produced in European BL    (surface    - PBL top   )
(10) O3AfBl  : O3 produced in N. African BL  (surface    - PBL top   )
(11) O3AsBl  : O3 produced in Asian          (surface    - PBL top   )
(12) O3Init  : O3 initial conditions         (all levels             )
(13) O3USA   : O3 produced over the USA      (all levels             )

Note that in both the simple and extended simulations, the stratospheric O3 tracer is listed as tracer #2. This is necessary for compatibility with the Linoz stratospheric ozone chemistry mechanism.

--Bob Y. 11:38, 11 April 2014 (EDT)

Recent modifications to the tagged O3 simulation

Write initial and final Ox mass to file

This update was included in v11-02b and approved on 16 Jun 2017.

The budget computation code needs the initial and final mass of O3 in [kg] in order to compute the difference in accumulated mass. The accumulated mass is then compared to the budget computed with all terms (emissions, deposition, chemical, etc) for validation. Although in theory we can get the initial and final masses from the restart file and convert units, it is more straightforward to print the values to a file.

--Lizzie Lundgren (talk) 19:36, 18 May 2017 (UTC)

PBLTOP and MTTOP bug fix

This update was validated in the 1-month benchmark simulation v11-01d (approved 12 Dec 2015).

PBLTOP and MTTOP are set to levels corresponding to 750 hPa and 350 hPa respectively in routine get_regional_pox in tagged_ox_mod.F. Values used for GEOS-4 are erroneously used for GEOS-5, GEOS-FP, MERRA, and MERRA-2, resulting in PBL and middle troposphere levels that are below what they should be for those MET fields. This bug fix updates the levels for GEOS-5, GEOS-FP, MERRA, and MERRA-2 from 5 to 16 for PBLTOP and from 10 to 27 for MTTOP.

--Lizzie Lundgren (talk) 14:58, 22 October 2015 (UTC)
--Bob Yantosca (talk) 17:49, 8 January 2016 (UTC)

European grid definition bug fix

This update was validated in the 1-month benchmark simulation v11-01d (approved 12 Dec 2015).

There is an error in the European grid definition within tagged_ox_mod.F in v10-01. Please see the tagged ozone simulation wiki page for details.The longitude definition of ITS_A_EUR is incorrectly defined as greater than -15.0 and greater than or equal to 55.0, and thus has no upper bound. It should instead have an upper bound of 55.0. If running the extended tagged ozone simulation, you should amend the definition to be as follows:

ITS_IN_EUR = ( Y >=  36.0 .and. ( X >  -15.0 .and. X <=   55.0 ) )

--Lizzie Lundgren (talk) 14:12, 28 September 2015 (UTC)
--Bob Yantosca (talk) 17:50, 8 January 2016 (UTC)

Now call INIT_TAGGED_OX from input_mod.F

This update was validated in the 1-month benchmark simulation v10-01c (approved 29 May 2014.)

Prior to GEOS-Chem v10-01, routine INIT_TAGGED_OX (in module GeosCore/tagged_ox_mod.F) was called from routine CHEM_TAGGED_OX on the first chemistry timestep.

In order to make the code more compatible with our Grid-Independent GEOS-Chem development, we now call INIT_TAGGED_OX from routine GIGC_INIT_EXTRA (in module GeosCore/input_mod.F). This is now called during the "Initialization" phase of GEOS-Chem rather than during the "Run" phase.

--Bob Y. 17:04, 30 May 2014 (EDT)
--Bob Yantosca (talk) 17:50, 8 January 2016 (UTC)

Make it easier to switch between the simple and extended simulations

This update was validated in the 1-month benchmark simulation v10-01c (approved on 29 May 2014).

If you wish to activate the EXTENDED TAGGED O3 SIMULATION, then look for this line of code at the top of module GeosCore/tagged_ox_mod.F:

!#define USE_ALL_TAGO3_TRACERS 1

and remove the ! comment character, so that the line now looks like this:

#define USE_ALL_TAGO3_TRACERS 1

Then make realclean and recompile GEOS-Chem, etc.

--Bob Y. 17:04, 30 May 2014 (EDT)
--Bob Yantosca (talk) 17:51, 8 January 2016 (UTC)

Now let user select the year of archived ozone data

We have made it easier for you to specify the year of archived ozone prod/loss data. (For example, you may want to run a tagged O3 spinup simulation with met field years 2013, but only have prod/loss data for the year 2004.)

Original post: v9-02 public release

This issue was introduced into the public release of GEOS-Chem v9-02 (03 Mar 2014).

The tagged O3 simulation relies on ozone production & loss (aka "P&L") data that has been archived from a prior full-chemistry simulation. Until now, the model would attempt to read archived O3 P&L data for the current simulation year (i.e. the year used to read in the met fields from disk).

Because the tagged O3 simulation is often used to spin up the stratosphere for new met field data sets (such as GEOS-FP), it is often desirable to use archived O3 P&L data for years that may differ from the current simulation year. Starting in GEOS-Chem v9-02, you may now specify which year of O3 P&L data to read from disk.

In routine READ_POX_LOX (in module GeosCore/tagged_ox_mod.F), we have now added this C-preprocessor #define statement:

#define USE_THIS_O3_YEAR 2004

This lets you specify the year of archived O3 P&L data that you want the tagged O3 simulation to read from disk. (If you don't want 2004, you can change the year above). If, on the other hand, you would like to read O3 P&L data for the current simulation year, simply comment out this #define statement.

--Bob Y. 11:18, 11 April 2014 (EDT)
--Bob Yantosca (talk) 17:51, 8 January 2016 (UTC)

Update for v10-01

These updates were validated in the 1-month benchmark simulation v10-01c and approved on 29 May 2014.

In the preceding section, we mentioned that we have placed a C-preprocesor switch named USE_THIS_O3_YEAR at the top of module GeosCore/tagged_ox_mod.F. This switch allows you to specify the year of the O3 prod/loss data files that will be read in from disk, instead of reading in this data for the current simulation year.

We have now made a couple of further modifications that let you set the value of USE_THIS_O3_YEAR at compile time rather than having to manually edit the GeosCore/tagged_ox_mod.F module file. These are:

(1) At the top of the module, comment out this line:

#define USE_THIS_O3_YEAR 2004

so that it now looks like this:

!#define USE_THIS_O3_YEAR 2004

(2) In the GeosCore/Makefile_header.mk file, add these lines in the "Special chemistry settings" section:

# Specify year of tagged O3 prod/loss data
ifdef TAGO3YR
USER_DEFS      += -DUSE_THIS_O3_YEAR=$(TAGO3YR)
endif

(3) When you compile GEOS-Chem, use the TAGO3YR option to specify the year for the O3 prod/loss data. For example:

make -j4 MET=geos4 GRID=4x5 TAGO3YR=2003 ...etc...
make -j4 MET=geos5 GRID=4x5 TAGO3YR=2004 ...etc...

This will set the value of USE_THIS_O3_YEAR accordingly. This option greatly facilitates testing and debugging the tagged O3 simulation in the GEOS-Chem Unit Tester.

--Bob Y. 17:04, 30 May 2014 (EDT)

Reactivate stratospheric P(Ox) in tagged Ox simulation

These issues were resolved during the public comment period following the provisional release of GEOS-Chem v9-02 and were included in the public release of GEOS-Chem v9-02 (03 Mar 2014). This update is included in Adjoint v35j.

Jintai Lin noted that the stratospheric P(Ox) produced by the Synoz boundary condition should be passed to the Tagged Ox simulation source code in tagged_ox_mod.F. This is only for runs which use the Synoz boundary condition. If you are using Linoz, then this should be disabled.

The updates are as follows:

(1) In routine ADD_STRAT_POx (in tagged_ox_mod.F), we need to uncomment this line:

      STT(I,J,L,N_STRAT) = STT(I,J,L,N_STRAT) + POx

This will restore the production of Ox in the stratosphere.

(2) In routine UPBDFLX_O3 (in module upbdflx_mod.F), we must first reference the LLINOZ flag from logical_mod.f.

      USE LOGICAL_MOD, ONLY : LLINOZ
  • If LLINOZ is TRUE, then we are using Linoz linear stratospheric chemistry scheme.
  • If LLINOZ is FALSE, then we default to the Synoz stratopsheric boundary condition.

(3) Also in UPBDFLX_O3, we need to define J30S and J30N parameters for nested grid regions. This will allow Tagged Ox simulations for the nested grid regions to be conducted.

#elif defined( GRID05x0666 )
      !INTEGER, PARAMETER  :: J30S = 1, J30N = JJPAR
! Lin_20111026
#if   defined( NESTED_CH )
      INTEGER, PARAMETER   :: J30S = 1,  J30N = 83
#elif   defined( NESTED_NA )
      INTEGER, PARAMETER   :: J30S = 1,  J30N = 41
#elif   defined( NESTED_EU )
      INTEGER, PARAMETER   :: J30S = 1,  J30N = 1         ! add later
#else 
      INTEGER, PARAMETER   :: J30S = 1, J30N = JJPAR
#endif

(4) Further down in routine UPBDFLX_O3, we must call ADD_STRAT_POx. This will pass the P(Ox) produced by Synoz to the source code in tagged_ox_mod.F. This call is placed immediately after updating the STT tracer array:

            ! Store O3 flux in the proper tracer number
            STT(I,J,L,NTRACER) = STT(I,J,L,NTRACER) + PO3 

            ! Store O3 flux for strat Ox tracer (Tagged Ox only)
            IF ( .not. LLINOZ ) THEN
               IF ( ITS_A_TAGOX_SIM() ) CALL ADD_STRAT_POX( I, J, L, PO3 )
            ENDIF

NOTE: The call to ADD_STRAT_POx will be ignored if we are using the Linoz linear stratospheric O3 chemistry scheme.

--Bob Y. 16:06, 1 November 2011 (EDT)
--Bob Yantosca (talk) 17:55, 8 January 2016 (UTC)

Replace LD65 with LLTROP in tagged_ox_mod.F

This issue was resolved during the public comment period following the provisional release of GEOS-Chem v9-02 and were included in the official release of GEOS-Chem v9-02 (03 Mar 2014). This update is included in Adjoint v35j.

Hongyu Liu wrote:

In tagged_ox_mod.f, we need to replace all LD65 with LLTROP, as per Bob's suggestion. LD65 should be referred to only when ND65 is switched on ("T"). Also, change all LLTROP_FIX to LLTROP. My run used varying tropopause and was OK after these changes.
In the original code, LD65 was used in the definition of arrays but should not be. Without replacing LD65 with LLTROP, we would have to always switch on ND65 (so that LD65 is defined) and output ND65 in any tagged Ox runs. And that's not what we want. The run (when ND65 = F in input.geos) would crash without this replacement.
LD65, LLTROP and LLTROP_FIX are not the same. See CMN_SIZE for LLTROP and LLTROP_FIX:
  • LLTROP=22 (GEOS-4 reduced) or 38 (GEOS-5 reduced).
  • LLTROP_FIX=17 (GEOS-4 reduced) or 38 (GEOS-5 reduced).
Without changing LLTROP_FIX to LLTROP, a tagged Ox run with GEOS-5 would work fine because LLTROP_FIX happened to be the same as LLTROP, but a tagged Ox run with GEOS-4 would have problems (e.g., GEOS-4 Ox prod/loss rates have 22 vertical levels but LLTROP_FIX is only 17).

--Bob Y. 11:03, 1 November 2011 (EDT)

Restart Files

In GEOS-Chem v10-01 and higher versions, you can create run directories for the Tagged O3 simulation from the GEOS-Chem unit tester. Please see our Creating GEOS-Chem run directories wiki page for more information.

--Bob Yantosca (talk) 17:57, 8 January 2016 (UTC)

References

Text to be added

Previous issues that are now resolved

Reading P(O3) and L(O3)

The Tagged O3 simulation now reads P(O3) and L(O3) fields via the HEMCO emissions component.

--Bob Yantosca (talk) 17:58, 8 January 2016 (UTC)

Fix bug in calculation of L(Ox)

This update was included in v11-02f (approved 17 May 2018).

Daniel Jacob wrote:

I think I found the bug in the tagged Ox simulation. In deriving loss frequencies, L(Ox) should be divided by Ox and not by O3. In surface boxes over China or downwind where ozone is titrated to NO2, the bug will cause very large loss frequencies. When you then apply those to the tagged Ox simulation (and you use the linear loss approximation to the exponential) you end up with negative Ox.

--Bob Yantosca (talk) 16:06, 17 May 2018 (UTC)

Unresolved issues

Possible ND20 bug in v10-01

Lu Shen found that the tagged ozone simulation might have a bug in v10-01. The ozone loss rate in ND20 has many extreme values. Please contact him (lshen@fas.harvard.edu) if you find a similar problem. Thanks.

--Lizzie Lundgren (talk) 14:29, 28 September 2015 (UTC)



Previous | Next | Guide to GEOS-Chem simulations