-
Notifications
You must be signed in to change notification settings - Fork 19
/
auxiliarycoordinate.py
47 lines (37 loc) · 1.86 KB
/
auxiliarycoordinate.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import cfdm
from . import Bounds, mixin
class AuxiliaryCoordinate(
mixin.Coordinate, mixin.PropertiesDataBounds, cfdm.AuxiliaryCoordinate
):
"""An auxiliary coordinate construct of the CF data model.
An auxiliary coordinate construct provides information which
locate the cells of the domain and which depend on a subset of the
domain axis constructs. Auxiliary coordinate constructs have to be
used, instead of dimension coordinate constructs, when a single
domain axis requires more then one set of coordinate values, when
coordinate values are not numeric, strictly monotonic, or contain
missing values, or when they vary along more than one domain axis
construct simultaneously. CF-netCDF auxiliary coordinate variables
and non-numeric scalar coordinate variables correspond to
auxiliary coordinate constructs.
The auxiliary coordinate construct consists of a data array of the
coordinate values which spans a subset of the domain axis
constructs, an optional array of cell bounds recording the extents
of each cell (stored in a `Bounds` object), and properties to
describe the coordinates. An array of cell bounds spans the same
domain axes as its coordinate array, with the addition of an extra
dimension whose size is that of the number of vertices of each
cell. This extra dimension does not correspond to a domain axis
construct since it does not relate to an independent axis of the
domain. Note that, for climatological time axes, the bounds are
interpreted in a special way indicated by the cell method
constructs.
**NetCDF interface**
{{netCDF variable}}
{{netCDF UGRID node coordinate}}
"""
def __new__(cls, *args, **kwargs):
"""Store component classes."""
instance = super().__new__(cls)
instance._Bounds = Bounds
return instance