def asdimarray(self, x, y, fill_value=-9999.0): dims = [] ydim = Dimension(DimensionType.Y) ydim.setDimValues(y.aslist()) dims.append(ydim) xdim = Dimension(DimensionType.X) xdim.setDimValues(x.aslist()) dims.append(xdim) return DimArray(self, dims, fill_value)
def __init__(self, variable, dataset): self.variable = variable self.dataset = dataset self.name = variable.getName() self.dtype = np.dtype.fromjava(variable.getDataType()) self.ndim = variable.getDimNumber() self.fill_value = variable.getFillValue() self.scale_factor = variable.getScaleFactor() self.add_offset = variable.getAddOffset() dims = variable.getDimensions() tdim = Dimension(DimensionType.T) times = [] for t in self.dataset.times: times.append(miutil.date2num(t)) tdim.setDimValues(times) dims[0] = tdim self.dims = dims self.tnum = len(times)
def dimension(dimvalue, dimname='null', dimtype=None): """ Create a new Dimension. :param dimvalue: (*array_like*) Dimension value. :param dimname: (*string*) Dimension name. :param dimtype: (*DimensionType*) Dimension type ['X' | 'Y' | 'Z' | 'T']. """ if isinstance(dimvalue, (NDArray, DimArray)): dimvalue = dimvalue.aslist() dtype = DimensionType.Other if not dimtype is None: if dimtype.upper() == 'X': dtype = DimensionType.X elif dimtype.upper() == 'Y': dtype = DimensionType.Y elif dimtype.upper() == 'Z': dtype = DimensionType.Z elif dimtype.upper() == 'T': dtype = DimensionType.T dim = Dimension(dtype) dim.setDimValues(dimvalue) dim.setShortName(dimname) return dim