Difference between revisions of "Olson land map"

From Geos-chem
Jump to: navigation, search
(Modifications for the grid-independent model)
(File read error in routine rdland.F affecting 2 x 2.5 simulations)
Line 202: Line 202:
 
=== File read error in routine rdland.F affecting 2 x 2.5 simulations ===
 
=== File read error in routine rdland.F affecting 2 x 2.5 simulations ===
  
During implementation of the [[Grid-independent GEOS-Chem]], we found a minor bug in how routine <tt>rdland.F</tt> reads information from the <tt>vegtype.global</tt> file for 2&deg; x 2.5&deg; GEOS-Chem simulations.
+
During implementation of the [[Grid-independent GEOS-Chem]], we found a minor bug in how routine <tt>rdland.F</tt> reads information from the <tt>vegtype.global</tt> file (Olson 1992 land map) for 2&deg; x 2.5&deg; GEOS-Chem simulations.
  
 
[[#Structure of the vegtype.global file|As explained above]], the <tt>vegtype.global</tt> file stores the following quantities, such that values for a single grid box were saved on a single line:
 
[[#Structure of the vegtype.global file|As explained above]], the <tt>vegtype.global</tt> file stores the following quantities, such that values for a single grid box were saved on a single line:

Revision as of 18:04, 22 March 2012

On this page we discuss the land map from Jennifer Olson that is currently used by the GEOS-Chem Dry deposition and Soil NOx emissions modules.

Olson 1992 land map

The Olson (1992) land map is currently used in GEOS-Chem versions up to and including v9-01-03.

Overview

The GEOS-Chem Dry deposition and Soil NOx emissions modules rely on the Olson (1992) land map. This map specifies 74 different land types on the 0.5° x 0.5° GENERIC GRID, which is defined by:

Lon centers = -179.75, -179.25, -178.75, -178.25, ... 178.25, 178.75, 179.25, 179.75
Lat centers =  -89.75,  -89.25,  -88.75,  -88.25, ...  88.25,  88.75,  89.25,  89.75

The Olson 1992 map contains 74 individual land types:

  0 Water              25 Deciduous           50 Desert
  1 Urban              26 Deciduous           51 Desert
  2 Shrub              27 Conifer             52 Steppe
  3 ---                28 Dwarf forest        53 Tundra
  4 ---                29 Trop. broadleaf     54 rainforest
  5 ---                30 Agricultural        55 mixed wood/open
  6 Trop. evergreen    31 Agricultural        56 mixed wood/open
  7 ---                32 Dec. woodland       57 mixed wood/open
  8 Desert             33 Trop. rainforest    58 mixed wood/open
  9 ---                34 ---                 59 mixed wood/open
 10 ---                35 ---                 60 conifers
 11 ---                36 Rice paddies        61 conifers
 12 ---                37 agric               62 conifers
 13 ---                38 agric               63 Wooded tundra
 14 ---                39 agric.              64 Moor
 15 ---                40 shrub/grass         65 coastal
 16 Scrub              41 shrub/grass         66 coastal
 17 Ice                42 shrub/grass         67 coastal
 18 ---                43 shrub/grass         68 coastal
 19 ---                44 shrub/grass         69 desert
 20 Conifer            45 wetland             70 ice
 21 Conifer            46 scrub               71 salt flats
 22 Conifer            47 scrub               72 wetland
 23 Conifer/Deciduous  48 scrub               73 water
 24 Deciduous/Conifer  49 scrub

which are plotted here. Only one land type is assigned to each 0.5° x 0.5° grid box.

File:Olson1992.png

--Bob Y. 10:12, 22 March 2012 (EDT)

Preparation of input files for GEOS-Chem

The raw Olson land map data are stored in the file owe14d.0.5 (which is now archived in Bob Yantosca's disk space). This was an ASCII file containing 20 integer values per line (Fortran format '(20i4)').

The IDL routine REGRIDH_LAI (which is distributed as part of the GAMAP package) was used to prepare the Olson land map for input into GEOS-Chem. REGRIDH_LAI read these files as input:

  1. owe14d.0.5: Olson land map file at 0.5° x 0.5° resolution
  2. lai_all.dat: leaf area index data at 1° x 1° resolution

and created these files as output:

  1. vegtype.global: Olson land map indices, on the GEOS-Chem grid
  2. laiMM.global: leaf area index files, on the GEOS-Chem grid (MM = 01 .. 12)

Therefore, REGRIDH_LAI had to be called several times in order to create the proper vegtype.global files for each different GEOS-Chem grid configuration. (4° x 5°, 2° x 2.5°, and the 0.5° x 0.666° nested grids).

NOTE: The original leaf area index data (in file lai_all.dat has now been supplanted by those from the MODIS satellite instrument.

Structure of the vegtype.global file

As mentioned above, each GEOS-Chem grid configuration required its own vegtype.global file. The vegtype.global file contained the following information:

  1. GEOS-Chem grid box longitude index (I)
  2. GEOS-Chem Grid box latitude index (J)
  3. Number of Olson land types (at 0.5° x 0.5° resolution) that fit inside the GEOS-Chem grid box (I,J)
  4. List of indices of all Olson land types that fit inside the GEOS-Chem grid box (I,J)
  5. Fraction (in mils) of the GEOS-Chem grid box covered by each Olson land type

Each of these quantities was represented as an integer value (with 20 integer values per line). Therefore, a quick look at the 4° x 5° vegtype.global file would reveal the following text:

 ...
 20  13   1   01000
 21  13   1   01000
 22  13   5   0  41  24  31  67 811  25  62  76  26
 23  13   4  41  24  52  31 137 175 650  38
 24  13   5  52   8   0  41  31 589  62 298  25  26
 ... etc.

From the snippet of the vegtype.global file shown above, we would deduce that

GEOS-Chem grid box has this many Olson land types with indices which cover this % of the box
(20,13) 1 0 100%
(21,13) 1 0 100%
(22,13) 5 0, 41, 24, 31, 67 81.1%, 2.5%, 6.2%, 7.6%, 2.6%, respectively
(23,13) 4 41, 24, 52, 31 13.7%, 17.5%, 65.0%, 3.8%, respectively
(24,13) 5 52, 8, 0, 41, 31 58.9%, 6.2%, 29.8%, 2.5% and 2.6%, respectively


GEOS-Chem routine rdland.F reads the information from the vegtype.global into the following arrays:

Array Quantity Where used
IREG( I, J ) Number of Olson land types per GEOS-Chem grid box
(i.e. Column #2 in the table above)
Soil NOx emissions
ILAND( I, J, 1:IREG(I,J) ) List of Olson land type indices per each GEOS-Chem grid box
(i.e. Column #3 in the table above)
Soil NOx emissions
IUSE( I, J, 1:IREG(I,J) ) Fraction (in mils) of the GEOS-Chem grid box covered by each Olson land type
(i.e. Column #4 in the table above)
Soil NOx emissions
IJREG( IJLOOP ) Same data as in IREG, but with 1 spatial dimension Dry deposition
ILAND( IJLOOP, 1:IJREG(I,J) ) Same data as in ILAND, but with 1 spatial dimension Dry deposition
IJUSE( IJLOOP, 1:IJREG(I,J) ) Same data as in IUSE, but with 1 spatial dimension Dry deposition
FRCLND( I, J ) Fraction of each GEOS-Chem grid box that is not water (computed from IUSE) Several locations

NOTES:

  1. The reason why there are two sets of arrays (IREG, ILAND, IUSE) and (IJREG, IJLAND, IJUSE) is purely historical baggage. This usage dates back to the original Harvard/GISS CTM, from which we obtained the GEOS-Chem dry deposition and soil NOx emissions modules. The dry deposition routine DEPVEL takes 1-D vectors of size IIPAR*JJPAR as its spatial dimension, instead of using 2 separate spatial dimensions. Nobody has undertaken to rewrite this code since.
  2. The Olson land types in the vegtype.global file are not listed by ascending order. Instead, the Olson land types in a GEOS-Chem grid box are listed by the order in which they are first found (searching by 0.5° x 0.5° longitudes first, then latitudes). It is important to keep this ordering so that the leaf area index data that is read in from disk will correspond properly to the Olson land types.
  3. The FRCLND array is used in many locations within GEOS-Chem. It is computed by subtracting off the fraction of each GEOS-Chem grid box that is covered by land type 0 (water).

--Bob Y. 10:11, 22 March 2012 (EDT)

Olson 2001 land map

At present, GEOS-Chem still uses the Olson 1992 land map. In the near future, we will switch to the Olson 2001 land map, which has a native resolution of 0.25° x 0.25°. This would facilitate nested-grid simulations at 0.25° x 0.3125°, such as for the upcoming SEAC4RS campaign.

--Bob Y. 13:46, 22 March 2012 (EDT)

Modifications for the grid-independent model

The Grid-independent GEOS-Chem project seeks to interface the GEOS-Chem model directly into a General Circulation Model (such as NASA's GEOS-5 GCM). In order for this to happen, much of the existing GEOS-Chem source code will have to be restructured. The GEOS-Chem Support Team is actively working towards this goal, which involves both (1) building a new interface that will link GEOS-Chem to a GCM, and (2) removing legacy code that will hamper grid-independent functionality.

During a recent test interfacing of GEOS-Chem with the Beijing Climate Center's CAM/GCM, we discovered that the existing vegtype.global files (and the corresponding rdland.F routine) was not compatible with the GCM, for several reasons:

  1. The GCM could not read in an ASCII file. It expected input to be in netCDF format.
  2. The vegtype.global files used by GEOS-Chem were hardwired to particular grids (4° x 5°, 2° x 2.5° and the 0.5° x 0.666° nested grids). However, the GCM was using a T42 spectral grid, for which we had not created a corresponding vegtype.global file.
  3. The vegtype.global files were created by offline pre-processing. Instead, we need to employ an on-the-fly regridding algorithm to translate the Olson 0.5° x 0.5° land map to the IREG, ILAND, IUSE, etc. arrays on the GEOS-Chem grid.

To this end, we have created a new GEOS-Chem module olson_landmap_mod.F90. This module, which replaces the rdland.F routine, does the following:

  1. Reads in the Olson 1992 land map at 0.5° x 0.5° resolution in netCDF format, instead of ASCII
  2. Constructs the IREG, ILAND, IUSE arrays on the GEOS-Chem grid (for soil NOx emissions)
  3. Constructs the IJREG, IJLAND, IJUSE arrays on the GEOS-Chem grid (for dry deposition)
  4. Constructs the FRCLND array on the GEOS-Chem grid (for use throughout GEOS-Chem)

The olson_landmap_mod.F90 will be introduced to GEOS-Chem v9-01-03. It is currently being validated with 1-month benchmark simulation v9-01-03i.

--Bob Y. 10:45, 22 March 2012 (EDT)

References

  1. Bey I., D. J. Jacob, R. M. Yantosca, J. A. Logan, B. Field, A. M. Fiore, Q. Li, H. Liu, L. J. Mickley, and M. Schultz, Global modeling of tropospheric chemistry with assimilated meteorology: Model description and evaluation, J. Geophys. Res., 106, 23,073-23,096, 2001
  2. Olson, J, World Ecosystems (WE1.4): Digital raster data on a 10 minute geographic 1080 x 2160 grid, in Global Ecosystems Database, version 1.0, Disc A, edited by NOAA Natl. Geophys. Data Center, Boulder, Colorado, 1992.
  3. Wang, Y., D.J. Jacob, and J.A. Logan, Global simulation of tropospheric O3-NOx-hydrocarbon chemistry, 1. Model formulation, J. Geophys. Res., 103, D9, 10,713-10,726, 1998.

Known issues

File read error in routine rdland.F affecting 2 x 2.5 simulations

During implementation of the Grid-independent GEOS-Chem, we found a minor bug in how routine rdland.F reads information from the vegtype.global file (Olson 1992 land map) for 2° x 2.5° GEOS-Chem simulations.

As explained above, the vegtype.global file stores the following quantities, such that values for a single grid box were saved on a single line:

   I, J, IREG(I,J), ILAND(I,J,K), IUSE(I,J,K)  (where K=1,IREG(I,J))

Routine rdland.F reads these quantities from vegtype.global assuming that there were 20 integer characters on a single line (i.e. using Fortran FORMAT '(20i4)'). However, ~ 12 lines of the 2 x 2.5 vegtype.global file contained more than 20 integer values. This caused rdland.F to read in the values from these lines improperly, which in turn caused the IREG, ILAND, IUSE, IJREG, IJLAND, IJUSE, and FRCLND arrays to be improperly initialized for the grid boxes corresponding to these lines in vegtype.global.

Bob Yantosca has validated that the new module olson_landmap_mod.F90 (which is the replacement for rdland.F) returns results 100% identical to the 2° x 2.5° vegtype.global file. Therefore, if you want to compare the output of model simulations using the new olson_landmap_mod.F90 the output of simulations using rdland.F, you will see a slight difference in the Methyl chloroform lifetime tracer concentrations.

If you need to run a GEOS-Chem simulation with a version of the code that still uses rdland.F, then this bug may be corrected by changing the line of code:

     101  FORMAT(20I4)

to:

    #if   defined( GRID2x25 )
     101  FORMAT(25I4)
    #else
     100  FORMAT(20I4)
    #endif

This is more or less a moot point, as olson_landmap_mod.F90 will be installed into GEOS-Chem v9-01-03 and higher versions.

--Bob Y. 11:07, 22 March 2012 (EDT)

Minor differences in IUSE at 0.5 x 0.666 nested grids

As of 21 Mar 2012, the values of the IUSE array computed by olson_landmap_mod.F90 may differ by 1/1000th from the IUSE values specified in the vegtype.global files for 0.5° x 0.666° nested grids. This does not happen at every grid box, but only for a few grid boxes. We attribute this to roundoff error caused by the the longitude spacing being an irrational number (0.6666666...°). We are still investigating.

--Bob Y. 11:07, 22 March 2012 (EDT)