diff --git a/doc/conf.py b/doc/conf.py index 7a5ec4b0a5e..b8f0545b5ea 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -338,6 +338,7 @@ "sparse": ("https://sparse.pydata.org/en/latest/", None), "xarray-tutorial": ("https://tutorial.xarray.dev/", None), "zarr": ("https://zarr.readthedocs.io/en/stable/", None), + "xarray-lmfit": ("https://xarray-lmfit.readthedocs.io/stable", None), } # based on numpy doc/source/conf.py diff --git a/doc/user-guide/ecosystem.rst b/doc/user-guide/ecosystem.rst index 1f1ca04b78c..df7900df460 100644 --- a/doc/user-guide/ecosystem.rst +++ b/doc/user-guide/ecosystem.rst @@ -89,6 +89,7 @@ Extend xarray capabilities - `X-regression `_: Multiple linear regression from Statsmodels library coupled with Xarray library. - `xskillscore `_: Metrics for verifying forecasts. - `xyzpy `_: Easily generate high dimensional data, including parallelization. +- `xarray-lmfit `_: xarray extension for curve fitting using `lmfit `_. Visualization ~~~~~~~~~~~~~ diff --git a/xarray/core/dataarray.py b/xarray/core/dataarray.py index f523f971725..565d84ea972 100644 --- a/xarray/core/dataarray.py +++ b/xarray/core/dataarray.py @@ -6418,7 +6418,7 @@ def curvefit( """ Curve fitting optimization for arbitrary functions. - Wraps `scipy.optimize.curve_fit` with `apply_ufunc`. + Wraps :py:func:`scipy.optimize.curve_fit` with :py:func:`~xarray.apply_ufunc`. Parameters ---------- @@ -6558,6 +6558,9 @@ def curvefit( -------- DataArray.polyfit scipy.optimize.curve_fit + xarray.DataArray.xlm.modelfit + External method from `xarray-lmfit `_ + with more curve fitting functionality. """ # For DataArray, use the original implementation by converting to a dataset first return self._to_temp_dataset().curvefit( diff --git a/xarray/core/dataset.py b/xarray/core/dataset.py index 9d52f2e0776..9729080736a 100644 --- a/xarray/core/dataset.py +++ b/xarray/core/dataset.py @@ -9566,7 +9566,7 @@ def curvefit( """ Curve fitting optimization for arbitrary functions. - Wraps `scipy.optimize.curve_fit` with `apply_ufunc`. + Wraps :py:func:`scipy.optimize.curve_fit` with :py:func:`~xarray.apply_ufunc`. Parameters ---------- @@ -9626,6 +9626,9 @@ def curvefit( -------- Dataset.polyfit scipy.optimize.curve_fit + xarray.Dataset.xlm.modelfit + External method from `xarray-lmfit `_ + with more curve fitting functionality. """ from xarray.computation.fit import curvefit as curvefit_impl