next up previous contents
Next: BADVAL Case Up: START and END Fields Previous: START and END Fields   Contents


DESCRIP1 Case

The START and END fields in the DESCRIP1 record type indicate which Level 2 dimensions the DESCRIP1 record applies to. Each data record (Level 2 dimension) may have a different number of Level 1 dimensions contained within it. The DESCRIP1.GPTNUM field indicates the number of grid points in that Level 1 dimension.

In the second part of Example 4 from Section 3.2.4, we specified two separate descriptors for the pressure dimension. The first half of the year had 18 pressure levels, and the second half of the year had a different set of 15 pressure levels. Two DESCRIP1 records were used, then, to describe the pressure dimension. The first record had START = 1 and END = 181 (for 1 January to 30 June); the second record had START = 182 and END = 365 (for 1 July to 31 December).

Consider another example in a bit more detail. We have an array of station identifiers which contain observations of surface temperatures with time. Not all stations report every time observation; we store only those that do. Suppose, for example, that we have observations for stations 1001, 1002, and 1003 on days 1 and 3, and stations 1001 and 1002 on day 2. Assume that all of the temperatures for a particular time are to be written in one record.

Temperature is a scalar, so there is a single Level 0 dimension with one grid point. We consider the station identifier to be a Level 1 dimension. Time is a Level 2 dimension, and there are 31 days of data.

The data are written out in the order (station identifier, day). Because the station IDs change for each of the three days (i.e., for each grid point along the time dimension), three DESCRIP1 records will be needed.

The data dimension record fields will be as follows (indices start at 1):

OBJDESC.
NDIM0 = 1
NDIM1 = 1
NDIM2 = 1
NDIM3 = 0
DIMSPEC0.
INDEX = -1
GPTNUM = 1
DIMSPEC1.
INDEX = 1
DESNUM = 3
DIMSPEC2.
INDEX = 2
GPTNUM = 3
DESCRIP0.
DATFMT = single precision floating-point
VARTYPE = surface temperature
UNITS = K
DESCRIP1.
DEXSORT = 1
NDEX = 1
RECSORT = 0
START = 1
END = 1
GPTNUM = 3
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 = (1001, 1002, 1003)
DESCRIP1.
DEXSORT = 65537
NDEX = 1
RECSORT = 1
START = 2
END = 2
GPTNUM = 2
DUPNUM = 0
DESSUP = 0
DESFMT = long integer
DESTYPE = station identifier
UNITS = no units
STORG = 0
DESCVAL.
DLEVEL = 1
LEVEL = 1
DINDEX = 0
DEXSORT = 65537
NDEX = 1
RECSORT = 1
AVALS = (1001, 1002)
DESCRIP1.
DEXSORT = 131073
NDEX = 1
RECSORT = 2
START = 3
END = 3
GPTNUM = 3
DUPNUM = 0
DESSUP = 0
DESFMT = long integer
DESTYPE = station identifier
UNITS = no units
STORG = 0
DESCVAL.
DLEVEL = 1
LEVEL = 1
DINDEX = 0
DEXSORT = 131073
NDEX = 1
RECSORT = 2
AVALS = (1001, 1002, 1003)
DESCRIP2.
NDEX = 1
DUPNUM = 0
DESSUP = 0
DESFMT = long integer
DESTYPE = time
UNITS = day
STORG = 1
DESCVAL.
DLEVEL = 2
LEVEL = 2
DINDEX = 0
DEXSORT = 1
NDEX = 1
RECSORT = 0
AVALS = (1, 1)


next up previous contents
Next: BADVAL Case Up: START and END Fields Previous: START and END Fields   Contents
Eric Nash 2003-09-25