def _uv_from_txy(self, t, x, y, badx, clist=None): uconstit, ufrac = self.interp_constit(x, y, 'u') vconstit, vfrac = self.interp_constit(x, y, 'v') cid = self.cid ind = self._ind _minor = _minor_true if clist is not None: _minor = _minor_false if len(clist) > 0: ilist = self._ilist_from_clist(clist) uconstit = uconstit[:, ilist] vconstit = vconstit[:, ilist] cid = self.cid[ilist] ind = self._ind[ilist] dep, dfrac = self.interp_depth(x, y) u = np.zeros(t.shape, dtype=np.float_) v = np.zeros(t.shape, dtype=np.float_) for i in range(t.shape[0]): isl = slice(i, i + 1) u[i] = ptide(uconstit[i], cid, ind, t[isl], _minor) v[i] = ptide(vconstit[i], cid, ind, t[isl], _minor) frac = np.minimum(ufrac, vfrac) frac = np.minimum(frac, dfrac) valid = frac > 0 u[valid] = u[valid] / dep[valid] v[valid] = v[valid] / dep[valid] badmask = (frac <= self.minfrac) | badx u = np.ma.array(u, mask=badmask, copy=False) v = np.ma.array(v, mask=badmask, copy=False) dep = np.ma.array(dep, mask=(frac < 0.01) | badx, copy=False) return u, v, dep, frac
def _uv_from_txy(self, t, x, y, badx, clist=None): uconstit, ufrac = self.interp_constit(x, y, "u") vconstit, vfrac = self.interp_constit(x, y, "v") cid = self.cid ind = self._ind _minor = _minor_true if clist is not None: _minor = _minor_false if len(clist) > 0: ilist = self._ilist_from_clist(clist) uconstit = uconstit[:, ilist] vconstit = vconstit[:, ilist] cid = self.cid[ilist] ind = self._ind[ilist] dep, dfrac = self.interp_depth(x, y) u = np.zeros(t.shape, dtype=np.float_) v = np.zeros(t.shape, dtype=np.float_) for i in range(t.shape[0]): isl = slice(i, i + 1) u[i] = ptide(uconstit[i], cid, ind, t[isl], _minor) v[i] = ptide(vconstit[i], cid, ind, t[isl], _minor) frac = np.minimum(ufrac, vfrac) frac = np.minimum(frac, dfrac) valid = frac > 0 u[valid] = u[valid] / dep[valid] v[valid] = v[valid] / dep[valid] badmask = (frac <= self.minfrac) | badx u = np.ma.array(u, mask=badmask, copy=False) v = np.ma.array(v, mask=badmask, copy=False) dep = np.ma.array(dep, mask=(frac < 0.01) | badx, copy=False) return u, v, dep, frac
def _ptide(self, constit, t, clist=None): if clist is None: return ptide(constit, self.cid, self._ind, t, _minor_true) if len(clist) == 0: return ptide(constit, self.cid, self._ind, t, _minor_false) ilist = self._ilist_from_clist(clist) return ptide(constit[ilist], self.cid[ilist], self._ind[ilist], t, _minor_false)
def _h_from_txy(self, t, x, y, badx, clist=None): constit, frac = self.interp_constit(x, y, 'h') cid = self.cid ind = self._ind _minor = _minor_true if clist is not None: _minor = _minor_false if len(clist) > 0: ilist = self._ilist_from_clist(clist) constit = constit[:, ilist] cid = self.cid[ilist] ind = self._ind[ilist] h = np.zeros(t.shape, dtype=np.float_) for i in range(t.shape[0]): isl = slice(i, i + 1) h[i] = ptide(constit[i], cid, ind, t[isl], _minor) bad = frac <= self.minfrac badmask = bad | badx return np.ma.array(h, mask=badmask, copy=False), frac
def _h_from_txy(self, t, x, y, badx, clist=None): constit, frac = self.interp_constit(x, y, "h") cid = self.cid ind = self._ind _minor = _minor_true if clist is not None: _minor = _minor_false if len(clist) > 0: ilist = self._ilist_from_clist(clist) constit = constit[:, ilist] cid = self.cid[ilist] ind = self._ind[ilist] h = np.zeros(t.shape, dtype=np.float_) for i in range(t.shape[0]): isl = slice(i, i + 1) h[i] = ptide(constit[i], cid, ind, t[isl], _minor) bad = frac <= self.minfrac badmask = bad | badx return np.ma.array(h, mask=badmask, copy=False), frac