Difference between revisions of "Olson land map"
(→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° x 2.5° 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° x 2.5° 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.
Contents
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.
--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:
- owe14d.0.5: Olson land map file at 0.5° x 0.5° resolution
- lai_all.dat: leaf area index data at 1° x 1° resolution
and created these files as output:
- vegtype.global: Olson land map indices, on the GEOS-Chem grid
- 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:
- GEOS-Chem grid box longitude index (I)
- GEOS-Chem Grid box latitude index (J)
- Number of Olson land types (at 0.5° x 0.5° resolution) that fit inside the GEOS-Chem grid box (I,J)
- List of indices of all Olson land types that fit inside the GEOS-Chem grid box (I,J)
- 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:
- 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.
- 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.
- 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:
- The GCM could not read in an ASCII file. It expected input to be in netCDF format.
- 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.
- 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:
- Reads in the Olson 1992 land map at 0.5° x 0.5° resolution in netCDF format, instead of ASCII
- Constructs the IREG, ILAND, IUSE arrays on the GEOS-Chem grid (for soil NOx emissions)
- Constructs the IJREG, IJLAND, IJUSE arrays on the GEOS-Chem grid (for dry deposition)
- 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
- 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
- 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.
- 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)