Terminology Explained

Definition & Summary of Bounds Requirement


CF conventions state: “When gridded data -

  • does not represent the point values of a field 
  • but instead represents some characteristic of the field 
    • within cells of finite ‘volume,’ 
  • a complete description of the variable should include 
    • metadata that describes the domain or extent of each cell, 
    • and the characteristic of the field that the cell values represent.”

I.e., 

  • When data values in an array associate not just to singular spatiotemporal points
    but to an area, field, or volume of association for each array cell.
    • I.e., the array maps to a bounded region and the cells act to partition that region.
  • Then a complete description of that area, field or volume, and the dimensional partitioning should be provided, 
    • including the domain and extent of the array dimensions and the partitioning of that dimension.
    • I.e., dimension variables for locating each cell (cell centers is a common assumption).

Therefore - Data Providers need to provide both dimension variables and "bounds variables" - A CF recommendation.

(David Auty Notes): But when dimensions are regular partitions - why not state this explicitly, rather than lay it out in bounds variables that have the characteristic of regular partitions.  E.g.:

  • Dimension_Scale : <point | monotonic | uniform | (center) | edge-aligned >
    (Scale_Alignment ?)
    • Monotonic when used here implies non-uniform, irregular, but always increasing or decreasing
    • Uniform implies monotonic and regular intervals
      • When used here, uniform implies center (and vice versa, these are equivalent)
    • Edge-aligned implies leading edge

——

I think a shortcut for defining a dimension-scale variable altogether could be:

   GridScaling - no-value variable - attributes only - similar to GridMapping

    • X_OriginX_Scale,
    • Y_OriginY_Scale, Y_Scale can and often will be negative for Upper-Left Origin data
    • Rotation

Note - not quite the Affine parameters where scale and rotation are combined.  Here the rotation is given separately in degrees (In Affine matrix the rotation is factored into sin and cos values, and with scale factors combined into 4 values).

    • Note, a full Affine matrix allows for both simple rotation + skew transformation if 1st & 2nd rotations are different from each other.

Alternatively:

  GeoTransform - the set of GeoTransform parameters (Affine Matrix)

    • List: <6 numbers>, GT0 - GT5, as in GeoTIFF and used in GDAL

Both above can be augmented with dimension_scale/scale_alignment attribute. 

——

Dimensions, Coordinates, Auxiliary, and Ancillary

The CF Standard does not address the specifics of dimensions and dimension variables directly, leaving that to the NetCDF standard which it is built upon.  For NetCDF, all array data - variables - must have their dimensions defined first - and those definitions can then shared across variables.  In addition, a separate 1D variable may be defined with the same name as a defined dimension - as dimension variables. (These are sometimes also referred to as dimension scales).

In the CF Standard, a coordinate (unqualified, simple case) is a dimension variable - I.e. a co-ordinate set of data along one dimension. If not defined as a dimension variable, it is referred to as an auxiliary coordinate.  Beyond simple coordinates, auxiliary coordinates may be 1D or they may be co-ordinate in multiple dimensions, as in multi-dimensional latitude and longitude variables that provide locations to measurement data across multiple dimensions.  E.g., satellite swath data captured both along-track and across-track for the trajectory of the satellite.

Note the following from the CF standard (v1.9):

Any of a variable’s dimensions that is an independently varying latitude, longitude, vertical, or time dimension (see Section 1.3, "Terminology") and that has a size greater than one must have a corresponding coordinate variable, i.e., a one-dimensional variable with the same name as the dimension (see examples in Chapter 4, Coordinate Types). This is the only method of associating dimensions with coordinates that is supported by [COARDS].

Restated:

If a dimension of a variable: 

    • is representative of geo-temporal location (latitude, longitude, vertical scale or time), 
    • and is more than a singular reference dimension (size > 1), 
    • then by the CF conventions (and COARDS) that dimension must have an associated dimension variable, 
    • with the same name as the dimension,
    • to provide geo-temporal location information in this way.

This is the only method for providing 1D geo-temporal coordinate data that is supported by [COARDS]

    • so that the interpretation of the data may depend upon this method to derive the geo-temporal locations, 
    • and may assume no other method is required.

I.e., interpretation of the data should look first for such dimensional coordinate data and can rely upon this interpretation.

An auxiliary_coordinate is e.g., a 2D latitude or longitude variable, co-ordinate with a multi-dimensional science variable.  The auxiliary_coordinates may provide full geo-temporal-location for the science data, without reference to the dimension variables or simple coordinates.

An ancillary_variable is identified in the ancillary_variables reference attribute, providing additional information about the measurement.  An ancillary_variable often is co-ordinate with the science variable, but need not be.  And its scope is much broader than simply providing geo-temporal location.  E.g., a variable for specific humidity may have an associated ancillary_variables for specific humidity standard error and specific humidity detection-minimum, these being co-ordinate and providing measurement data for each data point.

  • No labels