Ranges WaterML 2.0 - Timeseries - NetCDF Discussion Paper

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