def disinfold(self, x, y, aq=None): '''Can be called with only one x,y value Returns array(Nparam, self.aq.Naq) with order order 0, layer[0] order 0, layer[1] ... order 1, layer[0] order 1, layer[1] etc ''' if aq is None: aq = self.model.aq.find_aquifer_data(x, y) rv = np.zeros((2, self.Nparam, aq.Naq)) if aq == self.aq: rv.shape = (2, self.order + 1, self.Nlayers, aq.Naq) qx = np.zeros(aq.Naq) qy = np.zeros(aq.Naq) if aq.ilap: for i in range( self.order + 1): # This should be done inside FORTRAN extension disbeslsho(x, y, self.x1, self.y1, self.x2, self.y2, \ aq.Naq, aq.zeropluslab, i, qx, qy) # Call FORTRAN extension rv[0, i] = self.aq.coef[self.pylayers] * qx rv[1, i] = self.aq.coef[self.pylayers] * qy else: for i in range(self.order + 1): disbesonlylsho(x, y, self.x1, self.y1, self.x2, self.y2, \ aq.Naq + 1, aq.lab, i, qx, qy) # Need to specify aq.Naq + 1 (bug in besselaes) rv[0, i] = self.aq.coef[self.pylayers] * qx rv[1, i] = self.aq.coef[self.pylayers] * qy rv.shape = (2, self.Nparam, aq.Naq) return rv
def disinfold(self, x, y, aq=None): '''Can be called with only one x,y value Returns array(Nparam, self.aq.Naq) with order order 0, layer[0] order 0, layer[1] ... order 1, layer[0] order 1, layer[1] etc ''' if aq is None: aq = self.model.aq.find_aquifer_data(x, y) rv = np.zeros((2, self.Nparam, aq.Naq)) if aq == self.aq: rv.shape = (2, self.order + 1, self.Nlayers, aq.Naq) qx = np.zeros(aq.Naq) qy = np.zeros(aq.Naq) if aq.ltype[0] == 'a': for i in range( self.order + 1): # This should be done inside FORTRAN extension disbeslsho(x, y, self.x1, self.y1, self.x2, self.y2, \ aq.Naq, aq.zeropluslab, i, qx, qy) # Call FORTRAN extension rv[0, i] = self.aq.coef[self.pylayers] * qx rv[1, i] = self.aq.coef[self.pylayers] * qy else: for i in range(self.order + 1): disbesonlylsho(x, y, self.x1, self.y1, self.x2, self.y2, \ aq.Naq + 1, aq.lab, i, qx, qy) # Need to specify aq.Naq + 1 (bug in besselaes) rv[0, i] = self.aq.coef[self.pylayers] * qx rv[1, i] = self.aq.coef[self.pylayers] * qy rv.shape = (2, self.Nparam, aq.Naq) return rv
def qxqybase(x, y): qx = zeros(1) qy = zeros(1) disbeslsho(x, y, -1.0, 0.0, 1.0, 0.0, 1, zeros(1), 0, qx, qy) return qx, qy
def qxqybase(x,y): qx = zeros(1) qy = zeros(1) disbeslsho(x, y,-1.0, 0.0, 1.0, 0.0, 1, zeros(1), 0, qx, qy) return qx, qy