示例#1
0
 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
示例#2
0
 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
示例#3
0
 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)
示例#4
0
 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)
示例#5
0
 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
示例#6
0
 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