def _derX(self, x, y):
    '\n        Returns the derivative with respect to x of the interpolated function\n        at each value in x,y. Only called internally by HARKinterpolator2D.derivativeX.\n        '
    (x_pos, y_pos) = self.findSector(x, y)
    (alpha, beta) = self.findCoords(x, y, x_pos, y_pos)
    xA = self.x_values[(x_pos, y_pos)]
    xB = self.x_values[((x_pos + 1), y_pos)]
    xC = self.x_values[(x_pos, (y_pos + 1))]
    xD = self.x_values[((x_pos + 1), (y_pos + 1))]
    yA = self.y_values[(x_pos, y_pos)]
    yB = self.y_values[((x_pos + 1), y_pos)]
    yC = self.y_values[(x_pos, (y_pos + 1))]
    yD = self.y_values[((x_pos + 1), (y_pos + 1))]
    fA = self.f_values[(x_pos, y_pos)]
    fB = self.f_values[((x_pos + 1), y_pos)]
    fC = self.f_values[(x_pos, (y_pos + 1))]
    fD = self.f_values[((x_pos + 1), (y_pos + 1))]
    alpha_x = (((1 - beta) * (xB - xA)) + (beta * (xD - xC)))
    alpha_y = (((1 - beta) * (yB - yA)) + (beta * (yD - yC)))
    beta_x = (((1 - alpha) * (xC - xA)) + (alpha * (xD - xB)))
    beta_y = (((1 - alpha) * (yC - yA)) + (alpha * (yD - yB)))
    det = ((alpha_x * beta_y) - (beta_x * alpha_y))
    x_alpha = (beta_y / det)
    x_beta = ((- alpha_y) / det)
    dfda = (((1 - beta) * (fB - fA)) + (beta * (fD - fC)))
    dfdb = (((1 - alpha) * (fC - fA)) + (alpha * (fD - fB)))
    dfdx = ((x_alpha * dfda) + (x_beta * dfdb))
    return dfdx
Returns the derivative with respect to x of the interpolated function
at each value in x,y. Only called internally by HARKinterpolator2D.derivativeX.
def _derX(self, x, y):
    '\n        Returns the derivative with respect to x of the interpolated function\n        at each value in x,y. Only called internally by HARKinterpolator2D.derivativeX.\n        '
    (x_pos, y_pos) = self.findSector(x, y)
    (alpha, beta) = self.findCoords(x, y, x_pos, y_pos)
    xA = self.x_values[(x_pos, y_pos)]
    xB = self.x_values[((x_pos + 1), y_pos)]
    xC = self.x_values[(x_pos, (y_pos + 1))]
    xD = self.x_values[((x_pos + 1), (y_pos + 1))]
    yA = self.y_values[(x_pos, y_pos)]
    yB = self.y_values[((x_pos + 1), y_pos)]
    yC = self.y_values[(x_pos, (y_pos + 1))]
    yD = self.y_values[((x_pos + 1), (y_pos + 1))]
    fA = self.f_values[(x_pos, y_pos)]
    fB = self.f_values[((x_pos + 1), y_pos)]
    fC = self.f_values[(x_pos, (y_pos + 1))]
    fD = self.f_values[((x_pos + 1), (y_pos + 1))]
    alpha_x = (((1 - beta) * (xB - xA)) + (beta * (xD - xC)))
    alpha_y = (((1 - beta) * (yB - yA)) + (beta * (yD - yC)))
    beta_x = (((1 - alpha) * (xC - xA)) + (alpha * (xD - xB)))
    beta_y = (((1 - alpha) * (yC - yA)) + (alpha * (yD - yB)))
    det = ((alpha_x * beta_y) - (beta_x * alpha_y))
    x_alpha = (beta_y / det)
    x_beta = ((- alpha_y) / det)
    dfda = (((1 - beta) * (fB - fA)) + (beta * (fD - fC)))
    dfdb = (((1 - alpha) * (fC - fA)) + (alpha * (fD - fB)))
    dfdx = ((x_alpha * dfda) + (x_beta * dfdb))
    return dfdx