title: ValueError: The input contains nan values - from lmfit model despite the input not containing NaNs
body: <p>I'm trying to build a model using lmfit <a href="https://lmfit.github.io/lmfit-py/model.html#the-model-class" rel="noreferrer">(link to docs)</a> and I can't seems to find out why I keep getting a <code>ValueError: The input contains nan values</code> when I try to fit the model.</p>
  
  <pre><code>from lmfit import minimize, Minimizer, Parameters, Parameter, report_fit, Model
  import numpy as np
  
  def cde(t, Qi, at, vw, R, rhob_cb, al, d, r):
      # t (time), is the independent variable
      return Qi / (8 * np.pi * ((at * vw)/R) * t * rhob_cb * (np.sqrt(np.pi * ((al * vw)/R * t))))  * \
          np.exp(- (R * (d - (t * vw)/ R)**2) / (4 * (al * vw) * t) - (R * r**2)/ (4 * (at * vw) * t))
  
  model_cde =  Model(cde)
  
  
  # Allowed to vary
  model_cde.set_param_hint('vw', value =10**-4, min=0.000001)
  model_cde.set_param_hint('d', value = -0.038, min = 0.0001)
  model_cde.set_param_hint('r', value = 5.637e-10)
  model_cde.set_param_hint('at', value =0.1)
  model_cde.set_param_hint('al', value =0.15)
  
  # Fixed
  model_cde.set_param_hint('Qi', value = 1000, vary = False)
  model_cde.set_param_hint('R', value =1.7, vary = False)
  model_cde.set_param_hint('rhob_cb', value =3000, vary = False)
  
  # test data
  data = [ 1.37,  1.51,  1.65,  1.79,  1.91,  2.02,  2.12,  2.2 ,
          2.27,  2.32,  2.36,  2.38,  2.4 ,  2.41,  2.42,  2.41,  2.4 ,
          2.39,  2.37,  2.35,  2.33,  2.31,  2.29,  2.26,  2.23,  2.2 ,
          2.17,  2.14,  2.11,  2.08,  2.06,  2.02,  1.99,  1.97,  1.94,
          1.91,  1.88,  1.85,  1.83,  1.8 ,  1.78,  1.75,  1.72,  1.7 ,
          1.68,  1.65,  1.63,  1.61,  1.58]
  
  time = list(range(5,250,5))
  
  model_cde.fit(data, t= time)
  </code></pre>
  
  <p>Produces the following error:</p>
  
  <pre><code>---------------------------------------------------------------------------
  ValueError                                Traceback (most recent call last)
  &lt;ipython-input-16-785fcc6a994b&gt; in &lt;module&gt;()
  ----&gt; 1 model_cde.fit(data, t= time)
  
  /home/bprodz/.virtualenvs/phd_dev/lib/python3.5/site-packages/lmfit/model.py in fit(self, data, params, weights, method, iter_cb, scale_covar, verbose, fit_kws, **kwargs)
      539                              scale_covar=scale_covar, fcn_kws=kwargs,
      540                              **fit_kws)
  --&gt; 541         output.fit(data=data, weights=weights)
      542         output.components = self.components
      543         return output
  
  /home/bprodz/.virtualenvs/phd_dev/lib/python3.5/site-packages/lmfit/model.py in fit(self, data, params, weights, method, **kwargs)
      745         self.init_fit    = self.model.eval(params=self.params, **self.userkws)
      746 
  --&gt; 747         _ret = self.minimize(method=self.method)
      748 
      749         for attr in dir(_ret):
  
  /home/bprodz/.virtualenvs/phd_dev/lib/python3.5/site-packages/lmfit/minimizer.py in minimize(self, method, params, **kws)
     1240                     val.lower().startswith(user_method)):
     1241                     kwargs['method'] = val
  -&gt; 1242         return function(**kwargs)
     1243 
     1244 
  
  /home/bprodz/.virtualenvs/phd_dev/lib/python3.5/site-packages/lmfit/minimizer.py in leastsq(self, params, **kws)
     1070         np.seterr(all='ignore')
     1071 
  -&gt; 1072         lsout = scipy_leastsq(self.__residual, vars, **lskws)
     1073         _best, _cov, infodict, errmsg, ier = lsout
     1074         result.aborted = self._abort
  
  /home/bprodz/.virtualenvs/phd_dev/lib/python3.5/site-packages/scipy/optimize/minpack.py in leastsq(func, x0, args, Dfun, full_output, col_deriv, ftol, xtol, gtol, maxfev, epsfcn, factor, diag)
      385             maxfev = 200*(n + 1)
      386         retval = _minpack._lmdif(func, x0, args, full_output, ftol, xtol,
  --&gt; 387                                  gtol, maxfev, epsfcn, factor, diag)
      388     else:
      389         if col_deriv:
  
  /home/bprodz/.virtualenvs/phd_dev/lib/python3.5/site-packages/lmfit/minimizer.py in __residual(self, fvars, apply_bounds_transformation)
      369 
      370         out = self.userfcn(params, *self.userargs, **self.userkws)
  --&gt; 371         out = _nan_policy(out, nan_policy=self.nan_policy)
      372 
      373         if callable(self.iter_cb):
  
  /home/bprodz/.virtualenvs/phd_dev/lib/python3.5/site-packages/lmfit/minimizer.py in _nan_policy(a, nan_policy, handle_inf)
     1430 
     1431         if contains_nan:
  -&gt; 1432             raise ValueError("The input contains nan values")
     1433         return a
     1434 
  
  ValueError: The input contains nan values
  </code></pre>
  
  <p>However the results of the following checks for NaNs confirms that there were no NaN values in my data:</p>
  
  <pre><code>print(np.any(np.isnan(data)), np.any(np.isnan(time)))
  False False
  </code></pre>
  
  <p>So far I've tried converting 1 and/or both of <code>data</code> and <code>time</code> from lists to <code>numpy ndarrays</code>, removing the 0th time step (in case there was a dividing by 0 error), explicitly specifying the <code>t</code> as being independent and allowing all variables to vary. However these all throw the same error.</p>
  
  <p>Does anyone have ideas what is causing this error to be thrown? Thanks.</p>