Skip to content

Commit e3bcfed

Browse files
committed
Update XGrid.{xdim,ydim,zdim,tdim} code documentation and helper
1 parent 0932ccc commit e3bcfed

1 file changed

Lines changed: 7 additions & 19 deletions

File tree

parcels/xgrid.py

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,22 +16,13 @@
1616
_XGCM_AXES = Mapping[_XGCM_AXIS_DIRECTION, xgcm.Axis]
1717

1818

19-
def get_tracer_dimensionality(axis: xgcm.Axis | None) -> int:
19+
def get_n_cell_edges_along_dim(axis: xgcm.Axis | None) -> int:
2020
if axis is None:
2121
return 1
2222
first_coord = list(axis.coords.items())[0]
23-
pos, coord = first_coord
23+
_, coord_var = first_coord
2424

25-
pos_to_dim = { # TODO: These could do with being explicitly tested
26-
"center": lambda x: x,
27-
"left": lambda x: x,
28-
"right": lambda x: x,
29-
"inner": lambda x: x + 1,
30-
"outer": lambda x: x - 1,
31-
}
32-
33-
n = axis._ds[coord].size
34-
return pos_to_dim[pos](n)
25+
return axis._ds[coord_var].size
3526

3627

3728
def get_time(axis: xgcm.Axis) -> npt.NDArray:
@@ -121,22 +112,19 @@ def time(self):
121112

122113
@property
123114
def xdim(self):
124-
"""Number of T (tracer) cells in the X direction."""
125-
return get_tracer_dimensionality(self.xgcm_grid.axes.get("X"))
115+
return get_n_cell_edges_along_dim(self.xgcm_grid.axes.get("X"))
126116

127117
@property
128118
def ydim(self):
129-
"""Number of T (tracer) cells in the Y direction."""
130-
return get_tracer_dimensionality(self.xgcm_grid.axes.get("Y"))
119+
return get_n_cell_edges_along_dim(self.xgcm_grid.axes.get("Y"))
131120

132121
@property
133122
def zdim(self):
134-
"""Number of T (tracer) cells in the Z direction."""
135-
return get_tracer_dimensionality(self.xgcm_grid.axes.get("Z"))
123+
return get_n_cell_edges_along_dim(self.xgcm_grid.axes.get("Z"))
136124

137125
@property
138126
def tdim(self):
139-
return get_tracer_dimensionality(self.xgcm_grid.axes.get("T"))
127+
return get_n_cell_edges_along_dim(self.xgcm_grid.axes.get("T"))
140128

141129
@property
142130
def time_origin(self):

0 commit comments

Comments
 (0)