Next: Example 5. Nonauthoritative Dimension
Up: Dimensional Levels
Previous: Example 3. Tensor (Wind
  Contents
Example 4. Unusual Data Object (Ozonesondes)
Consider a data object consisting of balloon-borne
observations of ozone concentrations at varying pressure levels over a set of
2000 stations on 365 days.
We consider two different methods of specifying these data:
In the first case, we will define a complex data object (an
``ozonesonde data vector'') consisting of a single
Level 0 dimension with two components: ozone
concentration and pressure. The station identifier we will treat
as a Level 1 dimension, and the Level 2 dimension
is time. The data will be written out in the order (station ID, ozonesonde
data component, time).
In this case, the data object dimensional
record fields will be as follows (indices start at 1):
- OBJDESC.
- NDIM0 = 1
-
- NDIM1 = 1
-
- NDIM2 = 1
-
- NDIM3 = 0
- DIMSPEC0.
- INDEX = 2
-
- GPTNUM = 2
- DIMSPEC1.
- INDEX = 1
-
- DESNUM = 1
- DIMSPEC2.
- INDEX = 3
-
- GPTNUM = 365
- DESCRIP0.
- DATFMT =
(single precision floating-point, single precision
floating-point)
-
- VARTYPE =
(ozone concentration, pressure)
-
- UNITS = (ppmv, mb)
- DESCRIP1.
- DEXSORT = 1
-
-
- NDEX = 1
-
- RECSORT = 0
-
- START = 1
-
- END = -1
-
- GPTNUM = 2000
-
- DUPNUM = 0
-
- DESSUP = 0
-
- DESFMT = long integer
-
- DESTYPE = station identifier
-
- UNITS = no units
-
- STORG = 0
- DESCVAL.
- DLEVEL = 1
-
-
- LEVEL = 1
-
- DINDEX = 0
-
- DEXSORT = 1
-
-
- NDEX = 1
-
- RECSORT = 0
-
- AVALS = (list of 2000 station identifiers)
- DESCRIP2.
- NDEX = 1
-
- DUPNUM = 0
-
- DESSUP = 0
-
- DESFMT =
long integer
-
- DESTYPE = time
-
- UNITS = day of year
-
- STORG = 1
- DESCVAL.
- DLEVEL = 2
-
-
- LEVEL = 2
-
- DINDEX = 0
-
- DEXSORT = 1
-
-
- NDEX = 1
-
- RECSORT = 0
-
- AVALS = (1, 1)
Alternatively, we can treat pressure as a Level 1
dimension. The
first 6 months of data contain ozonesondes at the same 18 pressure levels,
while the last 6 months contain the data at 15 levels, different from the set
in the early period. The data array is written in the order (station
identifier, pressure, time). Note that the ozone data are now simple
scalars. The data dimensional record
fields will be as follows (indices start at 1):
- OBJDESC.
- NDIM0 = 1
-
- NDIM1 = 2
-
- NDIM2 = 1
-
- NDIM3 = 0
- DIMSPEC0.
- INDEX = -1
-
- GPTNUM = 1
- DIMSPEC1.
- INDEX = (1, 2)
-
- DESNUM = (1, 2)
- DIMSPEC2.
- INDEX = 3
-
- GPTNUM = 365
- DESCRIP0.
- DATFMT =
single precision floating-point
-
- VARTYPE = ozone concentration
-
- UNITS = ppmv
- DESCRIP1.
- DEXSORT = 1
-
-
- NDEX = 1
-
- RECSORT = 0
-
- START = 1
-
- END = -1
-
- GPTNUM = 2000
-
- DUPNUM = 0
-
- DESSUP = 0
-
- DESFMT = long integer
-
- DESTYPE = station identifier
-
- UNITS = no units
-
- STORG = 0
- DESCVAL.
- DLEVEL = 1
-
-
- LEVEL = 1
-
- DINDEX = 0
-
- DEXSORT = 1
-
-
- NDEX = 1
-
- RECSORT = 0
-
- AVALS = (list of 2000 station identifiers)
- DESCRIP1.
- DEXSORT = 65538
-
-
- NDEX = 2
-
- RECSORT = 1
-
- START = 1
-
- END = 181
-
- GPTNUM = 18
-
- DUPNUM = 0
-
- DESSUP = 0
-
- DESFMT = single precision
floating-point
-
- DESTYPE = pressure
-
- UNITS = mb
-
- STORG = 0
- DESCVAL.
- DLEVEL = 1
-
-
- LEVEL = 1
-
- DINDEX = 0
-
- DEXSORT = 65538
-
-
- NDEX = 2
-
- RECSORT = 1
-
- AVALS = (list of 18 pressure levels)
- DESCRIP1.
- DEXSORT = 655362
-
-
- NDEX = 2
-
- RECSORT = 10
-
- START = 182
-
- END = -1
-
- GPTNUM = 15
-
- DUPNUM = 0
-
- DESSUP = 0
-
- DESFMT = single precision
floating-point
-
- DESTYPE = pressure
-
- UNITS = mb
-
- STORG = 0
- DESCVAL.
- DLEVEL = 1
-
-
- LEVEL = 1
-
- DINDEX = 0
-
- DEXSORT = 655362
-
-
- NDEX = 2
-
- RECSORT = 10
-
- AVALS = (list of 15 pressure levels)
- DESCRIP2.
- NDEX = 1
-
- DUPNUM = 0
-
- DESSUP = 0
-
- DESFMT =
long integer
-
- DESTYPE = time
-
- UNITS = day of year
-
- STORG = 1
- DESCVAL.
- DLEVEL = 2
-
-
- LEVEL = 2
-
- DINDEX = 0
-
- DEXSORT = 1
-
-
- NDEX = 1
-
- RECSORT = 0
-
- AVALS = (1, 1)
Next: Example 5. Nonauthoritative Dimension
Up: Dimensional Levels
Previous: Example 3. Tensor (Wind
  Contents
Eric Nash
2003-09-25