-
Notifications
You must be signed in to change notification settings - Fork 6
Description
The Variable Object mentions how to represent data variables vs auxiliary variables containing coordinates (e.g.: lat variable derived from dimensions (y, x)). In this case, auxiliary makes a lot of sense because it depends on multiple dimensions.
However, another common occurrence in NetCDF files is to have 1:1 dimension/variable mappings in order to list the value instances composing that dimension, as shown below through time, rlat and rlon.
>>> data
<xarray.Dataset> Size: 197MB
Dimensions: (time: 13, rlat: 1290, rlon: 2540)
Coordinates:
* time (time) datetime64[ns] 104B 2024-01-01 ... 2024-01-01T12:0...
* rlat (rlat) float32 5kB -12.3 -12.28 -12.26 ... 16.66 16.68 16.7
* rlon (rlon) float32 10kB -14.82 -14.8 -14.78 ... 42.28 42.31
lon (rlat, rlon) float32 13MB ...
lat (rlat, rlon) float32 13MB ...
Data variables:
rotated_pole float32 4B ...
HRDPS_P_PR_SFC (time, rlat, rlon) float32 170MB ...
Attributes:
Remarks: Variable names are following the convent...
License: These data are provided by the Canadian ...
product: HRDPS
Conventions: CF-1.6
DODS_EXTRA.Unlimited_Dimension: timeIt is not clear whether from the extension's description if those should also be considered auxiliary variables or not (omitting them in favour of cube:dimensions). Notably, the Dimension Object provides extent/bbox, values and step properties to describe these values, and it could seem confusing for users to have "duplicate" entries between cube:variables and cube:dimensions.
STAC examples using this extension seem to omit these 1:1 variable cases. Is that the expectation, or should it still to the actual metadata of the NetCDF?
In a similar fashion, would all those dimensions/variables be potential candidates for presentation by cf:paramter, or does it limit itself to only data variables?
Reference: crim-ca/stac-populator#114 (comment)