-
Notifications
You must be signed in to change notification settings - Fork 13
Storing ADCP data as CF 1.6 timeSeriesProfile
This is a summary of many of the important details in how our CF-1.6 data generated by collect.py
meets the convention
Global attributes added:
- Conventions: CF-1.6
- standard_name_vocabulary: CF-1.6
- FeatureType:timeSeriesProfile
- geospatial bounds
- Time coverage
- Title
- Project summary
- Keywords
- Keywords_vocabulary:
other components
- Variables with CF-names have a ‘standard_name’ attribute containing the cf name- example: u_1205 gets ‘sea_water_eastward_velocity’
- A ‘z’ coordinate replaces our old ‘depth’ coordinate variable
- The dimensions of the variables need to be (time, z) or (time)
- Both types may be in a timeSeriesProfile file
- To map the ‘height’ variable to the ‘z’, coordinate, variables need to have the attribute:
- coordinates = time height latitude longitude
- If present, each variable’s valid_range attribute must fit the data. If the range is too restrictive the all the data will be set to NaN. The valid_range attribute will be removed, and the minimum and maximum attributes will be renamed to ‘actual_min’ and ‘actual_max’, enabling the same functionality less restrictively.
More details: The EPIC depth coordinate is replaced by z, and a height variable In the CF-1.6 compliant files, there's a "z" coordinate (no z variable) and a height variable dimensioned just by "z". The secret to getting the CF client to map height into 'z' is the attribute 'coordinates = time height lat lon'.
The number of coordinates do not have to match the number of dimensions in HURRIRENE_BB/9141wh-a.nc, u_1205 has dimensions (time, z), and these (and more) attributes:
coordinates: time height latitude longitude
standard_name: eastward_sea_water_velocity
In theory a client that can plot CF will map ‘height’ into Z before plotting. ncBrowse doesn’t know how to use the coordinates attribute so the y axis is 0-n, not the actual depth values.
Single depth variables (like P_1294), are presumed to be at the elevation of the variable with the attribute ‘standard_name’: 'surface_altitude' In our data, sensor_depth has standard_name = "surface_altitude" ;, so CF assigns the elevation in sensor_depth to P_1294. NcBrowse displays the single depth variables correctly.