code: def _derX(self,x,y):
          '''
          Returns the first derivative of the function with respect to X at each
          value in (x,y).  Only called internally by HARKinterpolator2D._derX.
          '''
          m = len(x)
          temp = np.zeros((m,self.funcCount))
          for j in range(self.funcCount):
              temp[:,j] = self.functions[j](x,y)
          temp[np.isnan(temp)] = np.inf
          i = np.argmin(temp,axis=1)
          dfdx = np.zeros_like(x)
          for j in range(self.funcCount):
              c = i == j
              dfdx[c] = self.functions[j].derivativeX(x[c],y[c])
          return dfdf _derX(self,x,y):
          '''
          Returns the first derivative of the function with respect to X at each
          value in (x,y).  Only called internally by HARKinterpolator2D._derX.
          '''
          m = len(x)
          temp = np.zeros((m,self.funcCount))
          for j in range(self.funcCount):
              temp[:,j] = self.functions[j](x,y)
          temp[np.isnan(temp)] = np.inf
          i = np.argmin(temp,axis=1)
          dfdx = np.zeros_like(x)
          for j in range(self.funcCount):
              c = i == j
              dfdx[c] = self.functions[j].derivativeX(x[c],y[c])
          return dfdx
docs: Returns the first derivative of the function with respect to X at each
          value in (x,y).  Only called internally by HARKinterpolator2D._derX.