Dynamic tropopause

From Geos-chem
Revision as of 20:20, 13 September 2010 by Bmy (Talk | contribs) (Bug in ND67 diagnostic)

Jump to: navigation, search

Overview

GEOS-Chem is primarily a tropospheric model of atmospheric chemistry and composition. Its NOx-Ox-HC-aerosol (aka "full chemistry") simulation employs a detailed chemistry mechanism is used in the troposphere, while a much simpler mechanism (based on simple loss rates by OH and photolysis) is invoked in the stratosphere. Therefore, a robust definition of the tropopause is required.

In ancient versions of GEOS-Chem, the tropopause was denoted by a single level (LLTROP). The "full chemistry" mechanism was solved for in all grid boxes up to level LLTROP. However, using a single level to represent the tropopause significantly underestimated the tropopause height in the tropics.

GEOS-Chem v3-01 was the first version to include a more realistic tropopause. An annual mean tropopause was computed by running GEOS-Chem with 1 year of met data to compute the tropopause location (diagnosed where the lapse rate of temperature fell below 2 K/km). The annual mean tropopause had to be computed for each vertical (e.g. GEOS-1, GEOS-STRAT, GEOS-3, GEOS-4) and horizontal (e.g. 2° x 2.5°, 4° x 5°) grid combination. While satisfactory for many applications, the major drawback of the annual mean tropopause was that it did not accurately reflect the interannual variability of the tropopause location.

GEOS-Chem v7-04-10 improved upon the situation by introducing a dynamic tropopause. This is now the default option and we recommend all GEOS-Chem users to turn this feature on. The location of the tropopause is now computed at each dynamic timestep of a GEOS-Chem simulation, according to the following criterion:

   IF ( Pedge(I,J,L) > TROPP(I,J) ) THEN
      
      ! We are in the troposphere
      IS_TROP = .TRUE.

   ELSE

      ! We are in the stratosphere
      IS_TROP = .FALSE.

   ENDIF

where

   Pedge(I,J,L)  is the pressure [hPa] at the BOTTOM EDGE of grid box (I,J,L)
   TROPP(I,J)    is the tropopause pressure [hPa] from the GEOS or GCAP met field archive

NOTES:

  1. For both the annual mean and dynamic tropopause options, the parameter LLTROP represents the maximum extent of the tropopause in model levels.
  2. Some offline chemistry simulations still use the annual mean tropopause. Other offline simulations perform chemistry from the surface to the atmosphere top without regard for the tropopause location.

--Bob Y. 13:56, 13 September 2010 (EDT)

Diagnostics

Overview

GEOS-Chem archives tropopause pressure at two different places in the timestepping process.

  1. The ND67 diagnostic is archived directly after reading the tropopause pressure from disk. No further processing is done to the tropopause pressure before saving to ND67. Therefore, ND67 should be directly comparable to the tropopause pressure as stored in the “raw” GEOS met data files.
  2. On each dynamic timestep (typically 15 or 30 mins), the tropopause pressure poleward of 60N and 60S is capped at 200 hPa. This ensures that SMVGEAR or KPP chemistry will not be performed at unrealistically high altitudes in the polar regions. The ND55 diagnostic is archived at the end of each dynamic timestep. Therefore, ND55 represents the tropopause pressure (including the polar cap) that is used to diagnose where the GEOS–Chem tropopause occurs at each dynamic timestep.

Please also see our presentation about the GEOS-Chem Tropopause Diagnostics (PDF).

Modifications to ND55 diagnostic

The ND55 diagnostic was originally developed for GEOS-Chem using the annual mean tropopause. The tropopause level was first computed by searching for where the temperature lapse rate fell below 2 K/km. Then the tropopause height H and pressure were computed from this tropopause level and saved to the AD55 array as follows:

   L = ... level at which tropopause occurs ...
   AD55(I,J,1) = AD55(I,J,1) + L
   AD55(I,J,2) = AD55(I,J,2) + H(I,J,L) / 1.0d3 ! m --> km
   AD55(I,J,3) = AD55(I,J,3) + GET_PCENTER(I,J,L)

Note that the tropopause pressure was taken as the pressure at the center of the grid box (I,J,L) where the tropopause occurs. This approximation is not the same as the actual tropopause pressure, which we now obtain directly from the met fields.

Starting with GEOS-Chem v9-01-01, the ND55 diagnostic will be updated to report more accurately the tropopause pressure and height. The tropopause pressure from the met field archive will be directly archived to the AD55 array as follows:

   AD55(I,J,3) = AD55(I,J,3) + TROPP(I,J)  ! T'pause pressure [hPa]

Also, the tropopause height will now be accurately computed to be consistent with the tropopause pressure taken from the met fields.

--Bob Y. 16:09, 13 September 2010 (EDT)

References

Previous issues that are now resolved

Buggy implementation in v7-04-12

Note that the implementation of the variable tropopause is buggy in versions prior to GEOS-Chem v7-04-12. If you are using versions prior to v7-04-12, you should turn the variable tropopause OFF.

Polar cap

Jennifer Logan (see correspondence below) suggested that we should cap the variable tropopause at 200hPa in near-polar regions (90-60S and 60-90N), to avoid the problem with anomalously high tropopause heights at high latitudes. This fix was standardized in GEOS-Chem v7-04-13.

Jennifer Logan wrote:

After looking at the two papers I sent, I think we should restrict the tropopause at latitudes > 60 deg. to pressures greater than 200 mb (about 11 km). From Fig. 3 in Seidel and Randel, there are tropopause (TP) heights as high as 13.5 km in the Antarctic (median height is ~9.8 km, 250 mb), but I don't think we want to be doing trop. chem there. The median TP pressure at ~80 N is ~300 mb, compared to ~250 mb at 70-85 S. The extratropical TP heights are higher (lower pressure) in the SH than in the NH according to Fig. 3.
This approach is also very easy to explain in a paper.
Jennifer

Problem reading GEOS-4 TROPP files

Dave MacKenzie wrote:

We encountered an I/O Error 29 with file 69 when trying to run GEOS4 v8-01-01 with the variable tropopause turned on at 4x5 resolution. When I investigated this problem further, I found that there was no code written to copy and unzip the YYYYMMDD.tropp.4x5.gz files. Since I didn't see any mention of this online for v8-01-01 or newer versions, I thought I should bring it to your attention.
The *.tropp* files are accessed in i6_read_mod.f but there is only code included to use the data in those files and erase them from the TEMP directory. No code was included to actually copy them into the TEMP directory and unzip them. I wrote in a few lines of code and our problems disappeared. After running the code for one day, it finished smoothly with no problems. Then I tried running it for 2 years and it crashed after two months (I/O error 67 in file 72, input statement requires too much data). I don't know if it's a related problem to the changes I made or something else, but I thought I'd bring this to your attention. Thanks!

Bob Yantosca replied:

Yes...the TROPP files for GEOS-4 were an afterthought. We have always stored the GEOS-4 data as uncompressed, in order to avoid the problem. That might be a good solution if you have the disk space.

--Bob Y. 16:44, 18 February 2009 (EST)

Outstanding issues

Bug in ND67 diagnostic

Jianjun Jin wrote:

I went to back to your benchmark run results ctm.bpch.v8-03-01. There are outputs for both ND67 (TROPP, tracer=11017) and ND55 (TP-PRESS, tracer=26003). They are quite different. The ND55 is ok, but the ND67 is too large.

Bob Yantosca wrote:

I found the problem. It turns out that in GEOS-4, the TROPP field was an I-6 field (archived every 6 hours, or 4X/day). However, in GEOS-5, the TROPP field is an A-3 field (archived every 3 hours, or 8X/day).
If you look at diag3.f we have this code:
     IF ( ND67 > 0 ) THEN
        CATEGORY = 'DAO-FLDS'

        ! Binary punch file
        DO M = 1, TMAX(67)
           N  = TINDEX(67,M)
           NN = N

           SELECT CASE ( N )

               ...

              CASE ( 17 )
                 SCALEX = SCALE_I6
                 UNIT   = 'hPa'

The 17th slot of DAO-FLDS ND67 diagnostic is TROPP. Note that we are dividing by SCALE_I6, which is the # of I6 timesteps. We should be dividing by SCALE_A3, which is the # of A3 timesteps. So somehow we forgot to make this change when we switched from GEOS-4 to GEOS-5.

This will all be fixed in the next version, along with the updated diagnostic for ND55.

--Bob Y. 16:19, 13 September 2010 (EDT)