From 6356e3dd5d21f7ee6722be19b4139b6c3833f55c Mon Sep 17 00:00:00 2001
From: David Schaefer <david.schaefer@ufz.de>
Date: Tue, 10 Jan 2023 07:56:28 +0100
Subject: [PATCH] change the default limit value of the interpolation routines

---
 CHANGELOG.md                |  1 +
 saqc/funcs/interpolation.py | 14 ++++++--------
 saqc/lib/ts_operators.py    |  2 +-
 3 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5991caea1..d37d927ce 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,6 +14,7 @@ SPDX-License-Identifier: GPL-3.0-or-later
 - Remove all flag value restrictions from the default flagging scheme `FloatTranslator` 
 - Renamed `TranslationScheme.forward` to `TranslationScheme.toInternal` 
 - Renamed `TranslationScheme.backward` to `TranslationScheme.toExternal` 
+- Changed Default value of the parameter `limit` for `SaQC.interpolateIndex` and `SaQC.interpolateInvalid` to ``None`
 ### Removed
 ### Fixed
 
diff --git a/saqc/funcs/interpolation.py b/saqc/funcs/interpolation.py
index e25401429..e0907e261 100644
--- a/saqc/funcs/interpolation.py
+++ b/saqc/funcs/interpolation.py
@@ -143,7 +143,7 @@ class InterpolationMixin:
         field: str,
         method: _SUPPORTED_METHODS,
         order: int = 2,
-        limit: int = 2,
+        limit: int | None = None,
         downgrade: bool = False,
         flag: float = UNFLAGGED,
         **kwargs,
@@ -167,9 +167,8 @@ class InterpolationMixin:
             If there your selected interpolation method can be performed at different 'orders' - here you pass the desired
             order.
 
-        limit : int, default 2
-            Maximum number of consecutive 'nan' values allowed for a gap to be interpolated. This really restricts the
-            interpolation to chunks, containing not more than `limit` successive nan entries.
+        limit : int, optional
+            Maximum number of consecutive `nan` values to fill. Must be greater than 0.
 
         flag : float or None, default UNFLAGGED
             Flag that is set for interpolated values. If ``None``, no flags are set at all.
@@ -210,7 +209,7 @@ class InterpolationMixin:
         freq: str,
         method: _SUPPORTED_METHODS,
         order: int = 2,
-        limit: int = 2,
+        limit: int | None = None,
         downgrade: bool = False,
         **kwargs,
     ) -> "SaQC":
@@ -237,9 +236,8 @@ class InterpolationMixin:
             If there your selected interpolation method can be performed at different 'orders' - here you pass the desired
             order.
 
-        limit : int, default 2
-            Maximum number of consecutive 'nan' values allowed for a gap to be interpolated. This really restricts the
-            interpolation to chunks, containing not more than `limit` successive nan entries.
+        limit : int, optional
+            Maximum number of missing index values (with respect to `freq`) to fill. Must be greater than 0.
 
         downgrade : bool, default False
             If `True` and the interpolation can not be performed at current order, retry with a lower order.
diff --git a/saqc/lib/ts_operators.py b/saqc/lib/ts_operators.py
index 094875fcc..e63eb8b74 100644
--- a/saqc/lib/ts_operators.py
+++ b/saqc/lib/ts_operators.py
@@ -301,7 +301,7 @@ def interpolateNANs(
 
     :return:
     """
-    inter_limit = int(inter_limit)
+    inter_limit = int(inter_limit or len(data) + 1)
     data = pd.Series(data, copy=True)
     gap_mask = data.isna().rolling(inter_limit, min_periods=0).sum() != inter_limit
 
-- 
GitLab