Copyright © 2012 Open Geospatial Consortium.
25
wml2:MeasurementTVP wml2:time2011-11-21T12:27:00+10:00wml2:time
wml2:value3.0wml2:value wml2:MeasurementTVP
wml2:point wml2:MeasurementTVP
wml2:time2011-11-21T12:28:00+10:00wml2:time wml2:value3.5wml2:value
wml2:MeasurementTVP wml2:point
wml2:MeasurementTVP wml2:time2011-11-21T12:30:00+10:00wml2:time
wml2:value3.4wml2:value wml2:MeasurementTVP
wml2:point wml2:point
wml2:MeasurementTVP wml2:time2011-11-21T12:31:00+10:00wml2:time
wml2:value3.3wml2:value wml2:MeasurementTVP
wml2:point wml2:MeasurementTimeseries
which would have the following NetCDF representation:
dimensions: time = UNLIMITED;
station = 1; bounds = 2;
variables: double maximum_stagestation, time;
maximum_stage:long_name = “maximum stage”; maximum_stage:units = “m”;
maximum_stage:cell_methods = “time: maximum”; int timestation, time;
time:standard_name = “time”; time:units = “seconds since 2011-11-21 12:27:00 +10:00”;
time:bounds = “time_bounds”; int time_boundsstation, time, bounds;
data: time = 0, 60, 180, 240;
time_bounds = -60, 0, 0, 60, 60, 180, 180, 240; maximum_stage = 3.0, 3.5, 3.4, 3.3;
8.8 Ranges
NetCDF variables have a number of attributes designed to provide guidance to a reader on the likely range of a variable. Since NetCDF documents can be large and can be
partially read, the range attributes can supply useful hints to tools such as plotting programs. WaterML has time-range metadata but no value-range metadata. Prior to
generating a NetCDF encoding, the timeseries needs to be scanned and sensible ranges computed.
5
The attributes that supply range information are shown in Table 4.
Table 4 Standard NetCDF Range Attributes
Attribute Description
Derivable From valid_min
The minimum valid value for this variable. This may
Semantic data for the timeseries property
– see Section 8.1.3
5
The case of an unending, stream-like timeseries is not considered in this paper.
26
Copyright © 2012 Open Geospatial Consortium.
be below the minimum actual value of the variable.
The actual minimum The actual minimum rounded
down to a human-friendly value eg. -10.0 for an actual minimum
of -7.7 valid_max
The maximum valid value for this variable. This may
be below the minimum actual value of the variable.
See valid_min
valid_range A vector of the valid_min
and valid_max if both are defined. This attribute
replaces valid_min and valid_max if both are
present.
_FillValue The value to fill allocated
but unused space allocated to the variable.
A value outside the valid range. Ideally, this should be a readily recognisable
value an order of magnitude or so beyond the valid range. For example, if
the valid minimum was -10.0 then a fill value of -99.9 would be easily
recognisable.
If the variable is an enumeration, then the missing value 0 should be used.
missing_value The specific value used to
indicate missing data.
6
Set to the _FillValue
It is also possible to define transformations, using the scale_factor and add_offset attributes, to pack data. This paper does not consider scale
transformations, although they could be applied to timeseries data.
As an example, a timeseries with the values -2.5, 3.4, 5.6, 8.9, -5.6 might have the following range attributes:
example:valid_range = -10.0, 10.0; example:_FillValue = -99.9;
example:missing_value = -99.9;
6
The missing_value attribute is deprecated in some versions of the CF conventions.
Copyright © 2012 Open Geospatial Consortium.
27
8.9 Responsible Parties