Linoz stratospheric ozone chemistry: Difference between revisions

From Geos-chem
Jump to navigation Jump to search
Line 72: Line 72:
== Known issues ==
== Known issues ==


None at this time.
=== Parallelization===


--[[User:Bmy|Bob Y.]] 13:02, 28 April 2010 (EDT)
We discovered that the main DO loop in routine LINOZ_CHEM3 (in linoz_mod.f) had not been parallelized. We added the !$OMP PARALLEL DO directives to this loop, which should make this routine execute much faster. 
 
This will be added in [[GEOS-Chem_v9-01-01]].
 
--[[User:Bmy|Bob Y.]] 16:06, 15 November 2010 (EST)

Revision as of 21:06, 15 November 2010

Overview

The Linoz stratospheric ozone chemistry package is a linearized chemistry mechanism for the stratosphere. It is designed to replace the older Synoz algorithm, which was a flux-based boundary condition that placed 500 Tg Ox/year through the tropopause.

It is recommended to use the Linoz option in your GEOS-Chem simulations.

Authors and collaborators:

  • Chris McLinden (UC Irvine ?)
  • Philip Cameron-Smith (LLNL)
  • Brendan Field (formerly Harvard)
  • Dylan Jones (U. Toronto)
  • Jane Liu (U. Toronto)

Implementation notes

Linoz has been implemented into GEOS-Chem v8-02-04.

Code structure

The main-level Code directory has now been divided into several subdirectories:

GeosCore/    GEOS-Chem "core" routines
GeosUtil/    "Utility" modules (e.g. error_mod.f, file_mod.f, time_mod.f, etc.
Headers/     Header files (define.h, CMN_SIZE, CMN_DIAG, etc.)
ISOROPIA/    Directory where ISORROPIA II code resides   
KPP/         KPP solver directory structure
bin/         Directory where executables are placed
doc/         Directory where documentation is created
help/        Directory for GEOS-Chem Help Screen
lib/         Directory where library files are placed
mod/         Directory where module files are placed
obsolete/    Directory where obsolete versions of code are archived

Linoz consists of the following files:

  • GeosCore/linoz_mod.f: Source code file with Linoz chemistry subroutines
  • GEOS_1x1/Linoz_200910/Linoz_March2007.dat: File with ozone climatology in the GEOS_1x1 data directory

Additional Documentation

Validation

Dylan Jones wrote:

Testing [the Linoz code in GEOS-Chem v8-02-04 was more difficult that I thought. I began by trying to compare the output of v8-02-04 with our previous runs with v8-02-01. I accounted for the changes in the transport_mod.f and I tried to undo the changes in when the diagnostics are archived in v8-02-04, but I was still getting large differences between v8-02-04 and v8-02-01. I finally gave up on this since I may have made a mistake in reverting to the old way of doing the diagnostics in v8-02-04. In the end I took the new linoz code from v8-02-04 and used it in v8-02-01. I ran two GEOS-5 full chemistry simulations for 2007 and the output were consistent over the full year.
I think that it is safe to release [Linoz in v8-02-04]. However, we should acknowledge that it was [only] tested in v8-02-01, since I was not able to assess the quality of the output in v8-02-04.

--Bob Y. 11:09, 4 February 2010 (EST)

Dylan Jones wrote:

...the stratospheric source of O3 in the code with linoz...I get a stratospheric source for 2006 of 572 Tg O3 for GEOS-4 and 502 Tg O3 for GEOS-5. Lee, I suspect that there is still a problem with the stratospheric flux diagnostic in GEOS-5, which is why we are getting unrealistically large source values using that approach. However, I haven't found the problem yet. So, after talking to Jennifer at the Aura meeting, I decided to use the tagged Ox simulation to get the source. I ran the model starting on Jan 1st with a stratospheric tracer that was initialized to 10 ppt everywhere in the troposphere and equal to the total Ox in the stratosphere. I then archived the monthly mean abundances and loss rates of the tracer and calculated the stratospheric source as follows.
For the stratospheric tracer in the troposphere:
   d[O3]/dt = Trans - f_loss 
where Trans is the total transport from the stratosphere (in g/s), f_loss is the loss rate integrated over the troposphere (in g/s), and [O3] is the total tropospheric burden of the tracer (in g). So the stratospheric source is:
  sum(Trans_i*dt_i) = sum( [O3]_i - [O3]_i-1 + f_loss_i*dt_i)  for i=1,12 months
where [O3]_0 is the initial 10 ppt. I used the annual mean tropopause for GEOS-4 and the monthly mean tropopause heights for GEOS-5. The tropospheric loss rates were calculated using Ox defined only as O3, NO2, and NO3.

--J. Mao 10:17, 19 Oct 2010 (EST)

References

  1. Mc.Linden, S.A., et al., Stratospheric ozone in 3-D models: a simple chemistry and the cross-tropopause flux, J. Geophys. Res., 105, 14653-14665, 2000.

Known issues

Parallelization

We discovered that the main DO loop in routine LINOZ_CHEM3 (in linoz_mod.f) had not been parallelized. We added the !$OMP PARALLEL DO directives to this loop, which should make this routine execute much faster.

This will be added in GEOS-Chem_v9-01-01.

--Bob Y. 16:06, 15 November 2010 (EST)