diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 761332c3..d7be53db 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -60,7 +60,7 @@ representative at an online or offline event.
 
 Instances of abusive, harassing, or otherwise unacceptable behavior may be
 reported to the community leaders responsible for enforcement at
-cristina.teixidor@cognite.com.
+support@cognite.com.
 All complaints will be reviewed and investigated promptly and fairly.
 
 All community leaders are obligated to respect the privacy and security of the
diff --git a/docs-source/source/auto_examples/data_quality/sg_execution_times.rst b/docs-source/source/auto_examples/data_quality/sg_execution_times.rst
index 9ae06a4d..50b76386 100644
--- a/docs-source/source/auto_examples/data_quality/sg_execution_times.rst
+++ b/docs-source/source/auto_examples/data_quality/sg_execution_times.rst
@@ -3,12 +3,13 @@
 
 .. _sphx_glr_auto_examples_data_quality_sg_execution_times:
 
+
 Computation times
 =================
-**00:02.293** total execution time for **auto_examples_data_quality** files:
+**00:02.605** total execution time for **auto_examples_data_quality** files:
 
 +------------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_auto_examples_data_quality_plot_out_of_range.py` (``plot_out_of_range.py``)                             | 00:02.293 | 0.0 MB |
+| :ref:`sphx_glr_auto_examples_data_quality_plot_datapoint_diff.py` (``plot_datapoint_diff.py``)                         | 00:02.605 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_auto_examples_data_quality_plot_completeness.py` (``plot_completeness.py``)                             | 00:00.000 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------------+-----------+--------+
@@ -18,6 +19,8 @@ Computation times
 +------------------------------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_auto_examples_data_quality_plot_low_density_identification.py` (``plot_low_density_identification.py``) | 00:00.000 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------------+-----------+--------+
+| :ref:`sphx_glr_auto_examples_data_quality_plot_out_of_range.py` (``plot_out_of_range.py``)                             | 00:00.000 | 0.0 MB |
++------------------------------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_auto_examples_data_quality_plot_rolling_stddev_timedelta.py` (``plot_rolling_stddev_timedelta.py``)     | 00:00.000 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_auto_examples_data_quality_plot_value_decrease_check.py` (``plot_value_decrease_check.py``)             | 00:00.000 | 0.0 MB |
diff --git a/docs-source/source/auto_examples/detect/sg_execution_times.rst b/docs-source/source/auto_examples/detect/sg_execution_times.rst
index 735c4a03..949fe4e4 100644
--- a/docs-source/source/auto_examples/detect/sg_execution_times.rst
+++ b/docs-source/source/auto_examples/detect/sg_execution_times.rst
@@ -3,20 +3,15 @@
 
 .. _sphx_glr_auto_examples_detect_sg_execution_times:
 
-Computation times
-
-**00:01.691** total execution time for **auto_examples_detect** files:
-
-+--------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_auto_examples_detect_plot_oscillation_detection.py` (``plot_oscillation_detection.py``) | 00:01.691 | 0.0 MB |
-+--------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_auto_examples_detect_plot_ssd_cpd.py` (``plot_ssd_cpd.py``)                             | 00:00.000 | 0.0 MB |
-+--------------------------------------------------------------------------------------------------------+-----------+--------+
 
-**00:28.644** total execution time for **auto_examples_detect** files:
+Computation times
+=================
+**00:01.182** total execution time for **auto_examples_detect** files:
 
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_auto_examples_detect_plot_cusum.py` (``plot_cusum.py``)                                           | 00:28.644 | 0.0 MB |
+| :ref:`sphx_glr_auto_examples_detect_plot_oscillation_detection.py` (``plot_oscillation_detection.py``)           | 00:01.182 | 0.0 MB |
++------------------------------------------------------------------------------------------------------------------+-----------+--------+
+| :ref:`sphx_glr_auto_examples_detect_plot_cusum.py` (``plot_cusum.py``)                                           | 00:00.000 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_auto_examples_detect_plot_ssd_cpd.py` (``plot_ssd_cpd.py``)                                       | 00:00.000 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/CHANGELOG.html b/docs/CHANGELOG.html
index 338f9a54..2613d9a9 100644
--- a/docs/CHANGELOG.html
+++ b/docs/CHANGELOG.html
@@ -18,9 +18,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
@@ -361,9 +361,9 @@
            <div itemprop="articleBody">
              
   <section id="changelog">
-<h1>Changelog<a class="headerlink" href="#changelog" title="Permalink to this heading"></a></h1>
+<h1>Changelog<a class="headerlink" href="#changelog" title="Link to this heading"></a></h1>
 <section id="v8-2-0">
-<h2>v8.2.0<a class="headerlink" href="#v8-2-0" title="Permalink to this heading"></a></h2>
+<h2>v8.2.0<a class="headerlink" href="#v8-2-0" title="Link to this heading"></a></h2>
 <ul class="simple">
 <li><p>fix(deps): update dependency numpy to v1.25.1 in #1056</p></li>
 <li><p>chore(deps): update pre-commit hook commitizen-tools/commitizen to v3.5.4 in #1058</p></li>
@@ -404,9 +404,9 @@ <h2>v8.2.0<a class="headerlink" href="#v8-2-0" title="Permalink to this heading"
 </ul>
 </section>
 <section id="v8-1-0">
-<h2>v8.1.0<a class="headerlink" href="#v8-1-0" title="Permalink to this heading"></a></h2>
+<h2>v8.1.0<a class="headerlink" href="#v8-1-0" title="Link to this heading"></a></h2>
 <section id="feat">
-<h3>Feat<a class="headerlink" href="#feat" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#feat" title="Link to this heading"></a></h3>
 <ul>
 <li><p>chore(deps): update dependency sphinx to &lt;7.2 (#1051)</p></li>
 <li><p>chore(deps): update python docker tag to v3.11.5 (#1053)</p></li>
@@ -419,18 +419,18 @@ <h3>Feat<a class="headerlink" href="#feat" title="Permalink to this heading">
 </section>
 </section>
 <section id="v8-0-1">
-<h2>v8.0.1<a class="headerlink" href="#v8-0-1" title="Permalink to this heading"></a></h2>
+<h2>v8.0.1<a class="headerlink" href="#v8-0-1" title="Link to this heading"></a></h2>
 <section id="id1">
-<h3>Fix<a class="headerlink" href="#id1" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id1" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>fix: create a poetry group for fluids (#1048)</p></li>
 </ul>
 </section>
 </section>
 <section id="v8-0-0">
-<h2>v8.0.0<a class="headerlink" href="#v8-0-0" title="Permalink to this heading"></a></h2>
+<h2>v8.0.0<a class="headerlink" href="#v8-0-0" title="Link to this heading"></a></h2>
 <section id="id2">
-<h3>Feat<a class="headerlink" href="#id2" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id2" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>docs: build docs (#1021)</p></li>
 <li><p>chore(deps): update pre-commit hook commitizen-tools/commitizen to v3.4.0 (#1023)</p></li>
@@ -460,7 +460,7 @@ <h3>Feat<a class="headerlink" href="#id2" title="Permalink to this heading"><
 </ul>
 </section>
 <section id="id3">
-<h3>Fix<a class="headerlink" href="#id3" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id3" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>fix(deps): update dependency scipy to v1.11.1 (#1039)</p></li>
 <li><p>fix: raise UserValueError if alpha is outside the range (0, 1] in Cusum (#1037)</p></li>
@@ -468,16 +468,16 @@ <h3>Fix<a class="headerlink" href="#id3" title="Permalink to this heading"></
 </section>
 </section>
 <section id="v7-0-1">
-<h2>v7.0.1<a class="headerlink" href="#v7-0-1" title="Permalink to this heading"></a></h2>
+<h2>v7.0.1<a class="headerlink" href="#v7-0-1" title="Link to this heading"></a></h2>
 <section id="id4">
-<h3>Fix<a class="headerlink" href="#id4" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id4" title="Link to this heading"></a></h3>
 <p>fix: remove matplotlib from indsl main depenencies, use lazy import (#1019)</p>
 </section>
 </section>
 <section id="v7-0-0">
-<h2>v7.0.0<a class="headerlink" href="#v7-0-0" title="Permalink to this heading"></a></h2>
+<h2>v7.0.0<a class="headerlink" href="#v7-0-0" title="Link to this heading"></a></h2>
 <section id="id5">
-<h3>Feat<a class="headerlink" href="#id5" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id5" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>chore(deps): update pre-commit hook commitizen-tools/commitizen to v3.3.0 (1014)</p></li>
 <li><p>chore(deps): lock file maintenance (#1016)</p></li>
@@ -485,23 +485,23 @@ <h3>Feat<a class="headerlink" href="#id5" title="Permalink to this heading"><
 </ul>
 </section>
 <section id="id6">
-<h3>Fix<a class="headerlink" href="#id6" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id6" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>fix: exclude plot from oscillation detector in charts (#1017)</p></li>
 </ul>
 </section>
 </section>
 <section id="v6-6-0a1-pre-release">
-<h2>v6.6.0a1 Pre-release<a class="headerlink" href="#v6-6-0a1-pre-release" title="Permalink to this heading"></a></h2>
+<h2>v6.6.0a1 Pre-release<a class="headerlink" href="#v6-6-0a1-pre-release" title="Link to this heading"></a></h2>
 <section id="id7">
-<h3>Feat<a class="headerlink" href="#id7" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id7" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>chore(deps): lock file maintenance (#1009)</p></li>
 <li><p>chore(deps): update dependency sphinx to v7 (#1006)</p></li>
 </ul>
 </section>
 <section id="id8">
-<h3>Fix<a class="headerlink" href="#id8" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id8" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>fix: raise UserValueError if x is duplicated (#1005)</p></li>
 <li><p>fix: updates after panadas v2 (#1012)</p></li>
@@ -509,16 +509,16 @@ <h3>Fix<a class="headerlink" href="#id8" title="Permalink to this heading"></
 </section>
 </section>
 <section id="v6-6-0a0-2023-07-04">
-<h2>v6.6.0a0 (2023-07-04)<a class="headerlink" href="#v6-6-0a0-2023-07-04" title="Permalink to this heading"></a></h2>
+<h2>v6.6.0a0 (2023-07-04)<a class="headerlink" href="#v6-6-0a0-2023-07-04" title="Link to this heading"></a></h2>
 <section id="id9">
-<h3>Feat<a class="headerlink" href="#id9" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id9" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>calculate datapoint difference over a time period (#851)</p></li>
 <li><p>valve flow for compressible fluid (#670)</p></li>
 </ul>
 </section>
 <section id="id10">
-<h3>Fix<a class="headerlink" href="#id10" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id10" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>use Literal from typing_extensions (#999)</p></li>
 <li><p><strong>deps</strong>: update dependency scikit-image to ^0.21.0 (#1003)</p></li>
@@ -536,15 +536,15 @@ <h3>Fix<a class="headerlink" href="#id10" title="Permalink to this heading"><
 </section>
 </section>
 <section id="v6-5-0-2023-03-31">
-<h2>v6.5.0 (2023-03-31)<a class="headerlink" href="#v6-5-0-2023-03-31" title="Permalink to this heading"></a></h2>
+<h2>v6.5.0 (2023-03-31)<a class="headerlink" href="#v6-5-0-2023-03-31" title="Link to this heading"></a></h2>
 <section id="id11">
-<h3>Feat<a class="headerlink" href="#id11" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id11" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>feat: add groupby region calculation (#933)</p></li>
 </ul>
 </section>
 <section id="id12">
-<h3>Fix<a class="headerlink" href="#id12" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id12" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>add <code class="docutils literal notranslate"><span class="pre">pd.Timedelta</span></code> validation to <code class="docutils literal notranslate"><span class="pre">trapezoidal_integration</span></code> (#946)</p></li>
 <li><p>move away from numba implementation for fluids library (#943)</p></li>
@@ -552,18 +552,18 @@ <h3>Fix<a class="headerlink" href="#id12" title="Permalink to this heading"><
 </section>
 </section>
 <section id="v6-4-4-2023-03-23">
-<h2>v6.4.4 (2023-03-23)<a class="headerlink" href="#v6-4-4-2023-03-23" title="Permalink to this heading"></a></h2>
+<h2>v6.4.4 (2023-03-23)<a class="headerlink" href="#v6-4-4-2023-03-23" title="Link to this heading"></a></h2>
 <section id="id13">
-<h3>Fix<a class="headerlink" href="#id13" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id13" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>remove emd (#940)</p></li>
 </ul>
 </section>
 </section>
 <section id="v6-4-3-2023-02-23">
-<h2>v6.4.3 (2023-02-23)<a class="headerlink" href="#v6-4-3-2023-02-23" title="Permalink to this heading"></a></h2>
+<h2>v6.4.3 (2023-02-23)<a class="headerlink" href="#v6-4-3-2023-02-23" title="Link to this heading"></a></h2>
 <section id="id14">
-<h3>Fix<a class="headerlink" href="#id14" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id14" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p><strong>deps</strong>: update dependency packaging to v23 (#921)</p></li>
 <li><p>remove emd dependency from indsl (#923)</p></li>
@@ -571,18 +571,18 @@ <h3>Fix<a class="headerlink" href="#id14" title="Permalink to this heading"><
 </section>
 </section>
 <section id="v6-4-2-2023-01-24">
-<h2>v6.4.2 (2023-01-24)<a class="headerlink" href="#v6-4-2-2023-01-24" title="Permalink to this heading"></a></h2>
+<h2>v6.4.2 (2023-01-24)<a class="headerlink" href="#v6-4-2-2023-01-24" title="Link to this heading"></a></h2>
 <section id="id15">
-<h3>Fix<a class="headerlink" href="#id15" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id15" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>numpy warning (#909)</p></li>
 </ul>
 </section>
 </section>
 <section id="v6-4-1-2023-01-24">
-<h2>v6.4.1 (2023-01-24)<a class="headerlink" href="#v6-4-1-2023-01-24" title="Permalink to this heading"></a></h2>
+<h2>v6.4.1 (2023-01-24)<a class="headerlink" href="#v6-4-1-2023-01-24" title="Link to this heading"></a></h2>
 <section id="id16">
-<h3>Fix<a class="headerlink" href="#id16" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id16" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>data quality base class handle consecutive gaps as separate events [DEGR-1298] (#906)</p></li>
 <li><p><strong>deps</strong>: update dependency packaging to v22 (#898)</p></li>
@@ -591,16 +591,16 @@ <h3>Fix<a class="headerlink" href="#id16" title="Permalink to this heading"><
 </section>
 </section>
 <section id="v6-4-0-2022-12-13">
-<h2>v6.4.0 (2022-12-13)<a class="headerlink" href="#v6-4-0-2022-12-13" title="Permalink to this heading"></a></h2>
+<h2>v6.4.0 (2022-12-13)<a class="headerlink" href="#v6-4-0-2022-12-13" title="Link to this heading"></a></h2>
 <section id="id17">
-<h3>Feat<a class="headerlink" href="#id17" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id17" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>add drilling toolbox and basic detection algorithms (#832)</p></li>
 <li><p>check licenses with dependencies CI action [DEGR-956] (#879)</p></li>
 </ul>
 </section>
 <section id="id18">
-<h3>Fix<a class="headerlink" href="#id18" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id18" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>remove gustavo as author (#884)</p></li>
 <li><p>Refactor title of example for value decrease check (#880)</p></li>
@@ -610,18 +610,18 @@ <h3>Fix<a class="headerlink" href="#id18" title="Permalink to this heading"><
 </section>
 </section>
 <section id="v6-3-1-2022-11-09">
-<h2>v6.3.1 (2022-11-09)<a class="headerlink" href="#v6-3-1-2022-11-09" title="Permalink to this heading"></a></h2>
+<h2>v6.3.1 (2022-11-09)<a class="headerlink" href="#v6-3-1-2022-11-09" title="Link to this heading"></a></h2>
 <section id="id19">
-<h3>Fix<a class="headerlink" href="#id19" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id19" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p><strong>publish</strong>: add auto-merge label to PR (#863)</p></li>
 </ul>
 </section>
 </section>
 <section id="v6-3-0-2022-11-08">
-<h2>v6.3.0 (2022-11-08)<a class="headerlink" href="#v6-3-0-2022-11-08" title="Permalink to this heading"></a></h2>
+<h2>v6.3.0 (2022-11-08)<a class="headerlink" href="#v6-3-0-2022-11-08" title="Link to this heading"></a></h2>
 <section id="id20">
-<h3>Feat<a class="headerlink" href="#id20" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id20" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>add new optional argument for resample_timeseries utility function (#830)</p></li>
 <li><p>add auto approve workflow for renovate[bot] PRs (#854)</p></li>
@@ -629,7 +629,7 @@ <h3>Feat<a class="headerlink" href="#id20" title="Permalink to this heading">
 </ul>
 </section>
 <section id="id21">
-<h3>Fix<a class="headerlink" href="#id21" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id21" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p><strong>deps</strong>: update dependency numba to ^0.56.0 (#827)</p></li>
 <li><p>Instantiate outlier detection function (#846)</p></li>
@@ -637,48 +637,48 @@ <h3>Fix<a class="headerlink" href="#id21" title="Permalink to this heading"><
 </section>
 </section>
 <section id="v6-2-0-2022-09-29">
-<h2>v6.2.0 (2022-09-29)<a class="headerlink" href="#v6-2-0-2022-09-29" title="Permalink to this heading"></a></h2>
+<h2>v6.2.0 (2022-09-29)<a class="headerlink" href="#v6-2-0-2022-09-29" title="Link to this heading"></a></h2>
 <section id="id22">
-<h3>Feat<a class="headerlink" href="#id22" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id22" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>Data Quality Function for validity dimension - Out of range outlier detection (#667)</p></li>
 </ul>
 </section>
 <section id="id23">
-<h3>Fix<a class="headerlink" href="#id23" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id23" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p><strong>deps</strong>: update dependency kneed to ^0.8.0 (#831)</p></li>
 </ul>
 </section>
 </section>
 <section id="v6-1-0-2022-08-25">
-<h2>v6.1.0 (2022-08-25)<a class="headerlink" href="#v6-1-0-2022-08-25" title="Permalink to this heading"></a></h2>
+<h2>v6.1.0 (2022-08-25)<a class="headerlink" href="#v6-1-0-2022-08-25" title="Link to this heading"></a></h2>
 <section id="id24">
-<h3>Feat<a class="headerlink" href="#id24" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id24" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>add data profiling metrics (#739)</p></li>
 </ul>
 </section>
 </section>
 <section id="v6-0-1-2022-08-17">
-<h2>v6.0.1 (2022-08-17)<a class="headerlink" href="#v6-0-1-2022-08-17" title="Permalink to this heading"></a></h2>
+<h2>v6.0.1 (2022-08-17)<a class="headerlink" href="#v6-0-1-2022-08-17" title="Link to this heading"></a></h2>
 <section id="id25">
-<h3>Fix<a class="headerlink" href="#id25" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id25" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>fix failing pypi push (#819)</p></li>
 </ul>
 </section>
 </section>
 <section id="v6-0-0-2022-08-17">
-<h2>v6.0.0 (2022-08-17)<a class="headerlink" href="#v6-0-0-2022-08-17" title="Permalink to this heading"></a></h2>
+<h2>v6.0.0 (2022-08-17)<a class="headerlink" href="#v6-0-0-2022-08-17" title="Link to this heading"></a></h2>
 <section id="id26">
-<h3>Feat<a class="headerlink" href="#id26" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id26" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>add range option to remove function (#814)</p></li>
 </ul>
 </section>
 <section id="id27">
-<h3>Fix<a class="headerlink" href="#id27" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id27" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>print correct filenames in docstring test (#808)</p></li>
 <li><p>smoothers should handle empty data series [CHART-1005] (#800)</p></li>
@@ -694,31 +694,31 @@ <h3>Fix<a class="headerlink" href="#id27" title="Permalink to this heading"><
 </ul>
 </section>
 <section id="refactor">
-<h3>Refactor<a class="headerlink" href="#refactor" title="Permalink to this heading"></a></h3>
+<h3>Refactor<a class="headerlink" href="#refactor" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>remove unused private function _get_sample_frequency (#809)</p></li>
 </ul>
 </section>
 </section>
 <section id="v4-8-2-2022-08-09">
-<h2>v4.8.2 (2022-08-09)<a class="headerlink" href="#v4-8-2-2022-08-09" title="Permalink to this heading"></a></h2>
+<h2>v4.8.2 (2022-08-09)<a class="headerlink" href="#v4-8-2-2022-08-09" title="Link to this heading"></a></h2>
 <section id="id28">
-<h3>Fix<a class="headerlink" href="#id28" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id28" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>all versioned functions start with v1.0 (#788)</p></li>
 </ul>
 </section>
 </section>
 <section id="v4-8-1-2022-08-09">
-<h2>v4.8.1 (2022-08-09)<a class="headerlink" href="#v4-8-1-2022-08-09" title="Permalink to this heading"></a></h2>
+<h2>v4.8.1 (2022-08-09)<a class="headerlink" href="#v4-8-1-2022-08-09" title="Link to this heading"></a></h2>
 <section id="id29">
-<h3>Refactor<a class="headerlink" href="#id29" title="Permalink to this heading"></a></h3>
+<h3>Refactor<a class="headerlink" href="#id29" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>introduce new naming convention for versioned function (#782)</p></li>
 </ul>
 </section>
 <section id="id30">
-<h3>Fix<a class="headerlink" href="#id30" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id30" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>replace Enum with Literal types in InDSL functions [CHART-763] [CHART-1007] (#781)</p></li>
 <li><p>use stricter data types in remove outliers [CHART-1342] (#776)</p></li>
@@ -736,9 +736,9 @@ <h3>Fix<a class="headerlink" href="#id30" title="Permalink to this heading"><
 </section>
 </section>
 <section id="v4-8-0-2022-07-26">
-<h2>v4.8.0 (2022-07-26)<a class="headerlink" href="#v4-8-0-2022-07-26" title="Permalink to this heading"></a></h2>
+<h2>v4.8.0 (2022-07-26)<a class="headerlink" href="#v4-8-0-2022-07-26" title="Link to this heading"></a></h2>
 <section id="id31">
-<h3>Fix<a class="headerlink" href="#id31" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id31" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>Increase coverage for confidence bands function (#746)</p></li>
 <li><p>Added coverage for drift detector (#745)</p></li>
@@ -748,7 +748,7 @@ <h3>Fix<a class="headerlink" href="#id31" title="Permalink to this heading"><
 </ul>
 </section>
 <section id="id32">
-<h3>Feat<a class="headerlink" href="#id32" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id32" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>Refactor outlier removal and create function for outlier detection (#741)</p></li>
 <li><p>Pearson correlation rolling window (#711)</p></li>
@@ -756,47 +756,47 @@ <h3>Feat<a class="headerlink" href="#id32" title="Permalink to this heading">
 </section>
 </section>
 <section id="v4-7-0-2022-07-07">
-<h2>v4.7.0 (2022-07-07)<a class="headerlink" href="#v4-7-0-2022-07-07" title="Permalink to this heading"></a></h2>
+<h2>v4.7.0 (2022-07-07)<a class="headerlink" href="#v4-7-0-2022-07-07" title="Link to this heading"></a></h2>
 <section id="id33">
-<h3>Fix<a class="headerlink" href="#id33" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id33" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>Add duration unit for unchanged signal detector (#712)</p></li>
 <li><p>fix example recycle valve power loss (#717)</p></li>
 </ul>
 </section>
 <section id="id34">
-<h3>Feat<a class="headerlink" href="#id34" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id34" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>python 3.10 (#721)</p></li>
 </ul>
 </section>
 <section id="id35">
-<h3>Refactor<a class="headerlink" href="#id35" title="Permalink to this heading"></a></h3>
+<h3>Refactor<a class="headerlink" href="#id35" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>remove todo functions (#707)</p></li>
 </ul>
 </section>
 </section>
 <section id="v4-6-0-2022-06-16">
-<h2>v4.6.0 (2022-06-16)<a class="headerlink" href="#v4-6-0-2022-06-16" title="Permalink to this heading"></a></h2>
+<h2>v4.6.0 (2022-06-16)<a class="headerlink" href="#v4-6-0-2022-06-16" title="Link to this heading"></a></h2>
 <section id="id36">
-<h3>Feat<a class="headerlink" href="#id36" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id36" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>add cusum function (#540)</p></li>
 <li><p>add sustainability calculations (#686)</p></li>
 </ul>
 </section>
 <section id="id37">
-<h3>Fix<a class="headerlink" href="#id37" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id37" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>coverage upgrade for butterworth filter (#690)</p></li>
 </ul>
 </section>
 </section>
 <section id="v4-5-1-2022-06-09">
-<h2>v4.5.1 (2022-06-09)<a class="headerlink" href="#v4-5-1-2022-06-09" title="Permalink to this heading"></a></h2>
+<h2>v4.5.1 (2022-06-09)<a class="headerlink" href="#v4-5-1-2022-06-09" title="Link to this heading"></a></h2>
 <section id="id38">
-<h3>Fix<a class="headerlink" href="#id38" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id38" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>error message in holt winters predictor (#688)</p></li>
 <li><p>make test of initial version accept more formats (#685)</p></li>
@@ -807,56 +807,56 @@ <h3>Fix<a class="headerlink" href="#id38" title="Permalink to this heading"><
 </section>
 </section>
 <section id="v4-5-0-2022-05-25">
-<h2>v4.5.0 (2022-05-25)<a class="headerlink" href="#v4-5-0-2022-05-25" title="Permalink to this heading"></a></h2>
+<h2>v4.5.0 (2022-05-25)<a class="headerlink" href="#v4-5-0-2022-05-25" title="Link to this heading"></a></h2>
 <section id="id39">
-<h3>Fix<a class="headerlink" href="#id39" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id39" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>add correct type of parameters for density methods (DQ score) (#666)</p></li>
 </ul>
 </section>
 <section id="id40">
-<h3>Feat<a class="headerlink" href="#id40" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id40" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>Unchanged signal identification of time series (#638)</p></li>
 </ul>
 </section>
 </section>
 <section id="v4-4-1-2022-05-18">
-<h2>v4.4.1 (2022-05-18)<a class="headerlink" href="#v4-4-1-2022-05-18" title="Permalink to this heading"></a></h2>
+<h2>v4.4.1 (2022-05-18)<a class="headerlink" href="#v4-4-1-2022-05-18" title="Link to this heading"></a></h2>
 <section id="id41">
-<h3>Fix<a class="headerlink" href="#id41" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id41" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>typo in Pump recycle valve power description (#661)</p></li>
 </ul>
 </section>
 </section>
 <section id="v4-4-0-2022-05-11">
-<h2>v4.4.0 (2022-05-11)<a class="headerlink" href="#v4-4-0-2022-05-11" title="Permalink to this heading"></a></h2>
+<h2>v4.4.0 (2022-05-11)<a class="headerlink" href="#v4-4-0-2022-05-11" title="Link to this heading"></a></h2>
 <section id="id42">
-<h3>Feat<a class="headerlink" href="#id42" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id42" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>allow union of scalar and series parameters to pump and valve f… (#636)</p></li>
 <li><p>Rolling standard deviation of time delta (#582)</p></li>
 </ul>
 </section>
 <section id="id43">
-<h3>Fix<a class="headerlink" href="#id43" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id43" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>fix bug in reindex if bounded=True and input contains NaNs [CHART-1224] (#644)</p></li>
 <li><p>Raise UserValueError if time series is empty in remove_outliers [CHART-1226] (#642)</p></li>
 </ul>
 </section>
 <section id="id44">
-<h3>Refactor<a class="headerlink" href="#id44" title="Permalink to this heading"></a></h3>
+<h3>Refactor<a class="headerlink" href="#id44" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>restructure add equipment (#624)</p></li>
 </ul>
 </section>
 </section>
 <section id="v4-3-1-2022-05-04">
-<h2>v4.3.1 (2022-05-04)<a class="headerlink" href="#v4-3-1-2022-05-04" title="Permalink to this heading"></a></h2>
+<h2>v4.3.1 (2022-05-04)<a class="headerlink" href="#v4-3-1-2022-05-04" title="Link to this heading"></a></h2>
 <section id="id45">
-<h3>Fix<a class="headerlink" href="#id45" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id45" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>wrong resampling when one input has two values (#631)</p></li>
 <li><p>small bug (#627)</p></li>
@@ -865,9 +865,9 @@ <h3>Fix<a class="headerlink" href="#id45" title="Permalink to this heading"><
 </section>
 </section>
 <section id="v4-3-0-2022-04-27">
-<h2>v4.3.0 (2022-04-27)<a class="headerlink" href="#v4-3-0-2022-04-27" title="Permalink to this heading"></a></h2>
+<h2>v4.3.0 (2022-04-27)<a class="headerlink" href="#v4-3-0-2022-04-27" title="Link to this heading"></a></h2>
 <section id="id46">
-<h3>Fix<a class="headerlink" href="#id46" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id46" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>add density functions to init (#616)</p></li>
 <li><p>Tuple to floats inputs (#613)</p></li>
@@ -876,7 +876,7 @@ <h3>Fix<a class="headerlink" href="#id46" title="Permalink to this heading"><
 </ul>
 </section>
 <section id="id47">
-<h3>Feat<a class="headerlink" href="#id47" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id47" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>[DataQuality] density function and score (#562)</p></li>
 <li><p>Constant value (#583)</p></li>
@@ -885,18 +885,18 @@ <h3>Feat<a class="headerlink" href="#id47" title="Permalink to this heading">
 </section>
 </section>
 <section id="v4-2-2-2022-04-21">
-<h2>v4.2.2 (2022-04-21)<a class="headerlink" href="#v4-2-2-2022-04-21" title="Permalink to this heading"></a></h2>
+<h2>v4.2.2 (2022-04-21)<a class="headerlink" href="#v4-2-2-2022-04-21" title="Link to this heading"></a></h2>
 <section id="id48">
-<h3>Fix<a class="headerlink" href="#id48" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id48" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>gracefully handle empty time series in DataQualityScore.compute_score (#594)</p></li>
 </ul>
 </section>
 </section>
 <section id="v4-2-1-2022-04-21">
-<h2>v4.2.1 (2022-04-21)<a class="headerlink" href="#v4-2-1-2022-04-21" title="Permalink to this heading"></a></h2>
+<h2>v4.2.1 (2022-04-21)<a class="headerlink" href="#v4-2-1-2022-04-21" title="Link to this heading"></a></h2>
 <section id="id49">
-<h3>Fix<a class="headerlink" href="#id49" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id49" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>format flag time series  (#588)</p></li>
 <li><p>typo gas density calcs (#574)</p></li>
@@ -906,15 +906,15 @@ <h3>Fix<a class="headerlink" href="#id49" title="Permalink to this heading"><
 </section>
 </section>
 <section id="v4-2-0-2022-04-20">
-<h2>v4.2.0 (2022-04-20)<a class="headerlink" href="#v4-2-0-2022-04-20" title="Permalink to this heading"></a></h2>
+<h2>v4.2.0 (2022-04-20)<a class="headerlink" href="#v4-2-0-2022-04-20" title="Link to this heading"></a></h2>
 <section id="id50">
-<h3>Fix<a class="headerlink" href="#id50" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id50" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>sg from float to series (#569)</p></li>
 </ul>
 </section>
 <section id="id51">
-<h3>Feat<a class="headerlink" href="#id51" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id51" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>add uncertainty estimation data quality function [Chart-1102] (#535)</p></li>
 <li><p>feat: gap identification by timedelta threshold (#546)</p></li>
@@ -922,18 +922,18 @@ <h3>Feat<a class="headerlink" href="#id51" title="Permalink to this heading">
 </section>
 </section>
 <section id="v4-1-1-2022-03-30">
-<h2>v4.1.1 (2022-03-30)<a class="headerlink" href="#v4-1-1-2022-03-30" title="Permalink to this heading"></a></h2>
+<h2>v4.1.1 (2022-03-30)<a class="headerlink" href="#v4-1-1-2022-03-30" title="Link to this heading"></a></h2>
 <section id="id52">
-<h3>Fix<a class="headerlink" href="#id52" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id52" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>formatting centrifugal pumps (#548)</p></li>
 </ul>
 </section>
 </section>
 <section id="v4-1-0-2022-03-22">
-<h2>v4.1.0 (2022-03-22)<a class="headerlink" href="#v4-1-0-2022-03-22" title="Permalink to this heading"></a></h2>
+<h2>v4.1.0 (2022-03-22)<a class="headerlink" href="#v4-1-0-2022-03-22" title="Link to this heading"></a></h2>
 <section id="id53">
-<h3>Fix<a class="headerlink" href="#id53" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id53" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>function extreme (outlier detection) had an error in a formula.   (#541)</p></li>
 <li><p>fix crashing resample_to_granularity for interpolation aggregats [CHART-1103] (#537)</p></li>
@@ -942,7 +942,7 @@ <h3>Fix<a class="headerlink" href="#id53" title="Permalink to this heading"><
 </ul>
 </section>
 <section id="id54">
-<h3>Feat<a class="headerlink" href="#id54" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id54" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>New function: centrifugal pump parameters (#530)</p></li>
 <li><p>New function: change to sdk-core to limit package size (#533)</p></li>
@@ -950,25 +950,25 @@ <h3>Feat<a class="headerlink" href="#id54" title="Permalink to this heading">
 </ul>
 </section>
 <section id="id55">
-<h3>Refactor<a class="headerlink" href="#id55" title="Permalink to this heading"></a></h3>
+<h3>Refactor<a class="headerlink" href="#id55" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>replace deprecated distutils.Version class with packaging.version.Version (#524)</p></li>
 </ul>
 </section>
 </section>
 <section id="v4-0-2-2022-03-01">
-<h2>v4.0.2 (2022-03-01)<a class="headerlink" href="#v4-0-2-2022-03-01" title="Permalink to this heading"></a></h2>
+<h2>v4.0.2 (2022-03-01)<a class="headerlink" href="#v4-0-2-2022-03-01" title="Link to this heading"></a></h2>
 <section id="id56">
-<h3>Fix<a class="headerlink" href="#id56" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id56" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>[DataQuality] Improvements to data quality score algorithms (#512)</p></li>
 </ul>
 </section>
 </section>
 <section id="v4-0-1-2022-02-28">
-<h2>v4.0.1 (2022-02-28)<a class="headerlink" href="#v4-0-1-2022-02-28" title="Permalink to this heading"></a></h2>
+<h2>v4.0.1 (2022-02-28)<a class="headerlink" href="#v4-0-1-2022-02-28" title="Link to this heading"></a></h2>
 <section id="id57">
-<h3>Fix<a class="headerlink" href="#id57" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id57" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>fix sg error (#507)</p></li>
 <li><p>[DataQuality] More robust gap based data quality score (#504)</p></li>
@@ -976,9 +976,9 @@ <h3>Fix<a class="headerlink" href="#id57" title="Permalink to this heading"><
 </section>
 </section>
 <section id="v4-0-0-2022-02-24">
-<h2>v4.0.0 (2022-02-24)<a class="headerlink" href="#v4-0-0-2022-02-24" title="Permalink to this heading"></a></h2>
+<h2>v4.0.0 (2022-02-24)<a class="headerlink" href="#v4-0-0-2022-02-24" title="Link to this heading"></a></h2>
 <section id="id58">
-<h3>Fix<a class="headerlink" href="#id58" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id58" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>Versioning: replace deprecation_warning with changelog [CHART-1041] (#494)</p></li>
 <li><p>Versioning: enforce 1.0 as first version for versioned functions [CHART-1055] (#492)</p></li>
@@ -986,7 +986,7 @@ <h3>Fix<a class="headerlink" href="#id58" title="Permalink to this heading"><
 </ul>
 </section>
 <section id="id59">
-<h3>Feat<a class="headerlink" href="#id59" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id59" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>DataQuality: add abstract and gap-based data quality scores [Chart-1023] (#474)</p></li>
 <li><p>New function: arithmetic mean for multiple time series (#481)</p></li>
@@ -995,32 +995,32 @@ <h3>Feat<a class="headerlink" href="#id59" title="Permalink to this heading">
 </ul>
 </section>
 <section id="id60">
-<h3>Refactor<a class="headerlink" href="#id60" title="Permalink to this heading"></a></h3>
+<h3>Refactor<a class="headerlink" href="#id60" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>Collect common validation functions into validations.py (#459)</p></li>
 </ul>
 </section>
 </section>
 <section id="v3-1-1-2022-02-02">
-<h2>v3.1.1 (2022-02-02)<a class="headerlink" href="#v3-1-1-2022-02-02" title="Permalink to this heading"></a></h2>
+<h2>v3.1.1 (2022-02-02)<a class="headerlink" href="#v3-1-1-2022-02-02" title="Link to this heading"></a></h2>
 <section id="id61">
-<h3>Fix<a class="headerlink" href="#id61" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id61" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>Improve visual representation of change points (#393)</p></li>
 </ul>
 </section>
 </section>
 <section id="v3-1-0-2022-01-21">
-<h2>v3.1.0 (2022-01-21)<a class="headerlink" href="#v3-1-0-2022-01-21" title="Permalink to this heading"></a></h2>
+<h2>v3.1.0 (2022-01-21)<a class="headerlink" href="#v3-1-0-2022-01-21" title="Link to this heading"></a></h2>
 <section id="id62">
-<h3>Feat<a class="headerlink" href="#id62" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id62" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>Negative running hours data quality model  (#340)</p></li>
 <li><p>Threshold function [CHART-948] (#382)</p></li>
 </ul>
 </section>
 <section id="id63">
-<h3>Fix<a class="headerlink" href="#id63" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id63" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>Change RuntimeError to UserRuntimeError in change point detector [CHART-937] (#370)</p></li>
 <li><p>Improve input validation for trapezoidal_integration [CHART-935] (#371)</p></li>
@@ -1031,15 +1031,15 @@ <h3>Fix<a class="headerlink" href="#id63" title="Permalink to this heading"><
 </section>
 </section>
 <section id="v3-0-0-2022-01-14">
-<h2>v3.0.0 (2022-01-14)<a class="headerlink" href="#v3-0-0-2022-01-14" title="Permalink to this heading"></a></h2>
+<h2>v3.0.0 (2022-01-14)<a class="headerlink" href="#v3-0-0-2022-01-14" title="Link to this heading"></a></h2>
 <section id="id64">
-<h3>Refactor<a class="headerlink" href="#id64" title="Permalink to this heading"></a></h3>
+<h3>Refactor<a class="headerlink" href="#id64" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>Deprecate old style operation names [CHART-921] (#338)</p></li>
 </ul>
 </section>
 <section id="id65">
-<h3>Fix<a class="headerlink" href="#id65" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id65" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>Use pandas Timedelta types in line and sine_wave functions (#341)</p></li>
 <li><p>Return UserRuntimeError in status_flag_filter (#336)</p></li>
@@ -1048,7 +1048,7 @@ <h3>Fix<a class="headerlink" href="#id65" title="Permalink to this heading"><
 </ul>
 </section>
 <section id="id66">
-<h3>Feat<a class="headerlink" href="#id66" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id66" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>Support deprecation of versioned functions [CHART-919] (#337)</p></li>
 <li><p>Support for Python 3.9 (#342)</p></li>
@@ -1058,9 +1058,9 @@ <h3>Feat<a class="headerlink" href="#id66" title="Permalink to this heading">
 </section>
 </section>
 <section id="v2-1-0-2022-01-05">
-<h2>v2.1.0 (2022-01-05)<a class="headerlink" href="#v2-1-0-2022-01-05" title="Permalink to this heading"></a></h2>
+<h2>v2.1.0 (2022-01-05)<a class="headerlink" href="#v2-1-0-2022-01-05" title="Link to this heading"></a></h2>
 <section id="id67">
-<h3>Fix<a class="headerlink" href="#id67" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id67" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>Validate inputs for detect algorithms [CHART-855] (#312)</p></li>
 <li><p>_make_index Timedelta error and docs build error due to wrong path and type errors (#306)</p></li>
@@ -1071,7 +1071,7 @@ <h3>Fix<a class="headerlink" href="#id67" title="Permalink to this heading"><
 </ul>
 </section>
 <section id="id68">
-<h3>Feat<a class="headerlink" href="#id68" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id68" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>New function: univariate polynomial (#295)</p></li>
 <li><p>Automatically validate input output types (#260)</p></li>
@@ -1080,9 +1080,9 @@ <h3>Feat<a class="headerlink" href="#id68" title="Permalink to this heading">
 </section>
 </section>
 <section id="v2-0-0-2021-12-20">
-<h2>v2.0.0 (2021-12-20)<a class="headerlink" href="#v2-0-0-2021-12-20" title="Permalink to this heading"></a></h2>
+<h2>v2.0.0 (2021-12-20)<a class="headerlink" href="#v2-0-0-2021-12-20" title="Link to this heading"></a></h2>
 <section id="id69">
-<h3>Feat<a class="headerlink" href="#id69" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id69" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>New function: completeness score (#243)</p></li>
 <li><p>Add exceptions types for errors targeted to users [Chart-832] (#252)</p></li>
@@ -1094,16 +1094,16 @@ <h3>Feat<a class="headerlink" href="#id69" title="Permalink to this heading">
 </ul>
 </section>
 <section id="id70">
-<h3>Fix<a class="headerlink" href="#id70" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id70" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>Fix path to valve_data.pkl (#259)</p></li>
 </ul>
 </section>
 </section>
 <section id="v1-0-0-2021-12-06">
-<h2>v1.0.0 (2021-12-06)<a class="headerlink" href="#v1-0-0-2021-12-06" title="Permalink to this heading"></a></h2>
+<h2>v1.0.0 (2021-12-06)<a class="headerlink" href="#v1-0-0-2021-12-06" title="Link to this heading"></a></h2>
 <section id="id71">
-<h3>Fix<a class="headerlink" href="#id71" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id71" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>Fix path to data set (#212)</p></li>
 <li><p>Improve error handling in reindex with short time series [CHART-804] (#194)</p></li>
@@ -1112,7 +1112,7 @@ <h3>Fix<a class="headerlink" href="#id71" title="Permalink to this heading"><
 </ul>
 </section>
 <section id="id72">
-<h3>Feat<a class="headerlink" href="#id72" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id72" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>New functions: get_timestamps, get_timestamps and shift [CHART-813] (#172)</p></li>
 <li><p>New functions: replace/remove [CHART-789 CHART-808] (#189)</p></li>
@@ -1122,9 +1122,9 @@ <h3>Feat<a class="headerlink" href="#id72" title="Permalink to this heading">
 </section>
 </section>
 <section id="v0-2-1-2021-11-11">
-<h2>v0.2.1 (2021-11-11)<a class="headerlink" href="#v0-2-1-2021-11-11" title="Permalink to this heading"></a></h2>
+<h2>v0.2.1 (2021-11-11)<a class="headerlink" href="#v0-2-1-2021-11-11" title="Link to this heading"></a></h2>
 <section id="id73">
-<h3>Fix<a class="headerlink" href="#id73" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id73" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>Complete and fix docstrings for all indsl functions [CHART-739] (#121)</p></li>
 <li><p>Solve pandas resampling issue when input datetime index only contains date (#69)</p></li>
@@ -1132,9 +1132,9 @@ <h3>Fix<a class="headerlink" href="#id73" title="Permalink to this heading"><
 </section>
 </section>
 <section id="v0-2-0-2021-11-04">
-<h2>v0.2.0 (2021-11-04)<a class="headerlink" href="#v0-2-0-2021-11-04" title="Permalink to this heading"></a></h2>
+<h2>v0.2.0 (2021-11-04)<a class="headerlink" href="#v0-2-0-2021-11-04" title="Link to this heading"></a></h2>
 <section id="id74">
-<h3>Feat<a class="headerlink" href="#id74" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id74" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>Add auto align for inDSL functions [CHART-643] (#61)</p></li>
 <li><p>Support for function versioning [CHART-674] (#45)</p></li>
@@ -1142,34 +1142,34 @@ <h3>Feat<a class="headerlink" href="#id74" title="Permalink to this heading">
 </section>
 </section>
 <section id="v0-1-0-2021-10-29">
-<h2>v0.1.0 (2021-10-29)<a class="headerlink" href="#v0-1-0-2021-10-29" title="Permalink to this heading"></a></h2>
+<h2>v0.1.0 (2021-10-29)<a class="headerlink" href="#v0-1-0-2021-10-29" title="Link to this heading"></a></h2>
 <section id="id75">
-<h3>Fix<a class="headerlink" href="#id75" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id75" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>Added missing resample import such that function would be availa… (#65)</p></li>
 <li><p>Improved/removed all test warnings #27 (#29)</p></li>
 </ul>
 </section>
 <section id="id76">
-<h3>Feat<a class="headerlink" href="#id76" title="Permalink to this heading"></a></h3>
+<h3>Feat<a class="headerlink" href="#id76" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>New function: re-indexing [Chart 626] (#19)</p></li>
 </ul>
 </section>
 </section>
 <section id="v0-0-8-2021-10-18">
-<h2>v0.0.8 (2021-10-18)<a class="headerlink" href="#v0-0-8-2021-10-18" title="Permalink to this heading"></a></h2>
+<h2>v0.0.8 (2021-10-18)<a class="headerlink" href="#v0-0-8-2021-10-18" title="Link to this heading"></a></h2>
 <section id="id77">
-<h3>Fix<a class="headerlink" href="#id77" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id77" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>Improvements to the ED-Pelt Change Point Detection algorithm (#22)</p></li>
 </ul>
 </section>
 </section>
 <section id="v0-0-7-2021-10-18">
-<h2>v0.0.7 (2021-10-18)<a class="headerlink" href="#v0-0-7-2021-10-18" title="Permalink to this heading"></a></h2>
+<h2>v0.0.7 (2021-10-18)<a class="headerlink" href="#v0-0-7-2021-10-18" title="Link to this heading"></a></h2>
 <section id="id78">
-<h3>Fix<a class="headerlink" href="#id78" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id78" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>fixes on PR process (#34)</p></li>
 <li><p>fix PR process</p></li>
@@ -1177,36 +1177,36 @@ <h3>Fix<a class="headerlink" href="#id78" title="Permalink to this heading"><
 </section>
 </section>
 <section id="v0-0-6-2021-10-18">
-<h2>v0.0.6 (2021-10-18)<a class="headerlink" href="#v0-0-6-2021-10-18" title="Permalink to this heading"></a></h2>
+<h2>v0.0.6 (2021-10-18)<a class="headerlink" href="#v0-0-6-2021-10-18" title="Link to this heading"></a></h2>
 <section id="id79">
-<h3>Fix<a class="headerlink" href="#id79" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id79" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>fixes on PR process (#34)</p></li>
 </ul>
 </section>
 </section>
 <section id="id80">
-<h2>0.0.6 (2021-10-18)<a class="headerlink" href="#id80" title="Permalink to this heading"></a></h2>
+<h2>0.0.6 (2021-10-18)<a class="headerlink" href="#id80" title="Link to this heading"></a></h2>
 <section id="id81">
-<h3>Fix<a class="headerlink" href="#id81" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id81" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>fix ci pipeline (#33)</p></li>
 </ul>
 </section>
 </section>
 <section id="id82">
-<h2>0.0.5 (2021-10-18)<a class="headerlink" href="#id82" title="Permalink to this heading"></a></h2>
+<h2>0.0.5 (2021-10-18)<a class="headerlink" href="#id82" title="Link to this heading"></a></h2>
 <section id="id83">
-<h3>Fix<a class="headerlink" href="#id83" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id83" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>add default granularity to integration and differentiation functions (#21)</p></li>
 </ul>
 </section>
 </section>
 <section id="v0-0-4-2021-10-13">
-<h2>v0.0.4 (2021-10-13)<a class="headerlink" href="#v0-0-4-2021-10-13" title="Permalink to this heading"></a></h2>
+<h2>v0.0.4 (2021-10-13)<a class="headerlink" href="#v0-0-4-2021-10-13" title="Link to this heading"></a></h2>
 <section id="id84">
-<h3>Fix<a class="headerlink" href="#id84" title="Permalink to this heading"></a></h3>
+<h3>Fix<a class="headerlink" href="#id84" title="Link to this heading"></a></h3>
 <ul class="simple">
 <li><p>fix github pipelines (#8)</p></li>
 <li><p>change name of main branch to master in pipelines (#7)</p></li>
@@ -1214,7 +1214,7 @@ <h3>Fix<a class="headerlink" href="#id84" title="Permalink to this heading"><
 </section>
 </section>
 <section id="id85">
-<h2>0.0.3 (2021-10-08)<a class="headerlink" href="#id85" title="Permalink to this heading"></a></h2>
+<h2>0.0.3 (2021-10-08)<a class="headerlink" href="#id85" title="Link to this heading"></a></h2>
 </section>
 </section>
 
diff --git a/docs/_images/sphx_glr_plot_datapoint_diff_001.png b/docs/_images/sphx_glr_plot_datapoint_diff_001.png
index 96023f44..5be47f4a 100644
Binary files a/docs/_images/sphx_glr_plot_datapoint_diff_001.png and b/docs/_images/sphx_glr_plot_datapoint_diff_001.png differ
diff --git a/docs/_images/sphx_glr_plot_group_by_region_001.png b/docs/_images/sphx_glr_plot_group_by_region_001.png
index c031663e..a1396a5e 100644
Binary files a/docs/_images/sphx_glr_plot_group_by_region_001.png and b/docs/_images/sphx_glr_plot_group_by_region_001.png differ
diff --git a/docs/_images/sphx_glr_plot_oscillation_detection_001.png b/docs/_images/sphx_glr_plot_oscillation_detection_001.png
index e32a5a55..b8a75115 100644
Binary files a/docs/_images/sphx_glr_plot_oscillation_detection_001.png and b/docs/_images/sphx_glr_plot_oscillation_detection_001.png differ
diff --git a/docs/_images/sphx_glr_plot_oscillation_detection_002.png b/docs/_images/sphx_glr_plot_oscillation_detection_002.png
index 2572eb63..7767d1d5 100644
Binary files a/docs/_images/sphx_glr_plot_oscillation_detection_002.png and b/docs/_images/sphx_glr_plot_oscillation_detection_002.png differ
diff --git a/docs/_images/sphx_glr_plot_oscillation_detection_003.png b/docs/_images/sphx_glr_plot_oscillation_detection_003.png
index 9eab5177..aaf87bbe 100644
Binary files a/docs/_images/sphx_glr_plot_oscillation_detection_003.png and b/docs/_images/sphx_glr_plot_oscillation_detection_003.png differ
diff --git a/docs/_sources/auto_examples/data_quality/plot_datapoint_diff.rst.txt b/docs/_sources/auto_examples/data_quality/plot_datapoint_diff.rst.txt
index fcbb15af..2f3e68dd 100644
--- a/docs/_sources/auto_examples/data_quality/plot_datapoint_diff.rst.txt
+++ b/docs/_sources/auto_examples/data_quality/plot_datapoint_diff.rst.txt
@@ -35,8 +35,19 @@ equipment.
    :class: sphx-glr-single-img
 
 
+.. rst-class:: sphx-glr-script-out
 
+ .. code-block:: none
 
+    /home/cristinaferrer/indsl/indsl/equipment/volume_vessel.py:31: UserWarning: Couldn't import fluids.numba_vectorized: No module named 'fluids.vectorized'. Default to import fluids.vectorized.
+      warnings.warn(
+
+
+
+
+
+
+|
 
 .. code-block:: default
 
@@ -101,7 +112,7 @@ equipment.
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 0 minutes  2.776 seconds)
+   **Total running time of the script:** (0 minutes 2.605 seconds)
 
 
 .. _sphx_glr_download_auto_examples_data_quality_plot_datapoint_diff.py:
diff --git a/docs/_sources/auto_examples/data_quality/sg_execution_times.rst.txt b/docs/_sources/auto_examples/data_quality/sg_execution_times.rst.txt
index 9ae06a4d..50b76386 100644
--- a/docs/_sources/auto_examples/data_quality/sg_execution_times.rst.txt
+++ b/docs/_sources/auto_examples/data_quality/sg_execution_times.rst.txt
@@ -3,12 +3,13 @@
 
 .. _sphx_glr_auto_examples_data_quality_sg_execution_times:
 
+
 Computation times
 =================
-**00:02.293** total execution time for **auto_examples_data_quality** files:
+**00:02.605** total execution time for **auto_examples_data_quality** files:
 
 +------------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_auto_examples_data_quality_plot_out_of_range.py` (``plot_out_of_range.py``)                             | 00:02.293 | 0.0 MB |
+| :ref:`sphx_glr_auto_examples_data_quality_plot_datapoint_diff.py` (``plot_datapoint_diff.py``)                         | 00:02.605 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_auto_examples_data_quality_plot_completeness.py` (``plot_completeness.py``)                             | 00:00.000 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------------+-----------+--------+
@@ -18,6 +19,8 @@ Computation times
 +------------------------------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_auto_examples_data_quality_plot_low_density_identification.py` (``plot_low_density_identification.py``) | 00:00.000 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------------+-----------+--------+
+| :ref:`sphx_glr_auto_examples_data_quality_plot_out_of_range.py` (``plot_out_of_range.py``)                             | 00:00.000 | 0.0 MB |
++------------------------------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_auto_examples_data_quality_plot_rolling_stddev_timedelta.py` (``plot_rolling_stddev_timedelta.py``)     | 00:00.000 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_auto_examples_data_quality_plot_value_decrease_check.py` (``plot_value_decrease_check.py``)             | 00:00.000 | 0.0 MB |
diff --git a/docs/_sources/auto_examples/detect/plot_oscillation_detection.rst.txt b/docs/_sources/auto_examples/detect/plot_oscillation_detection.rst.txt
index e5e723eb..957d2d9f 100644
--- a/docs/_sources/auto_examples/detect/plot_oscillation_detection.rst.txt
+++ b/docs/_sources/auto_examples/detect/plot_oscillation_detection.rst.txt
@@ -57,7 +57,7 @@ Identifies if a signal contains one or more oscillatory components. Based on the
 
  .. code-block:: none
 
-    /home/cristinaferrer/indsl/indsl/detect/oscillation_detector.py:578: UserWarning: The figure layout has changed to tight
+    /home/cristinaferrer/indsl/indsl/detect/oscillation_detector.py:580: UserWarning: The figure layout has changed to tight
       fig.tight_layout()
 
 
@@ -117,7 +117,7 @@ Identifies if a signal contains one or more oscillatory components. Based on the
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 0 minutes  2.827 seconds)
+   **Total running time of the script:** (0 minutes 1.182 seconds)
 
 
 .. _sphx_glr_download_auto_examples_detect_plot_oscillation_detection.py:
diff --git a/docs/_sources/auto_examples/detect/sg_execution_times.rst.txt b/docs/_sources/auto_examples/detect/sg_execution_times.rst.txt
index 735c4a03..949fe4e4 100644
--- a/docs/_sources/auto_examples/detect/sg_execution_times.rst.txt
+++ b/docs/_sources/auto_examples/detect/sg_execution_times.rst.txt
@@ -3,20 +3,15 @@
 
 .. _sphx_glr_auto_examples_detect_sg_execution_times:
 
-Computation times
-
-**00:01.691** total execution time for **auto_examples_detect** files:
-
-+--------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_auto_examples_detect_plot_oscillation_detection.py` (``plot_oscillation_detection.py``) | 00:01.691 | 0.0 MB |
-+--------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_auto_examples_detect_plot_ssd_cpd.py` (``plot_ssd_cpd.py``)                             | 00:00.000 | 0.0 MB |
-+--------------------------------------------------------------------------------------------------------+-----------+--------+
 
-**00:28.644** total execution time for **auto_examples_detect** files:
+Computation times
+=================
+**00:01.182** total execution time for **auto_examples_detect** files:
 
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_auto_examples_detect_plot_cusum.py` (``plot_cusum.py``)                                           | 00:28.644 | 0.0 MB |
+| :ref:`sphx_glr_auto_examples_detect_plot_oscillation_detection.py` (``plot_oscillation_detection.py``)           | 00:01.182 | 0.0 MB |
++------------------------------------------------------------------------------------------------------------------+-----------+--------+
+| :ref:`sphx_glr_auto_examples_detect_plot_cusum.py` (``plot_cusum.py``)                                           | 00:00.000 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
 | :ref:`sphx_glr_auto_examples_detect_plot_ssd_cpd.py` (``plot_ssd_cpd.py``)                                       | 00:00.000 | 0.0 MB |
 +------------------------------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/auto_examples/resample/plot_group_by_region.rst.txt b/docs/_sources/auto_examples/resample/plot_group_by_region.rst.txt
index 8447ac99..1d2e3580 100644
--- a/docs/_sources/auto_examples/resample/plot_group_by_region.rst.txt
+++ b/docs/_sources/auto_examples/resample/plot_group_by_region.rst.txt
@@ -104,7 +104,7 @@ should be placed on (timestamp).
 
 .. rst-class:: sphx-glr-timing
 
-   **Total running time of the script:** ( 0 minutes  8.339 seconds)
+   **Total running time of the script:** (0 minutes 50.145 seconds)
 
 
 .. _sphx_glr_download_auto_examples_resample_plot_group_by_region.py:
diff --git a/docs/_sources/auto_examples/resample/sg_execution_times.rst.txt b/docs/_sources/auto_examples/resample/sg_execution_times.rst.txt
index 8f1f1eb2..1d1d2b17 100644
--- a/docs/_sources/auto_examples/resample/sg_execution_times.rst.txt
+++ b/docs/_sources/auto_examples/resample/sg_execution_times.rst.txt
@@ -6,8 +6,8 @@
 
 Computation times
 =================
-**00:08.339** total execution time for **auto_examples_resample** files:
+**00:50.145** total execution time for **auto_examples_resample** files:
 
 +----------------------------------------------------------------------------------------------+-----------+--------+
-| :ref:`sphx_glr_auto_examples_resample_plot_group_by_region.py` (``plot_group_by_region.py``) | 00:08.339 | 0.0 MB |
+| :ref:`sphx_glr_auto_examples_resample_plot_group_by_region.py` (``plot_group_by_region.py``) | 00:50.145 | 0.0 MB |
 +----------------------------------------------------------------------------------------------+-----------+--------+
diff --git a/docs/_sources/contribute.rst.txt b/docs/_sources/contribute.rst.txt
index 4e5f0d45..168b58fa 100644
--- a/docs/_sources/contribute.rst.txt
+++ b/docs/_sources/contribute.rst.txt
@@ -77,7 +77,7 @@ Preliminaries and setup
     We recommend using Python 3.10 for development.
 
     Avoid duplicating code. Before starting a new algorithm, check for similar ones in the following places:
-        * The `toolboxes <https://github.com/cognitedata/indsl/tree/master/indsl>`_
+        * The `toolboxes <https://github.com/cognitedata/indsl/tree/main/indsl>`_
         * The `PR list <https://github.com/cognitedata/indsl/pulls>`_
 
 This project uses `Poetry <https://python-poetry.org/>`_ for dependency management. Install it before starting
@@ -101,17 +101,17 @@ This project uses `Poetry <https://python-poetry.org/>`_ for dependency manageme
 
     poetry install --all-extras
 
-3. Synchronize your local master branch with the remote master branch.
+3. Synchronize your local main branch with the remote main branch.
 
 .. prompt:: bash $
 
-    git checkout master
-    git pull origin master
+    git checkout main
+    git pull origin main
 
 Develop your algorithm
 ----------------------
 
-1. Create a feature branch to work on your new algorithm. Never work on the *master* or *documentation* branches.
+1. Create a feature branch to work on your new algorithm. Never work on the *main* or *documentation* branches.
 
    .. prompt:: bash $
 
@@ -136,7 +136,7 @@ Develop your algorithm
       poetry add new_module --dev
 
 4. Develop the new algorithm on your local branch. Use the exception classes defined in
-   `indsl/exceptions.py <https://github.com/cognitedata/indsl/tree/master/indsl/exceptions.py>`_
+   `indsl/exceptions.py <https://github.com/cognitedata/indsl/tree/main/indsl/exceptions.py>`_
    when raising errors that are caused by invalid or erroneous user input. InDSL provides the @check_types
    decorator (from `typeguard <https://github.com/agronholm/typeguard>`_) for run-time type checking,
    which should be used instead of checking each input type explicitly. When finished or reach an important
@@ -159,8 +159,8 @@ Develop your algorithm
 
 
 5. As you develop the algorithm it is good practice to add tests to it. All tests are stored in the root folder
-   `tests/ <https://github.com/cognitedata/indsl/tree/master/tests>`_ using the same folder structure
-   as the ``indsl/`` folder. We run ``pytest`` to verify pull requests before merging with the master
+   `tests/ <https://github.com/cognitedata/indsl/tree/main/tests>`_ using the same folder structure
+   as the ``indsl/`` folder. We run ``pytest`` to verify pull requests before merging with the main
    version. Before sending your pull request for review, make sure you have written tests for the algorithm and ran
    them locally to verify they pass.
 
@@ -236,7 +236,7 @@ and properly displayed on the user interface and included in the technical docum
 
        ...
 
-This is a `basic example <https://github.com/cognitedata/indsl/blob/master/indsl/smooth/savitzky_golay.py>`_
+This is a `basic example <https://github.com/cognitedata/indsl/blob/main/indsl/smooth/savitzky_golay.py>`_
 of how to document a function :
 
 .. code:: python
@@ -307,7 +307,7 @@ steps.
 
 4. Add your function to the attribute ``__cognite__`` in the ``__init__.py`` file of the toolbox module your algorithm belongs to. For example, the
     `Savitzky-Golay smoother
-    <https://github.com/cognitedata/indsl/blob/master/indsl/smooth/savitzky_golay.py>`_
+    <https://github.com/cognitedata/indsl/blob/main/indsl/smooth/savitzky_golay.py>`_
     (:meth:`indsl.smooth.sg`) belongs to the ``smooth`` toolbox. Therefore, we add ``sg`` to the list ``__cognite__``
     in the file ``indsl/smooth/__init__.py``.
 
@@ -525,15 +525,15 @@ To make the review process a better experience, we encourage complying with the
 This is not an exact list of requirements or guidelines. If you have suggestions, don't hesitate to submit an issue or
 a PR with enhancement to this document.
 
-Finally, once you have completed your new contribution, sync with the remote/master branch one last in case there have
+Finally, once you have completed your new contribution, sync with the remote/main branch one last in case there have
 been any recent changes to the code base:
 
 .. prompt:: bash
 
-    git checkout master
+    git checkout main
     git pull
     git checkout {my_branch_name}
-    git merge master
+    git merge main
 
 Then use ``git add``, ``git commit``, and ``git push`` to record your new algorithm and send it to the remote
 repository:
diff --git a/docs/_static/basic.css b/docs/_static/basic.css
index cfc60b86..30fee9d0 100644
--- a/docs/_static/basic.css
+++ b/docs/_static/basic.css
@@ -237,6 +237,10 @@ a.headerlink {
     visibility: hidden;
 }
 
+a:visited {
+    color: #551A8B;
+}
+
 h1:hover > a.headerlink,
 h2:hover > a.headerlink,
 h3:hover > a.headerlink,
diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js
index cbeeae47..612c7c6e 100644
--- a/docs/_static/documentation_options.js
+++ b/docs/_static/documentation_options.js
@@ -1,5 +1,4 @@
-var DOCUMENTATION_OPTIONS = {
-    URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
+const DOCUMENTATION_OPTIONS = {
     VERSION: '8.2.0',
     LANGUAGE: 'en',
     COLLAPSE_INDEX: false,
diff --git a/docs/_static/searchtools.js b/docs/_static/searchtools.js
index 97d56a74..7918c3fa 100644
--- a/docs/_static/searchtools.js
+++ b/docs/_static/searchtools.js
@@ -57,12 +57,12 @@ const _removeChildren = (element) => {
 const _escapeRegExp = (string) =>
   string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
 
-const _displayItem = (item, searchTerms) => {
+const _displayItem = (item, searchTerms, highlightTerms) => {
   const docBuilder = DOCUMENTATION_OPTIONS.BUILDER;
-  const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT;
   const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX;
   const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX;
   const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY;
+  const contentRoot = document.documentElement.dataset.content_root;
 
   const [docName, title, anchor, descr, score, _filename] = item;
 
@@ -75,20 +75,24 @@ const _displayItem = (item, searchTerms) => {
     if (dirname.match(/\/index\/$/))
       dirname = dirname.substring(0, dirname.length - 6);
     else if (dirname === "index/") dirname = "";
-    requestUrl = docUrlRoot + dirname;
+    requestUrl = contentRoot + dirname;
     linkUrl = requestUrl;
   } else {
     // normal html builders
-    requestUrl = docUrlRoot + docName + docFileSuffix;
+    requestUrl = contentRoot + docName + docFileSuffix;
     linkUrl = docName + docLinkSuffix;
   }
   let linkEl = listItem.appendChild(document.createElement("a"));
   linkEl.href = linkUrl + anchor;
   linkEl.dataset.score = score;
   linkEl.innerHTML = title;
-  if (descr)
+  if (descr) {
     listItem.appendChild(document.createElement("span")).innerHTML =
       " (" + descr + ")";
+    // highlight search terms in the description
+    if (SPHINX_HIGHLIGHT_ENABLED)  // set in sphinx_highlight.js
+      highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
+  }
   else if (showSearchSummary)
     fetch(requestUrl)
       .then((responseData) => responseData.text())
@@ -97,6 +101,9 @@ const _displayItem = (item, searchTerms) => {
           listItem.appendChild(
             Search.makeSearchSummary(data, searchTerms)
           );
+        // highlight search terms in the summary
+        if (SPHINX_HIGHLIGHT_ENABLED)  // set in sphinx_highlight.js
+          highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
       });
   Search.output.appendChild(listItem);
 };
@@ -115,14 +122,15 @@ const _finishSearch = (resultCount) => {
 const _displayNextItem = (
   results,
   resultCount,
-  searchTerms
+  searchTerms,
+  highlightTerms,
 ) => {
   // results left, load the summary and display it
   // this is intended to be dynamic (don't sub resultsCount)
   if (results.length) {
-    _displayItem(results.pop(), searchTerms);
+    _displayItem(results.pop(), searchTerms, highlightTerms);
     setTimeout(
-      () => _displayNextItem(results, resultCount, searchTerms),
+      () => _displayNextItem(results, resultCount, searchTerms, highlightTerms),
       5
     );
   }
@@ -360,7 +368,7 @@ const Search = {
     // console.info("search results:", Search.lastresults);
 
     // print the results
-    _displayNextItem(results, results.length, searchTerms);
+    _displayNextItem(results, results.length, searchTerms, highlightTerms);
   },
 
   /**
diff --git a/docs/_static/sphinx_highlight.js b/docs/_static/sphinx_highlight.js
index aae669d7..8a96c69a 100644
--- a/docs/_static/sphinx_highlight.js
+++ b/docs/_static/sphinx_highlight.js
@@ -29,14 +29,19 @@ const _highlight = (node, addItems, text, className) => {
       }
 
       span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+      const rest = document.createTextNode(val.substr(pos + text.length));
       parent.insertBefore(
         span,
         parent.insertBefore(
-          document.createTextNode(val.substr(pos + text.length)),
+          rest,
           node.nextSibling
         )
       );
       node.nodeValue = val.substr(0, pos);
+      /* There may be more occurrences of search term in this node. So call this
+       * function recursively on the remaining fragment.
+       */
+      _highlight(rest, addItems, text, className);
 
       if (isInSVG) {
         const rect = document.createElementNS(
@@ -140,5 +145,10 @@ const SphinxHighlight = {
   },
 };
 
-_ready(SphinxHighlight.highlightSearchWords);
-_ready(SphinxHighlight.initEscapeListener);
+_ready(() => {
+  /* Do not call highlightSearchWords() when we are on the search page.
+   * It will highlight words from the *previous* search query.
+   */
+  if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords();
+  SphinxHighlight.initEscapeListener();
+});
diff --git a/docs/auto_examples/data_quality/index.html b/docs/auto_examples/data_quality/index.html
index f4bdace2..36801c5e 100644
--- a/docs/auto_examples/data_quality/index.html
+++ b/docs/auto_examples/data_quality/index.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -125,7 +125,7 @@
            <div itemprop="articleBody">
              
   <section id="data-quality">
-<span id="sphx-glr-auto-examples-data-quality"></span><h1>Data quality<a class="headerlink" href="#data-quality" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-data-quality"></span><h1>Data quality<a class="headerlink" href="#data-quality" title="Link to this heading"></a></h1>
 <p>Examples on how to explore the data quality of time series.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="Example of point outlier removal with polynomial regression and Studentized residuals. We gener..."><img alt="" src="../../_images/sphx_glr_plot_extreme_outlier_thumb.png" />
 <p><a class="reference internal" href="plot_extreme_outlier.html#sphx-glr-auto-examples-data-quality-plot-extreme-outlier-py"><span class="std std-ref">Extreme Outliers Removal</span></a></p>
diff --git a/docs/auto_examples/data_quality/plot_completeness.html b/docs/auto_examples/data_quality/plot_completeness.html
index f5734067..2c530848 100644
--- a/docs/auto_examples/data_quality/plot_completeness.html
+++ b/docs/auto_examples/data_quality/plot_completeness.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -131,7 +131,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="completeness-score-of-time-series">
-<span id="sphx-glr-auto-examples-data-quality-plot-completeness-py"></span><h1>Completeness score of time series<a class="headerlink" href="#completeness-score-of-time-series" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-data-quality-plot-completeness-py"></span><h1>Completeness score of time series<a class="headerlink" href="#completeness-score-of-time-series" title="Link to this heading"></a></h1>
 <p>It is important to know how complete a time series is. In this example, the function qualifies a time series on the
 basis of its completeness score as good, medium, or poor. The completeness score measures how complete measured
 by how much of the data is missing based on its median sampling frequency.</p>
diff --git a/docs/auto_examples/data_quality/plot_datapoint_diff.html b/docs/auto_examples/data_quality/plot_datapoint_diff.html
index 33f60170..24f67010 100644
--- a/docs/auto_examples/data_quality/plot_datapoint_diff.html
+++ b/docs/auto_examples/data_quality/plot_datapoint_diff.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -131,10 +131,17 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="threshold-breach-check-for-difference-between-two-data-points-over-a-period-of-time">
-<span id="sphx-glr-auto-examples-data-quality-plot-datapoint-diff-py"></span><h1>Threshold breach check for difference between two data points over a period of time<a class="headerlink" href="#threshold-breach-check-for-difference-between-two-data-points-over-a-period-of-time" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-data-quality-plot-datapoint-diff-py"></span><h1>Threshold breach check for difference between two data points over a period of time<a class="headerlink" href="#threshold-breach-check-for-difference-between-two-data-points-over-a-period-of-time" title="Link to this heading"></a></h1>
 <p>Example of visualizing breach of threshold in hour count in a time series representing running hours of a piece of
 equipment.</p>
-<img src="../../_images/sphx_glr_plot_datapoint_diff_001.png" srcset="../../_images/sphx_glr_plot_datapoint_diff_001.png" alt="Check if difference between two datapoints at a distance of 24 hours exceeds the threshold" class = "sphx-glr-single-img"/><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">os</span>
+<img src="../../_images/sphx_glr_plot_datapoint_diff_001.png" srcset="../../_images/sphx_glr_plot_datapoint_diff_001.png" alt="Check if difference between two datapoints at a distance of 24 hours exceeds the threshold" class = "sphx-glr-single-img"/><div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/home/cristinaferrer/indsl/indsl/equipment/volume_vessel.py:31: UserWarning: Couldn&#39;t import fluids.numba_vectorized: No module named &#39;fluids.vectorized&#39;. Default to import fluids.vectorized.
+  warnings.warn(
+</pre></div>
+</div>
+<div class="line-block">
+<div class="line"><br /></div>
+</div>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">os</span>
 
 <span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span>
 
@@ -193,7 +200,7 @@
 <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 0 minutes  2.776 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> (0 minutes 2.605 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-auto-examples-data-quality-plot-datapoint-diff-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/4aa69c633594bd7b6e170644e973042e/plot_datapoint_diff.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">plot_datapoint_diff.py</span></code></a></p>
diff --git a/docs/auto_examples/data_quality/plot_extreme_outlier.html b/docs/auto_examples/data_quality/plot_extreme_outlier.html
index 552947d8..834576a1 100644
--- a/docs/auto_examples/data_quality/plot_extreme_outlier.html
+++ b/docs/auto_examples/data_quality/plot_extreme_outlier.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -131,7 +131,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="extreme-outliers-removal">
-<span id="sphx-glr-auto-examples-data-quality-plot-extreme-outlier-py"></span><h1>Extreme Outliers Removal<a class="headerlink" href="#extreme-outliers-removal" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-data-quality-plot-extreme-outlier-py"></span><h1>Extreme Outliers Removal<a class="headerlink" href="#extreme-outliers-removal" title="Link to this heading"></a></h1>
 <p>Example of point outlier removal with polynomial regression and Studentized residuals. We generate a toy data set with
 an underlying polynomial signal that has Gaussian noise and large point outliers added to it.</p>
 <p>In the figure below, it can be seen that the point outliers are filtered out from the raw data. This data can then be
diff --git a/docs/auto_examples/data_quality/plot_gaps_identification.html b/docs/auto_examples/data_quality/plot_gaps_identification.html
index 241fb7f7..d6ee0c46 100644
--- a/docs/auto_examples/data_quality/plot_gaps_identification.html
+++ b/docs/auto_examples/data_quality/plot_gaps_identification.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -131,7 +131,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="sphx-glr-auto-examples-data-quality-plot-gaps-identification-py">
-<span id="identifying-gaps-in-time-series"></span><h1>Identifying gaps in time series<a class="headerlink" href="#sphx-glr-auto-examples-data-quality-plot-gaps-identification-py" title="Permalink to this heading"></a></h1>
+<span id="identifying-gaps-in-time-series"></span><h1>Identifying gaps in time series<a class="headerlink" href="#sphx-glr-auto-examples-data-quality-plot-gaps-identification-py" title="Link to this heading"></a></h1>
 <p>Identifying gaps in data is critical when working with time series. Data gaps can be for instance, the result of an unreliable or defective sensor, and that part of the data might need to be excluded. The exact definition of what is considered a gap requires domain knowledge and is therefore hard to automate. However, mathematical tools can help us to identify <strong>potential gaps</strong> that the domain expert can then evaluate.</p>
 <p>In this example, we apply four common gap identification methods to two time series. The four methods are:</p>
 <blockquote>
diff --git a/docs/auto_examples/data_quality/plot_low_density_identification.html b/docs/auto_examples/data_quality/plot_low_density_identification.html
index e8d6e908..aa93e904 100644
--- a/docs/auto_examples/data_quality/plot_low_density_identification.html
+++ b/docs/auto_examples/data_quality/plot_low_density_identification.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -131,7 +131,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="sphx-glr-auto-examples-data-quality-plot-low-density-identification-py">
-<span id="identifying-low-density-periods"></span><h1>Identifying low density periods<a class="headerlink" href="#sphx-glr-auto-examples-data-quality-plot-low-density-identification-py" title="Permalink to this heading"></a></h1>
+<span id="identifying-low-density-periods"></span><h1>Identifying low density periods<a class="headerlink" href="#sphx-glr-auto-examples-data-quality-plot-low-density-identification-py" title="Link to this heading"></a></h1>
 <p>Detecting density of data points in a time series is important for finding out if the expected
 number of data points during a certain time window such as per hour or per day have been received.</p>
 <p>In this example, we apply four low-density identification methods to a time series.
diff --git a/docs/auto_examples/data_quality/plot_negative_running_hours.html b/docs/auto_examples/data_quality/plot_negative_running_hours.html
index c85a27c8..60224351 100644
--- a/docs/auto_examples/data_quality/plot_negative_running_hours.html
+++ b/docs/auto_examples/data_quality/plot_negative_running_hours.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -118,7 +118,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="negative-running-hours-detection">
-<span id="sphx-glr-auto-examples-data-quality-plot-negative-running-hours-py"></span><h1>Negative running hours detection<a class="headerlink" href="#negative-running-hours-detection" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-data-quality-plot-negative-running-hours-py"></span><h1>Negative running hours detection<a class="headerlink" href="#negative-running-hours-detection" title="Link to this heading"></a></h1>
 <p>Example of algorithm that indicates decrease in time series data. Algorithm is applied on Running Hours time series.
 It is a specific type of time series that is counting the number of running hours in a pump. Given that we expect
 the number of running hours to either stay the same (if the pump is not running) or increase with time (if the pump
diff --git a/docs/auto_examples/data_quality/plot_out_of_range.html b/docs/auto_examples/data_quality/plot_out_of_range.html
index 694b050e..3735771b 100644
--- a/docs/auto_examples/data_quality/plot_out_of_range.html
+++ b/docs/auto_examples/data_quality/plot_out_of_range.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -147,9 +147,9 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="detect-out-of-range-outliers-in-sensor-data">
-<span id="sphx-glr-auto-examples-data-quality-plot-out-of-range-py"></span><h1>Detect out of range outliers in sensor data<a class="headerlink" href="#detect-out-of-range-outliers-in-sensor-data" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-data-quality-plot-out-of-range-py"></span><h1>Detect out of range outliers in sensor data<a class="headerlink" href="#detect-out-of-range-outliers-in-sensor-data" title="Link to this heading"></a></h1>
 <section id="introduction">
-<h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this heading"></a></h2>
+<h2>Introduction<a class="headerlink" href="#introduction" title="Link to this heading"></a></h2>
 <p>The <code class="xref py py-func docutils literal notranslate"><span class="pre">out_of_range()</span></code> function uses Savitzky-Golay smoothing (SG) - <code class="xref py py-func docutils literal notranslate"><span class="pre">sg()</span></code> to estimate the main trend of the data:</p>
 <p>The algorithm carries out two iterations to determine the trend and detect extreme outliers.</p>
 <p>The outlier detection is based on  the <a href="https://en.wikipedia.org/wiki/Studentized_residual#:~:text=In%20statistics%2C%20a%20studentized%20residual,in%20the%20detection%20of%20outliers." target="_blank">studentized residuals</a> and the <a href="https://mathworld.wolfram.com/BonferroniCorrection.html" target="_blank">Bonferroni Correction</a>. The residuals between
@@ -178,7 +178,7 @@ <h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to t
 </div>
 </section>
 <section id="non-linear-non-stationary-synthetic-signal">
-<h2>Non-linear, non-stationary synthetic signal<a class="headerlink" href="#non-linear-non-stationary-synthetic-signal" title="Permalink to this heading"></a></h2>
+<h2>Non-linear, non-stationary synthetic signal<a class="headerlink" href="#non-linear-non-stationary-synthetic-signal" title="Link to this heading"></a></h2>
 <p>We’ll use a pre-defined test data set with a non-linear, non-stationary time series with “<cite>industrial</cite>”
 characteristics. This data set is a time series composed of 3 oscillatory components, 2 nonlinear trends, sensor
 linear drift (small decrease over time) and white noise. The signal has non-uniform
@@ -217,7 +217,7 @@ <h2>Non-linear, non-stationary synthetic signal<a class="headerlink" href="#non-
 </div>
 </section>
 <section id="insert-extreme-outliers">
-<h2>Insert extreme outliers<a class="headerlink" href="#insert-extreme-outliers" title="Permalink to this heading"></a></h2>
+<h2>Insert extreme outliers<a class="headerlink" href="#insert-extreme-outliers" title="Link to this heading"></a></h2>
 <p>This algorithm was tested with outliers generated at different locations. Five percent (5%) of the data points at
 random locations were replaced by outliers. To do so we used <a href="#id1"><span class="problematic" id="id2">|Numpy's|</span></a> random generator with different seeds.
 Feel free to use one of the 5 seeds below. The algorithm will work with 100% precision for these conditions and
@@ -237,7 +237,7 @@ <h2>Insert extreme outliers<a class="headerlink" href="#insert-extreme-outliers"
 </pre></div>
 </div>
 <section id="initial-conditions-test-data-set">
-<h3>Initial conditions: test data set<a class="headerlink" href="#initial-conditions-test-data-set" title="Permalink to this heading"></a></h3>
+<h3>Initial conditions: test data set<a class="headerlink" href="#initial-conditions-test-data-set" title="Link to this heading"></a></h3>
 <p>The figure below shows the original data set and the outliers inserted. We took care to give the outliers random
 values, both far and close to the main trend. But far enough for these to be categorized as an extreme deviation from
 the expected behavior of the data.</p>
@@ -254,9 +254,9 @@ <h3>Initial conditions: test data set<a class="headerlink" href="#initial-condit
 <img src="../../_images/sphx_glr_plot_out_of_range_001.png" srcset="../../_images/sphx_glr_plot_out_of_range_001.png" alt="Test Data Set" class = "sphx-glr-single-img"/></section>
 </section>
 <section id="initial-iteration">
-<h2>Initial iteration<a class="headerlink" href="#initial-iteration" title="Permalink to this heading"></a></h2>
+<h2>Initial iteration<a class="headerlink" href="#initial-iteration" title="Link to this heading"></a></h2>
 <section id="trend-estimate">
-<h3>1. Trend estimate<a class="headerlink" href="#trend-estimate" title="Permalink to this heading"></a></h3>
+<h3>1. Trend estimate<a class="headerlink" href="#trend-estimate" title="Link to this heading"></a></h3>
 <p>As mentioned before, we will use a SG smoother to estimate the trend. To demonstrate how the initial pass works, we’ll run the SG independently. The SG smoother
 requires a point-wise window length and a polynomial order. The bigger the window, more data
 used to estimate the local trend. With the polynomial order we influence how much we want the fit to follow the
@@ -269,7 +269,7 @@ <h3>1. Trend estimate<a class="headerlink" href="#trend-estimate" title="Permali
 </div>
 </section>
 <section id="studentized-residuals-and-bonferroni-correction">
-<h3>2. Studentized residuals and Bonferroni correction<a class="headerlink" href="#studentized-residuals-and-bonferroni-correction" title="Permalink to this heading"></a></h3>
+<h3>2. Studentized residuals and Bonferroni correction<a class="headerlink" href="#studentized-residuals-and-bonferroni-correction" title="Link to this heading"></a></h3>
 <p>Identifying potential outliers is done by comparing how much each data point deviates from the estimated
 main trend (i.e. the residuals). However, since in most cases little information about the data is readily
 available and extreme outliers are expected to be sparse and uncommon, the <a href="https://en.wikipedia.org/wiki/Student%27s_t-distribution" target="_blank">Student's-t distribution</a> is well
@@ -305,7 +305,7 @@ <h3>2. Studentized residuals and Bonferroni correction<a class="headerlink" href
 </div>
 </section>
 <section id="outliers-detected-with-the-initial-pass">
-<h3>3. Outliers detected with the initial pass<a class="headerlink" href="#outliers-detected-with-the-initial-pass" title="Permalink to this heading"></a></h3>
+<h3>3. Outliers detected with the initial pass<a class="headerlink" href="#outliers-detected-with-the-initial-pass" title="Link to this heading"></a></h3>
 <p>The figure below shows the results of the initial pass. The SG method does a good job at estimating the trend, except
 for a few periods in the data where a larger number of outliers are grouped together. This causes strong nonlinear
 behavior in the estimated trend, and as a consequence some data points are miss-identified as outliers. But overall,
@@ -326,7 +326,7 @@ <h3>3. Outliers detected with the initial pass<a class="headerlink" href="#outli
 <img src="../../_images/sphx_glr_plot_out_of_range_002.png" srcset="../../_images/sphx_glr_plot_out_of_range_002.png" alt="First Iteration: Savitzky-Golay trend" class = "sphx-glr-single-img"/></section>
 </section>
 <section id="last-iteration">
-<h2>Last iteration<a class="headerlink" href="#last-iteration" title="Permalink to this heading"></a></h2>
+<h2>Last iteration<a class="headerlink" href="#last-iteration" title="Link to this heading"></a></h2>
 <p>For the last iteration the outliers previously detected are removed and then use the SG method to estimate the main trend.</p>
 <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">tolerance_pass02</span> <span class="o">=</span> <span class="mf">0.01</span>
 <span class="n">trend_pass02</span> <span class="o">=</span> <span class="n">sg</span><span class="p">(</span><span class="n">filtered_ts_pass01</span><span class="p">,</span> <span class="n">window_length</span><span class="o">=</span><span class="mi">20</span><span class="p">,</span> <span class="n">polyorder</span><span class="o">=</span><span class="mi">3</span><span class="p">)</span>
@@ -352,7 +352,7 @@ <h2>Last iteration<a class="headerlink" href="#last-iteration" title="Permalink
 </div>
 </section>
 <section id="results">
-<h2>Results<a class="headerlink" href="#results" title="Permalink to this heading"></a></h2>
+<h2>Results<a class="headerlink" href="#results" title="Link to this heading"></a></h2>
 <p>The figure below shows the original data, the trend estimated using the SG method, the outliers artificially
 inserted, and the outliers detected by the full method (<code class="xref py py-func docutils literal notranslate"><span class="pre">out_of_range()</span></code>). A perfect performance is observed, all
 outliers are detected. This “perfect” performance will not always be the case but this function provides a very
diff --git a/docs/auto_examples/data_quality/plot_rolling_stddev_timedelta.html b/docs/auto_examples/data_quality/plot_rolling_stddev_timedelta.html
index 52383231..f0d4f9cb 100644
--- a/docs/auto_examples/data_quality/plot_rolling_stddev_timedelta.html
+++ b/docs/auto_examples/data_quality/plot_rolling_stddev_timedelta.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -131,7 +131,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="rolling-standard-deviation-of-data-points-time-delta">
-<span id="sphx-glr-auto-examples-data-quality-plot-rolling-stddev-timedelta-py"></span><h1>Rolling standard deviation of data points time delta<a class="headerlink" href="#rolling-standard-deviation-of-data-points-time-delta" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-data-quality-plot-rolling-stddev-timedelta-py"></span><h1>Rolling standard deviation of data points time delta<a class="headerlink" href="#rolling-standard-deviation-of-data-points-time-delta" title="Link to this heading"></a></h1>
 <p>Example of visualizing rolling standard deviation of time delta of time series data to identify dispersion in the
 ingestion of data.</p>
 <img src="../../_images/sphx_glr_plot_rolling_stddev_timedelta_001.png" srcset="../../_images/sphx_glr_plot_rolling_stddev_timedelta_001.png" alt="Standard deviation of time delta" class = "sphx-glr-single-img"/><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span>
diff --git a/docs/auto_examples/data_quality/plot_uncertainty.html b/docs/auto_examples/data_quality/plot_uncertainty.html
index 6c074961..887f9c67 100644
--- a/docs/auto_examples/data_quality/plot_uncertainty.html
+++ b/docs/auto_examples/data_quality/plot_uncertainty.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -118,7 +118,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="relative-uncertainty-estimation">
-<span id="sphx-glr-auto-examples-data-quality-plot-uncertainty-py"></span><h1>Relative uncertainty estimation<a class="headerlink" href="#relative-uncertainty-estimation" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-data-quality-plot-uncertainty-py"></span><h1>Relative uncertainty estimation<a class="headerlink" href="#relative-uncertainty-estimation" title="Link to this heading"></a></h1>
 <p>This example shows how to estimate the relative uncertainty of a non-linear, non-stationary signal using detrending.
 We generate a synthetic signal composed of:</p>
 <blockquote>
diff --git a/docs/auto_examples/data_quality/plot_value_decrease_check.html b/docs/auto_examples/data_quality/plot_value_decrease_check.html
index b2fdb310..9b55599e 100644
--- a/docs/auto_examples/data_quality/plot_value_decrease_check.html
+++ b/docs/auto_examples/data_quality/plot_value_decrease_check.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -131,7 +131,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="checking-for-decreasing-values-in-a-timeseries">
-<span id="sphx-glr-auto-examples-data-quality-plot-value-decrease-check-py"></span><h1>Checking for decreasing values in a timeseries<a class="headerlink" href="#checking-for-decreasing-values-in-a-timeseries" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-data-quality-plot-value-decrease-check-py"></span><h1>Checking for decreasing values in a timeseries<a class="headerlink" href="#checking-for-decreasing-values-in-a-timeseries" title="Link to this heading"></a></h1>
 <p>Example of algorithm that indicates decreasing values in time series data. This algorithm is applied on Running Hours time series.
 It is a specific type of time series that is counting the number of running hours in a pump. Given that we expect
 the number of running hours to either stay the same (if the pump is not running) or increase with time (if the pump
diff --git a/docs/auto_examples/data_quality/sg_execution_times.html b/docs/auto_examples/data_quality/sg_execution_times.html
index a007cbbe..5fc33e4c 100644
--- a/docs/auto_examples/data_quality/sg_execution_times.html
+++ b/docs/auto_examples/data_quality/sg_execution_times.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -113,12 +113,12 @@
            <div itemprop="articleBody">
              
   <section id="computation-times">
-<span id="sphx-glr-auto-examples-data-quality-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this heading"></a></h1>
-<p><strong>00:02.293</strong> total execution time for <strong>auto_examples_data_quality</strong> files:</p>
+<span id="sphx-glr-auto-examples-data-quality-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
+<p><strong>00:02.605</strong> total execution time for <strong>auto_examples_data_quality</strong> files:</p>
 <table class="docutils align-default">
 <tbody>
-<tr class="row-odd"><td><p><a class="reference internal" href="plot_out_of_range.html#sphx-glr-auto-examples-data-quality-plot-out-of-range-py"><span class="std std-ref">Detect out of range outliers in sensor data</span></a> (<code class="docutils literal notranslate"><span class="pre">plot_out_of_range.py</span></code>)</p></td>
-<td><p>00:02.293</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="plot_datapoint_diff.html#sphx-glr-auto-examples-data-quality-plot-datapoint-diff-py"><span class="std std-ref">Threshold breach check for difference between two data points over a period of time</span></a> (<code class="docutils literal notranslate"><span class="pre">plot_datapoint_diff.py</span></code>)</p></td>
+<td><p>00:02.605</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 <tr class="row-even"><td><p><a class="reference internal" href="plot_completeness.html#sphx-glr-auto-examples-data-quality-plot-completeness-py"><span class="std std-ref">Completeness score of time series</span></a> (<code class="docutils literal notranslate"><span class="pre">plot_completeness.py</span></code>)</p></td>
@@ -137,11 +137,15 @@
 <td><p>00:00.000</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="plot_rolling_stddev_timedelta.html#sphx-glr-auto-examples-data-quality-plot-rolling-stddev-timedelta-py"><span class="std std-ref">Rolling standard deviation of data points time delta</span></a> (<code class="docutils literal notranslate"><span class="pre">plot_rolling_stddev_timedelta.py</span></code>)</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="plot_out_of_range.html#sphx-glr-auto-examples-data-quality-plot-out-of-range-py"><span class="std std-ref">Detect out of range outliers in sensor data</span></a> (<code class="docutils literal notranslate"><span class="pre">plot_out_of_range.py</span></code>)</p></td>
 <td><p>00:00.000</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="plot_value_decrease_check.html#sphx-glr-auto-examples-data-quality-plot-value-decrease-check-py"><span class="std std-ref">Checking for decreasing values in a timeseries</span></a> (<code class="docutils literal notranslate"><span class="pre">plot_value_decrease_check.py</span></code>)</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="plot_rolling_stddev_timedelta.html#sphx-glr-auto-examples-data-quality-plot-rolling-stddev-timedelta-py"><span class="std std-ref">Rolling standard deviation of data points time delta</span></a> (<code class="docutils literal notranslate"><span class="pre">plot_rolling_stddev_timedelta.py</span></code>)</p></td>
+<td><p>00:00.000</p></td>
+<td><p>0.0 MB</p></td>
+</tr>
+<tr class="row-even"><td><p><a class="reference internal" href="plot_value_decrease_check.html#sphx-glr-auto-examples-data-quality-plot-value-decrease-check-py"><span class="std std-ref">Checking for decreasing values in a timeseries</span></a> (<code class="docutils literal notranslate"><span class="pre">plot_value_decrease_check.py</span></code>)</p></td>
 <td><p>00:00.000</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
diff --git a/docs/auto_examples/detect/index.html b/docs/auto_examples/detect/index.html
index b22600fb..8c21fe04 100644
--- a/docs/auto_examples/detect/index.html
+++ b/docs/auto_examples/detect/index.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -121,7 +121,7 @@
            <div itemprop="articleBody">
              
   <section id="detection-functions">
-<span id="sphx-glr-auto-examples-detect"></span><h1>Detection Functions<a class="headerlink" href="#detection-functions" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-detect"></span><h1>Detection Functions<a class="headerlink" href="#detection-functions" title="Link to this heading"></a></h1>
 <p>Examples of how to use the detection functions included in Cognite Charts.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="Example of change point detection based on the cusum algorithm. We use synthetic data generated..."><img alt="" src="../../_images/sphx_glr_plot_cusum_thumb.png" />
 <p><a class="reference internal" href="plot_cusum.html#sphx-glr-auto-examples-detect-plot-cusum-py"><span class="std std-ref">Change Point Detection with Cusum</span></a></p>
diff --git a/docs/auto_examples/detect/plot_cusum.html b/docs/auto_examples/detect/plot_cusum.html
index 3b761d03..5e0a4a02 100644
--- a/docs/auto_examples/detect/plot_cusum.html
+++ b/docs/auto_examples/detect/plot_cusum.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -127,7 +127,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="change-point-detection-with-cusum">
-<span id="sphx-glr-auto-examples-detect-plot-cusum-py"></span><h1>Change Point Detection with Cusum<a class="headerlink" href="#change-point-detection-with-cusum" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-detect-plot-cusum-py"></span><h1>Change Point Detection with Cusum<a class="headerlink" href="#change-point-detection-with-cusum" title="Link to this heading"></a></h1>
 <p>Example of change point detection based on the cusum algorithm.
 We use synthetic data generated from a standard normal distribution of mean 0 and variance 1 with a shift in some of the datapoints to simulate a change in the mean of the data.</p>
 <p>In the figure below it can be observed how the Cusum algorithm identifies increasing and decreasing change point segments.
diff --git a/docs/auto_examples/detect/plot_oscillation_detection.html b/docs/auto_examples/detect/plot_oscillation_detection.html
index 2ac461f2..5b612de2 100644
--- a/docs/auto_examples/detect/plot_oscillation_detection.html
+++ b/docs/auto_examples/detect/plot_oscillation_detection.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -127,14 +127,14 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="oscillation-detection-using-linear-predictive-coding">
-<span id="sphx-glr-auto-examples-detect-plot-oscillation-detection-py"></span><h1>Oscillation detection using linear predictive coding<a class="headerlink" href="#oscillation-detection-using-linear-predictive-coding" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-detect-plot-oscillation-detection-py"></span><h1>Oscillation detection using linear predictive coding<a class="headerlink" href="#oscillation-detection-using-linear-predictive-coding" title="Link to this heading"></a></h1>
 <p>Identifies if a signal contains one or more oscillatory components. Based on the paper by Sharma et. al. <a href="#id2"><span class="problematic" id="id3"><span id="id1"></span>[#]_</span></a>.</p>
 <ul class="sphx-glr-horizontal">
 <li><img src="../../_images/sphx_glr_plot_oscillation_detection_001.png" srcset="../../_images/sphx_glr_plot_oscillation_detection_001.png" alt="Signal, Power Spectral Density, LPC Roots in z-plane" class = "sphx-glr-multi-img"/></li>
 <li><img src="../../_images/sphx_glr_plot_oscillation_detection_002.png" srcset="../../_images/sphx_glr_plot_oscillation_detection_002.png" alt="Correlation coefficient, Normalized FFT magnitude spectrum, Power Spectral Density" class = "sphx-glr-multi-img"/></li>
 <li><img src="../../_images/sphx_glr_plot_oscillation_detection_003.png" srcset="../../_images/sphx_glr_plot_oscillation_detection_003.png" alt="frequency regions where oscillation detected" class = "sphx-glr-multi-img"/></li>
 </ul>
-<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/home/cristinaferrer/indsl/indsl/detect/oscillation_detector.py:578: UserWarning: The figure layout has changed to tight
+<div class="sphx-glr-script-out highlight-none notranslate"><div class="highlight"><pre><span></span>/home/cristinaferrer/indsl/indsl/detect/oscillation_detector.py:580: UserWarning: The figure layout has changed to tight
   fig.tight_layout()
 </pre></div>
 </div>
@@ -186,7 +186,7 @@
 <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 0 minutes  2.827 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> (0 minutes 1.182 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-auto-examples-detect-plot-oscillation-detection-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/347b174c7f7445a317319c423ec461ed/plot_oscillation_detection.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">plot_oscillation_detection.py</span></code></a></p>
diff --git a/docs/auto_examples/detect/plot_ssd_cpd.html b/docs/auto_examples/detect/plot_ssd_cpd.html
index b072ff46..fb87ffc1 100644
--- a/docs/auto_examples/detect/plot_ssd_cpd.html
+++ b/docs/auto_examples/detect/plot_ssd_cpd.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -127,7 +127,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="steady-state-detection-change-point">
-<span id="sphx-glr-auto-examples-detect-plot-ssd-cpd-py"></span><h1>Steady State Detection: Change Point<a class="headerlink" href="#steady-state-detection-change-point" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-detect-plot-ssd-cpd-py"></span><h1>Steady State Detection: Change Point<a class="headerlink" href="#steady-state-detection-change-point" title="Link to this heading"></a></h1>
 <p>Example of steady state detection (SSD) based on the ED-PELT change point detection (CPD) algorithm. We use data from a
 compressor suction pressure sensor (in barg). The dataset contains 4 days of process of process data (sampled using 1m
 granularity).</p>
diff --git a/docs/auto_examples/detect/plot_unchanged_signal_detection.html b/docs/auto_examples/detect/plot_unchanged_signal_detection.html
index df6a05b6..7fc7ae60 100644
--- a/docs/auto_examples/detect/plot_unchanged_signal_detection.html
+++ b/docs/auto_examples/detect/plot_unchanged_signal_detection.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -127,7 +127,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="unchanged-signal-identification-of-time-series-data">
-<span id="sphx-glr-auto-examples-detect-plot-unchanged-signal-detection-py"></span><h1>Unchanged signal identification of time series data<a class="headerlink" href="#unchanged-signal-identification-of-time-series-data" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-detect-plot-unchanged-signal-detection-py"></span><h1>Unchanged signal identification of time series data<a class="headerlink" href="#unchanged-signal-identification-of-time-series-data" title="Link to this heading"></a></h1>
 <p>Example of visualizing unchanged signal during a certain time period in a given time series.</p>
 <img src="../../_images/sphx_glr_plot_unchanged_signal_detection_001.png" srcset="../../_images/sphx_glr_plot_unchanged_signal_detection_001.png" alt="Unchanged signal identification for a time series for a duration of 10 minutes" class = "sphx-glr-single-img"/><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">random</span>
 
diff --git a/docs/auto_examples/detect/sg_execution_times.html b/docs/auto_examples/detect/sg_execution_times.html
index e1437336..cddee58b 100644
--- a/docs/auto_examples/detect/sg_execution_times.html
+++ b/docs/auto_examples/detect/sg_execution_times.html
@@ -4,7 +4,7 @@
   <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
 
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-  <title>&lt;no title&gt; &mdash; indsl 8.2.0 documentation</title>
+  <title>Computation times &mdash; indsl 8.2.0 documentation</title>
       <link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
       <link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
       <link rel="stylesheet" href="../../_static/sg_gallery.css" type="text/css" />
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -102,7 +102,7 @@
           <div role="navigation" aria-label="Page navigation">
   <ul class="wy-breadcrumbs">
       <li><a href="../../index.html" class="icon icon-home" aria-label="Home"></a></li>
-      <li class="breadcrumb-item active">&lt;no title&gt;</li>
+      <li class="breadcrumb-item active">Computation times</li>
       <li class="wy-breadcrumbs-aside">
             <a href="../../_sources/auto_examples/detect/sg_execution_times.rst.txt" rel="nofollow"> View page source</a>
       </li>
@@ -112,37 +112,30 @@
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
            <div itemprop="articleBody">
              
-  <p id="sphx-glr-auto-examples-detect-sg-execution-times">Computation times</p>
-<p><strong>00:01.691</strong> total execution time for <strong>auto_examples_detect</strong> files:</p>
+  <section id="computation-times">
+<span id="sphx-glr-auto-examples-detect-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
+<p><strong>00:01.182</strong> total execution time for <strong>auto_examples_detect</strong> files:</p>
 <table class="docutils align-default">
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="plot_oscillation_detection.html#sphx-glr-auto-examples-detect-plot-oscillation-detection-py"><span class="std std-ref">Oscillation detection using linear predictive coding</span></a> (<code class="docutils literal notranslate"><span class="pre">plot_oscillation_detection.py</span></code>)</p></td>
-<td><p>00:01.691</p></td>
+<td><p>00:01.182</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
-<tr class="row-even"><td><p><a class="reference internal" href="plot_ssd_cpd.html#sphx-glr-auto-examples-detect-plot-ssd-cpd-py"><span class="std std-ref">Steady State Detection: Change Point</span></a> (<code class="docutils literal notranslate"><span class="pre">plot_ssd_cpd.py</span></code>)</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="plot_cusum.html#sphx-glr-auto-examples-detect-plot-cusum-py"><span class="std std-ref">Change Point Detection with Cusum</span></a> (<code class="docutils literal notranslate"><span class="pre">plot_cusum.py</span></code>)</p></td>
 <td><p>00:00.000</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
-</tbody>
-</table>
-<p><strong>00:28.644</strong> total execution time for <strong>auto_examples_detect</strong> files:</p>
-<table class="docutils align-default">
-<tbody>
-<tr class="row-odd"><td><p><a class="reference internal" href="plot_cusum.html#sphx-glr-auto-examples-detect-plot-cusum-py"><span class="std std-ref">Change Point Detection with Cusum</span></a> (<code class="docutils literal notranslate"><span class="pre">plot_cusum.py</span></code>)</p></td>
-<td><p>00:28.644</p></td>
-<td><p>0.0 MB</p></td>
-</tr>
-<tr class="row-even"><td><p><a class="reference internal" href="plot_ssd_cpd.html#sphx-glr-auto-examples-detect-plot-ssd-cpd-py"><span class="std std-ref">Steady State Detection: Change Point</span></a> (<code class="docutils literal notranslate"><span class="pre">plot_ssd_cpd.py</span></code>)</p></td>
+<tr class="row-odd"><td><p><a class="reference internal" href="plot_ssd_cpd.html#sphx-glr-auto-examples-detect-plot-ssd-cpd-py"><span class="std std-ref">Steady State Detection: Change Point</span></a> (<code class="docutils literal notranslate"><span class="pre">plot_ssd_cpd.py</span></code>)</p></td>
 <td><p>00:00.000</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
-<tr class="row-odd"><td><p><a class="reference internal" href="plot_unchanged_signal_detection.html#sphx-glr-auto-examples-detect-plot-unchanged-signal-detection-py"><span class="std std-ref">Unchanged signal identification of time series data</span></a> (<code class="docutils literal notranslate"><span class="pre">plot_unchanged_signal_detection.py</span></code>)</p></td>
+<tr class="row-even"><td><p><a class="reference internal" href="plot_unchanged_signal_detection.html#sphx-glr-auto-examples-detect-plot-unchanged-signal-detection-py"><span class="std std-ref">Unchanged signal identification of time series data</span></a> (<code class="docutils literal notranslate"><span class="pre">plot_unchanged_signal_detection.py</span></code>)</p></td>
 <td><p>00:00.000</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
 </table>
+</section>
 
 
            </div>
diff --git a/docs/auto_examples/equipment/index.html b/docs/auto_examples/equipment/index.html
index b47b874d..e135d9a2 100644
--- a/docs/auto_examples/equipment/index.html
+++ b/docs/auto_examples/equipment/index.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -119,7 +119,7 @@
            <div itemprop="articleBody">
              
   <section id="equipment-functions">
-<span id="sphx-glr-auto-examples-equipment"></span><h1>Equipment Functions<a class="headerlink" href="#equipment-functions" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-equipment"></span><h1>Equipment Functions<a class="headerlink" href="#equipment-functions" title="Link to this heading"></a></h1>
 <p>Examples of how to use the equipment functions included in Cognite Charts.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip=" Pump suction pressure  Pump discharge pressure  Recycle valve outlet pressure  Recycle valve f..."><img alt="" src="../../_images/sphx_glr_plot_recycle_valve_power_loss_thumb.png" />
 <p><a class="reference internal" href="plot_recycle_valve_power_loss.html#sphx-glr-auto-examples-equipment-plot-recycle-valve-power-loss-py"><span class="std std-ref">Pump recycle valve power loss</span></a></p>
diff --git a/docs/auto_examples/equipment/plot_pump_parameters.html b/docs/auto_examples/equipment/plot_pump_parameters.html
index f955a84f..bbb97bb3 100644
--- a/docs/auto_examples/equipment/plot_pump_parameters.html
+++ b/docs/auto_examples/equipment/plot_pump_parameters.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -125,7 +125,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="calculate-parameters-of-a-centrifugal-pump">
-<span id="sphx-glr-auto-examples-equipment-plot-pump-parameters-py"></span><h1>Calculate parameters of a centrifugal pump<a class="headerlink" href="#calculate-parameters-of-a-centrifugal-pump" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-equipment-plot-pump-parameters-py"></span><h1>Calculate parameters of a centrifugal pump<a class="headerlink" href="#calculate-parameters-of-a-centrifugal-pump" title="Link to this heading"></a></h1>
 <p>Calculate pump parameters total head across the pump and difference from
 Best Efficiency Point (BEP) to current operating flowrate and power output
 of a centrifugal pump.</p>
diff --git a/docs/auto_examples/equipment/plot_recycle_valve_power_loss.html b/docs/auto_examples/equipment/plot_recycle_valve_power_loss.html
index 2ad7a587..8ded66f6 100644
--- a/docs/auto_examples/equipment/plot_recycle_valve_power_loss.html
+++ b/docs/auto_examples/equipment/plot_recycle_valve_power_loss.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
         <script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
@@ -126,7 +126,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="pump-recycle-valve-power-loss">
-<span id="sphx-glr-auto-examples-equipment-plot-recycle-valve-power-loss-py"></span><h1>Pump recycle valve power loss<a class="headerlink" href="#pump-recycle-valve-power-loss" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-equipment-plot-recycle-valve-power-loss-py"></span><h1>Pump recycle valve power loss<a class="headerlink" href="#pump-recycle-valve-power-loss" title="Link to this heading"></a></h1>
 <p>This example demonstrates how to calculate the recirculation line power loss if you have the following information:</p>
 <ul class="simple">
 <li><p>Pump suction pressure</p></li>
diff --git a/docs/auto_examples/equipment/sg_execution_times.html b/docs/auto_examples/equipment/sg_execution_times.html
index d5f2b8d3..ad7eb350 100644
--- a/docs/auto_examples/equipment/sg_execution_times.html
+++ b/docs/auto_examples/equipment/sg_execution_times.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -113,7 +113,7 @@
            <div itemprop="articleBody">
              
   <section id="computation-times">
-<span id="sphx-glr-auto-examples-equipment-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-equipment-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
 <p><strong>00:28.393</strong> total execution time for <strong>auto_examples_equipment</strong> files:</p>
 <table class="docutils align-default">
 <tbody>
diff --git a/docs/auto_examples/filter/index.html b/docs/auto_examples/filter/index.html
index e8d968f5..8add4e6d 100644
--- a/docs/auto_examples/filter/index.html
+++ b/docs/auto_examples/filter/index.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -118,7 +118,7 @@
            <div itemprop="articleBody">
              
   <section id="filter-functions">
-<span id="sphx-glr-auto-examples-filter"></span><h1>Filter Functions<a class="headerlink" href="#filter-functions" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-filter"></span><h1>Filter Functions<a class="headerlink" href="#filter-functions" title="Link to this heading"></a></h1>
 <p>Examples of how to use the filter functions included in Cognite Charts.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="Example of filtering to remove noise from time series data using the Wavelet filter. We use dat..."><img alt="" src="../../_images/sphx_glr_plot_wavelet_filter_thumb.png" />
 <p><a class="reference internal" href="plot_wavelet_filter.html#sphx-glr-auto-examples-filter-plot-wavelet-filter-py"><span class="std std-ref">Noise removal and trending with the Wavelet filter</span></a></p>
diff --git a/docs/auto_examples/filter/plot_trend.html b/docs/auto_examples/filter/plot_trend.html
index e423e0c0..0ab6f192 100644
--- a/docs/auto_examples/filter/plot_trend.html
+++ b/docs/auto_examples/filter/plot_trend.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -118,7 +118,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="trending-with-empirical-mode-decomposition">
-<span id="sphx-glr-auto-examples-filter-plot-trend-py"></span><h1>Trending with Empirical Mode Decomposition<a class="headerlink" href="#trending-with-empirical-mode-decomposition" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-filter-plot-trend-py"></span><h1>Trending with Empirical Mode Decomposition<a class="headerlink" href="#trending-with-empirical-mode-decomposition" title="Link to this heading"></a></h1>
 <p>Example of trend extraction from non-linear, non-stationary signals using Empirical Mode Decomposition (EMD) and the
 Hilbert-Huang Transform. We generate a synthetic signal composed of:</p>
 <blockquote>
diff --git a/docs/auto_examples/filter/plot_wavelet_filter.html b/docs/auto_examples/filter/plot_wavelet_filter.html
index 4197e6cd..bfb3f1ee 100644
--- a/docs/auto_examples/filter/plot_wavelet_filter.html
+++ b/docs/auto_examples/filter/plot_wavelet_filter.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -124,7 +124,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="noise-removal-and-trending-with-the-wavelet-filter">
-<span id="sphx-glr-auto-examples-filter-plot-wavelet-filter-py"></span><h1>Noise removal and trending with the Wavelet filter<a class="headerlink" href="#noise-removal-and-trending-with-the-wavelet-filter" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-filter-plot-wavelet-filter-py"></span><h1>Noise removal and trending with the Wavelet filter<a class="headerlink" href="#noise-removal-and-trending-with-the-wavelet-filter" title="Link to this heading"></a></h1>
 <p>Example of filtering to remove noise from time series data using the Wavelet filter.
 We use data from volumetric flow rate (m3/h) sensor with non-uniform sampling frequency measuring measuring flow into
 a compressor.</p>
diff --git a/docs/auto_examples/filter/sg_execution_times.html b/docs/auto_examples/filter/sg_execution_times.html
index f22fff40..35f6ca8f 100644
--- a/docs/auto_examples/filter/sg_execution_times.html
+++ b/docs/auto_examples/filter/sg_execution_times.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -113,7 +113,7 @@
            <div itemprop="articleBody">
              
   <section id="computation-times">
-<span id="sphx-glr-auto-examples-filter-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-filter-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
 <p><strong>00:27.907</strong> total execution time for <strong>auto_examples_filter</strong> files:</p>
 <table class="docutils align-default">
 <tbody>
diff --git a/docs/auto_examples/fluid_dynamics/index.html b/docs/auto_examples/fluid_dynamics/index.html
index 13a69d50..2f528df2 100644
--- a/docs/auto_examples/fluid_dynamics/index.html
+++ b/docs/auto_examples/fluid_dynamics/index.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
diff --git a/docs/auto_examples/fluid_dynamics/sg_execution_times.html b/docs/auto_examples/fluid_dynamics/sg_execution_times.html
index e7d716a3..c4712cf3 100644
--- a/docs/auto_examples/fluid_dynamics/sg_execution_times.html
+++ b/docs/auto_examples/fluid_dynamics/sg_execution_times.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -113,7 +113,7 @@
            <div itemprop="articleBody">
              
   <section id="computation-times">
-<span id="sphx-glr-auto-examples-fluid-dynamics-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-fluid-dynamics-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
 <p><strong>00:02.289</strong> total execution time for <strong>auto_examples_fluid_dynamics</strong> files:</p>
 <table class="docutils align-default">
 <tbody>
diff --git a/docs/auto_examples/forecast/index.html b/docs/auto_examples/forecast/index.html
index d83e2abe..47330a79 100644
--- a/docs/auto_examples/forecast/index.html
+++ b/docs/auto_examples/forecast/index.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -118,7 +118,7 @@
            <div itemprop="articleBody">
              
   <section id="forecasting-functions">
-<span id="sphx-glr-auto-examples-forecast"></span><h1>Forecasting Functions<a class="headerlink" href="#forecasting-functions" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-forecast"></span><h1>Forecasting Functions<a class="headerlink" href="#forecasting-functions" title="Link to this heading"></a></h1>
 <p>Examples of algorithms used to forecast data</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="For the Holt-Winters example we use forged daily data with a weekly seasonality. We predict two..."><img alt="" src="../../_images/sphx_glr_plot_holt_winters_predictor_thumb.png" />
 <p><a class="reference internal" href="plot_holt_winters_predictor.html#sphx-glr-auto-examples-forecast-plot-holt-winters-predictor-py"><span class="std std-ref">Holt-Winters Predictor</span></a></p>
diff --git a/docs/auto_examples/forecast/plot_holt_winters_predictor.html b/docs/auto_examples/forecast/plot_holt_winters_predictor.html
index 84033e8d..0d0a177c 100644
--- a/docs/auto_examples/forecast/plot_holt_winters_predictor.html
+++ b/docs/auto_examples/forecast/plot_holt_winters_predictor.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -124,7 +124,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="holt-winters-predictor">
-<span id="sphx-glr-auto-examples-forecast-plot-holt-winters-predictor-py"></span><h1>Holt-Winters Predictor<a class="headerlink" href="#holt-winters-predictor" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-forecast-plot-holt-winters-predictor-py"></span><h1>Holt-Winters Predictor<a class="headerlink" href="#holt-winters-predictor" title="Link to this heading"></a></h1>
 <p>For the Holt-Winters example we use forged daily data with a weekly seasonality. We predict two types of data, the first
 dataset displays an additive trend and an additive seasonality, and the second dataset displays an additive trend and a
 multiplicative seasonality.</p>
diff --git a/docs/auto_examples/forecast/sg_execution_times.html b/docs/auto_examples/forecast/sg_execution_times.html
index ba3dea8b..939baa45 100644
--- a/docs/auto_examples/forecast/sg_execution_times.html
+++ b/docs/auto_examples/forecast/sg_execution_times.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -113,7 +113,7 @@
            <div itemprop="articleBody">
              
   <section id="computation-times">
-<span id="sphx-glr-auto-examples-forecast-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-forecast-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
 <p><strong>00:00.442</strong> total execution time for <strong>auto_examples_forecast</strong> files:</p>
 <table class="docutils align-default">
 <tbody>
diff --git a/docs/auto_examples/index.html b/docs/auto_examples/index.html
index 47af351a..75fb134f 100644
--- a/docs/auto_examples/index.html
+++ b/docs/auto_examples/index.html
@@ -18,9 +18,9 @@
   
         <script src="../_static/jquery.js?v=5d32c60e"></script>
         <script src="../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../_static/doctools.js?v=888ff710"></script>
-        <script src="../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" /> 
@@ -113,10 +113,10 @@
            <div itemprop="articleBody">
              
   <section id="gallery-of-charts">
-<h1>Gallery of Charts<a class="headerlink" href="#gallery-of-charts" title="Permalink to this heading"></a></h1>
+<h1>Gallery of Charts<a class="headerlink" href="#gallery-of-charts" title="Link to this heading"></a></h1>
 <p>Examples of how to use the algorithms included in Cognite Charts.</p>
 <div class="sphx-glr-thumbnails"></div><section id="data-quality">
-<h2>Data quality<a class="headerlink" href="#data-quality" title="Permalink to this heading"></a></h2>
+<h2>Data quality<a class="headerlink" href="#data-quality" title="Link to this heading"></a></h2>
 <p>Examples on how to explore the data quality of time series.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="Example of point outlier removal with polynomial regression and Studentized residuals. We gener..."><img alt="" src="../_images/sphx_glr_plot_extreme_outlier_thumb.png" />
 <p><a class="reference internal" href="data_quality/plot_extreme_outlier.html#sphx-glr-auto-examples-data-quality-plot-extreme-outlier-py"><span class="std std-ref">Extreme Outliers Removal</span></a></p>
@@ -144,7 +144,7 @@ <h2>Data quality<a class="headerlink" href="#data-quality" title="Permalink to t
   <div class="sphx-glr-thumbnail-title">Detect out of range outliers in sensor data</div>
 </div></div></section>
 <section id="detection-functions">
-<h2>Detection Functions<a class="headerlink" href="#detection-functions" title="Permalink to this heading"></a></h2>
+<h2>Detection Functions<a class="headerlink" href="#detection-functions" title="Link to this heading"></a></h2>
 <p>Examples of how to use the detection functions included in Cognite Charts.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="Example of change point detection based on the cusum algorithm. We use synthetic data generated..."><img alt="" src="../_images/sphx_glr_plot_cusum_thumb.png" />
 <p><a class="reference internal" href="detect/plot_cusum.html#sphx-glr-auto-examples-detect-plot-cusum-py"><span class="std std-ref">Change Point Detection with Cusum</span></a></p>
@@ -160,7 +160,7 @@ <h2>Detection Functions<a class="headerlink" href="#detection-functions" title="
   <div class="sphx-glr-thumbnail-title">Unchanged signal identification of time series data</div>
 </div></div></section>
 <section id="equipment-functions">
-<h2>Equipment Functions<a class="headerlink" href="#equipment-functions" title="Permalink to this heading"></a></h2>
+<h2>Equipment Functions<a class="headerlink" href="#equipment-functions" title="Link to this heading"></a></h2>
 <p>Examples of how to use the equipment functions included in Cognite Charts.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip=" Pump suction pressure  Pump discharge pressure  Recycle valve outlet pressure  Recycle valve f..."><img alt="" src="../_images/sphx_glr_plot_recycle_valve_power_loss_thumb.png" />
 <p><a class="reference internal" href="equipment/plot_recycle_valve_power_loss.html#sphx-glr-auto-examples-equipment-plot-recycle-valve-power-loss-py"><span class="std std-ref">Pump recycle valve power loss</span></a></p>
@@ -170,27 +170,27 @@ <h2>Equipment Functions<a class="headerlink" href="#equipment-functions" title="
   <div class="sphx-glr-thumbnail-title">Calculate parameters of a centrifugal pump</div>
 </div></div></section>
 <section id="filter-functions">
-<h2>Filter Functions<a class="headerlink" href="#filter-functions" title="Permalink to this heading"></a></h2>
+<h2>Filter Functions<a class="headerlink" href="#filter-functions" title="Link to this heading"></a></h2>
 <p>Examples of how to use the filter functions included in Cognite Charts.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="Example of filtering to remove noise from time series data using the Wavelet filter. We use dat..."><img alt="" src="../_images/sphx_glr_plot_wavelet_filter_thumb.png" />
 <p><a class="reference internal" href="filter/plot_wavelet_filter.html#sphx-glr-auto-examples-filter-plot-wavelet-filter-py"><span class="std std-ref">Noise removal and trending with the Wavelet filter</span></a></p>
   <div class="sphx-glr-thumbnail-title">Noise removal and trending with the Wavelet filter</div>
 </div></div><div class="sphx-glr-thumbnails"></div></section>
 <section id="forecasting-functions">
-<h2>Forecasting Functions<a class="headerlink" href="#forecasting-functions" title="Permalink to this heading"></a></h2>
+<h2>Forecasting Functions<a class="headerlink" href="#forecasting-functions" title="Link to this heading"></a></h2>
 <p>Examples of algorithms used to forecast data</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="For the Holt-Winters example we use forged daily data with a weekly seasonality. We predict two..."><img alt="" src="../_images/sphx_glr_plot_holt_winters_predictor_thumb.png" />
 <p><a class="reference internal" href="forecast/plot_holt_winters_predictor.html#sphx-glr-auto-examples-forecast-plot-holt-winters-predictor-py"><span class="std std-ref">Holt-Winters Predictor</span></a></p>
   <div class="sphx-glr-thumbnail-title">Holt-Winters Predictor</div>
 </div></div></section>
 <section id="numerical-calculus">
-<h2>Numerical Calculus<a class="headerlink" href="#numerical-calculus" title="Permalink to this heading"></a></h2>
+<h2>Numerical Calculus<a class="headerlink" href="#numerical-calculus" title="Link to this heading"></a></h2>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="In this example a synthetic time series is generated with a certain skewness (to make it more i..."><img alt="" src="../_images/sphx_glr_plot_sliding_window_integration_thumb.png" />
 <p><a class="reference internal" href="numerical_calculus/plot_sliding_window_integration.html#sphx-glr-auto-examples-numerical-calculus-plot-sliding-window-integration-py"><span class="std std-ref">Sliding window integration</span></a></p>
   <div class="sphx-glr-thumbnail-title">Sliding window integration</div>
 </div></div></section>
 <section id="oil-and-gas-functions">
-<h2>Oil and Gas Functions<a class="headerlink" href="#oil-and-gas-functions" title="Permalink to this heading"></a></h2>
+<h2>Oil and Gas Functions<a class="headerlink" href="#oil-and-gas-functions" title="Link to this heading"></a></h2>
 <p>Examples of algorithms used in the Oil and Gas industry.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="The data is from an unnamed well in the form of a pickle file. The data is a dataframe that con..."><img alt="" src="../_images/sphx_glr_plot_well_prod_status_thumb.png" />
 <p><a class="reference internal" href="oil_and_gas/plot_well_prod_status.html#sphx-glr-auto-examples-oil-and-gas-plot-well-prod-status-py"><span class="std std-ref">Check for the production status of a well</span></a></p>
@@ -209,21 +209,21 @@ <h2>Oil and Gas Functions<a class="headerlink" href="#oil-and-gas-functions" tit
   <div class="sphx-glr-thumbnail-title">Calculate fluid properties given pressure and temperature</div>
 </div></div></section>
 <section id="reindex-function">
-<h2>Reindex function<a class="headerlink" href="#reindex-function" title="Permalink to this heading"></a></h2>
+<h2>Reindex function<a class="headerlink" href="#reindex-function" title="Link to this heading"></a></h2>
 <p>Example on how to reindex two time-series.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="When working with multiple time series it is often important that time stamps are aligned. Even..."><img alt="" src="../_images/sphx_glr_plot_pearson_correlation_thumb.png" />
 <p><a class="reference internal" href="reindex/plot_pearson_correlation.html#sphx-glr-auto-examples-reindex-plot-pearson-correlation-py"><span class="std std-ref">Re-indexing and compute Pearson correlation coefficient</span></a></p>
   <div class="sphx-glr-thumbnail-title">Re-indexing and compute Pearson correlation coefficient</div>
 </div></div></section>
 <section id="resampling-functions">
-<h2>Resampling Functions<a class="headerlink" href="#resampling-functions" title="Permalink to this heading"></a></h2>
+<h2>Resampling Functions<a class="headerlink" href="#resampling-functions" title="Link to this heading"></a></h2>
 <p>Examples of how to use the resampling functions included in Cognite Charts.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="Example of aggregating (grouping) data on regions defined by a series with integers denoting di..."><img alt="" src="../_images/sphx_glr_plot_group_by_region_thumb.png" />
 <p><a class="reference internal" href="resample/plot_group_by_region.html#sphx-glr-auto-examples-resample-plot-group-by-region-py"><span class="std std-ref">Group by Region</span></a></p>
   <div class="sphx-glr-thumbnail-title">Group by Region</div>
 </div></div></section>
 <section id="synthetic-signal-generation">
-<h2>Synthetic Signal Generation<a class="headerlink" href="#synthetic-signal-generation" title="Permalink to this heading"></a></h2>
+<h2>Synthetic Signal Generation<a class="headerlink" href="#synthetic-signal-generation" title="Link to this heading"></a></h2>
 <p>Examples of how to generate synthetic signals.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="We will generate a linear time series with a sampling frequency of 4 hours, from 1975/05/09 to ..."><img alt="" src="../_images/sphx_glr_plot_synthetic_gaps_thumb.png" />
 <p><a class="reference internal" href="signals/plot_synthetic_gaps.html#sphx-glr-auto-examples-signals-plot-synthetic-gaps-py"><span class="std std-ref">Inserting gaps in a time series</span></a></p>
@@ -236,7 +236,7 @@ <h2>Synthetic Signal Generation<a class="headerlink" href="#synthetic-signal-gen
   <div class="sphx-glr-thumbnail-title">Wavy signal generation</div>
 </div></div></section>
 <section id="smoothing-functions">
-<h2>Smoothing Functions<a class="headerlink" href="#smoothing-functions" title="Permalink to this heading"></a></h2>
+<h2>Smoothing Functions<a class="headerlink" href="#smoothing-functions" title="Link to this heading"></a></h2>
 <p>Examples of how to use the smoothing functions included in Cognite Charts.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="Example of noise removal from time series data using the Savitzky-Golay smoother. We use data f..."><img alt="" src="../_images/sphx_glr_plot_sg_smooth_thumb.png" />
 <p><a class="reference internal" href="smooth/plot_sg_smooth.html#sphx-glr-auto-examples-smooth-plot-sg-smooth-py"><span class="std std-ref">Data smoothing with the Savitzky-Golay filter</span></a></p>
@@ -246,7 +246,7 @@ <h2>Smoothing Functions<a class="headerlink" href="#smoothing-functions" title="
   <div class="sphx-glr-thumbnail-title">Data smoothing with Moving Averages</div>
 </div></div></section>
 <section id="statistics">
-<h2>Statistics<a class="headerlink" href="#statistics" title="Permalink to this heading"></a></h2>
+<h2>Statistics<a class="headerlink" href="#statistics" title="Link to this heading"></a></h2>
 <p>Example on how to use statistics functions in InDSL.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="Example of outlier detection from time series data using DBSCAN and spline regression. We use d..."><img alt="" src="../_images/sphx_glr_plot_remove_outliers_thumb.png" />
 <p><a class="reference internal" href="statistics/plot_remove_outliers.html#sphx-glr-auto-examples-statistics-plot-remove-outliers-py"><span class="std std-ref">Outlier detection with DBSCAN and spline regression</span></a></p>
@@ -262,14 +262,14 @@ <h2>Statistics<a class="headerlink" href="#statistics" title="Permalink to this
   <div class="sphx-glr-thumbnail-title">Outlier detection with DBSCAN and spline regression 002</div>
 </div></div></section>
 <section id="sustainability-functions">
-<h2>Sustainability Functions<a class="headerlink" href="#sustainability-functions" title="Permalink to this heading"></a></h2>
+<h2>Sustainability Functions<a class="headerlink" href="#sustainability-functions" title="Link to this heading"></a></h2>
 <p>Examples of how to use the sustainability functions.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="Given the power consumption of a process unit and data regarding the emissions and cost factors..."><img alt="" src="../_images/sphx_glr_plot_cumulative_co2_thumb.png" />
 <p><a class="reference internal" href="sustainability/plot_cumulative_co2.html#sphx-glr-auto-examples-sustainability-plot-cumulative-co2-py"><span class="std std-ref">Cumulative CO2 Production and Cost</span></a></p>
   <div class="sphx-glr-thumbnail-title">Cumulative CO2 Production and Cost</div>
 </div></div></section>
 <section id="function-versioning">
-<h2>Function versioning<a class="headerlink" href="#function-versioning" title="Permalink to this heading"></a></h2>
+<h2>Function versioning<a class="headerlink" href="#function-versioning" title="Link to this heading"></a></h2>
 <p>Example on how to implement versions of a function in InDSL.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="InDSL comes with the :pyindsl.versioning module, which allows to implement multiple versions of..."><img alt="" src="../_images/sphx_glr_versioned_function_thumb.png" />
 <p><a class="reference internal" href="versioning/versioned_function.html#sphx-glr-auto-examples-versioning-versioned-function-py"><span class="std std-ref">Function versioning</span></a></p>
diff --git a/docs/auto_examples/numerical_calculus/index.html b/docs/auto_examples/numerical_calculus/index.html
index 6f795c39..3e07f96b 100644
--- a/docs/auto_examples/numerical_calculus/index.html
+++ b/docs/auto_examples/numerical_calculus/index.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -118,7 +118,7 @@
            <div itemprop="articleBody">
              
   <section id="numerical-calculus">
-<span id="sphx-glr-auto-examples-numerical-calculus"></span><h1>Numerical Calculus<a class="headerlink" href="#numerical-calculus" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-numerical-calculus"></span><h1>Numerical Calculus<a class="headerlink" href="#numerical-calculus" title="Link to this heading"></a></h1>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="In this example a synthetic time series is generated with a certain skewness (to make it more i..."><img alt="" src="../../_images/sphx_glr_plot_sliding_window_integration_thumb.png" />
 <p><a class="reference internal" href="plot_sliding_window_integration.html#sphx-glr-auto-examples-numerical-calculus-plot-sliding-window-integration-py"><span class="std std-ref">Sliding window integration</span></a></p>
   <div class="sphx-glr-thumbnail-title">Sliding window integration</div>
diff --git a/docs/auto_examples/numerical_calculus/plot_sliding_window_integration.html b/docs/auto_examples/numerical_calculus/plot_sliding_window_integration.html
index d16b6d21..3696cad8 100644
--- a/docs/auto_examples/numerical_calculus/plot_sliding_window_integration.html
+++ b/docs/auto_examples/numerical_calculus/plot_sliding_window_integration.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -124,7 +124,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="sliding-window-integration">
-<span id="sphx-glr-auto-examples-numerical-calculus-plot-sliding-window-integration-py"></span><h1>Sliding window integration<a class="headerlink" href="#sliding-window-integration" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-numerical-calculus-plot-sliding-window-integration-py"></span><h1>Sliding window integration<a class="headerlink" href="#sliding-window-integration" title="Link to this heading"></a></h1>
 <p>In this example a synthetic time series is generated with a certain skewness (to make it more interesting) and a use
 the sliding window integration with  a integrand rate of 1 hour. In other words, carry out a sliding window
 integration of the data over 1 hour periods.</p>
diff --git a/docs/auto_examples/numerical_calculus/sg_execution_times.html b/docs/auto_examples/numerical_calculus/sg_execution_times.html
index 830cf26e..17a2c743 100644
--- a/docs/auto_examples/numerical_calculus/sg_execution_times.html
+++ b/docs/auto_examples/numerical_calculus/sg_execution_times.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -113,7 +113,7 @@
            <div itemprop="articleBody">
              
   <section id="computation-times">
-<span id="sphx-glr-auto-examples-numerical-calculus-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-numerical-calculus-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
 <p><strong>00:04.154</strong> total execution time for <strong>auto_examples_numerical_calculus</strong> files:</p>
 <table class="docutils align-default">
 <tbody>
diff --git a/docs/auto_examples/oil_and_gas/index.html b/docs/auto_examples/oil_and_gas/index.html
index a1e053ee..85a7e004 100644
--- a/docs/auto_examples/oil_and_gas/index.html
+++ b/docs/auto_examples/oil_and_gas/index.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -122,7 +122,7 @@
            <div itemprop="articleBody">
              
   <section id="oil-and-gas-functions">
-<span id="sphx-glr-auto-examples-oil-and-gas"></span><h1>Oil and Gas Functions<a class="headerlink" href="#oil-and-gas-functions" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-oil-and-gas"></span><h1>Oil and Gas Functions<a class="headerlink" href="#oil-and-gas-functions" title="Link to this heading"></a></h1>
 <p>Examples of algorithms used in the Oil and Gas industry.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="The data is from an unnamed well in the form of a pickle file. The data is a dataframe that con..."><img alt="" src="../../_images/sphx_glr_plot_well_prod_status_thumb.png" />
 <p><a class="reference internal" href="plot_well_prod_status.html#sphx-glr-auto-examples-oil-and-gas-plot-well-prod-status-py"><span class="std std-ref">Check for the production status of a well</span></a></p>
diff --git a/docs/auto_examples/oil_and_gas/plot_gas_density_calcs.html b/docs/auto_examples/oil_and_gas/plot_gas_density_calcs.html
index aaca66ba..02935e0f 100644
--- a/docs/auto_examples/oil_and_gas/plot_gas_density_calcs.html
+++ b/docs/auto_examples/oil_and_gas/plot_gas_density_calcs.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -128,7 +128,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="calculation-of-gas-density">
-<span id="sphx-glr-auto-examples-oil-and-gas-plot-gas-density-calcs-py"></span><h1>Calculation of gas density<a class="headerlink" href="#calculation-of-gas-density" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-oil-and-gas-plot-gas-density-calcs-py"></span><h1>Calculation of gas density<a class="headerlink" href="#calculation-of-gas-density" title="Link to this heading"></a></h1>
 <p>Gas density is calculated using real gas equations from input pressure, temperature and specific gravity of gas.
 The compressibility factor is calculated explicitly (Beggs and Brill - 1973) for the pressure and temperature combinations.
 The plot shows the variation of the gas density for methane gas (SG = 0.55) with varying temperature and pressure.</p>
diff --git a/docs/auto_examples/oil_and_gas/plot_live_fluid_properties.html b/docs/auto_examples/oil_and_gas/plot_live_fluid_properties.html
index 6cd2bcec..6d0f9ab8 100644
--- a/docs/auto_examples/oil_and_gas/plot_live_fluid_properties.html
+++ b/docs/auto_examples/oil_and_gas/plot_live_fluid_properties.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -128,7 +128,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="calculate-fluid-properties-given-pressure-and-temperature">
-<span id="sphx-glr-auto-examples-oil-and-gas-plot-live-fluid-properties-py"></span><h1>Calculate fluid properties given pressure and temperature<a class="headerlink" href="#calculate-fluid-properties-given-pressure-and-temperature" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-oil-and-gas-plot-live-fluid-properties-py"></span><h1>Calculate fluid properties given pressure and temperature<a class="headerlink" href="#calculate-fluid-properties-given-pressure-and-temperature" title="Link to this heading"></a></h1>
 <p>The calculation of fluid properties is a fundamental component of mass balance and other methods of conservation.
 The goal of this feature is to calculate the fluid properties given the pressure and temperature conditions and
 the composition of the fluid itself. Equation of state simulators output a fluid file that is a table of the fluid
diff --git a/docs/auto_examples/oil_and_gas/plot_shut_in_detector.html b/docs/auto_examples/oil_and_gas/plot_shut_in_detector.html
index e114d634..db33c5c9 100644
--- a/docs/auto_examples/oil_and_gas/plot_shut_in_detector.html
+++ b/docs/auto_examples/oil_and_gas/plot_shut_in_detector.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -128,7 +128,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="detection-of-valve-shut-in-state">
-<span id="sphx-glr-auto-examples-oil-and-gas-plot-shut-in-detector-py"></span><h1>Detection of valve shut-in state<a class="headerlink" href="#detection-of-valve-shut-in-state" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-oil-and-gas-plot-shut-in-detector-py"></span><h1>Detection of valve shut-in state<a class="headerlink" href="#detection-of-valve-shut-in-state" title="Link to this heading"></a></h1>
 <p>We use data from an emergency shut-down valve sensor on a compressor. The figure shows reading from the valve and the
 detected open/close state for shut-in durations of at least 6 and 24 hours in duration.</p>
 <img src="../../_images/sphx_glr_plot_shut_in_detector_001.png" srcset="../../_images/sphx_glr_plot_shut_in_detector_001.png" alt="Detection of State for Emergency Shut-in Valve" class = "sphx-glr-single-img"/><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">os</span>
diff --git a/docs/auto_examples/oil_and_gas/plot_shut_in_variables.html b/docs/auto_examples/oil_and_gas/plot_shut_in_variables.html
index 1e9421dc..8946bcde 100644
--- a/docs/auto_examples/oil_and_gas/plot_shut_in_variables.html
+++ b/docs/auto_examples/oil_and_gas/plot_shut_in_variables.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -128,7 +128,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="calculation-of-shut-in-pressure">
-<span id="sphx-glr-auto-examples-oil-and-gas-plot-shut-in-variables-py"></span><h1>Calculation of shut-in pressure<a class="headerlink" href="#calculation-of-shut-in-pressure" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-oil-and-gas-plot-shut-in-variables-py"></span><h1>Calculation of shut-in pressure<a class="headerlink" href="#calculation-of-shut-in-pressure" title="Link to this heading"></a></h1>
 <p>In reservoir and production engineering, knowledge of the shut-in pressure can help estimate reservoir properties, drawdown and
 productivity index. In this example, we use data from the bottom-hole pressure signal to calculate shut-in pressure after 6 and
 24 hrs of the shut-in. The CSV file also contains a column with binary signal obtained from the shut-in detector. The signal was
diff --git a/docs/auto_examples/oil_and_gas/plot_well_prod_status.html b/docs/auto_examples/oil_and_gas/plot_well_prod_status.html
index 295f08b8..266ce790 100644
--- a/docs/auto_examples/oil_and_gas/plot_well_prod_status.html
+++ b/docs/auto_examples/oil_and_gas/plot_well_prod_status.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -128,7 +128,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="check-for-the-production-status-of-a-well">
-<span id="sphx-glr-auto-examples-oil-and-gas-plot-well-prod-status-py"></span><h1>Check for the production status of a well<a class="headerlink" href="#check-for-the-production-status-of-a-well" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-oil-and-gas-plot-well-prod-status-py"></span><h1>Check for the production status of a well<a class="headerlink" href="#check-for-the-production-status-of-a-well" title="Link to this heading"></a></h1>
 <p>The data is from an unnamed well in the form of a pickle file. The data is a dataframe that consists of a time
 series of master, wing and choke valves. The duration of the data is about 50 days. The figure shows the time
 series of the valves and the output of the function which is the production status of the well (0 is OFF and 1
diff --git a/docs/auto_examples/oil_and_gas/sg_execution_times.html b/docs/auto_examples/oil_and_gas/sg_execution_times.html
index e811f690..02718893 100644
--- a/docs/auto_examples/oil_and_gas/sg_execution_times.html
+++ b/docs/auto_examples/oil_and_gas/sg_execution_times.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -113,7 +113,7 @@
            <div itemprop="articleBody">
              
   <section id="computation-times">
-<span id="sphx-glr-auto-examples-oil-and-gas-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-oil-and-gas-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
 <p><strong>00:00.385</strong> total execution time for <strong>auto_examples_oil_and_gas</strong> files:</p>
 <table class="docutils align-default">
 <tbody>
diff --git a/docs/auto_examples/reindex/index.html b/docs/auto_examples/reindex/index.html
index cddc8b89..1c03434b 100644
--- a/docs/auto_examples/reindex/index.html
+++ b/docs/auto_examples/reindex/index.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -113,7 +113,7 @@
            <div itemprop="articleBody">
              
   <section id="reindex-function">
-<span id="sphx-glr-auto-examples-reindex"></span><h1>Reindex function<a class="headerlink" href="#reindex-function" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-reindex"></span><h1>Reindex function<a class="headerlink" href="#reindex-function" title="Link to this heading"></a></h1>
 <p>Example on how to reindex two time-series.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="When working with multiple time series it is often important that time stamps are aligned. Even..."><img alt="" src="../../_images/sphx_glr_plot_pearson_correlation_thumb.png" />
 <p><a class="reference internal" href="plot_pearson_correlation.html#sphx-glr-auto-examples-reindex-plot-pearson-correlation-py"><span class="std std-ref">Re-indexing and compute Pearson correlation coefficient</span></a></p>
diff --git a/docs/auto_examples/reindex/plot_pearson_correlation.html b/docs/auto_examples/reindex/plot_pearson_correlation.html
index bd8fdec2..dd09c254 100644
--- a/docs/auto_examples/reindex/plot_pearson_correlation.html
+++ b/docs/auto_examples/reindex/plot_pearson_correlation.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -118,7 +118,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="re-indexing-and-compute-pearson-correlation-coefficient">
-<span id="sphx-glr-auto-examples-reindex-plot-pearson-correlation-py"></span><h1>Re-indexing and compute Pearson correlation coefficient<a class="headerlink" href="#re-indexing-and-compute-pearson-correlation-coefficient" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-reindex-plot-pearson-correlation-py"></span><h1>Re-indexing and compute Pearson correlation coefficient<a class="headerlink" href="#re-indexing-and-compute-pearson-correlation-coefficient" title="Link to this heading"></a></h1>
 <p>When working with multiple time series it is often important that time stamps are aligned.
 Even simple operations, like addition and subtraction of time series, require time stamp alignment. In this example, we demonstrate how re-indexing can be used to align time stamps.</p>
 <p>The aim of this example is to compute the Pearson correlation of two compressor suction pressure sensors. The pressure sensors have non-uniform sampling frequency,
diff --git a/docs/auto_examples/reindex/sg_execution_times.html b/docs/auto_examples/reindex/sg_execution_times.html
index fc0a878e..aff7074f 100644
--- a/docs/auto_examples/reindex/sg_execution_times.html
+++ b/docs/auto_examples/reindex/sg_execution_times.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -113,7 +113,7 @@
            <div itemprop="articleBody">
              
   <section id="computation-times">
-<span id="sphx-glr-auto-examples-reindex-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-reindex-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
 <p><strong>00:00.371</strong> total execution time for <strong>auto_examples_reindex</strong> files:</p>
 <table class="docutils align-default">
 <tbody>
diff --git a/docs/auto_examples/resample/index.html b/docs/auto_examples/resample/index.html
index a101e73c..c7941a9b 100644
--- a/docs/auto_examples/resample/index.html
+++ b/docs/auto_examples/resample/index.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -118,7 +118,7 @@
            <div itemprop="articleBody">
              
   <section id="resampling-functions">
-<span id="sphx-glr-auto-examples-resample"></span><h1>Resampling Functions<a class="headerlink" href="#resampling-functions" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-resample"></span><h1>Resampling Functions<a class="headerlink" href="#resampling-functions" title="Link to this heading"></a></h1>
 <p>Examples of how to use the resampling functions included in Cognite Charts.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="Example of aggregating (grouping) data on regions defined by a series with integers denoting di..."><img alt="" src="../../_images/sphx_glr_plot_group_by_region_thumb.png" />
 <p><a class="reference internal" href="plot_group_by_region.html#sphx-glr-auto-examples-resample-plot-group-by-region-py"><span class="std std-ref">Group by Region</span></a></p>
diff --git a/docs/auto_examples/resample/plot_group_by_region.html b/docs/auto_examples/resample/plot_group_by_region.html
index 2dab4823..382f0f37 100644
--- a/docs/auto_examples/resample/plot_group_by_region.html
+++ b/docs/auto_examples/resample/plot_group_by_region.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -124,7 +124,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="group-by-region">
-<span id="sphx-glr-auto-examples-resample-plot-group-by-region-py"></span><h1>Group by Region<a class="headerlink" href="#group-by-region" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-resample-plot-group-by-region-py"></span><h1>Group by Region<a class="headerlink" href="#group-by-region" title="Link to this heading"></a></h1>
 <p>Example of aggregating (grouping) data on regions defined by a series with integers denoting different states.</p>
 <p>In the figure below we are running a Steady State Detection algorithm that produces a series with two states:
 0 - transient region, 1 - steady region. This binary series is used to identify the state of interest. Then we run the
@@ -187,7 +187,7 @@
 <span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
 </pre></div>
 </div>
-<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> ( 0 minutes  8.339 seconds)</p>
+<p class="sphx-glr-timing"><strong>Total running time of the script:</strong> (0 minutes 50.145 seconds)</p>
 <div class="sphx-glr-footer sphx-glr-footer-example docutils container" id="sphx-glr-download-auto-examples-resample-plot-group-by-region-py">
 <div class="sphx-glr-download sphx-glr-download-python docutils container">
 <p><a class="reference download internal" download="" href="../../_downloads/9e9a88679c1f27d662fbc83caabd3ec9/plot_group_by_region.py"><code class="xref download docutils literal notranslate"><span class="pre">Download</span> <span class="pre">Python</span> <span class="pre">source</span> <span class="pre">code:</span> <span class="pre">plot_group_by_region.py</span></code></a></p>
diff --git a/docs/auto_examples/resample/sg_execution_times.html b/docs/auto_examples/resample/sg_execution_times.html
index d25200ba..0faee80d 100644
--- a/docs/auto_examples/resample/sg_execution_times.html
+++ b/docs/auto_examples/resample/sg_execution_times.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -113,12 +113,12 @@
            <div itemprop="articleBody">
              
   <section id="computation-times">
-<span id="sphx-glr-auto-examples-resample-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this heading"></a></h1>
-<p><strong>00:08.339</strong> total execution time for <strong>auto_examples_resample</strong> files:</p>
+<span id="sphx-glr-auto-examples-resample-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
+<p><strong>00:50.145</strong> total execution time for <strong>auto_examples_resample</strong> files:</p>
 <table class="docutils align-default">
 <tbody>
 <tr class="row-odd"><td><p><a class="reference internal" href="plot_group_by_region.html#sphx-glr-auto-examples-resample-plot-group-by-region-py"><span class="std std-ref">Group by Region</span></a> (<code class="docutils literal notranslate"><span class="pre">plot_group_by_region.py</span></code>)</p></td>
-<td><p>00:08.339</p></td>
+<td><p>00:50.145</p></td>
 <td><p>0.0 MB</p></td>
 </tr>
 </tbody>
diff --git a/docs/auto_examples/signals/index.html b/docs/auto_examples/signals/index.html
index 2c4b1c7e..bb45a32f 100644
--- a/docs/auto_examples/signals/index.html
+++ b/docs/auto_examples/signals/index.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -120,7 +120,7 @@
            <div itemprop="articleBody">
              
   <section id="synthetic-signal-generation">
-<span id="sphx-glr-auto-examples-signals"></span><h1>Synthetic Signal Generation<a class="headerlink" href="#synthetic-signal-generation" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-signals"></span><h1>Synthetic Signal Generation<a class="headerlink" href="#synthetic-signal-generation" title="Link to this heading"></a></h1>
 <p>Examples of how to generate synthetic signals.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="We will generate a linear time series with a sampling frequency of 4 hours, from 1975/05/09 to ..."><img alt="" src="../../_images/sphx_glr_plot_synthetic_gaps_thumb.png" />
 <p><a class="reference internal" href="plot_synthetic_gaps.html#sphx-glr-auto-examples-signals-plot-synthetic-gaps-py"><span class="std std-ref">Inserting gaps in a time series</span></a></p>
diff --git a/docs/auto_examples/signals/plot_synthetic_gaps.html b/docs/auto_examples/signals/plot_synthetic_gaps.html
index 50557368..86595bc1 100644
--- a/docs/auto_examples/signals/plot_synthetic_gaps.html
+++ b/docs/auto_examples/signals/plot_synthetic_gaps.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -126,7 +126,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="inserting-gaps-in-a-time-series">
-<span id="sphx-glr-auto-examples-signals-plot-synthetic-gaps-py"></span><h1>Inserting gaps in a time series<a class="headerlink" href="#inserting-gaps-in-a-time-series" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-signals-plot-synthetic-gaps-py"></span><h1>Inserting gaps in a time series<a class="headerlink" href="#inserting-gaps-in-a-time-series" title="Link to this heading"></a></h1>
 <p>We will generate a linear time series with a sampling frequency of 4 hours, from 1975/05/09 to 1975/05/20,
 and remove 35% of the data using three different methods:</p>
 <blockquote>
diff --git a/docs/auto_examples/signals/plot_univariate_polynomial.html b/docs/auto_examples/signals/plot_univariate_polynomial.html
index c6c9b1b3..3436b87b 100644
--- a/docs/auto_examples/signals/plot_univariate_polynomial.html
+++ b/docs/auto_examples/signals/plot_univariate_polynomial.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -126,7 +126,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="univariate-polynomial">
-<span id="sphx-glr-auto-examples-signals-plot-univariate-polynomial-py"></span><h1>Univariate Polynomial<a class="headerlink" href="#univariate-polynomial" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-signals-plot-univariate-polynomial-py"></span><h1>Univariate Polynomial<a class="headerlink" href="#univariate-polynomial" title="Link to this heading"></a></h1>
 <p>We will generate three univariate polynomials of a given time series. The order of the
 polynomials will be 1, 2 and 3, respectively.</p>
 <img src="../../_images/sphx_glr_plot_univariate_polynomial_001.png" srcset="../../_images/sphx_glr_plot_univariate_polynomial_001.png" alt="Univariate Polynomial" class = "sphx-glr-single-img"/><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
diff --git a/docs/auto_examples/signals/plot_wavy_signals.html b/docs/auto_examples/signals/plot_wavy_signals.html
index 508a40fc..1c74bd8d 100644
--- a/docs/auto_examples/signals/plot_wavy_signals.html
+++ b/docs/auto_examples/signals/plot_wavy_signals.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -130,7 +130,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="wavy-signal-generation">
-<span id="sphx-glr-auto-examples-signals-plot-wavy-signals-py"></span><h1>Wavy signal generation<a class="headerlink" href="#wavy-signal-generation" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-signals-plot-wavy-signals-py"></span><h1>Wavy signal generation<a class="headerlink" href="#wavy-signal-generation" title="Link to this heading"></a></h1>
 <p>Sinusoidal waves are very useful in signal generation. The sine wave equation can be used to generate a simple wave
 (wave 1 in the top left panel) or complex signals in a few steps. The figure below shows the generation of four
 different waves that are recursively added together to create an increasingly complex signal. And, combining it with
@@ -196,7 +196,7 @@
 </pre></div>
 </div>
 <img src="../../_images/sphx_glr_plot_wavy_signals_001.png" srcset="../../_images/sphx_glr_plot_wavy_signals_001.png" alt="Generating and Adding Sinusoidal Signals" class = "sphx-glr-single-img"/><section id="add-white-noise">
-<span id="addwhitenoise"></span><h2>Add white noise<a class="headerlink" href="#add-white-noise" title="Permalink to this heading"></a></h2>
+<span id="addwhitenoise"></span><h2>Add white noise<a class="headerlink" href="#add-white-noise" title="Link to this heading"></a></h2>
 <p>To make the final signal more realistic, let’s add white noise to it. We
 can use the <a class="reference internal" href="../../signals.html#indsl.signals.noise.white_noise" title="indsl.signals.noise.white_noise"><code class="xref py py-meth docutils literal notranslate"><span class="pre">indsl.signals.noise.white_noise()</span></code></a> method. It will estimate
 the power (i.e. variance) of the signal and add white (random) noise to it,
@@ -209,7 +209,7 @@
 </div>
 <img src="../../_images/sphx_glr_plot_wavy_signals_002.png" srcset="../../_images/sphx_glr_plot_wavy_signals_002.png" alt="Signal with White Noise" class = "sphx-glr-single-img"/></section>
 <section id="add-wave-with-brownian-noise">
-<span id="addwavewithbrowniannoise"></span><h2>Add wave with brownian noise<a class="headerlink" href="#add-wave-with-brownian-noise" title="Permalink to this heading"></a></h2>
+<span id="addwavewithbrowniannoise"></span><h2>Add wave with brownian noise<a class="headerlink" href="#add-wave-with-brownian-noise" title="Link to this heading"></a></h2>
 <p>We can use the <code class="xref py py-meth docutils literal notranslate"><span class="pre">indsl.signals.noise.wave_with_brownian_noise()</span></code> method.
 It produces a sinusoidal signal with brownian noise.</p>
 <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">fig</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">tight_layout</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">figsize</span><span class="o">=</span><span class="p">[</span><span class="mi">9</span><span class="p">,</span> <span class="mi">6</span><span class="p">])</span>
diff --git a/docs/auto_examples/signals/sg_execution_times.html b/docs/auto_examples/signals/sg_execution_times.html
index c4712ae7..cbc1c5ee 100644
--- a/docs/auto_examples/signals/sg_execution_times.html
+++ b/docs/auto_examples/signals/sg_execution_times.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -113,7 +113,7 @@
            <div itemprop="articleBody">
              
   <section id="computation-times">
-<span id="sphx-glr-auto-examples-signals-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-signals-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
 <p><strong>00:03.237</strong> total execution time for <strong>auto_examples_signals</strong> files:</p>
 <table class="docutils align-default">
 <tbody>
diff --git a/docs/auto_examples/smooth/index.html b/docs/auto_examples/smooth/index.html
index 3a7ae625..deb2134f 100644
--- a/docs/auto_examples/smooth/index.html
+++ b/docs/auto_examples/smooth/index.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -119,7 +119,7 @@
            <div itemprop="articleBody">
              
   <section id="smoothing-functions">
-<span id="sphx-glr-auto-examples-smooth"></span><h1>Smoothing Functions<a class="headerlink" href="#smoothing-functions" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-smooth"></span><h1>Smoothing Functions<a class="headerlink" href="#smoothing-functions" title="Link to this heading"></a></h1>
 <p>Examples of how to use the smoothing functions included in Cognite Charts.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="Example of noise removal from time series data using the Savitzky-Golay smoother. We use data f..."><img alt="" src="../../_images/sphx_glr_plot_sg_smooth_thumb.png" />
 <p><a class="reference internal" href="plot_sg_smooth.html#sphx-glr-auto-examples-smooth-plot-sg-smooth-py"><span class="std std-ref">Data smoothing with the Savitzky-Golay filter</span></a></p>
diff --git a/docs/auto_examples/smooth/plot_ma.html b/docs/auto_examples/smooth/plot_ma.html
index 511ebd04..88e5064f 100644
--- a/docs/auto_examples/smooth/plot_ma.html
+++ b/docs/auto_examples/smooth/plot_ma.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -125,7 +125,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="data-smoothing-with-moving-averages">
-<span id="sphx-glr-auto-examples-smooth-plot-ma-py"></span><h1>Data smoothing with Moving Averages<a class="headerlink" href="#data-smoothing-with-moving-averages" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-smooth-plot-ma-py"></span><h1>Data smoothing with Moving Averages<a class="headerlink" href="#data-smoothing-with-moving-averages" title="Link to this heading"></a></h1>
 <p>Example of noise removal from time series data using the Simple Moving Average (SMA), Linear Weighted Moving Average
 (LWMA) and Exponential Weighted Moving Average smoother (EWMA).
 We use data from volumetric flow rate (m3/h) sensor with non-uniform sampling frequency measuring flow into
diff --git a/docs/auto_examples/smooth/plot_sg_smooth.html b/docs/auto_examples/smooth/plot_sg_smooth.html
index 15a7a496..eef73da7 100644
--- a/docs/auto_examples/smooth/plot_sg_smooth.html
+++ b/docs/auto_examples/smooth/plot_sg_smooth.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -125,7 +125,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="data-smoothing-with-the-savitzky-golay-filter">
-<span id="sphx-glr-auto-examples-smooth-plot-sg-smooth-py"></span><h1>Data smoothing with the Savitzky-Golay filter<a class="headerlink" href="#data-smoothing-with-the-savitzky-golay-filter" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-smooth-plot-sg-smooth-py"></span><h1>Data smoothing with the Savitzky-Golay filter<a class="headerlink" href="#data-smoothing-with-the-savitzky-golay-filter" title="Link to this heading"></a></h1>
 <p>Example of noise removal from time series data using the Savitzky-Golay smoother.
 We use data from volumetric flow rate (m3/h) sensor with non-uniform sampling frequency measuring flow into
 a compressor.</p>
diff --git a/docs/auto_examples/smooth/sg_execution_times.html b/docs/auto_examples/smooth/sg_execution_times.html
index f5bb4370..93bda14f 100644
--- a/docs/auto_examples/smooth/sg_execution_times.html
+++ b/docs/auto_examples/smooth/sg_execution_times.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -113,7 +113,7 @@
            <div itemprop="articleBody">
              
   <section id="computation-times">
-<span id="sphx-glr-auto-examples-smooth-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-smooth-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
 <p><strong>00:01.717</strong> total execution time for <strong>auto_examples_smooth</strong> files:</p>
 <table class="docutils align-default">
 <tbody>
diff --git a/docs/auto_examples/statistics/index.html b/docs/auto_examples/statistics/index.html
index 44724c06..24b1d2ea 100644
--- a/docs/auto_examples/statistics/index.html
+++ b/docs/auto_examples/statistics/index.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -121,7 +121,7 @@
            <div itemprop="articleBody">
              
   <section id="statistics">
-<span id="sphx-glr-auto-examples-statistics"></span><h1>Statistics<a class="headerlink" href="#statistics" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-statistics"></span><h1>Statistics<a class="headerlink" href="#statistics" title="Link to this heading"></a></h1>
 <p>Example on how to use statistics functions in InDSL.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="Example of outlier detection from time series data using DBSCAN and spline regression. We use d..."><img alt="" src="../../_images/sphx_glr_plot_remove_outliers_thumb.png" />
 <p><a class="reference internal" href="plot_remove_outliers.html#sphx-glr-auto-examples-statistics-plot-remove-outliers-py"><span class="std std-ref">Outlier detection with DBSCAN and spline regression</span></a></p>
diff --git a/docs/auto_examples/statistics/plot_detect_outliers_001.html b/docs/auto_examples/statistics/plot_detect_outliers_001.html
index 3aebd8f3..33110a47 100644
--- a/docs/auto_examples/statistics/plot_detect_outliers_001.html
+++ b/docs/auto_examples/statistics/plot_detect_outliers_001.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -127,7 +127,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="outlier-detection-with-dbscan-and-spline-regression-001">
-<span id="sphx-glr-auto-examples-statistics-plot-detect-outliers-001-py"></span><h1>Outlier detection with DBSCAN and spline regression 001<a class="headerlink" href="#outlier-detection-with-dbscan-and-spline-regression-001" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-statistics-plot-detect-outliers-001-py"></span><h1>Outlier detection with DBSCAN and spline regression 001<a class="headerlink" href="#outlier-detection-with-dbscan-and-spline-regression-001" title="Link to this heading"></a></h1>
 <p>Example of outlier detection in a randomly generated time series data using DBSCAN and spline regression.
 The resulting figure shows outlier indicator time series generated with a time window of 60min plotted on the original
 time series.</p>
diff --git a/docs/auto_examples/statistics/plot_detect_outliers_002.html b/docs/auto_examples/statistics/plot_detect_outliers_002.html
index 1f288940..df9a4264 100644
--- a/docs/auto_examples/statistics/plot_detect_outliers_002.html
+++ b/docs/auto_examples/statistics/plot_detect_outliers_002.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -127,7 +127,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="outlier-detection-with-dbscan-and-spline-regression-002">
-<span id="sphx-glr-auto-examples-statistics-plot-detect-outliers-002-py"></span><h1>Outlier detection with DBSCAN and spline regression 002<a class="headerlink" href="#outlier-detection-with-dbscan-and-spline-regression-002" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-statistics-plot-detect-outliers-002-py"></span><h1>Outlier detection with DBSCAN and spline regression 002<a class="headerlink" href="#outlier-detection-with-dbscan-and-spline-regression-002" title="Link to this heading"></a></h1>
 <p>Example of outlier detection in a randomly generated time series data using DBSCAN and spline regression.
 The resulting figure shows outliers generated with a time window of 60min marked on the original time series.</p>
 <img src="../../_images/sphx_glr_plot_detect_outliers_002_001.png" srcset="../../_images/sphx_glr_plot_detect_outliers_002_001.png" alt="Outlier identification for a time series for a duration of 60 minutes" class = "sphx-glr-single-img"/><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">datetime</span> <span class="kn">import</span> <span class="n">datetime</span><span class="p">,</span> <span class="n">timedelta</span>
diff --git a/docs/auto_examples/statistics/plot_pearson_correlation.html b/docs/auto_examples/statistics/plot_pearson_correlation.html
index c3084fc1..de731ee3 100644
--- a/docs/auto_examples/statistics/plot_pearson_correlation.html
+++ b/docs/auto_examples/statistics/plot_pearson_correlation.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -127,7 +127,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="pearson-correlation">
-<span id="sphx-glr-auto-examples-statistics-plot-pearson-correlation-py"></span><h1>Pearson correlation<a class="headerlink" href="#pearson-correlation" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-statistics-plot-pearson-correlation-py"></span><h1>Pearson correlation<a class="headerlink" href="#pearson-correlation" title="Link to this heading"></a></h1>
 <p>This example calculates the rolling pearson correlation coefficient between two synthetic timeseries.</p>
 <img src="../../_images/sphx_glr_plot_pearson_correlation_001.png" srcset="../../_images/sphx_glr_plot_pearson_correlation_001.png" alt="Time series, Correlation between time series" class = "sphx-glr-single-img"/><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
 <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
diff --git a/docs/auto_examples/statistics/plot_remove_outliers.html b/docs/auto_examples/statistics/plot_remove_outliers.html
index 4223c547..1fcc81da 100644
--- a/docs/auto_examples/statistics/plot_remove_outliers.html
+++ b/docs/auto_examples/statistics/plot_remove_outliers.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -127,7 +127,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="outlier-detection-with-dbscan-and-spline-regression">
-<span id="sphx-glr-auto-examples-statistics-plot-remove-outliers-py"></span><h1>Outlier detection with DBSCAN and spline regression<a class="headerlink" href="#outlier-detection-with-dbscan-and-spline-regression" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-statistics-plot-remove-outliers-py"></span><h1>Outlier detection with DBSCAN and spline regression<a class="headerlink" href="#outlier-detection-with-dbscan-and-spline-regression" title="Link to this heading"></a></h1>
 <p>Example of outlier detection from time series data using DBSCAN and spline regression.
 We use data from a compressor suction pressure sensor. The data is in barg units and resampled to 1 minute granularity.
 The figure shows the data without outliers considering a time window of 40min.</p>
diff --git a/docs/auto_examples/statistics/sg_execution_times.html b/docs/auto_examples/statistics/sg_execution_times.html
index 58dd994f..b614a16d 100644
--- a/docs/auto_examples/statistics/sg_execution_times.html
+++ b/docs/auto_examples/statistics/sg_execution_times.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -113,7 +113,7 @@
            <div itemprop="articleBody">
              
   <section id="computation-times">
-<span id="sphx-glr-auto-examples-statistics-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-statistics-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
 <p><strong>00:32.645</strong> total execution time for <strong>auto_examples_statistics</strong> files:</p>
 <table class="docutils align-default">
 <tbody>
diff --git a/docs/auto_examples/sustainability/index.html b/docs/auto_examples/sustainability/index.html
index cb01e7bd..d8eedf7c 100644
--- a/docs/auto_examples/sustainability/index.html
+++ b/docs/auto_examples/sustainability/index.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -118,7 +118,7 @@
            <div itemprop="articleBody">
              
   <section id="sustainability-functions">
-<span id="sphx-glr-auto-examples-sustainability"></span><h1>Sustainability Functions<a class="headerlink" href="#sustainability-functions" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-sustainability"></span><h1>Sustainability Functions<a class="headerlink" href="#sustainability-functions" title="Link to this heading"></a></h1>
 <p>Examples of how to use the sustainability functions.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="Given the power consumption of a process unit and data regarding the emissions and cost factors..."><img alt="" src="../../_images/sphx_glr_plot_cumulative_co2_thumb.png" />
 <p><a class="reference internal" href="plot_cumulative_co2.html#sphx-glr-auto-examples-sustainability-plot-cumulative-co2-py"><span class="std std-ref">Cumulative CO2 Production and Cost</span></a></p>
diff --git a/docs/auto_examples/sustainability/plot_cumulative_co2.html b/docs/auto_examples/sustainability/plot_cumulative_co2.html
index 4f7733e1..37dbf2a6 100644
--- a/docs/auto_examples/sustainability/plot_cumulative_co2.html
+++ b/docs/auto_examples/sustainability/plot_cumulative_co2.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -124,7 +124,7 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="cumulative-co2-production-and-cost">
-<span id="sphx-glr-auto-examples-sustainability-plot-cumulative-co2-py"></span><h1>Cumulative CO2 Production and Cost<a class="headerlink" href="#cumulative-co2-production-and-cost" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-sustainability-plot-cumulative-co2-py"></span><h1>Cumulative CO2 Production and Cost<a class="headerlink" href="#cumulative-co2-production-and-cost" title="Link to this heading"></a></h1>
 <p>Given the power consumption of a process unit and data regarding the emissions and cost factors, we can work out the total amount of
 CO2 produced and the cost associated with that. Here is an example using the power used by a gas compressor at the Valhall platform.</p>
 <img src="../../_images/sphx_glr_plot_cumulative_co2_001.png" srcset="../../_images/sphx_glr_plot_cumulative_co2_001.png" alt="Compressor Power Output, Rate of CO2 Production, Cumulative Sum of CO2 Production, Cumulative Cost of CO2" class = "sphx-glr-single-img"/><div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">os</span>
diff --git a/docs/auto_examples/sustainability/sg_execution_times.html b/docs/auto_examples/sustainability/sg_execution_times.html
index 1593833c..02378dfb 100644
--- a/docs/auto_examples/sustainability/sg_execution_times.html
+++ b/docs/auto_examples/sustainability/sg_execution_times.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -113,7 +113,7 @@
            <div itemprop="articleBody">
              
   <section id="computation-times">
-<span id="sphx-glr-auto-examples-sustainability-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-sustainability-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
 <p><strong>00:00.511</strong> total execution time for <strong>auto_examples_sustainability</strong> files:</p>
 <table class="docutils align-default">
 <tbody>
diff --git a/docs/auto_examples/versioning/index.html b/docs/auto_examples/versioning/index.html
index 247b35d7..e08c016e 100644
--- a/docs/auto_examples/versioning/index.html
+++ b/docs/auto_examples/versioning/index.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -118,7 +118,7 @@
            <div itemprop="articleBody">
              
   <section id="function-versioning">
-<span id="sphx-glr-auto-examples-versioning"></span><h1>Function versioning<a class="headerlink" href="#function-versioning" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-versioning"></span><h1>Function versioning<a class="headerlink" href="#function-versioning" title="Link to this heading"></a></h1>
 <p>Example on how to implement versions of a function in InDSL.</p>
 <div class="sphx-glr-thumbnails"><div class="sphx-glr-thumbcontainer" tooltip="InDSL comes with the :pyindsl.versioning module, which allows to implement multiple versions of..."><img alt="" src="../../_images/sphx_glr_versioned_function_thumb.png" />
 <p><a class="reference internal" href="versioned_function.html#sphx-glr-auto-examples-versioning-versioned-function-py"><span class="std std-ref">Function versioning</span></a></p>
diff --git a/docs/auto_examples/versioning/sg_execution_times.html b/docs/auto_examples/versioning/sg_execution_times.html
index 590b3931..bf0d843f 100644
--- a/docs/auto_examples/versioning/sg_execution_times.html
+++ b/docs/auto_examples/versioning/sg_execution_times.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" /> 
@@ -113,7 +113,7 @@
            <div itemprop="articleBody">
              
   <section id="computation-times">
-<span id="sphx-glr-auto-examples-versioning-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-versioning-sg-execution-times"></span><h1>Computation times<a class="headerlink" href="#computation-times" title="Link to this heading"></a></h1>
 <p><strong>00:01.270</strong> total execution time for <strong>auto_examples_versioning</strong> files:</p>
 <table class="docutils align-default">
 <tbody>
diff --git a/docs/auto_examples/versioning/versioned_function.html b/docs/auto_examples/versioning/versioned_function.html
index 452871da..53588f65 100644
--- a/docs/auto_examples/versioning/versioned_function.html
+++ b/docs/auto_examples/versioning/versioned_function.html
@@ -18,9 +18,9 @@
   
         <script src="../../_static/jquery.js?v=5d32c60e"></script>
         <script src="../../_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="../../" id="documentation_options" src="../../_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="../../_static/documentation_options.js?v=15c97ff8"></script>
         <script src="../../_static/doctools.js?v=888ff710"></script>
-        <script src="../../_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="../../_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="../../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../../genindex.html" />
     <link rel="search" title="Search" href="../../search.html" />
@@ -134,19 +134,19 @@
 to download the full example code</p>
 </div>
 <section class="sphx-glr-example-title" id="function-versioning">
-<span id="sphx-glr-auto-examples-versioning-versioned-function-py"></span><h1>Function versioning<a class="headerlink" href="#function-versioning" title="Permalink to this heading"></a></h1>
+<span id="sphx-glr-auto-examples-versioning-versioned-function-py"></span><h1>Function versioning<a class="headerlink" href="#function-versioning" title="Link to this heading"></a></h1>
 <p>InDSL comes with the <a class="reference internal" href="../../dev_tools.html#module-indsl.versioning" title="indsl.versioning"><code class="xref py py-mod docutils literal notranslate"><span class="pre">indsl.versioning</span></code></a> module, which allows to implement multiple versions of InDSL functions.
 As a library user, one can then select and execute a specific function version.</p>
 <section id="example">
-<h2>Example<a class="headerlink" href="#example" title="Permalink to this heading"></a></h2>
+<h2>Example<a class="headerlink" href="#example" title="Link to this heading"></a></h2>
 <p>In this example, we implement the <cite>abs_diff</cite> function, which computes the element-wise absolute difference of two time-series.
 We will first implement a naive version of that function, which we name version 1.0 (versioning in inDSL always starts with 1.0),
 followed by a more robust version 1.1.</p>
 </section>
 <section id="implementation">
-<h2>Implementation<a class="headerlink" href="#implementation" title="Permalink to this heading"></a></h2>
+<h2>Implementation<a class="headerlink" href="#implementation" title="Link to this heading"></a></h2>
 <section id="implementation-of-v1-0">
-<h3>Implementation of v1.0<a class="headerlink" href="#implementation-of-v1-0" title="Permalink to this heading"></a></h3>
+<h3>Implementation of v1.0<a class="headerlink" href="#implementation-of-v1-0" title="Link to this heading"></a></h3>
 <p>We begin with a simple implementation:</p>
 <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
 
@@ -185,7 +185,7 @@ <h3>Implementation of v1.0<a class="headerlink" href="#implementation-of-v1-0" t
 <p>Version 1.1 will fix this issue through a more robust implementation.</p>
 </section>
 <section id="implementation-of-v1-1">
-<h3>Implementation of v1.1<a class="headerlink" href="#implementation-of-v1-1" title="Permalink to this heading"></a></h3>
+<h3>Implementation of v1.1<a class="headerlink" href="#implementation-of-v1-1" title="Link to this heading"></a></h3>
 <p>Next, we implement the new version of the <cite>abs_diff</cite> and mark it as version 1.1.</p>
 <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="kn">from</span> <span class="nn">indsl.resample</span> <span class="kn">import</span> <span class="n">reindex</span>  <span class="c1"># noqa</span>
 
@@ -211,7 +211,7 @@ <h3>Implementation of v1.1<a class="headerlink" href="#implementation-of-v1-1" t
 </div>
 </section>
 <section id="getting-versioned-functions-and-their-versions">
-<h3>Getting versioned functions and their versions<a class="headerlink" href="#getting-versioned-functions-and-their-versions" title="Permalink to this heading"></a></h3>
+<h3>Getting versioned functions and their versions<a class="headerlink" href="#getting-versioned-functions-and-their-versions" title="Link to this heading"></a></h3>
 <p>We can get a list of all versioned functions with:</p>
 <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">versioning</span><span class="o">.</span><span class="n">get_registered_functions</span><span class="p">()</span>
 </pre></div>
@@ -230,7 +230,7 @@ <h3>Getting versioned functions and their versions<a class="headerlink" href="#g
 </div>
 </section>
 <section id="running-versioned-functions">
-<h3>Running versioned functions<a class="headerlink" href="#running-versioned-functions" title="Permalink to this heading"></a></h3>
+<h3>Running versioned functions<a class="headerlink" href="#running-versioned-functions" title="Link to this heading"></a></h3>
 <p>We can access and run specific function version with the <cite>versioning.get</cite> command:</p>
 <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">abs_diff_v1</span> <span class="o">=</span> <span class="n">versioning</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">&quot;abs_diff&quot;</span><span class="p">,</span> <span class="n">version</span><span class="o">=</span><span class="s2">&quot;1.0&quot;</span><span class="p">)</span>
 <span class="n">abs_diff_v1</span><span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">)</span>
diff --git a/docs/code_of_conduct.html b/docs/code_of_conduct.html
index 01674e18..00081aa0 100644
--- a/docs/code_of_conduct.html
+++ b/docs/code_of_conduct.html
@@ -18,9 +18,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
@@ -115,7 +115,7 @@
            <div itemprop="articleBody">
              
   <section id="code-of-conduct">
-<h1>Code of Conduct<a class="headerlink" href="#code-of-conduct" title="Permalink to this heading"></a></h1>
+<h1>Code of Conduct<a class="headerlink" href="#code-of-conduct" title="Link to this heading"></a></h1>
 <div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Contributor Covenant Code of Conduct</span>
 
 <span class="c1">## Our Pledge</span>
@@ -178,7 +178,7 @@ <h1>Code of Conduct<a class="headerlink" href="#code-of-conduct" title="Permalin
 
 <span class="n">Instances</span> <span class="n">of</span> <span class="n">abusive</span><span class="p">,</span> <span class="n">harassing</span><span class="p">,</span> <span class="ow">or</span> <span class="n">otherwise</span> <span class="n">unacceptable</span> <span class="n">behavior</span> <span class="n">may</span> <span class="n">be</span>
 <span class="n">reported</span> <span class="n">to</span> <span class="n">the</span> <span class="n">community</span> <span class="n">leaders</span> <span class="n">responsible</span> <span class="k">for</span> <span class="n">enforcement</span> <span class="n">at</span>
-<span class="n">cristina</span><span class="o">.</span><span class="n">teixidor</span><span class="nd">@cognite</span><span class="o">.</span><span class="n">com</span><span class="o">.</span>
+<span class="n">support</span><span class="nd">@cognite</span><span class="o">.</span><span class="n">com</span><span class="o">.</span>
 <span class="n">All</span> <span class="n">complaints</span> <span class="n">will</span> <span class="n">be</span> <span class="n">reviewed</span> <span class="ow">and</span> <span class="n">investigated</span> <span class="n">promptly</span> <span class="ow">and</span> <span class="n">fairly</span><span class="o">.</span>
 
 <span class="n">All</span> <span class="n">community</span> <span class="n">leaders</span> <span class="n">are</span> <span class="n">obligated</span> <span class="n">to</span> <span class="n">respect</span> <span class="n">the</span> <span class="n">privacy</span> <span class="ow">and</span> <span class="n">security</span> <span class="n">of</span> <span class="n">the</span>
diff --git a/docs/contribute.html b/docs/contribute.html
index 45418bb0..9507df1d 100644
--- a/docs/contribute.html
+++ b/docs/contribute.html
@@ -1,650 +1,344 @@
 <!DOCTYPE html>
-<html class="writer-html5" lang="en">
-
+<html class="writer-html5" lang="en" >
 <head>
-  <meta charset="utf-8" />
-  <meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
+  <meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
 
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <title>Contributing &mdash; indsl 8.2.0 documentation</title>
-  <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
-  <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
-  <link rel="stylesheet" href="_static/sg_gallery.css" type="text/css" />
-  <link rel="stylesheet" href="_static/sg_gallery-binder.css" type="text/css" />
-  <link rel="stylesheet" href="_static/sg_gallery-dataframe.css" type="text/css" />
-  <link rel="stylesheet" href="_static/sg_gallery-rendered-html.css" type="text/css" />
-  <link rel="shortcut icon" href="_static/cognite_logo_black.png" />
+      <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+      <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
+      <link rel="stylesheet" href="_static/sg_gallery.css" type="text/css" />
+      <link rel="stylesheet" href="_static/sg_gallery-binder.css" type="text/css" />
+      <link rel="stylesheet" href="_static/sg_gallery-dataframe.css" type="text/css" />
+      <link rel="stylesheet" href="_static/sg_gallery-rendered-html.css" type="text/css" />
+    <link rel="shortcut icon" href="_static/cognite_logo_black.png"/>
   <!--[if lt IE 9]>
     <script src="_static/js/html5shiv.min.js"></script>
   <![endif]-->
-
-  <script src="_static/jquery.js?v=5d32c60e"></script>
-  <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-  <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
-  <script src="_static/doctools.js?v=888ff710"></script>
-  <script src="_static/sphinx_highlight.js?v=4825356b"></script>
-  <script src="_static/js/theme.js"></script>
-  <link rel="index" title="Index" href="genindex.html" />
-  <link rel="search" title="Search" href="search.html" />
-  <link rel="next" title="Code of Conduct" href="code_of_conduct.html" />
-  <link rel="prev" title="Function versioning" href="auto_examples/versioning/versioned_function.html" />
+  
+        <script src="_static/jquery.js?v=5d32c60e"></script>
+        <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
+        <script src="_static/doctools.js?v=888ff710"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
+    <script src="_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="next" title="Code of Conduct" href="code_of_conduct.html" />
+    <link rel="prev" title="Function versioning" href="auto_examples/versioning/versioned_function.html" /> 
 </head>
 
-<body class="wy-body-for-nav">
+<body class="wy-body-for-nav"> 
   <div class="wy-grid-for-nav">
     <nav data-toggle="wy-nav-shift" class="wy-nav-side">
       <div class="wy-side-scroll">
-        <div class="wy-side-nav-search">
-
-
+        <div class="wy-side-nav-search" >
 
+          
+          
           <a href="index.html" class="icon icon-home">
             indsl
-            <img src="_static/cognite_logo_white.png" class="logo" alt="Logo" />
+              <img src="_static/cognite_logo_white.png" class="logo" alt="Logo"/>
           </a>
-          <div role="search">
-            <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
-              <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
-              <input type="hidden" name="check_keywords" value="yes" />
-              <input type="hidden" name="area" value="default" />
-            </form>
-          </div>
-        </div>
-        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
-          <p class="caption" role="heading"><span class="caption-text">Toolboxes</span></p>
-          <ul>
-            <li class="toctree-l1"><a class="reference internal" href="data_quality.html">Data Quality</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="detect.html">Detect</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="drilling.html">Drilling</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="equipment.html">Equipment</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="filter.html">Filter</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="fluid_dynamics.html">Fluid Dynamics</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="forecast.html">Forecast</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="numerical_calculus.html">Numerical Calculus</a>
-            </li>
-            <li class="toctree-l1"><a class="reference internal" href="oil_and_gas.html">Oil and Gas</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="resample.html">Resample</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="signals.html">Signals</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="smooth.html">Smooth</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="statistics.html">Statistics</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="sustainability.html">Sustainability</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="ts_utils.html">Basic time series functions</a>
-            </li>
-          </ul>
-          <p class="caption" role="heading"><span class="caption-text">Examples</span></p>
-          <ul>
-            <li class="toctree-l1"><a class="reference internal" href="auto_examples/data_quality/index.html">Data
-                quality</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="auto_examples/detect/index.html">Detection
-                Functions</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="auto_examples/equipment/index.html">Equipment
-                Functions</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="auto_examples/filter/index.html">Filter
-                Functions</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="auto_examples/forecast/index.html">Forecasting
-                Functions</a></li>
-            <li class="toctree-l1"><a class="reference internal"
-                href="auto_examples/numerical_calculus/index.html">Numerical Calculus</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="auto_examples/oil_and_gas/index.html">Oil and Gas
-                Functions</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="auto_examples/resample/index.html">Resampling
-                Functions</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="auto_examples/signals/index.html">Synthetic
-                Signal Generation</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="auto_examples/smooth/index.html">Smoothing
-                Functions</a></li>
-            <li class="toctree-l1"><a class="reference internal"
-                href="auto_examples/statistics/index.html">Statistics</a></li>
-            <li class="toctree-l1"><a class="reference internal"
-                href="auto_examples/sustainability/index.html">Sustainability Functions</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="auto_examples/versioning/index.html">Function
-                versioning</a></li>
-          </ul>
-          <p class="caption" role="heading"><span class="caption-text">Developers</span></p>
-          <ul class="current">
-            <li class="toctree-l1 current"><a class="current reference internal" href="#">Contributing</a>
-              <ul>
-                <li class="toctree-l2"><a class="reference internal"
-                    href="#contributing-a-new-charts-compliant-algorithm">Contributing a new CHARTS compliant
-                    algorithm</a>
-                  <ul>
-                    <li class="toctree-l3"><a class="reference internal" href="#preliminaries-and-setup">Preliminaries
-                        and setup</a></li>
-                    <li class="toctree-l3"><a class="reference internal" href="#develop-your-algorithm">Develop your
-                        algorithm</a></li>
-                    <li class="toctree-l3"><a class="reference internal" href="#core-or-extras">Core or Extras</a></li>
-                    <li class="toctree-l3"><a class="reference internal" href="#document-your-algorithm">Document your
-                        algorithm</a></li>
-                    <li class="toctree-l3"><a class="reference internal" href="#front-and-back-end-compliance">Front and
-                        back end compliance</a></li>
-                    <li class="toctree-l3"><a class="reference internal"
-                        href="#add-an-example-to-the-gallery-of-charts">Add an example to the Gallery of Charts</a></li>
-                    <li class="toctree-l3"><a class="reference internal" href="#verify-documentation-build">Verify
-                        documentation build</a></li>
-                    <li class="toctree-l3"><a class="reference internal" href="#version-your-algorithm">Version your
-                        algorithm</a>
-                      <ul>
-                        <li class="toctree-l4"><a class="reference internal"
-                            href="#do-i-need-to-version-my-algorithm">Do I need to version my algorithm?</a></li>
-                        <li class="toctree-l4"><a class="reference internal" href="#how-do-i-version-my-function">How do
-                            I version my function?</a></li>
-                      </ul>
-                    </li>
-                    <li class="toctree-l3"><a class="reference internal" href="#create-a-pull-request">Create a pull
-                        request</a></li>
-                  </ul>
-                </li>
-                <li class="toctree-l2"><a class="reference internal"
-                    href="#contributing-a-free-form-algorithm">Contributing a free form algorithm</a></li>
-                <li class="toctree-l2"><a class="reference internal" href="#coding-style">Coding Style</a></li>
-              </ul>
-            </li>
-            <li class="toctree-l1"><a class="reference internal" href="code_of_conduct.html">Code of Conduct</a></li>
-            <li class="toctree-l1"><a class="reference internal" href="dev_tools.html">Developer utility functions</a>
-            </li>
-            <li class="toctree-l1"><a class="reference internal" href="CHANGELOG.html">Changelog</a></li>
-          </ul>
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <p class="caption" role="heading"><span class="caption-text">Toolboxes</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="data_quality.html">Data Quality</a></li>
+<li class="toctree-l1"><a class="reference internal" href="detect.html">Detect</a></li>
+<li class="toctree-l1"><a class="reference internal" href="drilling.html">Drilling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="equipment.html">Equipment</a></li>
+<li class="toctree-l1"><a class="reference internal" href="filter.html">Filter</a></li>
+<li class="toctree-l1"><a class="reference internal" href="fluid_dynamics.html">Fluid Dynamics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="forecast.html">Forecast</a></li>
+<li class="toctree-l1"><a class="reference internal" href="numerical_calculus.html">Numerical Calculus</a></li>
+<li class="toctree-l1"><a class="reference internal" href="oil_and_gas.html">Oil and Gas</a></li>
+<li class="toctree-l1"><a class="reference internal" href="resample.html">Resample</a></li>
+<li class="toctree-l1"><a class="reference internal" href="signals.html">Signals</a></li>
+<li class="toctree-l1"><a class="reference internal" href="smooth.html">Smooth</a></li>
+<li class="toctree-l1"><a class="reference internal" href="statistics.html">Statistics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="sustainability.html">Sustainability</a></li>
+<li class="toctree-l1"><a class="reference internal" href="ts_utils.html">Basic time series functions</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Examples</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="auto_examples/data_quality/index.html">Data quality</a></li>
+<li class="toctree-l1"><a class="reference internal" href="auto_examples/detect/index.html">Detection Functions</a></li>
+<li class="toctree-l1"><a class="reference internal" href="auto_examples/equipment/index.html">Equipment Functions</a></li>
+<li class="toctree-l1"><a class="reference internal" href="auto_examples/filter/index.html">Filter Functions</a></li>
+<li class="toctree-l1"><a class="reference internal" href="auto_examples/forecast/index.html">Forecasting Functions</a></li>
+<li class="toctree-l1"><a class="reference internal" href="auto_examples/numerical_calculus/index.html">Numerical Calculus</a></li>
+<li class="toctree-l1"><a class="reference internal" href="auto_examples/oil_and_gas/index.html">Oil and Gas Functions</a></li>
+<li class="toctree-l1"><a class="reference internal" href="auto_examples/resample/index.html">Resampling Functions</a></li>
+<li class="toctree-l1"><a class="reference internal" href="auto_examples/signals/index.html">Synthetic Signal Generation</a></li>
+<li class="toctree-l1"><a class="reference internal" href="auto_examples/smooth/index.html">Smoothing Functions</a></li>
+<li class="toctree-l1"><a class="reference internal" href="auto_examples/statistics/index.html">Statistics</a></li>
+<li class="toctree-l1"><a class="reference internal" href="auto_examples/sustainability/index.html">Sustainability Functions</a></li>
+<li class="toctree-l1"><a class="reference internal" href="auto_examples/versioning/index.html">Function versioning</a></li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Developers</span></p>
+<ul class="current">
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Contributing</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="#contributing-a-new-charts-compliant-algorithm">Contributing a new CHARTS compliant algorithm</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#preliminaries-and-setup">Preliminaries and setup</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#develop-your-algorithm">Develop your algorithm</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#core-or-extras">Core or Extras</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#document-your-algorithm">Document your algorithm</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#front-and-back-end-compliance">Front and back end compliance</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#add-an-example-to-the-gallery-of-charts">Add an example to the Gallery of Charts</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#verify-documentation-build">Verify documentation build</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#version-your-algorithm">Version your algorithm</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#do-i-need-to-version-my-algorithm">Do I need to version my algorithm?</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#how-do-i-version-my-function">How do I version my function?</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#create-a-pull-request">Create a pull request</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="#contributing-a-free-form-algorithm">Contributing a free form algorithm</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#coding-style">Coding Style</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="code_of_conduct.html">Code of Conduct</a></li>
+<li class="toctree-l1"><a class="reference internal" href="dev_tools.html">Developer utility functions</a></li>
+<li class="toctree-l1"><a class="reference internal" href="CHANGELOG.html">Changelog</a></li>
+</ul>
 
         </div>
       </div>
     </nav>
 
-    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
-      <nav class="wy-nav-top" aria-label="Mobile navigation menu">
-        <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
-        <a href="index.html">indsl</a>
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="index.html">indsl</a>
       </nav>
 
       <div class="wy-nav-content">
         <div class="rst-content">
           <div role="navigation" aria-label="Page navigation">
-            <ul class="wy-breadcrumbs">
-              <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
-              <li class="breadcrumb-item active">Contributing</li>
-              <li class="wy-breadcrumbs-aside">
-                <a href="_sources/contribute.rst.txt" rel="nofollow"> View page source</a>
-              </li>
-            </ul>
-            <hr />
-          </div>
+  <ul class="wy-breadcrumbs">
+      <li><a href="index.html" class="icon icon-home" aria-label="Home"></a></li>
+      <li class="breadcrumb-item active">Contributing</li>
+      <li class="wy-breadcrumbs-aside">
+            <a href="_sources/contribute.rst.txt" rel="nofollow"> View page source</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
           <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
-            <div itemprop="articleBody">
-
-              <section id="contributing">
-                <h1>Contributing<a class="headerlink" href="#contributing" title="Permalink to this heading"></a></h1>
-                <p>This project is a community effort and contributions are welcomed. Currently, it is privately hosted
-                  in
-                  <a class="reference external" href="https://github.com/cognitedata/indsl">GitHub</a>. It is publicly
-                  available but only open for internal contributions at
-                  the moment. It is also to open for contribution to our customers via the
-                  <a class="reference external" href="https://hub.cognite.com/groups/charts-early-adopter-164">Early
-                    Adopter program</a> on
-                  <a class="reference external" href="https://hub.cognite.com/">Cognite Hub</a> our community site. If
-                  you’re not yet a member of
-                  <a class="reference external" href="https://hub.cognite.com/">Cognite Hub</a> please sign up
-                  following the steps in <a class="reference external"
-                    href="https://hub.cognite.com/welcome-to-cognite-hub-73/how-to-sign-up-for-cognite-hub-and-learn-617">this
-                    guide</a>.
-                </p>
-                <p>The main objective of the InDLS is to <strong>provide industrial domain experts and data scientist
-                    with a rich library of
-                    algorithms to speed up their work</strong>. Therefore, we highly encourage data scientists with
-                  industrial domain knowledge
-                  to contribute algorithms and models within their niche expeertise. <em>Nevertheless, we are industry
-                    and scientific domain
-                    agnostic</em>. We accept any type of algorithm that improves the industrial data science experience
-                  and development.</p>
-                <p>Given the above, we are picky when it comes to adding new algorithms and how we document them. We
-                  want to speed up our
-                  user’s tasks with algorithms that minimize their exploratory and analytic work. We strive to include
-                  methods that will save them time and provide comprehensive documentation for each algorithm.
-                  Keep this in mind when developing a new algorithm.</p>
-                <p>There are multiple ways to contribute, the most common ones are:</p>
-                <blockquote>
-                  <div>
-                    <ul class="simple">
-                      <li>
-                        <p>New algorithm</p>
-                      </li>
-                      <li>
-                        <p>Documentation</p>
-                      </li>
-                      <li>
-                        <p>Examples: <span class="xref std std-ref">sphx_glr_auto_examples</span></p>
-                      </li>
-                      <li>
-                        <p>Bug reports</p>
-                      </li>
-                    </ul>
-                  </div>
-                </blockquote>
-                <p>We encourage contribution of algorithms that are compliant with the <a
-                    href="https://charts.cogniteapp.com/" target="_blank">Cognite Charts</a> calculations engine.
-                  Therefore, this
-                  guide focuses on the requirements to comply with it. Nevertheless, we accept any other algorithms (not
-                  exposed through
-                  <a href="https://charts.cogniteapp.com/" target="_blank">Cognite Charts</a>) to be used by installing
-                  the python package in your preferred development environment.
-                </p>
-                <p><em>Although the core of this project are the industrial algorithms, improving our documentation is
-                    very
-                    important and making our library more robust over time is of paramount importance. Please don’t
-                    hesitate to submit a
-                    Github pull request for something as small as a typo.</em></p>
-                <section id="contributing-a-new-charts-compliant-algorithm">
-                  <h2>Contributing a new CHARTS compliant algorithm<a class="headerlink"
-                      href="#contributing-a-new-charts-compliant-algorithm" title="Permalink to this heading"></a></h2>
-                  <p>For an algorithm to play well with the CHARTS front-end (user interface) and the
-                    calculations back-end it has to adhere to some function I/O requirements, documentation (docstrings)
-                    format and a few
-                    other requirements to expose the algorithm to the front and back-end. The first few basic
-                    requirements to keep in mind
-                    before developing and algorithm are:</p>
-                  <blockquote>
-                    <div>
-                      <ol class="arabic">
-                        <li>
-                          <p>It must belong to a particular toolbox. All the toolboxes are listed under the <code
-                              class="docutils literal notranslate"><span class="pre">indsl/</span></code> folder.</p>
-                        </li>
-                        <li>
-                          <p>It must be a python function: <code
-                              class="docutils literal notranslate"><span class="pre">def():</span></code></p>
-                        </li>
-                        <li>
-                          <p>Input data is passed to each algorithm as one or more <code
-                              class="docutils literal notranslate"><span class="pre">pd.Series</span></code> (one for
-                            each time series) with a <code
-                              class="docutils literal notranslate"><span class="pre">datetime</span></code> index.</p>
-                        </li>
-                        <li>
-                          <p>The output must be a <code
-                              class="docutils literal notranslate"><span class="pre">pd.Series</span></code> with a
-                            <code class="docutils literal notranslate"><span class="pre">datetime</span></code> index
-                            for it to be displayed on the UI.</p>
-                        </li>
-                        <li>
-                          <p>Function parameters types allowed are:</p>
-                          <blockquote>
-                            <div>
-                              <ul class="simple">
-                                <li>
-                                  <p>Time series: <code
-                                      class="docutils literal notranslate"><span class="pre">pd.Series</span></code></p>
-                                </li>
-                                <li>
-                                  <p>Time series or float: <code
-                                      class="docutils literal notranslate"><span class="pre">Union[pd.Series,</span> <span class="pre">float]</span></code>
-                                  </p>
-                                </li>
-                                <li>
-                                  <p>Integer: <code
-                                      class="docutils literal notranslate"><span class="pre">int</span></code></p>
-                                </li>
-                                <li>
-                                  <p>Float: <code
-                                      class="docutils literal notranslate"><span class="pre">float</span></code></p>
-                                </li>
-                                <li>
-                                  <p><a class="reference external"
-                                      href="https://docs.python.org/3/library/enum.html">Enumerations</a>: <code
-                                      class="docutils literal notranslate"><span class="pre">Enum</span></code></p>
-                                </li>
-                                <li>
-                                  <p>String: <code
-                                      class="docutils literal notranslate"><span class="pre">str</span></code></p>
-                                </li>
-                                <li>
-                                  <p>Timestamp: <code
-                                      class="docutils literal notranslate"><span class="pre">pd.Timestamp</span></code>
-                                  </p>
-                                </li>
-                                <li>
-                                  <p>Timedelta: <code
-                                      class="docutils literal notranslate"><span class="pre">pd.Timedelta</span></code>
-                                  </p>
-                                </li>
-                                <li>
-                                  <p>String option: <code
-                                      class="docutils literal notranslate"><span class="pre">Literal</span></code></p>
-                                </li>
-                                <li>
-                                  <p>List of floats: <code
-                                      class="docutils literal notranslate"><span class="pre">List[int]</span></code></p>
-                                </li>
-                                <li>
-                                  <p>List of floats: <code
-                                      class="docutils literal notranslate"><span class="pre">List[float]</span></code>
-                                  </p>
-                                </li>
-                                <li>
-                                  <p>Optional type: <code
-                                      class="docutils literal notranslate"><span class="pre">Optional[float]</span></code>
-                                  </p>
-                                </li>
-                              </ul>
-                            </div>
-                          </blockquote>
-                        </li>
-                      </ol>
-                    </div>
-                  </blockquote>
-                  <div class="admonition note">
-                    <p class="admonition-title">Note</p>
-                    <p>We currently support python functions with <code
-                        class="docutils literal notranslate"><span class="pre">pd.Series</span></code> as data input and
-                      outputs (I/O). This restriction
-                      is in place to simplify how the CHARTS infrastructure fetches and displays data.</p>
-                  </div>
-                  <section id="preliminaries-and-setup">
-                    <h3>Preliminaries and setup<a class="headerlink" href="#preliminaries-and-setup"
-                        title="Permalink to this heading"></a></h3>
-                    <div class="admonition note">
-                      <p class="admonition-title">Note</p>
-                      <p>We recommend using Python 3.10 for development.</p>
-                      <dl class="simple">
-                        <dt>Avoid duplicating code. Before starting a new algorithm, check for similar ones in the
-                          following places:</dt>
-                        <dd>
-                          <ul class="simple">
-                            <li>
-                              <p>The <a class="reference external"
-                                  href="https://github.com/cognitedata/indsl/tree/main/indsl">toolboxes</a></p>
-                            </li>
-                            <li>
-                              <p>The <a class="reference external" href="https://github.com/cognitedata/indsl/pulls">PR
-                                  list</a></p>
-                            </li>
-                          </ul>
-                        </dd>
-                      </dl>
-                    </div>
-                    <p>This project uses <a class="reference external" href="https://python-poetry.org/">Poetry</a> for
-                      dependency management. Install it before starting</p>
-                    <div class="highlight-default notranslate">
-                      <div class="highlight">
-                        <pre><style type="text/css">
+           <div itemprop="articleBody">
+             
+  <section id="contributing">
+<h1>Contributing<a class="headerlink" href="#contributing" title="Link to this heading"></a></h1>
+<p>This project is a community effort and contributions are welcomed. Currently, it is privately hosted in
+<a class="reference external" href="https://github.com/cognitedata/indsl">GitHub</a>. It is publicly available but only open for internal contributions at
+the moment. It is also to open for contribution to our customers via the
+<a class="reference external" href="https://hub.cognite.com/groups/charts-early-adopter-164">Early Adopter program</a> on
+<a class="reference external" href="https://hub.cognite.com/">Cognite Hub</a> our community site. If you’re not yet a member of
+<a class="reference external" href="https://hub.cognite.com/">Cognite Hub</a> please sign up
+following the steps in <a class="reference external" href="https://hub.cognite.com/welcome-to-cognite-hub-73/how-to-sign-up-for-cognite-hub-and-learn-617">this guide</a>.</p>
+<p>The main objective of the InDLS is to <strong>provide industrial domain experts and data scientist with a rich library of
+algorithms to speed up their work</strong>. Therefore, we highly encourage data scientists with industrial domain knowledge
+to contribute algorithms and models within their niche expeertise. <em>Nevertheless, we are industry and scientific domain
+agnostic</em>. We accept any type of algorithm that improves the industrial data science experience and development.</p>
+<p>Given the above, we are picky when it comes to adding new algorithms and how we document them. We want to speed up our
+user’s tasks with algorithms that minimize their exploratory and analytic work. We strive to include
+methods that will save them time and provide comprehensive documentation for each algorithm.
+Keep this in mind when developing a new algorithm.</p>
+<p>There are multiple ways to contribute, the most common ones are:</p>
+<blockquote>
+<div><ul class="simple">
+<li><p>New algorithm</p></li>
+<li><p>Documentation</p></li>
+<li><p>Examples: <span class="xref std std-ref">sphx_glr_auto_examples</span></p></li>
+<li><p>Bug reports</p></li>
+</ul>
+</div></blockquote>
+<p>We encourage contribution of algorithms that are compliant with the <a href="https://charts.cogniteapp.com/" target="_blank">Cognite Charts</a> calculations engine. Therefore, this
+guide focuses on the requirements to comply with it. Nevertheless, we accept any other algorithms (not exposed through
+<a href="https://charts.cogniteapp.com/" target="_blank">Cognite Charts</a>) to be used by installing the python package in your preferred development environment.</p>
+<p><em>Although the core of this project are the industrial algorithms, improving our documentation is very
+important and making our library more robust over time is of paramount importance. Please don’t hesitate to submit a
+Github pull request for something as small as a typo.</em></p>
+<section id="contributing-a-new-charts-compliant-algorithm">
+<h2>Contributing a new CHARTS compliant algorithm<a class="headerlink" href="#contributing-a-new-charts-compliant-algorithm" title="Link to this heading"></a></h2>
+<p>For an algorithm to play well with the CHARTS front-end (user interface) and the
+calculations back-end it has to adhere to some function I/O requirements, documentation (docstrings) format and a few
+other requirements to expose the algorithm to the front and back-end. The first few basic requirements to keep in mind
+before developing and algorithm are:</p>
+<blockquote>
+<div><ol class="arabic">
+<li><p>It must belong to a particular toolbox. All the toolboxes are listed under the <code class="docutils literal notranslate"><span class="pre">indsl/</span></code> folder.</p></li>
+<li><p>It must be a python function: <code class="docutils literal notranslate"><span class="pre">def():</span></code></p></li>
+<li><p>Input data is passed to each algorithm as one or more <code class="docutils literal notranslate"><span class="pre">pd.Series</span></code> (one for each time series) with a <code class="docutils literal notranslate"><span class="pre">datetime</span></code> index.</p></li>
+<li><p>The output must be a <code class="docutils literal notranslate"><span class="pre">pd.Series</span></code> with a <code class="docutils literal notranslate"><span class="pre">datetime</span></code> index for it to be displayed on the UI.</p></li>
+<li><p>Function parameters types allowed are:</p>
+<blockquote>
+<div><ul class="simple">
+<li><p>Time series: <code class="docutils literal notranslate"><span class="pre">pd.Series</span></code></p></li>
+<li><p>Time series or float: <code class="docutils literal notranslate"><span class="pre">Union[pd.Series,</span> <span class="pre">float]</span></code></p></li>
+<li><p>Integer: <code class="docutils literal notranslate"><span class="pre">int</span></code></p></li>
+<li><p>Float: <code class="docutils literal notranslate"><span class="pre">float</span></code></p></li>
+<li><p><a class="reference external" href="https://docs.python.org/3/library/enum.html">Enumerations</a>: <code class="docutils literal notranslate"><span class="pre">Enum</span></code></p></li>
+<li><p>String: <code class="docutils literal notranslate"><span class="pre">str</span></code></p></li>
+<li><p>Timestamp: <code class="docutils literal notranslate"><span class="pre">pd.Timestamp</span></code></p></li>
+<li><p>Timedelta: <code class="docutils literal notranslate"><span class="pre">pd.Timedelta</span></code></p></li>
+<li><p>String option: <code class="docutils literal notranslate"><span class="pre">Literal</span></code></p></li>
+<li><p>List of floats: <code class="docutils literal notranslate"><span class="pre">List[int]</span></code></p></li>
+<li><p>List of floats: <code class="docutils literal notranslate"><span class="pre">List[float]</span></code></p></li>
+<li><p>Optional type: <code class="docutils literal notranslate"><span class="pre">Optional[float]</span></code></p></li>
+</ul>
+</div></blockquote>
+</li>
+</ol>
+</div></blockquote>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>We currently support python functions with <code class="docutils literal notranslate"><span class="pre">pd.Series</span></code> as data input and outputs (I/O). This restriction
+is in place to simplify how the CHARTS infrastructure fetches and displays data.</p>
+</div>
+<section id="preliminaries-and-setup">
+<h3>Preliminaries and setup<a class="headerlink" href="#preliminaries-and-setup" title="Link to this heading"></a></h3>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>We recommend using Python 3.10 for development.</p>
+<dl class="simple">
+<dt>Avoid duplicating code. Before starting a new algorithm, check for similar ones in the following places:</dt><dd><ul class="simple">
+<li><p>The <a class="reference external" href="https://github.com/cognitedata/indsl/tree/main/indsl">toolboxes</a></p></li>
+<li><p>The <a class="reference external" href="https://github.com/cognitedata/indsl/pulls">PR list</a></p></li>
+</ul>
+</dd>
+</dl>
+</div>
+<p>This project uses <a class="reference external" href="https://python-poetry.org/">Poetry</a> for dependency management. Install it before starting</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><style type="text/css">
 span.prompt1:before {
   content: "$ ";
 }
 </style><span class="prompt1">pip<span class="w"> </span>install<span class="w"> </span>poetry</span>
-</pre>
-                      </div>
-                    </div>
-                    <ol class="arabic simple">
-                      <li>
-                        <p>Clone the <a class="reference external" href="https://github.com/cognitedata/indsl">InDSL</a>
-                          main repository on
-                          GitHub to your local environment.</p>
-                      </li>
-                    </ol>
-                    <div class="highlight-default notranslate">
-                      <div class="highlight">
-                        <pre><span class="prompt1">git<span class="w"> </span>clone<span class="w"> </span>git@github.com:cognitedata/indsl.git</span>
+</pre></div></div><ol class="arabic simple">
+<li><p>Clone the <a class="reference external" href="https://github.com/cognitedata/indsl">InDSL</a> main repository on
+GitHub to your local environment.</p></li>
+</ol>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span class="prompt1">git<span class="w"> </span>clone<span class="w"> </span>git@github.com:cognitedata/indsl.git</span>
 <span class="prompt1"><span class="nb">cd</span><span class="w"> </span>indsl</span>
-</pre>
-                      </div>
-                    </div>
-                    <ol class="arabic simple" start="2">
-                      <li>
-                        <p>Install the project dependencies.</p>
-                      </li>
-                    </ol>
-                    <div class="highlight-default notranslate">
-                      <div class="highlight">
-                        <pre><span class="prompt1">poetry<span class="w"> </span>install<span class="w"> </span>--all-extras</span>
-</pre>
-                      </div>
-                    </div>
-                    <ol class="arabic simple" start="3">
-                      <li>
-                        <p>Synchronize your local main branch with the remote main branch.</p>
-                      </li>
-                    </ol>
-                    <div class="highlight-default notranslate">
-                      <div class="highlight">
-                        <pre><span class="prompt1">git<span class="w"> </span>checkout<span class="w"> </span>main</span>
+</pre></div></div><ol class="arabic simple" start="2">
+<li><p>Install the project dependencies.</p></li>
+</ol>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span class="prompt1">poetry<span class="w"> </span>install<span class="w"> </span>--all-extras</span>
+</pre></div></div><ol class="arabic simple" start="3">
+<li><p>Synchronize your local main branch with the remote main branch.</p></li>
+</ol>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span class="prompt1">git<span class="w"> </span>checkout<span class="w"> </span>main</span>
 <span class="prompt1">git<span class="w"> </span>pull<span class="w"> </span>origin<span class="w"> </span>main</span>
-</pre>
-                      </div>
-                    </div>
-                  </section>
-                  <section id="develop-your-algorithm">
-                    <h3>Develop your algorithm<a class="headerlink" href="#develop-your-algorithm"
-                        title="Permalink to this heading"></a></h3>
-                    <ol class="arabic">
-                      <li>
-                        <p>Create a feature branch to work on your new algorithm. Never work on the <em>main</em> or
-                          <em>documentation</em> branches.</p>
-                        <div class="highlight-default notranslate">
-                          <div class="highlight">
-                            <pre><span class="prompt1">git<span class="w"> </span>checkout<span class="w"> </span>-b<span class="w"> </span>my_new_algorithm</span>
-</pre>
-                          </div>
-                        </div>
-                      </li>
-                      <li>
-                        <p>Install <em>pre-commit</em> to run code style checks before each commit.</p>
-                        <div class="highlight-default notranslate">
-                          <div class="highlight">
-                            <pre><span class="prompt1">poetry<span class="w"> </span>run<span class="w"> </span>pre-commit<span class="w"> </span>install<span class="w">  </span><span class="c1"># Only needed if not installed</span></span>
+</pre></div></div></section>
+<section id="develop-your-algorithm">
+<h3>Develop your algorithm<a class="headerlink" href="#develop-your-algorithm" title="Link to this heading"></a></h3>
+<ol class="arabic">
+<li><p>Create a feature branch to work on your new algorithm. Never work on the <em>main</em> or <em>documentation</em> branches.</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span class="prompt1">git<span class="w"> </span>checkout<span class="w"> </span>-b<span class="w"> </span>my_new_algorithm</span>
+</pre></div></div></li>
+<li><p>Install <em>pre-commit</em> to run code style checks before each commit.</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span class="prompt1">poetry<span class="w"> </span>run<span class="w"> </span>pre-commit<span class="w"> </span>install<span class="w">  </span><span class="c1"># Only needed if not installed</span></span>
 <span class="prompt1">poetry<span class="w"> </span>run<span class="w"> </span>pre-commit<span class="w"> </span>run<span class="w"> </span>--all-files</span>
-</pre>
-                          </div>
-                        </div>
-                      </li>
-                      <li>
-                        <p>If you need any additional module not in the installed dependencies, install it using the
-                          <code class="docutils literal notranslate"><span class="pre">add</span></code> command. If you
-                          need the new module for development, use the <code
-                            class="docutils literal notranslate"><span class="pre">--dev</span></code> option:</p>
-                        <div class="highlight-default notranslate">
-                          <div class="highlight">
-                            <pre><span class="prompt1">poetry<span class="w"> </span>add<span class="w"> </span>new_module</span>
-</pre>
-                          </div>
-                        </div>
-                        <div class="highlight-default notranslate">
-                          <div class="highlight">
-                            <pre><span class="prompt1">poetry<span class="w"> </span>add<span class="w"> </span>new_module<span class="w"> </span>--dev</span>
-</pre>
-                          </div>
-                        </div>
-                      </li>
-                      <li>
-                        <p>Develop the new algorithm on your local branch. Use the exception classes defined in
-                          <a class="reference external"
-                            href="https://github.com/cognitedata/indsl/tree/main/indsl/exceptions.py">indsl/exceptions.py</a>
-                          when raising errors that are caused by invalid or erroneous user input. InDSL provides the
-                          &#64;check_types
-                          decorator (from <a class="reference external"
-                            href="https://github.com/agronholm/typeguard">typeguard</a>) for run-time type checking,
-                          which should be used instead of checking each input type explicitly. When finished or reach an
-                          important
-                          milestone, use <code
-                            class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">add</span></code>
-                          and <code
-                            class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">commit</span></code>
-                          to record it:
-                        </p>
-                        <div class="highlight-default notranslate">
-                          <div class="highlight">
-                            <pre><span class="prompt1">git<span class="w"> </span>add<span class="w"> </span>.</span>
+</pre></div></div></li>
+<li><p>If you need any additional module not in the installed dependencies, install it using the <code class="docutils literal notranslate"><span class="pre">add</span></code> command. If you
+need the new module for development, use the <code class="docutils literal notranslate"><span class="pre">--dev</span></code> option:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span class="prompt1">poetry<span class="w"> </span>add<span class="w"> </span>new_module</span>
+</pre></div></div><div class="highlight-default notranslate"><div class="highlight"><pre><span class="prompt1">poetry<span class="w"> </span>add<span class="w"> </span>new_module<span class="w"> </span>--dev</span>
+</pre></div></div></li>
+<li><p>Develop the new algorithm on your local branch. Use the exception classes defined in
+<a class="reference external" href="https://github.com/cognitedata/indsl/tree/main/indsl/exceptions.py">indsl/exceptions.py</a>
+when raising errors that are caused by invalid or erroneous user input. InDSL provides the &#64;check_types
+decorator (from <a class="reference external" href="https://github.com/agronholm/typeguard">typeguard</a>) for run-time type checking,
+which should be used instead of checking each input type explicitly. When finished or reach an important
+milestone, use <code class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">add</span></code> and <code class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">commit</span></code> to record it:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span class="prompt1">git<span class="w"> </span>add<span class="w"> </span>.</span>
 <span class="prompt1">git<span class="w"> </span>commit<span class="w"> </span>-m<span class="w"> </span><span class="s2">&quot;Short but concise commit message with your changes&quot;</span></span>
-</pre>
-                          </div>
-                        </div>
-                        <p>If your function is not valid for certain input values, an error <strong>must</strong> be
-                          thrown. For example,</p>
-                        <div class="highlight-python notranslate">
-                          <div class="highlight">
-                            <pre><span></span><span class="k">def</span> <span class="nf">area</span><span class="p">(</span><span class="n">length</span><span class="p">:</span> <span class="nb">float</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">float</span><span class="p">:</span>
+</pre></div></div><p>If your function is not valid for certain input values, an error <strong>must</strong> be thrown. For example,</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="k">def</span> <span class="nf">area</span><span class="p">(</span><span class="n">length</span><span class="p">:</span> <span class="nb">float</span><span class="p">)</span> <span class="o">-&gt;</span> <span class="nb">float</span><span class="p">:</span>
     <span class="k">if</span> <span class="n">length</span> <span class="o">&lt;</span> <span class="mi">0</span><span class="p">:</span>
         <span class="k">raise</span> <span class="n">UserValueError</span><span class="p">(</span><span class="s2">&quot;Length cannot be negative.&quot;</span><span class="p">)</span>
     <span class="k">return</span> <span class="n">length</span><span class="o">**</span><span class="mi">2</span>
-</pre>
-                          </div>
-                        </div>
-                      </li>
-                      <li>
-                        <p>As you develop the algorithm it is good practice to add tests to it. All tests are stored in
-                          the root folder
-                          <a class="reference external"
-                            href="https://github.com/cognitedata/indsl/tree/main/tests">tests/</a> using the same folder
-                          structure
-                          as the <code class="docutils literal notranslate"><span class="pre">indsl/</span></code>
-                          folder. We run <code
-                            class="docutils literal notranslate"><span class="pre">pytest</span></code> to verify pull
-                          requests before merging with the main
-                          version. Before sending your pull request for review, make sure you have written tests for the
-                          algorithm and ran
-                          them locally to verify they pass.
-                        </p>
-                      </li>
-                    </ol>
-                    <div class="admonition note">
-                      <p class="admonition-title">Note</p>
-                      <p><strong>New algorithms without proper tests will not be merged - help us keep the code coverage
-                          at a high level!</strong></p>
-                    </div>
-                  </section>
-                  <section id="core-or-extras">
-                    <h3>Core or Extras<a class="headerlink" href="#core-or-extras"
-                        title="Permalink to this heading"></a></h3>
-                    <p>InDSL is divided into two main categories: core and extras. The core algorithms are the ones that
-                      only require
-                      <code class="docutils literal notranslate"><span class="pre">numpy</span></code>, <code
-                        class="docutils literal notranslate"><span class="pre">scipy``and</span> <span class="pre">``pandas</span></code>
-                      as dependencies. The extras are algorithms that require additional dependencies.
-                    </p>
-                    <p>If your algorithm requires additional dependencies, add them to the <code
-                        class="docutils literal notranslate"><span class="pre">pyproject.toml</span></code> file as
-                      optional dependencies and
-                      also add them under the <code
-                        class="docutils literal notranslate"><span class="pre">tool.poetry.extras</span></code> section
-                      in an appropriate category. The dependencies will also need to be
-                      lazy loaded to avoid loading them when the core part of the library is imported. To do this you
-                      need to import the
-                      dependencies in the function itself, and not at the top of the file.</p>
-                  </section>
-                  <section id="document-your-algorithm">
-                    <h3>Document your algorithm<a class="headerlink" href="#document-your-algorithm"
-                        title="Permalink to this heading"></a></h3>
-                    <p>CHARTS compliant algorithms must follow a few simple docstrings formatting requirements for the
-                      information to be parsed
-                      and properly displayed on the user interface and included in the technical documentation.</p>
-                    <ol class="arabic">
-                      <li>
-                        <p>Use <cite>r”””raw triple double quotes”””</cite> docstrings to document your algorithm. This
-                          allows using backslashes in the
-                          documentation, hence LaTeX formulas are properly parsed and rendered. The documentation
-                          targets both data science
-                          developers and CHARTS users and the <cite>r”””</cite> allows us properly render formulas in
-                          the CHARTS UI and
-                          in the InDSL documentation. If you are not sure how to document, refer to any algorithm in the
-                          <code class="docutils literal notranslate"><span class="pre">indsl</span></code>/ folder for
-                          inspiration.
-                        </p>
-                      </li>
-                      <li>
-                        <p>Follow <a class="reference external"
-                            href="https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings">Google
-                            Style</a> unless otherwise is stated in this guide.</p>
-                      </li>
-                      <li>
-                        <p><strong>Function name</strong>: after the first <cite>r”””</cite>, write a short (1-5 words)
-                          descriptive name for your function with no punctuation at the end.
-                          This will be the function name displayed on the CHARTS user interface.</p>
-                      </li>
-                      <li>
-                        <p>Add an empty space line break after the title.</p>
-                      </li>
-                      <li>
-                        <p>Write a comprehensive description of your function. Take care to use full words to describe
-                          input arguments.
-                          For example, in code you might use <code
-                            class="docutils literal notranslate"><span class="pre">poly_order</span></code> as an
-                          argument but in the description use <code
-                            class="docutils literal notranslate"><span class="pre">polynomial</span> <span class="pre">order</span></code>
-                          instead.</p>
-                      </li>
-                      <li>
-                        <p><strong>Parameter names and descriptions</strong>: define all the function arguments after
-                          <code class="docutils literal notranslate"><span class="pre">Args:</span></code> by listing
-                          all arguments,
-                          using tabs to differentiate each one and their respective description. Adhere as close as
-                          possible to the following formatting rules for each parameter name and description:</p>
-                        <blockquote>
-                          <div>
-                            <ul>
-                              <li>
-                                <p>A parameter name must have 30 characters or less, excluding units defined within
-                                  square brackets <code
-                                    class="docutils literal notranslate"><span class="pre">[]</span></code>
-                                  (more on this below). Square brackets are only allowed to input units in a parameter
-                                  name. Using brackets within
-                                  a parameter name for something different to units might generate an error in the
-                                  pre-commit tests.</p>
-                              </li>
-                              <li>
-                                <p>Must end with a period punctuation mark <code
-                                    class="docutils literal notranslate"><span class="pre">.</span></code></p>
-                              </li>
-                              <li>
-                                <p>Use LaTeX language for typing formulas, if any, as follows:</p>
-                                <blockquote>
-                                  <div>
-                                    <ul class="simple">
-                                      <li>
-                                        <p>Use the command <code
-                                            class="docutils literal notranslate"><span class="pre">:math:`LaTeX</span> <span class="pre">formula`</span></code>
-                                          for inline formulas</p>
-                                      </li>
-                                      <li>
-                                        <p>Use the command <code
-                                            class="docutils literal notranslate"><span class="pre">..</span> <span class="pre">math::</span></code>
-                                          for full line equations</p>
-                                      </li>
-                                    </ul>
-                                  </div>
-                                </blockquote>
-                              </li>
-                              <li>
-                                <p>If a parameter requires specific units, these must be typed as follows:</p>
-                                <blockquote>
-                                  <div>
-                                    <ul class="simple">
-                                      <li>
-                                        <p>Enclosed in square brackets <code
-                                            class="docutils literal notranslate"><span class="pre">[]</span></code></p>
-                                      </li>
-                                      <li>
-                                        <p>In Roman (not italic) font</p>
-                                      </li>
-                                      <li>
-                                        <p>If using LaTeX language, use the <code
-                                            class="docutils literal notranslate"><span class="pre">:math:</span></code>
-                                          inline formula command, and the command <code
-                                            class="docutils literal notranslate"><span class="pre">\mathrm{}</span></code>
-                                          to render
-                                          the units in Roman font.</p>
-                                      </li>
-                                      <li>
-                                        <p>Placed at the end of the string</p>
-                                      </li>
-                                    </ul>
-                                  </div>
-                                </blockquote>
-                                <p>For example:</p>
-                              </li>
-                            </ul>
-                          </div>
-                        </blockquote>
-                      </li>
-                    </ol>
-                    <div class="highlight-python notranslate">
-                      <div class="highlight">
-                        <pre><span></span><span class="sa">r</span><span class="s2">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+</li>
+<li><p>As you develop the algorithm it is good practice to add tests to it. All tests are stored in the root folder
+<a class="reference external" href="https://github.com/cognitedata/indsl/tree/main/tests">tests/</a> using the same folder structure
+as the <code class="docutils literal notranslate"><span class="pre">indsl/</span></code> folder. We run <code class="docutils literal notranslate"><span class="pre">pytest</span></code> to verify pull requests before merging with the main
+version. Before sending your pull request for review, make sure you have written tests for the algorithm and ran
+them locally to verify they pass.</p></li>
+</ol>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p><strong>New algorithms without proper tests will not be merged - help us keep the code coverage at a high level!</strong></p>
+</div>
+</section>
+<section id="core-or-extras">
+<h3>Core or Extras<a class="headerlink" href="#core-or-extras" title="Link to this heading"></a></h3>
+<p>InDSL is divided into two main categories: core and extras. The core algorithms are the ones that only require
+<code class="docutils literal notranslate"><span class="pre">numpy</span></code>, <code class="docutils literal notranslate"><span class="pre">scipy``and</span> <span class="pre">``pandas</span></code> as dependencies. The extras are algorithms that require additional dependencies.</p>
+<p>If your algorithm requires additional dependencies, add them to the <code class="docutils literal notranslate"><span class="pre">pyproject.toml</span></code> file as optional dependencies and
+also add them under the <code class="docutils literal notranslate"><span class="pre">tool.poetry.extras</span></code> section in an appropriate category. The dependencies will also need to be
+lazy loaded to avoid loading them when the core part of the library is imported. To do this you need to import the
+dependencies in the function itself, and not at the top of the file.</p>
+</section>
+<section id="document-your-algorithm">
+<h3>Document your algorithm<a class="headerlink" href="#document-your-algorithm" title="Link to this heading"></a></h3>
+<p>CHARTS compliant algorithms must follow a few simple docstrings formatting requirements for the information to be parsed
+and properly displayed on the user interface and included in the technical documentation.</p>
+<ol class="arabic">
+<li><p>Use <cite>r”””raw triple double quotes”””</cite> docstrings to document your algorithm. This allows using backslashes in the
+documentation, hence LaTeX formulas are properly parsed and rendered. The documentation targets both data science
+developers and CHARTS users and the <cite>r”””</cite> allows us properly render formulas in the CHARTS UI and
+in the InDSL documentation. If you are not sure how to document, refer to any algorithm in the
+<code class="docutils literal notranslate"><span class="pre">indsl</span></code>/ folder for inspiration.</p></li>
+<li><p>Follow <a class="reference external" href="https://google.github.io/styleguide/pyguide.html#38-comments-and-docstrings">Google Style</a> unless otherwise is stated in this guide.</p></li>
+<li><p><strong>Function name</strong>: after the first <cite>r”””</cite>, write a short (1-5 words) descriptive name for your function with no punctuation at the end.
+This will be the function name displayed on the CHARTS user interface.</p></li>
+<li><p>Add an empty space line break after the title.</p></li>
+<li><p>Write a comprehensive description of your function. Take care to use full words to describe input arguments.
+For example, in code you might use <code class="docutils literal notranslate"><span class="pre">poly_order</span></code> as an argument but in the description use <code class="docutils literal notranslate"><span class="pre">polynomial</span> <span class="pre">order</span></code>
+instead.</p></li>
+<li><p><strong>Parameter names and descriptions</strong>: define all the function arguments after <code class="docutils literal notranslate"><span class="pre">Args:</span></code> by listing all arguments,
+using tabs to differentiate each one and their respective description. Adhere as close as possible to the following formatting rules for each parameter name and description:</p>
+<blockquote>
+<div><ul>
+<li><p>A parameter name must have 30 characters or less, excluding units defined within square brackets <code class="docutils literal notranslate"><span class="pre">[]</span></code>
+(more on this below). Square brackets are only allowed to input units in a parameter name. Using brackets within
+a parameter name for something different to units might generate an error in the pre-commit tests.</p></li>
+<li><p>Must end with a period punctuation mark <code class="docutils literal notranslate"><span class="pre">.</span></code></p></li>
+<li><p>Use LaTeX language for typing formulas, if any, as follows:</p>
+<blockquote>
+<div><ul class="simple">
+<li><p>Use the command <code class="docutils literal notranslate"><span class="pre">:math:`LaTeX</span> <span class="pre">formula`</span></code> for inline formulas</p></li>
+<li><p>Use the command <code class="docutils literal notranslate"><span class="pre">..</span> <span class="pre">math::</span></code> for full line equations</p></li>
+</ul>
+</div></blockquote>
+</li>
+<li><p>If a parameter requires specific units, these must be typed as follows:</p>
+<blockquote>
+<div><ul class="simple">
+<li><p>Enclosed in square brackets <code class="docutils literal notranslate"><span class="pre">[]</span></code></p></li>
+<li><p>In Roman (not italic) font</p></li>
+<li><p>If using LaTeX language, use the <code class="docutils literal notranslate"><span class="pre">:math:</span></code> inline formula command, and the command <code class="docutils literal notranslate"><span class="pre">\mathrm{}</span></code> to render
+the units in Roman font.</p></li>
+<li><p>Placed at the end of the string</p></li>
+</ul>
+</div></blockquote>
+<p>For example:</p>
+</li>
+</ul>
+</div></blockquote>
+</li>
+</ol>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="sa">r</span><span class="s2">&quot;&quot;&quot;</span>
 <span class="s2">...</span>
 <span class="s2">Args:</span>
 
@@ -654,16 +348,11 @@ <h3>Document your algorithm<a class="headerlink" href="#document-your-algorithm"
 <span class="s2">    pump_liquid_flowrate: Pump liquid flowrate [:math:`\mathrm{\frac{m^3}</span><span class="si">{h}</span><span class="s2">}`].</span>
 
 <span class="s2">    ...</span>
-</pre>
-                      </div>
-                    </div>
-                    <p>This is a <a class="reference external"
-                        href="https://github.com/cognitedata/indsl/blob/main/indsl/smooth/savitzky_golay.py">basic
-                        example</a>
-                      of how to document a function :</p>
-                    <div class="highlight-python notranslate">
-                      <div class="highlight">
-                        <pre><span></span><span class="sa">r</span><span class="sd">&quot;&quot;&quot;</span>
+</pre></div>
+</div>
+<p>This is a <a class="reference external" href="https://github.com/cognitedata/indsl/blob/main/indsl/smooth/savitzky_golay.py">basic example</a>
+of how to document a function :</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="sa">r</span><span class="sd">&quot;&quot;&quot;</span>
 <span class="sd">...</span>
 
 <span class="sd">Args:</span>
@@ -684,174 +373,74 @@ <h3>Document your algorithm<a class="headerlink" href="#document-your-algorithm"
 
 <span class="sd">...</span>
 <span class="sd">&quot;&quot;&quot;</span>
-</pre>
-                      </div>
-                    </div>
-                    <ol class="arabic simple" start="7">
-                      <li>
-                        <p>Define the function output after <code
-                            class="docutils literal notranslate"><span class="pre">Returns:</span></code> as shown
-                          above.</p>
-                      </li>
-                      <li>
-                        <p>The above are the minimal requirements to expose the documentation on the user interface and
-                          technical docs. But
-                          feel free to add more <a class="reference external"
-                            href="https://www.sphinx-doc.org/en/master/usage/extensions/napoleon.html">supported
-                            sections</a>.</p>
-                      </li>
-                      <li>
-                        <p>Go to the <code
-                            class="docutils literal notranslate"><span class="pre">docs-source/source/</span></code>
-                          folder and find the appropriate toolbox <code
-                            class="docutils literal notranslate"><span class="pre">rst</span></code> file (e.g. <code
-                            class="docutils literal notranslate"><span class="pre">smooth.rst</span></code>)</p>
-                      </li>
-                      <li>
-                        <p>Add the a new entry with the name of your function as a subtitle, underlined with the symbol
-                          <code class="docutils literal notranslate"><span class="pre">^</span></code>.</p>
-                      </li>
-                      <li>
-                        <p>Add the sphinx directive <code
-                            class="docutils literal notranslate"><span class="pre">..</span> <span class="pre">autofunction::</span></code>
-                          followed by the path to your new algorithm (see the example below).
-                          This will autogenerate the documentation from the code docstrings.</p>
-                      </li>
-                    </ol>
-                    <div class="highlight-default notranslate">
-                      <div class="highlight">
-                        <pre><style type="text/css">
+</pre></div>
+</div>
+<ol class="arabic simple" start="7">
+<li><p>Define the function output after <code class="docutils literal notranslate"><span class="pre">Returns:</span></code> as shown above.</p></li>
+<li><p>The above are the minimal requirements to expose the documentation on the user interface and technical docs. But
+feel free to add more <a class="reference external" href="https://www.sphinx-doc.org/en/master/usage/extensions/napoleon.html">supported sections</a>.</p></li>
+<li><p>Go to the <code class="docutils literal notranslate"><span class="pre">docs-source/source/</span></code> folder and find the appropriate toolbox <code class="docutils literal notranslate"><span class="pre">rst</span></code> file (e.g. <code class="docutils literal notranslate"><span class="pre">smooth.rst</span></code>)</p></li>
+<li><p>Add the a new entry with the name of your function as a subtitle, underlined with the symbol <code class="docutils literal notranslate"><span class="pre">^</span></code>.</p></li>
+<li><p>Add the sphinx directive <code class="docutils literal notranslate"><span class="pre">..</span> <span class="pre">autofunction::</span></code> followed by the path to your new algorithm (see the example below).
+This will autogenerate the documentation from the code docstrings.</p></li>
+</ol>
+<div class="highlight-default notranslate"><div class="highlight"><pre><style type="text/css">
 span.prompt2:before {
   content: " ";
 }
 </style><span class="prompt2">.. autofunction:: indsl.smooth.sg</span>
-</pre>
-                      </div>
-                    </div>
-                    <ol class="arabic simple" start="11">
-                      <li>
-                        <p>If you have coded an example, add the sphinx directive <code
-                            class="docutils literal notranslate"><span class="pre">..</span> <span class="pre">topic::</span> <span class="pre">Examples:</span></code>
-                          and below it the sphinx reference
-                          to find the autogenerated material (see example below). The construct is as follows,
-                          <code
-                            class="docutils literal notranslate"><span class="pre">sphx_glr_autoexamples_{toolbox_folder}_{example_code}.py</span></code>
-                        </p>
-                      </li>
-                    </ol>
-                    <div class="highlight-default notranslate">
-                      <div class="highlight">
-                        <pre><span class="prompt2">.. topic:: Examples:</span>
+</pre></div></div><ol class="arabic simple" start="11">
+<li><p>If you have coded an example, add the sphinx directive <code class="docutils literal notranslate"><span class="pre">..</span> <span class="pre">topic::</span> <span class="pre">Examples:</span></code> and below it the sphinx reference
+to find the autogenerated material (see example below). The construct is as follows,
+<code class="docutils literal notranslate"><span class="pre">sphx_glr_autoexamples_{toolbox_folder}_{example_code}.py</span></code></p></li>
+</ol>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span class="prompt2">.. topic:: Examples:</span>
 <span class="prompt2"></span>
 <span class="prompt2">    * :ref:`sphx_glr_auto_examples_smooth_plot_sg_smooth.py`</span>
-</pre>
-                      </div>
-                    </div>
-                  </section>
-                  <section id="front-and-back-end-compliance">
-                    <h3>Front and back end compliance<a class="headerlink" href="#front-and-back-end-compliance"
-                        title="Permalink to this heading"></a></h3>
-                    <p>For the algorithm to be picked up by the front and back end, and display user relevant
-                      information, take the following
-                      steps.</p>
-                    <ol class="arabic">
-                      <li>
-                        <p>Add human readable names to each input parameter (not the input data) in your algorithm.
-                          These will be displayed on
-                          the UI, hence avoid using long names or special characters.</p>
-                      </li>
-                      <li>
-                        <p>Add a technical but human readable description of your algorithm, the inputs required, what
-                          it does, and the
-                          expected result. This will be displayed on the UI and targets our users (i.e. domain experts).
-                        </p>
-                        <blockquote>
-                          <div></div>
-                        </blockquote>
-                      </li>
-                      <li>
-                        <p>Add the &#64;check_types decorator to the functions that contain Python type annotations.
-                          This makes sure that the function is always called with inputs of the same type as specified
-                          in the function signature.</p>
-                      </li>
-                      <li>
-                        <dl class="simple">
-                          <dt>Add your function to the attribute <code
-                              class="docutils literal notranslate"><span class="pre">__cognite__</span></code> in the
-                            <code class="docutils literal notranslate"><span class="pre">__init__.py</span></code> file
-                            of the toolbox module your algorithm belongs to. For example, the</dt>
-                          <dd>
-                            <p><a class="reference external"
-                                href="https://github.com/cognitedata/indsl/blob/main/indsl/smooth/savitzky_golay.py">Savitzky-Golay
-                                smoother</a>
-                              (<a class="reference internal" href="smooth.html#indsl.smooth.sg"
-                                title="indsl.smooth.sg"><code
-                                  class="xref py py-meth docutils literal notranslate"><span class="pre">indsl.smooth.sg()</span></code></a>)
-                              belongs to the <code
-                                class="docutils literal notranslate"><span class="pre">smooth</span></code> toolbox.
-                              Therefore, we add <code
-                                class="docutils literal notranslate"><span class="pre">sg</span></code> to the list
-                              <code class="docutils literal notranslate"><span class="pre">__cognite__</span></code>
-                              in the file <code
-                                class="docutils literal notranslate"><span class="pre">indsl/smooth/__init__.py</span></code>.
-                            </p>
-                          </dd>
-                        </dl>
-                      </li>
-                    </ol>
-                    <p>This would be a good time to push your changes to the remote repository</p>
-                  </section>
-                  <section id="add-an-example-to-the-gallery-of-charts">
-                    <h3>Add an example to the Gallery of Charts<a class="headerlink"
-                        href="#add-an-example-to-the-gallery-of-charts" title="Permalink to this heading"></a></h3>
-                    <p><span class="xref std std-ref">sphx_glr_auto_examples</span> is an auto generated collection of
-                      examples of our industrial data science
-                      algorithms. Following the steps below, your example will be automatically added to the gallery. We
-                      take care of
-                      auto generating the figures, adding the code to the gallery, and links to downloadable python and
-                      notebook versions
-                      of your code for other data scientists to use or get inspired by (sharing is caring!). We use <a
-                        class="reference external"
-                        href="https://sphinx-gallery.github.io/stable/index.html">Sphinx-Gallery</a> for this purpose,
-                      if you want to find out more about what you
-                      can do to generate generate your example.</p>
-                    <p>We want to offer our user and developers as much information as possible about our industrial
-                      algorithms. Therefore we
-                      <strong>strongly encourage</strong> all data scientist and developers to include one or more
-                      examples (license to go crazy here)
-                      to show off all the amazing features and functionalities of your new algorithm and how it can be
-                      used.
-                    </p>
-                    <ol class="arabic simple">
-                      <li>
-                        <p>Clone the INDSL repo and create your own local branch.</p>
-                      </li>
-                      <li>
-                        <p>Go to the toolbox folder in <code
-                            class="docutils literal notranslate"><span class="pre">examples</span></code> where your
-                          algorithm belongs to (e.g. <code
-                            class="docutils literal notranslate"><span class="pre">smooth</span></code>)</p>
-                      </li>
-                      <li>
-                        <p>Create a new python file with the prefix <em>plot_</em>. For example <code
-                            class="docutils literal notranslate"><span class="pre">plot_my_new_algo_feature.py</span></code>.
-                        </p>
-                      </li>
-                      <li>
-                        <p>At the top of the file, add a triple quote docstring that start with the title of your
-                          example enclose by
-                          top and bottom equal symbols (as shown below), followed by a description of your example. For
-                          inspiration, check
-                          the <span class="xref std std-ref">sphx_glr_auto_examples</span> or one of the examples in the
-                          repository
-                          (e.g. <code
-                            class="docutils literal notranslate"><span class="pre">examples/smooth/plot_sg_smooth.py</span></code>).
-                        </p>
-                      </li>
-                    </ol>
-                    <div class="highlight-default notranslate">
-                      <div class="highlight">
-                        <pre><span class="prompt2"><span class="s2">&quot;&quot;&quot;</span></span>
+</pre></div></div></section>
+<section id="front-and-back-end-compliance">
+<h3>Front and back end compliance<a class="headerlink" href="#front-and-back-end-compliance" title="Link to this heading"></a></h3>
+<p>For the  algorithm to be picked up by the front and back end, and display user relevant information, take the following
+steps.</p>
+<ol class="arabic">
+<li><p>Add human readable names to each input parameter (not the input data) in your algorithm. These will be displayed on
+the UI, hence avoid using long names or special characters.</p></li>
+<li><p>Add a technical but human readable description of your algorithm, the inputs required, what it does, and the
+expected result. This will be displayed on the UI and targets our users (i.e. domain experts).</p>
+<blockquote>
+<div></div></blockquote>
+</li>
+<li><p>Add the &#64;check_types decorator to the functions that contain Python type annotations. This makes sure that the function is always called with inputs of the same type as specified in the function signature.</p></li>
+<li><dl class="simple">
+<dt>Add your function to the attribute <code class="docutils literal notranslate"><span class="pre">__cognite__</span></code> in the <code class="docutils literal notranslate"><span class="pre">__init__.py</span></code> file of the toolbox module your algorithm belongs to. For example, the</dt><dd><p><a class="reference external" href="https://github.com/cognitedata/indsl/blob/main/indsl/smooth/savitzky_golay.py">Savitzky-Golay smoother</a>
+(<a class="reference internal" href="smooth.html#indsl.smooth.sg" title="indsl.smooth.sg"><code class="xref py py-meth docutils literal notranslate"><span class="pre">indsl.smooth.sg()</span></code></a>) belongs to the <code class="docutils literal notranslate"><span class="pre">smooth</span></code> toolbox. Therefore, we add <code class="docutils literal notranslate"><span class="pre">sg</span></code> to the list <code class="docutils literal notranslate"><span class="pre">__cognite__</span></code>
+in the file <code class="docutils literal notranslate"><span class="pre">indsl/smooth/__init__.py</span></code>.</p>
+</dd>
+</dl>
+</li>
+</ol>
+<p>This would be a good time to push your changes to the remote repository</p>
+</section>
+<section id="add-an-example-to-the-gallery-of-charts">
+<h3>Add an example to the Gallery of Charts<a class="headerlink" href="#add-an-example-to-the-gallery-of-charts" title="Link to this heading"></a></h3>
+<p><span class="xref std std-ref">sphx_glr_auto_examples</span> is an auto generated collection of examples of our industrial data science
+algorithms. Following the steps below, your example will be automatically added to the gallery. We take care of
+auto generating the figures, adding the code to the gallery, and links to downloadable python and notebook versions
+of your code for other data scientists to use or get inspired by (sharing is caring!). We use <a class="reference external" href="https://sphinx-gallery.github.io/stable/index.html">Sphinx-Gallery</a> for this purpose, if you want to find out more about what you
+can do to generate generate your example.</p>
+<p>We want to offer our user and developers as much information as possible about our industrial algorithms. Therefore we
+<strong>strongly encourage</strong> all data scientist and developers to include one or more examples (license to go crazy here)
+to show off all the amazing features and functionalities of your new algorithm and how it can be used.</p>
+<ol class="arabic simple">
+<li><p>Clone the INDSL repo and create your own local branch.</p></li>
+<li><p>Go to the toolbox folder in <code class="docutils literal notranslate"><span class="pre">examples</span></code> where your algorithm belongs to (e.g. <code class="docutils literal notranslate"><span class="pre">smooth</span></code>)</p></li>
+<li><p>Create a new python file with the prefix <em>plot_</em>. For example <code class="docutils literal notranslate"><span class="pre">plot_my_new_algo_feature.py</span></code>.</p></li>
+<li><p>At the top of the file, add a triple quote docstring that start with the title of your example enclose by
+top and bottom equal symbols (as shown below), followed by a description of your example. For inspiration, check
+the <span class="xref std std-ref">sphx_glr_auto_examples</span> or one of the examples in the repository
+(e.g. <code class="docutils literal notranslate"><span class="pre">examples/smooth/plot_sg_smooth.py</span></code>).</p></li>
+</ol>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span class="prompt2"><span class="s2">&quot;&quot;&quot;</span></span>
 <span class="prompt2"><span class="o">=============</span></span>
 <span class="prompt2"><span class="n">Example</span> <span class="n">title</span></span>
 <span class="prompt2"><span class="o">=============</span></span>
@@ -860,444 +449,227 @@ <h3>Add an example to the Gallery of Charts<a class="headerlink"
 <span class="prompt2"></span>
 <span class="prompt2"><span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span></span>
 <span class="prompt2"><span class="o">...</span></span>
-</pre>
-                      </div>
-                    </div>
-                    <ol class="arabic simple" start="5">
-                      <li>
-                        <p>Once you are done developing the example record your changes using <code
-                            class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">add</span> <span class="pre">&lt;path_to_file&gt;</span></code>,
-                          <code
-                            class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">commit</span> <span class="pre">-m</span> <span class="pre">&lt;commit_message&gt;</span></code>
-                          and <code
-                            class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">push</span> <span class="pre">-u</span> <span class="pre">origin</span> <span class="pre">&lt;your_branch_name&gt;</span></code>
-                        </p>
-                      </li>
-                      <li>
-                        <p>You can test the Sphinx build of your PR by following the steps in the section below.</p>
-                      </li>
-                    </ol>
-                  </section>
-                  <section id="verify-documentation-build">
-                    <h3>Verify documentation build<a class="headerlink" href="#verify-documentation-build"
-                        title="Permalink to this heading"></a></h3>
-                    <p>It is highly recommended to check that the documentation for your new function is built and
-                      displayed
-                      correctly. Note that you will need all of the following Sphinx python libraries to successfully
-                      build the documentation (these packages can be installed with pip):
-                      * sphinx-gallery
-                      * sphinx
-                      * sphinx-prompt
-                      * sphinx-rtd-theme</p>
-                    <p>While testing the build, some files that <em>should not be committed to the remote
-                        repository</em>, will be
-                      autogenerated in the folder <code
-                        class="docutils literal notranslate"><span class="pre">docs-source/source/auto_examples/</span></code>.
-                      If these are committed nothing will really happen,
-                      except for the PR probably being longer than expected and could confuse the reviewers if they are
-                      not aware of this.
-                      To avoid it there are two two options:</p>
-                    <ol class="arabic simple">
-                      <li>
-                        <p>Don’t stage the files inside the folder <code
-                            class="docutils literal notranslate"><span class="pre">docs-source/source/auto_examples/</span></code>,
-                          or</p>
-                      </li>
-                      <li>
-                        <p>add the folder <code
-                            class="docutils literal notranslate"><span class="pre">docs-source/source/auto_examples/</span></code>
-                          to the file <code
-                            class="docutils literal notranslate"><span class="pre">.git/info/exclude</span></code> to
-                          locally exclude the folder
-                          from any commit. You can use your IDE git integration to locally exclude files
-                          (e.g. <a class="reference external"
-                            href="https://www.jetbrains.com/help/pycharm/set-up-a-git-repository.html#ignore-files">PyCharm</a>).
-                        </p>
-                      </li>
-                    </ol>
-                    <p>Once you taken care of the above, do the following:</p>
-                    <ol class="arabic simple">
-                      <li>
-                        <p>Install the dependencies needed to build the documentation:</p>
-                      </li>
-                    </ol>
-                    <div class="highlight-default notranslate">
-                      <div class="highlight">
-                        <pre><span class="prompt2">poetry install --with docs</span>
-</pre>
-                      </div>
-                    </div>
-                    <ol class="arabic simple" start="2">
-                      <li>
-                        <p>In your terminal, go to the folder <code
-                            class="docutils literal notranslate"><span class="pre">docs-source/</span></code></p>
-                      </li>
-                      <li>
-                        <p>Clean the previous build (if any) using</p>
-                      </li>
-                    </ol>
-                    <div class="highlight-default notranslate">
-                      <div class="highlight">
-                        <pre><span class="prompt2">make clean</span>
-</pre>
-                      </div>
-                    </div>
-                    <ol class="arabic simple" start="4">
-                      <li>
-                        <p>Build the documentation with</p>
-                      </li>
-                    </ol>
-                    <div class="highlight-default notranslate">
-                      <div class="highlight">
-                        <pre><span class="prompt2">make html</span>
-</pre>
-                      </div>
-                    </div>
-                    <ol class="arabic" start="5">
-                      <li>
-                        <p>If there were errors during the build, address them and repeat steps 2-3.</p>
-                      </li>
-                      <li>
-                        <p>If the build was successful, open the html file located in <cite>build/html/index.html</cite>
-                          and review it navigating to the
-                          section(s) relevant to your new function.</p>
-                        <p>For mac users the file can be opened with the following command:</p>
-                      </li>
-                    </ol>
-                    <div class="highlight-default notranslate">
-                      <div class="highlight">
-                        <pre><span class="prompt2">open build/html/index.html</span>
-</pre>
-                      </div>
-                    </div>
-                    <ol class="arabic simple" start="7">
-                      <li>
-                        <p>Once satisfied with the documentation, commit and push the changes.</p>
-                      </li>
-                    </ol>
-                  </section>
-                  <section id="version-your-algorithm">
-                    <h3>Version your algorithm<a class="headerlink" href="#version-your-algorithm"
-                        title="Permalink to this heading"></a></h3>
-                    <div class="admonition note">
-                      <p class="admonition-title">Note</p>
-                      <p>This section is only relevant if you are changing an existing function in InDSL.</p>
-                    </div>
-                    <p>For industrial applications, consistency and reproducibility of calculation results is of
-                      critical importance.
-                      For this reason, InDSL keeps a version history of InDSL functions that developers user can choose
-                      from.
-                      Older versions can be marked as deprecated to notify users that a new version is available.
-                      The example <a class="reference internal"
-                        href="auto_examples/versioning/versioned_function.html#sphx-glr-auto-examples-versioning-versioned-function-py"><span
-                          class="std std-ref">Function versioning</span></a> demonstrates in more detail how the
-                      function versioning works in InDSL.</p>
-                    <section id="do-i-need-to-version-my-algorithm">
-                      <h4>Do I need to version my algorithm?<a class="headerlink"
-                          href="#do-i-need-to-version-my-algorithm" title="Permalink to this heading"></a></h4>
-                      <p>You need to version your algorithm if:</p>
-                      <ol class="arabic simple">
-                        <li>
-                          <p>You are changing an existing InDSL function, and one of the following conditions holds:</p>
-                          <ul class="simple">
-                            <li>
-                              <p>The signature of the new function is incompatible with the old function. For instance
-                                if a parameter was renamed or a new parameter was added without a default value.</p>
-                            </li>
-                            <li>
-                              <p>The modifications change the function output for any given input.</p>
-                            </li>
-                          </ul>
-                        </li>
-                        <li>
-                          <p>You are changing a helper function that is used by other InDSL functions. In that case you
-                            need to version the helper function and all affected InDSL functions.</p>
-                        </li>
-                      </ol>
-                      <div class="admonition note">
-                        <p class="admonition-title">Note</p>
-                        <p>In order to avoid code duplication, one should explore if the modifications can be
-                          implemented in a backwards-compatible manner (for instance through a new parameter with a
-                          default value).</p>
-                      </div>
-                    </section>
-                    <section id="how-do-i-version-my-function">
-                      <h4>How do I version my function?<a class="headerlink" href="#how-do-i-version-my-function"
-                          title="Permalink to this heading"></a></h4>
-                      <p>As an example, we consider a function <cite>myfunc</cite> in <cite>mymod.py</cite>.
-                        A new function version is released through the following steps.</p>
-                      <ol class="arabic">
-                        <li>
-                          <p>Move the function from <cite>mymod.py</cite> to <cite>mymod_vX.py</cite>, where
-                            <cite>X</cite> denotes the current function version. If the function is not versioned yet,
-                            create the file <cite>mymod_v1.py</cite>.</p>
-                        </li>
-                        <li>
-                          <p>If not already present, add the <code
-                              class="xref py py-func docutils literal notranslate"><span class="pre">versioning.register()</span></code>
-                            decorator to the function. Specifically,</p>
-                          <div class="highlight-python notranslate">
-                            <div class="highlight">
-                              <pre><span></span><span class="c1"># file: mymod_v1.py</span>
+</pre></div></div><ol class="arabic simple" start="5">
+<li><p>Once you are done developing the example record your changes using <code class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">add</span> <span class="pre">&lt;path_to_file&gt;</span></code>, <code class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">commit</span> <span class="pre">-m</span> <span class="pre">&lt;commit_message&gt;</span></code> and <code class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">push</span> <span class="pre">-u</span> <span class="pre">origin</span> <span class="pre">&lt;your_branch_name&gt;</span></code></p></li>
+<li><p>You can test the Sphinx build of your PR by following the steps in the section below.</p></li>
+</ol>
+</section>
+<section id="verify-documentation-build">
+<h3>Verify documentation build<a class="headerlink" href="#verify-documentation-build" title="Link to this heading"></a></h3>
+<p>It is highly recommended to check that the documentation for your new function is built and displayed
+correctly. Note that you will need all of the following Sphinx python libraries to successfully build the documentation (these packages can be installed with pip):
+* sphinx-gallery
+* sphinx
+* sphinx-prompt
+* sphinx-rtd-theme</p>
+<p>While testing the build, some files that <em>should not be committed to the remote repository</em>, will be
+autogenerated in the folder <code class="docutils literal notranslate"><span class="pre">docs-source/source/auto_examples/</span></code>. If these are committed nothing will really happen,
+except for the PR probably being longer than expected and could confuse the reviewers if they are not aware of this.
+To avoid it there are two two options:</p>
+<ol class="arabic simple">
+<li><p>Don’t stage the files inside the folder <code class="docutils literal notranslate"><span class="pre">docs-source/source/auto_examples/</span></code>, or</p></li>
+<li><p>add the folder <code class="docutils literal notranslate"><span class="pre">docs-source/source/auto_examples/</span></code> to the file <code class="docutils literal notranslate"><span class="pre">.git/info/exclude</span></code> to locally exclude the folder
+from any commit. You can use your IDE git integration to locally exclude files
+(e.g. <a class="reference external" href="https://www.jetbrains.com/help/pycharm/set-up-a-git-repository.html#ignore-files">PyCharm</a>).</p></li>
+</ol>
+<p>Once you taken care of the above, do the following:</p>
+<ol class="arabic simple">
+<li><p>Install the dependencies needed to build the documentation:</p></li>
+</ol>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span class="prompt2">poetry install --with docs</span>
+</pre></div></div><ol class="arabic simple" start="2">
+<li><p>In your terminal, go to the folder <code class="docutils literal notranslate"><span class="pre">docs-source/</span></code></p></li>
+<li><p>Clean the previous build (if any) using</p></li>
+</ol>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span class="prompt2">make clean</span>
+</pre></div></div><ol class="arabic simple" start="4">
+<li><p>Build the documentation with</p></li>
+</ol>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span class="prompt2">make html</span>
+</pre></div></div><ol class="arabic" start="5">
+<li><p>If there were errors during the build, address them and repeat steps 2-3.</p></li>
+<li><p>If the build was successful, open the html file located in <cite>build/html/index.html</cite> and review it navigating to the
+section(s) relevant to your new function.</p>
+<p>For mac users the file can be opened with the following command:</p>
+</li>
+</ol>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span class="prompt2">open build/html/index.html</span>
+</pre></div></div><ol class="arabic simple" start="7">
+<li><p>Once satisfied with the documentation, commit and push the changes.</p></li>
+</ol>
+</section>
+<section id="version-your-algorithm">
+<h3>Version your algorithm<a class="headerlink" href="#version-your-algorithm" title="Link to this heading"></a></h3>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>This section is only relevant if you are changing an existing function in InDSL.</p>
+</div>
+<p>For industrial applications, consistency and reproducibility of calculation results is of critical importance.
+For this reason, InDSL keeps a version history of InDSL functions that developers user can choose from.
+Older versions can be marked as deprecated to notify users that a new version is available.
+The example <a class="reference internal" href="auto_examples/versioning/versioned_function.html#sphx-glr-auto-examples-versioning-versioned-function-py"><span class="std std-ref">Function versioning</span></a> demonstrates in more detail how the function versioning works in InDSL.</p>
+<section id="do-i-need-to-version-my-algorithm">
+<h4>Do I need to version my algorithm?<a class="headerlink" href="#do-i-need-to-version-my-algorithm" title="Link to this heading"></a></h4>
+<p>You need to version your algorithm if:</p>
+<ol class="arabic simple">
+<li><p>You are changing an existing InDSL function, and one of the following conditions holds:</p>
+<ul class="simple">
+<li><p>The signature of the new function is incompatible with the old function. For instance if a parameter was renamed or a new parameter was added without a default value.</p></li>
+<li><p>The modifications change the function output for any given input.</p></li>
+</ul>
+</li>
+<li><p>You are changing a helper function that is used by other InDSL functions. In that case you need to version the helper function and all affected InDSL functions.</p></li>
+</ol>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>In order to avoid code duplication, one should explore if the modifications can be implemented in a backwards-compatible manner (for instance through a new parameter with a default value).</p>
+</div>
+</section>
+<section id="how-do-i-version-my-function">
+<h4>How do I version my function?<a class="headerlink" href="#how-do-i-version-my-function" title="Link to this heading"></a></h4>
+<p>As an example, we consider a function <cite>myfunc</cite> in <cite>mymod.py</cite>.
+A new function version is released through the following steps.</p>
+<ol class="arabic">
+<li><p>Move the function from <cite>mymod.py</cite> to <cite>mymod_vX.py</cite>, where <cite>X</cite> denotes the current function version. If the function is not versioned yet, create the file <cite>mymod_v1.py</cite>.</p></li>
+<li><p>If not already present, add the <code class="xref py py-func docutils literal notranslate"><span class="pre">versioning.register()</span></code> decorator to the function. Specifically,</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># file: mymod_v1.py</span>
 <span class="k">def</span> <span class="nf">myfunc</span><span class="p">(</span><span class="o">...</span><span class="p">)</span>
    <span class="c1"># old implementation</span>
-</pre>
-                            </div>
-                          </div>
-                          <p>becomes:</p>
-                          <div class="highlight-python notranslate">
-                            <div class="highlight">
-                              <pre><span></span><span class="c1"># file: mymod_v1.py</span>
+</pre></div>
+</div>
+<p>becomes:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># file: mymod_v1.py</span>
 <span class="kn">from</span> <span class="nn">indsl</span> <span class="kn">import</span> <span class="n">versioning</span>
 
 <span class="nd">@versioning</span><span class="o">.</span><span class="n">register</span><span class="p">(</span><span class="n">version</span><span class="o">=</span><span class="s2">&quot;1.0&quot;</span><span class="p">,</span> <span class="n">deprecated</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
 <span class="k">def</span> <span class="nf">myfunc</span><span class="p">(</span><span class="o">...</span><span class="p">)</span>
    <span class="c1"># old implementation</span>
-</pre>
-                            </div>
-                          </div>
-                          <p><strong>Note</strong>: The first version of any function <strong>must</strong> be 1.0! Also
-                            note that <code
-                              class="code docutils literal notranslate"><span class="pre">deprecated=True</span></code>:
-                            InDSL allows at most
-                            one non-deprecated version. For functions already in CHARTS, deprecating all versions will
-                            remove the functions from the front-end.</p>
-                        </li>
-                        <li>
-                          <p>Add the new implementation to <cite>mymod.py</cite> and import <cite>mymod_v1.py</cite>.
-                            The modified <cite>mymod.py</cite> file will look like:</p>
-                          <div class="highlight-python notranslate">
-                            <div class="highlight">
-                              <pre><span></span><span class="c1"># file: mymod.py</span>
+</pre></div>
+</div>
+<p><strong>Note</strong>: The first version of any function <strong>must</strong> be 1.0! Also note that <code class="code docutils literal notranslate"><span class="pre">deprecated=True</span></code>: InDSL allows at most
+one non-deprecated version. For functions already in CHARTS, deprecating all versions will remove the functions from the front-end.</p>
+</li>
+<li><p>Add the new implementation to <cite>mymod.py</cite> and import <cite>mymod_v1.py</cite>. The modified <cite>mymod.py</cite> file will look like:</p>
+<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="c1"># file: mymod.py</span>
 <span class="kn">from</span> <span class="nn">indsl</span> <span class="kn">import</span> <span class="n">versioning</span>
 <span class="kn">from</span> <span class="nn">.</span> <span class="kn">import</span> <span class="n">mymod_v1</span>  <span class="c1"># noqa</span>
 
 <span class="nd">@versioning</span><span class="o">.</span><span class="n">register</span><span class="p">(</span><span class="n">version</span><span class="o">=</span><span class="s2">&quot;2.0&quot;</span><span class="p">,</span> <span class="n">changelog</span><span class="o">=</span><span class="s2">&quot;Describe here how the function changed compared to the previous version&quot;</span><span class="p">)</span>
 <span class="k">def</span> <span class="nf">myfunc</span><span class="p">(</span><span class="o">...</span><span class="p">)</span>
    <span class="c1"># new implementation</span>
-</pre>
-                            </div>
-                          </div>
-                          <p>Make sure to increment the version number (a single positive integer) of the new
-                            implementation. Optionally, non-breaking changes can be versioned.
-                            In that case follow the <a class="reference external" href="https://semver.org/">semantic
-                              versioning guidelines</a>.</p>
-                        </li>
-                        <li>
-                          <p>Make sure the all versions of the function <cite>myfunc</cite> are tested. If the tests of
-                            the most recent version are in <cite>test_mymod.py</cite>, tests for the deprecated
-                            function can be placed in <cite>test_mymod_v1.py</cite>.</p>
-                        </li>
-                      </ol>
-                    </section>
-                  </section>
-                  <section id="create-a-pull-request">
-                    <h3>Create a pull request<a class="headerlink" href="#create-a-pull-request"
-                        title="Permalink to this heading"></a></h3>
-                    <p>Before a PR is merged it needs to be approved by of our internal developers. If you expect to
-                      keep on working on your
-                      algorithm and are not ready to start the review process, please label the PR as a <code
-                        class="docutils literal notranslate"><span class="pre">draft</span></code>.</p>
-                    <p>To make the review process a better experience, we encourage complying with the following
-                      guidelines:</p>
-                    <ol class="arabic">
-                      <li>
-                        <p>Give your pull request a helpful title. If it is part of a <a class="reference external"
-                            href="https://cognitedata.atlassian.net/jira/software/projects/PI/boards/402/backlog">JIRA
-                            task in our development backlog</a>, please add the task reference so
-                          it can be tracked by our team. If you are fixing a bug or improving documentation, using “BUG
-                          &lt;ISSUE TITLE&gt;” and
-                          “DOC &lt;DESCRIPTION&gt;” is enough.</p>
-                      </li>
-                      <li>
-                        <p>Make sure your code passes all the tests. You could run <code
-                            class="docutils literal notranslate"><span class="pre">pytest</span></code> globally, but
-                          this is not recommended as it
-                          will take a long time as our library grows. Typically, running a few tests only on your new
-                          algorithm is enough.
-                          For example, if you created a <code
-                            class="docutils literal notranslate"><span class="pre">new_algorithm</span></code> in the
-                          <code class="docutils literal notranslate"><span class="pre">smooth</span></code> toolbox and
-                          added the tests
-                          <code
-                            class="docutils literal notranslate"><span class="pre">test_new_algorithm.py</span></code>:
-                        </p>
-                        <ul class="simple">
-                          <li>
-                            <p><code
-                                class="docutils literal notranslate"><span class="pre">pytest</span> <span class="pre">tests/smooth/test_new_algorithm.py</span></code>
-                              to run the tests specific to your algorithm</p>
-                          </li>
-                          <li>
-                            <p><code
-                                class="docutils literal notranslate"><span class="pre">pytest</span> <span class="pre">tests/smooth</span></code>
-                              to run the whole tests for the <code
-                                class="docutils literal notranslate"><span class="pre">smooth</span></code> toolbox
-                              module</p>
-                          </li>
-                        </ul>
-                        <blockquote>
-                          <div></div>
-                        </blockquote>
-                      </li>
-                      <li>
-                        <p>Make sure your code is properly commented and documented. We can not highlight enough how
-                          important documenting
-                          your algorithm is for the succes of this product.</p>
-                      </li>
-                      <li>
-                        <p>Make sure the documentation renders properly. For details on how to build the documentation.
-                          Check our documentation guidelines (WIP). The official documentation will be built and
-                          deployed by our CI/CD workflows.</p>
-                      </li>
-                      <li>
-                        <p>Make sure the function renders properly in the UI.
-                          To preview the function node access the storybook build results url, which can be found in the
-                          PR comments.
-                          In chromatic, scroll down and inspect the stories for the function.</p>
-                      </li>
-                      <li>
-                        <p>Add test to all new algorithms or improvements to algorithms. These test add robustness to
-                          our code base and
-                          ensure that future modifications comply with the desired behavior of the algorithm.</p>
-                      </li>
-                      <li>
-                        <p>Run <code class="docutils literal notranslate"><span class="pre">black</span></code> to
-                          auto-format your code contributions. Our pre-commit will run black for the entire project once
-                          you
-                          are ready to commit and push to the remote branch. But this can take some time as our code
-                          base grows. Therefore, it
-                          is good practice to run periodically run <code
-                            class="docutils literal notranslate"><span class="pre">black</span></code> only for your new
-                          code.</p>
-                      </li>
-                    </ol>
-                    <div class="highlight-default notranslate">
-                      <div class="highlight">
-                        <pre><span class="prompt1">black<span class="w"> </span><span class="o">{</span>source_file_or_directory<span class="o">}</span></span>
-</pre>
-                      </div>
-                    </div>
-                    <p>This is not an exact list of requirements or guidelines. If you have suggestions, don’t hesitate
-                      to submit an issue or
-                      a PR with enhancement to this document.</p>
-                    <p>Finally, once you have completed your new contribution, sync with the remote/main branch one last
-                      in case there have
-                      been any recent changes to the code base:</p>
-                    <div class="highlight-default notranslate">
-                      <div class="highlight">
-                        <pre><span class="prompt1">git<span class="w"> </span>checkout<span class="w"> </span>main</span>
+</pre></div>
+</div>
+<p>Make sure to increment the version number (a single positive integer) of the new implementation. Optionally, non-breaking changes can be versioned.
+In that case follow the <a class="reference external" href="https://semver.org/">semantic versioning guidelines</a>.</p>
+</li>
+<li><p>Make sure the all versions of the function <cite>myfunc</cite> are tested. If the tests of the most recent version are in <cite>test_mymod.py</cite>, tests for the deprecated
+function can be placed in <cite>test_mymod_v1.py</cite>.</p></li>
+</ol>
+</section>
+</section>
+<section id="create-a-pull-request">
+<h3>Create a pull request<a class="headerlink" href="#create-a-pull-request" title="Link to this heading"></a></h3>
+<p>Before a PR is merged it needs to be approved by of our internal developers. If you expect to keep on working on your
+algorithm and are not ready to start the review process, please label the PR as a <code class="docutils literal notranslate"><span class="pre">draft</span></code>.</p>
+<p>To make the review process a better experience, we encourage complying with the following guidelines:</p>
+<ol class="arabic">
+<li><p>Give your pull request a helpful title. If it is part of a <a class="reference external" href="https://cognitedata.atlassian.net/jira/software/projects/PI/boards/402/backlog">JIRA task in our development backlog</a>, please add the task reference so
+it can be tracked by our team. If you are fixing a bug or improving documentation, using “BUG &lt;ISSUE TITLE&gt;” and
+“DOC &lt;DESCRIPTION&gt;” is enough.</p></li>
+<li><p>Make sure your code passes all the tests. You could run <code class="docutils literal notranslate"><span class="pre">pytest</span></code> globally, but this is not recommended as it
+will take a long time as our library grows. Typically, running a few tests only on your new algorithm is enough.
+For example, if you created a <code class="docutils literal notranslate"><span class="pre">new_algorithm</span></code> in the <code class="docutils literal notranslate"><span class="pre">smooth</span></code> toolbox and added the tests
+<code class="docutils literal notranslate"><span class="pre">test_new_algorithm.py</span></code>:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">pytest</span> <span class="pre">tests/smooth/test_new_algorithm.py</span></code> to run the tests specific to your algorithm</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">pytest</span> <span class="pre">tests/smooth</span></code> to run the whole tests for the <code class="docutils literal notranslate"><span class="pre">smooth</span></code> toolbox module</p></li>
+</ul>
+<blockquote>
+<div></div></blockquote>
+</li>
+<li><p>Make sure your code is properly commented and documented. We can not highlight enough how important documenting
+your algorithm is for the succes of this product.</p></li>
+<li><p>Make sure the documentation renders properly. For details on how to build the documentation. Check our documentation guidelines (WIP). The official documentation will be built and deployed by our CI/CD workflows.</p></li>
+<li><p>Make sure the function renders properly in the UI.
+To preview the function node access the storybook build results url, which can be found in the PR comments.
+In chromatic, scroll down and inspect the stories for the function.</p></li>
+<li><p>Add test to all new algorithms or improvements to algorithms. These test add robustness to our code base and
+ensure that future modifications comply with the desired behavior of the algorithm.</p></li>
+<li><p>Run <code class="docutils literal notranslate"><span class="pre">black</span></code> to auto-format your code contributions. Our pre-commit will run black for the entire project once you
+are ready to commit and push to the remote branch. But this can take some time as our code base grows. Therefore, it
+is good practice to run periodically run <code class="docutils literal notranslate"><span class="pre">black</span></code> only for your new code.</p></li>
+</ol>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span class="prompt1">black<span class="w"> </span><span class="o">{</span>source_file_or_directory<span class="o">}</span></span>
+</pre></div></div><p>This is not an exact list of requirements or guidelines. If you have suggestions, don’t hesitate to submit an issue or
+a PR with enhancement to this document.</p>
+<p>Finally, once you have completed your new contribution, sync with the remote/main branch one last in case there have
+been any recent changes to the code base:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span class="prompt1">git<span class="w"> </span>checkout<span class="w"> </span>main</span>
 <span class="prompt1">git<span class="w"> </span>pull</span>
 <span class="prompt1">git<span class="w"> </span>checkout<span class="w"> </span><span class="o">{</span>my_branch_name<span class="o">}</span></span>
 <span class="prompt1">git<span class="w"> </span>merge<span class="w"> </span>main</span>
-</pre>
-                      </div>
-                    </div>
-                    <p>Then use <code
-                        class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">add</span></code>,
-                      <code
-                        class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">commit</span></code>,
-                      and <code
-                        class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">push</span></code>
-                      to record your new algorithm and send it to the remote
-                      repository:</p>
-                    <div class="highlight-default notranslate">
-                      <div class="highlight">
-                        <pre><span class="prompt1">git<span class="w"> </span>add<span class="w"> </span>.</span>
+</pre></div></div><p>Then use <code class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">add</span></code>, <code class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">commit</span></code>, and <code class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">push</span></code> to record your new algorithm and send it to the remote
+repository:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span class="prompt1">git<span class="w"> </span>add<span class="w"> </span>.</span>
 <span class="prompt1">git<span class="w"> </span>commit<span class="w"> </span>-m<span class="w"> </span><span class="s2">&quot;Explicit commit message&quot;</span></span>
 <span class="prompt1">git<span class="w"> </span>push</span>
-</pre>
-                      </div>
-                    </div>
-                    <p>Go to the <a class="reference external" href="https://github.com/cognitedata/indsl/pulls">InDSL
-                        repository PR page</a>, start
-                      a <code
-                        class="docutils literal notranslate"><span class="pre">New</span> <span class="pre">pull</span> <span class="pre">request</span></code>
-                      and let the review process begin.</p>
-                  </section>
-                </section>
-                <section id="contributing-a-free-form-algorithm">
-                  <h2>Contributing a free form algorithm<a class="headerlink" href="#contributing-a-free-form-algorithm"
-                      title="Permalink to this heading"></a></h2>
-                  <p>It is possible to contribute to InDSL without the algorithm being exposed in the CHARTS
-                    application.
-                    In this case, the algorithm will only be available to users who install the InDSL python package.
-                    It <strong>should not</strong> be included in the <code
-                      class="docutils literal notranslate"><span class="pre">__cognite__</span></code> attribute of the
-                    toolbox <cite>__init__.py</cite> file.
-                    Although the algorithm doesn’t need to meet the requirements mentioned in the <span
-                      class="xref std std-ref">previous</span> section, it is still important to</p>
-                  <blockquote>
-                    <div>
-                      <p>document it properly, add all necessary tests and potentially an example to the documentation.
-                      </p>
-                    </div>
-                  </blockquote>
-                </section>
-                <section id="coding-style">
-                  <h2>Coding Style<a class="headerlink" href="#coding-style" title="Permalink to this heading"></a>
-                  </h2>
-                  <dl class="simple">
-                    <dt>To ensure consistency throughout the code, we recommend using the following style conventions
-                      when contributing to the library:</dt>
-                    <dd>
-                      <ul class="simple">
-                        <li>
-                          <p>Call the time series parameter of your function <code
-                              class="docutils literal notranslate"><span class="pre">data</span></code> unless a more
-                            specific name can be given, like <code
-                              class="docutils literal notranslate"><span class="pre">pressure</span></code> or <code
-                              class="docutils literal notranslate"><span class="pre">temperature</span></code>.</p>
-                        </li>
-                        <li>
-                          <p>Use abbreviations when defining the types of function arguments. For example <code
-                              class="docutils literal notranslate"><span class="pre">pd.</span></code> instead of <code
-                              class="docutils literal notranslate"><span class="pre">pandas</span></code>.</p>
-                        </li>
-                      </ul>
-                    </dd>
-                  </dl>
-                  <p>Reviewer guidelines</p>
-                  <p>Any InDSL function that is exposed in the CHARTS application (i.e. any function that is listed in
-                    <cite>__cognite__</cite> in the <cite>__init__.py</cite> files), must be reviewed by a member of the
-                    CHARTS development team.</p>
-                </section>
-              </section>
+</pre></div></div><p>Go to the <a class="reference external" href="https://github.com/cognitedata/indsl/pulls">InDSL repository PR page</a>, start
+a <code class="docutils literal notranslate"><span class="pre">New</span> <span class="pre">pull</span> <span class="pre">request</span></code> and let the review process begin.</p>
+</section>
+</section>
+<section id="contributing-a-free-form-algorithm">
+<h2>Contributing a free form algorithm<a class="headerlink" href="#contributing-a-free-form-algorithm" title="Link to this heading"></a></h2>
+<p>It is possible to contribute to InDSL without the algorithm being exposed in the CHARTS application.
+In this case, the algorithm will only be available to users who install the InDSL python package.
+It  <strong>should not</strong> be included in the <code class="docutils literal notranslate"><span class="pre">__cognite__</span></code> attribute of the toolbox <cite>__init__.py</cite> file.
+Although the algorithm doesn’t need to meet the requirements mentioned in the <span class="xref std std-ref">previous</span> section, it is still important to</p>
+<blockquote>
+<div><p>document it properly, add all necessary tests and potentially an example to the documentation.</p>
+</div></blockquote>
+</section>
+<section id="coding-style">
+<h2>Coding Style<a class="headerlink" href="#coding-style" title="Link to this heading"></a></h2>
+<dl class="simple">
+<dt>To ensure consistency throughout the code, we recommend using the following style conventions when contributing to the library:</dt><dd><ul class="simple">
+<li><p>Call the time series parameter of your function <code class="docutils literal notranslate"><span class="pre">data</span></code> unless a more specific name can be given, like <code class="docutils literal notranslate"><span class="pre">pressure</span></code> or <code class="docutils literal notranslate"><span class="pre">temperature</span></code>.</p></li>
+<li><p>Use abbreviations when defining the types of function arguments. For example <code class="docutils literal notranslate"><span class="pre">pd.</span></code> instead of <code class="docutils literal notranslate"><span class="pre">pandas</span></code>.</p></li>
+</ul>
+</dd>
+</dl>
+<p>Reviewer guidelines</p>
+<p>Any InDSL function that is exposed in the CHARTS application (i.e. any function that is listed in <cite>__cognite__</cite> in the <cite>__init__.py</cite> files), must be reviewed by a member of the CHARTS development team.</p>
+</section>
+</section>
 
 
-            </div>
+           </div>
           </div>
-          <footer>
-            <div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-              <a href="auto_examples/versioning/versioned_function.html" class="btn btn-neutral float-left"
-                title="Function versioning" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"
-                  aria-hidden="true"></span> Previous</a>
-              <a href="code_of_conduct.html" class="btn btn-neutral float-right" title="Code of Conduct" accesskey="n"
-                rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
-            </div>
-
-            <hr />
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="auto_examples/versioning/versioned_function.html" class="btn btn-neutral float-left" title="Function versioning" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="code_of_conduct.html" class="btn btn-neutral float-right" title="Code of Conduct" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
 
-            <div role="contentinfo">
-              <p>&#169; Copyright 2021, Cognite AS &lt;support@cognite.com&gt;.</p>
-            </div>
+  <hr/>
 
-            Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
-            <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
-            provided by <a href="https://readthedocs.org">Read the Docs</a>.
+  <div role="contentinfo">
+    <p>&#169; Copyright 2021, Cognite AS &lt;support@cognite.com&gt;.</p>
+  </div>
 
+  Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    provided by <a href="https://readthedocs.org">Read the Docs</a>.
+   
 
-          </footer>
+</footer>
         </div>
       </div>
     </section>
   </div>
   <script>
-    jQuery(function () {
-      SphinxRtdTheme.Navigation.enable(true);
-    });
-  </script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
 
 </body>
-
 </html>
\ No newline at end of file
diff --git a/docs/data_quality.html b/docs/data_quality.html
index 089bef3a..0e7696cf 100644
--- a/docs/data_quality.html
+++ b/docs/data_quality.html
@@ -18,9 +18,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
@@ -161,14 +161,14 @@
            <div itemprop="articleBody">
              
   <section id="data-quality">
-<h1>Data Quality<a class="headerlink" href="#data-quality" title="Permalink to this heading"></a></h1>
+<h1>Data Quality<a class="headerlink" href="#data-quality" title="Link to this heading"></a></h1>
 <section id="completeness">
-<h2>Completeness<a class="headerlink" href="#completeness" title="Permalink to this heading"></a></h2>
+<h2>Completeness<a class="headerlink" href="#completeness" title="Link to this heading"></a></h2>
 <section id="completeness-score">
-<h3>Completeness Score<a class="headerlink" href="#completeness-score" title="Permalink to this heading"></a></h3>
+<h3>Completeness Score<a class="headerlink" href="#completeness-score" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.data_quality.completeness.completeness_score">
-<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.completeness.</span></span><span class="sig-name descname"><span class="pre">completeness_score</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff_good</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.8</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff_med</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.6</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method_period</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'median'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="headerlink" href="#indsl.data_quality.completeness.completeness_score" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.completeness.</span></span><span class="sig-name descname"><span class="pre">completeness_score</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff_good</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.8</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff_med</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.6</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method_period</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'median'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="headerlink" href="#indsl.data_quality.completeness.completeness_score" title="Link to this definition"></a></dt>
 <dd><p>Completeness score.</p>
 <p>This function determines the completeness of a time series from a completeness score.
 The score is a function of the inferred data sampling period
@@ -232,12 +232,12 @@ <h3>Completeness Score<a class="headerlink" href="#completeness-score" title="Pe
 </aside>
 </section>
 <section id="data-gaps-detection">
-<h3>Data Gaps Detection<a class="headerlink" href="#data-gaps-detection" title="Permalink to this heading"></a></h3>
+<h3>Data Gaps Detection<a class="headerlink" href="#data-gaps-detection" title="Link to this heading"></a></h3>
 <section id="using-z-scores">
-<h4>Using Z scores<a class="headerlink" href="#using-z-scores" title="Permalink to this heading"></a></h4>
+<h4>Using Z scores<a class="headerlink" href="#using-z-scores" title="Link to this heading"></a></h4>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.data_quality.gaps_identification_z_scores">
-<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">gaps_identification_z_scores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">3.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">test_normality_assumption</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.gaps_identification_z_scores" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">gaps_identification_z_scores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">3.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">test_normality_assumption</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.gaps_identification_z_scores" title="Link to this definition"></a></dt>
 <dd><p>Gaps detection, Z-scores.</p>
 <p>This function detects gaps in the time stamps using <a class="reference external" href="https://en.wikipedia.org/wiki/Standard_score">Z-scores</a>. Z-score stands for
 the number of standard deviations by which the value of a raw score (i.e., an observed value or data point) is
@@ -284,10 +284,10 @@ <h4>Using Z scores<a class="headerlink" href="#using-z-scores" title="Permalink
 </aside>
 </section>
 <section id="using-modified-z-scores">
-<h4>Using modified Z scores<a class="headerlink" href="#using-modified-z-scores" title="Permalink to this heading"></a></h4>
+<h4>Using modified Z scores<a class="headerlink" href="#using-modified-z-scores" title="Link to this heading"></a></h4>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.data_quality.gaps_identification_modified_z_scores">
-<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">gaps_identification_modified_z_scores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">3.5</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.gaps_identification_modified_z_scores" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">gaps_identification_modified_z_scores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">3.5</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.gaps_identification_modified_z_scores" title="Link to this definition"></a></dt>
 <dd><p>Gaps detection, mod. Z-scores.</p>
 <p>Detect gaps in the time stamps using modified Z-scores. Gaps are defined as time periods
 where the Z-score is larger than cutoff.</p>
@@ -327,10 +327,10 @@ <h4>Using modified Z scores<a class="headerlink" href="#using-modified-z-scores"
 </aside>
 </section>
 <section id="using-the-interquartile-range-method">
-<h4>Using the interquartile range method<a class="headerlink" href="#using-the-interquartile-range-method" title="Permalink to this heading"></a></h4>
+<h4>Using the interquartile range method<a class="headerlink" href="#using-the-interquartile-range-method" title="Link to this heading"></a></h4>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.data_quality.gaps_identification_iqr">
-<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">gaps_identification_iqr</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.gaps_identification_iqr" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">gaps_identification_iqr</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.gaps_identification_iqr" title="Link to this definition"></a></dt>
 <dd><p>Gaps detection, IQR.</p>
 <p>Detect gaps in the time stamps using the <a class="reference external" href="https://en.wikipedia.org/wiki/Interquartile_range">interquartile range (IQR)</a> method. The IQR is a measure of statistical
 dispersion, which is the spread of the data. Any time steps more than 1.5 IQR above Q3 are considered
@@ -366,10 +366,10 @@ <h4>Using the interquartile range method<a class="headerlink" href="#using-the-i
 </aside>
 </section>
 <section id="using-a-time-delta-threshold">
-<h4>Using a time delta threshold<a class="headerlink" href="#using-a-time-delta-threshold" title="Permalink to this heading"></a></h4>
+<h4>Using a time delta threshold<a class="headerlink" href="#using-a-time-delta-threshold" title="Link to this heading"></a></h4>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.data_quality.gaps_identification_threshold">
-<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">gaps_identification_threshold</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_delta</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:05:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.gaps_identification_threshold" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">gaps_identification_threshold</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_delta</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:05:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.gaps_identification_threshold" title="Link to this definition"></a></dt>
 <dd><p>Gaps detection, threshold.</p>
 <p>Detect gaps in the time stamps using a timedelta threshold.</p>
 <dl class="field-list simple">
@@ -409,12 +409,12 @@ <h4>Using a time delta threshold<a class="headerlink" href="#using-a-time-delta-
 </section>
 </section>
 <section id="low-data-density">
-<h3>Low data density<a class="headerlink" href="#low-data-density" title="Permalink to this heading"></a></h3>
+<h3>Low data density<a class="headerlink" href="#low-data-density" title="Link to this heading"></a></h3>
 <section id="id1">
-<h4>Using Z scores<a class="headerlink" href="#id1" title="Permalink to this heading"></a></h4>
+<h4>Using Z scores<a class="headerlink" href="#id1" title="Link to this heading"></a></h4>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.data_quality.low_density_identification_z_scores">
-<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">low_density_identification_z_scores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:05:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">-3.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">test_normality_assumption</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.low_density_identification_z_scores" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">low_density_identification_z_scores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:05:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">-3.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">test_normality_assumption</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.low_density_identification_z_scores" title="Link to this definition"></a></dt>
 <dd><p>Low density, Z-scores.</p>
 <p>Detect periods with low density of data points using <a class="reference external" href="https://en.wikipedia.org/wiki/Standard_score">Z-scores</a>. Z-score stands for
 the number of standard deviations by which the value of a raw score (i.e., an observed value or data point) is
@@ -464,10 +464,10 @@ <h4>Using Z scores<a class="headerlink" href="#id1" title="Permalink to this hea
 </aside>
 </section>
 <section id="id3">
-<h4>Using modified Z scores<a class="headerlink" href="#id3" title="Permalink to this heading"></a></h4>
+<h4>Using modified Z scores<a class="headerlink" href="#id3" title="Link to this heading"></a></h4>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.data_quality.low_density_identification_modified_z_scores">
-<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">low_density_identification_modified_z_scores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:05:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">-3.5</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.low_density_identification_modified_z_scores" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">low_density_identification_modified_z_scores</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:05:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">-3.5</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.low_density_identification_modified_z_scores" title="Link to this definition"></a></dt>
 <dd><p>Low density, mod.Z-scores.</p>
 <p>Detect periods with a low density of data points using modified Z-scores.
 Low density periods are defined as time periods where the Z-score is lower than the cutoff.</p>
@@ -509,10 +509,10 @@ <h4>Using modified Z scores<a class="headerlink" href="#id3" title="Permalink to
 </aside>
 </section>
 <section id="id4">
-<h4>Using the interquartile range method<a class="headerlink" href="#id4" title="Permalink to this heading"></a></h4>
+<h4>Using the interquartile range method<a class="headerlink" href="#id4" title="Link to this heading"></a></h4>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.data_quality.low_density_identification_iqr">
-<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">low_density_identification_iqr</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:05:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.low_density_identification_iqr" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">low_density_identification_iqr</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:05:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.low_density_identification_iqr" title="Link to this definition"></a></dt>
 <dd><p>Low density, IQR.</p>
 <p>Detect periods with a low density of data points using the <a class="reference external" href="https://en.wikipedia.org/wiki/Interquartile_range">interquartile range (IQR)</a> method. The IQR is a measure of statistical
 dispersion, which is the spread of the data. Densities that are more than 1.5 IQR below Q1 are considered
@@ -552,10 +552,10 @@ <h4>Using the interquartile range method<a class="headerlink" href="#id4" title=
 </aside>
 </section>
 <section id="using-a-density-threshold">
-<h4>Using a density threshold<a class="headerlink" href="#using-a-density-threshold" title="Permalink to this heading"></a></h4>
+<h4>Using a density threshold<a class="headerlink" href="#using-a-density-threshold" title="Link to this heading"></a></h4>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.data_quality.low_density_identification_threshold">
-<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">low_density_identification_threshold</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:05:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">10</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.low_density_identification_threshold" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">low_density_identification_threshold</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:05:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">10</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.low_density_identification_threshold" title="Link to this definition"></a></dt>
 <dd><p>Low density, threshold.</p>
 <p>Detect periods with a low density of points using a time delta threshold as a cut-off value.</p>
 <dl class="field-list simple">
@@ -596,10 +596,10 @@ <h4>Using a density threshold<a class="headerlink" href="#using-a-density-thresh
 </section>
 </section>
 <section id="rolling-standard-deviation-of-time-delta">
-<h3>Rolling standard deviation of time delta<a class="headerlink" href="#rolling-standard-deviation-of-time-delta" title="Permalink to this heading"></a></h3>
+<h3>Rolling standard deviation of time delta<a class="headerlink" href="#rolling-standard-deviation-of-time-delta" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.data_quality.rolling_stddev_timedelta">
-<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">rolling_stddev_timedelta</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:15:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_periods</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.rolling_stddev_timedelta" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">rolling_stddev_timedelta</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:15:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_periods</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.rolling_stddev_timedelta" title="Link to this definition"></a></dt>
 <dd><p>Rolling stdev of time delta.</p>
 <p>Rolling standard deviation computed for the time deltas of the observations. This
 metric aims to measure the amount of variation or dispersion in the frequency of time series data points.</p>
@@ -641,12 +641,12 @@ <h3>Rolling standard deviation of time delta<a class="headerlink" href="#rolling
 </section>
 </section>
 <section id="validity">
-<h2>Validity<a class="headerlink" href="#validity" title="Permalink to this heading"></a></h2>
+<h2>Validity<a class="headerlink" href="#validity" title="Link to this heading"></a></h2>
 <section id="extreme-outliers-removal">
-<h3>Extreme Outliers Removal<a class="headerlink" href="#extreme-outliers-removal" title="Permalink to this heading"></a></h3>
+<h3>Extreme Outliers Removal<a class="headerlink" href="#extreme-outliers-removal" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.data_quality.extreme">
-<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">extreme</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">alpha</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.05</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bc_relaxation</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.167</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">poly_order</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">3</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.extreme" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">extreme</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">alpha</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.05</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bc_relaxation</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.167</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">poly_order</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">3</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.extreme" title="Link to this definition"></a></dt>
 <dd><p>Extreme outliers removal.</p>
 <p>Outlier detector and removal based on the <a class="reference external" href="https://iopscience.iop.org/article/10.1088/0957-0233/16/10/012/meta">paper from Gustavo A. Zarruk</a>. The procedure is as follows:</p>
 <blockquote>
@@ -696,10 +696,10 @@ <h3>Extreme Outliers Removal<a class="headerlink" href="#extreme-outliers-remova
 </aside>
 </section>
 <section id="out-of-range-values">
-<h3>Out of Range Values<a class="headerlink" href="#out-of-range-values" title="Permalink to this heading"></a></h3>
+<h3>Out of Range Values<a class="headerlink" href="#out-of-range-values" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.data_quality.outliers.out_of_range">
-<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.outliers.</span></span><span class="sig-name descname"><span class="pre">out_of_range</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">window_length</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">[20,</span> <span class="pre">20]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">polyorder</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">[3,</span> <span class="pre">3]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">alpha</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">[0.05,</span> <span class="pre">0.05]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bc_relaxation</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">[0.25,</span> <span class="pre">0.5]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">return_outliers</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.outliers.out_of_range" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.outliers.</span></span><span class="sig-name descname"><span class="pre">out_of_range</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">window_length</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">[20,</span> <span class="pre">20]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">polyorder</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">[3,</span> <span class="pre">3]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">alpha</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">[0.05,</span> <span class="pre">0.05]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bc_relaxation</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">[0.25,</span> <span class="pre">0.5]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">return_outliers</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.outliers.out_of_range" title="Link to this definition"></a></dt>
 <dd><p>Out of range.</p>
 <p>The main objective of this function is to detect data points outside the typical range or  unusually far
 from the main trend. The method is data adaptive; i.e. it  should work independent of the data characteristics. The
@@ -784,10 +784,10 @@ <h3>Out of Range Values<a class="headerlink" href="#out-of-range-values" title="
 </aside>
 </section>
 <section id="value-decrease-indication">
-<h3>Value Decrease Indication<a class="headerlink" href="#value-decrease-indication" title="Permalink to this heading"></a></h3>
+<h3>Value Decrease Indication<a class="headerlink" href="#value-decrease-indication" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.data_quality.value_decrease_check">
-<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">value_decrease_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">threshold</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.0</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.value_decrease_check" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">value_decrease_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">threshold</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.0</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.value_decrease_check" title="Link to this definition"></a></dt>
 <dd><p>Decrease in time series values.</p>
 <p>Identify decrease in values of a time series where the values shouldn’t be decreasing over time. One example would
 be Running Hours (or Hour Count) time series - a specific type of time series that is counting the number of running
@@ -837,10 +837,10 @@ <h3>Value Decrease Indication<a class="headerlink" href="#value-decrease-indicat
 </aside>
 </section>
 <section id="datapoint-difference-over-a-period-of-time">
-<h3>Datapoint difference over a period of time<a class="headerlink" href="#datapoint-difference-over-a-period-of-time" title="Permalink to this heading"></a></h3>
+<h3>Datapoint difference over a period of time<a class="headerlink" href="#datapoint-difference-over-a-period-of-time" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.data_quality.datapoint_diff_over_time_period">
-<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">datapoint_diff_over_time_period</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_period</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('1</span> <span class="pre">days</span> <span class="pre">00:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">difference_threshold</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">24</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tolerance</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.datapoint_diff_over_time_period" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.data_quality.</span></span><span class="sig-name descname"><span class="pre">datapoint_diff_over_time_period</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_period</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('1</span> <span class="pre">days</span> <span class="pre">00:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">difference_threshold</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">24</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">tolerance</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.data_quality.datapoint_diff_over_time_period" title="Link to this definition"></a></dt>
 <dd><p>Diff. between two datapoints.</p>
 <p>The function is created in order to automate data quality check for time series with values that shouldn’t be
 increasing more than a certain threshold over a certain amount of hours. For each data point in a given
diff --git a/docs/detect.html b/docs/detect.html
index 2331a938..3b042b3b 100644
--- a/docs/detect.html
+++ b/docs/detect.html
@@ -18,9 +18,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
@@ -149,12 +149,12 @@
            <div itemprop="articleBody">
              
   <section id="detect">
-<h1>Detect<a class="headerlink" href="#detect" title="Permalink to this heading"></a></h1>
+<h1>Detect<a class="headerlink" href="#detect" title="Link to this heading"></a></h1>
 <section id="drift">
-<h2>Drift<a class="headerlink" href="#drift" title="Permalink to this heading"></a></h2>
+<h2>Drift<a class="headerlink" href="#drift" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.detect.drift">
-<span class="sig-prename descclassname"><span class="pre">indsl.detect.</span></span><span class="sig-name descname"><span class="pre">drift</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">long_interval</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('3</span> <span class="pre">days</span> <span class="pre">00:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">short_interval</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">04:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">std_threshold</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">detect</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'decrease'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'increase'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'both'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'both'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.detect.drift" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.detect.</span></span><span class="sig-name descname"><span class="pre">drift</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">long_interval</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('3</span> <span class="pre">days</span> <span class="pre">00:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">short_interval</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">04:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">std_threshold</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">3</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">detect</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'decrease'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'increase'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'both'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'both'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.detect.drift" title="Link to this definition"></a></dt>
 <dd><p>Drift.</p>
 <p>This function detects data drift (deviation) by comparing two rolling averages, short and long interval, of the signal. The
 deviation between the short and long term average is considered significant if it is above a given threshold
@@ -191,10 +191,10 @@ <h2>Drift<a class="headerlink" href="#drift" title="Permalink to this heading">
 
 </section>
 <section id="oscillations">
-<h2>Oscillations<a class="headerlink" href="#oscillations" title="Permalink to this heading"></a></h2>
+<h2>Oscillations<a class="headerlink" href="#oscillations" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.detect.oscillation_detector.oscillation_detector">
-<span class="sig-prename descclassname"><span class="pre">indsl.detect.oscillation_detector.</span></span><span class="sig-name descname"><span class="pre">oscillation_detector</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">order</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">threshold</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.2</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.detect.oscillation_detector.oscillation_detector" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.detect.oscillation_detector.</span></span><span class="sig-name descname"><span class="pre">oscillation_detector</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">order</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">threshold</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.2</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.detect.oscillation_detector.oscillation_detector" title="Link to this definition"></a></dt>
 <dd><p>Oscillations.</p>
 <p>This function identifies if a signal contains one or more oscillatory components. It is based on the paper by Sharma et al. <a class="footnote-reference brackets" href="#id2" id="id1" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a>.
 The method uses Linear Predictive Coding (LPC) and is implemented as a 3 step process:</p>
@@ -259,10 +259,10 @@ <h2>Oscillations<a class="headerlink" href="#oscillations" title="Permalink to t
 </aside>
 </section>
 <section id="change-point-detector-ed-pelt">
-<h2>Change Point detector: ED-PELT<a class="headerlink" href="#change-point-detector-ed-pelt" title="Permalink to this heading"></a></h2>
+<h2>Change Point detector: ED-PELT<a class="headerlink" href="#change-point-detector-ed-pelt" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.detect.cpd_ed_pelt">
-<span class="sig-prename descclassname"><span class="pre">indsl.detect.</span></span><span class="sig-name descname"><span class="pre">cpd_ed_pelt</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_distance</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.detect.cpd_ed_pelt" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.detect.</span></span><span class="sig-name descname"><span class="pre">cpd_ed_pelt</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_distance</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.detect.cpd_ed_pelt" title="Link to this definition"></a></dt>
 <dd><p>Change Point Detection.</p>
 <p>This function detects change points in a time series. The time series is split into “statistically homogeneous” segments using the
 ED Pelt change point detection algorithm while observing the minimum distance argument.</p>
@@ -293,10 +293,10 @@ <h2>Change Point detector: ED-PELT<a class="headerlink" href="#change-point-dete
 </aside>
 </section>
 <section id="change-point-detector-cusum">
-<h2>Change Point detector: CUSUM<a class="headerlink" href="#change-point-detector-cusum" title="Permalink to this heading"></a></h2>
+<h2>Change Point detector: CUSUM<a class="headerlink" href="#change-point-detector-cusum" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.detect.cusum">
-<span class="sig-prename descclassname"><span class="pre">indsl.detect.</span></span><span class="sig-name descname"><span class="pre">cusum</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">threshold</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">drift</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">detect</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'both'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'increase'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'decrease'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'both'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">predict_ending</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">alpha</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.05</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">return_series_type</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'cusum_binary_result'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'mean_data'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'positive_cumulative_sum'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'negative_cumulative_sum'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'cusum_binary_result'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.detect.cusum" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.detect.</span></span><span class="sig-name descname"><span class="pre">cusum</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">threshold</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">drift</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">detect</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'both'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'increase'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'decrease'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'both'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">predict_ending</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">alpha</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.05</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">return_series_type</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'cusum_binary_result'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'mean_data'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'positive_cumulative_sum'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'negative_cumulative_sum'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'cusum_binary_result'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.detect.cusum" title="Link to this definition"></a></dt>
 <dd><p>Cumulative sum (CUSUM).</p>
 <p>This technique calculates the cumulative sum of positive and negative changes (g+t and g−t) in the data (x) and compares them to a threshold.
 When this threshold is exceeded, a change is detected (ttalarm), and the cumulative sum restarts from zero.
@@ -374,10 +374,10 @@ <h2>Change Point detector: CUSUM<a class="headerlink" href="#change-point-detect
 </aside>
 </section>
 <section id="steady-state-detector-change-point">
-<h2>Steady State detector: change point<a class="headerlink" href="#steady-state-detector-change-point" title="Permalink to this heading"></a></h2>
+<h2>Steady State detector: change point<a class="headerlink" href="#steady-state-detector-change-point" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.detect.ssd_cpd">
-<span class="sig-prename descclassname"><span class="pre">indsl.detect.</span></span><span class="sig-name descname"><span class="pre">ssd_cpd</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_distance</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">15</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">var_threshold</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">2.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">slope_threshold</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">-3.0</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.detect.ssd_cpd" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.detect.</span></span><span class="sig-name descname"><span class="pre">ssd_cpd</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_distance</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">15</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">var_threshold</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">2.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">slope_threshold</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">-3.0</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.detect.ssd_cpd" title="Link to this definition"></a></dt>
 <dd><p>Steady State Detection (CPD).</p>
 <p>Detect steady state periods in a time series based on a change point detection algorithm.  The time series is split
 into “statistically homogeneous” segments using the ED Pelt change point detection algorithm. Then each segment is tested with regard
@@ -416,10 +416,10 @@ <h2>Steady State detector: change point<a class="headerlink" href="#steady-state
 </aside>
 </section>
 <section id="steady-state-detector-variance-filter">
-<h2>Steady State detector: variance filter<a class="headerlink" href="#steady-state-detector-variance-filter" title="Permalink to this heading"></a></h2>
+<h2>Steady State detector: variance filter<a class="headerlink" href="#steady-state-detector-variance-filter" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.detect.ssid">
-<span class="sig-prename descclassname"><span class="pre">indsl.detect.</span></span><span class="sig-name descname"><span class="pre">ssid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ratio_lim</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">2.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">alpha1</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">alpha2</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">alpha3</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.1</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.detect.ssid" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.detect.</span></span><span class="sig-name descname"><span class="pre">ssid</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ratio_lim</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">2.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">alpha1</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">alpha2</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">alpha3</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.1</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.detect.ssid" title="Link to this definition"></a></dt>
 <dd><p>Steady state (variance).</p>
 <p>The steady state detector is based on the ration of two variances estimated from the same signal <a class="footnote-reference brackets" href="#id4" id="id3" role="doc-noteref"><span class="fn-bracket">[</span>2<span class="fn-bracket">]</span></a> . The algorithm first
 filters the data using the factor “Alpha 1” and calculates two variances (long and short term) based on the
@@ -469,10 +469,10 @@ <h2>Steady State detector: variance filter<a class="headerlink" href="#steady-st
 
 </section>
 <section id="steady-state-detector-variable-moving-average">
-<h2>Steady State detector: variable moving average<a class="headerlink" href="#steady-state-detector-variable-moving-average" title="Permalink to this heading"></a></h2>
+<h2>Steady State detector: variable moving average<a class="headerlink" href="#steady-state-detector-variable-moving-average" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.detect.vma">
-<span class="sig-prename descclassname"><span class="pre">indsl.detect.</span></span><span class="sig-name descname"><span class="pre">vma</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">window_length</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">10</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.detect.vma" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.detect.</span></span><span class="sig-name descname"><span class="pre">vma</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">window_length</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">10</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.detect.vma" title="Link to this definition"></a></dt>
 <dd><p>Steady state (vma).</p>
 <p>This moving average is designed to become flat (constant value) when the data
 within the lookup window does not vary significantly. It can also be state detector. The calculation is based on
@@ -498,10 +498,10 @@ <h2>Steady State detector: variable moving average<a class="headerlink" href="#s
 
 </section>
 <section id="unchanged-signal-identification">
-<h2>Unchanged signal identification<a class="headerlink" href="#unchanged-signal-identification" title="Permalink to this heading"></a></h2>
+<h2>Unchanged signal identification<a class="headerlink" href="#unchanged-signal-identification" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.detect.unchanged_signal_detector.unchanged_signal_detector">
-<span class="sig-prename descclassname"><span class="pre">indsl.detect.unchanged_signal_detector.</span></span><span class="sig-name descname"><span class="pre">unchanged_signal_detector</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">duration</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_nr_data_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">3</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.detect.unchanged_signal_detector.unchanged_signal_detector" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.detect.unchanged_signal_detector.</span></span><span class="sig-name descname"><span class="pre">unchanged_signal_detector</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">duration</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_nr_data_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">3</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.detect.unchanged_signal_detector.unchanged_signal_detector" title="Link to this definition"></a></dt>
 <dd><p>Unchanged signal detection.</p>
 <p>Detect periods of time when the data stays at a constant value for longer than a given time window.</p>
 <dl class="field-list simple">
diff --git a/docs/dev_tools.html b/docs/dev_tools.html
index 727f694c..4726ca32 100644
--- a/docs/dev_tools.html
+++ b/docs/dev_tools.html
@@ -18,9 +18,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
@@ -153,65 +153,65 @@
            <div itemprop="articleBody">
              
   <section id="developer-utility-functions">
-<h1>Developer utility functions<a class="headerlink" href="#developer-utility-functions" title="Permalink to this heading"></a></h1>
+<h1>Developer utility functions<a class="headerlink" href="#developer-utility-functions" title="Link to this heading"></a></h1>
 <section id="module-indsl.versioning">
-<span id="function-versioning"></span><h2>Function versioning<a class="headerlink" href="#module-indsl.versioning" title="Permalink to this heading"></a></h2>
+<span id="function-versioning"></span><h2>Function versioning<a class="headerlink" href="#module-indsl.versioning" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.versioning.get">
-<span class="sig-prename descclassname"><span class="pre">indsl.versioning.</span></span><span class="sig-name descname"><span class="pre">get</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">version</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Callable</span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">...</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Any</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#indsl.versioning.get" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.versioning.</span></span><span class="sig-name descname"><span class="pre">get</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">version</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Callable</span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">...</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Any</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#indsl.versioning.get" title="Link to this definition"></a></dt>
 <dd><p>Return one of the versions of a function.</p>
 <p>If version is None, the latest version is returned</p>
 </dd></dl>
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.versioning.get_changelog">
-<span class="sig-prename descclassname"><span class="pre">indsl.versioning.</span></span><span class="sig-name descname"><span class="pre">get_changelog</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Callable</span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">...</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Any</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#indsl.versioning.get_changelog" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.versioning.</span></span><span class="sig-name descname"><span class="pre">get_changelog</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Callable</span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">...</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Any</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#indsl.versioning.get_changelog" title="Link to this definition"></a></dt>
 <dd><p>Return changelog of this version.</p>
 <p>If the function is not registered, None is returned</p>
 </dd></dl>
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.versioning.get_name">
-<span class="sig-prename descclassname"><span class="pre">indsl.versioning.</span></span><span class="sig-name descname"><span class="pre">get_name</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Callable</span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">...</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Any</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="headerlink" href="#indsl.versioning.get_name" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.versioning.</span></span><span class="sig-name descname"><span class="pre">get_name</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Callable</span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">...</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Any</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span></span></span><a class="headerlink" href="#indsl.versioning.get_name" title="Link to this definition"></a></dt>
 <dd><p>Return the name with which the function was registered.</p>
 </dd></dl>
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.versioning.get_registered_functions">
-<span class="sig-prename descclassname"><span class="pre">indsl.versioning.</span></span><span class="sig-name descname"><span class="pre">get_registered_functions</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#indsl.versioning.get_registered_functions" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.versioning.</span></span><span class="sig-name descname"><span class="pre">get_registered_functions</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#indsl.versioning.get_registered_functions" title="Link to this definition"></a></dt>
 <dd><p>Return the list of registered function names.</p>
 </dd></dl>
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.versioning.get_version">
-<span class="sig-prename descclassname"><span class="pre">indsl.versioning.</span></span><span class="sig-name descname"><span class="pre">get_version</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Callable</span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">...</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Any</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#indsl.versioning.get_version" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.versioning.</span></span><span class="sig-name descname"><span class="pre">get_version</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Callable</span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">...</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Any</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#indsl.versioning.get_version" title="Link to this definition"></a></dt>
 <dd><p>Return the version of a function.</p>
 <p>If the function is not registered, None is returned</p>
 </dd></dl>
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.versioning.get_versions">
-<span class="sig-prename descclassname"><span class="pre">indsl.versioning.</span></span><span class="sig-name descname"><span class="pre">get_versions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#indsl.versioning.get_versions" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.versioning.</span></span><span class="sig-name descname"><span class="pre">get_versions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#indsl.versioning.get_versions" title="Link to this definition"></a></dt>
 <dd><p>Return the list of available versions of a function name.</p>
 <p>Sorted from low to highest version</p>
 </dd></dl>
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.versioning.is_deprecated">
-<span class="sig-prename descclassname"><span class="pre">indsl.versioning.</span></span><span class="sig-name descname"><span class="pre">is_deprecated</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Callable</span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">...</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Any</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#indsl.versioning.is_deprecated" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.versioning.</span></span><span class="sig-name descname"><span class="pre">is_deprecated</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Callable</span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">...</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Any</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#indsl.versioning.is_deprecated" title="Link to this definition"></a></dt>
 <dd><p>Return true if the version is deprecated.</p>
 <p>If the function is not registered, None is returned</p>
 </dd></dl>
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.versioning.is_versioned">
-<span class="sig-prename descclassname"><span class="pre">indsl.versioning.</span></span><span class="sig-name descname"><span class="pre">is_versioned</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Callable</span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">...</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Any</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#indsl.versioning.is_versioned" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.versioning.</span></span><span class="sig-name descname"><span class="pre">is_versioned</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Callable</span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">...</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Any</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">bool</span></span></span><a class="headerlink" href="#indsl.versioning.is_versioned" title="Link to this definition"></a></dt>
 <dd><p>Return true if the version is versioned.</p>
 </dd></dl>
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.versioning.register">
-<span class="sig-prename descclassname"><span class="pre">indsl.versioning.</span></span><span class="sig-name descname"><span class="pre">register</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">version</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">deprecated</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">changelog</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Callable</span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">...</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Any</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#indsl.versioning.register" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.versioning.</span></span><span class="sig-name descname"><span class="pre">register</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">version</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">deprecated</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">changelog</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Callable</span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">[</span></span><span class="p"><span class="pre">...</span></span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">Any</span><span class="p"><span class="pre">]</span></span></span></span><a class="headerlink" href="#indsl.versioning.register" title="Link to this definition"></a></dt>
 <dd><p>Decorator to register a new versioned function.</p>
 <dl class="field-list simple">
 <dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -251,101 +251,101 @@ <h1>Developer utility functions<a class="headerlink" href="#developer-utility-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.versioning.run">
-<span class="sig-prename descclassname"><span class="pre">indsl.versioning.</span></span><span class="sig-name descname"><span class="pre">run</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">version</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">args</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Sequence</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kwargs</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Any</span></span></span><a class="headerlink" href="#indsl.versioning.run" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.versioning.</span></span><span class="sig-name descname"><span class="pre">run</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">version</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">args</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Sequence</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kwargs</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">dict</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Any</span></span></span><a class="headerlink" href="#indsl.versioning.run" title="Link to this definition"></a></dt>
 <dd><p>Run a version of a function.</p>
 <p>If version is None, the latest version is executed</p>
 </dd></dl>
 
 </section>
 <section id="module-indsl.exceptions">
-<span id="exceptions"></span><h2>Exceptions<a class="headerlink" href="#module-indsl.exceptions" title="Permalink to this heading"></a></h2>
+<span id="exceptions"></span><h2>Exceptions<a class="headerlink" href="#module-indsl.exceptions" title="Link to this heading"></a></h2>
 <dl class="py exception">
 <dt class="sig sig-object py" id="indsl.exceptions.UserException">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">indsl.exceptions.</span></span><span class="sig-name descname"><span class="pre">UserException</span></span><a class="headerlink" href="#indsl.exceptions.UserException" title="Permalink to this definition"></a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">indsl.exceptions.</span></span><span class="sig-name descname"><span class="pre">UserException</span></span><a class="headerlink" href="#indsl.exceptions.UserException" title="Link to this definition"></a></dt>
 <dd><p>Exception raised when the error is due to the user.</p>
 </dd></dl>
 
 <dl class="py exception">
 <dt class="sig sig-object py" id="indsl.exceptions.UserRuntimeError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">indsl.exceptions.</span></span><span class="sig-name descname"><span class="pre">UserRuntimeError</span></span><a class="headerlink" href="#indsl.exceptions.UserRuntimeError" title="Permalink to this definition"></a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">indsl.exceptions.</span></span><span class="sig-name descname"><span class="pre">UserRuntimeError</span></span><a class="headerlink" href="#indsl.exceptions.UserRuntimeError" title="Link to this definition"></a></dt>
 <dd><p>Exception raised when the error in runtime is due to the user.</p>
 </dd></dl>
 
 <dl class="py exception">
 <dt class="sig sig-object py" id="indsl.exceptions.UserTypeError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">indsl.exceptions.</span></span><span class="sig-name descname"><span class="pre">UserTypeError</span></span><a class="headerlink" href="#indsl.exceptions.UserTypeError" title="Permalink to this definition"></a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">indsl.exceptions.</span></span><span class="sig-name descname"><span class="pre">UserTypeError</span></span><a class="headerlink" href="#indsl.exceptions.UserTypeError" title="Link to this definition"></a></dt>
 <dd><p>Exception raised when the user provides a value with the wrong type.</p>
 </dd></dl>
 
 <dl class="py exception">
 <dt class="sig sig-object py" id="indsl.exceptions.UserValueError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">indsl.exceptions.</span></span><span class="sig-name descname"><span class="pre">UserValueError</span></span><a class="headerlink" href="#indsl.exceptions.UserValueError" title="Permalink to this definition"></a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">indsl.exceptions.</span></span><span class="sig-name descname"><span class="pre">UserValueError</span></span><a class="headerlink" href="#indsl.exceptions.UserValueError" title="Link to this definition"></a></dt>
 <dd><p>Exception raised when the user provides a wrong value.</p>
 </dd></dl>
 
 </section>
 <section id="module-indsl.validations">
-<span id="validation-functions"></span><h2>Validation functions<a class="headerlink" href="#module-indsl.validations" title="Permalink to this heading"></a></h2>
+<span id="validation-functions"></span><h2>Validation functions<a class="headerlink" href="#module-indsl.validations" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.validations.validate_series_has_minimum_length">
-<span class="sig-prename descclassname"><span class="pre">indsl.validations.</span></span><span class="sig-name descname"><span class="pre">validate_series_has_minimum_length</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_len</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#indsl.validations.validate_series_has_minimum_length" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.validations.</span></span><span class="sig-name descname"><span class="pre">validate_series_has_minimum_length</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_len</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#indsl.validations.validate_series_has_minimum_length" title="Link to this definition"></a></dt>
 <dd><p>Helper method to validate if provided pandas.Series has the minimum length specified.</p>
 </dd></dl>
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.validations.validate_series_has_time_index">
-<span class="sig-prename descclassname"><span class="pre">indsl.validations.</span></span><span class="sig-name descname"><span class="pre">validate_series_has_time_index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#indsl.validations.validate_series_has_time_index" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.validations.</span></span><span class="sig-name descname"><span class="pre">validate_series_has_time_index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#indsl.validations.validate_series_has_time_index" title="Link to this definition"></a></dt>
 <dd><p>Helper method to validate if provided pandas.Series is of type pandas.DatetimeIndex.</p>
 </dd></dl>
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.validations.validate_series_is_not_empty">
-<span class="sig-prename descclassname"><span class="pre">indsl.validations.</span></span><span class="sig-name descname"><span class="pre">validate_series_is_not_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">DataFrame</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#indsl.validations.validate_series_is_not_empty" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.validations.</span></span><span class="sig-name descname"><span class="pre">validate_series_is_not_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">DataFrame</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#indsl.validations.validate_series_is_not_empty" title="Link to this definition"></a></dt>
 <dd><p>Helper method to validate if provided pandas.Series has more than 0 values.</p>
 </dd></dl>
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.validations.validate_timedelta">
-<span class="sig-prename descclassname"><span class="pre">indsl.validations.</span></span><span class="sig-name descname"><span class="pre">validate_timedelta</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">timedelta</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#indsl.validations.validate_timedelta" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.validations.</span></span><span class="sig-name descname"><span class="pre">validate_timedelta</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">timedelta</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#indsl.validations.validate_timedelta" title="Link to this definition"></a></dt>
 <dd><p>Helper method to validate if the provided pd.Timedelta valid: not NaT and strictly larger than zero.</p>
 </dd></dl>
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.validations.validate_timedelta_unit">
-<span class="sig-prename descclassname"><span class="pre">indsl.validations.</span></span><span class="sig-name descname"><span class="pre">validate_timedelta_unit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">timedelta</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#indsl.validations.validate_timedelta_unit" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.validations.</span></span><span class="sig-name descname"><span class="pre">validate_timedelta_unit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">timedelta</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#indsl.validations.validate_timedelta_unit" title="Link to this definition"></a></dt>
 <dd><p>Helper method to validate if the provided pd.Timedelta is larger or equal to 1 second.</p>
 </dd></dl>
 
 </section>
 <section id="module-0">
-<span id="type-checking"></span><h2>Type checking<a class="headerlink" href="#module-0" title="Permalink to this heading"></a></h2>
+<span id="type-checking"></span><h2>Type checking<a class="headerlink" href="#module-0" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="id0">
-<span class="sig-prename descclassname"><span class="pre">indsl.validations.</span></span><span class="sig-name descname"><span class="pre">validate_series_has_minimum_length</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_len</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#id0" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.validations.</span></span><span class="sig-name descname"><span class="pre">validate_series_has_minimum_length</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_len</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#id0" title="Link to this definition"></a></dt>
 <dd><p>Helper method to validate if provided pandas.Series has the minimum length specified.</p>
 </dd></dl>
 
 <dl class="py function">
 <dt class="sig sig-object py" id="id1">
-<span class="sig-prename descclassname"><span class="pre">indsl.validations.</span></span><span class="sig-name descname"><span class="pre">validate_series_has_time_index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#id1" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.validations.</span></span><span class="sig-name descname"><span class="pre">validate_series_has_time_index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#id1" title="Link to this definition"></a></dt>
 <dd><p>Helper method to validate if provided pandas.Series is of type pandas.DatetimeIndex.</p>
 </dd></dl>
 
 <dl class="py function">
 <dt class="sig sig-object py" id="id2">
-<span class="sig-prename descclassname"><span class="pre">indsl.validations.</span></span><span class="sig-name descname"><span class="pre">validate_series_is_not_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">DataFrame</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#id2" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.validations.</span></span><span class="sig-name descname"><span class="pre">validate_series_is_not_empty</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">DataFrame</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#id2" title="Link to this definition"></a></dt>
 <dd><p>Helper method to validate if provided pandas.Series has more than 0 values.</p>
 </dd></dl>
 
 <dl class="py function">
 <dt class="sig sig-object py" id="id3">
-<span class="sig-prename descclassname"><span class="pre">indsl.validations.</span></span><span class="sig-name descname"><span class="pre">validate_timedelta</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">timedelta</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#id3" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.validations.</span></span><span class="sig-name descname"><span class="pre">validate_timedelta</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">timedelta</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#id3" title="Link to this definition"></a></dt>
 <dd><p>Helper method to validate if the provided pd.Timedelta valid: not NaT and strictly larger than zero.</p>
 </dd></dl>
 
 <dl class="py function">
 <dt class="sig sig-object py" id="id4">
-<span class="sig-prename descclassname"><span class="pre">indsl.validations.</span></span><span class="sig-name descname"><span class="pre">validate_timedelta_unit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">timedelta</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#id4" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.validations.</span></span><span class="sig-name descname"><span class="pre">validate_timedelta_unit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">timedelta</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#id4" title="Link to this definition"></a></dt>
 <dd><p>Helper method to validate if the provided pd.Timedelta is larger or equal to 1 second.</p>
 </dd></dl>
 
diff --git a/docs/drilling.html b/docs/drilling.html
index 1baeb6ef..3d7ec1c9 100644
--- a/docs/drilling.html
+++ b/docs/drilling.html
@@ -18,9 +18,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
@@ -136,14 +136,14 @@
            <div itemprop="articleBody">
              
   <section id="drilling">
-<h1>Drilling<a class="headerlink" href="#drilling" title="Permalink to this heading"></a></h1>
+<h1>Drilling<a class="headerlink" href="#drilling" title="Link to this heading"></a></h1>
 <section id="flag-detection">
-<h2>Flag Detection<a class="headerlink" href="#flag-detection" title="Permalink to this heading"></a></h2>
+<h2>Flag Detection<a class="headerlink" href="#flag-detection" title="Link to this heading"></a></h2>
 <section id="rotation-detection">
-<h3>Rotation Detection<a class="headerlink" href="#rotation-detection" title="Permalink to this heading"></a></h3>
+<h3>Rotation Detection<a class="headerlink" href="#rotation-detection" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.drilling.rotation_detection">
-<span class="sig-prename descclassname"><span class="pre">indsl.drilling.</span></span><span class="sig-name descname"><span class="pre">rotation_detection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rot_vel</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">thresh</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.drilling.rotation_detection" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.drilling.</span></span><span class="sig-name descname"><span class="pre">rotation_detection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rot_vel</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">thresh</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.drilling.rotation_detection" title="Link to this definition"></a></dt>
 <dd><p>Rotation detection.</p>
 <p>A simple on/off detection of rotation of a drill string based on a threshold</p>
 <dl class="field-list simple">
@@ -167,10 +167,10 @@ <h3>Rotation Detection<a class="headerlink" href="#rotation-detection" title="Pe
 
 </section>
 <section id="on-bottom-detection">
-<h3>On-Bottom Detection<a class="headerlink" href="#on-bottom-detection" title="Permalink to this heading"></a></h3>
+<h3>On-Bottom Detection<a class="headerlink" href="#on-bottom-detection" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.drilling.onbottom_detection">
-<span class="sig-prename descclassname"><span class="pre">indsl.drilling.</span></span><span class="sig-name descname"><span class="pre">onbottom_detection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bit_depth</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">hole_depth</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">thresh</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.drilling.onbottom_detection" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.drilling.</span></span><span class="sig-name descname"><span class="pre">onbottom_detection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bit_depth</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">hole_depth</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">thresh</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.drilling.onbottom_detection" title="Link to this definition"></a></dt>
 <dd><p>On bottom detection.</p>
 <p>A simple on/off bottom of the hole detection for a drilling assembly</p>
 <dl class="field-list simple">
@@ -199,10 +199,10 @@ <h3>On-Bottom Detection<a class="headerlink" href="#on-bottom-detection" title="
 
 </section>
 <section id="in-hole-detection">
-<h3>In-Hole Detection<a class="headerlink" href="#in-hole-detection" title="Permalink to this heading"></a></h3>
+<h3>In-Hole Detection<a class="headerlink" href="#in-hole-detection" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.drilling.inhole_detection">
-<span class="sig-prename descclassname"><span class="pre">indsl.drilling.</span></span><span class="sig-name descname"><span class="pre">inhole_detection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bit_depth</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">thresh</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">50</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.drilling.inhole_detection" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.drilling.</span></span><span class="sig-name descname"><span class="pre">inhole_detection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bit_depth</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">thresh</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">50</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.drilling.inhole_detection" title="Link to this definition"></a></dt>
 <dd><p>In hole detection.</p>
 <p>A simple in/out of the hole detection for a drilling assembly</p>
 <dl class="field-list simple">
@@ -226,10 +226,10 @@ <h3>In-Hole Detection<a class="headerlink" href="#in-hole-detection" title="Perm
 
 </section>
 <section id="circulation-detection">
-<h3>Circulation Detection<a class="headerlink" href="#circulation-detection" title="Permalink to this heading"></a></h3>
+<h3>Circulation Detection<a class="headerlink" href="#circulation-detection" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.drilling.circulation_detection">
-<span class="sig-prename descclassname"><span class="pre">indsl.drilling.</span></span><span class="sig-name descname"><span class="pre">circulation_detection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">flow_rate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">thresh</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.drilling.circulation_detection" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.drilling.</span></span><span class="sig-name descname"><span class="pre">circulation_detection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">flow_rate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">thresh</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.drilling.circulation_detection" title="Link to this definition"></a></dt>
 <dd><p>Circulation detection.</p>
 <p>A simple on/off circulation detection for the pumping fluids into the well.</p>
 <dl class="field-list simple">
diff --git a/docs/equipment.html b/docs/equipment.html
index ee269c08..38d8ceb8 100644
--- a/docs/equipment.html
+++ b/docs/equipment.html
@@ -18,9 +18,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
         <script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
@@ -163,14 +163,14 @@
            <div itemprop="articleBody">
              
   <section id="equipment">
-<h1>Equipment<a class="headerlink" href="#equipment" title="Permalink to this heading"></a></h1>
+<h1>Equipment<a class="headerlink" href="#equipment" title="Link to this heading"></a></h1>
 <section id="vessels">
-<h2>Vessels<a class="headerlink" href="#vessels" title="Permalink to this heading"></a></h2>
+<h2>Vessels<a class="headerlink" href="#vessels" title="Link to this heading"></a></h2>
 <section id="vessel-volume-ellipsoidal-head">
-<h3>Vessel volume (Ellipsoidal head)<a class="headerlink" href="#vessel-volume-ellipsoidal-head" title="Permalink to this heading"></a></h3>
+<h3>Vessel volume (Ellipsoidal head)<a class="headerlink" href="#vessel-volume-ellipsoidal-head" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.equipment.filled_volume_ellipsoidal_head_vessel">
-<span class="sig-prename descclassname"><span class="pre">indsl.equipment.</span></span><span class="sig-name descname"><span class="pre">filled_volume_ellipsoidal_head_vessel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">D</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">a</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">h</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">orientation</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'Horizontal'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Vertical'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'Horizontal'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></span><a class="headerlink" href="#indsl.equipment.filled_volume_ellipsoidal_head_vessel" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.equipment.</span></span><span class="sig-name descname"><span class="pre">filled_volume_ellipsoidal_head_vessel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">D</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">a</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">h</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">orientation</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'Horizontal'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Vertical'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'Horizontal'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></span><a class="headerlink" href="#indsl.equipment.filled_volume_ellipsoidal_head_vessel" title="Link to this definition"></a></dt>
 <dd><p>Vessel volume (Ellipsoidal).</p>
 <p>Calculates partially full volume of a vertical or horizontal vessel with ellipsoidal convex heads. For vertical
 vessels the bottom is considered as ellipsoidal, but no provision for the top of the vessel is made here.</p>
@@ -207,10 +207,10 @@ <h3>Vessel volume (Ellipsoidal head)<a class="headerlink" href="#vessel-volume-e
 
 </section>
 <section id="vessel-volume-spherical-head">
-<h3>Vessel volume (Spherical head)<a class="headerlink" href="#vessel-volume-spherical-head" title="Permalink to this heading"></a></h3>
+<h3>Vessel volume (Spherical head)<a class="headerlink" href="#vessel-volume-spherical-head" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.equipment.filled_volume_spherical_head_vessel">
-<span class="sig-prename descclassname"><span class="pre">indsl.equipment.</span></span><span class="sig-name descname"><span class="pre">filled_volume_spherical_head_vessel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">D</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">a</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">h</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">orientation</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'Horizontal'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Vertical'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'Horizontal'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></span><a class="headerlink" href="#indsl.equipment.filled_volume_spherical_head_vessel" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.equipment.</span></span><span class="sig-name descname"><span class="pre">filled_volume_spherical_head_vessel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">D</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">a</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">h</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">orientation</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'Horizontal'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Vertical'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'Horizontal'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></span><a class="headerlink" href="#indsl.equipment.filled_volume_spherical_head_vessel" title="Link to this definition"></a></dt>
 <dd><p>Vessel volume (Spherical).</p>
 <p>Calculates partially full volume of a vertical or horizontal vessel with spherical convex heads. For vertical
 vessels the bottom is considered as spherical, but no provision for the top of the vessel is made here.</p>
@@ -247,10 +247,10 @@ <h3>Vessel volume (Spherical head)<a class="headerlink" href="#vessel-volume-sph
 
 </section>
 <section id="vessel-volume-torispherical-head">
-<h3>Vessel volume (Torispherical head)<a class="headerlink" href="#vessel-volume-torispherical-head" title="Permalink to this heading"></a></h3>
+<h3>Vessel volume (Torispherical head)<a class="headerlink" href="#vessel-volume-torispherical-head" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.equipment.filled_volume_torispherical_head_vessel">
-<span class="sig-prename descclassname"><span class="pre">indsl.equipment.</span></span><span class="sig-name descname"><span class="pre">filled_volume_torispherical_head_vessel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">D</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">f</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">k</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">h</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">orientation</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'Horizontal'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Vertical'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'Horizontal'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></span><a class="headerlink" href="#indsl.equipment.filled_volume_torispherical_head_vessel" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.equipment.</span></span><span class="sig-name descname"><span class="pre">filled_volume_torispherical_head_vessel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">D</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">L</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">f</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">k</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">h</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">orientation</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'Horizontal'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Vertical'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'Horizontal'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></span><a class="headerlink" href="#indsl.equipment.filled_volume_torispherical_head_vessel" title="Link to this definition"></a></dt>
 <dd><p>Vessel volume (Torispherical).</p>
 <p>Calculates partially full volume of a vertical or horizontal vessel with torispherical convex heads. For vertical
 vessels the bottom is considered as torispherical, but no provision for the top of the vessel is made here.</p>
@@ -294,12 +294,12 @@ <h3>Vessel volume (Torispherical head)<a class="headerlink" href="#vessel-volume
 </section>
 </section>
 <section id="pumps">
-<h2>Pumps<a class="headerlink" href="#pumps" title="Permalink to this heading"></a></h2>
+<h2>Pumps<a class="headerlink" href="#pumps" title="Link to this heading"></a></h2>
 <section id="total-head">
-<h3>Total head<a class="headerlink" href="#total-head" title="Permalink to this heading"></a></h3>
+<h3>Total head<a class="headerlink" href="#total-head" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.equipment.total_head">
-<span class="sig-prename descclassname"><span class="pre">indsl.equipment.</span></span><span class="sig-name descname"><span class="pre">total_head</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">discharge_pressure</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suction_pressure</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">den</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.equipment.total_head" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.equipment.</span></span><span class="sig-name descname"><span class="pre">total_head</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">discharge_pressure</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suction_pressure</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">den</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.equipment.total_head" title="Link to this definition"></a></dt>
 <dd><p>Total head.</p>
 <p>Head is a measure of the potential of a liquid to reach a certain
 height. The head is essentially a unit of pressure. The total head
@@ -342,10 +342,10 @@ <h3>Total head<a class="headerlink" href="#total-head" title="Permalink to this
 </aside>
 </section>
 <section id="best-efficiency-point-bep-from-flowrate">
-<h3>Best Efficiency Point (BEP) from flowrate<a class="headerlink" href="#best-efficiency-point-bep-from-flowrate" title="Permalink to this heading"></a></h3>
+<h3>Best Efficiency Point (BEP) from flowrate<a class="headerlink" href="#best-efficiency-point-bep-from-flowrate" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.equipment.percent_BEP_flowrate">
-<span class="sig-prename descclassname"><span class="pre">indsl.equipment.</span></span><span class="sig-name descname"><span class="pre">percent_BEP_flowrate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pump_liquid_flowrate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">BEP_flowrate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.equipment.percent_BEP_flowrate" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.equipment.</span></span><span class="sig-name descname"><span class="pre">percent_BEP_flowrate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pump_liquid_flowrate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">BEP_flowrate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.equipment.percent_BEP_flowrate" title="Link to this definition"></a></dt>
 <dd><p>BEP from flowrate [%].</p>
 <p>Centrifugal pumps operate optimally at a specific liquid flow rate which is typically called the Best Efficiency Point (BEP).
 This function calculates the flow rate relative to BEP as a percentage.
@@ -386,10 +386,10 @@ <h3>Best Efficiency Point (BEP) from flowrate<a class="headerlink" href="#best-e
 </aside>
 </section>
 <section id="hydraulic-power">
-<h3>Hydraulic power<a class="headerlink" href="#hydraulic-power" title="Permalink to this heading"></a></h3>
+<h3>Hydraulic power<a class="headerlink" href="#hydraulic-power" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.equipment.pump_hydraulic_power">
-<span class="sig-prename descclassname"><span class="pre">indsl.equipment.</span></span><span class="sig-name descname"><span class="pre">pump_hydraulic_power</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pump_liquid_flowrate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">total_head</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">den</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.equipment.pump_hydraulic_power" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.equipment.</span></span><span class="sig-name descname"><span class="pre">pump_hydraulic_power</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pump_liquid_flowrate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">total_head</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">den</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.equipment.pump_hydraulic_power" title="Link to this definition"></a></dt>
 <dd><p>Pump hydraulic power.</p>
 <p>Pump hydraulic power [W] is the amount of energy per unit time
 delivered to the liquid. Pump hydraulic power can be calculated
@@ -430,10 +430,10 @@ <h3>Hydraulic power<a class="headerlink" href="#hydraulic-power" title="Permalin
 </aside>
 </section>
 <section id="shaft-power">
-<h3>Shaft power<a class="headerlink" href="#shaft-power" title="Permalink to this heading"></a></h3>
+<h3>Shaft power<a class="headerlink" href="#shaft-power" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.equipment.pump_shaft_power">
-<span class="sig-prename descclassname"><span class="pre">indsl.equipment.</span></span><span class="sig-name descname"><span class="pre">pump_shaft_power</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pump_hydraulic_power</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pump_liquid_flowrate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eff_parameter_1</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eff_parameter_2</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eff_intercept</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.equipment.pump_shaft_power" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.equipment.</span></span><span class="sig-name descname"><span class="pre">pump_shaft_power</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pump_hydraulic_power</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pump_liquid_flowrate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eff_parameter_1</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eff_parameter_2</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eff_intercept</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.equipment.pump_shaft_power" title="Link to this definition"></a></dt>
 <dd><p>Pump shaft power.</p>
 <p>Pump shaft power is the input power delivered by the shaft.
 Pump shaft power can be calculated by dividing the pump hydraulic hp
@@ -480,10 +480,10 @@ <h3>Shaft power<a class="headerlink" href="#shaft-power" title="Permalink to thi
 </aside>
 </section>
 <section id="recycle-valve-power-loss">
-<h3>Recycle valve power loss<a class="headerlink" href="#recycle-valve-power-loss" title="Permalink to this heading"></a></h3>
+<h3>Recycle valve power loss<a class="headerlink" href="#recycle-valve-power-loss" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.equipment.recycle_valve_power_loss">
-<span class="sig-prename descclassname"><span class="pre">indsl.equipment.</span></span><span class="sig-name descname"><span class="pre">recycle_valve_power_loss</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">Q_valve</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">total_head</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">den</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timestamps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.equipment.recycle_valve_power_loss" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.equipment.</span></span><span class="sig-name descname"><span class="pre">recycle_valve_power_loss</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">Q_valve</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">total_head</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">den</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timestamps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.equipment.recycle_valve_power_loss" title="Link to this definition"></a></dt>
 <dd><p>Pump recycle valve power loss.</p>
 <p>This calculation can be used where there is a recirculation line with a recycle valve whose purpose is to maintain a minimum flow through the pump.
 The calculation does not consider the difference in pump efficiency at different flow rates. This is acceptable because pumps are usually sized to account for extra flow due to recirculation.</p>
@@ -522,12 +522,12 @@ <h3>Recycle valve power loss<a class="headerlink" href="#recycle-valve-power-los
 </section>
 </section>
 <section id="valves">
-<h2>Valves<a class="headerlink" href="#valves" title="Permalink to this heading"></a></h2>
+<h2>Valves<a class="headerlink" href="#valves" title="Link to this heading"></a></h2>
 <section id="volumetric-flow-through-valve">
-<h3>Volumetric flow through valve<a class="headerlink" href="#volumetric-flow-through-valve" title="Permalink to this heading"></a></h3>
+<h3>Volumetric flow through valve<a class="headerlink" href="#volumetric-flow-through-valve" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.equipment.valve_parameters.flow_through_valve">
-<span class="sig-prename descclassname"><span class="pre">indsl.equipment.valve_parameters.</span></span><span class="sig-name descname"><span class="pre">flow_through_valve</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">inlet_P</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">outlet_P</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">valve_opening</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">SG</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_opening</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_opening</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_Cv</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_Cv</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">compressible</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">type</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'Linear'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'EQ'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'Linear'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gas_expansion_factor</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inlet_T</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Z</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timestamps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.equipment.valve_parameters.flow_through_valve" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.equipment.valve_parameters.</span></span><span class="sig-name descname"><span class="pre">flow_through_valve</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">inlet_P</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">outlet_P</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">valve_opening</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">SG</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_opening</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_opening</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_Cv</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_Cv</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">compressible</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">type</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'Linear'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'EQ'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'Linear'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">gas_expansion_factor</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">inlet_T</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Z</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timestamps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.equipment.valve_parameters.flow_through_valve" title="Link to this definition"></a></dt>
 <dd><p>Valve volumetric flow rate.</p>
 <p>This calculation can be used when there is no flow meter, but the pressure difference over the valve is known.
 The calculated flow rate is only applicable to Newtonian fluids in single-phase flow.
diff --git a/docs/filter.html b/docs/filter.html
index e8dfa900..2d03d66c 100644
--- a/docs/filter.html
+++ b/docs/filter.html
@@ -18,9 +18,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
@@ -125,12 +125,12 @@
            <div itemprop="articleBody">
              
   <section id="filter">
-<h1>Filter<a class="headerlink" href="#filter" title="Permalink to this heading"></a></h1>
+<h1>Filter<a class="headerlink" href="#filter" title="Link to this heading"></a></h1>
 <section id="status-filter">
-<h2>Status Filter<a class="headerlink" href="#status-filter" title="Permalink to this heading"></a></h2>
+<h2>Status Filter<a class="headerlink" href="#status-filter" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.filter.status_flag_filter">
-<span class="sig-prename descclassname"><span class="pre">indsl.filter.</span></span><span class="sig-name descname"><span class="pre">status_flag_filter</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">filter_by</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">int_to_keep</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.filter.status_flag_filter" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.filter.</span></span><span class="sig-name descname"><span class="pre">status_flag_filter</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">filter_by</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">int_to_keep</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.filter.status_flag_filter" title="Link to this definition"></a></dt>
 <dd><p>Status flag filter.</p>
 <p>This function filters any given data series by a series with integers denoting different states. A typical example of
 such a series is a series of 0 and 1 where 1 would indicate the presence of an anomaly.
@@ -162,10 +162,10 @@ <h2>Status Filter<a class="headerlink" href="#status-filter" title="Permalink to
 
 </section>
 <section id="wavelet-filter">
-<h2>Wavelet Filter<a class="headerlink" href="#wavelet-filter" title="Permalink to this heading"></a></h2>
+<h2>Wavelet Filter<a class="headerlink" href="#wavelet-filter" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.filter.wavelet_filter">
-<span class="sig-prename descclassname"><span class="pre">indsl.filter.</span></span><span class="sig-name descname"><span class="pre">wavelet_filter</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">level</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wavelet</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'db1'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'db2'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'db3'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'db4'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'db5'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'db6'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'db7'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'db8'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'sym2'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'sym3'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'sym4'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'coif1'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'coif2'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'coif3'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'coif4'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'coif5'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'db8'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.filter.wavelet_filter" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.filter.</span></span><span class="sig-name descname"><span class="pre">wavelet_filter</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">level</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wavelet</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'db1'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'db2'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'db3'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'db4'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'db5'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'db6'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'db7'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'db8'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'sym2'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'sym3'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'sym4'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'coif1'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'coif2'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'coif3'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'coif4'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'coif5'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'db8'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.filter.wavelet_filter" title="Link to this definition"></a></dt>
 <dd><p>Wavelet de-noising.</p>
 <p>Filtering industrial data using wavelets can be very powerful as it uses a <em>dual</em> frequency-time
 representation of the original signal, which allows separating noise frequencies from valuable signal frequencies.
diff --git a/docs/fluid_dynamics.html b/docs/fluid_dynamics.html
index 1dd91b33..7f20dc68 100644
--- a/docs/fluid_dynamics.html
+++ b/docs/fluid_dynamics.html
@@ -18,9 +18,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
@@ -128,14 +128,14 @@
            <div itemprop="articleBody">
              
   <section id="fluid-dynamics">
-<h1>Fluid Dynamics<a class="headerlink" href="#fluid-dynamics" title="Permalink to this heading"></a></h1>
+<h1>Fluid Dynamics<a class="headerlink" href="#fluid-dynamics" title="Link to this heading"></a></h1>
 <section id="dimensionless-numbers">
-<h2>Dimensionless Numbers<a class="headerlink" href="#dimensionless-numbers" title="Permalink to this heading"></a></h2>
+<h2>Dimensionless Numbers<a class="headerlink" href="#dimensionless-numbers" title="Link to this heading"></a></h2>
 <section id="reynolds-number">
-<h3>Reynolds Number<a class="headerlink" href="#reynolds-number" title="Permalink to this heading"></a></h3>
+<h3>Reynolds Number<a class="headerlink" href="#reynolds-number" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.fluid_dynamics.Re">
-<span class="sig-prename descclassname"><span class="pre">indsl.fluid_dynamics.</span></span><span class="sig-name descname"><span class="pre">Re</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">speed</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">density</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">d_viscosity</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">length_scale</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.fluid_dynamics.Re" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.fluid_dynamics.</span></span><span class="sig-name descname"><span class="pre">Re</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">speed</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">density</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">d_viscosity</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">length_scale</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.fluid_dynamics.Re" title="Link to this definition"></a></dt>
 <dd><p>Reynolds Number.</p>
 <p>The Reynolds number is the ratio of inertial forces to viscous forces within a fluid subjected to
 relative internal movement due to different fluid velocities.</p>
@@ -163,10 +163,10 @@ <h3>Reynolds Number<a class="headerlink" href="#reynolds-number" title="Permalin
 
 </section>
 <section id="friction-factor-haaland-equation">
-<h3>Friction Factor: Haaland equation<a class="headerlink" href="#friction-factor-haaland-equation" title="Permalink to this heading"></a></h3>
+<h3>Friction Factor: Haaland equation<a class="headerlink" href="#friction-factor-haaland-equation" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.fluid_dynamics.Haaland">
-<span class="sig-prename descclassname"><span class="pre">indsl.fluid_dynamics.</span></span><span class="sig-name descname"><span class="pre">Haaland</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">Re</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">roughness</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.fluid_dynamics.Haaland" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.fluid_dynamics.</span></span><span class="sig-name descname"><span class="pre">Haaland</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">Re</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">roughness</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.fluid_dynamics.Haaland" title="Link to this definition"></a></dt>
 <dd><p>Haaland equation.</p>
 <p>The <a class="reference external" href="https://en.wikipedia.org/wiki/Darcy_friction_factor_formulae#Haaland_equation">Haaland equation</a> was
 proposed in 1983 by Professor S.E. Haaland of the Norwegian Institute of Technology.
diff --git a/docs/forecast.html b/docs/forecast.html
index 9298ce3c..334261e0 100644
--- a/docs/forecast.html
+++ b/docs/forecast.html
@@ -18,9 +18,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
@@ -125,12 +125,12 @@
            <div itemprop="articleBody">
              
   <section id="forecast">
-<h1>Forecast<a class="headerlink" href="#forecast" title="Permalink to this heading"></a></h1>
+<h1>Forecast<a class="headerlink" href="#forecast" title="Link to this heading"></a></h1>
 <section id="autoregressive-moving-average-arma-predictor">
-<h2>Autoregressive Moving Average (ARMA) Predictor<a class="headerlink" href="#autoregressive-moving-average-arma-predictor" title="Permalink to this heading"></a></h2>
+<h2>Autoregressive Moving Average (ARMA) Predictor<a class="headerlink" href="#autoregressive-moving-average-arma-predictor" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.forecast.arma_predictor">
-<span class="sig-prename descclassname"><span class="pre">indsl.forecast.</span></span><span class="sig-name descname"><span class="pre">arma_predictor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ar_order</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ma_order</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">train_fraction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.8</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">MethodType</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">MethodType.ONESTEP</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">steps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.forecast.arma_predictor" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.forecast.</span></span><span class="sig-name descname"><span class="pre">arma_predictor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ar_order</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ma_order</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">train_fraction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.8</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">MethodType</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">MethodType.ONESTEP</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">steps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.forecast.arma_predictor" title="Link to this definition"></a></dt>
 <dd><p>ARMA predictor.</p>
 <p>The ARMA predictor works by fitting constants to an auto regression (AR)  and a moving average (MA) equation and
 extrapolating the results.</p>
@@ -168,10 +168,10 @@ <h2>Autoregressive Moving Average (ARMA) Predictor<a class="headerlink" href="#a
 
 </section>
 <section id="triple-exponential-smoothing-holt-winters-predictor">
-<h2>Triple Exponential Smoothing - Holt-Winters Predictor<a class="headerlink" href="#triple-exponential-smoothing-holt-winters-predictor" title="Permalink to this heading"></a></h2>
+<h2>Triple Exponential Smoothing - Holt-Winters Predictor<a class="headerlink" href="#triple-exponential-smoothing-holt-winters-predictor" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.forecast.holt_winters_predictor">
-<span class="sig-prename descclassname"><span class="pre">indsl.forecast.</span></span><span class="sig-name descname"><span class="pre">holt_winters_predictor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seasonal_periods</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seasonality</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'add'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'mul'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'add'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">trend</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'add'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'mul'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'add'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dampen_trend</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">steps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">train_fraction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.8</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.forecast.holt_winters_predictor" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.forecast.</span></span><span class="sig-name descname"><span class="pre">holt_winters_predictor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seasonal_periods</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seasonality</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'add'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'mul'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'add'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">trend</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'add'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'mul'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'add'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dampen_trend</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">steps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">train_fraction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.8</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.forecast.holt_winters_predictor" title="Link to this definition"></a></dt>
 <dd><p>Triple exponential smoothing.</p>
 <p>This technique (also known as Holt-Winters) can forecast time series data with a trend and
 seasonal variability.
diff --git a/docs/genindex.html b/docs/genindex.html
index 25b28e80..6b2e97dc 100644
--- a/docs/genindex.html
+++ b/docs/genindex.html
@@ -17,9 +17,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="#" />
     <link rel="search" title="Search" href="search.html" /> 
diff --git a/docs/index.html b/docs/index.html
index 0b8fffa9..2da6da4c 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -18,9 +18,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
@@ -114,13 +114,13 @@
            <div itemprop="articleBody">
              
   <section id="cognite-s-industrial-data-science-library">
-<span id="gallery"></span><h1>Cognite’s Industrial Data Science Library<a class="headerlink" href="#cognite-s-industrial-data-science-library" title="Permalink to this heading"></a></h1>
+<span id="gallery"></span><h1>Cognite’s Industrial Data Science Library<a class="headerlink" href="#cognite-s-industrial-data-science-library" title="Link to this heading"></a></h1>
 <p>This is Cognite’s collection of data science algorithms and models. Its objective is twofold. First, empower domain
 experts to conduct exploratory work, root cause analysis, and analyze data without the requirement to code by driving
 the industrial data science and analytics engine behind <a href="https://charts.cogniteapp.com/" target="_blank">Cognite Charts</a>. Second, curate a collection industrial relevant
 data science algorithms to be used by any data scientist. For more information, check <a href="https://docs.cognite.com/cdf/charts.html" target="_blank">Charts documentation page</a>.</p>
 <section id="installation">
-<h2>Installation<a class="headerlink" href="#installation" title="Permalink to this heading"></a></h2>
+<h2>Installation<a class="headerlink" href="#installation" title="Link to this heading"></a></h2>
 <p>To install the core part of the library, where dependencies are <cite>numpy</cite>, <cite>scipy`</cite> and <cite>pandas</cite>, run:</p>
 <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pip<span class="w"> </span>install<span class="w"> </span>indsl
 </pre></div>
@@ -338,7 +338,7 @@ <h2>Installation<a class="headerlink" href="#installation" title="Permalink to t
 </section>
 </section>
 <section id="indices-and-tables">
-<h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Permalink to this heading"></a></h1>
+<h1>Indices and tables<a class="headerlink" href="#indices-and-tables" title="Link to this heading"></a></h1>
 <ul class="simple">
 <li><p><a class="reference internal" href="genindex.html"><span class="std std-ref">Index</span></a></p></li>
 </ul>
diff --git a/docs/numerical_calculus.html b/docs/numerical_calculus.html
index dfb8794c..8d478c3e 100644
--- a/docs/numerical_calculus.html
+++ b/docs/numerical_calculus.html
@@ -18,9 +18,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
@@ -129,13 +129,13 @@
            <div itemprop="articleBody">
              
   <section id="numerical-calculus">
-<h1>Numerical Calculus<a class="headerlink" href="#numerical-calculus" title="Permalink to this heading"></a></h1>
+<h1>Numerical Calculus<a class="headerlink" href="#numerical-calculus" title="Link to this heading"></a></h1>
 <p>differentiate, sliding_window_integration, trapezoidal_integration</p>
 <section id="differentiation">
-<h2>Differentiation<a class="headerlink" href="#differentiation" title="Permalink to this heading"></a></h2>
+<h2>Differentiation<a class="headerlink" href="#differentiation" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.numerical_calculus.differentiate">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.numerical_calculus.</span></span><span class="sig-name descname"><span class="pre">differentiate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_unit</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.numerical_calculus.differentiate" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.numerical_calculus.</span></span><span class="sig-name descname"><span class="pre">differentiate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_unit</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.numerical_calculus.differentiate" title="Link to this definition"></a></dt>
 <dd><p>Differentiation.</p>
 <p>Differentiation (finite difference) using a second-order accurate numerical method (central difference).
 Boundary points are computed using a first-order accurate method.</p>
@@ -159,10 +159,10 @@ <h2>Differentiation<a class="headerlink" href="#differentiation" title="Permalin
 
 </section>
 <section id="trapezoidal-integration">
-<h2>Trapezoidal integration<a class="headerlink" href="#trapezoidal-integration" title="Permalink to this heading"></a></h2>
+<h2>Trapezoidal integration<a class="headerlink" href="#trapezoidal-integration" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.numerical_calculus.trapezoidal_integration">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.numerical_calculus.</span></span><span class="sig-name descname"><span class="pre">trapezoidal_integration</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_unit</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.numerical_calculus.trapezoidal_integration" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.numerical_calculus.</span></span><span class="sig-name descname"><span class="pre">trapezoidal_integration</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_unit</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.numerical_calculus.trapezoidal_integration" title="Link to this definition"></a></dt>
 <dd><p>Integration.</p>
 <p>Cumulative integration using trapezoidal rule with an optional user-defined time unit.</p>
 <dl class="field-list simple">
@@ -186,10 +186,10 @@ <h2>Trapezoidal integration<a class="headerlink" href="#trapezoidal-integration"
 
 </section>
 <section id="sliding-window-integration">
-<h2>Sliding window integration<a class="headerlink" href="#sliding-window-integration" title="Permalink to this heading"></a></h2>
+<h2>Sliding window integration<a class="headerlink" href="#sliding-window-integration" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.numerical_calculus.sliding_window_integration">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.numerical_calculus.</span></span><span class="sig-name descname"><span class="pre">sliding_window_integration</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">window_length</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:05:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">integrand_rate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.numerical_calculus.sliding_window_integration" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.numerical_calculus.</span></span><span class="sig-name descname"><span class="pre">sliding_window_integration</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">window_length</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:05:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">integrand_rate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.numerical_calculus.sliding_window_integration" title="Link to this definition"></a></dt>
 <dd><p>Sliding window integration.</p>
 <p>Siding window integration using trapezoidal rule.</p>
 <dl class="field-list simple">
diff --git a/docs/objects.inv b/docs/objects.inv
index ff47609a..d84e4ea2 100644
Binary files a/docs/objects.inv and b/docs/objects.inv differ
diff --git a/docs/oil_and_gas.html b/docs/oil_and_gas.html
index 357b8564..eafbe0fc 100644
--- a/docs/oil_and_gas.html
+++ b/docs/oil_and_gas.html
@@ -18,9 +18,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
@@ -141,12 +141,12 @@
            <div itemprop="articleBody">
              
   <section id="oil-and-gas">
-<h1>Oil and Gas<a class="headerlink" href="#oil-and-gas" title="Permalink to this heading"></a></h1>
+<h1>Oil and Gas<a class="headerlink" href="#oil-and-gas" title="Link to this heading"></a></h1>
 <section id="gas-density-calculator">
-<h2>Gas density calculator<a class="headerlink" href="#gas-density-calculator" title="Permalink to this heading"></a></h2>
+<h2>Gas density calculator<a class="headerlink" href="#gas-density-calculator" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.oil_and_gas.calculate_gas_density">
-<span class="sig-prename descclassname"><span class="pre">indsl.oil_and_gas.</span></span><span class="sig-name descname"><span class="pre">calculate_gas_density</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pressure</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">temperature</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sg</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.oil_and_gas.calculate_gas_density" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.oil_and_gas.</span></span><span class="sig-name descname"><span class="pre">calculate_gas_density</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pressure</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">temperature</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sg</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.oil_and_gas.calculate_gas_density" title="Link to this definition"></a></dt>
 <dd><p>Gas density calculator.</p>
 <p>The gas density is calculated from real gas laws.The psuedo critical tempreature and pressure is
 calculated from specific gravity following <a class="reference external" href="https://doi.org/10.2118/14265-MS">Sutton (1985)</a>. The
@@ -191,10 +191,10 @@ <h2>Gas density calculator<a class="headerlink" href="#gas-density-calculator" t
 </aside>
 </section>
 <section id="productivity-index">
-<h2>Productivity index<a class="headerlink" href="#productivity-index" title="Permalink to this heading"></a></h2>
+<h2>Productivity index<a class="headerlink" href="#productivity-index" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.oil_and_gas.productivity_index">
-<span class="sig-prename descclassname"><span class="pre">indsl.oil_and_gas.</span></span><span class="sig-name descname"><span class="pre">productivity_index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">p_res</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">p_bh</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Q_gas</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.oil_and_gas.productivity_index" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.oil_and_gas.</span></span><span class="sig-name descname"><span class="pre">productivity_index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">p_res</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">p_bh</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Q_gas</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.oil_and_gas.productivity_index" title="Link to this definition"></a></dt>
 <dd><p>Productivity Index.</p>
 <p>The productivity index or PI is defined as the gas flow rate at the well divided by the difference in pressure
 between the reservoir and bottom hole. If no data is available for any of the inputs for a specific
@@ -223,10 +223,10 @@ <h2>Productivity index<a class="headerlink" href="#productivity-index" title="Pe
 
 </section>
 <section id="shut-in-detector">
-<h2>Shut-in detector<a class="headerlink" href="#shut-in-detector" title="Permalink to this heading"></a></h2>
+<h2>Shut-in detector<a class="headerlink" href="#shut-in-detector" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.oil_and_gas.calculate_shutin_interval">
-<span class="sig-prename descclassname"><span class="pre">indsl.oil_and_gas.</span></span><span class="sig-name descname"><span class="pre">calculate_shutin_interval</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">shut_valve</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_shutin_len</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">6</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_time_btw_shutins</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">shutin_state_below_threshold</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">shutin_threshold</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.oil_and_gas.calculate_shutin_interval" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.oil_and_gas.</span></span><span class="sig-name descname"><span class="pre">calculate_shutin_interval</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">shut_valve</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_shutin_len</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">6</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_time_btw_shutins</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">shutin_state_below_threshold</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">shutin_threshold</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.oil_and_gas.calculate_shutin_interval" title="Link to this definition"></a></dt>
 <dd><p>Shut-in interval.</p>
 <p>The shut-in interval is defined as the period when the valve is in closed state. The close state is determined based
 on the calculated manually-given threshold. The threshold is calculated based on the analysis of the valve signal
@@ -267,10 +267,10 @@ <h2>Shut-in detector<a class="headerlink" href="#shut-in-detector" title="Permal
 </aside>
 </section>
 <section id="shut-in-variable-calculator">
-<h2>Shut-in variable calculator<a class="headerlink" href="#shut-in-variable-calculator" title="Permalink to this heading"></a></h2>
+<h2>Shut-in variable calculator<a class="headerlink" href="#shut-in-variable-calculator" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.oil_and_gas.calculate_shutin_variable">
-<span class="sig-prename descclassname"><span class="pre">indsl.oil_and_gas.</span></span><span class="sig-name descname"><span class="pre">calculate_shutin_variable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">variable_signal</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">shutin_signal</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">hrs_after_shutin</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.oil_and_gas.calculate_shutin_variable" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.oil_and_gas.</span></span><span class="sig-name descname"><span class="pre">calculate_shutin_variable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">variable_signal</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">shutin_signal</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">hrs_after_shutin</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.oil_and_gas.calculate_shutin_variable" title="Link to this definition"></a></dt>
 <dd><p>Shut-in variable calculator.</p>
 <p>The shut-in variable calculator is a function to compute the variable of interest at specific times after the shut-in
 onset. Typically, variables of interest are pressure and temperature. The function is the dependency of the shut-in
@@ -307,10 +307,10 @@ <h2>Shut-in variable calculator<a class="headerlink" href="#shut-in-variable-cal
 </aside>
 </section>
 <section id="well-production-status">
-<h2>Well production status<a class="headerlink" href="#well-production-status" title="Permalink to this heading"></a></h2>
+<h2>Well production status<a class="headerlink" href="#well-production-status" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.oil_and_gas.calculate_well_prod_status">
-<span class="sig-prename descclassname"><span class="pre">indsl.oil_and_gas.</span></span><span class="sig-name descname"><span class="pre">calculate_well_prod_status</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">master_valve</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wing_valve</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">choke_valve</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">threshold_master</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">threshold_wing</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">threshold_choke</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.oil_and_gas.calculate_well_prod_status" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.oil_and_gas.</span></span><span class="sig-name descname"><span class="pre">calculate_well_prod_status</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">master_valve</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wing_valve</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">choke_valve</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">threshold_master</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">threshold_wing</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">threshold_choke</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.oil_and_gas.calculate_well_prod_status" title="Link to this definition"></a></dt>
 <dd><p>Check if the well is producing.</p>
 <p>Determine if the well is producing. In order for this to be the case, the following has to happen:</p>
 <blockquote>
@@ -362,10 +362,10 @@ <h2>Well production status<a class="headerlink" href="#well-production-status" t
 </aside>
 </section>
 <section id="retrieve-fluid-properties">
-<h2>Retrieve fluid properties<a class="headerlink" href="#retrieve-fluid-properties" title="Permalink to this heading"></a></h2>
+<h2>Retrieve fluid properties<a class="headerlink" href="#retrieve-fluid-properties" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.oil_and_gas.live_fluid_properties.retrieve_fluid_properties">
-<span class="sig-prename descclassname"><span class="pre">indsl.oil_and_gas.live_fluid_properties.</span></span><span class="sig-name descname"><span class="pre">retrieve_fluid_properties</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pressure</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">temperature</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pvt_data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">DataFrame</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">interp_method</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'linear'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'nearest'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'cubic'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'linear'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.oil_and_gas.live_fluid_properties.retrieve_fluid_properties" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.oil_and_gas.live_fluid_properties.</span></span><span class="sig-name descname"><span class="pre">retrieve_fluid_properties</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pressure</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">temperature</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pvt_data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">DataFrame</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">param</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">interp_method</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'linear'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'nearest'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'cubic'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'linear'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.oil_and_gas.live_fluid_properties.retrieve_fluid_properties" title="Link to this definition"></a></dt>
 <dd><p>Retrieve fluid properties.</p>
 <p>This function obtains the value for the selected fluid property (<cite>param</cite>) corresponding to the pressure/temp pairs input as series. The input fluid file type is a .tab file that is an output
 of an equation of state simulator (i.e PVTSim, MultiFlash) and is an input file specifically for OLGA. The 31 fluid property parameters included in the .tab file are the options as an output for this function.
diff --git a/docs/py-modindex.html b/docs/py-modindex.html
index c1d8f13d..e854eeaa 100644
--- a/docs/py-modindex.html
+++ b/docs/py-modindex.html
@@ -17,9 +17,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
diff --git a/docs/resample.html b/docs/resample.html
index 329250bc..89c2170f 100644
--- a/docs/resample.html
+++ b/docs/resample.html
@@ -18,9 +18,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
@@ -137,12 +137,12 @@
            <div itemprop="articleBody">
              
   <section id="resample">
-<h1>Resample<a class="headerlink" href="#resample" title="Permalink to this heading"></a></h1>
+<h1>Resample<a class="headerlink" href="#resample" title="Link to this heading"></a></h1>
 <section id="interpolate-and-resample">
-<h2>Interpolate and Resample<a class="headerlink" href="#interpolate-and-resample" title="Permalink to this heading"></a></h2>
+<h2>Interpolate and Resample<a class="headerlink" href="#interpolate-and-resample" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.resample.interpolate">
-<span class="sig-prename descclassname"><span class="pre">indsl.resample.</span></span><span class="sig-name descname"><span class="pre">interpolate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'linear'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'ffill'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'stepwise'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'zero'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'slinear'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'quadratic'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'cubic'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'linear'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kind</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'pointwise'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'average'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'pointwise'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">granularity</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:00:01')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bounded</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">DataFrame</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.resample.interpolate" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.resample.</span></span><span class="sig-name descname"><span class="pre">interpolate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'linear'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'ffill'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'stepwise'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'zero'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'slinear'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'quadratic'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'cubic'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'linear'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kind</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'pointwise'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'average'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'pointwise'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">granularity</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:00:01')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bounded</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">DataFrame</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.resample.interpolate" title="Link to this definition"></a></dt>
 <dd><p>Interpolation.</p>
 <p>This function interpolates and resamples data with a uniform sampling frequency.</p>
 <dl class="field-list simple">
@@ -200,10 +200,10 @@ <h2>Interpolate and Resample<a class="headerlink" href="#interpolate-and-resampl
 
 </section>
 <section id="resampling-fourier-polynomial-linear-min-max-sum-count">
-<h2>Resampling: Fourier, Polynomial, Linear, min, max, sum, count<a class="headerlink" href="#resampling-fourier-polynomial-linear-min-max-sum-count" title="Permalink to this heading"></a></h2>
+<h2>Resampling: Fourier, Polynomial, Linear, min, max, sum, count<a class="headerlink" href="#resampling-fourier-polynomial-linear-min-max-sum-count" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.resample.resample">
-<span class="sig-prename descclassname"><span class="pre">indsl.resample.</span></span><span class="sig-name descname"><span class="pre">resample</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'fourier'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'polyphase'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'interpolate'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'min'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'max'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'sum'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'count'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'mean'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'fourier'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">granularity_current</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">granularity_next</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:00:01')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">downsampling_factor</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">interpolate_resolution</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ffill_resolution</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.resample.resample" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.resample.</span></span><span class="sig-name descname"><span class="pre">resample</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'fourier'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'polyphase'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'interpolate'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'min'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'max'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'sum'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'count'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'mean'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'fourier'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">granularity_current</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">granularity_next</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:00:01')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">downsampling_factor</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">interpolate_resolution</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ffill_resolution</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.resample.resample" title="Link to this definition"></a></dt>
 <dd><p>Resample.</p>
 <p>This method offers a robust filling of missing data points and data resampling a given sampling frequency. Multiple
 data resampling options are available:</p>
@@ -272,10 +272,10 @@ <h2>Resampling: Fourier, Polynomial, Linear, min, max, sum, count<a class="heade
 
 </section>
 <section id="resampling-to-granularity-default">
-<h2>Resampling to granularity (default)<a class="headerlink" href="#resampling-to-granularity-default" title="Permalink to this heading"></a></h2>
+<h2>Resampling to granularity (default)<a class="headerlink" href="#resampling-to-granularity-default" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.resample.resample_to_granularity">
-<span class="sig-prename descclassname"><span class="pre">indsl.resample.</span></span><span class="sig-name descname"><span class="pre">resample_to_granularity</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">granularity</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aggregate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'mean'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'interpolation'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'stepInterpolation'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'max'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'min'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'count'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'sum'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'mean'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.resample.resample_to_granularity" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.resample.</span></span><span class="sig-name descname"><span class="pre">resample_to_granularity</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">granularity</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aggregate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'mean'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'interpolation'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'stepInterpolation'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'max'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'min'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'count'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'sum'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'mean'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.resample.resample_to_granularity" title="Link to this definition"></a></dt>
 <dd><p>Resample to granularity.</p>
 <p>Resample time series to a given fixed granularity (time delta) and aggregation type
 (<a class="reference external" href="https://docs.cognite.com/dev/concepts/aggregation/">read more about aggregation</a>)</p>
@@ -310,10 +310,10 @@ <h2>Resampling to granularity (default)<a class="headerlink" href="#resampling-t
 
 </section>
 <section id="group-by-region">
-<h2>Group by region<a class="headerlink" href="#group-by-region" title="Permalink to this heading"></a></h2>
+<h2>Group by region<a class="headerlink" href="#group-by-region" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.resample.group_by_region">
-<span class="sig-prename descclassname"><span class="pre">indsl.resample.</span></span><span class="sig-name descname"><span class="pre">group_by_region</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">filter_by</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">int_to_keep</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aggregate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'Mean'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Median'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Standard</span> <span class="pre">deviation'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Count'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Min'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Max'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'Mean'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timestamp</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'Region</span> <span class="pre">center'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Region</span> <span class="pre">start'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Region</span> <span class="pre">end'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Entire</span> <span class="pre">region'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'Region</span> <span class="pre">center'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.resample.group_by_region" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.resample.</span></span><span class="sig-name descname"><span class="pre">group_by_region</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">filter_by</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">int_to_keep</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">aggregate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'Mean'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Median'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Standard</span> <span class="pre">deviation'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Count'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Min'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Max'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'Mean'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timestamp</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'Region</span> <span class="pre">center'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Region</span> <span class="pre">start'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Region</span> <span class="pre">end'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Entire</span> <span class="pre">region'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'Region</span> <span class="pre">center'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.resample.group_by_region" title="Link to this definition"></a></dt>
 <dd><p>Group by region.</p>
 <p>This function groups any given data series by a series with integers denoting different states. A typical example of
 such a series is a series of 0 and 1 where 1 would indicate the presence of steady process conditions.</p>
@@ -355,10 +355,10 @@ <h2>Group by region<a class="headerlink" href="#group-by-region" title="Permalin
 </aside>
 </section>
 <section id="reindex">
-<h2>Reindex<a class="headerlink" href="#reindex" title="Permalink to this heading"></a></h2>
+<h2>Reindex<a class="headerlink" href="#reindex" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.resample.reindex">
-<span class="sig-prename descclassname"><span class="pre">indsl.resample.</span></span><span class="sig-name descname"><span class="pre">reindex</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data1</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data2</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'zero'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'next'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'slinear'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'quadratic'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'cubic'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'slinear'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kind</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'pointwise'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'average'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'pointwise'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bounded</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.resample.reindex" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.resample.</span></span><span class="sig-name descname"><span class="pre">reindex</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data1</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data2</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'zero'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'next'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'slinear'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'quadratic'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'cubic'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'slinear'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kind</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'pointwise'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'average'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'pointwise'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bounded</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.resample.reindex" title="Link to this definition"></a></dt>
 <dd><p>Reindex.</p>
 <p>This method offers data reindexing onto a common index and fills missing data points.
 If bounded is false, the common index is the union of the the input time-series indices.
diff --git a/docs/search.html b/docs/search.html
index cd1926f6..bfde0baa 100644
--- a/docs/search.html
+++ b/docs/search.html
@@ -18,9 +18,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <script src="_static/searchtools.js"></script>
     <script src="_static/language_data.js"></script>
diff --git a/docs/searchindex.js b/docs/searchindex.js
index bd1031d9..308b92e2 100644
--- a/docs/searchindex.js
+++ b/docs/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["CHANGELOG", "auto_examples/data_quality/index", "auto_examples/data_quality/plot_completeness", "auto_examples/data_quality/plot_datapoint_diff", "auto_examples/data_quality/plot_extreme_outlier", "auto_examples/data_quality/plot_gaps_identification", "auto_examples/data_quality/plot_low_density_identification", "auto_examples/data_quality/plot_negative_running_hours", "auto_examples/data_quality/plot_out_of_range", "auto_examples/data_quality/plot_rolling_stddev_timedelta", "auto_examples/data_quality/plot_uncertainty", "auto_examples/data_quality/plot_value_decrease_check", "auto_examples/data_quality/sg_execution_times", "auto_examples/detect/index", "auto_examples/detect/plot_cusum", "auto_examples/detect/plot_oscillation_detection", "auto_examples/detect/plot_ssd_cpd", "auto_examples/detect/plot_unchanged_signal_detection", "auto_examples/detect/sg_execution_times", "auto_examples/equipment/index", "auto_examples/equipment/plot_pump_parameters", "auto_examples/equipment/plot_recycle_valve_power_loss", "auto_examples/equipment/sg_execution_times", "auto_examples/filter/index", "auto_examples/filter/plot_trend", "auto_examples/filter/plot_wavelet_filter", "auto_examples/filter/sg_execution_times", "auto_examples/fluid_dynamics/index", "auto_examples/fluid_dynamics/sg_execution_times", "auto_examples/forecast/index", "auto_examples/forecast/plot_holt_winters_predictor", "auto_examples/forecast/sg_execution_times", "auto_examples/index", "auto_examples/numerical_calculus/index", "auto_examples/numerical_calculus/plot_sliding_window_integration", "auto_examples/numerical_calculus/sg_execution_times", "auto_examples/oil_and_gas/index", "auto_examples/oil_and_gas/plot_gas_density_calcs", "auto_examples/oil_and_gas/plot_live_fluid_properties", "auto_examples/oil_and_gas/plot_shut_in_detector", "auto_examples/oil_and_gas/plot_shut_in_variables", "auto_examples/oil_and_gas/plot_well_prod_status", "auto_examples/oil_and_gas/sg_execution_times", "auto_examples/reindex/index", "auto_examples/reindex/plot_pearson_correlation", "auto_examples/reindex/sg_execution_times", "auto_examples/resample/index", "auto_examples/resample/plot_group_by_region", "auto_examples/resample/sg_execution_times", "auto_examples/signals/index", "auto_examples/signals/plot_synthetic_gaps", "auto_examples/signals/plot_univariate_polynomial", "auto_examples/signals/plot_wavy_signals", "auto_examples/signals/sg_execution_times", "auto_examples/smooth/index", "auto_examples/smooth/plot_ma", "auto_examples/smooth/plot_sg_smooth", "auto_examples/smooth/sg_execution_times", "auto_examples/statistics/index", "auto_examples/statistics/plot_detect_outliers_001", "auto_examples/statistics/plot_detect_outliers_002", "auto_examples/statistics/plot_pearson_correlation", "auto_examples/statistics/plot_remove_outliers", "auto_examples/statistics/sg_execution_times", "auto_examples/sustainability/index", "auto_examples/sustainability/plot_cumulative_co2", "auto_examples/sustainability/sg_execution_times", "auto_examples/versioning/index", "auto_examples/versioning/sg_execution_times", "auto_examples/versioning/versioned_function", "code_of_conduct", "contribute", "data_quality", "detect", "dev_tools", "drilling", "equipment", "filter", "fluid_dynamics", "forecast", "index", "numerical_calculus", "oil_and_gas", "resample", "signals", "smooth", "statistics", "sustainability", "ts_utils"], "filenames": ["CHANGELOG.md", "auto_examples/data_quality/index.rst", "auto_examples/data_quality/plot_completeness.rst", "auto_examples/data_quality/plot_datapoint_diff.rst", "auto_examples/data_quality/plot_extreme_outlier.rst", "auto_examples/data_quality/plot_gaps_identification.rst", "auto_examples/data_quality/plot_low_density_identification.rst", "auto_examples/data_quality/plot_negative_running_hours.rst", "auto_examples/data_quality/plot_out_of_range.rst", "auto_examples/data_quality/plot_rolling_stddev_timedelta.rst", "auto_examples/data_quality/plot_uncertainty.rst", "auto_examples/data_quality/plot_value_decrease_check.rst", "auto_examples/data_quality/sg_execution_times.rst", "auto_examples/detect/index.rst", "auto_examples/detect/plot_cusum.rst", "auto_examples/detect/plot_oscillation_detection.rst", "auto_examples/detect/plot_ssd_cpd.rst", "auto_examples/detect/plot_unchanged_signal_detection.rst", "auto_examples/detect/sg_execution_times.rst", "auto_examples/equipment/index.rst", "auto_examples/equipment/plot_pump_parameters.rst", "auto_examples/equipment/plot_recycle_valve_power_loss.rst", "auto_examples/equipment/sg_execution_times.rst", "auto_examples/filter/index.rst", "auto_examples/filter/plot_trend.rst", "auto_examples/filter/plot_wavelet_filter.rst", "auto_examples/filter/sg_execution_times.rst", "auto_examples/fluid_dynamics/index.rst", "auto_examples/fluid_dynamics/sg_execution_times.rst", "auto_examples/forecast/index.rst", "auto_examples/forecast/plot_holt_winters_predictor.rst", "auto_examples/forecast/sg_execution_times.rst", "auto_examples/index.rst", "auto_examples/numerical_calculus/index.rst", "auto_examples/numerical_calculus/plot_sliding_window_integration.rst", "auto_examples/numerical_calculus/sg_execution_times.rst", "auto_examples/oil_and_gas/index.rst", "auto_examples/oil_and_gas/plot_gas_density_calcs.rst", "auto_examples/oil_and_gas/plot_live_fluid_properties.rst", "auto_examples/oil_and_gas/plot_shut_in_detector.rst", "auto_examples/oil_and_gas/plot_shut_in_variables.rst", "auto_examples/oil_and_gas/plot_well_prod_status.rst", "auto_examples/oil_and_gas/sg_execution_times.rst", "auto_examples/reindex/index.rst", "auto_examples/reindex/plot_pearson_correlation.rst", "auto_examples/reindex/sg_execution_times.rst", "auto_examples/resample/index.rst", "auto_examples/resample/plot_group_by_region.rst", "auto_examples/resample/sg_execution_times.rst", "auto_examples/signals/index.rst", "auto_examples/signals/plot_synthetic_gaps.rst", "auto_examples/signals/plot_univariate_polynomial.rst", "auto_examples/signals/plot_wavy_signals.rst", "auto_examples/signals/sg_execution_times.rst", "auto_examples/smooth/index.rst", "auto_examples/smooth/plot_ma.rst", "auto_examples/smooth/plot_sg_smooth.rst", "auto_examples/smooth/sg_execution_times.rst", "auto_examples/statistics/index.rst", "auto_examples/statistics/plot_detect_outliers_001.rst", "auto_examples/statistics/plot_detect_outliers_002.rst", "auto_examples/statistics/plot_pearson_correlation.rst", "auto_examples/statistics/plot_remove_outliers.rst", "auto_examples/statistics/sg_execution_times.rst", "auto_examples/sustainability/index.rst", "auto_examples/sustainability/plot_cumulative_co2.rst", "auto_examples/sustainability/sg_execution_times.rst", "auto_examples/versioning/index.rst", "auto_examples/versioning/sg_execution_times.rst", "auto_examples/versioning/versioned_function.rst", "code_of_conduct.rst", "contribute.rst", "data_quality.rst", "detect.rst", "dev_tools.rst", "drilling.rst", "equipment.rst", "filter.rst", "fluid_dynamics.rst", "forecast.rst", "index.rst", "numerical_calculus.rst", "oil_and_gas.rst", "resample.rst", "signals.rst", "smooth.rst", "statistics.rst", "sustainability.rst", "ts_utils.rst"], "titles": ["Changelog", "Data quality", "Completeness score of time series", "Threshold breach check for difference between two data points over a period of time", "Extreme Outliers Removal", "Identifying gaps in time series", "Identifying low density periods", "Negative running hours detection", "Detect out of range outliers in sensor data", "Rolling standard deviation of data points time delta", "Relative uncertainty estimation", "Checking for decreasing values in a timeseries", "Computation times", "Detection Functions", "Change Point Detection with Cusum", "Oscillation detection using linear predictive coding", "Steady State Detection: Change Point", "Unchanged signal identification of time series data", "&lt;no title&gt;", "Equipment Functions", "Calculate parameters of a centrifugal pump", "Pump recycle valve power loss", "Computation times", "Filter Functions", "Trending with Empirical Mode Decomposition", "Noise removal and trending with the Wavelet filter", "Computation times", "&lt;no title&gt;", "Computation times", "Forecasting Functions", "Holt-Winters Predictor", "Computation times", "Gallery of Charts", "Numerical Calculus", "Sliding window integration", "Computation times", "Oil and Gas Functions", "Calculation of gas density", "Calculate fluid properties given pressure and temperature", "Detection of valve shut-in state", "Calculation of shut-in pressure", "Check for the production status of a well", "Computation times", "Reindex function", "Re-indexing and compute Pearson correlation coefficient", "Computation times", "Resampling Functions", "Group by Region", "Computation times", "Synthetic Signal Generation", "Inserting gaps in a time series", "Univariate Polynomial", "Wavy signal generation", "Computation times", "Smoothing Functions", "Data smoothing with Moving Averages", "Data smoothing with the Savitzky-Golay filter", "Computation times", "Statistics", "Outlier detection with DBSCAN and spline regression 001", "Outlier detection with DBSCAN and spline regression 002", "Pearson correlation", "Outlier detection with DBSCAN and spline regression", "Computation times", "Sustainability Functions", "Cumulative CO2 Production and Cost", "Computation times", "Function versioning", "Computation times", "Function versioning", "Code of Conduct", "Contributing", "Data Quality", "Detect", "Developer utility functions", "Drilling", "Equipment", "Filter", "Fluid Dynamics", "Forecast", "Cognite\u2019s Industrial Data Science Library", "Numerical Calculus", "Oil and Gas", "Resample", "Signals", "Smooth", "Statistics", "Sustainability", "Basic time series functions"], "terms": {"dep": 0, "updat": [0, 4], "depend": [0, 71, 73, 80, 82, 87], "numpi": [0, 3, 4, 8, 9, 10, 14, 15, 17, 20, 24, 34, 44, 52, 59, 60, 61, 71, 80, 88], "1056": 0, "chore": 0, "commit": [0, 70, 71], "hook": 0, "commitizen": 0, "tool": [0, 5, 71], "1058": 0, "scipi": [0, 8, 71, 80], "1057": 0, "rais": [0, 71, 72, 73, 74, 75, 76, 77, 79, 82, 83, 84, 85, 86, 88], "uservalueerror": [0, 71, 72, 73, 74, 75, 77, 79, 82, 83, 84, 85, 86, 88], "when": [0, 5, 8, 10, 39, 44, 69, 70, 71, 72, 73, 74, 76, 82, 83, 84, 86], "snr_db": [0, 10, 24, 52, 84], "i": [0, 2, 5, 6, 7, 8, 10, 11, 21, 24, 30, 34, 37, 38, 39, 40, 41, 44, 47, 52, 62, 65, 69, 70, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88], "abov": [0, 6, 16, 20, 25, 39, 40, 56, 71, 72, 73, 76, 82, 86, 88], "certain": [0, 6, 17, 34, 71, 72, 76], "valu": [0, 1, 3, 5, 7, 8, 9, 12, 15, 16, 17, 20, 25, 30, 32, 39, 40, 47, 59, 60, 71, 73, 74, 75, 77, 79, 82, 83, 85, 86, 87, 88], "white_nois": [0, 8, 10, 24, 52, 84], "1049": 0, "integ": [0, 4, 8, 47, 71, 72, 77, 79, 81, 83, 84, 85, 88], "divis": [0, 88], "modulo": [0, 88], "zero": [0, 25, 34, 52, 73, 74, 83, 84, 85, 86, 88], "_make_index": 0, "1036": 0, "check": [0, 1, 12, 21, 32, 36, 42, 44, 71, 72, 73, 80, 82, 88], "wvalv": 0, "chang": [0, 7, 11, 13, 15, 18, 32, 55, 71, 72, 74, 80, 82, 84, 85], "avoid": [0, 70, 71, 73, 83, 84], "indexerror": 0, "1052": 0, "test": [0, 5, 38, 71, 72, 73, 79, 88], "remov": [0, 1, 2, 5, 6, 8, 10, 12, 23, 24, 26, 32, 44, 50, 55, 56, 62, 70, 71, 73, 77, 80, 83, 84, 88], "jit": 0, "compil": [0, 80], "1059": 0, "1060": 0, "lock": 0, "file": [0, 12, 18, 22, 26, 28, 31, 35, 38, 40, 41, 42, 45, 48, 53, 57, 63, 66, 68, 71, 82], "mainten": 0, "1061": 0, "doc": [0, 71, 72, 73, 81, 86, 88], "1055": 0, "1062": 0, "mirror": 0, "mypi": 0, "1065": 0, "1064": 0, "sphinx": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 32, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 71], "1067": 0, "1068": 0, "1063": 0, "ruff": 0, "285": 0, "1069": 0, "astral": 0, "sh": 0, "1070": 0, "1071": 0, "galleri": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69], "1072": 0, "1074": 0, "1076": 0, "1077": 0, "286in": 0, "1078": 0, "286": 0, "1079": 0, "1081": 0, "1080": 0, "add": [0, 4, 61, 69, 79, 84, 88], "cognit": [0, 13, 19, 23, 32, 46, 54, 70, 71], "copyright": 0, "all": [0, 8, 44, 52, 69, 70, 71, 72, 75, 77, 80, 82, 83, 88], "sourc": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 71, 87], "1082": 0, "panda": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88], "1085": 0, "maintenancein": 0, "1086": 0, "simplifi": [0, 21, 71], "build": [0, 69], "1087": 0, "287": 0, "1092": 0, "1089": 0, "1093": 0, "clean": [0, 4, 71], "up": [0, 71, 76, 83, 88], "comment": [0, 70, 71], "ah": 0, "1903": 0, "1088": 0, "export": 0, "chart": [0, 13, 19, 23, 46, 54, 80], "specif": [0, 7, 11, 37, 38, 69, 71, 72, 76, 82, 88], "function": [0, 2, 3, 7, 8, 10, 11, 15, 20, 24, 40, 41, 52, 58, 68, 72, 73, 76, 77, 79, 80, 82, 83, 84, 85, 86, 87], "1083": 0, "1051": 0, "python": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 71, 74], "docker": 0, "tag": 0, "1053": 0, "1054": 0, "type": [0, 7, 11, 14, 21, 25, 30, 47, 69, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88], "convers": 0, "point": [0, 1, 4, 5, 6, 8, 10, 12, 13, 18, 20, 21, 24, 32, 50, 71, 72, 77, 80, 81, 83, 84, 85, 86, 88], "detect": [0, 1, 5, 6, 12, 17, 18, 36, 40, 42, 47, 58, 63, 80, 82], "algorithm": [0, 2, 7, 8, 11, 14, 16, 29, 32, 36, 47, 72, 73, 80, 82, 86], "1047": 0, "valv": [0, 19, 22, 32, 36, 40, 41, 42, 80, 82], "empti": [0, 71, 72, 73, 79, 83, 84, 85, 86, 88], "1050": 0, "creat": [0, 2, 4, 5, 6, 16, 25, 39, 40, 47, 50, 51, 52, 56, 61, 72, 88], "poetri": [0, 71], "group": [0, 8, 32, 46, 48, 80], "fluid": [0, 20, 21, 32, 36, 42, 75, 76, 80], "1048": 0, "1021": 0, "1023": 0, "275": 0, "1025": 0, "1026": 0, "1027": 0, "1028": 0, "1029": 0, "1030": 0, "bump": 0, "word": [0, 34, 71, 85], "wrap": 0, "from": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 70, 71, 72, 73, 74, 77, 78, 82, 83, 84, 86, 88], "preview": [0, 71], "1022": 0, "tough": 0, "cooki": 0, "1010": 0, "semver": 0, "1011": 0, "1008": 0, "1024": 0, "276": 0, "1031": 0, "277": 0, "1034": 0, "1033": 0, "1035": 0, "psf": 0, "black": [0, 25, 47, 71], "v23": 0, "1038": 0, "indsl": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 32, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 58, 59, 60, 61, 62, 65, 67, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88], "core": [0, 80], "extra": [0, 76, 80], "split": [0, 44, 73], "1000": [0, 4, 21, 65], "278": 0, "1041": 0, "1042": 0, "284": 0, "1043": 0, "1032": 0, "1044": 0, "1045": 0, "1039": 0, "alpha": [0, 2, 8, 14, 15, 16, 34, 40, 47, 51, 72, 73], "outsid": [0, 72, 82, 83, 88], "rang": [0, 1, 2, 4, 5, 6, 12, 32, 34, 38, 52, 82, 83, 84, 85, 86, 88], "cusum": [0, 13, 18, 32, 80], "1037": 0, "matplotlib": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 80], "main": [0, 8, 71, 72, 76], "depen": 0, "us": [0, 5, 6, 7, 8, 10, 11, 13, 14, 16, 18, 19, 23, 24, 25, 29, 30, 32, 34, 36, 37, 38, 39, 40, 44, 46, 47, 50, 52, 54, 55, 56, 58, 59, 60, 62, 64, 65, 69, 70, 71, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88], "lazi": [0, 71], "import": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 71, 78, 85, 86], "1019": 0, "1014": 0, "1016": 0, "myst": 0, "parser": 0, "1015": 0, "exclud": [0, 5, 71], "plot": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 80, 86], "oscil": [0, 13, 18, 32, 80, 84], "detector": [0, 4, 15, 39, 40, 72, 80], "1017": 0, "1009": 0, "1006": 0, "x": [0, 4, 8, 16, 20, 24, 34, 47, 71, 72, 73, 76, 84, 88], "duplic": [0, 71], "1005": 0, "after": [0, 40, 69, 71, 82, 83, 86], "panada": 0, "1012": 0, "calcul": [0, 3, 8, 9, 19, 21, 22, 30, 32, 36, 42, 47, 55, 61, 65, 71, 72, 73, 76, 80, 83, 85, 86, 88], "datapoint": [0, 3, 14, 20, 34, 88], "differ": [0, 1, 5, 6, 8, 10, 20, 24, 25, 32, 39, 47, 50, 52, 55, 56, 69, 70, 71, 73, 76, 77, 78, 81, 82, 83, 84, 85, 87, 88], "over": [0, 1, 8, 32, 34, 71, 76, 85, 87], "time": [0, 1, 4, 6, 7, 8, 10, 11, 13, 14, 15, 16, 18, 20, 21, 24, 25, 30, 32, 34, 37, 38, 39, 40, 41, 43, 44, 47, 49, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 70, 71, 73, 75, 76, 77, 79, 80, 81, 82, 83, 85, 86, 87], "period": [0, 1, 4, 8, 10, 12, 14, 17, 24, 32, 34, 59, 60, 61, 69, 70, 71, 73, 75, 79, 82, 83, 84, 85, 86, 88], "851": 0, "flow": [0, 21, 25, 38, 55, 56, 75, 78, 82, 87], "compress": [0, 37, 40, 76, 82], "670": 0, "liter": [0, 71, 73, 76, 77, 79, 82, 83, 84, 85, 88], "typing_extens": 0, "999": 0, "scikit": [0, 80], "imag": [0, 69, 80], "1003": 0, "959": 0, "typeguard": [0, 71], "degr": 0, "2625": 0, "988": 0, "991": 0, "973": 0, "numba": [0, 80, 88], "57": 0, "980": 0, "statsmodel": [0, 80], "982": 0, "automerg": 0, "minor": [0, 8], "renov": 0, "config": 0, "966": 0, "auto": [0, 71, 76, 77, 79, 82, 86, 88], "964": 0, "951": 0, "resolv": 0, "precommit": 0, "error": [0, 71, 72, 73, 74, 75, 85], "groupbi": 0, "region": [0, 15, 16, 32, 46, 48, 73, 80], "933": 0, "pd": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 71, 72, 73, 74, 76, 83, 84, 85, 88], "timedelta": [0, 2, 3, 5, 6, 9, 10, 17, 21, 24, 34, 50, 52, 59, 60, 61, 71, 72, 73, 74, 81, 83, 84, 85, 86, 88], "valid": [0, 71, 80, 81, 82, 83, 84, 88], "trapezoidal_integr": [0, 81, 88], "946": 0, "move": [0, 32, 34, 54, 57, 71, 80, 84, 86], "awai": 0, "implement": [0, 24, 32, 67, 71, 73], "librari": [0, 69, 71, 76], "943": 0, "emd": [0, 8, 24], "940": 0, "packag": [0, 71, 74, 77], "921": 0, "923": 0, "warn": [0, 30, 70, 72, 83], "909": 0, "data": [0, 2, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 24, 25, 29, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 54, 57, 59, 60, 61, 62, 65, 71, 73, 74, 77, 78, 79, 82, 83, 85, 86, 87, 88], "qualiti": [0, 5, 7, 11, 80, 84], "base": [0, 2, 6, 8, 14, 15, 16, 62, 71, 72, 73, 75, 80, 82, 86, 88], "class": [0, 70, 71], "handl": [0, 5], "consecut": [0, 17, 82, 84, 88], "gap": [0, 1, 2, 6, 8, 12, 32, 49, 53, 83], "separ": [0, 77, 84, 88], "event": [0, 70], "1298": 0, "906": 0, "v22": 0, "898": 0, "interpol": [0, 69, 73, 80, 82], "typo": [0, 71], "886": 0, "drill": [0, 80], "toolbox": [0, 71], "basic": [0, 71, 72, 80], "832": 0, "licens": [0, 71], "ci": [0, 71], "action": [0, 70], "956": 0, "879": 0, "gustavo": [0, 72], "author": 0, "884": 0, "titl": [0, 9, 16, 25, 34, 47, 52, 56, 62, 65, 71], "exampl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 21, 23, 24, 25, 29, 30, 32, 34, 36, 37, 38, 39, 40, 41, 43, 44, 46, 47, 49, 50, 51, 52, 54, 55, 56, 58, 59, 60, 61, 62, 64, 65, 67, 70, 74, 88], "decreas": [0, 1, 7, 8, 12, 14, 32, 73], "880": 0, "solv": [0, 78], "work": [0, 5, 8, 44, 65, 71, 72, 73, 79, 80, 81, 83, 85, 88], "link": [0, 71], "flake": 0, "url": [0, 71], "github": [0, 70, 71, 73, 76], "instead": [0, 5, 6, 71, 86], "gitlab": 0, "872": 0, "publish": [0, 70], "merg": [0, 71, 88], "label": [0, 3, 8, 9, 10, 14, 17, 20, 24, 25, 30, 34, 37, 38, 39, 40, 44, 47, 52, 55, 56, 59, 60, 61, 62, 71, 73], "pr": [0, 71], "863": 0, "new": [0, 2, 69, 72, 74, 80], "option": [0, 8, 71, 73, 81, 82, 83, 85, 88], "argument": [0, 69, 71, 73, 79], "resample_timeseri": 0, "util": [0, 79, 80], "830": 0, "approv": [0, 71], "workflow": [0, 71], "bot": 0, "854": 0, "841": 0, "56": 0, "827": [0, 15], "instanti": 0, "outlier": [0, 1, 5, 6, 12, 32, 44, 58, 63, 73, 80], "846": 0, "dimens": [0, 78, 86], "out": [0, 1, 4, 6, 12, 20, 32, 34, 65, 69, 71, 75, 76, 79, 82], "667": 0, "kneed": [0, 80], "831": 0, "profil": 0, "metric": [0, 72], "739": 0, "fail": [0, 25], "pypi": 0, "push": [0, 71], "819": 0, "814": 0, "print": 0, "correct": [0, 70, 72, 73, 88], "filenam": 0, "docstr": [0, 71], "808": 0, "smoother": [0, 4, 8, 25, 55, 56, 71, 72], "should": [0, 47, 71, 72, 73, 74, 76, 77, 79, 82, 83, 86, 87, 88], "seri": [0, 1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 18, 20, 25, 32, 34, 37, 41, 43, 44, 47, 49, 51, 52, 53, 55, 56, 59, 60, 61, 62, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87], "800": 0, "magnitud": [0, 24, 84, 85, 86], "perturb_timestamp": [0, 8, 10, 24, 84], "804": 0, "unit": [0, 34, 62, 65, 71, 72, 73, 76, 81, 82, 83, 84, 85, 86, 87, 88], "millisecond": [0, 81, 84, 88], "second": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 72, 73, 74, 80, 81, 83, 84, 86, 88], "795": 0, "ensur": [0, 21, 71], "old": [0, 71], "name": [0, 17, 38, 41, 69, 71, 72, 74], "scheme": [0, 74], "e": [0, 8, 52, 70, 71, 72, 76, 78, 79, 82, 83, 84, 85, 86, 87, 88], "g": [0, 5, 40, 44, 52, 71, 73, 79, 83, 84, 85, 87, 88], "wavelet_filt": [0, 25, 69, 77], "ar": [0, 2, 4, 5, 6, 8, 10, 14, 16, 21, 24, 44, 47, 52, 55, 70, 71, 72, 73, 74, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 88], "copi": [0, 8, 61], "792": 0, "gas_dens": 0, "1090": 0, "805": 0, "801": 0, "reindex": [0, 8, 44, 69, 80], "return": [0, 14, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 88], "list": [0, 6, 69, 71, 72, 74, 76, 84, 88], "1344": 0, "785": 0, "datatyp": 0, "numerical_calculu": [0, 34, 81, 88], "797": 0, "invalid": [0, 71, 72, 74], "wavelet": [0, 23, 26, 32, 80], "sym1": 0, "905": 0, "796": 0, "pin": 0, "773": 0, "unus": 0, "privat": [0, 70, 71], "_get_sample_frequ": 0, "809": [0, 38], "version": [0, 5, 6, 68, 70, 80], "start": [0, 2, 4, 5, 6, 8, 9, 14, 21, 34, 50, 51, 52, 61, 69, 71, 83, 84, 87, 88], "788": 0, "introduc": [0, 5, 6, 84], "convent": [0, 71, 83, 88], "782": 0, "replac": [0, 8, 88], "enum": [0, 71], "763": 0, "1007": 0, "781": 0, "stricter": 0, "1342": 0, "776": [0, 3], "deprec": [0, 69, 71, 74], "forecast": [0, 30, 80, 85], "1257": 0, "778": 0, "increas": [0, 7, 10, 11, 14, 21, 52, 55, 56, 72, 73, 82], "robust": [0, 8, 69, 71, 72, 83, 85], "perform": [0, 8, 65, 69, 72, 79, 83, 85, 87, 88], "1264": 0, "774": 0, "": [0, 8, 9, 17, 52, 59, 60, 70, 71, 72, 76, 78, 81, 83, 84, 85, 86, 87, 88], "polynomi": [0, 4, 8, 10, 20, 24, 32, 49, 53, 56, 71, 72, 73, 76, 80, 85], "poli": [0, 20], "fit": [0, 8, 20, 56, 71, 72, 73, 79, 85], "evalu": [0, 5, 16, 47, 82], "1295": 0, "765": 0, "infin": [0, 88], "regress": [0, 4, 32, 58, 63, 79, 86], "1282": 0, "766": 0, "drift": [0, 8, 10, 14, 24, 80], "1281": 0, "767": 0, "arrai": [0, 88], "input": [0, 14, 16, 37, 38, 44, 51, 71, 76, 77, 79, 82, 83, 85, 86, 88], "length": [0, 8, 71, 72, 73, 74, 76, 77, 78, 81, 82, 85, 86, 88], "1339": 0, "761": 0, "runtimeerror": [0, 73, 82], "steadi": [0, 13, 18, 32, 47, 80, 83], "state": [0, 13, 18, 32, 36, 38, 42, 47, 71, 77, 80, 82, 83], "1296": 0, "1322": 0, "762": 0, "react": [0, 85], "v13": 0, "756": 0, "ad": [0, 4, 10, 24, 52, 71], "hint": [0, 71, 85], "1338": 0, "751": 0, "coverag": [0, 71], "confid": [0, 80], "band": [0, 77, 80], "746": 0, "745": 0, "validt": 0, "alma": [0, 85], "py": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 28, 30, 31, 34, 35, 37, 38, 39, 40, 41, 42, 44, 45, 47, 48, 50, 51, 52, 53, 55, 56, 57, 59, 60, 61, 62, 63, 65, 66, 68, 69, 71], "1332": 0, "744": 0, "ep": [0, 86], "paramet": [0, 8, 14, 16, 19, 22, 32, 47, 52, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 88], "735": 0, "732": 0, "741": 0, "pearson": [0, 32, 43, 45, 58, 63, 80, 83], "correl": [0, 32, 43, 45, 58, 63, 80, 83], "roll": [0, 1, 12, 32, 44, 61, 73, 85, 86], "window": [0, 6, 8, 32, 33, 35, 44, 55, 56, 59, 60, 62, 71, 72, 73, 80, 82, 85, 86, 88], "711": 0, "durat": [0, 17, 39, 40, 41, 59, 60, 73, 84], "unchang": [0, 3, 13, 18, 32, 80], "signal": [0, 2, 3, 4, 5, 6, 10, 13, 15, 18, 21, 24, 25, 40, 50, 51, 53, 77, 80, 82, 83, 85], "712": 0, "recycl": [0, 19, 22, 32], "power": [0, 19, 20, 22, 32, 52, 65, 71, 73, 77, 84, 87, 88], "loss": [0, 19, 22, 32, 88], "717": [0, 57], "721": 0, "todo": [0, 16, 25, 39, 40, 56, 62], "707": 0, "540": 0, "sustain": [0, 65, 70, 80], "686": 0, "upgrad": 0, "butterworth": 0, "filter": [0, 4, 8, 24, 26, 54, 57, 71, 72, 80, 83, 88], "690": 0, "messag": [0, 71], "holt": [0, 29, 31, 32, 80], "winter": [0, 29, 31, 32, 80], "predictor": [0, 29, 31, 32, 72, 80], "688": 0, "make": [0, 10, 21, 24, 34, 52, 70, 71, 72, 86], "initi": [0, 34, 44, 69, 84], "accept": [0, 70, 71, 72, 76, 81, 85, 86, 88], "more": [0, 8, 10, 15, 21, 24, 25, 34, 52, 69, 71, 72, 73, 74, 77, 80, 83, 84, 85, 86, 88], "format": [0, 14, 24, 61, 71, 72, 81, 85, 86, 88], "685": 0, "delet": [0, 72, 84], "tab": [0, 24, 38, 71, 82], "nor": 0, "cover": 0, "679": 0, "doubl": [0, 71], "toler": [0, 8, 72], "equip": [0, 3, 20, 21, 80], "673": 0, "seasonal_period": [0, 30, 79], "must": [0, 71, 72, 77, 79, 83, 84, 85, 87, 88], "larger": [0, 8, 56, 72, 73, 74, 83, 84, 86], "than": [0, 6, 7, 11, 21, 25, 39, 55, 71, 72, 73, 74, 83, 84, 85, 86, 88], "1263": 0, "675": 0, "densiti": [0, 1, 12, 20, 21, 32, 36, 42, 76, 78, 80, 86], "method": [0, 2, 5, 6, 8, 10, 16, 24, 25, 38, 39, 40, 44, 50, 52, 56, 71, 73, 74, 77, 79, 81, 82, 83, 84, 85, 86, 87, 88], "dq": 0, "score": [0, 1, 5, 6, 12, 32, 88], "666": 0, "identif": [0, 3, 5, 6, 13, 18, 32, 59, 60, 80], "638": 0, "pump": [0, 7, 11, 19, 22, 32, 71, 72, 75, 80], "descript": [0, 71, 74], "661": 0, "allow": [0, 16, 56, 69, 70, 71, 72, 73, 77, 85, 86, 88], "union": [0, 71, 76, 83, 88], "scalar": 0, "f": [0, 8, 20, 37, 44, 52, 55, 76], "636": 0, "standard": [0, 1, 5, 6, 8, 12, 14, 32, 70, 73, 74, 76, 82, 83, 84, 86, 88], "deviat": [0, 1, 5, 6, 8, 12, 32, 61, 73, 83, 84, 86, 88], "delta": [0, 1, 12, 32, 76, 83, 84], "582": 0, "bug": [0, 71], "bound": [0, 83, 86], "true": [0, 8, 14, 16, 20, 21, 40, 44, 47, 52, 69, 71, 72, 73, 74, 82, 83, 85, 86], "contain": [0, 14, 15, 16, 40, 71, 72, 73, 77, 83, 84, 86, 88], "nan": [0, 44, 69, 75, 83, 88], "1224": 0, "644": [0, 14, 18], "remove_outli": [0, 62, 86], "1226": 0, "642": 0, "restructur": 0, "624": 0, "wrong": [0, 73, 74, 79], "resampl": [0, 3, 8, 17, 44, 47, 62, 65, 69, 73, 80, 85, 87], "one": [0, 6, 8, 15, 25, 69, 71, 72, 73, 74, 76, 77, 79, 82, 84, 85, 86, 88], "ha": [0, 4, 6, 8, 15, 21, 71, 72, 73, 74, 82, 83, 84, 85, 86, 88], "two": [0, 1, 5, 6, 8, 10, 21, 24, 30, 32, 43, 44, 47, 61, 69, 71, 72, 73, 74, 83, 84, 86, 88], "631": 0, "small": [0, 8, 10, 24, 56, 71, 72, 85, 88], "627": 0, "constant": [0, 8, 21, 73, 79], "resolut": [0, 83, 84], "625": 0, "init": 0, "616": 0, "tupl": [0, 88], "float": [0, 52, 71, 72, 73, 75, 76, 78, 79, 82, 84, 85, 86, 87, 88], "613": 0, "annot": [0, 8, 71], "gapdataqualityscoreanalys": 0, "compute_scor": 0, "614": 0, "throw": 0, "ts_util": [0, 34, 81, 88], "1190": 0, "602": 0, "dataqu": 0, "562": 0, "583": 0, "centrifug": [0, 19, 22, 32, 76], "recircul": [0, 21, 76], "energi": [0, 76, 87], "586": 0, "gracefulli": [0, 70], "dataqualityscor": 0, "594": 0, "flag": [0, 74, 77, 80, 83, 88], "588": 0, "ga": [0, 42, 65, 76, 80, 87], "calc": 0, "574": 0, "userruntimeerror": [0, 74, 77, 79, 83], "calculate_compress": 0, "1182": 0, "587": 0, "helper": [0, 8, 71, 74], "579": 0, "sg": [0, 8, 21, 37, 56, 71, 72, 76, 82, 85], "569": 0, "uncertainti": 0, "estim": [0, 24, 40, 44, 52, 72, 73, 82, 85, 86], "1102": 0, "535": 0, "threshold": [0, 1, 5, 6, 7, 11, 14, 32, 39, 40, 73, 75, 77, 82, 83, 86, 88], "546": 0, "548": 0, "extrem": [0, 1, 12, 32, 73], "had": [0, 7, 11, 72], "an": [0, 4, 5, 6, 7, 8, 10, 11, 24, 25, 30, 39, 41, 52, 65, 70, 72, 73, 75, 76, 77, 78, 79, 81, 82, 84, 85, 86, 87, 88], "formula": [0, 71, 76], "541": 0, "crash": 0, "resample_to_granular": [0, 83], "aggregat": 0, "1103": 0, "537": 0, "skip": 0, "align": [0, 44, 69, 70, 76, 77, 82, 86, 88], "indic": [0, 3, 7, 11, 17, 44, 59, 60, 69, 73, 75, 77, 82, 83, 84, 86, 88], "alreadi": [0, 71], "522": 0, "logic": 0, "513": 0, "530": 0, "sdk": 0, "limit": [0, 8, 86, 88], "size": [0, 2, 4, 5, 6, 8, 16, 17, 50, 55, 56, 59, 60, 70, 72, 76, 83, 84, 85, 86], "533": 0, "trend": [0, 10, 23, 26, 30, 32, 55, 56, 71, 72, 77, 79, 85], "extract": [0, 24], "992": 0, "525": 0, "distutil": 0, "524": 0, "improv": [0, 71], "512": 0, "507": 0, "504": 0, "deprecation_warn": 0, "494": 0, "enforc": [0, 70], "first": [0, 5, 8, 20, 21, 30, 44, 69, 71, 72, 73, 80, 81, 83, 84, 85, 88], "492": 0, "well_prod_statu": [0, 41], "483": 0, "abstract": 0, "474": 0, "arithmet": [0, 88], "mean": [0, 6, 8, 9, 14, 21, 24, 65, 69, 72, 73, 76, 82, 83, 84, 85, 86, 88], "multipl": [0, 2, 5, 6, 30, 44, 50, 69, 71, 79, 83, 84, 86, 88], "481": 0, "471": 0, "slide": [0, 32, 33, 35, 80, 88], "integr": [0, 8, 32, 33, 35, 69, 71, 80, 87, 88], "438": 0, "collect": [0, 71, 80], "common": [0, 5, 44, 70, 71, 72, 83], "459": 0, "visual": [0, 3, 9, 17, 73], "represent": [0, 77], "393": [0, 21, 22], "neg": [0, 25, 69, 71, 72, 73, 84, 88], "run": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 71, 72, 73, 74, 80], "hour": [0, 2, 3, 5, 6, 11, 34, 39, 50, 72, 81, 82, 83, 84, 86, 87, 88], "model": [0, 8, 71, 72, 73, 79, 80, 85], "340": 0, "948": 0, "382": 0, "937": 0, "370": 0, "935": 0, "371": [0, 44, 45], "differenti": [0, 71, 80, 88], "938": 0, "369": 0, "arma": [0, 80, 85], "934": 0, "372": 0, "355": 0, "style": [0, 8, 80], "oper": [0, 20, 44, 69, 76, 80], "338": 0, "line": [0, 2, 5, 6, 8, 10, 21, 24, 50, 51, 52, 71, 73, 76], "sine_wav": [0, 8, 10, 21, 24, 52, 84], "341": 0, "status_flag_filt": [0, 69, 77], "336": 0, "334": 0, "default": [0, 7, 11, 39, 71, 72, 73, 74, 76, 77, 80, 81, 82, 84, 85, 86, 87, 88], "335": 0, "support": [0, 71, 84, 85], "919": 0, "337": 0, "9": [0, 2, 5, 7, 8, 10, 11, 16, 21, 24, 25, 30, 34, 39, 40, 44, 47, 50, 52, 56, 62, 74, 76, 86], "342": 0, "316": 0, "live": 0, "properti": [0, 32, 36, 40, 42, 72, 80, 85], "249": 0, "855": 0, "312": 0, "due": [0, 74, 76, 77, 78, 83], "path": [0, 3, 7, 11, 15, 16, 20, 25, 30, 37, 38, 39, 40, 41, 44, 47, 55, 56, 62, 65, 71], "306": 0, "complet": [0, 1, 12, 32, 71, 80], "293": [0, 8, 12], "refer": [0, 5, 71, 72, 73, 76, 81, 86, 88], "290": 0, "bin_map": [0, 69, 88], "870": 0, "univari": [0, 32, 49, 53], "295": [0, 16], "automat": [0, 69, 71, 73, 76, 77, 82, 83, 86, 88], "output": [0, 7, 11, 15, 20, 38, 41, 65, 69, 71, 72, 82, 83, 84, 87, 88], "260": 0, "sine": [0, 52, 88], "wave": [0, 10, 15, 24], "white": [0, 8, 40, 77, 78], "nois": [0, 4, 8, 10, 15, 23, 24, 26, 32, 55, 56, 61, 73, 77, 80, 83, 86], "gener": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 53, 55, 56, 59, 60, 61, 62, 65, 69, 71, 80, 82, 85, 86, 87], "268": 0, "243": 0, "except": [0, 8, 24, 71, 72, 80, 82], "target": [0, 71], "user": [0, 69, 71, 73, 74, 81, 82, 85, 88], "252": 0, "231": 0, "759": 0, "183": 0, "well": [0, 8, 32, 36, 40, 42, 70, 71, 75, 78, 80], "statu": [0, 32, 36, 42, 70, 80], "224": 0, "wrapper": 0, "visualis": 0, "ed": [0, 16, 80], "pelt": [0, 16, 80], "209": 0, "synthet": [0, 10, 14, 24, 34, 61, 62, 80], "62": 0, "valve_data": [0, 41], "pkl": [0, 20, 38, 41], "259": 0, "set": [0, 4, 7, 11, 17, 25, 39, 40, 44, 56, 62, 70, 71, 72, 73, 83, 84, 85, 86, 88], "212": 0, "short": [0, 10, 24, 39, 56, 71, 72, 73], "194": 0, "try": [0, 73], "cpd": [0, 16, 73], "184": 0, "clip": [0, 69, 88], "193": 0, "get_timestamp": [0, 88], "shift": [0, 14, 84, 88], "813": 0, "172": 0, "789": 0, "189": 0, "shut": [0, 32, 36, 42, 80], "var": 0, "102": 0, "disabl": [0, 70], "extrapol": [0, 79, 83], "auto_align": 0, "163": 0, "121": 0, "issu": [0, 69, 70, 71], "datetim": [0, 3, 9, 15, 17, 30, 59, 60, 71, 72, 83, 88], "index": [0, 3, 4, 7, 8, 9, 11, 14, 15, 16, 17, 25, 30, 32, 34, 39, 40, 43, 45, 47, 52, 55, 56, 59, 60, 61, 62, 65, 69, 71, 72, 73, 79, 80, 83, 86, 88], "onli": [0, 44, 71, 72, 76, 83, 84, 85, 88], "date": [0, 14, 24, 38, 61, 65, 84, 87], "69": 0, "643": 0, "61": 0, "674": 0, "45": [0, 8, 14, 24, 61], "miss": [0, 2, 8, 73, 83], "would": [0, 44, 71, 72, 74, 77, 83], "availa": 0, "65": 0, "re": [0, 4, 14, 32, 43, 45, 71, 78, 83], "626": 0, "19": 0, "process": [0, 4, 16, 47, 65, 71, 72, 73, 83, 85], "34": [0, 11], "pipelin": 0, "33": 0, "granular": [0, 16, 62, 80, 81, 84, 87, 88], "branch": [0, 71], "master": [0, 41, 71, 73, 82], "how": [1, 2, 5, 6, 8, 10, 13, 14, 16, 19, 21, 23, 25, 32, 43, 44, 46, 49, 54, 56, 58, 62, 64, 67, 72, 85], "explor": [1, 32, 71], "timeseri": [1, 2, 3, 12, 32, 34, 61, 72, 83, 85], "breach": [1, 32, 72], "between": [1, 5, 8, 20, 32, 40, 61, 72, 73, 75, 76, 79, 82, 84, 85, 86, 88], "identifi": [1, 8, 9, 12, 14, 15, 16, 32, 47, 72, 73, 83, 86], "low": [1, 4, 8, 12, 32, 59, 60, 74, 80, 88], "sensor": [1, 5, 12, 16, 25, 32, 39, 44, 55, 56, 62, 72, 82, 84], "click": [2, 4, 5, 6, 7, 8, 9, 10, 11, 14, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 50, 51, 55, 56, 59, 60, 61, 62, 65, 69], "here": [2, 4, 5, 6, 7, 8, 9, 10, 11, 14, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 50, 51, 55, 56, 59, 60, 61, 62, 65, 69, 71, 72, 76, 81, 82, 86, 88], "download": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 71], "full": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 71, 76, 78, 84], "code": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 18, 20, 21, 24, 25, 30, 32, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 73, 80], "It": [2, 7, 11, 24, 52, 71, 72, 73, 76, 78, 79, 82, 83, 85, 87], "know": 2, "In": [2, 4, 5, 6, 8, 14, 16, 25, 34, 40, 44, 47, 55, 56, 69, 71, 72, 82, 85, 86], "thi": [2, 4, 5, 6, 8, 10, 11, 14, 16, 21, 34, 38, 40, 44, 47, 61, 69, 70, 71, 72, 73, 74, 76, 77, 79, 80, 82, 83, 84, 85, 86, 87, 88], "qualifi": 2, "basi": 2, "its": [2, 52, 72, 78, 84, 86], "good": [2, 5, 8, 71, 72, 85], "medium": [2, 72], "poor": [2, 72], "The": [2, 5, 6, 7, 8, 10, 11, 14, 15, 16, 20, 21, 24, 25, 37, 38, 39, 40, 41, 44, 51, 52, 59, 60, 62, 70, 71, 72, 73, 74, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 87, 88], "measur": [2, 5, 6, 25, 55, 56, 72, 75, 76, 86], "much": [2, 6, 8, 71, 85], "median": [2, 5, 6, 44, 72, 83], "sampl": [2, 5, 6, 8, 9, 16, 25, 44, 50, 55, 56, 71, 72, 73, 83, 84, 85, 86], "frequenc": [2, 5, 6, 15, 25, 30, 44, 50, 55, 56, 72, 73, 77, 80, 81, 83, 84, 86, 88], "A": [2, 5, 6, 8, 70, 71, 72, 73, 75, 77, 78, 79, 83, 84, 85], "1975": [2, 5, 8, 50, 51, 52, 84], "05": [2, 5, 8, 14, 16, 39, 41, 44, 47, 50, 51, 52, 72, 73, 80, 81, 84, 88], "09": [2, 5, 50, 51, 52, 59, 60, 80, 84], "20": [2, 4, 5, 8, 10, 25, 50, 52, 72, 77, 80, 84, 88], "1": [2, 3, 4, 5, 6, 7, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88], "taken": [2, 71], "10": [2, 4, 6, 8, 9, 10, 15, 16, 17, 20, 21, 24, 34, 37, 44, 47, 51, 52, 61, 65, 71, 72, 73, 76, 80, 84, 85, 86, 88], "30": [2, 6, 24, 52, 71, 80, 82, 84], "50": [2, 5, 8, 41, 75, 85], "random": [2, 4, 5, 6, 8, 10, 14, 17, 24, 34, 44, 50, 52, 59, 60, 61, 84], "locat": [2, 5, 6, 8, 50, 71, 72, 82, 83, 84], "three": [2, 10, 24, 50, 51, 72, 87], "classifi": [2, 72, 86], "pyplot": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65], "plt": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65], "data_qu": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 72], "completeness_scor": [2, 72], "insert_data_gap": [2, 5, 6, 8, 10, 24, 50, 84], "timestamp": [2, 3, 5, 6, 9, 10, 17, 21, 24, 47, 50, 51, 52, 59, 60, 71, 72, 82, 83, 84, 87, 88], "end": [2, 3, 5, 6, 9, 14, 15, 47, 50, 51, 52, 73, 76, 83, 84, 88], "four": [2, 5, 6, 50, 52], "start_dat": [2, 5, 6, 10, 17, 21, 24, 50, 51, 52, 84, 87], "end_dat": [2, 5, 6, 10, 17, 21, 24, 50, 51, 52, 84], "slope": [2, 5, 6, 10, 16, 21, 24, 50, 51, 52, 73, 84, 86], "0": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 28, 30, 31, 34, 35, 37, 38, 39, 40, 41, 42, 44, 45, 47, 48, 50, 51, 52, 53, 55, 56, 57, 59, 60, 61, 62, 63, 65, 66, 68, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 88], "intercept": [2, 5, 6, 10, 21, 24, 50, 51, 52, 76, 84], "sample_freq": [2, 5, 6, 10, 24, 50, 52, 84], "h": [2, 3, 5, 9, 14, 17, 20, 21, 24, 25, 34, 50, 55, 56, 59, 60, 61, 69, 71, 76, 81, 83, 84, 88], "ts_mult_gaps_1": 2, "fraction": [2, 5, 6, 8, 10, 24, 50, 79, 84], "num_gap": [2, 5, 6, 50, 84], "4": [2, 5, 6, 7, 8, 9, 11, 14, 16, 20, 34, 39, 40, 41, 44, 50, 51, 52, 65, 69, 70, 73, 74, 76, 80, 84, 86, 88], "ts_mult_gaps_2": 2, "ts_mult_gaps_3": 2, "prop": [2, 51], "dict": [2, 51, 74], "boxstyl": [2, 51], "round": [2, 8, 51, 69, 88], "facecolor": [2, 40, 51], "wheat": [2, 51], "5": [2, 3, 4, 5, 6, 8, 9, 10, 14, 15, 16, 17, 20, 24, 25, 37, 40, 41, 47, 50, 51, 52, 56, 59, 60, 61, 65, 69, 71, 72, 73, 74, 76, 77, 80, 81, 82, 84, 85, 88], "fig": [2, 3, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 24, 30, 37, 38, 39, 40, 41, 47, 50, 51, 52, 59, 60, 61], "ax1": [2, 3, 5, 6, 7, 11, 16, 17, 47, 50, 51, 59, 60], "ax2": [2, 3, 5, 6, 7, 8, 11, 16, 17, 24, 47, 50, 51, 59, 60], "ax3": [2, 5, 6, 7, 8, 11, 50, 51], "subplot": [2, 3, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 24, 30, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 59, 60, 61, 65], "3": [2, 6, 7, 10, 11, 16, 17, 20, 24, 25, 38, 39, 40, 44, 47, 50, 51, 52, 59, 60, 65, 69, 70, 71, 72, 73, 76, 80, 83, 84, 86, 87, 88], "figsiz": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65], "7": [2, 5, 7, 8, 10, 11, 16, 20, 24, 25, 30, 34, 39, 44, 47, 50, 52, 55, 56, 62, 79, 80, 84], "bo": [2, 5, 6, 50, 51], "mec": [2, 5, 6, 50, 51], "b": [2, 5, 6, 14, 24, 50, 51, 52, 61, 69, 71, 76, 88], "markerfacecolor": [2, 5, 6, 50, 51], "none": [2, 5, 6, 8, 50, 51, 73, 74, 76, 82, 83, 84, 85, 86, 87, 88], "markers": [2, 5, 6, 8, 15, 37, 39, 40, 50, 51, 55, 56, 62], "text": [2, 8, 20, 51, 71, 76], "95": [2, 51], "transform": [2, 8, 24, 51, 77], "transax": [2, 8, 51], "fontsiz": [2, 3, 5, 6, 7, 8, 9, 11, 17, 44, 51, 59, 60], "14": [2, 3, 8, 17, 51, 52, 59, 60, 80], "verticalalign": [2, 51], "top": [2, 10, 51, 52, 71, 76], "bbox": [2, 51], "set_ylabel": [2, 3, 10, 15, 16, 17, 20, 21, 24, 30, 37, 39, 40, 41, 44, 47, 51, 55, 59, 60], "set_titl": [2, 5, 6, 7, 8, 10, 11, 14, 15, 20, 21, 24, 30, 38, 39, 40, 41, 44, 50, 51, 55, 61], "show": [2, 3, 5, 6, 7, 8, 9, 10, 11, 15, 16, 17, 20, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 59, 60, 61, 62, 65, 71, 79], "total": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 28, 30, 31, 34, 35, 37, 38, 39, 40, 41, 42, 44, 45, 47, 48, 50, 51, 52, 53, 55, 56, 57, 59, 60, 61, 62, 63, 65, 66, 68, 69, 72, 84, 87], "script": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69], "minut": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 72, 73, 81, 83, 84, 85, 86, 88], "113": 2, "plot_complet": [2, 12], "jupyt": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69], "notebook": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 71], "ipynb": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 73], "go": [3, 15, 47, 52, 71, 75, 79], "count": [3, 7, 11, 72, 80], "repres": [3, 20, 70, 71, 72, 84, 85, 87, 88], "piec": 3, "o": [3, 7, 11, 15, 16, 20, 25, 30, 37, 38, 39, 40, 41, 44, 47, 55, 56, 60, 62, 65, 71], "np": [3, 4, 8, 9, 10, 14, 15, 17, 20, 24, 34, 44, 52, 59, 60, 61, 88], "datapoint_diff": 3, "datapoint_diff_over_time_period": [3, 72], "base_path": [3, 7, 11, 15, 16, 20, 25, 30, 37, 38, 39, 40, 41, 44, 47, 55, 56, 62, 65], "__name__": [3, 7, 11, 15, 16, 20, 25, 30, 37, 38, 39, 40, 41, 44, 47, 55, 56, 62], "__main__": [3, 7, 11, 15, 16, 20, 25, 30, 37, 38, 39, 40, 41, 44, 47, 55, 56, 62], "els": [3, 7, 11, 15, 16, 20, 25, 30, 37, 38, 39, 40, 41, 44, 47, 55, 56, 62], "dirnam": [3, 7, 11, 15, 16, 20, 25, 30, 37, 38, 39, 40, 41, 44, 47, 55, 56, 62, 65], "__file__": [3, 7, 11, 15, 16, 20, 25, 30, 37, 38, 39, 40, 41, 44, 47, 55, 56, 62], "read_csv": [3, 7, 11, 15, 16, 20, 25, 30, 37, 39, 40, 44, 47, 55, 56, 62, 65], "join": [3, 7, 11, 15, 16, 25, 30, 37, 38, 39, 40, 41, 44, 47, 55, 56, 62, 65], "dataset": [3, 4, 7, 8, 11, 15, 16, 20, 25, 30, 37, 38, 39, 40, 41, 44, 47, 55, 56, 62, 65, 79, 86], "hour_count": 3, "csv": [3, 7, 11, 15, 16, 20, 25, 30, 37, 39, 40, 44, 47, 55, 56, 62, 65], "index_col": [3, 7, 11, 15, 16, 25, 30, 37, 39, 40, 44, 47, 55, 56, 62, 65], "squeez": [3, 7, 11, 15, 16, 25, 39, 44, 47, 55, 56, 62], "to_datetim": [3, 7, 11, 15, 16, 25, 30, 39, 44, 47, 55, 56, 62, 65], "appli": [3, 5, 6, 7, 11, 25, 39, 56, 69, 70, 72, 85], "dai": [3, 6, 16, 41, 59, 60, 72, 73, 79, 81, 82, 83, 84, 85, 86, 88], "hour_count_default_threshold": 3, "1d": [3, 81, 88], "24": [3, 39, 40, 72, 79, 80], "1h": [3, 10, 24, 34, 65, 69, 86], "forward": [3, 17, 83, 84], "fill": [3, 17, 73, 83], "step": [3, 5, 8, 17, 21, 30, 52, 71, 72, 73, 79, 85, 88], "resampled_step_series_default_threshold": 3, "60min": [3, 59, 60, 85, 86], "default_threshold_forward_fil": 3, "ffill": [3, 17, 65, 83], "against": [3, 17, 59, 60], "actual": [3, 17, 59, 60, 72, 73, 85], "15": [3, 4, 9, 14, 17, 51, 52, 55, 59, 60, 61, 72, 73, 86], "marker": [3, 9, 15, 17, 37, 40, 47, 59, 60], "color": [3, 8, 10, 15, 16, 17, 20, 24, 25, 37, 38, 39, 40, 44, 47, 52, 55, 56, 59, 60, 62], "blue": [3, 15, 17, 37, 59, 60], "arang": [3, 9, 17, 52, 59, 60], "120": [3, 17], "astyp": [3, 9, 17, 59, 60], "set_xtick": [3, 9, 17, 59, 60], "set_xticklabel": [3, 9, 17, 59, 60], "t": [3, 8, 9, 17, 59, 60, 71, 72, 73, 76, 81, 82, 83, 84, 85, 88], "strftime": [3, 9, 17, 59, 60], "d": [3, 9, 14, 17, 24, 52, 59, 60, 61, 76, 81, 83, 84, 88], "m": [3, 9, 14, 17, 20, 21, 24, 47, 52, 59, 60, 61, 71, 76, 81, 83, 84, 88], "n": [3, 8, 9, 10, 17, 59, 60, 72, 76, 81, 84, 85, 86, 88], "8": [3, 9, 15, 16, 17, 20, 38, 47, 59, 60, 72, 76, 77, 79, 80], "twinx": [3, 16, 17, 24, 47, 59, 60], "diff": [3, 9, 69, 72], "last": [3, 21, 71, 72, 84], "red": [3, 17, 24, 25, 38, 39, 59, 60, 62], "lines1": 3, "labels1": 3, "get_legend_handles_label": 3, "lines2": 3, "labels2": 3, "legend": [3, 4, 8, 9, 10, 14, 16, 17, 24, 25, 30, 34, 37, 38, 39, 40, 44, 47, 52, 55, 56, 59, 60, 61, 62], "loc": [3, 4, 8, 9, 14, 16, 17, 24, 25, 30, 39, 40, 44, 47, 52, 55, 56, 59, 60, 61, 62], "xlabel": [3, 9, 17, 20, 59, 60, 65], "suptitl": [3, 5, 6, 7, 11, 17, 52, 55, 59, 60], "distanc": [3, 40, 73, 75, 76, 86], "exce": [3, 5, 72, 77, 84, 88], "tight_layout": [3, 5, 6, 7, 11, 15, 17, 20, 24, 30, 38, 41, 44, 50, 52, 59, 60, 61], "2": [3, 4, 9, 10, 14, 15, 16, 20, 21, 24, 25, 30, 37, 38, 39, 40, 41, 44, 47, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 70, 71, 73, 76, 77, 79, 80, 83, 84, 85, 86, 87, 88], "plot_datapoint_diff": 3, "student": [4, 72], "residu": [4, 72, 86], "we": [4, 5, 6, 7, 8, 10, 11, 14, 16, 20, 21, 24, 25, 30, 39, 40, 44, 47, 50, 51, 52, 55, 56, 62, 65, 69, 70, 71, 72, 82, 85], "toi": 4, "underli": 4, "gaussian": [4, 10, 24, 84, 85], "larg": [4, 10, 24, 71, 73, 84, 85], "figur": [4, 8, 10, 14, 15, 16, 24, 25, 34, 39, 40, 41, 44, 47, 52, 55, 56, 59, 60, 62, 71], "below": [4, 6, 8, 14, 16, 20, 24, 25, 47, 52, 55, 56, 71, 72, 82, 85, 86], "can": [4, 5, 14, 16, 20, 21, 24, 25, 40, 44, 52, 55, 56, 65, 69, 71, 72, 73, 76, 77, 79, 81, 82, 83, 84, 85, 86, 87, 88], "seen": [4, 24, 55, 85], "raw": [4, 14, 25, 34, 39, 40, 44, 55, 56, 62, 71, 72], "subsequ": 4, "refin": 4, "desir": [4, 71, 73, 77], "rng": [4, 8, 61], "default_rng": [4, 8, 59, 60, 61], "12345": [4, 61], "rcparam": 4, "font": [4, 71], "18": [4, 8, 80], "nx": 4, "date_rang": [4, 9, 14, 17, 34, 52, 59, 60, 61, 69], "1970": [4, 14, 61, 84, 88], "freq": [4, 9, 14, 15, 34, 52, 61, 69], "1t": [4, 14, 61], "linspac": 4, "normal": [4, 7, 11, 14, 59, 60, 72, 73, 84, 88], "100": [4, 8, 10, 14, 20, 24, 34, 61, 76, 82, 84], "scale": [4, 78], "y": [4, 5, 8, 9, 14, 17, 24, 34, 47, 59, 60, 76, 84], "anomali": [4, 72, 77], "anom_num": 4, "high": [4, 8, 59, 60, 71, 85, 86, 88], "200": [4, 14, 84, 85], "anom_id": 4, "is_anom": 4, "item": [4, 52], "raw_data": [4, 14], "find": [4, 6, 25, 71, 86], "result": [4, 5, 7, 11, 14, 15, 20, 21, 24, 25, 30, 34, 39, 44, 47, 55, 56, 59, 60, 62, 69, 71, 72, 73, 79, 83, 85, 86, 88], "_": [4, 14, 15, 21, 25, 30, 34, 39, 55, 56, 61, 62, 71], "607": 4, "plot_extreme_outli": [4, 12], "critic": [5, 8, 71, 72, 82, 85], "instanc": [5, 70, 71, 82, 88], "unreli": 5, "defect": 5, "part": [5, 8, 71, 80], "might": [5, 71], "need": [5, 8, 20, 44, 72, 76, 77, 84], "exact": [5, 71, 84], "definit": [5, 69, 76, 85, 86], "what": [5, 70, 71, 72, 74], "consid": [5, 62, 70, 71, 72, 73, 75, 76, 82, 85, 86], "requir": [5, 8, 21, 44, 71, 72, 80, 83, 85, 86, 87], "domain": [5, 71, 80], "knowledg": [5, 40, 71], "therefor": [5, 8, 44, 71, 76, 77], "hard": 5, "autom": [5, 72, 73, 76], "howev": [5, 8, 56, 85], "mathemat": 5, "help": [5, 25, 40, 71], "u": [5, 70, 71, 81, 84, 86, 88], "potenti": [5, 8, 71, 76, 81, 88], "expert": [5, 71, 80], "z": [5, 6, 76, 88], "mark": [5, 6, 60, 69, 71], "3x": 5, "modifi": [5, 6, 10, 24, 71, 85, 88], "which": [5, 6, 8, 16, 41, 69, 70, 71, 72, 73, 74, 76, 77, 82, 83, 84, 85, 86, 88], "absolut": [5, 6, 69, 76, 84, 88], "interquartil": [5, 6], "iqr": [5, 6, 72, 88], "spread": [5, 6, 72, 85], "introduct": 5, "found": [5, 24, 71, 72, 81, 82, 86, 88], "note": [5, 8, 21, 71, 76, 79, 82, 87], "irrelev": 5, "thei": [5, 69, 70, 71, 85], "pure": 5, "reli": [5, 69], "35": [5, 6, 8, 10, 24, 50], "characterist": [5, 6, 8, 70, 72, 76, 78, 84, 85], "particular": [5, 71], "doe": [5, 8, 71, 73, 76, 79, 86], "ani": [5, 14, 70, 71, 72, 73, 74, 77, 80, 82, 83, 88], "reason": [5, 70, 71, 79], "thu": 5, "few": [5, 8, 20, 52, 71], "strong": [5, 8], "like": [5, 44, 70, 71], "case": [5, 8, 10, 24, 71, 72, 82], "weight": [5, 55, 73, 86], "strongli": [5, 71], "To": [5, 8, 10, 21, 24, 52, 71, 72, 73, 80, 84], "randomli": [5, 8, 10, 24, 44, 59, 60], "iglewicz": 5, "bori": 5, "david": 5, "c": [5, 38, 52], "hoaglin": 5, "1993": 5, "american": [5, 73], "societi": [5, 76], "control": [5, 73, 76, 85], "vol": [5, 25, 55, 56], "16": [5, 6, 7, 11, 80], "gaps_identif": 5, "gaps_identification_iqr": [5, 72], "gaps_identification_modified_z_scor": [5, 72], "gaps_identification_threshold": [5, 72], "gaps_identification_z_scor": [5, 72], "ts_mult_gap": [5, 6, 50], "ts_rand_gap": 5, "ts_gaps_z_scor": 5, "ts_gaps_mod_z_scor": 5, "ts_gaps_iqr": 5, "ts_gaps_threshold": 5, "time_delta": [5, 72], "5h": [5, 85, 86], "ax4": [5, 6, 51], "r": [5, 6, 10, 40, 44, 52, 71, 73], "p": [5, 8, 72, 76, 88], "3h": [5, 10, 24, 81, 88], "539": 5, "plot_gaps_identif": [5, 12], "expect": [6, 7, 8, 11, 71, 72, 77, 83, 87], "number": [6, 7, 8, 11, 25, 50, 71, 72, 73, 74, 77, 79, 80, 82, 83, 84, 85, 86, 88], "dure": [6, 17, 70, 71], "per": [6, 76, 79, 81, 82, 87, 88], "have": [6, 8, 21, 44, 69, 70, 71, 72, 73, 77, 79, 82, 83, 85, 87, 88], "been": [6, 69, 71, 82], "receiv": 6, "lower": [6, 24, 25, 72, 73, 84, 86, 87, 88], "provid": [6, 8, 25, 70, 71, 72, 73, 74, 79, 83, 84, 85, 88], "2022": [6, 9, 10, 17, 21, 24, 69, 80], "01": [6, 8, 9, 17, 18, 57, 59, 60, 68, 69, 72, 73, 76, 80, 81, 83, 84, 85, 86, 88], "02": [6, 10, 12, 20, 24, 28, 59, 60, 69, 80], "five": [6, 8], "other": [6, 34, 38, 52, 70, 71, 77, 84, 85, 86], "6": [6, 10, 14, 16, 20, 24, 25, 34, 39, 40, 52, 72, 74, 76, 77, 80, 82, 85], "straight": [6, 76], "becaus": [6, 44, 76, 77], "typic": [6, 25, 71, 72, 73, 76, 77, 82, 83, 85], "low_density_identif": 6, "low_density_identification_iqr": [6, 72], "low_density_identification_modified_z_scor": [6, 72], "low_density_identification_threshold": [6, 72], "low_density_identification_z_scor": [6, 72], "5m": [6, 81, 88], "ts_low_density_z_scor": 6, "time_window": [6, 9, 55, 61, 62, 72, 85, 86], "30m": 6, "ts_low_density_modified_z_scores_time_window_30m": 6, "ts_low_density_modified_z_scores_time_window_6h": 6, "6h": [6, 10, 24, 81, 88], "cutoff": [6, 72, 88], "ts_low_density_iqr": 6, "ts_low_density_w_threshold": 6, "60m": 6, "ax5": 6, "17": [6, 76, 80], "30min": [6, 85, 86], "119": 6, "plot_low_density_identif": [6, 12], "given": [7, 11, 17, 21, 30, 32, 36, 42, 50, 51, 52, 65, 71, 72, 73, 76, 77, 82, 83, 84, 86, 88], "either": [7, 11, 72, 75, 76, 77, 83, 87], "stai": [7, 11, 72, 73, 79], "same": [7, 8, 11, 25, 44, 69, 71, 72, 73, 82, 83, 86, 88], "bad": [7, 11, 72], "where": [7, 8, 10, 11, 15, 47, 60, 71, 72, 73, 76, 77, 80, 83, 84, 85, 86, 88], "otherwis": [7, 11, 70, 71, 72, 85, 86, 88], "until": [7, 11, 72, 73], "get": [7, 11, 14, 21, 71, 72, 73, 74, 85, 87, 88], "back": [7, 11, 72], "reach": [7, 10, 11, 71, 72, 76], "befor": [7, 8, 11, 69, 71, 72, 73, 83], "drop": [7, 11, 72, 76, 88], "twice": [7, 11], "higher": [7, 11, 21, 25, 72, 84, 87, 88], "negative_running_hour": 7, "negative_running_hours_check": 7, "negative_running_hours_data": 7, "indicator_default_threshold": [7, 11], "indicator_new_threshold": [7, 11], "731": 7, "plot_negative_running_hour": 7, "out_of_rang": [8, 72], "savitzki": [8, 32, 54, 57, 71, 72], "golai": [8, 32, 54, 57, 71, 72], "smooth": [8, 9, 14, 25, 44, 57, 71, 72, 73, 80, 86], "carri": [8, 34, 72], "determin": [8, 70, 72, 73, 82, 86], "origin": [8, 24, 25, 40, 59, 60, 71, 72, 77, 84, 85, 88], "design": [8, 72, 73, 76, 85], "let": [8, 25, 52, 71], "those": [8, 70, 72, 84], "some": [8, 14, 21, 25, 56, 71, 81, 88], "also": [8, 40, 69, 70, 71, 73, 79, 80, 81, 86, 88], "addit": [8, 30, 44, 71, 72, 79], "demonstr": [8, 21, 44, 70, 71], "distribut": [8, 14, 72, 73, 84, 88], "stat": [8, 80], "student_dist": 8, "synthetic_industrial_data": 8, "non_linear_non_stationary_sign": 8, "_calculate_hat_diagon": 8, "_calculate_residuals_and_normalize_them": 8, "_split_timeseries_into_time_and_value_arrai": 8, "ll": 8, "pre": [8, 65, 71, 80, 86], "defin": [8, 20, 37, 47, 52, 71, 72, 74, 78, 81, 82, 83, 84, 85, 86, 88], "industri": [8, 10, 24, 32, 36, 71, 72, 77, 85], "compos": [8, 10, 24], "oscillatori": [8, 10, 15, 24, 73], "compon": [8, 15, 24, 38, 73, 76, 79], "nonlinear": 8, "uniform": [8, 17, 25, 44, 55, 56, 59, 60, 72, 73, 83, 84, 85, 86, 88], "stamp": [8, 44, 72, 76, 77, 82, 84, 86, 88], "seed": [8, 10, 34, 84], "reproduc": [8, 71], "behavior": [8, 70, 71, 86], "seed_arrai": 8, "2000": [8, 20, 34], "6000": 8, "89756": 8, "simpl": [8, 21, 44, 52, 55, 69, 71, 72, 75], "def": [8, 69, 71], "style_and_annotate_figur": 8, "ax": [8, 9, 10, 14, 15, 20, 21, 24, 30, 37, 38, 39, 40, 41, 44, 52, 55, 61, 65, 76], "x_po": 8, "y_po": 8, "fsize": [8, 44], "12": [8, 17, 41, 51, 52, 80], "fsize_annot": 8, "title_fs": 8, "ylimit": 8, "3005": 8, "8000": 8, "title_txt": 8, "center": [8, 16, 47, 83], "va": 8, "dimgrei": 8, "tick_param": [8, 24], "axi": [8, 24, 59, 60], "both": [8, 14, 30, 44, 71, 72, 73, 88], "major": 8, "labels": 8, "rotat": [8, 14, 24, 61], "grid": [8, 52], "set_ylim": [8, 16, 40, 41], "wa": [8, 30, 40, 70, 71, 74, 78], "percent": 8, "were": [8, 70, 71, 73], "do": [8, 44, 88], "so": [8, 71, 83, 84], "feel": [8, 71], "free": [8, 70, 80], "precis": [8, 73, 88], "Or": 8, "anoth": [8, 88], "further": 8, "dropna": 8, "outlier_fract": 8, "num_outli": 8, "len": [8, 10, 17, 20, 34, 38, 44, 52], "uniqu": 8, "direct": [8, 71, 88], "choic": 8, "iloc": [8, 20, 38, 41], "data_w_outli": 8, "took": 8, "care": [8, 71], "give": [8, 70, 71, 85, 88], "far": [8, 72, 79], "close": [8, 10, 39, 71, 72, 73, 82], "But": [8, 71, 72], "enough": [8, 71, 73, 85], "categor": [8, 72], "fig_siz": 8, "linewidth": [8, 15, 25, 37, 39, 40, 55, 56], "ro": 8, "outliers_insert": 8, "As": [8, 21, 69, 71], "mention": [8, 71], "independ": [8, 72, 85], "wise": [8, 69, 71, 72, 73, 85, 88], "order": [8, 20, 51, 56, 71, 72, 73, 74, 76, 77, 81, 82, 83, 85, 86, 88], "bigger": 8, "local": [8, 71, 72], "With": 8, "influenc": [8, 79, 86], "want": [8, 25, 71, 73], "follow": [8, 14, 21, 40, 69, 70, 71, 72, 74, 76, 81, 82, 83, 85, 88], "increasingli": [8, 52], "3rd": 8, "08": [8, 48, 80], "trend_pass01": 8, "window_length": [8, 56, 71, 72, 73, 81, 85, 88], "polyord": [8, 56, 71, 72, 85], "done": [8, 71], "compar": [8, 71, 73], "each": [8, 16, 24, 71, 72, 73, 82, 83, 85, 86, 88], "sinc": [8, 69, 74, 88], "most": [8, 71, 72, 86], "littl": 8, "inform": [8, 21, 30, 70, 71, 80], "about": [8, 41, 70, 71, 83, 85], "readili": 8, "avail": [8, 70, 71, 74, 76, 82, 83, 84, 88], "spars": 8, "uncommon": 8, "suit": [8, 85], "current": [8, 20, 71, 76, 82, 83, 84, 85, 87, 88], "task": [8, 71], "unknown": [8, 72], "final": [8, 10, 24, 44, 52, 71, 72, 83, 88], "aim": [8, 44, 72, 85], "suffic": 8, "henc": [8, 44, 71, 72, 85], "furthermor": [8, 72], "relax": [8, 72], "factor": [8, 14, 37, 65, 72, 73, 76, 82, 83, 85, 86], "adjust": [8, 73, 79, 85], "sensit": [8, 72], "again": 8, "explicitli": [8, 37, 71], "statist": [8, 59, 60, 61, 62, 72, 73, 80], "signific": [8, 10, 24, 72, 73, 85], "level": [8, 25, 70, 71, 72, 76, 77, 79, 84], "probabl": [8, 71, 72, 88], "reject": [8, 70, 72, 88], "null": [8, 72], "hypothesi": [8, 72], "bc_relax": [8, 72], "coeffici": [8, 20, 21, 32, 43, 45, 61, 73, 76, 83, 84], "y_pred_pass01": 8, "to_numpi": 8, "hat_diagon": 8, "degre": [8, 72, 82, 84, 88], "freedom": [8, 72], "dof": 8, "singl": [8, 50, 70, 71, 73, 76, 84], "bc": 8, "ppf": 8, "df": [8, 20, 38], "t_re": 8, "boolean": [8, 73, 77], "mask": 8, "logical_and": 8, "filtered_ts_pass01": 8, "outliers_pass01": 8, "job": 8, "togeth": [8, 52], "caus": [8, 71, 80], "consequ": [8, 70, 72], "overal": [8, 70], "baselin": 8, "fig2": [8, 24], "orang": [8, 16, 20, 47], "k": [8, 16, 40, 56, 76, 86], "wo": 8, "85": 8, "mew": 8, "markeredgecolor": 8, "green": [8, 20, 38, 39], "text_outlier_r": 8, "For": [8, 24, 30, 38, 70, 71, 72, 76, 77, 80, 81, 83, 84, 86, 88], "previous": [8, 40], "tolerance_pass02": 8, "trend_pass02": 8, "alpha_pass02": 8, "bc_relaxation_pass02": 8, "bc_pass02": 8, "y_pred_pass02": 8, "t_res_pass02": 8, "mask_pass02": 8, "filtered_ts_pass02": 8, "outliers_pass02": 8, "entir": [8, 71, 83], "analysi": [8, 73, 80, 82, 85], "indsl_outli": 8, "artifici": 8, "perfect": 8, "observ": [8, 14, 16, 25, 55, 56, 72, 73, 84, 85, 86], "alwai": [8, 69, 71], "veri": [8, 52, 69, 71, 72, 77, 79], "sphinx_gallery_thumbnail_numb": [8, 24], "fig3": 8, "hht": 8, "plot_out_of_rang": [8, 12], "dispers": [9, 72], "ingest": 9, "rolling_stddev": 9, "rolling_stddev_timedelta": [9, 72], "sma": [9, 55, 85], "00": [9, 12, 17, 18, 22, 24, 26, 28, 31, 35, 42, 45, 48, 53, 57, 59, 60, 63, 66, 68, 69, 72, 73, 81, 83, 84, 85, 86, 88], "11": [9, 17, 80], "60": [9, 16, 47, 59, 60, 72, 73, 85, 86], "sort_index": [9, 17], "stddev": 9, "to_seri": 9, "timedelta64": 9, "fillna": 9, "5min": [9, 72], "min_period": [9, 55, 61, 72, 85, 86], "set_text": 9, "upper": [9, 16, 17, 47, 59, 60, 86, 88], "right": [9, 10, 17, 24, 59, 60, 70, 86], "ylabel": [9, 20, 25, 34, 56, 62, 65], "000": [9, 12, 18, 22, 26, 28, 42, 53, 63], "plot_rolling_stddev_timedelta": [9, 12], "non": [10, 24, 25, 44, 50, 55, 56, 69, 71, 72, 73, 84, 85, 86], "linear": [10, 13, 18, 24, 32, 50, 52, 55, 56, 69, 72, 73, 76, 78, 80, 82, 86], "stationari": [10, 24, 72], "detrend": 10, "amplitud": [10, 24, 73, 84], "realist": [10, 24, 52], "perspect": [10, 24], "them": [10, 24, 61, 71, 73, 86], "nonuniform": [10, 24], "ratio": [10, 24, 52, 72, 73, 76, 78, 84], "10db": 10, "20db": 10, "left": [10, 17, 52, 59, 60, 84], "half": [10, 85], "respect": [10, 51, 70, 71, 72, 82], "without": [10, 24, 62, 70, 71, 72, 80, 85, 86], "bottom": [10, 38, 40, 52, 71, 76, 82], "On": 10, "side": [10, 76, 81, 88], "remain": [10, 73, 77], "closer": 10, "uncertainty_rstd": 10, "21": [10, 56, 65, 80], "28": [10, 14, 18, 21, 22, 24, 61, 80], "03": [10, 24, 53, 59, 60, 69, 80], "long": [10, 24, 39, 56, 71, 73], "wave01": [10, 24], "1m": [10, 16, 24], "wave_period": [10, 21, 24, 52, 84], "wave_mean": [10, 21, 24, 52, 84], "wave_amplitud": [10, 24, 52, 84], "wave_phas": [10, 24, 52, 84], "exp": [10, 24, 69, 85, 88], "wave02": [10, 24], "wave03": [10, 24], "pi": [10, 24, 52, 82], "trend_01": [10, 24], "00008": [10, 24], "trend_02": [10, 24], "00005": [10, 24], "signal_w_noise_high_db": 10, "signal_w_noise_low_db": 10, "signal_w_nois": [10, 24], "concat": 10, "signal_to_analys": 10, "perturb": 10, "percentag": [10, 76, 82, 84], "386": 10, "plot_uncertainti": 10, "value_decrease_ind": 11, "value_decrease_check": [11, 72], "ts_value_reduction_data": 11, "568": 11, "plot_value_decrease_check": [11, 12], "execut": [12, 18, 22, 26, 28, 31, 35, 42, 45, 48, 53, 57, 63, 66, 68, 69, 74, 80, 85], "auto_examples_data_qu": 12, "mb": [12, 18, 22, 26, 28, 31, 35, 42, 45, 48, 53, 57, 63, 66, 68], "includ": [13, 19, 23, 32, 46, 54, 70, 71, 80, 82, 85], "predict": [13, 14, 18, 30, 32, 73, 79], "varianc": [14, 16, 52, 80], "simul": [14, 38, 44, 80, 82], "segment": [14, 16, 73], "specifi": [14, 16, 21, 47, 65, 70, 71, 72, 73, 74, 82, 83, 84, 85, 87], "amplitid": 14, "term": [14, 70, 73, 79, 85, 86], "prevent": [14, 73, 84], "absenc": [14, 73], "predict_end": [14, 73], "plot_cusum": [14, 18], "cumul": [14, 32, 34, 64, 66, 73, 81, 88], "sum": [14, 52, 65, 73, 80, 85, 86], "dateformatt": [14, 24, 61], "randn": [14, 34], "300": [14, 39], "intermidi": 14, "binari": [14, 40, 47, 73, 75, 82, 86, 88], "best": [14, 20, 61, 70, 73], "myfmt": [14, 24, 61], "xaxi": [14, 24, 38, 61], "set_major_formatt": [14, 24, 61], "setp": [14, 24, 39, 61], "get_xticklabel": [14, 24, 61], "paper": [15, 72, 73], "sharma": [15, 73], "et": [15, 73, 82, 86], "al": [15, 73, 82, 86], "home": 15, "cristinaferr": 15, "oscillation_detector": [15, 73], "578": 15, "userwarn": 15, "layout": 15, "tight": 15, "helper_oscillation_detector": 15, "brownian": 15, "brownian_noise_wav": 15, "column": [15, 40, 65], "convert": [15, 85, 87, 88], "str": [15, 37, 71, 72, 74, 82, 83, 85, 86], "call": [15, 71, 76], "dictionari": [15, 86], "dict_output": 15, "linestyl": [15, 16, 37], "dash": [15, 37], "set_xlabel": [15, 21, 24, 37, 44], "hz": [15, 84, 85], "plot_oscillation_detect": [15, 18], "ssd": 16, "compressor": [16, 25, 39, 44, 55, 56, 62, 65], "suction": [16, 20, 21, 44, 62, 76], "pressur": [16, 20, 21, 32, 36, 37, 42, 44, 47, 62, 71, 76, 82], "barg": [16, 44, 47, 62], "condit": [16, 38, 47, 71, 73, 82, 83], "min_dist": [16, 47, 73], "minimum": [16, 40, 72, 73, 74, 75, 76, 82, 84, 85, 86, 88], "var_threshold": [16, 47, 73], "maximum": [16, 72, 73, 76, 84, 85, 86, 88], "slope_threshold": [16, 47, 73], "cpd_ed_pelt": [16, 73], "ssd_cpd": [16, 47, 73], "suct_pressure_barg": [16, 44, 47, 62], "load_pressure_data": 16, "margin": [16, 47], "cp_t": 16, "evalut": 16, "ss_map": [16, 47], "ln2": [16, 47], "fill_between": [16, 40, 47], "set_ytick": [16, 47], "line2d": [16, 47], "read": [16, 39, 83], "bbox_to_anchor": [16, 47], "fancybox": [16, 47], "ncol": [16, 20, 38, 41, 47], "plot_ssd_cpd": [16, 18], "unchanged_signal_detector": [17, 73], "59": 17, "ts_valu": [17, 59, 60], "80": [17, 72, 76], "assign": [17, 73], "random_signal_valu": 17, "nr_consecutive_data_point": 17, "start_posit": 17, "randint": 17, "int": [17, 40, 71, 72, 73, 74, 77, 79, 82, 83, 84, 85, 86, 88], "unchanged_signal_step_seri": 17, "min_nr_data_point": [17, 73], "resampled_step_seri": 17, "1min": 17, "unchanged_signal_forward_fil": 17, "640": 17, "plot_unchanged_signal_detect": [17, 18], "comput": [18, 32, 43, 69, 72, 81, 82, 83, 85, 86, 88], "691": 18, "auto_examples_detect": 18, "head": [20, 21], "across": [20, 76], "effici": [20, 72], "bep": 20, "flowrat": [20, 71, 82], "pump_paramet": [20, 21], "percent_bep_flowr": [20, 76], "pump_hydraulic_pow": [20, 71, 76], "pump_shaft_pow": [20, 76], "total_head": [20, 21, 76], "read_pickl": [20, 41], "pump_data": 20, "df_pump_curv": 20, "pump_curv": 20, "2nd": [20, 76], "curv": [20, 21, 72, 76], "discharg": [20, 21, 76], "den": [20, 21, 76], "repeat": [20, 71], "1100": 20, "eff_parameter_1": [20, 76], "00781603e": 20, "06": [20, 76, 80], "eff_parameter_2": [20, 76], "19564490e": 20, "eff_intercept": [20, 76], "89930657e00": 20, "100000": [20, 21, 38, 84], "coeffient": 20, "obtain": [20, 24, 38, 40, 74, 82], "through": [20, 21, 25, 56, 69, 70, 71, 77, 79, 88], "v": [20, 76], "liquid": [20, 71, 76], "shown": [20, 71, 74], "polyfit": 20, "deg": [20, 37], "scatter": 20, "m3": [20, 21, 25, 55, 56], "polyv": 20, "6f": 20, "2f": 20, "000005x": 20, "03x": 20, "51": 20, "plug": 20, "displai": [20, 30, 71, 86], "align_timestep": [20, 76, 77, 82, 86, 88], "bep_flowr": [20, 76], "3600": [20, 86], "nrow": [20, 38, 41], "pa": [20, 21, 76], "hydraul": [20, 71], "horsepow": 20, "w": [20, 21, 71, 76, 81, 84, 88], "shaft": 20, "589": 20, "plot_pump_paramet": [20, 22, 28], "you": [21, 71, 73, 85], "outlet": [21, 76], "cv": 21, "rate": [21, 25, 34, 55, 56, 65, 75, 76, 81, 82, 85, 88], "known": [21, 72, 76, 79, 83, 86], "dummi": 21, "feed": 21, "interest": [21, 34, 47, 82, 83], "recycle_valve_power_loss": [21, 76], "valve_paramet": [21, 76], "flow_through_valv": [21, 76], "mean_disch_p": 21, "bar": [21, 76], "wave_period_disch_p": 21, "10min": 21, "wave_period_valve_out_p": 21, "5hour": 21, "suction_pressur": [21, 76], "discharge_pressur": [21, 76], "valve_outlet_p": 21, "valve_open": [21, 76], "min": [21, 39, 52, 69, 72, 76, 80, 81, 84, 88], "adn": 21, "max": [21, 69, 76, 80], "eq": [21, 76], "min_open": [21, 76], "max_open": [21, 76], "min_cv": [21, 76], "max_cv": [21, 76], "90": [21, 30], "assum": [21, 72, 76, 77, 79], "equal": [21, 71, 72, 74, 76, 85, 86, 88], "inlet": [21, 76], "q_valv": [21, 76], "calcualt": 21, "kg": [21, 65, 76, 87], "power_loss": 21, "saniti": 21, "open": [21, 38, 39, 70, 71, 76, 82], "sens": 21, "plot_recycle_valve_power_loss": [21, 22, 28], "auto_examples_equip": 22, "hilbert": 24, "huang": 24, "db": [24, 25, 77], "reflect": [24, 85], "behaviour": [24, 83], "peak": [24, 84], "feb": 24, "13": [24, 80], "trend_extraction_hilbert_transform": 24, "signal_to_detrend": 24, "labelcolor": 24, "353": 24, "plot_trend": [24, 26], "volumetr": [25, 55, 56, 75], "fluctuat": [25, 56, 71, 85, 86], "easili": [25, 69], "interpret": [25, 73, 85], "sym": [25, 77], "coif": [25, 77], "while": [25, 56, 71, 72, 73, 79], "decomposit": [25, 26, 77], "similar": [25, 71, 84], "choos": [25, 71, 77, 86, 88], "vol_flow_rate_m3h": [25, 55, 56], "load_flowrate_data": [25, 56], "lightblu": 25, "db6": [25, 77], "db8": [25, 77], "sym4": [25, 77], "l": [25, 47, 56, 76, 81, 84, 88], "effect": [25, 55, 56, 71, 79, 85], "27": [25, 26, 80], "907": [25, 26], "plot_wavelet_filt": [25, 26], "auto_examples_filt": 26, "empir": 26, "mode": [26, 83], "289": 28, "auto_examples_fluid_dynam": 28, "sphx_glr_auto_examples_fluid_dynamics_plot_pump_paramet": 28, "sphx_glr_auto_examples_fluid_dynamics_plot_recycle_valve_power_loss": 28, "forg": 30, "daili": [30, 79], "weekli": [30, 79], "season": [30, 79], "holt_winters_predictor": [30, 79], "hwp": 30, "suppress": 30, "No": [30, 70, 73, 84], "deriv": [30, 81, 88], "filterwarn": 30, "ignor": [30, 69, 72, 82, 83], "seasonal_with_trend_data": 30, "sep": 30, "additive_r": 30, "multiplicative_r": 30, "mul": [30, 69, 79, 88], "train": [30, 79, 86], "pad": 30, "442": [30, 31], "plot_holt_winters_predictor": [30, 31], "auto_examples_forecast": 31, "product": [32, 36, 40, 42, 64, 66, 71, 80], "temperatur": [32, 36, 37, 42, 71, 76, 82], "insert": [32, 49, 53, 84], "wavi": [32, 49, 53, 84], "averag": [32, 54, 57, 80, 83, 86], "dbscan": [32, 58, 63, 86], "spline": [32, 58, 63, 83, 86], "001": [32, 58, 63, 86], "002": [32, 58, 63, 86], "co2": [32, 64, 66, 80], "cost": [32, 64, 66], "skew": 34, "integrand": [34, 81, 88], "sliding_window_integr": [34, 81, 88], "1337": 34, "5000": [34, 72, 88], "0025": 34, "upward": 34, "match": [34, 44, 69, 73, 77], "154": [34, 35, 76], "plot_sliding_window_integr": [34, 35], "04": [35, 69, 73, 80, 84], "auto_examples_numerical_calculu": 35, "real": [37, 82, 84, 86], "equat": [37, 38, 52, 71, 76, 79, 82, 84], "graviti": [37, 76, 82], "begg": [37, 82], "brill": [37, 82], "1973": [37, 82], "combin": [37, 52, 79, 81, 86, 88], "variat": [37, 72, 73, 85, 86], "methan": 37, "55": 37, "vari": [37, 73, 79, 86], "oil_and_ga": [37, 38, 39, 40, 41, 82], "gas_density_calc": 37, "calculate_gas_dens": [37, 82], "cd": [37, 71], "density_pr_tmp": 37, "5534": 37, "t_var": 37, "p_con": 37, "psi": [37, 82], "pcf": [37, 82], "p_var": 37, "t_con": 37, "385": [37, 42], "plot_gas_density_calc": [37, 42], "fundament": 38, "mass": [38, 65, 82, 87], "balanc": [38, 85], "conserv": [38, 72], "goal": 38, "featur": [38, 71, 84, 86], "composit": 38, "itself": [38, 71], "tabl": [38, 82], "lab": 38, "olga": [38, 82], "transient": [38, 47, 73], "multiphas": 38, "pickl": [38, 41], "mdate": 38, "live_fluid_properti": [38, 82], "retrieve_fluid_properti": [38, 82], "load": [38, 44, 65, 71], "press_temp_bh": 38, "wh": 38, "rb": 38, "pvt_data": [38, 82], "pbh": 38, "tbh": 38, "pwf": 38, "twf": 38, "hole": [38, 40, 82], "bara": 38, "wellhead": 38, "gas_den_bh": 38, "param": [38, 82], "rog": 38, "gas_den_wh": 38, "liq_den_bh": 38, "rohl": 38, "liq_den_wh": 38, "hl_bh": 38, "cphl": 38, "hl_wh": 38, "hg_bh": 38, "cpg": 38, "hg_wh": 38, "ravel": [38, 41], "idx": [38, 41, 69], "enumer": [38, 41, 71], "set_major_loc": 38, "dayloc": 38, "interv": [38, 73, 82, 84, 88], "plot_live_fluid_properti": [38, 42], "emerg": 39, "down": [39, 71, 75, 83, 88], "least": [39, 73, 83], "shut_in_detector": 39, "calculate_shutin_interv": [39, 82], "shi": 39, "shut_down_valv": 39, "load_shutin_valve_data": 39, "hr": [39, 40, 65, 81, 84, 88], "greater": [39, 55, 73, 84, 86, 88], "shutin_state_below_threshold": [39, 82], "fals": [39, 50, 72, 73, 74, 76, 77, 79, 82, 83, 85, 86, 88], "min_shutin_len": [39, 82], "ylim": 39, "plot_shut_in_detector": [39, 42], "reservoir": [40, 82], "engin": [40, 71, 76, 80], "drawdown": 40, "wing": [40, 41, 82], "correspond": [40, 82, 88], "25": [40, 52, 72, 80, 84], "ins": [40, 82], "shut_in_vari": 40, "calculate_shutin_vari": [40, 82], "shvar": 40, "bottom_hole_pressur": 40, "shut_in_detected_25hr": 40, "shut_in_pressure_data": 40, "gz": 40, "gzip": 40, "parse_d": 40, "dtype": [40, 52, 69, 88], "load_pressure_shut_in_data": 40, "grai": 40, "psig": 40, "13000": 40, "20000": 40, "framealpha": 40, "908": 40, "plot_shut_in_vari": [40, 42], "unnam": 41, "form": [41, 80, 86], "datafram": [41, 74, 82, 83, 86], "consist": [41, 71, 83, 86, 87], "choke": [41, 82], "off": [41, 71, 72, 75, 85, 88], "ON": 41, "calculate_well_prod_statu": [41, 82], "prod_statu": 41, "threshold_chok": [41, 82], "threshold_mast": [41, 82], "threshold_w": [41, 82], "y_label": 41, "y_lim_max": 41, "105": 41, "y_lim_min": 41, "397": 41, "plot_well_prod_statu": [41, 42], "auto_examples_oil_and_ga": 42, "often": [44, 78], "even": [44, 69], "subtract": [44, 88], "corel": 44, "reduc": [44, 73], "msk": 44, "rand": 44, "raw_sensor1": 44, "raw_sensor2": 44, "now": [44, 84], "our": [44, 69, 70, 71], "re_sensor1": 44, "re_sensor2": 44, "slinear": [44, 83], "assert": 44, "rolling_correl": 44, "corr": [44, 61], "sharex": 44, "plot_pearson_correl": [44, 45, 61, 63], "auto_examples_reindex": 45, "aggreg": [47, 83], "denot": [47, 71, 77, 79, 83], "produc": [47, 52, 55, 56, 65, 82], "Then": [47, 71, 73], "group_by_region": [47, 83], "place": [47, 59, 60, 71, 82], "present": [47, 71], "aggregated_result": 47, "ko": 47, "accord": [47, 74, 87], "339": [47, 48], "plot_group_by_region": [47, 48], "auto_examples_resampl": 48, "line1": 50, "ts_rnd_gap": 50, "ts_1_gap": 50, "overlap": [50, 83, 84], "get_xaxi": 50, "set_vis": 50, "186": 50, "plot_synthetic_gap": [50, 53], "univariate_polynomi": [51, 84], "1e": [51, 52], "coefficients_1": 51, "coefficients_2": 51, "coefficients_3": 51, "395": 51, "plot_univariate_polynomi": [51, 53], "sinusoid": [52, 84], "panel": 52, "complex": [52, 73], "recurs": [52, 85], "And": 52, "plu": [52, 84], "linearli": 52, "wave_with_brownian_nois": [52, 84], "w_period": 52, "w_mean": 52, "w_amplitud": 52, "w_phase": 52, "all_wav": 52, "linear_sig": 52, "40": [52, 76], "sloping_wav": 52, "snr": [52, 84], "237": [52, 53], "plot_wavy_sign": [52, 53], "auto_examples_sign": 53, "lwma": [55, 85], "exponenti": [55, 73, 80, 88], "ewma": [55, 85], "less": [55, 71, 72, 73, 84, 85, 88], "noisi": [55, 73, 85], "delai": [55, 84, 85], "stronger": [55, 56, 71, 85], "20min": 55, "mediumblu": [55, 56], "win": [55, 56], "darkorang": 55, "forestgreen": [55, 56, 62], "50min": 55, "561": [55, 57], "plot_ma": [55, 57], "expos": [56, 71], "keep": [56, 71, 84], "nice": 56, "155": 56, "156": [56, 57], "plot_sg_smooth": [56, 57, 71], "auto_examples_smooth": 57, "detect_outli": [59, 60, 86], "rng1": [59, 60], "mu": [59, 60], "sigma": [59, 60, 85], "outliers_posit": [59, 60], "outliers_neg": [59, 60], "concaten": [59, 60], "240": [59, 60], "shuffl": [59, 60], "2021": [59, 60, 76, 80, 88], "244": [59, 60], "32": [59, 63], "321": [59, 63], "plot_detect_outliers_001": [59, 63], "324": [60, 63], "plot_detect_outliers_002": [60, 63], "pearson_correl": [61, 86], "num_datapoint": 61, "y1": 61, "standard_norm": 61, "y2": 61, "data2": [61, 83, 86], "data1": [61, 83, 86], "ax_": 61, "450": 61, "40min": 62, "better": [62, 71, 73], "suggest": [62, 71, 82], "nwin": 62, "csap": [62, 80, 86], "232": 62, "plot_remove_outli": [62, 63], "645": 63, "auto_examples_statist": 63, "consumpt": [65, 87], "regard": [65, 73, 85], "emiss": [65, 80], "amount": [65, 72, 76, 79, 84], "associ": 65, "valhal": 65, "platform": 65, "co2_emissions_calcul": [65, 87], "cumulative_co2_cost": [65, 87], "cumulative_co2_product": [65, 87], "rate_of_emiss": [65, 87], "compressor_power_output": 65, "kw": 65, "co2_cost_factor": [65, 87], "nok": 65, "emissions_factor": [65, 87], "kwh": 65, "rate_co2_produc": 65, "co2_produc": 65, "co2_cost": 65, "emit": [65, 87], "tonn": [65, 87], "1e6": 65, "mnok": 65, "511": [65, 66], "plot_cumulative_co2": [65, 66], "auto_examples_sustain": 66, "270": [68, 69], "auto_examples_vers": 68, "versioned_funct": [68, 69], "come": [69, 71, 72, 82, 86], "modul": [69, 71, 80], "select": [69, 72, 82, 86], "abs_diff": 69, "element": [69, 88], "naiv": 69, "begin": [69, 71, 87], "regist": [69, 71, 74], "ab": 69, "kei": 69, "decor": [69, 71, 74], "soon": 69, "retriev": [69, 77, 80], "newer": 69, "happen": [69, 71, 82, 88], "2h": [69, 83], "float64": [69, 88], "fix": [69, 71, 83], "next": [69, 83], "noqa": [69, 71], "get_registered_funct": [69, 74], "no_op": 69, "sg_smoother": 69, "alma_smooth": 69, "arma_smooth": 69, "btr_smoother": 69, "chb_smoother": 69, "exp_wma": 69, "linear_wma": 69, "simple_ma": 69, "resample_extend": 69, "poly_regressor": 69, "shutin_calc": 69, "pi_calc": 69, "passthrough": 69, "outlier_detector": 69, "drift_detector": 69, "ss_detector": 69, "variable_ma": 69, "outliers_remov": 69, "floor": [69, 88], "ceil": [69, 88], "sign": [69, 71, 72, 88], "sin": [69, 88], "co": [69, 88], "tan": [69, 88], "arcsin": [69, 88], "arcco": [69, 88], "arctan": [69, 88], "arctan2": [69, 88], "deg2rad": [69, 88], "rad2deg": [69, 88], "sinh": [69, 88], "cosh": [69, 88], "tanh": [69, 88], "arcsinh": [69, 88], "arccosh": [69, 88], "arctanh": [69, 88], "sub": [69, 77, 88], "div": [69, 88], "pow": 69, "inv": [69, 88], "sqrt": [69, 76, 88], "mod": [69, 72, 88], "ddx": 69, "log": [69, 88], "log2": [69, 88], "log10": [69, 88], "logn": [69, 88], "versioning_test_op": 69, "get_vers": [69, 74], "access": [69, 71], "command": [69, 71], "abs_diff_v1": 69, "omit": 69, "latest": [69, 74, 86], "abs_diff_v1_1": 69, "sphinx_gallery_thumbnail_path": 69, "_static": 69, "versioning_thumbnail": 69, "png": 69, "contributor": 70, "coven": 70, "pledg": 70, "member": [70, 71], "leader": 70, "particip": 70, "commun": [70, 71], "harass": 70, "experi": [70, 71], "everyon": 70, "regardless": 70, "ag": 70, "bodi": 70, "visibl": 70, "invis": 70, "ethnic": 70, "sex": 70, "gender": 70, "ident": 70, "express": [70, 76, 86], "educ": 70, "socio": 70, "econom": 70, "nation": 70, "person": 70, "appear": 70, "race": 70, "religion": 70, "sexual": 70, "orient": [70, 76], "act": 70, "interact": 70, "wai": [70, 71], "contribut": [70, 80], "welcom": [70, 71], "divers": 70, "inclus": [70, 88], "healthi": 70, "posit": [70, 71, 73, 77, 84, 85], "environ": [70, 71], "empathi": 70, "kind": [70, 83], "toward": [70, 85], "peopl": 70, "Being": 70, "opinion": 70, "viewpoint": 70, "construct": [70, 71, 88], "feedback": 70, "respons": [70, 85, 86], "apolog": 70, "affect": [70, 71, 73], "mistak": 70, "learn": [70, 80], "focus": [70, 71], "just": 70, "individu": 70, "unaccept": 70, "languag": [70, 71], "imageri": 70, "attent": 70, "advanc": [70, 84], "troll": 70, "insult": 70, "derogatori": 70, "polit": 70, "attack": 70, "public": 70, "physic": [70, 72, 78], "email": 70, "address": [70, 71], "explicit": [70, 71, 82], "permiss": 70, "could": [70, 71, 77, 83], "inappropri": 70, "profession": 70, "clarifi": 70, "take": [70, 71, 73, 84, 88], "appropri": [70, 71, 77, 86], "fair": 70, "deem": 70, "threaten": 70, "offens": 70, "harm": 70, "edit": 70, "wiki": [70, 77, 86], "moder": 70, "decis": 70, "scope": 70, "within": [70, 71, 72, 73, 78, 79, 83, 85, 86], "space": [70, 71], "offici": [70, 71], "mail": 70, "post": 70, "via": [70, 71], "social": 70, "media": 70, "account": [70, 73, 76], "appoint": 70, "onlin": 70, "offlin": 70, "abus": 70, "mai": [70, 73, 77, 85, 88], "report": [70, 71], "cristina": 70, "teixidor": 70, "com": [70, 71, 76], "complaint": 70, "review": [70, 71], "investig": 70, "promptli": 70, "fairli": 70, "oblig": 70, "privaci": 70, "secur": 70, "incid": 70, "guidelin": [70, 71], "impact": [70, 73], "violat": 70, "unprofession": 70, "unwelcom": 70, "written": [70, 71], "clariti": 70, "around": 70, "natur": [70, 88], "explan": 70, "why": 70, "apologi": 70, "request": [70, 83], "continu": 70, "involv": [70, 73, 79], "unsolicit": 70, "extern": [70, 72], "channel": 70, "lead": [70, 88], "temporari": 70, "perman": 70, "ban": 70, "seriou": 70, "sort": [70, 74], "pattern": [70, 79], "aggress": 70, "disparag": 70, "attribut": [70, 71], "adapt": [70, 72], "homepag": 70, "http": [70, 72, 73, 76, 77, 81, 86, 88], "www": [70, 88], "org": [70, 72, 73, 77, 81, 86, 88], "code_of_conduct": 70, "html": [70, 71, 72, 81, 86, 88], "inspir": [70, 71], "mozilla": 70, "ladder": 70, "answer": 70, "question": 70, "see": [70, 71, 77], "faq": 70, "translat": 70, "project": 71, "effort": 71, "host": 71, "publicli": 71, "intern": [71, 76, 78], "moment": [71, 85], "custom": 71, "earli": 71, "adopt": 71, "program": 71, "hub": 71, "site": 71, "If": [71, 72, 73, 74, 76, 77, 79, 82, 83, 84, 85, 86, 87, 88], "yet": 71, "pleas": [71, 83], "guid": 71, "object": [71, 72, 80, 84], "indl": 71, "scientist": [71, 80], "rich": 71, "speed": [71, 78], "highli": 71, "encourag": 71, "nich": 71, "expeertis": 71, "nevertheless": 71, "scientif": 71, "agnost": 71, "scienc": 71, "picki": 71, "minim": [71, 73, 85], "exploratori": [71, 80], "analyt": [71, 72, 80], "strive": 71, "save": 71, "comprehens": 71, "mind": 71, "There": [71, 82], "ones": [71, 85], "sphx_glr_auto_exampl": 71, "compli": 71, "instal": 71, "prefer": 71, "although": [71, 72], "paramount": 71, "don": 71, "hesit": 71, "submit": 71, "someth": 71, "plai": 71, "interfac": 71, "adher": 71, "belong": [71, 86], "under": [71, 74], "folder": 71, "pass": [71, 73, 79, 80, 84, 88], "ui": 71, "string": [71, 72, 75, 81, 84, 85, 88], "restrict": [71, 83], "infrastructur": 71, "fetch": 71, "recommend": [71, 73, 82, 85], "manag": 71, "pip": [71, 80], "clone": 71, "repositori": 71, "git": 71, "cognitedata": 71, "synchron": 71, "remot": 71, "checkout": 71, "never": [71, 84], "my_new_algorithm": 71, "dev": 71, "new_modul": 71, "erron": 71, "check_typ": 71, "finish": 71, "mileston": 71, "record": 71, "quot": 71, "concis": 71, "thrown": 71, "area": 71, "cannot": [71, 82], "practic": 71, "store": 71, "root": [71, 73, 80, 88], "structur": 71, "pytest": 71, "send": 71, "sure": 71, "ran": 71, "proper": 71, "divid": [71, 76, 78, 82, 85, 88], "categori": 71, "pyproject": 71, "toml": 71, "section": [71, 76], "pars": [71, 82], "properli": 71, "technic": 71, "tripl": [71, 80], "backslash": 71, "latex": 71, "render": 71, "googl": 71, "unless": 71, "write": 71, "punctuat": 71, "break": 71, "describ": [71, 86], "poly_ord": [71, 72], "arg": [71, 74], "possibl": [71, 83, 85], "rule": [71, 81, 86, 88], "charact": 71, "squar": [71, 88], "bracket": 71, "math": 71, "inlin": 71, "enclos": 71, "roman": 71, "ital": 71, "mathrm": [71, 76, 87], "pump_liquid_flowr": [71, 76], "frac": [71, 76], "vice": [71, 85], "versa": [71, 85], "domin": [71, 85], "attenu": [71, 85], "rst": 71, "entri": 71, "subtitl": 71, "underlin": 71, "symbol": 71, "autofunct": 71, "autogener": 71, "topic": 71, "materi": 71, "sphx_glr_autoexamples_": 71, "toolbox_fold": 71, "example_cod": 71, "ref": [71, 86, 88], "sphx_glr_auto_examples_smooth_plot_sg_smooth": 71, "pick": 71, "relev": [71, 77, 80], "human": 71, "readabl": 71, "These": [71, 72, 73], "special": 71, "variabl": [71, 79, 80], "signatur": 71, "__cognite__": 71, "__init__": 71, "share": 71, "purpos": [71, 76], "offer": [71, 83, 84], "crazi": 71, "amaz": 71, "repo": 71, "own": 71, "prefix": 71, "plot_": 71, "plot_my_new_algo_featur": 71, "At": [71, 85], "39": 71, "onc": 71, "path_to_fil": 71, "commit_messag": 71, "your_branch_nam": 71, "built": 71, "correctli": [71, 88], "successfulli": 71, "prompt": 71, "rtd": 71, "theme": 71, "auto_exampl": 71, "noth": 71, "realli": 71, "being": [71, 72, 88], "longer": [71, 73, 85], "confus": 71, "awar": 71, "stage": 71, "insid": [71, 76, 85], "info": 71, "id": 71, "pycharm": 71, "termin": [71, 76], "previou": [71, 73, 74, 83, 85], "success": [71, 84], "navig": 71, "mac": 71, "satisfi": 71, "exist": 71, "applic": [71, 76, 77], "histori": 71, "older": [71, 85], "notifi": 71, "detail": [71, 72], "hold": 71, "incompat": 71, "renam": 71, "modif": 71, "backward": [71, 83], "compat": 71, "manner": 71, "myfunc": 71, "mymod": 71, "releas": [71, 80, 87], "mymod_vx": 71, "mymod_v1": 71, "becom": [71, 73], "look": [71, 72], "changelog": [71, 74, 80], "increment": [71, 79], "semant": 71, "recent": [71, 73, 85], "test_mymod": 71, "test_mymod_v1": 71, "readi": 71, "draft": 71, "jira": 71, "backlog": 71, "track": 71, "team": 71, "global": 71, "grow": 71, "new_algorithm": 71, "test_new_algorithm": 71, "whole": 71, "highlight": 71, "succ": 71, "wip": 71, "deploi": 71, "node": 71, "storybook": 71, "chromat": 71, "scroll": 71, "inspect": 71, "stori": 71, "futur": [71, 79], "source_file_or_directori": 71, "enhanc": 71, "sync": 71, "my_branch_nam": 71, "page": [71, 80], "who": 71, "doesn": 71, "meet": 71, "still": 71, "necessari": 71, "throughout": 71, "abbrevi": 71, "cutoff_good": 72, "cutoff_m": 72, "method_period": 72, "infer": [72, 83], "fall": [72, 85], "character": [72, 85, 86], "categoris": 72, "typeerror": 72, "valueerror": [72, 76, 83], "ten": 72, "test_normality_assumpt": 72, "bool": [72, 73, 74, 76, 77, 79, 82, 83, 85, 86, 88], "stand": 72, "cut": [72, 88], "shapiro": [72, 88], "wilk": [72, 88], "usertypeerror": [72, 73, 74, 79, 83, 84, 86, 88], "q3": 72, "q1": 72, "stdev": [72, 86], "pydata": [72, 81, 86, 88], "api": [72, 81, 86, 88], "167": 72, "zarruk": 72, "procedur": 72, "bonferroni": 72, "treat": 72, "hat": 72, "matrix": 72, "diagon": 72, "rapid": 72, "refit": 72, "risk": 72, "smaller": [72, 83, 88], "return_outli": 72, "unusu": 72, "iter": 72, "popul": 72, "situat": [72, 73], "boneferroni": 72, "digit": [72, 85], "ideal": [72, 85], "distort": [72, 85], "tendenc": [72, 85], "unlik": 72, "By": [72, 76], "analog": [72, 85], "techniqu": [72, 73, 79], "lebel": 72, "speak": 72, "shouldn": 72, "One": 72, "meant": 72, "mani": [72, 84, 88], "time_period": 72, "difference_threshold": 72, "ago": 72, "apart": 72, "closest": 72, "long_interv": 73, "short_interv": 73, "std_threshold": 73, "multipli": [73, 87, 88], "significantli": 73, "lpc": 73, "circl": 73, "plane": 73, "ocil": 73, "profici": 73, "uniformli": [73, 85], "quantif": 73, "loop": 73, "eng": 73, "sc": 73, "tech": 73, "intnl": 73, "journal": 73, "2020": 73, "homogen": 73, "return_series_typ": 73, "cusum_binary_result": 73, "mean_data": 73, "positive_cumulative_sum": 73, "negative_cumulative_sum": 73, "exceed": 73, "ttalarm": 73, "restart": 73, "slow": 73, "standalon": 73, "leav": 73, "rest": 73, "accordingli": [73, 87], "standard_devi": 73, "fewer": [73, 76], "alarm": 73, "data_standard_devi": 73, "data_mean": 73, "prolong": 73, "intermedi": 73, "nbviewer": 73, "demotu": 73, "detecta": 73, "blob": 73, "detect_cusum": 73, "ssid": 73, "ratio_lim": 73, "alpha1": 73, "alpha2": 73, "alpha3": 73, "ration": 73, "alpa": 73, "sequenti": 73, "impli": [73, 83], "benefit": 73, "arl": 73, "undesir": 73, "broaden": 73, "confound": 73, "\u03bb": 73, "ii": [73, 85], "ss": 73, "rhinehart": 73, "russel": 73, "2013": 73, "proceed": 73, "confer": 73, "4477": 73, "4493": 73, "1109": 73, "acc": 73, "6580530": 73, "vma": 73, "flat": [73, 85], "lookup": 73, "alert": 73, "callabl": 74, "get_changelog": 74, "func": 74, "get_nam": 74, "highest": 74, "is_deprec": 74, "is_vers": 74, "pep": 74, "440": 74, "suppli": 74, "cmp": 74, "equival": 74, "5a1": 74, "5b3": 74, "4a3": 74, "4b1": 74, "3pl1": 74, "sequenc": [74, 82], "kwarg": 74, "userexcept": 74, "runtim": 74, "validate_series_has_minimum_length": 74, "min_len": 74, "validate_series_has_time_index": 74, "datetimeindex": [74, 77, 84, 85], "validate_series_is_not_empti": 74, "validate_timedelta": 74, "nat": 74, "strictli": 74, "validate_timedelta_unit": 74, "rotation_detect": 75, "rot_vel": 75, "thresh": 75, "veloc": [75, 78], "rpm": 75, "onbottom_detect": 75, "bit_depth": 75, "hole_depth": 75, "assembli": 75, "depth": [75, 76], "bit": 75, "onbottom": 75, "inhole_detect": 75, "inhol": 75, "circulation_detect": 75, "flow_rat": 75, "rig": 75, "thresholdthreshold": 75, "filled_volume_ellipsoidal_head_vessel": 76, "horizont": [76, 84], "vertic": 76, "partial": 76, "convex": 76, "provis": 76, "made": 76, "ellipt": 76, "diamet": 76, "cylindr": 76, "dish": 76, "extend": 76, "height": 76, "lowest": 76, "surfac": [76, 78], "m\u00b3": 76, "caleb": 76, "bell": 76, "2016": 76, "dynam": [76, 80], "chemic": 76, "chedl": 76, "calebbel": 76, "filled_volume_spherical_head_vessel": 76, "hemispher": 76, "filled_volume_torispherical_head_vessel": 76, "asm": 76, "semi": 76, "din": 76, "28011": 76, "28013": 76, "radiu": 76, "knuckl": 76, "essenti": 76, "he": 76, "p_": 76, "rho_l": 76, "81": 76, "optim": [76, 86], "rel": [76, 78, 84], "110": 76, "deliv": [76, 87], "q_l": 76, "81q_l": 76, "rho_lh": 76, "hp": 76, "eta": 76, "align_timestamp": 76, "whose": 76, "maintain": 76, "usual": 76, "81q_": 76, "though": 76, "inlet_p": 76, "outlet_p": 76, "gas_expansion_factor": 76, "inlet_t": 76, "meter": 76, "newtonian": 76, "phase": [76, 83, 84], "c_": 76, "ae": 76, "incompress": 76, "q": 76, "nc_": 76, "865": 76, "gpm": 76, "t_": 76, "417": 76, "proport": 76, "c_v": 76, "imperi": 76, "simpler": 76, "expans": 76, "3f_": 76, "gamma": 76, "x_": 76, "f_": 76, "heat": [76, 87], "specfif": 76, "capac": 76, "pv": [76, 82], "nrt": 76, "recogn": 76, "ansi": 76, "isa": 76, "75": [76, 85], "2007": 76, "iec": 76, "60534": 76, "1mod": 76, "research": 76, "triangl": 76, "park": 76, "north": 76, "carloina": 76, "filter_bi": [77, 83], "int_to_keep": [77, 83], "presenc": [77, 83], "cast": [77, 83], "insuffici": [77, 83], "db1": 77, "db2": 77, "db3": 77, "db4": 77, "db5": 77, "db7": 77, "sym2": 77, "sym3": 77, "coif1": 77, "coif2": 77, "coif3": 77, "coif4": 77, "coif5": 77, "de": 77, "dual": 77, "valuabl": 77, "en": [77, 86], "wikipedia": [77, 85, 86], "daubechi": 77, "pywavelet": 77, "orthogon": 77, "biorthogon": 77, "fluid_dynam": 78, "d_viscos": 78, "length_scal": 78, "inerti": 78, "forc": 78, "viscou": 78, "subject": 78, "movement": [78, 85], "viscos": 78, "system": 78, "volum": [78, 87], "rough": 78, "propos": 78, "1983": 78, "professor": 78, "norwegian": 78, "institut": 78, "technologi": 78, "directli": 78, "darci": 78, "weisbach": 78, "circular": 78, "pipe": 78, "approxim": 78, "implicit": 78, "colebrook": 78, "discrep": 78, "experiment": 78, "accuraci": 78, "arma_predictor": 79, "ar_ord": [79, 85], "ma_ord": [79, 85], "train_fract": 79, "methodtyp": 79, "onestep": 79, "ma": [79, 85, 86], "multistep": 79, "sever": 79, "ahead": 79, "append": 79, "incorrect": 79, "keyword": [79, 88], "dampen_trend": 79, "thrice": 79, "cycl": [79, 84], "chosen": 79, "timestep": [79, 88], "hourli": 79, "365": 79, "yearli": 79, "spike": 79, "everi": [79, 84], "sundai": 79, "dampen": 79, "shall": 79, "flatten": 79, "Its": 80, "twofold": 80, "empow": 80, "conduct": 80, "analyz": 80, "drive": 80, "behind": 80, "curat": 80, "document": 80, "additon": 80, "faster": 80, "machin": 80, "vessel": 80, "dimensionless": 80, "autoregress": 80, "numer": 80, "calculu": 80, "trapezoid": [80, 87, 88], "oil": 80, "fourier": 80, "grade": 80, "logarithm": 80, "trigonometr": 80, "compliant": 80, "v8": 80, "v7": 80, "v6": 80, "0a1": 80, "0a0": 80, "2023": 80, "07": 80, "31": [80, 82], "23": 80, "29": 80, "v4": 80, "26": 80, "22": 80, "v3": 80, "v2": 80, "v1": 80, "v0": 80, "time_unit": [81, 88], "finit": [81, 88], "accur": [81, 88], "central": [81, 88], "boundari": [81, 88], "overrid": [81, 88], "43": [81, 88], "integrand_r": [81, 88], "sec": [81, 84, 88], "milli": [81, 84, 88], "microsecond": [81, 84, 88], "micro": [81, 84, 88], "nanosecond": [81, 84, 88], "nano": [81, 84, 88], "law": 82, "psuedo": 82, "tempreatur": 82, "sutton": 82, "1985": 82, "kareem": 82, "zrt": 82, "degf": 82, "fahrenheit": 82, "lbm": 82, "ft3": 82, "pound": 82, "cubic": [82, 83, 86], "foot": 82, "productivity_index": 82, "p_re": 82, "p_bh": 82, "q_ga": 82, "bottomhol": 82, "shut_valv": 82, "min_time_btw_shutin": 82, "shutin_threshold": 82, "manual": 82, "histogram": 82, "tell": 82, "ask": 82, "variable_sign": 82, "shutin_sign": 82, "hrs_after_shutin": 82, "onset": 82, "master_valv": 82, "wing_valv": 82, "choke_valv": 82, "interp_method": 82, "nearest": [82, 86, 88], "temp": 82, "pair": 82, "pvtsim": 82, "multiflash": 82, "pvt": 82, "assertionerror": 82, "stepwis": 83, "quadrat": 83, "pointwis": 83, "yield": 83, "zeroth": 83, "third": 83, "polyphas": 83, "granularity_curr": 83, "granularity_next": 83, "num": 83, "downsampling_factor": 83, "interpolate_resolut": 83, "ffill_resolut": 83, "upsampl": 83, "downsampl": 83, "tempor": 83, "outside_fil": 83, "stepinterpol": 83, "wide": 83, "3m": 83, "onto": 83, "intersect": 83, "facil": 84, "commonli": 84, "irregular": 84, "flaw": 84, "enter": 84, "const_valu": 84, "assumpt": [84, 88], "week": 84, "crest": 84, "wavelength": 84, "radian": [84, 88], "defualt": 84, "data_buff": 84, "buffer": 84, "kept": [84, 88], "impos": 84, "decibel": 84, "comparison": 84, "background": 84, "fresh": 84, "unpredict": 84, "14400": 84, "a_": 84, "a_0": 84, "a_1x": 84, "a_2x": 84, "a_3x": 84, "a_nx": 84, "comma": 84, "offset_factor": 85, "financi": 85, "strike": 85, "captur": 85, "lag": 85, "offset": 85, "width": [85, 86], "past": 85, "Not": [85, 86], "popular": 85, "quantifi": 85, "max_pt": 85, "resample_window": 85, "yt": 85, "\u03b1": 85, "\u03b1xt": 85, "xt": 85, "x0": 85, "slowli": 85, "3w": [85, 86], "10d": [85, 86], "regular": 85, "decai": 85, "span": [85, 88], "na": 85, "w_i": 85, "plain": 85, "gradual": 85, "wn": 85, "btype": 85, "lowpass": 85, "highpass": 85, "passband": 85, "stopband": 85, "nyquist": 85, "filter_typ": 85, "rp": 85, "steeper": 85, "rippl": 85, "uniti": 85, "gain": 85, "saviztki": 85, "odd": 85, "your": [85, 86], "as_json": 86, "bolling": 86, "graphic": 86, "envelop": 86, "histor": 86, "json": 86, "reg_smooth": 86, "min_sampl": 86, "del_zero_v": 86, "cluster": 86, "shape": 86, "abl": 86, "flexibl": 86, "life": 86, "readthedoc": 86, "io": 86, "formul": 86, "distinct": 86, "thumb": 86, "minpt": 86, "noisier": 86, "dimension": 86, "ester": 86, "1996": 86, "dim": 86, "sander": 86, "1998": 86, "neighborhood": 86, "neighbor": 86, "ascend": 86, "graph": 86, "curvatur": 86, "greatest": 86, "furthest": 86, "neighbour": 86, "epsilon": 86, "along": 86, "pearson_correlation_coeffici": 86, "year": 87, "consum": 87, "currenc": 87, "fuel": 87, "emissions_factor_combustor": 87, "heating_valu": 87, "carbon_cont": 87, "turbin": 87, "flare": 87, "etc": 87, "ef": 87, "carbon": 87, "content": 87, "countri": 87, "legal": 87, "arithmetic_mean": 88, "arithmetic_mean_mani": 88, "denomin": 88, "invers": 88, "dividend": 88, "divisor": 88, "negat": 88, "expon": 88, "integrate_window": 88, "ndarrai": 88, "dt": 88, "from_to_index": 88, "number_of_window": 88, "midpoint": 88, "parallel": 88, "sped": 88, "window_index": 88, "np_datetime_n": 88, "windowlength_in_n": 88, "suppos": 88, "retrun": 88, "timewindow": 88, "logarithmic_funct": 88, "ln": 88, "trigonometric_funct": 88, "arccosin": 88, "hyperbol": 88, "tangent": 88, "x1": 88, "x2": 88, "arc": 88, "quadrant": 88, "arctang": 88, "cosin": 88, "angl": 88, "radiant": 88, "utility_funct": 88, "map": 88, "inf": 88, "edg": 88, "create_series_from_timestep": 88, "generate_step_seri": 88, "unix": 88, "januari": 88, "1st": 88, "iqr_test": 88, "modified_z_scores_test": 88, "normality_assumption_test": 88, "max_data_point": 88, "min_p_valu": 88, "min_w": 88, "nrc": 88, "gov": 88, "ml1714": 88, "ml17143a100": 88, "pdf": 88, "to_remov": 88, "range_from": 88, "range_to": 88, "seper": 88, "semicolon": 88, "undefin": 88, "deactiv": 88, "to_replac": 88, "decim": 88, "set_timestamp": 88, "timestamp_seri": 88, "value_seri": 88, "threshold_test": 88, "time_shift": 88, "n_unit": 88, "series1": 88, "series2": 88, "occur": 88, "z_scores_test": 88}, "objects": {"indsl.data_quality.completeness": [[72, 0, 1, "", "completeness_score"]], "indsl.data_quality": [[72, 0, 1, "", "datapoint_diff_over_time_period"], [72, 0, 1, "", "extreme"], [72, 0, 1, "", "gaps_identification_iqr"], [72, 0, 1, "", "gaps_identification_modified_z_scores"], [72, 0, 1, "", "gaps_identification_threshold"], [72, 0, 1, "", "gaps_identification_z_scores"], [72, 0, 1, "", "low_density_identification_iqr"], [72, 0, 1, "", "low_density_identification_modified_z_scores"], [72, 0, 1, "", "low_density_identification_threshold"], [72, 0, 1, "", "low_density_identification_z_scores"], [72, 0, 1, "", "rolling_stddev_timedelta"], [72, 0, 1, "", "value_decrease_check"]], "indsl.data_quality.outliers": [[72, 0, 1, "", "out_of_range"]], "indsl.detect": [[73, 0, 1, "", "cpd_ed_pelt"], [73, 0, 1, "", "cusum"], [73, 0, 1, "", "drift"], [73, 0, 1, "", "ssd_cpd"], [73, 0, 1, "", "ssid"], [73, 0, 1, "", "vma"]], "indsl.detect.oscillation_detector": [[73, 0, 1, "", "oscillation_detector"]], "indsl.detect.unchanged_signal_detector": [[73, 0, 1, "", "unchanged_signal_detector"]], "indsl.drilling": [[75, 0, 1, "", "circulation_detection"], [75, 0, 1, "", "inhole_detection"], [75, 0, 1, "", "onbottom_detection"], [75, 0, 1, "", "rotation_detection"]], "indsl.equipment": [[76, 0, 1, "", "filled_volume_ellipsoidal_head_vessel"], [76, 0, 1, "", "filled_volume_spherical_head_vessel"], [76, 0, 1, "", "filled_volume_torispherical_head_vessel"], [76, 0, 1, "", "percent_BEP_flowrate"], [76, 0, 1, "", "pump_hydraulic_power"], [76, 0, 1, "", "pump_shaft_power"], [76, 0, 1, "", "recycle_valve_power_loss"], [76, 0, 1, "", "total_head"]], "indsl.equipment.valve_parameters": [[76, 0, 1, "", "flow_through_valve"]], "indsl": [[74, 1, 0, "-", "exceptions"], [74, 1, 0, "module-0", "validations"], [74, 1, 0, "-", "versioning"]], "indsl.exceptions": [[74, 2, 1, "", "UserException"], [74, 2, 1, "", "UserRuntimeError"], [74, 2, 1, "", "UserTypeError"], [74, 2, 1, "", "UserValueError"]], "indsl.filter": [[77, 0, 1, "", "status_flag_filter"], [77, 0, 1, "", "wavelet_filter"]], "indsl.fluid_dynamics": [[78, 0, 1, "", "Haaland"], [78, 0, 1, "", "Re"]], "indsl.forecast": [[79, 0, 1, "", "arma_predictor"], [79, 0, 1, "", "holt_winters_predictor"]], "indsl.oil_and_gas": [[82, 0, 1, "", "calculate_gas_density"], [82, 0, 1, "", "calculate_shutin_interval"], [82, 0, 1, "", "calculate_shutin_variable"], [82, 0, 1, "", "calculate_well_prod_status"], [82, 0, 1, "", "productivity_index"]], "indsl.oil_and_gas.live_fluid_properties": [[82, 0, 1, "", "retrieve_fluid_properties"]], "indsl.resample": [[83, 0, 1, "", "group_by_region"], [83, 0, 1, "", "interpolate"], [83, 0, 1, "", "reindex"], [83, 0, 1, "", "resample"], [83, 0, 1, "", "resample_to_granularity"]], "indsl.signals.generator": [[84, 0, 1, "", "const_value"], [84, 0, 1, "", "insert_data_gaps"], [84, 0, 1, "", "line"], [84, 0, 1, "", "perturb_timestamp"], [84, 0, 1, "", "sine_wave"], [84, 0, 1, "", "wave_with_brownian_noise"]], "indsl.signals.noise": [[84, 0, 1, "", "white_noise"]], "indsl.signals.polynomial": [[84, 0, 1, "", "univariate_polynomial"]], "indsl.smooth": [[85, 0, 1, "", "alma"], [85, 0, 1, "", "arma"], [85, 0, 1, "", "butterworth"], [85, 0, 1, "", "chebyshev"], [85, 0, 1, "", "ewma"], [85, 0, 1, "", "lwma"], [85, 0, 1, "", "sg"], [85, 0, 1, "", "sma"]], "indsl.statistics.confidence": [[86, 0, 1, "", "bands"]], "indsl.statistics.outliers": [[86, 0, 1, "", "detect_outliers"], [86, 0, 1, "", "remove_outliers"]], "indsl.statistics": [[86, 0, 1, "", "pearson_correlation"]], "indsl.sustainability.co2_emissions_calculations": [[87, 0, 1, "", "cumulative_co2_cost"], [87, 0, 1, "", "cumulative_co2_production"], [87, 0, 1, "", "emissions_factor_combustor"], [87, 0, 1, "", "rate_of_emissions"]], "indsl.ts_utils": [[88, 1, 0, "-", "logarithmic_functions"], [88, 1, 0, "-", "numerical_calculus"], [88, 1, 0, "-", "operators"], [88, 1, 0, "-", "trigonometric_functions"], [88, 1, 0, "-", "utility_functions"]], "indsl.ts_utils.logarithmic_functions": [[88, 0, 1, "", "exp"], [88, 0, 1, "", "log"], [88, 0, 1, "", "log10"], [88, 0, 1, "", "log2"], [88, 0, 1, "", "logn"]], "indsl.ts_utils.numerical_calculus": [[88, 0, 1, "", "differentiate"], [88, 0, 1, "", "integrate_windows"], [88, 0, 1, "", "sliding_window_integration"], [88, 0, 1, "", "trapezoidal_integration"], [88, 0, 1, "", "window_index"]], "indsl.ts_utils.operators": [[88, 0, 1, "", "absolute"], [88, 0, 1, "", "add"], [88, 0, 1, "", "arithmetic_mean"], [88, 0, 1, "", "arithmetic_mean_many"], [88, 0, 1, "", "div"], [88, 0, 1, "", "inv"], [88, 0, 1, "", "mod"], [88, 0, 1, "", "mul"], [88, 0, 1, "", "neg"], [88, 0, 1, "", "power"], [88, 0, 1, "", "sqrt"], [88, 0, 1, "", "sub"]], "indsl.ts_utils.trigonometric_functions": [[88, 0, 1, "", "arccos"], [88, 0, 1, "", "arccosh"], [88, 0, 1, "", "arcsin"], [88, 0, 1, "", "arcsinh"], [88, 0, 1, "", "arctan"], [88, 0, 1, "", "arctan2"], [88, 0, 1, "", "arctanh"], [88, 0, 1, "", "cos"], [88, 0, 1, "", "cosh"], [88, 0, 1, "", "deg2rad"], [88, 0, 1, "", "rad2deg"], [88, 0, 1, "", "sin"], [88, 0, 1, "", "sinh"], [88, 0, 1, "", "tan"], [88, 0, 1, "", "tanh"]], "indsl.ts_utils.utility_functions": [[88, 0, 1, "", "bin_map"], [88, 0, 1, "", "ceil"], [88, 0, 1, "", "clip"], [88, 0, 1, "", "create_series_from_timesteps"], [88, 0, 1, "", "floor"], [88, 0, 1, "", "generate_step_series"], [88, 0, 1, "", "get_timestamps"], [88, 0, 1, "", "iqr_test"], [88, 0, 1, "", "maximum"], [88, 0, 1, "", "minimum"], [88, 0, 1, "", "modified_z_scores_test"], [88, 0, 1, "", "normality_assumption_test"], [88, 0, 1, "", "remove"], [88, 0, 1, "", "replace"], [88, 0, 1, "", "round"], [88, 0, 1, "", "set_timestamps"], [88, 0, 1, "", "sign"], [88, 0, 1, "", "threshold"], [88, 0, 1, "", "threshold_test"], [88, 0, 1, "", "time_shift"], [88, 0, 1, "", "union"], [88, 0, 1, "", "z_scores_test"]], "indsl.validations": [[74, 0, 1, "id0", "validate_series_has_minimum_length"], [74, 0, 1, "id1", "validate_series_has_time_index"], [74, 0, 1, "id2", "validate_series_is_not_empty"], [74, 0, 1, "id3", "validate_timedelta"], [74, 0, 1, "id4", "validate_timedelta_unit"]], "indsl.versioning": [[74, 0, 1, "", "get"], [74, 0, 1, "", "get_changelog"], [74, 0, 1, "", "get_name"], [74, 0, 1, "", "get_registered_functions"], [74, 0, 1, "", "get_version"], [74, 0, 1, "", "get_versions"], [74, 0, 1, "", "is_deprecated"], [74, 0, 1, "", "is_versioned"], [74, 0, 1, "", "register"], [74, 0, 1, "", "run"]]}, "objtypes": {"0": "py:function", "1": "py:module", "2": "py:exception"}, "objnames": {"0": ["py", "function", "Python function"], "1": ["py", "module", "Python module"], "2": ["py", "exception", "Python exception"]}, "titleterms": {"changelog": 0, "v8": 0, "2": [0, 8], "0": [0, 69], "1": [0, 8, 69], "feat": 0, "fix": 0, "v7": 0, "v6": 0, "6": 0, "0a1": 0, "pre": 0, "releas": 0, "0a0": 0, "2023": 0, "07": 0, "04": 0, "5": 0, "03": 0, "31": 0, "4": 0, "23": 0, "3": [0, 8], "02": 0, "01": 0, "24": 0, "2022": 0, "12": 0, "13": 0, "11": 0, "09": 0, "08": 0, "29": 0, "25": 0, "17": 0, "refactor": 0, "v4": 0, "8": 0, "26": 0, "7": 0, "06": 0, "16": 0, "05": 0, "18": 0, "27": 0, "21": 0, "20": 0, "30": 0, "22": 0, "28": 0, "v3": 0, "14": 0, "v2": 0, "2021": 0, "v1": [0, 69], "v0": 0, "10": 0, "data": [1, 3, 8, 9, 17, 32, 55, 56, 72, 80, 84], "qualiti": [1, 32, 72], "complet": [2, 72], "score": [2, 72], "time": [2, 3, 5, 9, 12, 17, 22, 26, 28, 31, 35, 42, 45, 48, 50, 53, 57, 63, 66, 68, 72, 84, 88], "seri": [2, 5, 17, 50, 84, 88], "threshold": [3, 72], "breach": 3, "check": [3, 11, 41, 74], "differ": [3, 72], "between": 3, "two": 3, "point": [3, 9, 14, 16, 73, 76], "over": [3, 72], "period": [3, 6, 72], "extrem": [4, 8, 72], "outlier": [4, 8, 59, 60, 62, 72, 86], "remov": [4, 25, 72, 86], "identifi": [5, 6], "gap": [5, 50, 72, 84], "low": [6, 72, 85], "densiti": [6, 37, 72, 82], "neg": 7, "run": [7, 69], "hour": 7, "detect": [7, 8, 13, 14, 15, 16, 32, 39, 59, 60, 62, 72, 73, 75, 86], "out": [8, 72], "rang": [8, 72], "sensor": 8, "introduct": 8, "non": 8, "linear": [8, 15, 83, 85], "stationari": 8, "synthet": [8, 32, 49, 84], "signal": [8, 17, 32, 49, 52, 73, 84], "insert": [8, 50], "initi": 8, "condit": 8, "test": 8, "set": 8, "iter": 8, "trend": [8, 24, 25], "estim": [8, 10], "student": 8, "residu": 8, "bonferroni": 8, "correct": 8, "pass": [8, 85], "last": 8, "result": 8, "roll": [9, 72], "standard": [9, 72], "deviat": [9, 72], "delta": [9, 72], "rel": 10, "uncertainti": 10, "decreas": [11, 72], "valu": [11, 72, 84], "timeseri": 11, "comput": [12, 22, 26, 28, 31, 35, 42, 44, 45, 48, 53, 57, 63, 66, 68], "function": [13, 19, 23, 29, 32, 36, 43, 46, 54, 64, 67, 69, 71, 74, 88], "chang": [14, 16, 73], "cusum": [14, 73], "oscil": [15, 73], "us": [15, 72], "predict": 15, "code": [15, 70, 71], "steadi": [16, 73], "state": [16, 39, 73], "unchang": [17, 73], "identif": [17, 73], "equip": [19, 32, 76], "calcul": [20, 37, 38, 40, 82, 87], "paramet": 20, "centrifug": 20, "pump": [20, 21, 76], "recycl": [21, 76], "valv": [21, 39, 76], "power": [21, 76], "loss": [21, 76], "filter": [23, 25, 32, 56, 73, 77, 85], "empir": 24, "mode": 24, "decomposit": 24, "nois": [25, 52, 84], "wavelet": [25, 77], "forecast": [29, 32, 79], "holt": [30, 79], "winter": [30, 79], "predictor": [30, 79], "galleri": [32, 71], "chart": [32, 71], "numer": [32, 33, 81, 88], "calculu": [32, 33, 81, 88], "oil": [32, 36, 82], "ga": [32, 36, 37, 82], "reindex": [32, 43, 83], "resampl": [32, 46, 83], "gener": [32, 49, 52, 84], "smooth": [32, 54, 55, 56, 79, 85], "statist": [32, 58, 86], "sustain": [32, 64, 87], "version": [32, 67, 69, 71, 74], "slide": [34, 81], "window": [34, 81], "integr": [34, 81], "fluid": [38, 78, 82], "properti": [38, 82], "given": 38, "pressur": [38, 40], "temperatur": 38, "shut": [39, 40, 82], "product": [41, 65, 82, 87], "statu": [41, 77, 82], "well": [41, 82], "re": 44, "index": [44, 82, 84], "pearson": [44, 61, 86], "correl": [44, 61, 86], "coeffici": 44, "group": [47, 83], "region": [47, 83], "univari": [51, 84], "polynomi": [51, 83, 84], "wavi": 52, "add": [52, 71], "white": [52, 84], "wave": [52, 84], "brownian": [52, 84], "move": [55, 73, 79, 85], "averag": [55, 73, 79, 85], "savitzki": [56, 85], "golai": [56, 85], "dbscan": [59, 60, 62], "spline": [59, 60, 62], "regress": [59, 60, 62], "001": 59, "002": 60, "cumul": [65, 87], "co2": [65, 87], "cost": [65, 87], "exampl": [69, 71, 72, 73, 76, 77, 80, 81, 82, 83, 84, 85, 86, 87], "implement": 69, "get": 69, "conduct": 70, "contribut": 71, "new": 71, "compliant": 71, "algorithm": 71, "preliminari": 71, "setup": 71, "develop": [71, 74, 80], "your": 71, "core": 71, "extra": 71, "document": 71, "front": 71, "back": 71, "end": 71, "complianc": 71, "todo": 71, "an": 71, "verifi": 71, "build": 71, "do": 71, "i": 71, "need": 71, "my": 71, "how": 71, "creat": [71, 84], "pull": 71, "request": 71, "free": 71, "form": 71, "style": 71, "z": 72, "modifi": 72, "interquartil": 72, "method": 72, "valid": [72, 74], "indic": [72, 80], "datapoint": 72, "drift": 73, "detector": [73, 82], "ed": 73, "pelt": 73, "varianc": 73, "variabl": [73, 82], "util": [74, 88], "except": 74, "type": 74, "drill": 75, "flag": 75, "rotat": 75, "On": 75, "bottom": 75, "In": 75, "hole": 75, "circul": 75, "vessel": 76, "volum": 76, "ellipsoid": 76, "head": 76, "spheric": 76, "torispher": 76, "total": 76, "best": 76, "effici": 76, "bep": 76, "from": 76, "flowrat": 76, "hydraul": 76, "shaft": 76, "volumetr": 76, "flow": 76, "through": 76, "dynam": 78, "dimensionless": 78, "number": 78, "reynold": 78, "friction": 78, "factor": [78, 87], "haaland": 78, "equat": 78, "autoregress": [79, 85], "arma": 79, "tripl": 79, "exponenti": [79, 85], "cognit": 80, "": 80, "industri": [80, 84], "scienc": 80, "librari": 80, "instal": 80, "toolbox": 80, "tabl": 80, "differenti": 81, "trapezoid": 81, "retriev": 82, "interpol": 83, "fourier": 83, "min": 83, "max": 83, "sum": 83, "count": 83, "granular": 83, "default": 83, "modul": 84, "grade": 84, "line": 84, "constant": 84, "sine": 84, "perturb": 84, "arnaud": 85, "legoux": 85, "weight": 85, "simpl": 85, "frequenc": 85, "base": 85, "butterworth": 85, "chebyshev": 85, "confid": 86, "band": 86, "emiss": 87, "rate": 87, "combustor": 87, "basic": 88, "oper": 88, "logarithm": 88, "trigonometr": 88}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx": 58}, "alltitles": {"Changelog": [[0, "changelog"]], "v8.2.0": [[0, "v8-2-0"]], "v8.1.0": [[0, "v8-1-0"]], "Feat": [[0, "feat"], [0, "id2"], [0, "id5"], [0, "id7"], [0, "id9"], [0, "id11"], [0, "id17"], [0, "id20"], [0, "id22"], [0, "id24"], [0, "id26"], [0, "id32"], [0, "id34"], [0, "id36"], [0, "id40"], [0, "id42"], [0, "id47"], [0, "id51"], [0, "id54"], [0, "id59"], [0, "id62"], [0, "id66"], [0, "id68"], [0, "id69"], [0, "id72"], [0, "id74"], [0, "id76"]], "v8.0.1": [[0, "v8-0-1"]], "Fix": [[0, "id1"], [0, "id3"], [0, "id4"], [0, "id6"], [0, "id8"], [0, "id10"], [0, "id12"], [0, "id13"], [0, "id14"], [0, "id15"], [0, "id16"], [0, "id18"], [0, "id19"], [0, "id21"], [0, "id23"], [0, "id25"], [0, "id27"], [0, "id28"], [0, "id30"], [0, "id31"], [0, "id33"], [0, "id37"], [0, "id38"], [0, "id39"], [0, "id41"], [0, "id43"], [0, "id45"], [0, "id46"], [0, "id48"], [0, "id49"], [0, "id50"], [0, "id52"], [0, "id53"], [0, "id56"], [0, "id57"], [0, "id58"], [0, "id61"], [0, "id63"], [0, "id65"], [0, "id67"], [0, "id70"], [0, "id71"], [0, "id73"], [0, "id75"], [0, "id77"], [0, "id78"], [0, "id79"], [0, "id81"], [0, "id83"], [0, "id84"]], "v8.0.0": [[0, "v8-0-0"]], "v7.0.1": [[0, "v7-0-1"]], "v7.0.0": [[0, "v7-0-0"]], "v6.6.0a1 Pre-release": [[0, "v6-6-0a1-pre-release"]], "v6.6.0a0 (2023-07-04)": [[0, "v6-6-0a0-2023-07-04"]], "v6.5.0 (2023-03-31)": [[0, "v6-5-0-2023-03-31"]], "v6.4.4 (2023-03-23)": [[0, "v6-4-4-2023-03-23"]], "v6.4.3 (2023-02-23)": [[0, "v6-4-3-2023-02-23"]], "v6.4.2 (2023-01-24)": [[0, "v6-4-2-2023-01-24"]], "v6.4.1 (2023-01-24)": [[0, "v6-4-1-2023-01-24"]], "v6.4.0 (2022-12-13)": [[0, "v6-4-0-2022-12-13"]], "v6.3.1 (2022-11-09)": [[0, "v6-3-1-2022-11-09"]], "v6.3.0 (2022-11-08)": [[0, "v6-3-0-2022-11-08"]], "v6.2.0 (2022-09-29)": [[0, "v6-2-0-2022-09-29"]], "v6.1.0 (2022-08-25)": [[0, "v6-1-0-2022-08-25"]], "v6.0.1 (2022-08-17)": [[0, "v6-0-1-2022-08-17"]], "v6.0.0 (2022-08-17)": [[0, "v6-0-0-2022-08-17"]], "Refactor": [[0, "refactor"], [0, "id29"], [0, "id35"], [0, "id44"], [0, "id55"], [0, "id60"], [0, "id64"]], "v4.8.2 (2022-08-09)": [[0, "v4-8-2-2022-08-09"]], "v4.8.1 (2022-08-09)": [[0, "v4-8-1-2022-08-09"]], "v4.8.0 (2022-07-26)": [[0, "v4-8-0-2022-07-26"]], "v4.7.0 (2022-07-07)": [[0, "v4-7-0-2022-07-07"]], "v4.6.0 (2022-06-16)": [[0, "v4-6-0-2022-06-16"]], "v4.5.1 (2022-06-09)": [[0, "v4-5-1-2022-06-09"]], "v4.5.0 (2022-05-25)": [[0, "v4-5-0-2022-05-25"]], "v4.4.1 (2022-05-18)": [[0, "v4-4-1-2022-05-18"]], "v4.4.0 (2022-05-11)": [[0, "v4-4-0-2022-05-11"]], "v4.3.1 (2022-05-04)": [[0, "v4-3-1-2022-05-04"]], "v4.3.0 (2022-04-27)": [[0, "v4-3-0-2022-04-27"]], "v4.2.2 (2022-04-21)": [[0, "v4-2-2-2022-04-21"]], "v4.2.1 (2022-04-21)": [[0, "v4-2-1-2022-04-21"]], "v4.2.0 (2022-04-20)": [[0, "v4-2-0-2022-04-20"]], "v4.1.1 (2022-03-30)": [[0, "v4-1-1-2022-03-30"]], "v4.1.0 (2022-03-22)": [[0, "v4-1-0-2022-03-22"]], "v4.0.2 (2022-03-01)": [[0, "v4-0-2-2022-03-01"]], "v4.0.1 (2022-02-28)": [[0, "v4-0-1-2022-02-28"]], "v4.0.0 (2022-02-24)": [[0, "v4-0-0-2022-02-24"]], "v3.1.1 (2022-02-02)": [[0, "v3-1-1-2022-02-02"]], "v3.1.0 (2022-01-21)": [[0, "v3-1-0-2022-01-21"]], "v3.0.0 (2022-01-14)": [[0, "v3-0-0-2022-01-14"]], "v2.1.0 (2022-01-05)": [[0, "v2-1-0-2022-01-05"]], "v2.0.0 (2021-12-20)": [[0, "v2-0-0-2021-12-20"]], "v1.0.0 (2021-12-06)": [[0, "v1-0-0-2021-12-06"]], "v0.2.1 (2021-11-11)": [[0, "v0-2-1-2021-11-11"]], "v0.2.0 (2021-11-04)": [[0, "v0-2-0-2021-11-04"]], "v0.1.0 (2021-10-29)": [[0, "v0-1-0-2021-10-29"]], "v0.0.8 (2021-10-18)": [[0, "v0-0-8-2021-10-18"]], "v0.0.7 (2021-10-18)": [[0, "v0-0-7-2021-10-18"]], "v0.0.6 (2021-10-18)": [[0, "v0-0-6-2021-10-18"]], "0.0.6 (2021-10-18)": [[0, "id80"]], "0.0.5 (2021-10-18)": [[0, "id82"]], "v0.0.4 (2021-10-13)": [[0, "v0-0-4-2021-10-13"]], "0.0.3 (2021-10-08)": [[0, "id85"]], "Data quality": [[1, "data-quality"], [32, "data-quality"]], "Completeness score of time series": [[2, "completeness-score-of-time-series"]], "Threshold breach check for difference between two data points over a period of time": [[3, "threshold-breach-check-for-difference-between-two-data-points-over-a-period-of-time"]], "Extreme Outliers Removal": [[4, "extreme-outliers-removal"], [72, "extreme-outliers-removal"]], "Identifying gaps in time series": [[5, "sphx-glr-auto-examples-data-quality-plot-gaps-identification-py"]], "Identifying low density periods": [[6, "sphx-glr-auto-examples-data-quality-plot-low-density-identification-py"]], "Negative running hours detection": [[7, "negative-running-hours-detection"]], "Detect out of range outliers in sensor data": [[8, "detect-out-of-range-outliers-in-sensor-data"]], "Introduction": [[8, "introduction"]], "Non-linear, non-stationary synthetic signal": [[8, "non-linear-non-stationary-synthetic-signal"]], "Insert extreme outliers": [[8, "insert-extreme-outliers"]], "Initial conditions: test data set": [[8, "initial-conditions-test-data-set"]], "Initial iteration": [[8, "initial-iteration"]], "1. Trend estimate": [[8, "trend-estimate"]], "2. Studentized residuals and Bonferroni correction": [[8, "studentized-residuals-and-bonferroni-correction"]], "3. Outliers detected with the initial pass": [[8, "outliers-detected-with-the-initial-pass"]], "Last iteration": [[8, "last-iteration"]], "Results": [[8, "results"]], "Rolling standard deviation of data points time delta": [[9, "rolling-standard-deviation-of-data-points-time-delta"]], "Relative uncertainty estimation": [[10, "relative-uncertainty-estimation"]], "Checking for decreasing values in a timeseries": [[11, "checking-for-decreasing-values-in-a-timeseries"]], "Computation times": [[12, "computation-times"], [22, "computation-times"], [26, "computation-times"], [28, "computation-times"], [31, "computation-times"], [35, "computation-times"], [42, "computation-times"], [45, "computation-times"], [48, "computation-times"], [53, "computation-times"], [57, "computation-times"], [63, "computation-times"], [66, "computation-times"], [68, "computation-times"]], "Detection Functions": [[13, "detection-functions"], [32, "detection-functions"]], "Change Point Detection with Cusum": [[14, "change-point-detection-with-cusum"]], "Oscillation detection using linear predictive coding": [[15, "oscillation-detection-using-linear-predictive-coding"]], "Steady State Detection: Change Point": [[16, "steady-state-detection-change-point"]], "Unchanged signal identification of time series data": [[17, "unchanged-signal-identification-of-time-series-data"]], "Equipment Functions": [[19, "equipment-functions"], [32, "equipment-functions"]], "Calculate parameters of a centrifugal pump": [[20, "calculate-parameters-of-a-centrifugal-pump"]], "Pump recycle valve power loss": [[21, "pump-recycle-valve-power-loss"]], "Filter Functions": [[23, "filter-functions"], [32, "filter-functions"]], "Trending with Empirical Mode Decomposition": [[24, "trending-with-empirical-mode-decomposition"]], "Noise removal and trending with the Wavelet filter": [[25, "noise-removal-and-trending-with-the-wavelet-filter"]], "Forecasting Functions": [[29, "forecasting-functions"], [32, "forecasting-functions"]], "Holt-Winters Predictor": [[30, "holt-winters-predictor"]], "Gallery of Charts": [[32, "gallery-of-charts"]], "Numerical Calculus": [[32, "numerical-calculus"], [33, "numerical-calculus"], [81, "numerical-calculus"]], "Oil and Gas Functions": [[32, "oil-and-gas-functions"], [36, "oil-and-gas-functions"]], "Reindex function": [[32, "reindex-function"], [43, "reindex-function"]], "Resampling Functions": [[32, "resampling-functions"], [46, "resampling-functions"]], "Synthetic Signal Generation": [[32, "synthetic-signal-generation"], [49, "synthetic-signal-generation"]], "Smoothing Functions": [[32, "smoothing-functions"], [54, "smoothing-functions"]], "Statistics": [[32, "statistics"], [58, "statistics"], [86, "statistics"]], "Sustainability Functions": [[32, "sustainability-functions"], [64, "sustainability-functions"]], "Function versioning": [[32, "function-versioning"], [67, "function-versioning"], [69, "function-versioning"], [74, "module-indsl.versioning"]], "Sliding window integration": [[34, "sliding-window-integration"], [81, "sliding-window-integration"]], "Calculation of gas density": [[37, "calculation-of-gas-density"]], "Calculate fluid properties given pressure and temperature": [[38, "calculate-fluid-properties-given-pressure-and-temperature"]], "Detection of valve shut-in state": [[39, "detection-of-valve-shut-in-state"]], "Calculation of shut-in pressure": [[40, "calculation-of-shut-in-pressure"]], "Check for the production status of a well": [[41, "check-for-the-production-status-of-a-well"]], "Re-indexing and compute Pearson correlation coefficient": [[44, "re-indexing-and-compute-pearson-correlation-coefficient"]], "Group by Region": [[47, "group-by-region"]], "Inserting gaps in a time series": [[50, "inserting-gaps-in-a-time-series"]], "Univariate Polynomial": [[51, "univariate-polynomial"], [84, "univariate-polynomial"]], "Wavy signal generation": [[52, "wavy-signal-generation"]], "Add white noise": [[52, "add-white-noise"]], "Add wave with brownian noise": [[52, "add-wave-with-brownian-noise"]], "Data smoothing with Moving Averages": [[55, "data-smoothing-with-moving-averages"]], "Data smoothing with the Savitzky-Golay filter": [[56, "data-smoothing-with-the-savitzky-golay-filter"]], "Outlier detection with DBSCAN and spline regression 001": [[59, "outlier-detection-with-dbscan-and-spline-regression-001"]], "Outlier detection with DBSCAN and spline regression 002": [[60, "outlier-detection-with-dbscan-and-spline-regression-002"]], "Pearson correlation": [[61, "pearson-correlation"], [86, "pearson-correlation"]], "Outlier detection with DBSCAN and spline regression": [[62, "outlier-detection-with-dbscan-and-spline-regression"]], "Cumulative CO2 Production and Cost": [[65, "cumulative-co2-production-and-cost"]], "Example": [[69, "example"]], "Implementation": [[69, "implementation"]], "Implementation of v1.0": [[69, "implementation-of-v1-0"]], "Implementation of v1.1": [[69, "implementation-of-v1-1"]], "Getting versioned functions and their versions": [[69, "getting-versioned-functions-and-their-versions"]], "Running versioned functions": [[69, "running-versioned-functions"]], "Code of Conduct": [[70, "code-of-conduct"]], "Contributing": [[71, "contributing"]], "Contributing a new CHARTS compliant algorithm": [[71, "contributing-a-new-charts-compliant-algorithm"]], "Preliminaries and setup": [[71, "preliminaries-and-setup"]], "Develop your algorithm": [[71, "develop-your-algorithm"]], "Core or Extras": [[71, "core-or-extras"]], "Document your algorithm": [[71, "document-your-algorithm"]], "Front and back end compliance": [[71, "front-and-back-end-compliance"]], "Todo": [[71, "id2"], [71, "id3"], [71, "id4"]], "Add an example to the Gallery of Charts": [[71, "add-an-example-to-the-gallery-of-charts"]], "Verify documentation build": [[71, "verify-documentation-build"]], "Version your algorithm": [[71, "version-your-algorithm"]], "Do I need to version my algorithm?": [[71, "do-i-need-to-version-my-algorithm"]], "How do I version my function?": [[71, "how-do-i-version-my-function"]], "Create a pull request": [[71, "create-a-pull-request"]], "Contributing a free form algorithm": [[71, "contributing-a-free-form-algorithm"]], "Coding Style": [[71, "coding-style"]], "Data Quality": [[72, "data-quality"]], "Completeness": [[72, "completeness"]], "Completeness Score": [[72, "completeness-score"]], "Examples:": [[72, null], [72, null], [72, null], [72, null], [72, null], [72, null], [72, null], [72, null], [72, null], [72, null], [72, null], [72, null], [72, null], [72, null], [73, null], [73, null], [73, null], [73, null], [73, null], [76, null], [76, null], [76, null], [76, null], [76, null], [76, null], [77, null], [81, null], [82, null], [82, null], [82, null], [82, null], [82, null], [83, null], [83, null], [84, null], [84, null], [85, null], [85, null], [86, null], [86, null], [86, null], [87, null]], "Data Gaps Detection": [[72, "data-gaps-detection"]], "Using Z scores": [[72, "using-z-scores"], [72, "id1"]], "Using modified Z scores": [[72, "using-modified-z-scores"], [72, "id3"]], "Using the interquartile range method": [[72, "using-the-interquartile-range-method"], [72, "id4"]], "Using a time delta threshold": [[72, "using-a-time-delta-threshold"]], "Low data density": [[72, "low-data-density"]], "Using a density threshold": [[72, "using-a-density-threshold"]], "Rolling standard deviation of time delta": [[72, "rolling-standard-deviation-of-time-delta"]], "Validity": [[72, "validity"]], "Out of Range Values": [[72, "out-of-range-values"]], "Value Decrease Indication": [[72, "value-decrease-indication"]], "Datapoint difference over a period of time": [[72, "datapoint-difference-over-a-period-of-time"]], "Detect": [[73, "detect"]], "Drift": [[73, "drift"]], "Oscillations": [[73, "oscillations"]], "Change Point detector: ED-PELT": [[73, "change-point-detector-ed-pelt"]], "Change Point detector: CUSUM": [[73, "change-point-detector-cusum"]], "Steady State detector: change point": [[73, "steady-state-detector-change-point"]], "Steady State detector: variance filter": [[73, "steady-state-detector-variance-filter"]], "Steady State detector: variable moving average": [[73, "steady-state-detector-variable-moving-average"]], "Unchanged signal identification": [[73, "unchanged-signal-identification"]], "Developer utility functions": [[74, "developer-utility-functions"]], "Exceptions": [[74, "module-indsl.exceptions"]], "Validation functions": [[74, "module-indsl.validations"]], "Type checking": [[74, "module-0"]], "Drilling": [[75, "drilling"]], "Flag Detection": [[75, "flag-detection"]], "Rotation Detection": [[75, "rotation-detection"]], "On-Bottom Detection": [[75, "on-bottom-detection"]], "In-Hole Detection": [[75, "in-hole-detection"]], "Circulation Detection": [[75, "circulation-detection"]], "Equipment": [[76, "equipment"]], "Vessels": [[76, "vessels"]], "Vessel volume (Ellipsoidal head)": [[76, "vessel-volume-ellipsoidal-head"]], "Vessel volume (Spherical head)": [[76, "vessel-volume-spherical-head"]], "Vessel volume (Torispherical head)": [[76, "vessel-volume-torispherical-head"]], "Pumps": [[76, "pumps"]], "Total head": [[76, "total-head"]], "Best Efficiency Point (BEP) from flowrate": [[76, "best-efficiency-point-bep-from-flowrate"]], "Hydraulic power": [[76, "hydraulic-power"]], "Shaft power": [[76, "shaft-power"]], "Recycle valve power loss": [[76, "recycle-valve-power-loss"]], "Valves": [[76, "valves"]], "Volumetric flow through valve": [[76, "volumetric-flow-through-valve"]], "Filter": [[77, "filter"]], "Status Filter": [[77, "status-filter"]], "Wavelet Filter": [[77, "wavelet-filter"]], "Fluid Dynamics": [[78, "fluid-dynamics"]], "Dimensionless Numbers": [[78, "dimensionless-numbers"]], "Reynolds Number": [[78, "reynolds-number"]], "Friction Factor: Haaland equation": [[78, "friction-factor-haaland-equation"]], "Forecast": [[79, "forecast"]], "Autoregressive Moving Average (ARMA) Predictor": [[79, "autoregressive-moving-average-arma-predictor"]], "Triple Exponential Smoothing - Holt-Winters Predictor": [[79, "triple-exponential-smoothing-holt-winters-predictor"]], "Cognite\u2019s Industrial Data Science Library": [[80, "cognite-s-industrial-data-science-library"]], "Installation": [[80, "installation"]], "Toolboxes": [[80, null]], "Examples": [[80, null]], "Developers": [[80, null]], "Indices and tables": [[80, "indices-and-tables"]], "Differentiation": [[81, "differentiation"]], "Trapezoidal integration": [[81, "trapezoidal-integration"]], "Oil and Gas": [[82, "oil-and-gas"]], "Gas density calculator": [[82, "gas-density-calculator"]], "Productivity index": [[82, "productivity-index"]], "Shut-in detector": [[82, "shut-in-detector"]], "Shut-in variable calculator": [[82, "shut-in-variable-calculator"]], "Well production status": [[82, "well-production-status"]], "Retrieve fluid properties": [[82, "retrieve-fluid-properties"]], "Resample": [[83, "resample"]], "Interpolate and Resample": [[83, "interpolate-and-resample"]], "Resampling: Fourier, Polynomial, Linear, min, max, sum, count": [[83, "resampling-fourier-polynomial-linear-min-max-sum-count"]], "Resampling to granularity (default)": [[83, "resampling-to-granularity-default"]], "Group by region": [[83, "group-by-region"]], "Reindex": [[83, "reindex"]], "Signals": [[84, "signals"]], "Module for Generating Industrial Grade Synthetic Signals": [[84, "module-for-generating-industrial-grade-synthetic-signals"]], "Line time series": [[84, "line-time-series"]], "Constant value time series": [[84, "constant-value-time-series"]], "Sine wave": [[84, "sine-wave"]], "Perturb the index of a time series": [[84, "perturb-the-index-of-a-time-series"]], "Create data gaps in a time series": [[84, "create-data-gaps-in-a-time-series"]], "Noise Generators": [[84, "noise-generators"]], "White noise": [[84, "white-noise"]], "Examples with noise generators:": [[84, null], [84, null]], "Brownian noise": [[84, "brownian-noise"]], "Polynomial Generators": [[84, "polynomial-generators"]], "Examples with univariate polynomial generators:": [[84, null]], "Smooth": [[85, "smooth"]], "Moving Averages": [[85, "moving-averages"]], "Arnaud Legoux Moving Average": [[85, "arnaud-legoux-moving-average"]], "Autoregressive moving average": [[85, "autoregressive-moving-average"]], "Exponential weighted moving average": [[85, "exponential-weighted-moving-average"]], "Linear weighted moving average": [[85, "linear-weighted-moving-average"]], "Simple moving average": [[85, "simple-moving-average"]], "Frequency Based (low-pass filters)": [[85, "frequency-based-low-pass-filters"]], "Butterworth": [[85, "butterworth"]], "Chebyshev": [[85, "chebyshev"]], "Savitzky-Golay": [[85, "savitzky-golay"]], "Confidence bands": [[86, "confidence-bands"]], "Outlier detection": [[86, "outlier-detection"]], "Outlier removal": [[86, "outlier-removal"]], "Sustainability": [[87, "sustainability"]], "CO2 Emissions Calculations": [[87, "co2-emissions-calculations"]], "Cumulative CO2 Production": [[87, "cumulative-co2-production"]], "Cumulative CO2 Cost": [[87, "cumulative-co2-cost"]], "Rate of CO2 Emissions": [[87, "rate-of-co2-emissions"]], "Emissions Factor for Combustor": [[87, "emissions-factor-for-combustor"]], "Basic time series functions": [[88, "basic-time-series-functions"]], "Operators": [[88, "module-indsl.ts_utils.operators"]], "Numerical calculus": [[88, "module-indsl.ts_utils.numerical_calculus"]], "Logarithmic functions": [[88, "module-indsl.ts_utils.logarithmic_functions"]], "Trigonometric functions": [[88, "module-indsl.ts_utils.trigonometric_functions"]], "Utility functions": [[88, "module-indsl.ts_utils.utility_functions"]]}, "indexentries": {"completeness_score() (in module indsl.data_quality.completeness)": [[72, "indsl.data_quality.completeness.completeness_score"]], "datapoint_diff_over_time_period() (in module indsl.data_quality)": [[72, "indsl.data_quality.datapoint_diff_over_time_period"]], "extreme() (in module indsl.data_quality)": [[72, "indsl.data_quality.extreme"]], "gaps_identification_iqr() (in module indsl.data_quality)": [[72, "indsl.data_quality.gaps_identification_iqr"]], "gaps_identification_modified_z_scores() (in module indsl.data_quality)": [[72, "indsl.data_quality.gaps_identification_modified_z_scores"]], "gaps_identification_threshold() (in module indsl.data_quality)": [[72, "indsl.data_quality.gaps_identification_threshold"]], "gaps_identification_z_scores() (in module indsl.data_quality)": [[72, "indsl.data_quality.gaps_identification_z_scores"]], "low_density_identification_iqr() (in module indsl.data_quality)": [[72, "indsl.data_quality.low_density_identification_iqr"]], "low_density_identification_modified_z_scores() (in module indsl.data_quality)": [[72, "indsl.data_quality.low_density_identification_modified_z_scores"]], "low_density_identification_threshold() (in module indsl.data_quality)": [[72, "indsl.data_quality.low_density_identification_threshold"]], "low_density_identification_z_scores() (in module indsl.data_quality)": [[72, "indsl.data_quality.low_density_identification_z_scores"]], "out_of_range() (in module indsl.data_quality.outliers)": [[72, "indsl.data_quality.outliers.out_of_range"]], "rolling_stddev_timedelta() (in module indsl.data_quality)": [[72, "indsl.data_quality.rolling_stddev_timedelta"]], "value_decrease_check() (in module indsl.data_quality)": [[72, "indsl.data_quality.value_decrease_check"]], "cpd_ed_pelt() (in module indsl.detect)": [[73, "indsl.detect.cpd_ed_pelt"]], "cusum() (in module indsl.detect)": [[73, "indsl.detect.cusum"]], "drift() (in module indsl.detect)": [[73, "indsl.detect.drift"]], "oscillation_detector() (in module indsl.detect.oscillation_detector)": [[73, "indsl.detect.oscillation_detector.oscillation_detector"]], "ssd_cpd() (in module indsl.detect)": [[73, "indsl.detect.ssd_cpd"]], "ssid() (in module indsl.detect)": [[73, "indsl.detect.ssid"]], "unchanged_signal_detector() (in module indsl.detect.unchanged_signal_detector)": [[73, "indsl.detect.unchanged_signal_detector.unchanged_signal_detector"]], "vma() (in module indsl.detect)": [[73, "indsl.detect.vma"]], "userexception": [[74, "indsl.exceptions.UserException"]], "userruntimeerror": [[74, "indsl.exceptions.UserRuntimeError"]], "usertypeerror": [[74, "indsl.exceptions.UserTypeError"]], "uservalueerror": [[74, "indsl.exceptions.UserValueError"]], "get() (in module indsl.versioning)": [[74, "indsl.versioning.get"]], "get_changelog() (in module indsl.versioning)": [[74, "indsl.versioning.get_changelog"]], "get_name() (in module indsl.versioning)": [[74, "indsl.versioning.get_name"]], "get_registered_functions() (in module indsl.versioning)": [[74, "indsl.versioning.get_registered_functions"]], "get_version() (in module indsl.versioning)": [[74, "indsl.versioning.get_version"]], "get_versions() (in module indsl.versioning)": [[74, "indsl.versioning.get_versions"]], "indsl.exceptions": [[74, "module-indsl.exceptions"]], "indsl.validations": [[74, "module-0"], [74, "module-indsl.validations"]], "indsl.versioning": [[74, "module-indsl.versioning"]], "is_deprecated() (in module indsl.versioning)": [[74, "indsl.versioning.is_deprecated"]], "is_versioned() (in module indsl.versioning)": [[74, "indsl.versioning.is_versioned"]], "module": [[74, "module-0"], [74, "module-indsl.exceptions"], [74, "module-indsl.validations"], [74, "module-indsl.versioning"], [88, "module-indsl.ts_utils.logarithmic_functions"], [88, "module-indsl.ts_utils.numerical_calculus"], [88, "module-indsl.ts_utils.operators"], [88, "module-indsl.ts_utils.trigonometric_functions"], [88, "module-indsl.ts_utils.utility_functions"]], "register() (in module indsl.versioning)": [[74, "indsl.versioning.register"]], "run() (in module indsl.versioning)": [[74, "indsl.versioning.run"]], "validate_series_has_minimum_length() (in module indsl.validations)": [[74, "id0"], [74, "indsl.validations.validate_series_has_minimum_length"]], "validate_series_has_time_index() (in module indsl.validations)": [[74, "id1"], [74, "indsl.validations.validate_series_has_time_index"]], "validate_series_is_not_empty() (in module indsl.validations)": [[74, "id2"], [74, "indsl.validations.validate_series_is_not_empty"]], "validate_timedelta() (in module indsl.validations)": [[74, "id3"], [74, "indsl.validations.validate_timedelta"]], "validate_timedelta_unit() (in module indsl.validations)": [[74, "id4"], [74, "indsl.validations.validate_timedelta_unit"]], "circulation_detection() (in module indsl.drilling)": [[75, "indsl.drilling.circulation_detection"]], "inhole_detection() (in module indsl.drilling)": [[75, "indsl.drilling.inhole_detection"]], "onbottom_detection() (in module indsl.drilling)": [[75, "indsl.drilling.onbottom_detection"]], "rotation_detection() (in module indsl.drilling)": [[75, "indsl.drilling.rotation_detection"]], "filled_volume_ellipsoidal_head_vessel() (in module indsl.equipment)": [[76, "indsl.equipment.filled_volume_ellipsoidal_head_vessel"]], "filled_volume_spherical_head_vessel() (in module indsl.equipment)": [[76, "indsl.equipment.filled_volume_spherical_head_vessel"]], "filled_volume_torispherical_head_vessel() (in module indsl.equipment)": [[76, "indsl.equipment.filled_volume_torispherical_head_vessel"]], "flow_through_valve() (in module indsl.equipment.valve_parameters)": [[76, "indsl.equipment.valve_parameters.flow_through_valve"]], "percent_bep_flowrate() (in module indsl.equipment)": [[76, "indsl.equipment.percent_BEP_flowrate"]], "pump_hydraulic_power() (in module indsl.equipment)": [[76, "indsl.equipment.pump_hydraulic_power"]], "pump_shaft_power() (in module indsl.equipment)": [[76, "indsl.equipment.pump_shaft_power"]], "recycle_valve_power_loss() (in module indsl.equipment)": [[76, "indsl.equipment.recycle_valve_power_loss"]], "total_head() (in module indsl.equipment)": [[76, "indsl.equipment.total_head"]], "status_flag_filter() (in module indsl.filter)": [[77, "indsl.filter.status_flag_filter"]], "wavelet_filter() (in module indsl.filter)": [[77, "indsl.filter.wavelet_filter"]], "haaland() (in module indsl.fluid_dynamics)": [[78, "indsl.fluid_dynamics.Haaland"]], "re() (in module indsl.fluid_dynamics)": [[78, "indsl.fluid_dynamics.Re"]], "arma_predictor() (in module indsl.forecast)": [[79, "indsl.forecast.arma_predictor"]], "holt_winters_predictor() (in module indsl.forecast)": [[79, "indsl.forecast.holt_winters_predictor"]], "differentiate() (in module indsl.ts_utils.numerical_calculus)": [[81, "indsl.ts_utils.numerical_calculus.differentiate"], [88, "indsl.ts_utils.numerical_calculus.differentiate"]], "sliding_window_integration() (in module indsl.ts_utils.numerical_calculus)": [[81, "indsl.ts_utils.numerical_calculus.sliding_window_integration"], [88, "indsl.ts_utils.numerical_calculus.sliding_window_integration"]], "trapezoidal_integration() (in module indsl.ts_utils.numerical_calculus)": [[81, "indsl.ts_utils.numerical_calculus.trapezoidal_integration"], [88, "indsl.ts_utils.numerical_calculus.trapezoidal_integration"]], "calculate_gas_density() (in module indsl.oil_and_gas)": [[82, "indsl.oil_and_gas.calculate_gas_density"]], "calculate_shutin_interval() (in module indsl.oil_and_gas)": [[82, "indsl.oil_and_gas.calculate_shutin_interval"]], "calculate_shutin_variable() (in module indsl.oil_and_gas)": [[82, "indsl.oil_and_gas.calculate_shutin_variable"]], "calculate_well_prod_status() (in module indsl.oil_and_gas)": [[82, "indsl.oil_and_gas.calculate_well_prod_status"]], "productivity_index() (in module indsl.oil_and_gas)": [[82, "indsl.oil_and_gas.productivity_index"]], "retrieve_fluid_properties() (in module indsl.oil_and_gas.live_fluid_properties)": [[82, "indsl.oil_and_gas.live_fluid_properties.retrieve_fluid_properties"]], "group_by_region() (in module indsl.resample)": [[83, "indsl.resample.group_by_region"]], "interpolate() (in module indsl.resample)": [[83, "indsl.resample.interpolate"]], "reindex() (in module indsl.resample)": [[83, "indsl.resample.reindex"]], "resample() (in module indsl.resample)": [[83, "indsl.resample.resample"]], "resample_to_granularity() (in module indsl.resample)": [[83, "indsl.resample.resample_to_granularity"]], "const_value() (in module indsl.signals.generator)": [[84, "indsl.signals.generator.const_value"]], "insert_data_gaps() (in module indsl.signals.generator)": [[84, "indsl.signals.generator.insert_data_gaps"]], "line() (in module indsl.signals.generator)": [[84, "indsl.signals.generator.line"]], "perturb_timestamp() (in module indsl.signals.generator)": [[84, "indsl.signals.generator.perturb_timestamp"]], "sine_wave() (in module indsl.signals.generator)": [[84, "indsl.signals.generator.sine_wave"]], "univariate_polynomial() (in module indsl.signals.polynomial)": [[84, "indsl.signals.polynomial.univariate_polynomial"]], "wave_with_brownian_noise() (in module indsl.signals.generator)": [[84, "indsl.signals.generator.wave_with_brownian_noise"]], "white_noise() (in module indsl.signals.noise)": [[84, "indsl.signals.noise.white_noise"]], "alma() (in module indsl.smooth)": [[85, "indsl.smooth.alma"]], "arma() (in module indsl.smooth)": [[85, "indsl.smooth.arma"]], "butterworth() (in module indsl.smooth)": [[85, "indsl.smooth.butterworth"]], "chebyshev() (in module indsl.smooth)": [[85, "indsl.smooth.chebyshev"]], "ewma() (in module indsl.smooth)": [[85, "indsl.smooth.ewma"]], "lwma() (in module indsl.smooth)": [[85, "indsl.smooth.lwma"]], "sg() (in module indsl.smooth)": [[85, "indsl.smooth.sg"]], "sma() (in module indsl.smooth)": [[85, "indsl.smooth.sma"]], "bands() (in module indsl.statistics.confidence)": [[86, "indsl.statistics.confidence.bands"]], "detect_outliers() (in module indsl.statistics.outliers)": [[86, "indsl.statistics.outliers.detect_outliers"]], "pearson_correlation() (in module indsl.statistics)": [[86, "indsl.statistics.pearson_correlation"]], "remove_outliers() (in module indsl.statistics.outliers)": [[86, "indsl.statistics.outliers.remove_outliers"]], "cumulative_co2_cost() (in module indsl.sustainability.co2_emissions_calculations)": [[87, "indsl.sustainability.co2_emissions_calculations.cumulative_co2_cost"]], "cumulative_co2_production() (in module indsl.sustainability.co2_emissions_calculations)": [[87, "indsl.sustainability.co2_emissions_calculations.cumulative_co2_production"]], "emissions_factor_combustor() (in module indsl.sustainability.co2_emissions_calculations)": [[87, "indsl.sustainability.co2_emissions_calculations.emissions_factor_combustor"]], "rate_of_emissions() (in module indsl.sustainability.co2_emissions_calculations)": [[87, "indsl.sustainability.co2_emissions_calculations.rate_of_emissions"]], "absolute() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.absolute"]], "add() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.add"]], "arccos() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.arccos"]], "arccosh() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.arccosh"]], "arcsin() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.arcsin"]], "arcsinh() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.arcsinh"]], "arctan() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.arctan"]], "arctan2() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.arctan2"]], "arctanh() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.arctanh"]], "arithmetic_mean() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.arithmetic_mean"]], "arithmetic_mean_many() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.arithmetic_mean_many"]], "bin_map() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.bin_map"]], "ceil() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.ceil"]], "clip() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.clip"]], "cos() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.cos"]], "cosh() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.cosh"]], "create_series_from_timesteps() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.create_series_from_timesteps"]], "deg2rad() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.deg2rad"]], "div() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.div"]], "exp() (in module indsl.ts_utils.logarithmic_functions)": [[88, "indsl.ts_utils.logarithmic_functions.exp"]], "floor() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.floor"]], "generate_step_series() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.generate_step_series"]], "get_timestamps() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.get_timestamps"]], "indsl.ts_utils.logarithmic_functions": [[88, "module-indsl.ts_utils.logarithmic_functions"]], "indsl.ts_utils.numerical_calculus": [[88, "module-indsl.ts_utils.numerical_calculus"]], "indsl.ts_utils.operators": [[88, "module-indsl.ts_utils.operators"]], "indsl.ts_utils.trigonometric_functions": [[88, "module-indsl.ts_utils.trigonometric_functions"]], "indsl.ts_utils.utility_functions": [[88, "module-indsl.ts_utils.utility_functions"]], "integrate_windows() (in module indsl.ts_utils.numerical_calculus)": [[88, "indsl.ts_utils.numerical_calculus.integrate_windows"]], "inv() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.inv"]], "iqr_test() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.iqr_test"]], "log() (in module indsl.ts_utils.logarithmic_functions)": [[88, "indsl.ts_utils.logarithmic_functions.log"]], "log10() (in module indsl.ts_utils.logarithmic_functions)": [[88, "indsl.ts_utils.logarithmic_functions.log10"]], "log2() (in module indsl.ts_utils.logarithmic_functions)": [[88, "indsl.ts_utils.logarithmic_functions.log2"]], "logn() (in module indsl.ts_utils.logarithmic_functions)": [[88, "indsl.ts_utils.logarithmic_functions.logn"]], "maximum() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.maximum"]], "minimum() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.minimum"]], "mod() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.mod"]], "modified_z_scores_test() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.modified_z_scores_test"]], "mul() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.mul"]], "neg() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.neg"]], "normality_assumption_test() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.normality_assumption_test"]], "power() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.power"]], "rad2deg() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.rad2deg"]], "remove() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.remove"]], "replace() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.replace"]], "round() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.round"]], "set_timestamps() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.set_timestamps"]], "sign() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.sign"]], "sin() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.sin"]], "sinh() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.sinh"]], "sqrt() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.sqrt"]], "sub() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.sub"]], "tan() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.tan"]], "tanh() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.tanh"]], "threshold() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.threshold"]], "threshold_test() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.threshold_test"]], "time_shift() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.time_shift"]], "union() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.union"]], "window_index() (in module indsl.ts_utils.numerical_calculus)": [[88, "indsl.ts_utils.numerical_calculus.window_index"]], "z_scores_test() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.z_scores_test"]]}})
\ No newline at end of file
+Search.setIndex({"docnames": ["CHANGELOG", "auto_examples/data_quality/index", "auto_examples/data_quality/plot_completeness", "auto_examples/data_quality/plot_datapoint_diff", "auto_examples/data_quality/plot_extreme_outlier", "auto_examples/data_quality/plot_gaps_identification", "auto_examples/data_quality/plot_low_density_identification", "auto_examples/data_quality/plot_negative_running_hours", "auto_examples/data_quality/plot_out_of_range", "auto_examples/data_quality/plot_rolling_stddev_timedelta", "auto_examples/data_quality/plot_uncertainty", "auto_examples/data_quality/plot_value_decrease_check", "auto_examples/data_quality/sg_execution_times", "auto_examples/detect/index", "auto_examples/detect/plot_cusum", "auto_examples/detect/plot_oscillation_detection", "auto_examples/detect/plot_ssd_cpd", "auto_examples/detect/plot_unchanged_signal_detection", "auto_examples/detect/sg_execution_times", "auto_examples/equipment/index", "auto_examples/equipment/plot_pump_parameters", "auto_examples/equipment/plot_recycle_valve_power_loss", "auto_examples/equipment/sg_execution_times", "auto_examples/filter/index", "auto_examples/filter/plot_trend", "auto_examples/filter/plot_wavelet_filter", "auto_examples/filter/sg_execution_times", "auto_examples/fluid_dynamics/index", "auto_examples/fluid_dynamics/sg_execution_times", "auto_examples/forecast/index", "auto_examples/forecast/plot_holt_winters_predictor", "auto_examples/forecast/sg_execution_times", "auto_examples/index", "auto_examples/numerical_calculus/index", "auto_examples/numerical_calculus/plot_sliding_window_integration", "auto_examples/numerical_calculus/sg_execution_times", "auto_examples/oil_and_gas/index", "auto_examples/oil_and_gas/plot_gas_density_calcs", "auto_examples/oil_and_gas/plot_live_fluid_properties", "auto_examples/oil_and_gas/plot_shut_in_detector", "auto_examples/oil_and_gas/plot_shut_in_variables", "auto_examples/oil_and_gas/plot_well_prod_status", "auto_examples/oil_and_gas/sg_execution_times", "auto_examples/reindex/index", "auto_examples/reindex/plot_pearson_correlation", "auto_examples/reindex/sg_execution_times", "auto_examples/resample/index", "auto_examples/resample/plot_group_by_region", "auto_examples/resample/sg_execution_times", "auto_examples/signals/index", "auto_examples/signals/plot_synthetic_gaps", "auto_examples/signals/plot_univariate_polynomial", "auto_examples/signals/plot_wavy_signals", "auto_examples/signals/sg_execution_times", "auto_examples/smooth/index", "auto_examples/smooth/plot_ma", "auto_examples/smooth/plot_sg_smooth", "auto_examples/smooth/sg_execution_times", "auto_examples/statistics/index", "auto_examples/statistics/plot_detect_outliers_001", "auto_examples/statistics/plot_detect_outliers_002", "auto_examples/statistics/plot_pearson_correlation", "auto_examples/statistics/plot_remove_outliers", "auto_examples/statistics/sg_execution_times", "auto_examples/sustainability/index", "auto_examples/sustainability/plot_cumulative_co2", "auto_examples/sustainability/sg_execution_times", "auto_examples/versioning/index", "auto_examples/versioning/sg_execution_times", "auto_examples/versioning/versioned_function", "code_of_conduct", "contribute", "data_quality", "detect", "dev_tools", "drilling", "equipment", "filter", "fluid_dynamics", "forecast", "index", "numerical_calculus", "oil_and_gas", "resample", "signals", "smooth", "statistics", "sustainability", "ts_utils"], "filenames": ["CHANGELOG.md", "auto_examples/data_quality/index.rst", "auto_examples/data_quality/plot_completeness.rst", "auto_examples/data_quality/plot_datapoint_diff.rst", "auto_examples/data_quality/plot_extreme_outlier.rst", "auto_examples/data_quality/plot_gaps_identification.rst", "auto_examples/data_quality/plot_low_density_identification.rst", "auto_examples/data_quality/plot_negative_running_hours.rst", "auto_examples/data_quality/plot_out_of_range.rst", "auto_examples/data_quality/plot_rolling_stddev_timedelta.rst", "auto_examples/data_quality/plot_uncertainty.rst", "auto_examples/data_quality/plot_value_decrease_check.rst", "auto_examples/data_quality/sg_execution_times.rst", "auto_examples/detect/index.rst", "auto_examples/detect/plot_cusum.rst", "auto_examples/detect/plot_oscillation_detection.rst", "auto_examples/detect/plot_ssd_cpd.rst", "auto_examples/detect/plot_unchanged_signal_detection.rst", "auto_examples/detect/sg_execution_times.rst", "auto_examples/equipment/index.rst", "auto_examples/equipment/plot_pump_parameters.rst", "auto_examples/equipment/plot_recycle_valve_power_loss.rst", "auto_examples/equipment/sg_execution_times.rst", "auto_examples/filter/index.rst", "auto_examples/filter/plot_trend.rst", "auto_examples/filter/plot_wavelet_filter.rst", "auto_examples/filter/sg_execution_times.rst", "auto_examples/fluid_dynamics/index.rst", "auto_examples/fluid_dynamics/sg_execution_times.rst", "auto_examples/forecast/index.rst", "auto_examples/forecast/plot_holt_winters_predictor.rst", "auto_examples/forecast/sg_execution_times.rst", "auto_examples/index.rst", "auto_examples/numerical_calculus/index.rst", "auto_examples/numerical_calculus/plot_sliding_window_integration.rst", "auto_examples/numerical_calculus/sg_execution_times.rst", "auto_examples/oil_and_gas/index.rst", "auto_examples/oil_and_gas/plot_gas_density_calcs.rst", "auto_examples/oil_and_gas/plot_live_fluid_properties.rst", "auto_examples/oil_and_gas/plot_shut_in_detector.rst", "auto_examples/oil_and_gas/plot_shut_in_variables.rst", "auto_examples/oil_and_gas/plot_well_prod_status.rst", "auto_examples/oil_and_gas/sg_execution_times.rst", "auto_examples/reindex/index.rst", "auto_examples/reindex/plot_pearson_correlation.rst", "auto_examples/reindex/sg_execution_times.rst", "auto_examples/resample/index.rst", "auto_examples/resample/plot_group_by_region.rst", "auto_examples/resample/sg_execution_times.rst", "auto_examples/signals/index.rst", "auto_examples/signals/plot_synthetic_gaps.rst", "auto_examples/signals/plot_univariate_polynomial.rst", "auto_examples/signals/plot_wavy_signals.rst", "auto_examples/signals/sg_execution_times.rst", "auto_examples/smooth/index.rst", "auto_examples/smooth/plot_ma.rst", "auto_examples/smooth/plot_sg_smooth.rst", "auto_examples/smooth/sg_execution_times.rst", "auto_examples/statistics/index.rst", "auto_examples/statistics/plot_detect_outliers_001.rst", "auto_examples/statistics/plot_detect_outliers_002.rst", "auto_examples/statistics/plot_pearson_correlation.rst", "auto_examples/statistics/plot_remove_outliers.rst", "auto_examples/statistics/sg_execution_times.rst", "auto_examples/sustainability/index.rst", "auto_examples/sustainability/plot_cumulative_co2.rst", "auto_examples/sustainability/sg_execution_times.rst", "auto_examples/versioning/index.rst", "auto_examples/versioning/sg_execution_times.rst", "auto_examples/versioning/versioned_function.rst", "code_of_conduct.rst", "contribute.rst", "data_quality.rst", "detect.rst", "dev_tools.rst", "drilling.rst", "equipment.rst", "filter.rst", "fluid_dynamics.rst", "forecast.rst", "index.rst", "numerical_calculus.rst", "oil_and_gas.rst", "resample.rst", "signals.rst", "smooth.rst", "statistics.rst", "sustainability.rst", "ts_utils.rst"], "titles": ["Changelog", "Data quality", "Completeness score of time series", "Threshold breach check for difference between two data points over a period of time", "Extreme Outliers Removal", "Identifying gaps in time series", "Identifying low density periods", "Negative running hours detection", "Detect out of range outliers in sensor data", "Rolling standard deviation of data points time delta", "Relative uncertainty estimation", "Checking for decreasing values in a timeseries", "Computation times", "Detection Functions", "Change Point Detection with Cusum", "Oscillation detection using linear predictive coding", "Steady State Detection: Change Point", "Unchanged signal identification of time series data", "Computation times", "Equipment Functions", "Calculate parameters of a centrifugal pump", "Pump recycle valve power loss", "Computation times", "Filter Functions", "Trending with Empirical Mode Decomposition", "Noise removal and trending with the Wavelet filter", "Computation times", "&lt;no title&gt;", "Computation times", "Forecasting Functions", "Holt-Winters Predictor", "Computation times", "Gallery of Charts", "Numerical Calculus", "Sliding window integration", "Computation times", "Oil and Gas Functions", "Calculation of gas density", "Calculate fluid properties given pressure and temperature", "Detection of valve shut-in state", "Calculation of shut-in pressure", "Check for the production status of a well", "Computation times", "Reindex function", "Re-indexing and compute Pearson correlation coefficient", "Computation times", "Resampling Functions", "Group by Region", "Computation times", "Synthetic Signal Generation", "Inserting gaps in a time series", "Univariate Polynomial", "Wavy signal generation", "Computation times", "Smoothing Functions", "Data smoothing with Moving Averages", "Data smoothing with the Savitzky-Golay filter", "Computation times", "Statistics", "Outlier detection with DBSCAN and spline regression 001", "Outlier detection with DBSCAN and spline regression 002", "Pearson correlation", "Outlier detection with DBSCAN and spline regression", "Computation times", "Sustainability Functions", "Cumulative CO2 Production and Cost", "Computation times", "Function versioning", "Computation times", "Function versioning", "Code of Conduct", "Contributing", "Data Quality", "Detect", "Developer utility functions", "Drilling", "Equipment", "Filter", "Fluid Dynamics", "Forecast", "Cognite\u2019s Industrial Data Science Library", "Numerical Calculus", "Oil and Gas", "Resample", "Signals", "Smooth", "Statistics", "Sustainability", "Basic time series functions"], "terms": {"dep": 0, "updat": [0, 4], "depend": [0, 71, 73, 80, 82, 87], "numpi": [0, 3, 4, 8, 9, 10, 14, 15, 17, 20, 24, 34, 44, 52, 59, 60, 61, 71, 80, 88], "1056": 0, "chore": 0, "commit": [0, 70, 71], "hook": 0, "commitizen": 0, "tool": [0, 5, 71], "1058": 0, "scipi": [0, 8, 71, 80], "1057": 0, "rais": [0, 71, 72, 73, 74, 75, 76, 77, 79, 82, 83, 84, 85, 86, 88], "uservalueerror": [0, 71, 72, 73, 74, 75, 77, 79, 82, 83, 84, 85, 86, 88], "when": [0, 5, 8, 10, 39, 44, 69, 70, 71, 72, 73, 74, 76, 82, 83, 84, 86], "snr_db": [0, 10, 24, 52, 84], "i": [0, 2, 5, 6, 7, 8, 10, 11, 21, 24, 30, 34, 37, 38, 39, 40, 41, 44, 47, 52, 62, 65, 69, 70, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88], "abov": [0, 6, 16, 20, 25, 39, 40, 56, 71, 72, 73, 76, 82, 86, 88], "certain": [0, 6, 17, 34, 71, 72, 76], "valu": [0, 1, 3, 5, 7, 8, 9, 12, 15, 16, 17, 20, 25, 30, 32, 39, 40, 47, 59, 60, 71, 73, 74, 75, 77, 79, 82, 83, 85, 86, 87, 88], "white_nois": [0, 8, 10, 24, 52, 84], "1049": 0, "integ": [0, 4, 8, 47, 71, 72, 77, 79, 81, 83, 84, 85, 88], "divis": [0, 88], "modulo": [0, 88], "zero": [0, 25, 34, 52, 73, 74, 83, 84, 85, 86, 88], "_make_index": 0, "1036": 0, "check": [0, 1, 12, 21, 32, 36, 42, 44, 71, 72, 73, 80, 82, 88], "wvalv": 0, "chang": [0, 7, 11, 13, 15, 18, 32, 55, 71, 72, 74, 80, 82, 84, 85], "avoid": [0, 70, 71, 73, 83, 84], "indexerror": 0, "1052": 0, "test": [0, 5, 38, 71, 72, 73, 79, 88], "remov": [0, 1, 2, 5, 6, 8, 10, 12, 23, 24, 26, 32, 44, 50, 55, 56, 62, 70, 71, 73, 77, 80, 83, 84, 88], "jit": 0, "compil": [0, 80], "1059": 0, "1060": 0, "lock": 0, "file": [0, 12, 18, 22, 26, 28, 31, 35, 38, 40, 41, 42, 45, 48, 53, 57, 63, 66, 68, 71, 82], "mainten": 0, "1061": 0, "doc": [0, 71, 72, 73, 81, 86, 88], "1055": 0, "1062": 0, "mirror": 0, "mypi": 0, "1065": 0, "1064": 0, "sphinx": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 32, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 71], "1067": 0, "1068": 0, "1063": 0, "ruff": 0, "285": 0, "1069": 0, "astral": 0, "sh": 0, "1070": 0, "1071": 0, "galleri": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69], "1072": 0, "1074": 0, "1076": 0, "1077": 0, "286in": 0, "1078": 0, "286": 0, "1079": 0, "1081": 0, "1080": 0, "add": [0, 4, 61, 69, 79, 84, 88], "cognit": [0, 13, 19, 23, 32, 46, 54, 70, 71], "copyright": 0, "all": [0, 8, 44, 52, 69, 70, 71, 72, 75, 77, 80, 82, 83, 88], "sourc": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 71, 87], "1082": 0, "panda": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88], "1085": 0, "maintenancein": 0, "1086": 0, "simplifi": [0, 21, 71], "build": [0, 69], "1087": 0, "287": 0, "1092": 0, "1089": 0, "1093": 0, "clean": [0, 4, 71], "up": [0, 71, 76, 83, 88], "comment": [0, 70, 71], "ah": 0, "1903": 0, "1088": 0, "export": 0, "chart": [0, 13, 19, 23, 46, 54, 80], "specif": [0, 7, 11, 37, 38, 69, 71, 72, 76, 82, 88], "function": [0, 2, 3, 7, 8, 10, 11, 15, 20, 24, 40, 41, 52, 58, 68, 72, 73, 76, 77, 79, 80, 82, 83, 84, 85, 86, 87], "1083": 0, "1051": 0, "python": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 71, 74], "docker": 0, "tag": 0, "1053": 0, "1054": 0, "type": [0, 7, 11, 14, 21, 25, 30, 47, 69, 71, 72, 73, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88], "convers": 0, "point": [0, 1, 4, 5, 6, 8, 10, 12, 13, 18, 20, 21, 24, 32, 50, 71, 72, 77, 80, 81, 83, 84, 85, 86, 88], "detect": [0, 1, 5, 6, 12, 17, 18, 36, 40, 42, 47, 58, 63, 80, 82], "algorithm": [0, 2, 7, 8, 11, 14, 16, 29, 32, 36, 47, 72, 73, 80, 82, 86], "1047": 0, "valv": [0, 19, 22, 32, 36, 40, 41, 42, 80, 82], "empti": [0, 71, 72, 73, 79, 83, 84, 85, 86, 88], "1050": 0, "creat": [0, 2, 4, 5, 6, 16, 25, 39, 40, 47, 50, 51, 52, 56, 61, 72, 88], "poetri": [0, 71], "group": [0, 8, 32, 46, 48, 80], "fluid": [0, 3, 20, 21, 32, 36, 42, 75, 76, 80], "1048": 0, "1021": 0, "1023": 0, "275": 0, "1025": 0, "1026": 0, "1027": 0, "1028": 0, "1029": 0, "1030": 0, "bump": 0, "word": [0, 34, 71, 85], "wrap": 0, "from": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 70, 71, 72, 73, 74, 77, 78, 82, 83, 84, 86, 88], "preview": [0, 71], "1022": 0, "tough": 0, "cooki": 0, "1010": 0, "semver": 0, "1011": 0, "1008": 0, "1024": 0, "276": 0, "1031": 0, "277": 0, "1034": 0, "1033": 0, "1035": 0, "psf": 0, "black": [0, 25, 47, 71], "v23": 0, "1038": 0, "indsl": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 32, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 58, 59, 60, 61, 62, 65, 67, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88], "core": [0, 80], "extra": [0, 76, 80], "split": [0, 44, 73], "1000": [0, 4, 21, 65], "278": 0, "1041": 0, "1042": 0, "284": 0, "1043": 0, "1032": 0, "1044": 0, "1045": 0, "1039": 0, "alpha": [0, 2, 8, 14, 15, 16, 34, 40, 47, 51, 72, 73], "outsid": [0, 72, 82, 83, 88], "rang": [0, 1, 2, 4, 5, 6, 12, 32, 34, 38, 52, 82, 83, 84, 85, 86, 88], "cusum": [0, 13, 18, 32, 80], "1037": 0, "matplotlib": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 80], "main": [0, 8, 71, 72, 76], "depen": 0, "us": [0, 5, 6, 7, 8, 10, 11, 13, 14, 16, 18, 19, 23, 24, 25, 29, 30, 32, 34, 36, 37, 38, 39, 40, 44, 46, 47, 50, 52, 54, 55, 56, 58, 59, 60, 62, 64, 65, 69, 70, 71, 73, 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88], "lazi": [0, 71], "import": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 71, 78, 85, 86], "1019": 0, "1014": 0, "1016": 0, "myst": 0, "parser": 0, "1015": 0, "exclud": [0, 5, 71], "plot": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 80, 86], "oscil": [0, 13, 18, 32, 80, 84], "detector": [0, 4, 15, 39, 40, 72, 80], "1017": 0, "1009": 0, "1006": 0, "x": [0, 4, 8, 16, 20, 24, 34, 47, 71, 72, 73, 76, 84, 88], "duplic": [0, 71], "1005": 0, "after": [0, 40, 69, 71, 82, 83, 86], "panada": 0, "1012": 0, "calcul": [0, 3, 8, 9, 19, 21, 22, 30, 32, 36, 42, 47, 55, 61, 65, 71, 72, 73, 76, 80, 83, 85, 86, 88], "datapoint": [0, 3, 14, 20, 34, 88], "differ": [0, 1, 5, 6, 8, 10, 12, 20, 24, 25, 32, 39, 47, 50, 52, 55, 56, 69, 70, 71, 73, 76, 77, 78, 81, 82, 83, 84, 85, 87, 88], "over": [0, 1, 8, 12, 32, 34, 71, 76, 85, 87], "time": [0, 1, 4, 6, 7, 8, 10, 11, 13, 14, 15, 16, 20, 21, 24, 25, 30, 32, 34, 37, 38, 39, 40, 41, 43, 44, 47, 49, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 70, 71, 73, 75, 76, 77, 79, 80, 81, 82, 83, 85, 86, 87], "period": [0, 1, 4, 8, 10, 12, 14, 17, 24, 32, 34, 59, 60, 61, 69, 70, 71, 73, 75, 79, 82, 83, 84, 85, 86, 88], "851": 0, "flow": [0, 21, 25, 38, 55, 56, 75, 78, 82, 87], "compress": [0, 37, 40, 76, 82], "670": 0, "liter": [0, 71, 73, 76, 77, 79, 82, 83, 84, 85, 88], "typing_extens": 0, "999": 0, "scikit": [0, 80], "imag": [0, 69, 80], "1003": 0, "959": 0, "typeguard": [0, 71], "degr": 0, "2625": 0, "988": 0, "991": 0, "973": 0, "numba": [0, 80, 88], "57": 0, "980": 0, "statsmodel": [0, 80], "982": 0, "automerg": 0, "minor": [0, 8], "renov": 0, "config": 0, "966": 0, "auto": [0, 71, 76, 77, 79, 82, 86, 88], "964": 0, "951": 0, "resolv": 0, "precommit": 0, "error": [0, 71, 72, 73, 74, 75, 85], "groupbi": 0, "region": [0, 15, 16, 32, 46, 48, 73, 80], "933": 0, "pd": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 71, 72, 73, 74, 76, 83, 84, 85, 88], "timedelta": [0, 2, 3, 5, 6, 9, 10, 17, 21, 24, 34, 50, 52, 59, 60, 61, 71, 72, 73, 74, 81, 83, 84, 85, 86, 88], "valid": [0, 71, 80, 81, 82, 83, 84, 88], "trapezoidal_integr": [0, 81, 88], "946": 0, "move": [0, 32, 34, 54, 57, 71, 80, 84, 86], "awai": 0, "implement": [0, 24, 32, 67, 71, 73], "librari": [0, 69, 71, 76], "943": 0, "emd": [0, 8, 24], "940": 0, "packag": [0, 71, 74, 77], "921": 0, "923": 0, "warn": [0, 3, 30, 70, 72, 83], "909": 0, "data": [0, 2, 4, 5, 6, 7, 10, 11, 12, 13, 14, 15, 16, 18, 20, 21, 24, 25, 29, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 54, 57, 59, 60, 61, 62, 65, 71, 73, 74, 77, 78, 79, 82, 83, 85, 86, 87, 88], "qualiti": [0, 5, 7, 11, 80, 84], "base": [0, 2, 6, 8, 14, 15, 16, 62, 71, 72, 73, 75, 80, 82, 86, 88], "class": [0, 70, 71], "handl": [0, 5], "consecut": [0, 17, 82, 84, 88], "gap": [0, 1, 2, 6, 8, 12, 32, 49, 53, 83], "separ": [0, 77, 84, 88], "event": [0, 70], "1298": 0, "906": 0, "v22": 0, "898": 0, "interpol": [0, 69, 73, 80, 82], "typo": [0, 71], "886": 0, "drill": [0, 80], "toolbox": [0, 71], "basic": [0, 71, 72, 80], "832": 0, "licens": [0, 71], "ci": [0, 71], "action": [0, 70], "956": 0, "879": 0, "gustavo": [0, 72], "author": 0, "884": 0, "titl": [0, 9, 16, 25, 34, 47, 52, 56, 62, 65, 71], "exampl": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 19, 20, 21, 23, 24, 25, 29, 30, 32, 34, 36, 37, 38, 39, 40, 41, 43, 44, 46, 47, 49, 50, 51, 52, 54, 55, 56, 58, 59, 60, 61, 62, 64, 65, 67, 70, 74, 88], "decreas": [0, 1, 7, 8, 12, 14, 32, 73], "880": 0, "solv": [0, 78], "work": [0, 5, 8, 44, 65, 71, 72, 73, 79, 80, 81, 83, 85, 88], "link": [0, 71], "flake": 0, "url": [0, 71], "github": [0, 70, 71, 73, 76], "instead": [0, 5, 6, 71, 86], "gitlab": 0, "872": 0, "publish": [0, 70], "merg": [0, 71, 88], "label": [0, 3, 8, 9, 10, 14, 17, 20, 24, 25, 30, 34, 37, 38, 39, 40, 44, 47, 52, 55, 56, 59, 60, 61, 62, 71, 73], "pr": [0, 71], "863": 0, "new": [0, 2, 69, 72, 74, 80], "option": [0, 8, 71, 73, 81, 82, 83, 85, 88], "argument": [0, 69, 71, 73, 79], "resample_timeseri": 0, "util": [0, 79, 80], "830": 0, "approv": [0, 71], "workflow": [0, 71], "bot": 0, "854": 0, "841": 0, "56": 0, "827": 0, "instanti": 0, "outlier": [0, 1, 5, 6, 12, 32, 44, 58, 63, 73, 80], "846": 0, "dimens": [0, 78, 86], "out": [0, 1, 4, 6, 12, 20, 32, 34, 65, 69, 71, 75, 76, 79, 82], "667": 0, "kneed": [0, 80], "831": 0, "profil": 0, "metric": [0, 72], "739": 0, "fail": [0, 25], "pypi": 0, "push": [0, 71], "819": 0, "814": 0, "print": 0, "correct": [0, 70, 72, 73, 88], "filenam": 0, "docstr": [0, 71], "808": 0, "smoother": [0, 4, 8, 25, 55, 56, 71, 72], "should": [0, 47, 71, 72, 73, 74, 76, 77, 79, 82, 83, 86, 87, 88], "seri": [0, 1, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 18, 20, 25, 32, 34, 37, 41, 43, 44, 47, 49, 51, 52, 53, 55, 56, 59, 60, 61, 62, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87], "800": 0, "magnitud": [0, 24, 84, 85, 86], "perturb_timestamp": [0, 8, 10, 24, 84], "804": 0, "unit": [0, 34, 62, 65, 71, 72, 73, 76, 81, 82, 83, 84, 85, 86, 87, 88], "millisecond": [0, 81, 84, 88], "second": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 72, 73, 74, 80, 81, 83, 84, 86, 88], "795": 0, "ensur": [0, 21, 71], "old": [0, 71], "name": [0, 3, 17, 38, 41, 69, 71, 72, 74], "scheme": [0, 74], "e": [0, 8, 52, 70, 71, 72, 76, 78, 79, 82, 83, 84, 85, 86, 87, 88], "g": [0, 5, 40, 44, 52, 71, 73, 79, 83, 84, 85, 87, 88], "wavelet_filt": [0, 25, 69, 77], "ar": [0, 2, 4, 5, 6, 8, 10, 14, 16, 21, 24, 44, 47, 52, 55, 70, 71, 72, 73, 74, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 88], "copi": [0, 8, 61], "792": 0, "gas_dens": 0, "1090": 0, "805": 0, "801": 0, "reindex": [0, 8, 44, 69, 80], "return": [0, 14, 69, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 88], "list": [0, 6, 69, 71, 72, 74, 76, 84, 88], "1344": 0, "785": 0, "datatyp": 0, "numerical_calculu": [0, 34, 81, 88], "797": 0, "invalid": [0, 71, 72, 74], "wavelet": [0, 23, 26, 32, 80], "sym1": 0, "905": 0, "796": 0, "pin": 0, "773": 0, "unus": 0, "privat": [0, 70, 71], "_get_sample_frequ": 0, "809": [0, 38], "version": [0, 5, 6, 68, 70, 80], "start": [0, 2, 4, 5, 6, 8, 9, 14, 21, 34, 50, 51, 52, 61, 69, 71, 83, 84, 87, 88], "788": 0, "introduc": [0, 5, 6, 84], "convent": [0, 71, 83, 88], "782": 0, "replac": [0, 8, 88], "enum": [0, 71], "763": 0, "1007": 0, "781": 0, "stricter": 0, "1342": 0, "776": 0, "deprec": [0, 69, 71, 74], "forecast": [0, 30, 80, 85], "1257": 0, "778": 0, "increas": [0, 7, 10, 11, 14, 21, 52, 55, 56, 72, 73, 82], "robust": [0, 8, 69, 71, 72, 83, 85], "perform": [0, 8, 65, 69, 72, 79, 83, 85, 87, 88], "1264": 0, "774": 0, "": [0, 8, 9, 17, 52, 59, 60, 70, 71, 72, 76, 78, 81, 83, 84, 85, 86, 87, 88], "polynomi": [0, 4, 8, 10, 20, 24, 32, 49, 53, 56, 71, 72, 73, 76, 80, 85], "poli": [0, 20], "fit": [0, 8, 20, 56, 71, 72, 73, 79, 85], "evalu": [0, 5, 16, 47, 82], "1295": 0, "765": 0, "infin": [0, 88], "regress": [0, 4, 32, 58, 63, 79, 86], "1282": 0, "766": 0, "drift": [0, 8, 10, 14, 24, 80], "1281": 0, "767": 0, "arrai": [0, 88], "input": [0, 14, 16, 37, 38, 44, 51, 71, 76, 77, 79, 82, 83, 85, 86, 88], "length": [0, 8, 71, 72, 73, 74, 76, 77, 78, 81, 82, 85, 86, 88], "1339": 0, "761": 0, "runtimeerror": [0, 73, 82], "steadi": [0, 13, 18, 32, 47, 80, 83], "state": [0, 13, 18, 32, 36, 38, 42, 47, 71, 77, 80, 82, 83], "1296": 0, "1322": 0, "762": 0, "react": [0, 85], "v13": 0, "756": 0, "ad": [0, 4, 10, 24, 52, 71], "hint": [0, 71, 85], "1338": 0, "751": 0, "coverag": [0, 71], "confid": [0, 80], "band": [0, 77, 80], "746": 0, "745": 0, "validt": 0, "alma": [0, 85], "py": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 28, 30, 31, 34, 35, 37, 38, 39, 40, 41, 42, 44, 45, 47, 48, 50, 51, 52, 53, 55, 56, 57, 59, 60, 61, 62, 63, 65, 66, 68, 69, 71], "1332": 0, "744": 0, "ep": [0, 86], "paramet": [0, 8, 14, 16, 19, 22, 32, 47, 52, 71, 72, 73, 74, 75, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 88], "735": 0, "732": 0, "741": 0, "pearson": [0, 32, 43, 45, 58, 63, 80, 83], "correl": [0, 32, 43, 45, 58, 63, 80, 83], "roll": [0, 1, 12, 32, 44, 61, 73, 85, 86], "window": [0, 6, 8, 32, 33, 35, 44, 55, 56, 59, 60, 62, 71, 72, 73, 80, 82, 85, 86, 88], "711": 0, "durat": [0, 17, 39, 40, 41, 59, 60, 73, 84], "unchang": [0, 3, 13, 18, 32, 80], "signal": [0, 2, 3, 4, 5, 6, 10, 13, 15, 18, 21, 24, 25, 40, 50, 51, 53, 77, 80, 82, 83, 85], "712": 0, "recycl": [0, 19, 22, 32], "power": [0, 19, 20, 22, 32, 52, 65, 71, 73, 77, 84, 87, 88], "loss": [0, 19, 22, 32, 88], "717": [0, 57], "721": 0, "todo": [0, 16, 25, 39, 40, 56, 62], "707": 0, "540": 0, "sustain": [0, 65, 70, 80], "686": 0, "upgrad": 0, "butterworth": 0, "filter": [0, 4, 8, 24, 26, 54, 57, 71, 72, 80, 83, 88], "690": 0, "messag": [0, 71], "holt": [0, 29, 31, 32, 80], "winter": [0, 29, 31, 32, 80], "predictor": [0, 29, 31, 32, 72, 80], "688": 0, "make": [0, 10, 21, 24, 34, 52, 70, 71, 72, 86], "initi": [0, 34, 44, 69, 84], "accept": [0, 70, 71, 72, 76, 81, 85, 86, 88], "more": [0, 8, 10, 15, 21, 24, 25, 34, 52, 69, 71, 72, 73, 74, 77, 80, 83, 84, 85, 86, 88], "format": [0, 14, 24, 61, 71, 72, 81, 85, 86, 88], "685": 0, "delet": [0, 72, 84], "tab": [0, 24, 38, 71, 82], "nor": 0, "cover": 0, "679": 0, "doubl": [0, 71], "toler": [0, 8, 72], "equip": [0, 3, 20, 21, 80], "673": 0, "seasonal_period": [0, 30, 79], "must": [0, 71, 72, 77, 79, 83, 84, 85, 87, 88], "larger": [0, 8, 56, 72, 73, 74, 83, 84, 86], "than": [0, 6, 7, 11, 21, 25, 39, 55, 71, 72, 73, 74, 83, 84, 85, 86, 88], "1263": 0, "675": 0, "densiti": [0, 1, 12, 20, 21, 32, 36, 42, 76, 78, 80, 86], "method": [0, 2, 5, 6, 8, 10, 16, 24, 25, 38, 39, 40, 44, 50, 52, 56, 71, 73, 74, 77, 79, 81, 82, 83, 84, 85, 86, 87, 88], "dq": 0, "score": [0, 1, 5, 6, 12, 32, 88], "666": 0, "identif": [0, 3, 5, 6, 13, 18, 32, 59, 60, 80], "638": 0, "pump": [0, 7, 11, 19, 22, 32, 71, 72, 75, 80], "descript": [0, 71, 74], "661": 0, "allow": [0, 16, 56, 69, 70, 71, 72, 73, 77, 85, 86, 88], "union": [0, 71, 76, 83, 88], "scalar": 0, "f": [0, 8, 20, 37, 44, 52, 55, 76], "636": 0, "standard": [0, 1, 5, 6, 8, 12, 14, 32, 70, 73, 74, 76, 82, 83, 84, 86, 88], "deviat": [0, 1, 5, 6, 8, 12, 32, 61, 73, 83, 84, 86, 88], "delta": [0, 1, 12, 32, 76, 83, 84], "582": 0, "bug": [0, 71], "bound": [0, 83, 86], "true": [0, 8, 14, 16, 20, 21, 40, 44, 47, 52, 69, 71, 72, 73, 74, 82, 83, 85, 86], "contain": [0, 14, 15, 16, 40, 71, 72, 73, 77, 83, 84, 86, 88], "nan": [0, 44, 69, 75, 83, 88], "1224": 0, "644": [0, 14], "remove_outli": [0, 62, 86], "1226": 0, "642": 0, "restructur": 0, "624": 0, "wrong": [0, 73, 74, 79], "resampl": [0, 3, 8, 17, 44, 47, 62, 65, 69, 73, 80, 85, 87], "one": [0, 6, 8, 15, 25, 69, 71, 72, 73, 74, 76, 77, 79, 82, 84, 85, 86, 88], "ha": [0, 4, 6, 8, 15, 21, 71, 72, 73, 74, 82, 83, 84, 85, 86, 88], "two": [0, 1, 5, 6, 8, 10, 12, 21, 24, 30, 32, 43, 44, 47, 61, 69, 71, 72, 73, 74, 83, 84, 86, 88], "631": 0, "small": [0, 8, 10, 24, 56, 71, 72, 85, 88], "627": 0, "constant": [0, 8, 21, 73, 79], "resolut": [0, 83, 84], "625": 0, "init": 0, "616": 0, "tupl": [0, 88], "float": [0, 52, 71, 72, 73, 75, 76, 78, 79, 82, 84, 85, 86, 87, 88], "613": 0, "annot": [0, 8, 71], "gapdataqualityscoreanalys": 0, "compute_scor": 0, "614": 0, "throw": 0, "ts_util": [0, 34, 81, 88], "1190": 0, "602": 0, "dataqu": 0, "562": 0, "583": 0, "centrifug": [0, 19, 22, 32, 76], "recircul": [0, 21, 76], "energi": [0, 76, 87], "586": 0, "gracefulli": [0, 70], "dataqualityscor": 0, "594": 0, "flag": [0, 74, 77, 80, 83, 88], "588": 0, "ga": [0, 42, 65, 76, 80, 87], "calc": 0, "574": 0, "userruntimeerror": [0, 74, 77, 79, 83], "calculate_compress": 0, "1182": 0, "587": 0, "helper": [0, 8, 71, 74], "579": 0, "sg": [0, 8, 21, 37, 56, 71, 72, 76, 82, 85], "569": 0, "uncertainti": 0, "estim": [0, 24, 40, 44, 52, 72, 73, 82, 85, 86], "1102": 0, "535": 0, "threshold": [0, 1, 5, 6, 7, 11, 12, 14, 32, 39, 40, 73, 75, 77, 82, 83, 86, 88], "546": 0, "548": 0, "extrem": [0, 1, 12, 32, 73], "had": [0, 7, 11, 72], "an": [0, 4, 5, 6, 7, 8, 10, 11, 24, 25, 30, 39, 41, 52, 65, 70, 72, 73, 75, 76, 77, 78, 79, 81, 82, 84, 85, 86, 87, 88], "formula": [0, 71, 76], "541": 0, "crash": 0, "resample_to_granular": [0, 83], "aggregat": 0, "1103": 0, "537": 0, "skip": 0, "align": [0, 44, 69, 70, 76, 77, 82, 86, 88], "indic": [0, 3, 7, 11, 17, 44, 59, 60, 69, 73, 75, 77, 82, 83, 84, 86, 88], "alreadi": [0, 71], "522": 0, "logic": 0, "513": 0, "530": 0, "sdk": 0, "limit": [0, 8, 86, 88], "size": [0, 2, 4, 5, 6, 8, 16, 17, 50, 55, 56, 59, 60, 70, 72, 76, 83, 84, 85, 86], "533": 0, "trend": [0, 10, 23, 26, 30, 32, 55, 56, 71, 72, 77, 79, 85], "extract": [0, 24], "992": 0, "525": 0, "distutil": 0, "524": 0, "improv": [0, 71], "512": 0, "507": 0, "504": 0, "deprecation_warn": 0, "494": 0, "enforc": [0, 70], "first": [0, 5, 8, 20, 21, 30, 44, 69, 71, 72, 73, 80, 81, 83, 84, 85, 88], "492": 0, "well_prod_statu": [0, 41], "483": 0, "abstract": 0, "474": 0, "arithmet": [0, 88], "mean": [0, 6, 8, 9, 14, 21, 24, 65, 69, 72, 73, 76, 82, 83, 84, 85, 86, 88], "multipl": [0, 2, 5, 6, 30, 44, 50, 69, 71, 79, 83, 84, 86, 88], "481": 0, "471": 0, "slide": [0, 32, 33, 35, 80, 88], "integr": [0, 8, 32, 33, 35, 69, 71, 80, 87, 88], "438": 0, "collect": [0, 71, 80], "common": [0, 5, 44, 70, 71, 72, 83], "459": 0, "visual": [0, 3, 9, 17, 73], "represent": [0, 77], "393": [0, 21, 22], "neg": [0, 25, 69, 71, 72, 73, 84, 88], "run": [0, 2, 3, 4, 5, 6, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 71, 72, 73, 74, 80], "hour": [0, 2, 3, 5, 6, 11, 34, 39, 50, 72, 81, 82, 83, 84, 86, 87, 88], "model": [0, 8, 71, 72, 73, 79, 80, 85], "340": 0, "948": 0, "382": 0, "937": 0, "370": 0, "935": 0, "371": [0, 44, 45], "differenti": [0, 71, 80, 88], "938": 0, "369": 0, "arma": [0, 80, 85], "934": 0, "372": 0, "355": 0, "style": [0, 8, 80], "oper": [0, 20, 44, 69, 76, 80], "338": 0, "line": [0, 2, 5, 6, 8, 10, 21, 24, 50, 51, 52, 71, 73, 76], "sine_wav": [0, 8, 10, 21, 24, 52, 84], "341": 0, "status_flag_filt": [0, 69, 77], "336": 0, "334": 0, "default": [0, 3, 7, 11, 39, 71, 72, 73, 74, 76, 77, 80, 81, 82, 84, 85, 86, 87, 88], "335": 0, "support": [0, 70, 71, 84, 85], "919": 0, "337": 0, "9": [0, 2, 5, 7, 8, 10, 11, 16, 21, 24, 25, 30, 34, 39, 40, 44, 47, 50, 52, 56, 62, 74, 76, 86], "342": 0, "316": 0, "live": 0, "properti": [0, 32, 36, 40, 42, 72, 80, 85], "249": 0, "855": 0, "312": 0, "due": [0, 74, 76, 77, 78, 83], "path": [0, 3, 7, 11, 15, 16, 20, 25, 30, 37, 38, 39, 40, 41, 44, 47, 55, 56, 62, 65, 71], "306": 0, "complet": [0, 1, 12, 32, 71, 80], "293": [0, 8], "refer": [0, 5, 71, 72, 73, 76, 81, 86, 88], "290": 0, "bin_map": [0, 69, 88], "870": 0, "univari": [0, 32, 49, 53], "295": [0, 16], "automat": [0, 69, 71, 73, 76, 77, 82, 83, 86, 88], "output": [0, 7, 11, 15, 20, 38, 41, 65, 69, 71, 72, 82, 83, 84, 87, 88], "260": 0, "sine": [0, 52, 88], "wave": [0, 10, 15, 24], "white": [0, 8, 40, 77, 78], "nois": [0, 4, 8, 10, 15, 23, 24, 26, 32, 55, 56, 61, 73, 77, 80, 83, 86], "gener": [0, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 53, 55, 56, 59, 60, 61, 62, 65, 69, 71, 80, 82, 85, 86, 87], "268": 0, "243": 0, "except": [0, 8, 24, 71, 72, 80, 82], "target": [0, 71], "user": [0, 69, 71, 73, 74, 81, 82, 85, 88], "252": 0, "231": 0, "759": 0, "183": 0, "well": [0, 8, 32, 36, 40, 42, 70, 71, 75, 78, 80], "statu": [0, 32, 36, 42, 70, 80], "224": 0, "wrapper": 0, "visualis": 0, "ed": [0, 16, 80], "pelt": [0, 16, 80], "209": 0, "synthet": [0, 10, 14, 24, 34, 61, 62, 80], "62": 0, "valve_data": [0, 41], "pkl": [0, 20, 38, 41], "259": 0, "set": [0, 4, 7, 11, 17, 25, 39, 40, 44, 56, 62, 70, 71, 72, 73, 83, 84, 85, 86, 88], "212": 0, "short": [0, 10, 24, 39, 56, 71, 72, 73], "194": 0, "try": [0, 73], "cpd": [0, 16, 73], "184": 0, "clip": [0, 69, 88], "193": 0, "get_timestamp": [0, 88], "shift": [0, 14, 84, 88], "813": 0, "172": 0, "789": 0, "189": 0, "shut": [0, 32, 36, 42, 80], "var": 0, "102": 0, "disabl": [0, 70], "extrapol": [0, 79, 83], "auto_align": 0, "163": 0, "121": 0, "issu": [0, 69, 70, 71], "datetim": [0, 3, 9, 15, 17, 30, 59, 60, 71, 72, 83, 88], "index": [0, 3, 4, 7, 8, 9, 11, 14, 15, 16, 17, 25, 30, 32, 34, 39, 40, 43, 45, 47, 52, 55, 56, 59, 60, 61, 62, 65, 69, 71, 72, 73, 79, 80, 83, 86, 88], "onli": [0, 44, 71, 72, 76, 83, 84, 85, 88], "date": [0, 14, 24, 38, 61, 65, 84, 87], "69": 0, "643": 0, "61": 0, "674": 0, "45": [0, 8, 14, 24, 61], "miss": [0, 2, 8, 73, 83], "would": [0, 44, 71, 72, 74, 77, 83], "availa": 0, "65": 0, "re": [0, 4, 14, 32, 43, 45, 71, 78, 83], "626": 0, "19": 0, "process": [0, 4, 16, 47, 65, 71, 72, 73, 83, 85], "34": [0, 11], "pipelin": 0, "33": 0, "granular": [0, 16, 62, 80, 81, 84, 87, 88], "branch": [0, 71], "master": [0, 41, 73, 82], "how": [1, 2, 5, 6, 8, 10, 13, 14, 16, 19, 21, 23, 25, 32, 43, 44, 46, 49, 54, 56, 58, 62, 64, 67, 72, 85], "explor": [1, 32, 71], "timeseri": [1, 2, 3, 12, 32, 34, 61, 72, 83, 85], "breach": [1, 12, 32, 72], "between": [1, 5, 8, 12, 20, 32, 40, 61, 72, 73, 75, 76, 79, 82, 84, 85, 86, 88], "identifi": [1, 8, 9, 12, 14, 15, 16, 32, 47, 72, 73, 83, 86], "low": [1, 4, 8, 12, 32, 59, 60, 74, 80, 88], "sensor": [1, 5, 12, 16, 25, 32, 39, 44, 55, 56, 62, 72, 82, 84], "click": [2, 4, 5, 6, 7, 8, 9, 10, 11, 14, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 50, 51, 55, 56, 59, 60, 61, 62, 65, 69], "here": [2, 4, 5, 6, 7, 8, 9, 10, 11, 14, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 50, 51, 55, 56, 59, 60, 61, 62, 65, 69, 71, 72, 76, 81, 82, 86, 88], "download": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 71], "full": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 71, 76, 78, 84], "code": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14, 16, 17, 18, 20, 21, 24, 25, 30, 32, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 73, 80], "It": [2, 7, 11, 24, 52, 71, 72, 73, 76, 78, 79, 82, 83, 85, 87], "know": 2, "In": [2, 4, 5, 6, 8, 14, 16, 25, 34, 40, 44, 47, 55, 56, 69, 71, 72, 82, 85, 86], "thi": [2, 4, 5, 6, 8, 10, 11, 14, 16, 21, 34, 38, 40, 44, 47, 61, 69, 70, 71, 72, 73, 74, 76, 77, 79, 80, 82, 83, 84, 85, 86, 87, 88], "qualifi": 2, "basi": 2, "its": [2, 52, 72, 78, 84, 86], "good": [2, 5, 8, 71, 72, 85], "medium": [2, 72], "poor": [2, 72], "The": [2, 5, 6, 7, 8, 10, 11, 14, 15, 16, 20, 21, 24, 25, 37, 38, 39, 40, 41, 44, 51, 52, 59, 60, 62, 70, 71, 72, 73, 74, 76, 77, 78, 79, 80, 82, 83, 84, 85, 86, 87, 88], "measur": [2, 5, 6, 25, 55, 56, 72, 75, 76, 86], "much": [2, 6, 8, 71, 85], "median": [2, 5, 6, 44, 72, 83], "sampl": [2, 5, 6, 8, 9, 16, 25, 44, 50, 55, 56, 71, 72, 73, 83, 84, 85, 86], "frequenc": [2, 5, 6, 15, 25, 30, 44, 50, 55, 56, 72, 73, 77, 80, 81, 83, 84, 86, 88], "A": [2, 5, 6, 8, 70, 71, 72, 73, 75, 77, 78, 79, 83, 84, 85], "1975": [2, 5, 8, 50, 51, 52, 84], "05": [2, 5, 8, 14, 16, 39, 41, 44, 47, 50, 51, 52, 72, 73, 80, 81, 84, 88], "09": [2, 5, 50, 51, 52, 59, 60, 80, 84], "20": [2, 4, 5, 8, 10, 25, 50, 52, 72, 77, 80, 84, 88], "1": [2, 3, 4, 5, 6, 7, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88], "taken": [2, 71], "10": [2, 4, 6, 8, 9, 10, 15, 16, 17, 20, 21, 24, 34, 37, 44, 47, 51, 52, 61, 65, 71, 72, 73, 76, 80, 84, 85, 86, 88], "30": [2, 6, 24, 52, 71, 80, 82, 84], "50": [2, 5, 8, 41, 47, 48, 75, 85], "random": [2, 4, 5, 6, 8, 10, 14, 17, 24, 34, 44, 50, 52, 59, 60, 61, 84], "locat": [2, 5, 6, 8, 50, 71, 72, 82, 83, 84], "three": [2, 10, 24, 50, 51, 72, 87], "classifi": [2, 72, 86], "pyplot": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65], "plt": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65], "data_qu": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 72], "completeness_scor": [2, 72], "insert_data_gap": [2, 5, 6, 8, 10, 24, 50, 84], "timestamp": [2, 3, 5, 6, 9, 10, 17, 21, 24, 47, 50, 51, 52, 59, 60, 71, 72, 82, 83, 84, 87, 88], "end": [2, 3, 5, 6, 9, 14, 15, 47, 50, 51, 52, 73, 76, 83, 84, 88], "four": [2, 5, 6, 50, 52], "start_dat": [2, 5, 6, 10, 17, 21, 24, 50, 51, 52, 84, 87], "end_dat": [2, 5, 6, 10, 17, 21, 24, 50, 51, 52, 84], "slope": [2, 5, 6, 10, 16, 21, 24, 50, 51, 52, 73, 84, 86], "0": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 28, 30, 31, 34, 35, 37, 38, 39, 40, 41, 42, 44, 45, 47, 48, 50, 51, 52, 53, 55, 56, 57, 59, 60, 61, 62, 63, 65, 66, 68, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 88], "intercept": [2, 5, 6, 10, 21, 24, 50, 51, 52, 76, 84], "sample_freq": [2, 5, 6, 10, 24, 50, 52, 84], "h": [2, 3, 5, 9, 14, 17, 20, 21, 24, 25, 34, 50, 55, 56, 59, 60, 61, 69, 71, 76, 81, 83, 84, 88], "ts_mult_gaps_1": 2, "fraction": [2, 5, 6, 8, 10, 24, 50, 79, 84], "num_gap": [2, 5, 6, 50, 84], "4": [2, 5, 6, 7, 8, 9, 11, 14, 16, 20, 34, 39, 40, 41, 44, 50, 51, 52, 65, 69, 70, 73, 74, 76, 80, 84, 86, 88], "ts_mult_gaps_2": 2, "ts_mult_gaps_3": 2, "prop": [2, 51], "dict": [2, 51, 74], "boxstyl": [2, 51], "round": [2, 8, 51, 69, 88], "facecolor": [2, 40, 51], "wheat": [2, 51], "5": [2, 3, 4, 5, 6, 8, 9, 10, 14, 15, 16, 17, 20, 24, 25, 37, 40, 41, 47, 50, 51, 52, 56, 59, 60, 61, 65, 69, 71, 72, 73, 74, 76, 77, 80, 81, 82, 84, 85, 88], "fig": [2, 3, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 24, 30, 37, 38, 39, 40, 41, 47, 50, 51, 52, 59, 60, 61], "ax1": [2, 3, 5, 6, 7, 11, 16, 17, 47, 50, 51, 59, 60], "ax2": [2, 3, 5, 6, 7, 8, 11, 16, 17, 24, 47, 50, 51, 59, 60], "ax3": [2, 5, 6, 7, 8, 11, 50, 51], "subplot": [2, 3, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 24, 30, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 59, 60, 61, 65], "3": [2, 6, 7, 10, 11, 16, 17, 20, 24, 25, 38, 39, 40, 44, 47, 50, 51, 52, 59, 60, 65, 69, 70, 71, 72, 73, 76, 80, 83, 84, 86, 87, 88], "figsiz": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65], "7": [2, 5, 7, 8, 10, 11, 16, 20, 24, 25, 30, 34, 39, 44, 47, 50, 52, 55, 56, 62, 79, 80, 84], "bo": [2, 5, 6, 50, 51], "mec": [2, 5, 6, 50, 51], "b": [2, 5, 6, 14, 24, 50, 51, 52, 61, 69, 71, 76, 88], "markerfacecolor": [2, 5, 6, 50, 51], "none": [2, 5, 6, 8, 50, 51, 73, 74, 76, 82, 83, 84, 85, 86, 87, 88], "markers": [2, 5, 6, 8, 15, 37, 39, 40, 50, 51, 55, 56, 62], "text": [2, 8, 20, 51, 71, 76], "95": [2, 51], "transform": [2, 8, 24, 51, 77], "transax": [2, 8, 51], "fontsiz": [2, 3, 5, 6, 7, 8, 9, 11, 17, 44, 51, 59, 60], "14": [2, 3, 8, 17, 51, 52, 59, 60, 80], "verticalalign": [2, 51], "top": [2, 10, 51, 52, 71, 76], "bbox": [2, 51], "set_ylabel": [2, 3, 10, 15, 16, 17, 20, 21, 24, 30, 37, 39, 40, 41, 44, 47, 51, 55, 59, 60], "set_titl": [2, 5, 6, 7, 8, 10, 11, 14, 15, 20, 21, 24, 30, 38, 39, 40, 41, 44, 50, 51, 55, 61], "show": [2, 3, 5, 6, 7, 8, 9, 10, 11, 15, 16, 17, 20, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 59, 60, 61, 62, 65, 71, 79], "total": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 20, 21, 22, 24, 25, 26, 28, 30, 31, 34, 35, 37, 38, 39, 40, 41, 42, 44, 45, 47, 48, 50, 51, 52, 53, 55, 56, 57, 59, 60, 61, 62, 63, 65, 66, 68, 69, 72, 84, 87], "script": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69], "minut": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 72, 73, 81, 83, 84, 85, 86, 88], "113": 2, "plot_complet": [2, 12], "jupyt": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69], "notebook": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 71], "ipynb": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 17, 20, 21, 24, 25, 30, 34, 37, 38, 39, 40, 41, 44, 47, 50, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 73], "go": [3, 15, 47, 52, 71, 75, 79], "count": [3, 7, 11, 72, 80], "repres": [3, 20, 70, 71, 72, 84, 85, 87, 88], "piec": 3, "home": [3, 15], "cristinaferr": [3, 15], "volume_vessel": 3, "31": [3, 80, 82], "userwarn": [3, 15], "couldn": 3, "t": [3, 8, 9, 17, 59, 60, 71, 72, 73, 76, 81, 82, 83, 84, 85, 88], "numba_vector": 3, "No": [3, 30, 70, 73, 84], "modul": [3, 69, 71, 80], "vector": 3, "o": [3, 7, 11, 15, 16, 20, 25, 30, 37, 38, 39, 40, 41, 44, 47, 55, 56, 60, 62, 65, 71], "np": [3, 4, 8, 9, 10, 14, 15, 17, 20, 24, 34, 44, 52, 59, 60, 61, 88], "datapoint_diff": 3, "datapoint_diff_over_time_period": [3, 72], "base_path": [3, 7, 11, 15, 16, 20, 25, 30, 37, 38, 39, 40, 41, 44, 47, 55, 56, 62, 65], "__name__": [3, 7, 11, 15, 16, 20, 25, 30, 37, 38, 39, 40, 41, 44, 47, 55, 56, 62], "__main__": [3, 7, 11, 15, 16, 20, 25, 30, 37, 38, 39, 40, 41, 44, 47, 55, 56, 62], "els": [3, 7, 11, 15, 16, 20, 25, 30, 37, 38, 39, 40, 41, 44, 47, 55, 56, 62], "dirnam": [3, 7, 11, 15, 16, 20, 25, 30, 37, 38, 39, 40, 41, 44, 47, 55, 56, 62, 65], "__file__": [3, 7, 11, 15, 16, 20, 25, 30, 37, 38, 39, 40, 41, 44, 47, 55, 56, 62], "read_csv": [3, 7, 11, 15, 16, 20, 25, 30, 37, 39, 40, 44, 47, 55, 56, 62, 65], "join": [3, 7, 11, 15, 16, 25, 30, 37, 38, 39, 40, 41, 44, 47, 55, 56, 62, 65], "dataset": [3, 4, 7, 8, 11, 15, 16, 20, 25, 30, 37, 38, 39, 40, 41, 44, 47, 55, 56, 62, 65, 79, 86], "hour_count": 3, "csv": [3, 7, 11, 15, 16, 20, 25, 30, 37, 39, 40, 44, 47, 55, 56, 62, 65], "index_col": [3, 7, 11, 15, 16, 25, 30, 37, 39, 40, 44, 47, 55, 56, 62, 65], "squeez": [3, 7, 11, 15, 16, 25, 39, 44, 47, 55, 56, 62], "to_datetim": [3, 7, 11, 15, 16, 25, 30, 39, 44, 47, 55, 56, 62, 65], "appli": [3, 5, 6, 7, 11, 25, 39, 56, 69, 70, 72, 85], "dai": [3, 6, 16, 41, 59, 60, 72, 73, 79, 81, 82, 83, 84, 85, 86, 88], "hour_count_default_threshold": 3, "1d": [3, 81, 88], "24": [3, 39, 40, 72, 79, 80], "1h": [3, 10, 24, 34, 65, 69, 86], "forward": [3, 17, 83, 84], "fill": [3, 17, 73, 83], "step": [3, 5, 8, 17, 21, 30, 52, 71, 72, 73, 79, 85, 88], "resampled_step_series_default_threshold": 3, "60min": [3, 59, 60, 85, 86], "default_threshold_forward_fil": 3, "ffill": [3, 17, 65, 83], "against": [3, 17, 59, 60], "actual": [3, 17, 59, 60, 72, 73, 85], "15": [3, 4, 9, 14, 17, 51, 52, 55, 59, 60, 61, 72, 73, 86], "marker": [3, 9, 15, 17, 37, 40, 47, 59, 60], "color": [3, 8, 10, 15, 16, 17, 20, 24, 25, 37, 38, 39, 40, 44, 47, 52, 55, 56, 59, 60, 62], "blue": [3, 15, 17, 37, 59, 60], "arang": [3, 9, 17, 52, 59, 60], "120": [3, 17], "astyp": [3, 9, 17, 59, 60], "set_xtick": [3, 9, 17, 59, 60], "set_xticklabel": [3, 9, 17, 59, 60], "strftime": [3, 9, 17, 59, 60], "d": [3, 9, 14, 17, 24, 52, 59, 60, 61, 76, 81, 83, 84, 88], "m": [3, 9, 14, 17, 20, 21, 24, 47, 52, 59, 60, 61, 71, 76, 81, 83, 84, 88], "n": [3, 8, 9, 10, 17, 59, 60, 72, 76, 81, 84, 85, 86, 88], "8": [3, 9, 15, 16, 17, 20, 38, 47, 59, 60, 72, 76, 77, 79, 80], "twinx": [3, 16, 17, 24, 47, 59, 60], "diff": [3, 9, 69, 72], "last": [3, 21, 71, 72, 84], "red": [3, 17, 24, 25, 38, 39, 59, 60, 62], "lines1": 3, "labels1": 3, "get_legend_handles_label": 3, "lines2": 3, "labels2": 3, "legend": [3, 4, 8, 9, 10, 14, 16, 17, 24, 25, 30, 34, 37, 38, 39, 40, 44, 47, 52, 55, 56, 59, 60, 61, 62], "loc": [3, 4, 8, 9, 14, 16, 17, 24, 25, 30, 39, 40, 44, 47, 52, 55, 56, 59, 60, 61, 62], "xlabel": [3, 9, 17, 20, 59, 60, 65], "suptitl": [3, 5, 6, 7, 11, 17, 52, 55, 59, 60], "distanc": [3, 40, 73, 75, 76, 86], "exce": [3, 5, 72, 77, 84, 88], "tight_layout": [3, 5, 6, 7, 11, 15, 17, 20, 24, 30, 38, 41, 44, 50, 52, 59, 60, 61], "008": [], "plot_datapoint_diff": [3, 12], "student": [4, 72], "residu": [4, 72, 86], "we": [4, 5, 6, 7, 8, 10, 11, 14, 16, 20, 21, 24, 25, 30, 39, 40, 44, 47, 50, 51, 52, 55, 56, 62, 65, 69, 70, 71, 72, 82, 85], "toi": 4, "underli": 4, "gaussian": [4, 10, 24, 84, 85], "larg": [4, 10, 24, 71, 73, 84, 85], "figur": [4, 8, 10, 14, 15, 16, 24, 25, 34, 39, 40, 41, 44, 47, 52, 55, 56, 59, 60, 62, 71], "below": [4, 6, 8, 14, 16, 20, 24, 25, 47, 52, 55, 56, 71, 72, 82, 85, 86], "can": [4, 5, 14, 16, 20, 21, 24, 25, 40, 44, 52, 55, 56, 65, 69, 71, 72, 73, 76, 77, 79, 81, 82, 83, 84, 85, 86, 87, 88], "seen": [4, 24, 55, 85], "raw": [4, 14, 25, 34, 39, 40, 44, 55, 56, 62, 71, 72], "subsequ": 4, "refin": 4, "desir": [4, 71, 73, 77], "rng": [4, 8, 61], "default_rng": [4, 8, 59, 60, 61], "12345": [4, 61], "rcparam": 4, "font": [4, 71], "18": [4, 8, 80], "nx": 4, "date_rang": [4, 9, 14, 17, 34, 52, 59, 60, 61, 69], "1970": [4, 14, 61, 84, 88], "freq": [4, 9, 14, 15, 34, 52, 61, 69], "1t": [4, 14, 61], "linspac": 4, "2": [3, 4, 9, 10, 14, 16, 20, 21, 24, 25, 30, 37, 38, 39, 40, 41, 44, 47, 51, 52, 55, 56, 59, 60, 61, 62, 65, 69, 70, 71, 73, 76, 77, 79, 80, 83, 84, 85, 86, 87, 88], "normal": [4, 7, 11, 14, 59, 60, 72, 73, 84, 88], "100": [4, 8, 10, 14, 20, 24, 34, 61, 76, 82, 84], "scale": [4, 78], "y": [4, 5, 8, 9, 14, 17, 24, 34, 47, 59, 60, 76, 84], "anomali": [4, 72, 77], "anom_num": 4, "high": [4, 8, 59, 60, 71, 85, 86, 88], "200": [4, 14, 84, 85], "anom_id": 4, "is_anom": 4, "item": [4, 52], "raw_data": [4, 14], "find": [4, 6, 25, 71, 86], "result": [4, 5, 7, 11, 14, 15, 20, 21, 24, 25, 30, 34, 39, 44, 47, 55, 56, 59, 60, 62, 69, 71, 72, 73, 79, 83, 85, 86, 88], "_": [4, 14, 15, 21, 25, 30, 34, 39, 55, 56, 61, 62, 71], "607": 4, "plot_extreme_outli": [4, 12], "critic": [5, 8, 71, 72, 82, 85], "instanc": [5, 70, 71, 82, 88], "unreli": 5, "defect": 5, "part": [5, 8, 71, 80], "might": [5, 71], "need": [5, 8, 20, 44, 72, 76, 77, 84], "exact": [5, 71, 84], "definit": [5, 69, 76, 85, 86], "what": [5, 70, 71, 72, 74], "consid": [5, 62, 70, 71, 72, 73, 75, 76, 82, 85, 86], "requir": [5, 8, 21, 44, 71, 72, 80, 83, 85, 86, 87], "domain": [5, 71, 80], "knowledg": [5, 40, 71], "therefor": [5, 8, 44, 71, 76, 77], "hard": 5, "autom": [5, 72, 73, 76], "howev": [5, 8, 56, 85], "mathemat": 5, "help": [5, 25, 40, 71], "u": [5, 70, 71, 81, 84, 86, 88], "potenti": [5, 8, 71, 76, 81, 88], "expert": [5, 71, 80], "z": [5, 6, 76, 88], "mark": [5, 6, 60, 69, 71], "3x": 5, "modifi": [5, 6, 10, 24, 71, 85, 88], "which": [5, 6, 8, 16, 41, 69, 70, 71, 72, 73, 74, 76, 77, 82, 83, 84, 85, 86, 88], "absolut": [5, 6, 69, 76, 84, 88], "interquartil": [5, 6], "iqr": [5, 6, 72, 88], "spread": [5, 6, 72, 85], "introduct": 5, "found": [5, 24, 71, 72, 81, 82, 86, 88], "note": [5, 8, 21, 71, 76, 79, 82, 87], "irrelev": 5, "thei": [5, 69, 70, 71, 85], "pure": 5, "reli": [5, 69], "35": [5, 6, 8, 10, 24, 50], "characterist": [5, 6, 8, 70, 72, 76, 78, 84, 85], "particular": [5, 71], "doe": [5, 8, 71, 73, 76, 79, 86], "ani": [5, 14, 70, 71, 72, 73, 74, 77, 80, 82, 83, 88], "reason": [5, 70, 71, 79], "thu": 5, "few": [5, 8, 20, 52, 71], "strong": [5, 8], "like": [5, 44, 70, 71], "case": [5, 8, 10, 24, 71, 72, 82], "weight": [5, 55, 73, 86], "strongli": [5, 71], "To": [5, 8, 10, 21, 24, 52, 71, 72, 73, 80, 84], "randomli": [5, 8, 10, 24, 44, 59, 60], "iglewicz": 5, "bori": 5, "david": 5, "c": [5, 38, 52], "hoaglin": 5, "1993": 5, "american": [5, 73], "societi": [5, 76], "control": [5, 73, 76, 85], "vol": [5, 25, 55, 56], "16": [5, 6, 7, 11, 80], "gaps_identif": 5, "gaps_identification_iqr": [5, 72], "gaps_identification_modified_z_scor": [5, 72], "gaps_identification_threshold": [5, 72], "gaps_identification_z_scor": [5, 72], "ts_mult_gap": [5, 6, 50], "ts_rand_gap": 5, "ts_gaps_z_scor": 5, "ts_gaps_mod_z_scor": 5, "ts_gaps_iqr": 5, "ts_gaps_threshold": 5, "time_delta": [5, 72], "5h": [5, 85, 86], "ax4": [5, 6, 51], "r": [5, 6, 10, 40, 44, 52, 71, 73], "p": [5, 8, 72, 76, 88], "3h": [5, 10, 24, 81, 88], "539": 5, "plot_gaps_identif": [5, 12], "expect": [6, 7, 8, 11, 71, 72, 77, 83, 87], "number": [6, 7, 8, 11, 25, 50, 71, 72, 73, 74, 77, 79, 80, 82, 83, 84, 85, 86, 88], "dure": [6, 17, 70, 71], "per": [6, 76, 79, 81, 82, 87, 88], "have": [6, 8, 21, 44, 69, 70, 71, 72, 73, 77, 79, 82, 83, 85, 87, 88], "been": [6, 69, 71, 82], "receiv": 6, "lower": [6, 24, 25, 72, 73, 84, 86, 87, 88], "provid": [6, 8, 25, 70, 71, 72, 73, 74, 79, 83, 84, 85, 88], "2022": [6, 9, 10, 17, 21, 24, 69, 80], "01": [6, 8, 9, 17, 18, 57, 59, 60, 68, 69, 72, 73, 76, 80, 81, 83, 84, 85, 86, 88], "02": [6, 10, 12, 20, 24, 28, 59, 60, 69, 80], "five": [6, 8], "other": [6, 34, 38, 52, 70, 71, 77, 84, 85, 86], "6": [6, 10, 14, 16, 20, 24, 25, 34, 39, 40, 52, 72, 74, 76, 77, 80, 82, 85], "straight": [6, 76], "becaus": [6, 44, 76, 77], "typic": [6, 25, 71, 72, 73, 76, 77, 82, 83, 85], "low_density_identif": 6, "low_density_identification_iqr": [6, 72], "low_density_identification_modified_z_scor": [6, 72], "low_density_identification_threshold": [6, 72], "low_density_identification_z_scor": [6, 72], "5m": [6, 81, 88], "ts_low_density_z_scor": 6, "time_window": [6, 9, 55, 61, 62, 72, 85, 86], "30m": 6, "ts_low_density_modified_z_scores_time_window_30m": 6, "ts_low_density_modified_z_scores_time_window_6h": 6, "6h": [6, 10, 24, 81, 88], "cutoff": [6, 72, 88], "ts_low_density_iqr": 6, "ts_low_density_w_threshold": 6, "60m": 6, "ax5": 6, "17": [6, 76, 80], "30min": [6, 85, 86], "119": 6, "plot_low_density_identif": [6, 12], "given": [7, 11, 17, 21, 30, 32, 36, 42, 50, 51, 52, 65, 71, 72, 73, 76, 77, 82, 83, 84, 86, 88], "either": [7, 11, 72, 75, 76, 77, 83, 87], "stai": [7, 11, 72, 73, 79], "same": [7, 8, 11, 25, 44, 69, 71, 72, 73, 82, 83, 86, 88], "bad": [7, 11, 72], "where": [7, 8, 10, 11, 15, 47, 60, 71, 72, 73, 76, 77, 80, 83, 84, 85, 86, 88], "otherwis": [7, 11, 70, 71, 72, 85, 86, 88], "until": [7, 11, 72, 73], "get": [7, 11, 14, 21, 71, 72, 73, 74, 85, 87, 88], "back": [7, 11, 72], "reach": [7, 10, 11, 71, 72, 76], "befor": [7, 8, 11, 69, 71, 72, 73, 83], "drop": [7, 11, 72, 76, 88], "twice": [7, 11], "higher": [7, 11, 21, 25, 72, 84, 87, 88], "negative_running_hour": 7, "negative_running_hours_check": 7, "negative_running_hours_data": 7, "indicator_default_threshold": [7, 11], "indicator_new_threshold": [7, 11], "731": 7, "plot_negative_running_hour": 7, "out_of_rang": [8, 72], "savitzki": [8, 32, 54, 57, 71, 72], "golai": [8, 32, 54, 57, 71, 72], "smooth": [8, 9, 14, 25, 44, 57, 71, 72, 73, 80, 86], "carri": [8, 34, 72], "determin": [8, 70, 72, 73, 82, 86], "origin": [8, 24, 25, 40, 59, 60, 71, 72, 77, 84, 85, 88], "design": [8, 72, 73, 76, 85], "let": [8, 25, 52, 71], "those": [8, 70, 72, 84], "some": [8, 14, 21, 25, 56, 71, 81, 88], "also": [8, 40, 69, 70, 71, 73, 79, 80, 81, 86, 88], "addit": [8, 30, 44, 71, 72, 79], "demonstr": [8, 21, 44, 70, 71], "distribut": [8, 14, 72, 73, 84, 88], "stat": [8, 80], "student_dist": 8, "synthetic_industrial_data": 8, "non_linear_non_stationary_sign": 8, "_calculate_hat_diagon": 8, "_calculate_residuals_and_normalize_them": 8, "_split_timeseries_into_time_and_value_arrai": 8, "ll": 8, "pre": [8, 65, 71, 80, 86], "defin": [8, 20, 37, 47, 52, 71, 72, 74, 78, 81, 82, 83, 84, 85, 86, 88], "industri": [8, 10, 24, 32, 36, 71, 72, 77, 85], "compos": [8, 10, 24], "oscillatori": [8, 10, 15, 24, 73], "compon": [8, 15, 24, 38, 73, 76, 79], "nonlinear": 8, "uniform": [8, 17, 25, 44, 55, 56, 59, 60, 72, 73, 83, 84, 85, 86, 88], "stamp": [8, 44, 72, 76, 77, 82, 84, 86, 88], "seed": [8, 10, 34, 84], "reproduc": [8, 71], "behavior": [8, 70, 71, 86], "seed_arrai": 8, "2000": [8, 20, 34], "6000": 8, "89756": 8, "simpl": [8, 21, 44, 52, 55, 69, 71, 72, 75], "def": [8, 69, 71], "style_and_annotate_figur": 8, "ax": [8, 9, 10, 14, 15, 20, 21, 24, 30, 37, 38, 39, 40, 41, 44, 52, 55, 61, 65, 76], "x_po": 8, "y_po": 8, "fsize": [8, 44], "12": [8, 17, 41, 51, 52, 80], "fsize_annot": 8, "title_fs": 8, "ylimit": 8, "3005": 8, "8000": 8, "title_txt": 8, "center": [8, 16, 47, 83], "va": 8, "dimgrei": 8, "tick_param": [8, 24], "axi": [8, 24, 59, 60], "both": [8, 14, 30, 44, 71, 72, 73, 88], "major": 8, "labels": 8, "rotat": [8, 14, 24, 61], "grid": [8, 52], "set_ylim": [8, 16, 40, 41], "wa": [8, 30, 40, 70, 71, 74, 78], "percent": 8, "were": [8, 70, 71, 73], "do": [8, 44, 88], "so": [8, 71, 83, 84], "feel": [8, 71], "free": [8, 70, 80], "precis": [8, 73, 88], "Or": 8, "anoth": [8, 88], "further": 8, "dropna": 8, "outlier_fract": 8, "num_outli": 8, "len": [8, 10, 17, 20, 34, 38, 44, 52], "uniqu": 8, "direct": [8, 71, 88], "choic": 8, "iloc": [8, 20, 38, 41], "data_w_outli": 8, "took": 8, "care": [8, 71], "give": [8, 70, 71, 85, 88], "far": [8, 72, 79], "close": [8, 10, 39, 71, 72, 73, 82], "But": [8, 71, 72], "enough": [8, 71, 73, 85], "categor": [8, 72], "fig_siz": 8, "linewidth": [8, 15, 25, 37, 39, 40, 55, 56], "ro": 8, "outliers_insert": 8, "As": [8, 21, 69, 71], "mention": [8, 71], "independ": [8, 72, 85], "wise": [8, 69, 71, 72, 73, 85, 88], "order": [8, 20, 51, 56, 71, 72, 73, 74, 76, 77, 81, 82, 83, 85, 86, 88], "bigger": 8, "local": [8, 71, 72], "With": 8, "influenc": [8, 79, 86], "want": [8, 25, 71, 73], "follow": [8, 14, 21, 40, 69, 70, 71, 72, 74, 76, 81, 82, 83, 85, 88], "increasingli": [8, 52], "3rd": 8, "08": [8, 80], "trend_pass01": 8, "window_length": [8, 56, 71, 72, 73, 81, 85, 88], "polyord": [8, 56, 71, 72, 85], "done": [8, 71], "compar": [8, 71, 73], "each": [8, 16, 24, 71, 72, 73, 82, 83, 85, 86, 88], "sinc": [8, 69, 74, 88], "most": [8, 71, 72, 86], "littl": 8, "inform": [8, 21, 30, 70, 71, 80], "about": [8, 41, 70, 71, 83, 85], "readili": 8, "avail": [8, 70, 71, 74, 76, 82, 83, 84, 88], "spars": 8, "uncommon": 8, "suit": [8, 85], "current": [8, 20, 71, 76, 82, 83, 84, 85, 87, 88], "task": [8, 71], "unknown": [8, 72], "final": [8, 10, 24, 44, 52, 71, 72, 83, 88], "aim": [8, 44, 72, 85], "suffic": 8, "henc": [8, 44, 71, 72, 85], "furthermor": [8, 72], "relax": [8, 72], "factor": [8, 14, 37, 65, 72, 73, 76, 82, 83, 85, 86], "adjust": [8, 73, 79, 85], "sensit": [8, 72], "again": 8, "explicitli": [8, 37, 71], "statist": [8, 59, 60, 61, 62, 72, 73, 80], "signific": [8, 10, 24, 72, 73, 85], "level": [8, 25, 70, 71, 72, 76, 77, 79, 84], "probabl": [8, 71, 72, 88], "reject": [8, 70, 72, 88], "null": [8, 72], "hypothesi": [8, 72], "bc_relax": [8, 72], "coeffici": [8, 20, 21, 32, 43, 45, 61, 73, 76, 83, 84], "y_pred_pass01": 8, "to_numpi": 8, "hat_diagon": 8, "degre": [8, 72, 82, 84, 88], "freedom": [8, 72], "dof": 8, "singl": [8, 50, 70, 71, 73, 76, 84], "bc": 8, "ppf": 8, "df": [8, 20, 38], "t_re": 8, "boolean": [8, 73, 77], "mask": 8, "logical_and": 8, "filtered_ts_pass01": 8, "outliers_pass01": 8, "job": 8, "togeth": [8, 52], "caus": [8, 71, 80], "consequ": [8, 70, 72], "overal": [8, 70], "baselin": 8, "fig2": [8, 24], "orang": [8, 16, 20, 47], "k": [8, 16, 40, 56, 76, 86], "wo": 8, "85": 8, "mew": 8, "markeredgecolor": 8, "green": [8, 20, 38, 39], "text_outlier_r": 8, "For": [8, 24, 30, 38, 70, 71, 72, 76, 77, 80, 81, 83, 84, 86, 88], "previous": [8, 40], "tolerance_pass02": 8, "trend_pass02": 8, "alpha_pass02": 8, "bc_relaxation_pass02": 8, "bc_pass02": 8, "y_pred_pass02": 8, "t_res_pass02": 8, "mask_pass02": 8, "filtered_ts_pass02": 8, "outliers_pass02": 8, "entir": [8, 71, 83], "analysi": [8, 73, 80, 82, 85], "indsl_outli": 8, "artifici": 8, "perfect": 8, "observ": [8, 14, 16, 25, 55, 56, 72, 73, 84, 85, 86], "alwai": [8, 69, 71], "veri": [8, 52, 69, 71, 72, 77, 79], "sphinx_gallery_thumbnail_numb": [8, 24], "fig3": 8, "hht": 8, "plot_out_of_rang": [8, 12], "dispers": [9, 72], "ingest": 9, "rolling_stddev": 9, "rolling_stddev_timedelta": [9, 72], "sma": [9, 55, 85], "00": [9, 12, 17, 18, 22, 24, 26, 28, 31, 35, 42, 45, 48, 53, 57, 59, 60, 63, 66, 68, 69, 72, 73, 81, 83, 84, 85, 86, 88], "11": [9, 17, 80], "60": [9, 16, 47, 59, 60, 72, 73, 85, 86], "sort_index": [9, 17], "stddev": 9, "to_seri": 9, "timedelta64": 9, "fillna": 9, "5min": [9, 72], "min_period": [9, 55, 61, 72, 85, 86], "set_text": 9, "upper": [9, 16, 17, 47, 59, 60, 86, 88], "right": [9, 10, 17, 24, 59, 60, 70, 86], "ylabel": [9, 20, 25, 34, 56, 62, 65], "000": [9, 12, 18, 22, 26, 28, 42, 53, 63], "plot_rolling_stddev_timedelta": [9, 12], "non": [10, 24, 25, 44, 50, 55, 56, 69, 71, 72, 73, 84, 85, 86], "linear": [10, 13, 18, 24, 32, 50, 52, 55, 56, 69, 72, 73, 76, 78, 80, 82, 86], "stationari": [10, 24, 72], "detrend": 10, "amplitud": [10, 24, 73, 84], "realist": [10, 24, 52], "perspect": [10, 24], "them": [10, 24, 61, 71, 73, 86], "nonuniform": [10, 24], "ratio": [10, 24, 52, 72, 73, 76, 78, 84], "10db": 10, "20db": 10, "left": [10, 17, 52, 59, 60, 84], "half": [10, 85], "respect": [10, 51, 70, 71, 72, 82], "without": [10, 24, 62, 70, 71, 72, 80, 85, 86], "bottom": [10, 38, 40, 52, 71, 76, 82], "On": 10, "side": [10, 76, 81, 88], "remain": [10, 73, 77], "closer": 10, "uncertainty_rstd": 10, "21": [10, 56, 65, 80], "28": [10, 14, 21, 22, 24, 61, 80], "03": [10, 24, 53, 59, 60, 69, 80], "long": [10, 24, 39, 56, 71, 73], "wave01": [10, 24], "1m": [10, 16, 24], "wave_period": [10, 21, 24, 52, 84], "wave_mean": [10, 21, 24, 52, 84], "wave_amplitud": [10, 24, 52, 84], "wave_phas": [10, 24, 52, 84], "exp": [10, 24, 69, 85, 88], "wave02": [10, 24], "wave03": [10, 24], "pi": [10, 24, 52, 82], "trend_01": [10, 24], "00008": [10, 24], "trend_02": [10, 24], "00005": [10, 24], "signal_w_noise_high_db": 10, "signal_w_noise_low_db": 10, "signal_w_nois": [10, 24], "concat": 10, "signal_to_analys": 10, "perturb": 10, "percentag": [10, 76, 82, 84], "386": 10, "plot_uncertainti": 10, "value_decrease_ind": 11, "value_decrease_check": [11, 72], "ts_value_reduction_data": 11, "568": 11, "plot_value_decrease_check": [11, 12], "04": [35, 69, 73, 80, 84], "execut": [12, 18, 22, 26, 28, 31, 35, 42, 45, 48, 53, 57, 63, 66, 68, 69, 74, 80, 85], "auto_examples_data_qu": 12, "mb": [12, 18, 22, 26, 28, 31, 35, 42, 45, 48, 53, 57, 63, 66, 68], "includ": [13, 19, 23, 32, 46, 54, 70, 71, 80, 82, 85], "predict": [13, 14, 18, 30, 32, 73, 79], "varianc": [14, 16, 52, 80], "simul": [14, 38, 44, 80, 82], "segment": [14, 16, 73], "specifi": [14, 16, 21, 47, 65, 70, 71, 72, 73, 74, 82, 83, 84, 85, 87], "amplitid": 14, "term": [14, 70, 73, 79, 85, 86], "prevent": [14, 73, 84], "absenc": [14, 73], "predict_end": [14, 73], "plot_cusum": [14, 18], "cumul": [14, 32, 34, 64, 66, 73, 81, 88], "sum": [14, 52, 65, 73, 80, 85, 86], "dateformatt": [14, 24, 61], "randn": [14, 34], "300": [14, 39], "intermidi": 14, "binari": [14, 40, 47, 73, 75, 82, 86, 88], "best": [14, 20, 61, 70, 73], "myfmt": [14, 24, 61], "xaxi": [14, 24, 38, 61], "set_major_formatt": [14, 24, 61], "setp": [14, 24, 39, 61], "get_xticklabel": [14, 24, 61], "paper": [15, 72, 73], "sharma": [15, 73], "et": [15, 73, 82, 86], "al": [15, 73, 82, 86], "oscillation_detector": [15, 73], "580": 15, "layout": 15, "tight": 15, "helper_oscillation_detector": 15, "brownian": 15, "brownian_noise_wav": 15, "column": [15, 40, 65], "convert": [15, 85, 87, 88], "str": [15, 37, 71, 72, 74, 82, 83, 85, 86], "call": [15, 71, 76], "dictionari": [15, 86], "dict_output": 15, "linestyl": [15, 16, 37], "dash": [15, 37], "set_xlabel": [15, 21, 24, 37, 44], "hz": [15, 84, 85], "plot_oscillation_detect": [15, 18], "ssd": 16, "compressor": [16, 25, 39, 44, 55, 56, 62, 65], "suction": [16, 20, 21, 44, 62, 76], "pressur": [16, 20, 21, 32, 36, 37, 42, 44, 47, 62, 71, 76, 82], "barg": [16, 44, 47, 62], "condit": [16, 38, 47, 71, 73, 82, 83], "min_dist": [16, 47, 73], "minimum": [16, 40, 72, 73, 74, 75, 76, 82, 84, 85, 86, 88], "var_threshold": [16, 47, 73], "maximum": [16, 72, 73, 76, 84, 85, 86, 88], "slope_threshold": [16, 47, 73], "cpd_ed_pelt": [16, 73], "ssd_cpd": [16, 47, 73], "suct_pressure_barg": [16, 44, 47, 62], "load_pressure_data": 16, "margin": [16, 47], "cp_t": 16, "evalut": 16, "ss_map": [16, 47], "ln2": [16, 47], "fill_between": [16, 40, 47], "set_ytick": [16, 47], "line2d": [16, 47], "read": [16, 39, 83], "bbox_to_anchor": [16, 47], "fancybox": [16, 47], "ncol": [16, 20, 38, 41, 47], "plot_ssd_cpd": [16, 18], "unchanged_signal_detector": [17, 73], "59": 17, "ts_valu": [17, 59, 60], "80": [17, 72, 76], "assign": [17, 73], "random_signal_valu": 17, "nr_consecutive_data_point": 17, "start_posit": 17, "randint": 17, "int": [17, 40, 71, 72, 73, 74, 77, 79, 82, 83, 84, 85, 86, 88], "unchanged_signal_step_seri": 17, "min_nr_data_point": [17, 73], "resampled_step_seri": 17, "1min": 17, "unchanged_signal_forward_fil": 17, "640": 17, "plot_unchanged_signal_detect": [17, 18], "auto_examples_detect": 18, "head": [20, 21], "across": [20, 76], "effici": [20, 72], "bep": 20, "flowrat": [20, 71, 82], "pump_paramet": [20, 21], "percent_bep_flowr": [20, 76], "pump_hydraulic_pow": [20, 71, 76], "pump_shaft_pow": [20, 76], "total_head": [20, 21, 76], "read_pickl": [20, 41], "pump_data": 20, "df_pump_curv": 20, "pump_curv": 20, "2nd": [20, 76], "curv": [20, 21, 72, 76], "discharg": [20, 21, 76], "den": [20, 21, 76], "repeat": [20, 71], "1100": 20, "eff_parameter_1": [20, 76], "00781603e": 20, "06": [20, 76, 80], "eff_parameter_2": [20, 76], "19564490e": 20, "eff_intercept": [20, 76], "89930657e00": 20, "100000": [20, 21, 38, 84], "coeffient": 20, "obtain": [20, 24, 38, 40, 74, 82], "through": [20, 21, 25, 56, 69, 70, 71, 77, 79, 88], "v": [20, 76], "liquid": [20, 71, 76], "shown": [20, 71, 74], "polyfit": 20, "deg": [20, 37], "scatter": 20, "m3": [20, 21, 25, 55, 56], "polyv": 20, "6f": 20, "2f": 20, "000005x": 20, "03x": 20, "51": 20, "plug": 20, "displai": [20, 30, 71, 86], "align_timestep": [20, 76, 77, 82, 86, 88], "bep_flowr": [20, 76], "3600": [20, 86], "nrow": [20, 38, 41], "pa": [20, 21, 76], "hydraul": [20, 71], "horsepow": 20, "w": [20, 21, 71, 76, 81, 84, 88], "shaft": 20, "589": 20, "plot_pump_paramet": [20, 22, 28], "you": [21, 71, 73, 85], "outlet": [21, 76], "cv": 21, "rate": [21, 25, 34, 55, 56, 65, 75, 76, 81, 82, 85, 88], "known": [21, 72, 76, 79, 83, 86], "dummi": 21, "feed": 21, "interest": [21, 34, 47, 82, 83], "recycle_valve_power_loss": [21, 76], "valve_paramet": [21, 76], "flow_through_valv": [21, 76], "mean_disch_p": 21, "bar": [21, 76], "wave_period_disch_p": 21, "10min": 21, "wave_period_valve_out_p": 21, "5hour": 21, "suction_pressur": [21, 76], "discharge_pressur": [21, 76], "valve_outlet_p": 21, "valve_open": [21, 76], "min": [21, 39, 52, 69, 72, 76, 80, 81, 84, 88], "adn": 21, "max": [21, 69, 76, 80], "eq": [21, 76], "min_open": [21, 76], "max_open": [21, 76], "min_cv": [21, 76], "max_cv": [21, 76], "90": [21, 30], "assum": [21, 72, 76, 77, 79], "equal": [21, 71, 72, 74, 76, 85, 86, 88], "inlet": [21, 76], "q_valv": [21, 76], "calcualt": 21, "kg": [21, 65, 76, 87], "power_loss": 21, "saniti": 21, "open": [21, 38, 39, 70, 71, 76, 82], "sens": 21, "plot_recycle_valve_power_loss": [21, 22, 28], "auto_examples_equip": 22, "hilbert": 24, "huang": 24, "db": [24, 25, 77], "reflect": [24, 85], "behaviour": [24, 83], "peak": [24, 84], "feb": 24, "13": [24, 80], "trend_extraction_hilbert_transform": 24, "signal_to_detrend": 24, "labelcolor": 24, "353": 24, "plot_trend": [24, 26], "volumetr": [25, 55, 56, 75], "fluctuat": [25, 56, 71, 85, 86], "easili": [25, 69], "interpret": [25, 73, 85], "sym": [25, 77], "coif": [25, 77], "while": [25, 56, 71, 72, 73, 79], "decomposit": [25, 26, 77], "similar": [25, 71, 84], "choos": [25, 71, 77, 86, 88], "vol_flow_rate_m3h": [25, 55, 56], "load_flowrate_data": [25, 56], "lightblu": 25, "db6": [25, 77], "db8": [25, 77], "sym4": [25, 77], "l": [25, 47, 56, 76, 81, 84, 88], "effect": [25, 55, 56, 71, 79, 85], "27": [25, 26, 80], "907": [25, 26], "plot_wavelet_filt": [25, 26], "auto_examples_filt": 26, "empir": 26, "mode": [26, 83], "289": 28, "auto_examples_fluid_dynam": 28, "sphx_glr_auto_examples_fluid_dynamics_plot_pump_paramet": 28, "sphx_glr_auto_examples_fluid_dynamics_plot_recycle_valve_power_loss": 28, "forg": 30, "daili": [30, 79], "weekli": [30, 79], "season": [30, 79], "holt_winters_predictor": [30, 79], "hwp": 30, "suppress": 30, "deriv": [30, 81, 88], "filterwarn": 30, "ignor": [30, 69, 72, 82, 83], "seasonal_with_trend_data": 30, "sep": 30, "additive_r": 30, "multiplicative_r": 30, "mul": [30, 69, 79, 88], "train": [30, 79, 86], "pad": 30, "442": [30, 31], "plot_holt_winters_predictor": [30, 31], "auto_examples_forecast": 31, "product": [32, 36, 40, 42, 64, 66, 71, 80], "temperatur": [32, 36, 37, 42, 71, 76, 82], "comput": [32, 43, 69, 72, 81, 82, 83, 85, 86, 88], "insert": [32, 49, 53, 84], "wavi": [32, 49, 53, 84], "averag": [32, 54, 57, 80, 83, 86], "dbscan": [32, 58, 63, 86], "spline": [32, 58, 63, 83, 86], "001": [32, 58, 63, 86], "002": [32, 58, 63, 86], "co2": [32, 64, 66, 80], "cost": [32, 64, 66], "skew": 34, "integrand": [34, 81, 88], "sliding_window_integr": [34, 81, 88], "1337": 34, "5000": [34, 72, 88], "0025": 34, "upward": 34, "match": [34, 44, 69, 73, 77], "154": [34, 35, 76], "plot_sliding_window_integr": [34, 35], "auto_examples_numerical_calculu": 35, "real": [37, 82, 84, 86], "equat": [37, 38, 52, 71, 76, 79, 82, 84], "graviti": [37, 76, 82], "begg": [37, 82], "brill": [37, 82], "1973": [37, 82], "combin": [37, 52, 79, 81, 86, 88], "variat": [37, 72, 73, 85, 86], "methan": 37, "55": 37, "vari": [37, 73, 79, 86], "oil_and_ga": [37, 38, 39, 40, 41, 82], "gas_density_calc": 37, "calculate_gas_dens": [37, 82], "cd": [37, 71], "density_pr_tmp": 37, "5534": 37, "t_var": 37, "p_con": 37, "psi": [37, 82], "pcf": [37, 82], "p_var": 37, "t_con": 37, "385": [37, 42], "plot_gas_density_calc": [37, 42], "fundament": 38, "mass": [38, 65, 82, 87], "balanc": [38, 85], "conserv": [38, 72], "goal": 38, "featur": [38, 71, 84, 86], "composit": 38, "itself": [38, 71], "tabl": [38, 82], "lab": 38, "olga": [38, 82], "transient": [38, 47, 73], "multiphas": 38, "pickl": [38, 41], "mdate": 38, "live_fluid_properti": [38, 82], "retrieve_fluid_properti": [38, 82], "load": [38, 44, 65, 71], "press_temp_bh": 38, "wh": 38, "rb": 38, "pvt_data": [38, 82], "pbh": 38, "tbh": 38, "pwf": 38, "twf": 38, "hole": [38, 40, 82], "bara": 38, "wellhead": 38, "gas_den_bh": 38, "param": [38, 82], "rog": 38, "gas_den_wh": 38, "liq_den_bh": 38, "rohl": 38, "liq_den_wh": 38, "hl_bh": 38, "cphl": 38, "hl_wh": 38, "hg_bh": 38, "cpg": 38, "hg_wh": 38, "ravel": [38, 41], "idx": [38, 41, 69], "enumer": [38, 41, 71], "set_major_loc": 38, "dayloc": 38, "interv": [38, 73, 82, 84, 88], "plot_live_fluid_properti": [38, 42], "emerg": 39, "down": [39, 71, 75, 83, 88], "least": [39, 73, 83], "shut_in_detector": 39, "calculate_shutin_interv": [39, 82], "shi": 39, "shut_down_valv": 39, "load_shutin_valve_data": 39, "hr": [39, 40, 65, 81, 84, 88], "greater": [39, 55, 73, 84, 86, 88], "shutin_state_below_threshold": [39, 82], "fals": [39, 50, 72, 73, 74, 76, 77, 79, 82, 83, 85, 86, 88], "min_shutin_len": [39, 82], "ylim": 39, "plot_shut_in_detector": [39, 42], "reservoir": [40, 82], "engin": [40, 71, 76, 80], "drawdown": 40, "wing": [40, 41, 82], "correspond": [40, 82, 88], "25": [40, 52, 72, 80, 84], "ins": [40, 82], "shut_in_vari": 40, "calculate_shutin_vari": [40, 82], "shvar": 40, "bottom_hole_pressur": 40, "shut_in_detected_25hr": 40, "shut_in_pressure_data": 40, "gz": 40, "gzip": 40, "parse_d": 40, "dtype": [40, 52, 69, 88], "load_pressure_shut_in_data": 40, "grai": 40, "psig": 40, "13000": 40, "20000": 40, "framealpha": 40, "908": 40, "plot_shut_in_vari": [40, 42], "unnam": 41, "form": [41, 80, 86], "datafram": [41, 74, 82, 83, 86], "consist": [41, 71, 83, 86, 87], "choke": [41, 82], "off": [41, 71, 72, 75, 85, 88], "ON": 41, "calculate_well_prod_statu": [41, 82], "prod_statu": 41, "threshold_chok": [41, 82], "threshold_mast": [41, 82], "threshold_w": [41, 82], "y_label": 41, "y_lim_max": 41, "105": 41, "y_lim_min": 41, "397": 41, "plot_well_prod_statu": [41, 42], "auto_examples_oil_and_ga": 42, "often": [44, 78], "even": [44, 69], "subtract": [44, 88], "corel": 44, "reduc": [44, 73], "msk": 44, "rand": 44, "raw_sensor1": 44, "raw_sensor2": 44, "now": [44, 84], "our": [44, 69, 70, 71], "re_sensor1": 44, "re_sensor2": 44, "slinear": [44, 83], "assert": 44, "rolling_correl": 44, "corr": [44, 61], "sharex": 44, "plot_pearson_correl": [44, 45, 61, 63], "auto_examples_reindex": 45, "aggreg": [47, 83], "denot": [47, 71, 77, 79, 83], "produc": [47, 52, 55, 56, 65, 82], "Then": [47, 71, 73], "group_by_region": [47, 83], "place": [47, 59, 60, 71, 82], "present": [47, 71], "aggregated_result": 47, "ko": 47, "accord": [47, 74, 87], "46": [], "271": [], "plot_group_by_region": [47, 48], "auto_examples_resampl": 48, "line1": 50, "ts_rnd_gap": 50, "ts_1_gap": 50, "overlap": [50, 83, 84], "get_xaxi": 50, "set_vis": 50, "186": 50, "plot_synthetic_gap": [50, 53], "univariate_polynomi": [51, 84], "1e": [51, 52], "coefficients_1": 51, "coefficients_2": 51, "coefficients_3": 51, "395": 51, "plot_univariate_polynomi": [51, 53], "sinusoid": [52, 84], "panel": 52, "complex": [52, 73], "recurs": [52, 85], "And": 52, "plu": [52, 84], "linearli": 52, "wave_with_brownian_nois": [52, 84], "w_period": 52, "w_mean": 52, "w_amplitud": 52, "w_phase": 52, "all_wav": 52, "linear_sig": 52, "40": [52, 76], "sloping_wav": 52, "snr": [52, 84], "237": [52, 53], "plot_wavy_sign": [52, 53], "auto_examples_sign": 53, "lwma": [55, 85], "exponenti": [55, 73, 80, 88], "ewma": [55, 85], "less": [55, 71, 72, 73, 84, 85, 88], "noisi": [55, 73, 85], "delai": [55, 84, 85], "stronger": [55, 56, 71, 85], "20min": 55, "mediumblu": [55, 56], "win": [55, 56], "darkorang": 55, "forestgreen": [55, 56, 62], "50min": 55, "561": [55, 57], "plot_ma": [55, 57], "expos": [56, 71], "keep": [56, 71, 84], "nice": 56, "155": 56, "156": [56, 57], "plot_sg_smooth": [56, 57, 71], "auto_examples_smooth": 57, "detect_outli": [59, 60, 86], "rng1": [59, 60], "mu": [59, 60], "sigma": [59, 60, 85], "outliers_posit": [59, 60], "outliers_neg": [59, 60], "concaten": [59, 60], "240": [59, 60], "shuffl": [59, 60], "2021": [59, 60, 76, 80, 88], "244": [59, 60], "32": [59, 63], "321": [59, 63], "plot_detect_outliers_001": [59, 63], "324": [60, 63], "plot_detect_outliers_002": [60, 63], "pearson_correl": [61, 86], "num_datapoint": 61, "y1": 61, "standard_norm": 61, "y2": 61, "data2": [61, 83, 86], "data1": [61, 83, 86], "ax_": 61, "450": 61, "40min": 62, "better": [62, 71, 73], "suggest": [62, 71, 82], "nwin": 62, "csap": [62, 80, 86], "232": 62, "plot_remove_outli": [62, 63], "645": 63, "auto_examples_statist": 63, "consumpt": [65, 87], "regard": [65, 73, 85], "emiss": [65, 80], "amount": [65, 72, 76, 79, 84], "associ": 65, "valhal": 65, "platform": 65, "co2_emissions_calcul": [65, 87], "cumulative_co2_cost": [65, 87], "cumulative_co2_product": [65, 87], "rate_of_emiss": [65, 87], "compressor_power_output": 65, "kw": 65, "co2_cost_factor": [65, 87], "nok": 65, "emissions_factor": [65, 87], "kwh": 65, "rate_co2_produc": 65, "co2_produc": 65, "co2_cost": 65, "emit": [65, 87], "tonn": [65, 87], "1e6": 65, "mnok": 65, "511": [65, 66], "plot_cumulative_co2": [65, 66], "auto_examples_sustain": 66, "270": [68, 69], "auto_examples_vers": 68, "versioned_funct": [68, 69], "come": [69, 71, 72, 82, 86], "select": [69, 72, 82, 86], "abs_diff": 69, "element": [69, 88], "naiv": 69, "begin": [69, 71, 87], "regist": [69, 71, 74], "ab": 69, "kei": 69, "decor": [69, 71, 74], "soon": 69, "retriev": [69, 77, 80], "newer": 69, "happen": [69, 71, 82, 88], "2h": [69, 83], "float64": [69, 88], "fix": [69, 71, 83], "next": [69, 83], "noqa": [69, 71], "get_registered_funct": [69, 74], "no_op": 69, "sg_smoother": 69, "alma_smooth": 69, "arma_smooth": 69, "btr_smoother": 69, "chb_smoother": 69, "exp_wma": 69, "linear_wma": 69, "simple_ma": 69, "resample_extend": 69, "poly_regressor": 69, "shutin_calc": 69, "pi_calc": 69, "passthrough": 69, "outlier_detector": 69, "drift_detector": 69, "ss_detector": 69, "variable_ma": 69, "outliers_remov": 69, "floor": [69, 88], "ceil": [69, 88], "sign": [69, 71, 72, 88], "sin": [69, 88], "co": [69, 88], "tan": [69, 88], "arcsin": [69, 88], "arcco": [69, 88], "arctan": [69, 88], "arctan2": [69, 88], "deg2rad": [69, 88], "rad2deg": [69, 88], "sinh": [69, 88], "cosh": [69, 88], "tanh": [69, 88], "arcsinh": [69, 88], "arccosh": [69, 88], "arctanh": [69, 88], "sub": [69, 77, 88], "div": [69, 88], "pow": 69, "inv": [69, 88], "sqrt": [69, 76, 88], "mod": [69, 72, 88], "ddx": 69, "log": [69, 88], "log2": [69, 88], "log10": [69, 88], "logn": [69, 88], "versioning_test_op": 69, "get_vers": [69, 74], "access": [69, 71], "command": [69, 71], "abs_diff_v1": 69, "omit": 69, "latest": [69, 74, 86], "abs_diff_v1_1": 69, "sphinx_gallery_thumbnail_path": 69, "_static": 69, "versioning_thumbnail": 69, "png": 69, "contributor": 70, "coven": 70, "pledg": 70, "member": [70, 71], "leader": 70, "particip": 70, "commun": [70, 71], "harass": 70, "experi": [70, 71], "everyon": 70, "regardless": 70, "ag": 70, "bodi": 70, "visibl": 70, "invis": 70, "ethnic": 70, "sex": 70, "gender": 70, "ident": 70, "express": [70, 76, 86], "educ": 70, "socio": 70, "econom": 70, "nation": 70, "person": 70, "appear": 70, "race": 70, "religion": 70, "sexual": 70, "orient": [70, 76], "act": 70, "interact": 70, "wai": [70, 71], "contribut": [70, 80], "welcom": [70, 71], "divers": 70, "inclus": [70, 88], "healthi": 70, "posit": [70, 71, 73, 77, 84, 85], "environ": [70, 71], "empathi": 70, "kind": [70, 83], "toward": [70, 85], "peopl": 70, "Being": 70, "opinion": 70, "viewpoint": 70, "construct": [70, 71, 88], "feedback": 70, "respons": [70, 85, 86], "apolog": 70, "affect": [70, 71, 73], "mistak": 70, "learn": [70, 80], "focus": [70, 71], "just": 70, "individu": 70, "unaccept": 70, "languag": [70, 71], "imageri": 70, "attent": 70, "advanc": [70, 84], "troll": 70, "insult": 70, "derogatori": 70, "polit": 70, "attack": 70, "public": 70, "physic": [70, 72, 78], "email": 70, "address": [70, 71], "explicit": [70, 71, 82], "permiss": 70, "could": [70, 71, 77, 83], "inappropri": 70, "profession": 70, "clarifi": 70, "take": [70, 71, 73, 84, 88], "appropri": [70, 71, 77, 86], "fair": 70, "deem": 70, "threaten": 70, "offens": 70, "harm": 70, "edit": 70, "wiki": [70, 77, 86], "moder": 70, "decis": 70, "scope": 70, "within": [70, 71, 72, 73, 78, 79, 83, 85, 86], "space": [70, 71], "offici": [70, 71], "mail": 70, "post": 70, "via": [70, 71], "social": 70, "media": 70, "account": [70, 73, 76], "appoint": 70, "onlin": 70, "offlin": 70, "abus": 70, "mai": [70, 73, 77, 85, 88], "report": [70, 71], "com": [70, 71, 76], "complaint": 70, "review": [70, 71], "investig": 70, "promptli": 70, "fairli": 70, "oblig": 70, "privaci": 70, "secur": 70, "incid": 70, "guidelin": [70, 71], "impact": [70, 73], "violat": 70, "unprofession": 70, "unwelcom": 70, "written": [70, 71], "clariti": 70, "around": 70, "natur": [70, 88], "explan": 70, "why": 70, "apologi": 70, "request": [70, 83], "continu": 70, "involv": [70, 73, 79], "unsolicit": 70, "extern": [70, 72], "channel": 70, "lead": [70, 88], "temporari": 70, "perman": 70, "ban": 70, "seriou": 70, "sort": [70, 74], "pattern": [70, 79], "aggress": 70, "disparag": 70, "attribut": [70, 71], "adapt": [70, 72], "homepag": 70, "http": [70, 72, 73, 76, 77, 81, 86, 88], "www": [70, 88], "org": [70, 72, 73, 77, 81, 86, 88], "code_of_conduct": 70, "html": [70, 71, 72, 81, 86, 88], "inspir": [70, 71], "mozilla": 70, "ladder": 70, "answer": 70, "question": 70, "see": [70, 71, 77], "faq": 70, "translat": 70, "project": 71, "effort": 71, "host": 71, "publicli": 71, "intern": [71, 76, 78], "moment": [71, 85], "custom": 71, "earli": 71, "adopt": 71, "program": 71, "hub": 71, "site": 71, "If": [71, 72, 73, 74, 76, 77, 79, 82, 83, 84, 85, 86, 87, 88], "yet": 71, "pleas": [71, 83], "guid": 71, "object": [71, 72, 80, 84], "indl": 71, "scientist": [71, 80], "rich": 71, "speed": [71, 78], "highli": 71, "encourag": 71, "nich": 71, "expeertis": 71, "nevertheless": 71, "scientif": 71, "agnost": 71, "scienc": 71, "picki": 71, "minim": [71, 73, 85], "exploratori": [71, 80], "analyt": [71, 72, 80], "strive": 71, "save": 71, "comprehens": 71, "mind": 71, "There": [71, 82], "ones": [71, 85], "sphx_glr_auto_exampl": 71, "compli": 71, "instal": 71, "prefer": 71, "although": [71, 72], "paramount": 71, "don": 71, "hesit": 71, "submit": 71, "someth": 71, "plai": 71, "interfac": 71, "adher": 71, "belong": [71, 86], "under": [71, 74], "folder": 71, "pass": [71, 73, 79, 80, 84, 88], "ui": 71, "string": [71, 72, 75, 81, 84, 85, 88], "restrict": [71, 83], "infrastructur": 71, "fetch": 71, "recommend": [71, 73, 82, 85], "manag": 71, "pip": [71, 80], "clone": 71, "repositori": 71, "git": 71, "cognitedata": 71, "synchron": 71, "remot": 71, "checkout": 71, "never": [71, 84], "my_new_algorithm": 71, "dev": 71, "new_modul": 71, "erron": 71, "check_typ": 71, "finish": 71, "mileston": 71, "record": 71, "quot": 71, "concis": 71, "thrown": 71, "area": 71, "cannot": [71, 82], "practic": 71, "store": 71, "root": [71, 73, 80, 88], "structur": 71, "pytest": 71, "send": 71, "sure": 71, "ran": 71, "proper": 71, "divid": [71, 76, 78, 82, 85, 88], "categori": 71, "pyproject": 71, "toml": 71, "section": [71, 76], "pars": [71, 82], "properli": 71, "technic": 71, "tripl": [71, 80], "backslash": 71, "latex": 71, "render": 71, "googl": 71, "unless": 71, "write": 71, "punctuat": 71, "break": 71, "describ": [71, 86], "poly_ord": [71, 72], "arg": [71, 74], "possibl": [71, 83, 85], "rule": [71, 81, 86, 88], "charact": 71, "squar": [71, 88], "bracket": 71, "math": 71, "inlin": 71, "enclos": 71, "roman": 71, "ital": 71, "mathrm": [71, 76, 87], "pump_liquid_flowr": [71, 76], "frac": [71, 76], "vice": [71, 85], "versa": [71, 85], "domin": [71, 85], "attenu": [71, 85], "rst": 71, "entri": 71, "subtitl": 71, "underlin": 71, "symbol": 71, "autofunct": 71, "autogener": 71, "topic": 71, "materi": 71, "sphx_glr_autoexamples_": 71, "toolbox_fold": 71, "example_cod": 71, "ref": [71, 86, 88], "sphx_glr_auto_examples_smooth_plot_sg_smooth": 71, "pick": 71, "relev": [71, 77, 80], "human": 71, "readabl": 71, "These": [71, 72, 73], "special": 71, "variabl": [71, 79, 80], "signatur": 71, "__cognite__": 71, "__init__": 71, "share": 71, "purpos": [71, 76], "offer": [71, 83, 84], "crazi": 71, "amaz": 71, "repo": 71, "own": 71, "prefix": 71, "plot_": 71, "plot_my_new_algo_featur": 71, "At": [71, 85], "39": 71, "onc": 71, "path_to_fil": 71, "commit_messag": 71, "your_branch_nam": 71, "built": 71, "correctli": [71, 88], "successfulli": 71, "prompt": 71, "rtd": 71, "theme": 71, "auto_exampl": 71, "noth": 71, "realli": 71, "being": [71, 72, 88], "longer": [71, 73, 85], "confus": 71, "awar": 71, "stage": 71, "insid": [71, 76, 85], "info": 71, "id": 71, "pycharm": 71, "termin": [71, 76], "previou": [71, 73, 74, 83, 85], "success": [71, 84], "navig": 71, "mac": 71, "satisfi": 71, "exist": 71, "applic": [71, 76, 77], "histori": 71, "older": [71, 85], "notifi": 71, "detail": [71, 72], "hold": 71, "incompat": 71, "renam": 71, "modif": 71, "backward": [71, 83], "compat": 71, "manner": 71, "myfunc": 71, "mymod": 71, "releas": [71, 80, 87], "mymod_vx": 71, "mymod_v1": 71, "becom": [71, 73], "look": [71, 72], "changelog": [71, 74, 80], "increment": [71, 79], "semant": 71, "recent": [71, 73, 85], "test_mymod": 71, "test_mymod_v1": 71, "readi": 71, "draft": 71, "jira": 71, "backlog": 71, "track": 71, "team": 71, "global": 71, "grow": 71, "new_algorithm": 71, "test_new_algorithm": 71, "whole": 71, "highlight": 71, "succ": 71, "wip": 71, "deploi": 71, "node": 71, "storybook": 71, "chromat": 71, "scroll": 71, "inspect": 71, "stori": 71, "futur": [71, 79], "source_file_or_directori": 71, "enhanc": 71, "sync": 71, "my_branch_nam": 71, "page": [71, 80], "who": 71, "doesn": 71, "meet": 71, "still": 71, "necessari": 71, "throughout": 71, "abbrevi": 71, "cutoff_good": 72, "cutoff_m": 72, "method_period": 72, "infer": [72, 83], "fall": [72, 85], "character": [72, 85, 86], "categoris": 72, "typeerror": 72, "valueerror": [72, 76, 83], "ten": 72, "test_normality_assumpt": 72, "bool": [72, 73, 74, 76, 77, 79, 82, 83, 85, 86, 88], "stand": 72, "cut": [72, 88], "shapiro": [72, 88], "wilk": [72, 88], "usertypeerror": [72, 73, 74, 79, 83, 84, 86, 88], "q3": 72, "q1": 72, "stdev": [72, 86], "pydata": [72, 81, 86, 88], "api": [72, 81, 86, 88], "167": 72, "zarruk": 72, "procedur": 72, "bonferroni": 72, "treat": 72, "hat": 72, "matrix": 72, "diagon": 72, "rapid": 72, "refit": 72, "risk": 72, "smaller": [72, 83, 88], "return_outli": 72, "unusu": 72, "iter": 72, "popul": 72, "situat": [72, 73], "boneferroni": 72, "digit": [72, 85], "ideal": [72, 85], "distort": [72, 85], "tendenc": [72, 85], "unlik": 72, "By": [72, 76], "analog": [72, 85], "techniqu": [72, 73, 79], "lebel": 72, "speak": 72, "shouldn": 72, "One": 72, "meant": 72, "mani": [72, 84, 88], "time_period": 72, "difference_threshold": 72, "ago": 72, "apart": 72, "closest": 72, "long_interv": 73, "short_interv": 73, "std_threshold": 73, "multipli": [73, 87, 88], "significantli": 73, "lpc": 73, "circl": 73, "plane": 73, "ocil": 73, "profici": 73, "uniformli": [73, 85], "quantif": 73, "loop": 73, "eng": 73, "sc": 73, "tech": 73, "intnl": 73, "journal": 73, "2020": 73, "homogen": 73, "return_series_typ": 73, "cusum_binary_result": 73, "mean_data": 73, "positive_cumulative_sum": 73, "negative_cumulative_sum": 73, "exceed": 73, "ttalarm": 73, "restart": 73, "slow": 73, "standalon": 73, "leav": 73, "rest": 73, "accordingli": [73, 87], "standard_devi": 73, "fewer": [73, 76], "alarm": 73, "data_standard_devi": 73, "data_mean": 73, "prolong": 73, "intermedi": 73, "nbviewer": 73, "demotu": 73, "detecta": 73, "blob": 73, "detect_cusum": 73, "ssid": 73, "ratio_lim": 73, "alpha1": 73, "alpha2": 73, "alpha3": 73, "ration": 73, "alpa": 73, "sequenti": 73, "impli": [73, 83], "benefit": 73, "arl": 73, "undesir": 73, "broaden": 73, "confound": 73, "\u03bb": 73, "ii": [73, 85], "ss": 73, "rhinehart": 73, "russel": 73, "2013": 73, "proceed": 73, "confer": 73, "4477": 73, "4493": 73, "1109": 73, "acc": 73, "6580530": 73, "vma": 73, "flat": [73, 85], "lookup": 73, "alert": 73, "callabl": 74, "get_changelog": 74, "func": 74, "get_nam": 74, "highest": 74, "is_deprec": 74, "is_vers": 74, "pep": 74, "440": 74, "suppli": 74, "cmp": 74, "equival": 74, "5a1": 74, "5b3": 74, "4a3": 74, "4b1": 74, "3pl1": 74, "sequenc": [74, 82], "kwarg": 74, "userexcept": 74, "runtim": 74, "validate_series_has_minimum_length": 74, "min_len": 74, "validate_series_has_time_index": 74, "datetimeindex": [74, 77, 84, 85], "validate_series_is_not_empti": 74, "validate_timedelta": 74, "nat": 74, "strictli": 74, "validate_timedelta_unit": 74, "rotation_detect": 75, "rot_vel": 75, "thresh": 75, "veloc": [75, 78], "rpm": 75, "onbottom_detect": 75, "bit_depth": 75, "hole_depth": 75, "assembli": 75, "depth": [75, 76], "bit": 75, "onbottom": 75, "inhole_detect": 75, "inhol": 75, "circulation_detect": 75, "flow_rat": 75, "rig": 75, "thresholdthreshold": 75, "filled_volume_ellipsoidal_head_vessel": 76, "horizont": [76, 84], "vertic": 76, "partial": 76, "convex": 76, "provis": 76, "made": 76, "ellipt": 76, "diamet": 76, "cylindr": 76, "dish": 76, "extend": 76, "height": 76, "lowest": 76, "surfac": [76, 78], "m\u00b3": 76, "caleb": 76, "bell": 76, "2016": 76, "dynam": [76, 80], "chemic": 76, "chedl": 76, "calebbel": 76, "filled_volume_spherical_head_vessel": 76, "hemispher": 76, "filled_volume_torispherical_head_vessel": 76, "asm": 76, "semi": 76, "din": 76, "28011": 76, "28013": 76, "radiu": 76, "knuckl": 76, "essenti": 76, "he": 76, "p_": 76, "rho_l": 76, "81": 76, "optim": [76, 86], "rel": [76, 78, 84], "110": 76, "deliv": [76, 87], "q_l": 76, "81q_l": 76, "rho_lh": 76, "hp": 76, "eta": 76, "align_timestamp": 76, "whose": 76, "maintain": 76, "usual": 76, "81q_": 76, "though": 76, "inlet_p": 76, "outlet_p": 76, "gas_expansion_factor": 76, "inlet_t": 76, "meter": 76, "newtonian": 76, "phase": [76, 83, 84], "c_": 76, "ae": 76, "incompress": 76, "q": 76, "nc_": 76, "865": 76, "gpm": 76, "t_": 76, "417": 76, "proport": 76, "c_v": 76, "imperi": 76, "simpler": 76, "expans": 76, "3f_": 76, "gamma": 76, "x_": 76, "f_": 76, "heat": [76, 87], "specfif": 76, "capac": 76, "pv": [76, 82], "nrt": 76, "recogn": 76, "ansi": 76, "isa": 76, "75": [76, 85], "2007": 76, "iec": 76, "60534": 76, "1mod": 76, "research": 76, "triangl": 76, "park": 76, "north": 76, "carloina": 76, "filter_bi": [77, 83], "int_to_keep": [77, 83], "presenc": [77, 83], "cast": [77, 83], "insuffici": [77, 83], "db1": 77, "db2": 77, "db3": 77, "db4": 77, "db5": 77, "db7": 77, "sym2": 77, "sym3": 77, "coif1": 77, "coif2": 77, "coif3": 77, "coif4": 77, "coif5": 77, "de": 77, "dual": 77, "valuabl": 77, "en": [77, 86], "wikipedia": [77, 85, 86], "daubechi": 77, "pywavelet": 77, "orthogon": 77, "biorthogon": 77, "fluid_dynam": 78, "d_viscos": 78, "length_scal": 78, "inerti": 78, "forc": 78, "viscou": 78, "subject": 78, "movement": [78, 85], "viscos": 78, "system": 78, "volum": [78, 87], "rough": 78, "propos": 78, "1983": 78, "professor": 78, "norwegian": 78, "institut": 78, "technologi": 78, "directli": 78, "darci": 78, "weisbach": 78, "circular": 78, "pipe": 78, "approxim": 78, "implicit": 78, "colebrook": 78, "discrep": 78, "experiment": 78, "accuraci": 78, "arma_predictor": 79, "ar_ord": [79, 85], "ma_ord": [79, 85], "train_fract": 79, "methodtyp": 79, "onestep": 79, "ma": [79, 85, 86], "multistep": 79, "sever": 79, "ahead": 79, "append": 79, "incorrect": 79, "keyword": [79, 88], "dampen_trend": 79, "thrice": 79, "cycl": [79, 84], "chosen": 79, "timestep": [79, 88], "hourli": 79, "365": 79, "yearli": 79, "spike": 79, "everi": [79, 84], "sundai": 79, "dampen": 79, "shall": 79, "flatten": 79, "Its": 80, "twofold": 80, "empow": 80, "conduct": 80, "analyz": 80, "drive": 80, "behind": 80, "curat": 80, "document": 80, "additon": 80, "faster": 80, "machin": 80, "vessel": 80, "dimensionless": 80, "autoregress": 80, "numer": 80, "calculu": 80, "trapezoid": [80, 87, 88], "oil": 80, "fourier": 80, "grade": 80, "logarithm": 80, "trigonometr": 80, "compliant": 80, "v8": 80, "v7": 80, "v6": 80, "0a1": 80, "0a0": 80, "2023": 80, "07": 80, "23": 80, "29": 80, "v4": 80, "26": 80, "22": 80, "v3": 80, "v2": 80, "v1": 80, "v0": 80, "time_unit": [81, 88], "finit": [81, 88], "accur": [81, 88], "central": [81, 88], "boundari": [81, 88], "overrid": [81, 88], "43": [81, 88], "integrand_r": [81, 88], "sec": [81, 84, 88], "milli": [81, 84, 88], "microsecond": [81, 84, 88], "micro": [81, 84, 88], "nanosecond": [81, 84, 88], "nano": [81, 84, 88], "law": 82, "psuedo": 82, "tempreatur": 82, "sutton": 82, "1985": 82, "kareem": 82, "zrt": 82, "degf": 82, "fahrenheit": 82, "lbm": 82, "ft3": 82, "pound": 82, "cubic": [82, 83, 86], "foot": 82, "productivity_index": 82, "p_re": 82, "p_bh": 82, "q_ga": 82, "bottomhol": 82, "shut_valv": 82, "min_time_btw_shutin": 82, "shutin_threshold": 82, "manual": 82, "histogram": 82, "tell": 82, "ask": 82, "variable_sign": 82, "shutin_sign": 82, "hrs_after_shutin": 82, "onset": 82, "master_valv": 82, "wing_valv": 82, "choke_valv": 82, "interp_method": 82, "nearest": [82, 86, 88], "temp": 82, "pair": 82, "pvtsim": 82, "multiflash": 82, "pvt": 82, "assertionerror": 82, "stepwis": 83, "quadrat": 83, "pointwis": 83, "yield": 83, "zeroth": 83, "third": 83, "polyphas": 83, "granularity_curr": 83, "granularity_next": 83, "num": 83, "downsampling_factor": 83, "interpolate_resolut": 83, "ffill_resolut": 83, "upsampl": 83, "downsampl": 83, "tempor": 83, "outside_fil": 83, "stepinterpol": 83, "wide": 83, "3m": 83, "onto": 83, "intersect": 83, "facil": 84, "commonli": 84, "irregular": 84, "flaw": 84, "enter": 84, "const_valu": 84, "assumpt": [84, 88], "week": 84, "crest": 84, "wavelength": 84, "radian": [84, 88], "defualt": 84, "data_buff": 84, "buffer": 84, "kept": [84, 88], "impos": 84, "decibel": 84, "comparison": 84, "background": 84, "fresh": 84, "unpredict": 84, "14400": 84, "a_": 84, "a_0": 84, "a_1x": 84, "a_2x": 84, "a_3x": 84, "a_nx": 84, "comma": 84, "offset_factor": 85, "financi": 85, "strike": 85, "captur": 85, "lag": 85, "offset": 85, "width": [85, 86], "past": 85, "Not": [85, 86], "popular": 85, "quantifi": 85, "max_pt": 85, "resample_window": 85, "yt": 85, "\u03b1": 85, "\u03b1xt": 85, "xt": 85, "x0": 85, "slowli": 85, "3w": [85, 86], "10d": [85, 86], "regular": 85, "decai": 85, "span": [85, 88], "na": 85, "w_i": 85, "plain": 85, "gradual": 85, "wn": 85, "btype": 85, "lowpass": 85, "highpass": 85, "passband": 85, "stopband": 85, "nyquist": 85, "filter_typ": 85, "rp": 85, "steeper": 85, "rippl": 85, "uniti": 85, "gain": 85, "saviztki": 85, "odd": 85, "your": [85, 86], "as_json": 86, "bolling": 86, "graphic": 86, "envelop": 86, "histor": 86, "json": 86, "reg_smooth": 86, "min_sampl": 86, "del_zero_v": 86, "cluster": 86, "shape": 86, "abl": 86, "flexibl": 86, "life": 86, "readthedoc": 86, "io": 86, "formul": 86, "distinct": 86, "thumb": 86, "minpt": 86, "noisier": 86, "dimension": 86, "ester": 86, "1996": 86, "dim": 86, "sander": 86, "1998": 86, "neighborhood": 86, "neighbor": 86, "ascend": 86, "graph": 86, "curvatur": 86, "greatest": 86, "furthest": 86, "neighbour": 86, "epsilon": 86, "along": 86, "pearson_correlation_coeffici": 86, "year": 87, "consum": 87, "currenc": 87, "fuel": 87, "emissions_factor_combustor": 87, "heating_valu": 87, "carbon_cont": 87, "turbin": 87, "flare": 87, "etc": 87, "ef": 87, "carbon": 87, "content": 87, "countri": 87, "legal": 87, "arithmetic_mean": 88, "arithmetic_mean_mani": 88, "denomin": 88, "invers": 88, "dividend": 88, "divisor": 88, "negat": 88, "expon": 88, "integrate_window": 88, "ndarrai": 88, "dt": 88, "from_to_index": 88, "number_of_window": 88, "midpoint": 88, "parallel": 88, "sped": 88, "window_index": 88, "np_datetime_n": 88, "windowlength_in_n": 88, "suppos": 88, "retrun": 88, "timewindow": 88, "logarithmic_funct": 88, "ln": 88, "trigonometric_funct": 88, "arccosin": 88, "hyperbol": 88, "tangent": 88, "x1": 88, "x2": 88, "arc": 88, "quadrant": 88, "arctang": 88, "cosin": 88, "angl": 88, "radiant": 88, "utility_funct": 88, "map": 88, "inf": 88, "edg": 88, "create_series_from_timestep": 88, "generate_step_seri": 88, "unix": 88, "januari": 88, "1st": 88, "iqr_test": 88, "modified_z_scores_test": 88, "normality_assumption_test": 88, "max_data_point": 88, "min_p_valu": 88, "min_w": 88, "nrc": 88, "gov": 88, "ml1714": 88, "ml17143a100": 88, "pdf": 88, "to_remov": 88, "range_from": 88, "range_to": 88, "seper": 88, "semicolon": 88, "undefin": 88, "deactiv": 88, "to_replac": 88, "decim": 88, "set_timestamp": 88, "timestamp_seri": 88, "value_seri": 88, "threshold_test": 88, "time_shift": 88, "n_unit": 88, "series1": 88, "series2": 88, "occur": 88, "z_scores_test": 88, "605": [3, 12], "182": [15, 18], "145": [47, 48]}, "objects": {"indsl.data_quality.completeness": [[72, 0, 1, "", "completeness_score"]], "indsl.data_quality": [[72, 0, 1, "", "datapoint_diff_over_time_period"], [72, 0, 1, "", "extreme"], [72, 0, 1, "", "gaps_identification_iqr"], [72, 0, 1, "", "gaps_identification_modified_z_scores"], [72, 0, 1, "", "gaps_identification_threshold"], [72, 0, 1, "", "gaps_identification_z_scores"], [72, 0, 1, "", "low_density_identification_iqr"], [72, 0, 1, "", "low_density_identification_modified_z_scores"], [72, 0, 1, "", "low_density_identification_threshold"], [72, 0, 1, "", "low_density_identification_z_scores"], [72, 0, 1, "", "rolling_stddev_timedelta"], [72, 0, 1, "", "value_decrease_check"]], "indsl.data_quality.outliers": [[72, 0, 1, "", "out_of_range"]], "indsl.detect": [[73, 0, 1, "", "cpd_ed_pelt"], [73, 0, 1, "", "cusum"], [73, 0, 1, "", "drift"], [73, 0, 1, "", "ssd_cpd"], [73, 0, 1, "", "ssid"], [73, 0, 1, "", "vma"]], "indsl.detect.oscillation_detector": [[73, 0, 1, "", "oscillation_detector"]], "indsl.detect.unchanged_signal_detector": [[73, 0, 1, "", "unchanged_signal_detector"]], "indsl.drilling": [[75, 0, 1, "", "circulation_detection"], [75, 0, 1, "", "inhole_detection"], [75, 0, 1, "", "onbottom_detection"], [75, 0, 1, "", "rotation_detection"]], "indsl.equipment": [[76, 0, 1, "", "filled_volume_ellipsoidal_head_vessel"], [76, 0, 1, "", "filled_volume_spherical_head_vessel"], [76, 0, 1, "", "filled_volume_torispherical_head_vessel"], [76, 0, 1, "", "percent_BEP_flowrate"], [76, 0, 1, "", "pump_hydraulic_power"], [76, 0, 1, "", "pump_shaft_power"], [76, 0, 1, "", "recycle_valve_power_loss"], [76, 0, 1, "", "total_head"]], "indsl.equipment.valve_parameters": [[76, 0, 1, "", "flow_through_valve"]], "indsl": [[74, 1, 0, "-", "exceptions"], [74, 1, 0, "module-0", "validations"], [74, 1, 0, "-", "versioning"]], "indsl.exceptions": [[74, 2, 1, "", "UserException"], [74, 2, 1, "", "UserRuntimeError"], [74, 2, 1, "", "UserTypeError"], [74, 2, 1, "", "UserValueError"]], "indsl.filter": [[77, 0, 1, "", "status_flag_filter"], [77, 0, 1, "", "wavelet_filter"]], "indsl.fluid_dynamics": [[78, 0, 1, "", "Haaland"], [78, 0, 1, "", "Re"]], "indsl.forecast": [[79, 0, 1, "", "arma_predictor"], [79, 0, 1, "", "holt_winters_predictor"]], "indsl.oil_and_gas": [[82, 0, 1, "", "calculate_gas_density"], [82, 0, 1, "", "calculate_shutin_interval"], [82, 0, 1, "", "calculate_shutin_variable"], [82, 0, 1, "", "calculate_well_prod_status"], [82, 0, 1, "", "productivity_index"]], "indsl.oil_and_gas.live_fluid_properties": [[82, 0, 1, "", "retrieve_fluid_properties"]], "indsl.resample": [[83, 0, 1, "", "group_by_region"], [83, 0, 1, "", "interpolate"], [83, 0, 1, "", "reindex"], [83, 0, 1, "", "resample"], [83, 0, 1, "", "resample_to_granularity"]], "indsl.signals.generator": [[84, 0, 1, "", "const_value"], [84, 0, 1, "", "insert_data_gaps"], [84, 0, 1, "", "line"], [84, 0, 1, "", "perturb_timestamp"], [84, 0, 1, "", "sine_wave"], [84, 0, 1, "", "wave_with_brownian_noise"]], "indsl.signals.noise": [[84, 0, 1, "", "white_noise"]], "indsl.signals.polynomial": [[84, 0, 1, "", "univariate_polynomial"]], "indsl.smooth": [[85, 0, 1, "", "alma"], [85, 0, 1, "", "arma"], [85, 0, 1, "", "butterworth"], [85, 0, 1, "", "chebyshev"], [85, 0, 1, "", "ewma"], [85, 0, 1, "", "lwma"], [85, 0, 1, "", "sg"], [85, 0, 1, "", "sma"]], "indsl.statistics.confidence": [[86, 0, 1, "", "bands"]], "indsl.statistics.outliers": [[86, 0, 1, "", "detect_outliers"], [86, 0, 1, "", "remove_outliers"]], "indsl.statistics": [[86, 0, 1, "", "pearson_correlation"]], "indsl.sustainability.co2_emissions_calculations": [[87, 0, 1, "", "cumulative_co2_cost"], [87, 0, 1, "", "cumulative_co2_production"], [87, 0, 1, "", "emissions_factor_combustor"], [87, 0, 1, "", "rate_of_emissions"]], "indsl.ts_utils": [[88, 1, 0, "-", "logarithmic_functions"], [88, 1, 0, "-", "numerical_calculus"], [88, 1, 0, "-", "operators"], [88, 1, 0, "-", "trigonometric_functions"], [88, 1, 0, "-", "utility_functions"]], "indsl.ts_utils.logarithmic_functions": [[88, 0, 1, "", "exp"], [88, 0, 1, "", "log"], [88, 0, 1, "", "log10"], [88, 0, 1, "", "log2"], [88, 0, 1, "", "logn"]], "indsl.ts_utils.numerical_calculus": [[88, 0, 1, "", "differentiate"], [88, 0, 1, "", "integrate_windows"], [88, 0, 1, "", "sliding_window_integration"], [88, 0, 1, "", "trapezoidal_integration"], [88, 0, 1, "", "window_index"]], "indsl.ts_utils.operators": [[88, 0, 1, "", "absolute"], [88, 0, 1, "", "add"], [88, 0, 1, "", "arithmetic_mean"], [88, 0, 1, "", "arithmetic_mean_many"], [88, 0, 1, "", "div"], [88, 0, 1, "", "inv"], [88, 0, 1, "", "mod"], [88, 0, 1, "", "mul"], [88, 0, 1, "", "neg"], [88, 0, 1, "", "power"], [88, 0, 1, "", "sqrt"], [88, 0, 1, "", "sub"]], "indsl.ts_utils.trigonometric_functions": [[88, 0, 1, "", "arccos"], [88, 0, 1, "", "arccosh"], [88, 0, 1, "", "arcsin"], [88, 0, 1, "", "arcsinh"], [88, 0, 1, "", "arctan"], [88, 0, 1, "", "arctan2"], [88, 0, 1, "", "arctanh"], [88, 0, 1, "", "cos"], [88, 0, 1, "", "cosh"], [88, 0, 1, "", "deg2rad"], [88, 0, 1, "", "rad2deg"], [88, 0, 1, "", "sin"], [88, 0, 1, "", "sinh"], [88, 0, 1, "", "tan"], [88, 0, 1, "", "tanh"]], "indsl.ts_utils.utility_functions": [[88, 0, 1, "", "bin_map"], [88, 0, 1, "", "ceil"], [88, 0, 1, "", "clip"], [88, 0, 1, "", "create_series_from_timesteps"], [88, 0, 1, "", "floor"], [88, 0, 1, "", "generate_step_series"], [88, 0, 1, "", "get_timestamps"], [88, 0, 1, "", "iqr_test"], [88, 0, 1, "", "maximum"], [88, 0, 1, "", "minimum"], [88, 0, 1, "", "modified_z_scores_test"], [88, 0, 1, "", "normality_assumption_test"], [88, 0, 1, "", "remove"], [88, 0, 1, "", "replace"], [88, 0, 1, "", "round"], [88, 0, 1, "", "set_timestamps"], [88, 0, 1, "", "sign"], [88, 0, 1, "", "threshold"], [88, 0, 1, "", "threshold_test"], [88, 0, 1, "", "time_shift"], [88, 0, 1, "", "union"], [88, 0, 1, "", "z_scores_test"]], "indsl.validations": [[74, 0, 1, "id0", "validate_series_has_minimum_length"], [74, 0, 1, "id1", "validate_series_has_time_index"], [74, 0, 1, "id2", "validate_series_is_not_empty"], [74, 0, 1, "id3", "validate_timedelta"], [74, 0, 1, "id4", "validate_timedelta_unit"]], "indsl.versioning": [[74, 0, 1, "", "get"], [74, 0, 1, "", "get_changelog"], [74, 0, 1, "", "get_name"], [74, 0, 1, "", "get_registered_functions"], [74, 0, 1, "", "get_version"], [74, 0, 1, "", "get_versions"], [74, 0, 1, "", "is_deprecated"], [74, 0, 1, "", "is_versioned"], [74, 0, 1, "", "register"], [74, 0, 1, "", "run"]]}, "objtypes": {"0": "py:function", "1": "py:module", "2": "py:exception"}, "objnames": {"0": ["py", "function", "Python function"], "1": ["py", "module", "Python module"], "2": ["py", "exception", "Python exception"]}, "titleterms": {"changelog": 0, "v8": 0, "2": [0, 8], "0": [0, 69], "1": [0, 8, 69], "feat": 0, "fix": 0, "v7": 0, "v6": 0, "6": 0, "0a1": 0, "pre": 0, "releas": 0, "0a0": 0, "2023": 0, "07": 0, "04": 0, "5": 0, "03": 0, "31": 0, "4": 0, "23": 0, "3": [0, 8], "02": 0, "01": 0, "24": 0, "2022": 0, "12": 0, "13": 0, "11": 0, "09": 0, "08": 0, "29": 0, "25": 0, "17": 0, "refactor": 0, "v4": 0, "8": 0, "26": 0, "7": 0, "06": 0, "16": 0, "05": 0, "18": 0, "27": 0, "21": 0, "20": 0, "30": 0, "22": 0, "28": 0, "v3": 0, "14": 0, "v2": 0, "2021": 0, "v1": [0, 69], "v0": 0, "10": 0, "data": [1, 3, 8, 9, 17, 32, 55, 56, 72, 80, 84], "qualiti": [1, 32, 72], "complet": [2, 72], "score": [2, 72], "time": [2, 3, 5, 9, 12, 17, 18, 22, 26, 28, 31, 35, 42, 45, 48, 50, 53, 57, 63, 66, 68, 72, 84, 88], "seri": [2, 5, 17, 50, 84, 88], "threshold": [3, 72], "breach": 3, "check": [3, 11, 41, 74], "differ": [3, 72], "between": 3, "two": 3, "point": [3, 9, 14, 16, 73, 76], "over": [3, 72], "period": [3, 6, 72], "extrem": [4, 8, 72], "outlier": [4, 8, 59, 60, 62, 72, 86], "remov": [4, 25, 72, 86], "identifi": [5, 6], "gap": [5, 50, 72, 84], "low": [6, 72, 85], "densiti": [6, 37, 72, 82], "neg": 7, "run": [7, 69], "hour": 7, "detect": [7, 8, 13, 14, 15, 16, 32, 39, 59, 60, 62, 72, 73, 75, 86], "out": [8, 72], "rang": [8, 72], "sensor": 8, "introduct": 8, "non": 8, "linear": [8, 15, 83, 85], "stationari": 8, "synthet": [8, 32, 49, 84], "signal": [8, 17, 32, 49, 52, 73, 84], "insert": [8, 50], "initi": 8, "condit": 8, "test": 8, "set": 8, "iter": 8, "trend": [8, 24, 25], "estim": [8, 10], "student": 8, "residu": 8, "bonferroni": 8, "correct": 8, "pass": [8, 85], "last": 8, "result": 8, "roll": [9, 72], "standard": [9, 72], "deviat": [9, 72], "delta": [9, 72], "rel": 10, "uncertainti": 10, "decreas": [11, 72], "valu": [11, 72, 84], "timeseri": 11, "comput": [12, 18, 22, 26, 28, 31, 35, 42, 44, 45, 48, 53, 57, 63, 66, 68], "function": [13, 19, 23, 29, 32, 36, 43, 46, 54, 64, 67, 69, 71, 74, 88], "chang": [14, 16, 73], "cusum": [14, 73], "oscil": [15, 73], "us": [15, 72], "predict": 15, "code": [15, 70, 71], "steadi": [16, 73], "state": [16, 39, 73], "unchang": [17, 73], "identif": [17, 73], "equip": [19, 32, 76], "calcul": [20, 37, 38, 40, 82, 87], "paramet": 20, "centrifug": 20, "pump": [20, 21, 76], "recycl": [21, 76], "valv": [21, 39, 76], "power": [21, 76], "loss": [21, 76], "filter": [23, 25, 32, 56, 73, 77, 85], "empir": 24, "mode": 24, "decomposit": 24, "nois": [25, 52, 84], "wavelet": [25, 77], "forecast": [29, 32, 79], "holt": [30, 79], "winter": [30, 79], "predictor": [30, 79], "galleri": [32, 71], "chart": [32, 71], "numer": [32, 33, 81, 88], "calculu": [32, 33, 81, 88], "oil": [32, 36, 82], "ga": [32, 36, 37, 82], "reindex": [32, 43, 83], "resampl": [32, 46, 83], "gener": [32, 49, 52, 84], "smooth": [32, 54, 55, 56, 79, 85], "statist": [32, 58, 86], "sustain": [32, 64, 87], "version": [32, 67, 69, 71, 74], "slide": [34, 81], "window": [34, 81], "integr": [34, 81], "fluid": [38, 78, 82], "properti": [38, 82], "given": 38, "pressur": [38, 40], "temperatur": 38, "shut": [39, 40, 82], "product": [41, 65, 82, 87], "statu": [41, 77, 82], "well": [41, 82], "re": 44, "index": [44, 82, 84], "pearson": [44, 61, 86], "correl": [44, 61, 86], "coeffici": 44, "group": [47, 83], "region": [47, 83], "univari": [51, 84], "polynomi": [51, 83, 84], "wavi": 52, "add": [52, 71], "white": [52, 84], "wave": [52, 84], "brownian": [52, 84], "move": [55, 73, 79, 85], "averag": [55, 73, 79, 85], "savitzki": [56, 85], "golai": [56, 85], "dbscan": [59, 60, 62], "spline": [59, 60, 62], "regress": [59, 60, 62], "001": 59, "002": 60, "cumul": [65, 87], "co2": [65, 87], "cost": [65, 87], "exampl": [69, 71, 72, 73, 76, 77, 80, 81, 82, 83, 84, 85, 86, 87], "implement": 69, "get": 69, "conduct": 70, "contribut": 71, "new": 71, "compliant": 71, "algorithm": 71, "preliminari": 71, "setup": 71, "develop": [71, 74, 80], "your": 71, "core": 71, "extra": 71, "document": 71, "front": 71, "back": 71, "end": 71, "complianc": 71, "todo": 71, "an": 71, "verifi": 71, "build": 71, "do": 71, "i": 71, "need": 71, "my": 71, "how": 71, "creat": [71, 84], "pull": 71, "request": 71, "free": 71, "form": 71, "style": 71, "z": 72, "modifi": 72, "interquartil": 72, "method": 72, "valid": [72, 74], "indic": [72, 80], "datapoint": 72, "drift": 73, "detector": [73, 82], "ed": 73, "pelt": 73, "varianc": 73, "variabl": [73, 82], "util": [74, 88], "except": 74, "type": 74, "drill": 75, "flag": 75, "rotat": 75, "On": 75, "bottom": 75, "In": 75, "hole": 75, "circul": 75, "vessel": 76, "volum": 76, "ellipsoid": 76, "head": 76, "spheric": 76, "torispher": 76, "total": 76, "best": 76, "effici": 76, "bep": 76, "from": 76, "flowrat": 76, "hydraul": 76, "shaft": 76, "volumetr": 76, "flow": 76, "through": 76, "dynam": 78, "dimensionless": 78, "number": 78, "reynold": 78, "friction": 78, "factor": [78, 87], "haaland": 78, "equat": 78, "autoregress": [79, 85], "arma": 79, "tripl": 79, "exponenti": [79, 85], "cognit": 80, "": 80, "industri": [80, 84], "scienc": 80, "librari": 80, "instal": 80, "toolbox": 80, "tabl": 80, "differenti": 81, "trapezoid": 81, "retriev": 82, "interpol": 83, "fourier": 83, "min": 83, "max": 83, "sum": 83, "count": 83, "granular": 83, "default": 83, "modul": 84, "grade": 84, "line": 84, "constant": 84, "sine": 84, "perturb": 84, "arnaud": 85, "legoux": 85, "weight": 85, "simpl": 85, "frequenc": 85, "base": 85, "butterworth": 85, "chebyshev": 85, "confid": 86, "band": 86, "emiss": 87, "rate": 87, "combustor": 87, "basic": 88, "oper": 88, "logarithm": 88, "trigonometr": 88}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"Changelog": [[0, "changelog"]], "v8.2.0": [[0, "v8-2-0"]], "v8.1.0": [[0, "v8-1-0"]], "Feat": [[0, "feat"], [0, "id2"], [0, "id5"], [0, "id7"], [0, "id9"], [0, "id11"], [0, "id17"], [0, "id20"], [0, "id22"], [0, "id24"], [0, "id26"], [0, "id32"], [0, "id34"], [0, "id36"], [0, "id40"], [0, "id42"], [0, "id47"], [0, "id51"], [0, "id54"], [0, "id59"], [0, "id62"], [0, "id66"], [0, "id68"], [0, "id69"], [0, "id72"], [0, "id74"], [0, "id76"]], "v8.0.1": [[0, "v8-0-1"]], "Fix": [[0, "id1"], [0, "id3"], [0, "id4"], [0, "id6"], [0, "id8"], [0, "id10"], [0, "id12"], [0, "id13"], [0, "id14"], [0, "id15"], [0, "id16"], [0, "id18"], [0, "id19"], [0, "id21"], [0, "id23"], [0, "id25"], [0, "id27"], [0, "id28"], [0, "id30"], [0, "id31"], [0, "id33"], [0, "id37"], [0, "id38"], [0, "id39"], [0, "id41"], [0, "id43"], [0, "id45"], [0, "id46"], [0, "id48"], [0, "id49"], [0, "id50"], [0, "id52"], [0, "id53"], [0, "id56"], [0, "id57"], [0, "id58"], [0, "id61"], [0, "id63"], [0, "id65"], [0, "id67"], [0, "id70"], [0, "id71"], [0, "id73"], [0, "id75"], [0, "id77"], [0, "id78"], [0, "id79"], [0, "id81"], [0, "id83"], [0, "id84"]], "v8.0.0": [[0, "v8-0-0"]], "v7.0.1": [[0, "v7-0-1"]], "v7.0.0": [[0, "v7-0-0"]], "v6.6.0a1 Pre-release": [[0, "v6-6-0a1-pre-release"]], "v6.6.0a0 (2023-07-04)": [[0, "v6-6-0a0-2023-07-04"]], "v6.5.0 (2023-03-31)": [[0, "v6-5-0-2023-03-31"]], "v6.4.4 (2023-03-23)": [[0, "v6-4-4-2023-03-23"]], "v6.4.3 (2023-02-23)": [[0, "v6-4-3-2023-02-23"]], "v6.4.2 (2023-01-24)": [[0, "v6-4-2-2023-01-24"]], "v6.4.1 (2023-01-24)": [[0, "v6-4-1-2023-01-24"]], "v6.4.0 (2022-12-13)": [[0, "v6-4-0-2022-12-13"]], "v6.3.1 (2022-11-09)": [[0, "v6-3-1-2022-11-09"]], "v6.3.0 (2022-11-08)": [[0, "v6-3-0-2022-11-08"]], "v6.2.0 (2022-09-29)": [[0, "v6-2-0-2022-09-29"]], "v6.1.0 (2022-08-25)": [[0, "v6-1-0-2022-08-25"]], "v6.0.1 (2022-08-17)": [[0, "v6-0-1-2022-08-17"]], "v6.0.0 (2022-08-17)": [[0, "v6-0-0-2022-08-17"]], "Refactor": [[0, "refactor"], [0, "id29"], [0, "id35"], [0, "id44"], [0, "id55"], [0, "id60"], [0, "id64"]], "v4.8.2 (2022-08-09)": [[0, "v4-8-2-2022-08-09"]], "v4.8.1 (2022-08-09)": [[0, "v4-8-1-2022-08-09"]], "v4.8.0 (2022-07-26)": [[0, "v4-8-0-2022-07-26"]], "v4.7.0 (2022-07-07)": [[0, "v4-7-0-2022-07-07"]], "v4.6.0 (2022-06-16)": [[0, "v4-6-0-2022-06-16"]], "v4.5.1 (2022-06-09)": [[0, "v4-5-1-2022-06-09"]], "v4.5.0 (2022-05-25)": [[0, "v4-5-0-2022-05-25"]], "v4.4.1 (2022-05-18)": [[0, "v4-4-1-2022-05-18"]], "v4.4.0 (2022-05-11)": [[0, "v4-4-0-2022-05-11"]], "v4.3.1 (2022-05-04)": [[0, "v4-3-1-2022-05-04"]], "v4.3.0 (2022-04-27)": [[0, "v4-3-0-2022-04-27"]], "v4.2.2 (2022-04-21)": [[0, "v4-2-2-2022-04-21"]], "v4.2.1 (2022-04-21)": [[0, "v4-2-1-2022-04-21"]], "v4.2.0 (2022-04-20)": [[0, "v4-2-0-2022-04-20"]], "v4.1.1 (2022-03-30)": [[0, "v4-1-1-2022-03-30"]], "v4.1.0 (2022-03-22)": [[0, "v4-1-0-2022-03-22"]], "v4.0.2 (2022-03-01)": [[0, "v4-0-2-2022-03-01"]], "v4.0.1 (2022-02-28)": [[0, "v4-0-1-2022-02-28"]], "v4.0.0 (2022-02-24)": [[0, "v4-0-0-2022-02-24"]], "v3.1.1 (2022-02-02)": [[0, "v3-1-1-2022-02-02"]], "v3.1.0 (2022-01-21)": [[0, "v3-1-0-2022-01-21"]], "v3.0.0 (2022-01-14)": [[0, "v3-0-0-2022-01-14"]], "v2.1.0 (2022-01-05)": [[0, "v2-1-0-2022-01-05"]], "v2.0.0 (2021-12-20)": [[0, "v2-0-0-2021-12-20"]], "v1.0.0 (2021-12-06)": [[0, "v1-0-0-2021-12-06"]], "v0.2.1 (2021-11-11)": [[0, "v0-2-1-2021-11-11"]], "v0.2.0 (2021-11-04)": [[0, "v0-2-0-2021-11-04"]], "v0.1.0 (2021-10-29)": [[0, "v0-1-0-2021-10-29"]], "v0.0.8 (2021-10-18)": [[0, "v0-0-8-2021-10-18"]], "v0.0.7 (2021-10-18)": [[0, "v0-0-7-2021-10-18"]], "v0.0.6 (2021-10-18)": [[0, "v0-0-6-2021-10-18"]], "0.0.6 (2021-10-18)": [[0, "id80"]], "0.0.5 (2021-10-18)": [[0, "id82"]], "v0.0.4 (2021-10-13)": [[0, "v0-0-4-2021-10-13"]], "0.0.3 (2021-10-08)": [[0, "id85"]], "Completeness score of time series": [[2, "completeness-score-of-time-series"]], "Extreme Outliers Removal": [[4, "extreme-outliers-removal"], [72, "extreme-outliers-removal"]], "Identifying gaps in time series": [[5, "sphx-glr-auto-examples-data-quality-plot-gaps-identification-py"]], "Identifying low density periods": [[6, "sphx-glr-auto-examples-data-quality-plot-low-density-identification-py"]], "Negative running hours detection": [[7, "negative-running-hours-detection"]], "Detect out of range outliers in sensor data": [[8, "detect-out-of-range-outliers-in-sensor-data"]], "Introduction": [[8, "introduction"]], "Non-linear, non-stationary synthetic signal": [[8, "non-linear-non-stationary-synthetic-signal"]], "Insert extreme outliers": [[8, "insert-extreme-outliers"]], "Initial conditions: test data set": [[8, "initial-conditions-test-data-set"]], "Initial iteration": [[8, "initial-iteration"]], "1. Trend estimate": [[8, "trend-estimate"]], "2. Studentized residuals and Bonferroni correction": [[8, "studentized-residuals-and-bonferroni-correction"]], "3. Outliers detected with the initial pass": [[8, "outliers-detected-with-the-initial-pass"]], "Last iteration": [[8, "last-iteration"]], "Results": [[8, "results"]], "Rolling standard deviation of data points time delta": [[9, "rolling-standard-deviation-of-data-points-time-delta"]], "Relative uncertainty estimation": [[10, "relative-uncertainty-estimation"]], "Checking for decreasing values in a timeseries": [[11, "checking-for-decreasing-values-in-a-timeseries"]], "Change Point Detection with Cusum": [[14, "change-point-detection-with-cusum"]], "Steady State Detection: Change Point": [[16, "steady-state-detection-change-point"]], "Unchanged signal identification of time series data": [[17, "unchanged-signal-identification-of-time-series-data"]], "Equipment Functions": [[19, "equipment-functions"], [32, "equipment-functions"]], "Calculate parameters of a centrifugal pump": [[20, "calculate-parameters-of-a-centrifugal-pump"]], "Pump recycle valve power loss": [[21, "pump-recycle-valve-power-loss"]], "Computation times": [[22, "computation-times"], [26, "computation-times"], [28, "computation-times"], [31, "computation-times"], [35, "computation-times"], [42, "computation-times"], [45, "computation-times"], [53, "computation-times"], [57, "computation-times"], [63, "computation-times"], [66, "computation-times"], [68, "computation-times"], [12, "computation-times"], [18, "computation-times"], [48, "computation-times"]], "Filter Functions": [[23, "filter-functions"], [32, "filter-functions"]], "Trending with Empirical Mode Decomposition": [[24, "trending-with-empirical-mode-decomposition"]], "Noise removal and trending with the Wavelet filter": [[25, "noise-removal-and-trending-with-the-wavelet-filter"]], "Forecasting Functions": [[29, "forecasting-functions"], [32, "forecasting-functions"]], "Holt-Winters Predictor": [[30, "holt-winters-predictor"]], "Numerical Calculus": [[33, "numerical-calculus"], [81, "numerical-calculus"], [32, "numerical-calculus"]], "Sliding window integration": [[34, "sliding-window-integration"], [81, "sliding-window-integration"]], "Oil and Gas Functions": [[36, "oil-and-gas-functions"], [32, "oil-and-gas-functions"]], "Calculation of gas density": [[37, "calculation-of-gas-density"]], "Calculate fluid properties given pressure and temperature": [[38, "calculate-fluid-properties-given-pressure-and-temperature"]], "Detection of valve shut-in state": [[39, "detection-of-valve-shut-in-state"]], "Calculation of shut-in pressure": [[40, "calculation-of-shut-in-pressure"]], "Check for the production status of a well": [[41, "check-for-the-production-status-of-a-well"]], "Reindex function": [[43, "reindex-function"], [32, "reindex-function"]], "Re-indexing and compute Pearson correlation coefficient": [[44, "re-indexing-and-compute-pearson-correlation-coefficient"]], "Synthetic Signal Generation": [[49, "synthetic-signal-generation"], [32, "synthetic-signal-generation"]], "Inserting gaps in a time series": [[50, "inserting-gaps-in-a-time-series"]], "Univariate Polynomial": [[51, "univariate-polynomial"], [84, "univariate-polynomial"]], "Wavy signal generation": [[52, "wavy-signal-generation"]], "Add white noise": [[52, "add-white-noise"]], "Add wave with brownian noise": [[52, "add-wave-with-brownian-noise"]], "Smoothing Functions": [[54, "smoothing-functions"], [32, "smoothing-functions"]], "Data smoothing with Moving Averages": [[55, "data-smoothing-with-moving-averages"]], "Data smoothing with the Savitzky-Golay filter": [[56, "data-smoothing-with-the-savitzky-golay-filter"]], "Statistics": [[58, "statistics"], [86, "statistics"], [32, "statistics"]], "Outlier detection with DBSCAN and spline regression 001": [[59, "outlier-detection-with-dbscan-and-spline-regression-001"]], "Outlier detection with DBSCAN and spline regression 002": [[60, "outlier-detection-with-dbscan-and-spline-regression-002"]], "Pearson correlation": [[61, "pearson-correlation"], [86, "pearson-correlation"]], "Outlier detection with DBSCAN and spline regression": [[62, "outlier-detection-with-dbscan-and-spline-regression"]], "Sustainability Functions": [[64, "sustainability-functions"], [32, "sustainability-functions"]], "Cumulative CO2 Production and Cost": [[65, "cumulative-co2-production-and-cost"]], "Function versioning": [[67, "function-versioning"], [69, "function-versioning"], [74, "module-indsl.versioning"], [32, "function-versioning"]], "Example": [[69, "example"]], "Implementation": [[69, "implementation"]], "Implementation of v1.0": [[69, "implementation-of-v1-0"]], "Implementation of v1.1": [[69, "implementation-of-v1-1"]], "Getting versioned functions and their versions": [[69, "getting-versioned-functions-and-their-versions"]], "Running versioned functions": [[69, "running-versioned-functions"]], "Data Quality": [[72, "data-quality"]], "Completeness": [[72, "completeness"]], "Completeness Score": [[72, "completeness-score"]], "Examples:": [[72, null], [72, null], [72, null], [72, null], [72, null], [72, null], [72, null], [72, null], [72, null], [72, null], [72, null], [72, null], [72, null], [72, null], [73, null], [73, null], [73, null], [73, null], [73, null], [76, null], [76, null], [76, null], [76, null], [76, null], [76, null], [77, null], [81, null], [82, null], [82, null], [82, null], [82, null], [82, null], [83, null], [83, null], [84, null], [84, null], [85, null], [85, null], [86, null], [86, null], [86, null], [87, null]], "Data Gaps Detection": [[72, "data-gaps-detection"]], "Using Z scores": [[72, "using-z-scores"], [72, "id1"]], "Using modified Z scores": [[72, "using-modified-z-scores"], [72, "id3"]], "Using the interquartile range method": [[72, "using-the-interquartile-range-method"], [72, "id4"]], "Using a time delta threshold": [[72, "using-a-time-delta-threshold"]], "Low data density": [[72, "low-data-density"]], "Using a density threshold": [[72, "using-a-density-threshold"]], "Rolling standard deviation of time delta": [[72, "rolling-standard-deviation-of-time-delta"]], "Validity": [[72, "validity"]], "Out of Range Values": [[72, "out-of-range-values"]], "Value Decrease Indication": [[72, "value-decrease-indication"]], "Datapoint difference over a period of time": [[72, "datapoint-difference-over-a-period-of-time"]], "Detect": [[73, "detect"]], "Drift": [[73, "drift"]], "Oscillations": [[73, "oscillations"]], "Change Point detector: ED-PELT": [[73, "change-point-detector-ed-pelt"]], "Change Point detector: CUSUM": [[73, "change-point-detector-cusum"]], "Steady State detector: change point": [[73, "steady-state-detector-change-point"]], "Steady State detector: variance filter": [[73, "steady-state-detector-variance-filter"]], "Steady State detector: variable moving average": [[73, "steady-state-detector-variable-moving-average"]], "Unchanged signal identification": [[73, "unchanged-signal-identification"]], "Developer utility functions": [[74, "developer-utility-functions"]], "Exceptions": [[74, "module-indsl.exceptions"]], "Validation functions": [[74, "module-indsl.validations"]], "Type checking": [[74, "module-0"]], "Drilling": [[75, "drilling"]], "Flag Detection": [[75, "flag-detection"]], "Rotation Detection": [[75, "rotation-detection"]], "On-Bottom Detection": [[75, "on-bottom-detection"]], "In-Hole Detection": [[75, "in-hole-detection"]], "Circulation Detection": [[75, "circulation-detection"]], "Equipment": [[76, "equipment"]], "Vessels": [[76, "vessels"]], "Vessel volume (Ellipsoidal head)": [[76, "vessel-volume-ellipsoidal-head"]], "Vessel volume (Spherical head)": [[76, "vessel-volume-spherical-head"]], "Vessel volume (Torispherical head)": [[76, "vessel-volume-torispherical-head"]], "Pumps": [[76, "pumps"]], "Total head": [[76, "total-head"]], "Best Efficiency Point (BEP) from flowrate": [[76, "best-efficiency-point-bep-from-flowrate"]], "Hydraulic power": [[76, "hydraulic-power"]], "Shaft power": [[76, "shaft-power"]], "Recycle valve power loss": [[76, "recycle-valve-power-loss"]], "Valves": [[76, "valves"]], "Volumetric flow through valve": [[76, "volumetric-flow-through-valve"]], "Filter": [[77, "filter"]], "Status Filter": [[77, "status-filter"]], "Wavelet Filter": [[77, "wavelet-filter"]], "Fluid Dynamics": [[78, "fluid-dynamics"]], "Dimensionless Numbers": [[78, "dimensionless-numbers"]], "Reynolds Number": [[78, "reynolds-number"]], "Friction Factor: Haaland equation": [[78, "friction-factor-haaland-equation"]], "Forecast": [[79, "forecast"]], "Autoregressive Moving Average (ARMA) Predictor": [[79, "autoregressive-moving-average-arma-predictor"]], "Triple Exponential Smoothing - Holt-Winters Predictor": [[79, "triple-exponential-smoothing-holt-winters-predictor"]], "Differentiation": [[81, "differentiation"]], "Trapezoidal integration": [[81, "trapezoidal-integration"]], "Oil and Gas": [[82, "oil-and-gas"]], "Gas density calculator": [[82, "gas-density-calculator"]], "Productivity index": [[82, "productivity-index"]], "Shut-in detector": [[82, "shut-in-detector"]], "Shut-in variable calculator": [[82, "shut-in-variable-calculator"]], "Well production status": [[82, "well-production-status"]], "Retrieve fluid properties": [[82, "retrieve-fluid-properties"]], "Resample": [[83, "resample"]], "Interpolate and Resample": [[83, "interpolate-and-resample"]], "Resampling: Fourier, Polynomial, Linear, min, max, sum, count": [[83, "resampling-fourier-polynomial-linear-min-max-sum-count"]], "Resampling to granularity (default)": [[83, "resampling-to-granularity-default"]], "Group by region": [[83, "group-by-region"]], "Reindex": [[83, "reindex"]], "Signals": [[84, "signals"]], "Module for Generating Industrial Grade Synthetic Signals": [[84, "module-for-generating-industrial-grade-synthetic-signals"]], "Line time series": [[84, "line-time-series"]], "Constant value time series": [[84, "constant-value-time-series"]], "Sine wave": [[84, "sine-wave"]], "Perturb the index of a time series": [[84, "perturb-the-index-of-a-time-series"]], "Create data gaps in a time series": [[84, "create-data-gaps-in-a-time-series"]], "Noise Generators": [[84, "noise-generators"]], "White noise": [[84, "white-noise"]], "Examples with noise generators:": [[84, null], [84, null]], "Brownian noise": [[84, "brownian-noise"]], "Polynomial Generators": [[84, "polynomial-generators"]], "Examples with univariate polynomial generators:": [[84, null]], "Smooth": [[85, "smooth"]], "Moving Averages": [[85, "moving-averages"]], "Arnaud Legoux Moving Average": [[85, "arnaud-legoux-moving-average"]], "Autoregressive moving average": [[85, "autoregressive-moving-average"]], "Exponential weighted moving average": [[85, "exponential-weighted-moving-average"]], "Linear weighted moving average": [[85, "linear-weighted-moving-average"]], "Simple moving average": [[85, "simple-moving-average"]], "Frequency Based (low-pass filters)": [[85, "frequency-based-low-pass-filters"]], "Butterworth": [[85, "butterworth"]], "Chebyshev": [[85, "chebyshev"]], "Savitzky-Golay": [[85, "savitzky-golay"]], "Confidence bands": [[86, "confidence-bands"]], "Outlier detection": [[86, "outlier-detection"]], "Outlier removal": [[86, "outlier-removal"]], "Sustainability": [[87, "sustainability"]], "CO2 Emissions Calculations": [[87, "co2-emissions-calculations"]], "Cumulative CO2 Production": [[87, "cumulative-co2-production"]], "Cumulative CO2 Cost": [[87, "cumulative-co2-cost"]], "Rate of CO2 Emissions": [[87, "rate-of-co2-emissions"]], "Emissions Factor for Combustor": [[87, "emissions-factor-for-combustor"]], "Basic time series functions": [[88, "basic-time-series-functions"]], "Operators": [[88, "module-indsl.ts_utils.operators"]], "Numerical calculus": [[88, "module-indsl.ts_utils.numerical_calculus"]], "Logarithmic functions": [[88, "module-indsl.ts_utils.logarithmic_functions"]], "Trigonometric functions": [[88, "module-indsl.ts_utils.trigonometric_functions"]], "Utility functions": [[88, "module-indsl.ts_utils.utility_functions"]], "Data quality": [[1, "data-quality"], [32, "data-quality"]], "Threshold breach check for difference between two data points over a period of time": [[3, "threshold-breach-check-for-difference-between-two-data-points-over-a-period-of-time"]], "Detection Functions": [[13, "detection-functions"], [32, "detection-functions"]], "Oscillation detection using linear predictive coding": [[15, "oscillation-detection-using-linear-predictive-coding"]], "Gallery of Charts": [[32, "gallery-of-charts"]], "Resampling Functions": [[32, "resampling-functions"], [46, "resampling-functions"]], "Group by Region": [[47, "group-by-region"]], "Code of Conduct": [[70, "code-of-conduct"]], "Contributing": [[71, "contributing"]], "Contributing a new CHARTS compliant algorithm": [[71, "contributing-a-new-charts-compliant-algorithm"]], "Preliminaries and setup": [[71, "preliminaries-and-setup"]], "Develop your algorithm": [[71, "develop-your-algorithm"]], "Core or Extras": [[71, "core-or-extras"]], "Document your algorithm": [[71, "document-your-algorithm"]], "Front and back end compliance": [[71, "front-and-back-end-compliance"]], "Todo": [[71, "id2"], [71, "id3"], [71, "id4"]], "Add an example to the Gallery of Charts": [[71, "add-an-example-to-the-gallery-of-charts"]], "Verify documentation build": [[71, "verify-documentation-build"]], "Version your algorithm": [[71, "version-your-algorithm"]], "Do I need to version my algorithm?": [[71, "do-i-need-to-version-my-algorithm"]], "How do I version my function?": [[71, "how-do-i-version-my-function"]], "Create a pull request": [[71, "create-a-pull-request"]], "Contributing a free form algorithm": [[71, "contributing-a-free-form-algorithm"]], "Coding Style": [[71, "coding-style"]], "Cognite\u2019s Industrial Data Science Library": [[80, "cognite-s-industrial-data-science-library"]], "Installation": [[80, "installation"]], "Toolboxes": [[80, null]], "Examples": [[80, null]], "Developers": [[80, null]], "Indices and tables": [[80, "indices-and-tables"]]}, "indexentries": {"completeness_score() (in module indsl.data_quality.completeness)": [[72, "indsl.data_quality.completeness.completeness_score"]], "datapoint_diff_over_time_period() (in module indsl.data_quality)": [[72, "indsl.data_quality.datapoint_diff_over_time_period"]], "extreme() (in module indsl.data_quality)": [[72, "indsl.data_quality.extreme"]], "gaps_identification_iqr() (in module indsl.data_quality)": [[72, "indsl.data_quality.gaps_identification_iqr"]], "gaps_identification_modified_z_scores() (in module indsl.data_quality)": [[72, "indsl.data_quality.gaps_identification_modified_z_scores"]], "gaps_identification_threshold() (in module indsl.data_quality)": [[72, "indsl.data_quality.gaps_identification_threshold"]], "gaps_identification_z_scores() (in module indsl.data_quality)": [[72, "indsl.data_quality.gaps_identification_z_scores"]], "low_density_identification_iqr() (in module indsl.data_quality)": [[72, "indsl.data_quality.low_density_identification_iqr"]], "low_density_identification_modified_z_scores() (in module indsl.data_quality)": [[72, "indsl.data_quality.low_density_identification_modified_z_scores"]], "low_density_identification_threshold() (in module indsl.data_quality)": [[72, "indsl.data_quality.low_density_identification_threshold"]], "low_density_identification_z_scores() (in module indsl.data_quality)": [[72, "indsl.data_quality.low_density_identification_z_scores"]], "out_of_range() (in module indsl.data_quality.outliers)": [[72, "indsl.data_quality.outliers.out_of_range"]], "rolling_stddev_timedelta() (in module indsl.data_quality)": [[72, "indsl.data_quality.rolling_stddev_timedelta"]], "value_decrease_check() (in module indsl.data_quality)": [[72, "indsl.data_quality.value_decrease_check"]], "cpd_ed_pelt() (in module indsl.detect)": [[73, "indsl.detect.cpd_ed_pelt"]], "cusum() (in module indsl.detect)": [[73, "indsl.detect.cusum"]], "drift() (in module indsl.detect)": [[73, "indsl.detect.drift"]], "oscillation_detector() (in module indsl.detect.oscillation_detector)": [[73, "indsl.detect.oscillation_detector.oscillation_detector"]], "ssd_cpd() (in module indsl.detect)": [[73, "indsl.detect.ssd_cpd"]], "ssid() (in module indsl.detect)": [[73, "indsl.detect.ssid"]], "unchanged_signal_detector() (in module indsl.detect.unchanged_signal_detector)": [[73, "indsl.detect.unchanged_signal_detector.unchanged_signal_detector"]], "vma() (in module indsl.detect)": [[73, "indsl.detect.vma"]], "userexception": [[74, "indsl.exceptions.UserException"]], "userruntimeerror": [[74, "indsl.exceptions.UserRuntimeError"]], "usertypeerror": [[74, "indsl.exceptions.UserTypeError"]], "uservalueerror": [[74, "indsl.exceptions.UserValueError"]], "get() (in module indsl.versioning)": [[74, "indsl.versioning.get"]], "get_changelog() (in module indsl.versioning)": [[74, "indsl.versioning.get_changelog"]], "get_name() (in module indsl.versioning)": [[74, "indsl.versioning.get_name"]], "get_registered_functions() (in module indsl.versioning)": [[74, "indsl.versioning.get_registered_functions"]], "get_version() (in module indsl.versioning)": [[74, "indsl.versioning.get_version"]], "get_versions() (in module indsl.versioning)": [[74, "indsl.versioning.get_versions"]], "indsl.exceptions": [[74, "module-indsl.exceptions"]], "indsl.validations": [[74, "module-0"], [74, "module-indsl.validations"]], "indsl.versioning": [[74, "module-indsl.versioning"]], "is_deprecated() (in module indsl.versioning)": [[74, "indsl.versioning.is_deprecated"]], "is_versioned() (in module indsl.versioning)": [[74, "indsl.versioning.is_versioned"]], "module": [[74, "module-0"], [74, "module-indsl.exceptions"], [74, "module-indsl.validations"], [74, "module-indsl.versioning"], [88, "module-indsl.ts_utils.logarithmic_functions"], [88, "module-indsl.ts_utils.numerical_calculus"], [88, "module-indsl.ts_utils.operators"], [88, "module-indsl.ts_utils.trigonometric_functions"], [88, "module-indsl.ts_utils.utility_functions"]], "register() (in module indsl.versioning)": [[74, "indsl.versioning.register"]], "run() (in module indsl.versioning)": [[74, "indsl.versioning.run"]], "validate_series_has_minimum_length() (in module indsl.validations)": [[74, "id0"], [74, "indsl.validations.validate_series_has_minimum_length"]], "validate_series_has_time_index() (in module indsl.validations)": [[74, "id1"], [74, "indsl.validations.validate_series_has_time_index"]], "validate_series_is_not_empty() (in module indsl.validations)": [[74, "id2"], [74, "indsl.validations.validate_series_is_not_empty"]], "validate_timedelta() (in module indsl.validations)": [[74, "id3"], [74, "indsl.validations.validate_timedelta"]], "validate_timedelta_unit() (in module indsl.validations)": [[74, "id4"], [74, "indsl.validations.validate_timedelta_unit"]], "circulation_detection() (in module indsl.drilling)": [[75, "indsl.drilling.circulation_detection"]], "inhole_detection() (in module indsl.drilling)": [[75, "indsl.drilling.inhole_detection"]], "onbottom_detection() (in module indsl.drilling)": [[75, "indsl.drilling.onbottom_detection"]], "rotation_detection() (in module indsl.drilling)": [[75, "indsl.drilling.rotation_detection"]], "filled_volume_ellipsoidal_head_vessel() (in module indsl.equipment)": [[76, "indsl.equipment.filled_volume_ellipsoidal_head_vessel"]], "filled_volume_spherical_head_vessel() (in module indsl.equipment)": [[76, "indsl.equipment.filled_volume_spherical_head_vessel"]], "filled_volume_torispherical_head_vessel() (in module indsl.equipment)": [[76, "indsl.equipment.filled_volume_torispherical_head_vessel"]], "flow_through_valve() (in module indsl.equipment.valve_parameters)": [[76, "indsl.equipment.valve_parameters.flow_through_valve"]], "percent_bep_flowrate() (in module indsl.equipment)": [[76, "indsl.equipment.percent_BEP_flowrate"]], "pump_hydraulic_power() (in module indsl.equipment)": [[76, "indsl.equipment.pump_hydraulic_power"]], "pump_shaft_power() (in module indsl.equipment)": [[76, "indsl.equipment.pump_shaft_power"]], "recycle_valve_power_loss() (in module indsl.equipment)": [[76, "indsl.equipment.recycle_valve_power_loss"]], "total_head() (in module indsl.equipment)": [[76, "indsl.equipment.total_head"]], "status_flag_filter() (in module indsl.filter)": [[77, "indsl.filter.status_flag_filter"]], "wavelet_filter() (in module indsl.filter)": [[77, "indsl.filter.wavelet_filter"]], "haaland() (in module indsl.fluid_dynamics)": [[78, "indsl.fluid_dynamics.Haaland"]], "re() (in module indsl.fluid_dynamics)": [[78, "indsl.fluid_dynamics.Re"]], "arma_predictor() (in module indsl.forecast)": [[79, "indsl.forecast.arma_predictor"]], "holt_winters_predictor() (in module indsl.forecast)": [[79, "indsl.forecast.holt_winters_predictor"]], "differentiate() (in module indsl.ts_utils.numerical_calculus)": [[81, "indsl.ts_utils.numerical_calculus.differentiate"], [88, "indsl.ts_utils.numerical_calculus.differentiate"]], "sliding_window_integration() (in module indsl.ts_utils.numerical_calculus)": [[81, "indsl.ts_utils.numerical_calculus.sliding_window_integration"], [88, "indsl.ts_utils.numerical_calculus.sliding_window_integration"]], "trapezoidal_integration() (in module indsl.ts_utils.numerical_calculus)": [[81, "indsl.ts_utils.numerical_calculus.trapezoidal_integration"], [88, "indsl.ts_utils.numerical_calculus.trapezoidal_integration"]], "calculate_gas_density() (in module indsl.oil_and_gas)": [[82, "indsl.oil_and_gas.calculate_gas_density"]], "calculate_shutin_interval() (in module indsl.oil_and_gas)": [[82, "indsl.oil_and_gas.calculate_shutin_interval"]], "calculate_shutin_variable() (in module indsl.oil_and_gas)": [[82, "indsl.oil_and_gas.calculate_shutin_variable"]], "calculate_well_prod_status() (in module indsl.oil_and_gas)": [[82, "indsl.oil_and_gas.calculate_well_prod_status"]], "productivity_index() (in module indsl.oil_and_gas)": [[82, "indsl.oil_and_gas.productivity_index"]], "retrieve_fluid_properties() (in module indsl.oil_and_gas.live_fluid_properties)": [[82, "indsl.oil_and_gas.live_fluid_properties.retrieve_fluid_properties"]], "group_by_region() (in module indsl.resample)": [[83, "indsl.resample.group_by_region"]], "interpolate() (in module indsl.resample)": [[83, "indsl.resample.interpolate"]], "reindex() (in module indsl.resample)": [[83, "indsl.resample.reindex"]], "resample() (in module indsl.resample)": [[83, "indsl.resample.resample"]], "resample_to_granularity() (in module indsl.resample)": [[83, "indsl.resample.resample_to_granularity"]], "const_value() (in module indsl.signals.generator)": [[84, "indsl.signals.generator.const_value"]], "insert_data_gaps() (in module indsl.signals.generator)": [[84, "indsl.signals.generator.insert_data_gaps"]], "line() (in module indsl.signals.generator)": [[84, "indsl.signals.generator.line"]], "perturb_timestamp() (in module indsl.signals.generator)": [[84, "indsl.signals.generator.perturb_timestamp"]], "sine_wave() (in module indsl.signals.generator)": [[84, "indsl.signals.generator.sine_wave"]], "univariate_polynomial() (in module indsl.signals.polynomial)": [[84, "indsl.signals.polynomial.univariate_polynomial"]], "wave_with_brownian_noise() (in module indsl.signals.generator)": [[84, "indsl.signals.generator.wave_with_brownian_noise"]], "white_noise() (in module indsl.signals.noise)": [[84, "indsl.signals.noise.white_noise"]], "alma() (in module indsl.smooth)": [[85, "indsl.smooth.alma"]], "arma() (in module indsl.smooth)": [[85, "indsl.smooth.arma"]], "butterworth() (in module indsl.smooth)": [[85, "indsl.smooth.butterworth"]], "chebyshev() (in module indsl.smooth)": [[85, "indsl.smooth.chebyshev"]], "ewma() (in module indsl.smooth)": [[85, "indsl.smooth.ewma"]], "lwma() (in module indsl.smooth)": [[85, "indsl.smooth.lwma"]], "sg() (in module indsl.smooth)": [[85, "indsl.smooth.sg"]], "sma() (in module indsl.smooth)": [[85, "indsl.smooth.sma"]], "bands() (in module indsl.statistics.confidence)": [[86, "indsl.statistics.confidence.bands"]], "detect_outliers() (in module indsl.statistics.outliers)": [[86, "indsl.statistics.outliers.detect_outliers"]], "pearson_correlation() (in module indsl.statistics)": [[86, "indsl.statistics.pearson_correlation"]], "remove_outliers() (in module indsl.statistics.outliers)": [[86, "indsl.statistics.outliers.remove_outliers"]], "cumulative_co2_cost() (in module indsl.sustainability.co2_emissions_calculations)": [[87, "indsl.sustainability.co2_emissions_calculations.cumulative_co2_cost"]], "cumulative_co2_production() (in module indsl.sustainability.co2_emissions_calculations)": [[87, "indsl.sustainability.co2_emissions_calculations.cumulative_co2_production"]], "emissions_factor_combustor() (in module indsl.sustainability.co2_emissions_calculations)": [[87, "indsl.sustainability.co2_emissions_calculations.emissions_factor_combustor"]], "rate_of_emissions() (in module indsl.sustainability.co2_emissions_calculations)": [[87, "indsl.sustainability.co2_emissions_calculations.rate_of_emissions"]], "absolute() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.absolute"]], "add() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.add"]], "arccos() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.arccos"]], "arccosh() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.arccosh"]], "arcsin() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.arcsin"]], "arcsinh() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.arcsinh"]], "arctan() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.arctan"]], "arctan2() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.arctan2"]], "arctanh() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.arctanh"]], "arithmetic_mean() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.arithmetic_mean"]], "arithmetic_mean_many() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.arithmetic_mean_many"]], "bin_map() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.bin_map"]], "ceil() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.ceil"]], "clip() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.clip"]], "cos() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.cos"]], "cosh() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.cosh"]], "create_series_from_timesteps() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.create_series_from_timesteps"]], "deg2rad() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.deg2rad"]], "div() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.div"]], "exp() (in module indsl.ts_utils.logarithmic_functions)": [[88, "indsl.ts_utils.logarithmic_functions.exp"]], "floor() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.floor"]], "generate_step_series() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.generate_step_series"]], "get_timestamps() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.get_timestamps"]], "indsl.ts_utils.logarithmic_functions": [[88, "module-indsl.ts_utils.logarithmic_functions"]], "indsl.ts_utils.numerical_calculus": [[88, "module-indsl.ts_utils.numerical_calculus"]], "indsl.ts_utils.operators": [[88, "module-indsl.ts_utils.operators"]], "indsl.ts_utils.trigonometric_functions": [[88, "module-indsl.ts_utils.trigonometric_functions"]], "indsl.ts_utils.utility_functions": [[88, "module-indsl.ts_utils.utility_functions"]], "integrate_windows() (in module indsl.ts_utils.numerical_calculus)": [[88, "indsl.ts_utils.numerical_calculus.integrate_windows"]], "inv() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.inv"]], "iqr_test() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.iqr_test"]], "log() (in module indsl.ts_utils.logarithmic_functions)": [[88, "indsl.ts_utils.logarithmic_functions.log"]], "log10() (in module indsl.ts_utils.logarithmic_functions)": [[88, "indsl.ts_utils.logarithmic_functions.log10"]], "log2() (in module indsl.ts_utils.logarithmic_functions)": [[88, "indsl.ts_utils.logarithmic_functions.log2"]], "logn() (in module indsl.ts_utils.logarithmic_functions)": [[88, "indsl.ts_utils.logarithmic_functions.logn"]], "maximum() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.maximum"]], "minimum() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.minimum"]], "mod() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.mod"]], "modified_z_scores_test() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.modified_z_scores_test"]], "mul() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.mul"]], "neg() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.neg"]], "normality_assumption_test() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.normality_assumption_test"]], "power() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.power"]], "rad2deg() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.rad2deg"]], "remove() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.remove"]], "replace() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.replace"]], "round() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.round"]], "set_timestamps() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.set_timestamps"]], "sign() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.sign"]], "sin() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.sin"]], "sinh() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.sinh"]], "sqrt() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.sqrt"]], "sub() (in module indsl.ts_utils.operators)": [[88, "indsl.ts_utils.operators.sub"]], "tan() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.tan"]], "tanh() (in module indsl.ts_utils.trigonometric_functions)": [[88, "indsl.ts_utils.trigonometric_functions.tanh"]], "threshold() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.threshold"]], "threshold_test() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.threshold_test"]], "time_shift() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.time_shift"]], "union() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.union"]], "window_index() (in module indsl.ts_utils.numerical_calculus)": [[88, "indsl.ts_utils.numerical_calculus.window_index"]], "z_scores_test() (in module indsl.ts_utils.utility_functions)": [[88, "indsl.ts_utils.utility_functions.z_scores_test"]]}})
\ No newline at end of file
diff --git a/docs/signals.html b/docs/signals.html
index 4aa9e357..49467a31 100644
--- a/docs/signals.html
+++ b/docs/signals.html
@@ -18,9 +18,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
         <script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
@@ -159,18 +159,18 @@
            <div itemprop="articleBody">
              
   <section id="signals">
-<h1>Signals<a class="headerlink" href="#signals" title="Permalink to this heading"></a></h1>
+<h1>Signals<a class="headerlink" href="#signals" title="Link to this heading"></a></h1>
 <section id="module-for-generating-industrial-grade-synthetic-signals">
-<h2>Module for Generating Industrial Grade Synthetic Signals<a class="headerlink" href="#module-for-generating-industrial-grade-synthetic-signals" title="Permalink to this heading"></a></h2>
+<h2>Module for Generating Industrial Grade Synthetic Signals<a class="headerlink" href="#module-for-generating-industrial-grade-synthetic-signals" title="Link to this heading"></a></h2>
 <p>Industrial time series (i.e., sensor data from facilities) are commonly sampled at irregular intervals (non-uniform
 time stamps), contain data gaps, noise of different characteristics, and many other data quality flaws. The objective of
 this module is to offer multiple type of synthetic signals and methods to introduce data quality features similar to
 those observed in real industrial time series.</p>
 <section id="line-time-series">
-<h3>Line time series<a class="headerlink" href="#line-time-series" title="Permalink to this heading"></a></h3>
+<h3>Line time series<a class="headerlink" href="#line-time-series" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.signals.generator.line">
-<span class="sig-prename descclassname"><span class="pre">indsl.signals.generator.</span></span><span class="sig-name descname"><span class="pre">line</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">start_date</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timestamp</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">end_date</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timestamp</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sample_freq</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:01:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">slope</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">intercept</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.signals.generator.line" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.signals.generator.</span></span><span class="sig-name descname"><span class="pre">line</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">start_date</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timestamp</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">end_date</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timestamp</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sample_freq</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:01:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">slope</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">intercept</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.signals.generator.line" title="Link to this definition"></a></dt>
 <dd><p>Line.</p>
 <p>Generate a synthetic time series using the line equation. If no end and/or start dates are given, the default
 signal duration is set to 1 day. If no dates are provided, the end date is set to the current date and time.</p>
@@ -219,10 +219,10 @@ <h3>Line time series<a class="headerlink" href="#line-time-series" title="Permal
 
 </section>
 <section id="constant-value-time-series">
-<h3>Constant value time series<a class="headerlink" href="#constant-value-time-series" title="Permalink to this heading"></a></h3>
+<h3>Constant value time series<a class="headerlink" href="#constant-value-time-series" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.signals.generator.const_value">
-<span class="sig-prename descclassname"><span class="pre">indsl.signals.generator.</span></span><span class="sig-name descname"><span class="pre">const_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timedelta</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('7</span> <span class="pre">days</span> <span class="pre">00:00:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.signals.generator.const_value" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.signals.generator.</span></span><span class="sig-name descname"><span class="pre">const_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timedelta</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('7</span> <span class="pre">days</span> <span class="pre">00:00:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.signals.generator.const_value" title="Link to this definition"></a></dt>
 <dd><p>Constant value.</p>
 <p>This function generates a horizontal line. The assumptions when generating the horizontal line
 are that the start date is set as “1970-01-01”, the end date is set as “now”, and the sampling is “1 week”.
@@ -265,10 +265,10 @@ <h3>Constant value time series<a class="headerlink" href="#constant-value-time-s
 
 </section>
 <section id="sine-wave">
-<h3>Sine wave<a class="headerlink" href="#sine-wave" title="Permalink to this heading"></a></h3>
+<h3>Sine wave<a class="headerlink" href="#sine-wave" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.signals.generator.sine_wave">
-<span class="sig-prename descclassname"><span class="pre">indsl.signals.generator.</span></span><span class="sig-name descname"><span class="pre">sine_wave</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">start_date</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timestamp</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">end_date</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timestamp</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sample_freq</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:00:01')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wave_period</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wave_mean</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wave_amplitude</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wave_phase</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.signals.generator.sine_wave" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.signals.generator.</span></span><span class="sig-name descname"><span class="pre">sine_wave</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">start_date</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timestamp</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">end_date</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timestamp</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sample_freq</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:00:01')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wave_period</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wave_mean</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wave_amplitude</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wave_phase</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.signals.generator.sine_wave" title="Link to this definition"></a></dt>
 <dd><p>Sine wave.</p>
 <p>Generate a time series for a <a class="reference external" href="https://en.wikipedia.org/wiki/Sine_wave">sine wave</a> with a given wave period,
 amplitude, phase, and mean value. If no end and/or start dates are given, the default signal duration is set to
@@ -341,10 +341,10 @@ <h3>Sine wave<a class="headerlink" href="#sine-wave" title="Permalink to this he
 </aside>
 </section>
 <section id="perturb-the-index-of-a-time-series">
-<h3>Perturb the index of a time series<a class="headerlink" href="#perturb-the-index-of-a-time-series" title="Permalink to this heading"></a></h3>
+<h3>Perturb the index of a time series<a class="headerlink" href="#perturb-the-index-of-a-time-series" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.signals.generator.perturb_timestamp">
-<span class="sig-prename descclassname"><span class="pre">indsl.signals.generator.</span></span><span class="sig-name descname"><span class="pre">perturb_timestamp</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">magnitude</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.signals.generator.perturb_timestamp" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.signals.generator.</span></span><span class="sig-name descname"><span class="pre">perturb_timestamp</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">magnitude</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.signals.generator.perturb_timestamp" title="Link to this definition"></a></dt>
 <dd><p>Perturb timestamp.</p>
 <p>Perturb the date-time index (timestamp) of the original time series using a normal (Gaussian) distribution
 with a mean of zero and a given standard deviation (magnitude) in seconds.</p>
@@ -378,10 +378,10 @@ <h3>Perturb the index of a time series<a class="headerlink" href="#perturb-the-i
 
 </section>
 <section id="create-data-gaps-in-a-time-series">
-<h3>Create data gaps in a time series<a class="headerlink" href="#create-data-gaps-in-a-time-series" title="Permalink to this heading"></a></h3>
+<h3>Create data gaps in a time series<a class="headerlink" href="#create-data-gaps-in-a-time-series" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.signals.generator.insert_data_gaps">
-<span class="sig-prename descclassname"><span class="pre">indsl.signals.generator.</span></span><span class="sig-name descname"><span class="pre">insert_data_gaps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fraction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.25</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_gaps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_buffer</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'Random'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Single'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Multiple'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'Random'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.signals.generator.insert_data_gaps" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.signals.generator.</span></span><span class="sig-name descname"><span class="pre">insert_data_gaps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fraction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.25</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">num_gaps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data_buffer</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">method</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'Random'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Single'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'Multiple'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'Random'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.signals.generator.insert_data_gaps" title="Link to this definition"></a></dt>
 <dd><p>Insert data gaps.</p>
 <p>Method to synthetically remove data, i.e., generate data gaps in a time series. The amount of data points removed
 is defined by the given ‘fraction’ relative to the original time series.</p>
@@ -447,12 +447,12 @@ <h3>Create data gaps in a time series<a class="headerlink" href="#create-data-ga
 </section>
 </section>
 <section id="noise-generators">
-<h2>Noise Generators<a class="headerlink" href="#noise-generators" title="Permalink to this heading"></a></h2>
+<h2>Noise Generators<a class="headerlink" href="#noise-generators" title="Link to this heading"></a></h2>
 <section id="white-noise">
-<h3>White noise<a class="headerlink" href="#white-noise" title="Permalink to this heading"></a></h3>
+<h3>White noise<a class="headerlink" href="#white-noise" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.signals.noise.white_noise">
-<span class="sig-prename descclassname"><span class="pre">indsl.signals.noise.</span></span><span class="sig-name descname"><span class="pre">white_noise</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">snr_db</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">30</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.signals.noise.white_noise" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.signals.noise.</span></span><span class="sig-name descname"><span class="pre">white_noise</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">snr_db</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">30</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">seed</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.signals.noise.white_noise" title="Link to this definition"></a></dt>
 <dd><p>Add white noise.</p>
 <p>Adds white noise to the original data using a given signal-to-noise ratio (SNR).</p>
 <dl class="field-list simple">
@@ -490,10 +490,10 @@ <h3>White noise<a class="headerlink" href="#white-noise" title="Permalink to thi
 </aside>
 </section>
 <section id="brownian-noise">
-<h3>Brownian noise<a class="headerlink" href="#brownian-noise" title="Permalink to this heading"></a></h3>
+<h3>Brownian noise<a class="headerlink" href="#brownian-noise" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.signals.generator.wave_with_brownian_noise">
-<span class="sig-prename descclassname"><span class="pre">indsl.signals.generator.</span></span><span class="sig-name descname"><span class="pre">wave_with_brownian_noise</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">duration</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">14400</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resolution</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">percentage</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">amplitude</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mean</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">200</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">frequency</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.04</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">noise</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">[1,</span> <span class="pre">1]</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.signals.generator.wave_with_brownian_noise" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.signals.generator.</span></span><span class="sig-name descname"><span class="pre">wave_with_brownian_noise</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">duration</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">14400</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resolution</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">percentage</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">100</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">amplitude</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">mean</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">200</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">frequency</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.04</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">noise</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">int</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">[1,</span> <span class="pre">1]</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.signals.generator.wave_with_brownian_noise" title="Link to this definition"></a></dt>
 <dd><p>Wave with brownian noise.</p>
 <p>Sinusoidal signal with brownian noise. The signal has a
 given duration of 4 hours as a default, a resolution of 0.5,
@@ -535,12 +535,12 @@ <h3>Brownian noise<a class="headerlink" href="#brownian-noise" title="Permalink
 </section>
 </section>
 <section id="polynomial-generators">
-<h2>Polynomial Generators<a class="headerlink" href="#polynomial-generators" title="Permalink to this heading"></a></h2>
+<h2>Polynomial Generators<a class="headerlink" href="#polynomial-generators" title="Link to this heading"></a></h2>
 <section id="univariate-polynomial">
-<h3>Univariate Polynomial<a class="headerlink" href="#univariate-polynomial" title="Permalink to this heading"></a></h3>
+<h3>Univariate Polynomial<a class="headerlink" href="#univariate-polynomial" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.signals.polynomial.univariate_polynomial">
-<span class="sig-prename descclassname"><span class="pre">indsl.signals.polynomial.</span></span><span class="sig-name descname"><span class="pre">univariate_polynomial</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">signal</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coefficients</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">[0.0,</span> <span class="pre">1.0]</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.signals.polynomial.univariate_polynomial" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.signals.polynomial.</span></span><span class="sig-name descname"><span class="pre">univariate_polynomial</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">signal</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coefficients</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">[0.0,</span> <span class="pre">1.0]</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.signals.polynomial.univariate_polynomial" title="Link to this definition"></a></dt>
 <dd><p>Univariate polynomial.</p>
 <p>Creates a univariate polynomial <span class="math notranslate nohighlight">\(y\)</span>, of degree <span class="math notranslate nohighlight">\(n\)</span>, from the time series <span class="math notranslate nohighlight">\(x\)</span>, and a list of
 coefficients <span class="math notranslate nohighlight">\(a_{n}\)</span>:</p>
diff --git a/docs/smooth.html b/docs/smooth.html
index cefabf6b..678a7c47 100644
--- a/docs/smooth.html
+++ b/docs/smooth.html
@@ -18,9 +18,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
@@ -155,14 +155,14 @@
            <div itemprop="articleBody">
              
   <section id="smooth">
-<h1>Smooth<a class="headerlink" href="#smooth" title="Permalink to this heading"></a></h1>
+<h1>Smooth<a class="headerlink" href="#smooth" title="Link to this heading"></a></h1>
 <section id="moving-averages">
-<h2>Moving Averages<a class="headerlink" href="#moving-averages" title="Permalink to this heading"></a></h2>
+<h2>Moving Averages<a class="headerlink" href="#moving-averages" title="Link to this heading"></a></h2>
 <section id="arnaud-legoux-moving-average">
-<h3>Arnaud Legoux Moving Average<a class="headerlink" href="#arnaud-legoux-moving-average" title="Permalink to this heading"></a></h3>
+<h3>Arnaud Legoux Moving Average<a class="headerlink" href="#arnaud-legoux-moving-average" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.smooth.alma">
-<span class="sig-prename descclassname"><span class="pre">indsl.smooth.</span></span><span class="sig-name descname"><span class="pre">alma</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sigma</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">6</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">offset_factor</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.75</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.smooth.alma" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.smooth.</span></span><span class="sig-name descname"><span class="pre">alma</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sigma</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">6</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">offset_factor</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.75</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.smooth.alma" title="Link to this definition"></a></dt>
 <dd><p>Arnaud Legoux moving average.</p>
 <p>Moving average typically used in the financial industry, which aims to strike a good balance between smoothness
 and responsiveness (i.e., capture a general smoothed trend without allowing for significant lag). It can be
@@ -199,10 +199,10 @@ <h3>Arnaud Legoux Moving Average<a class="headerlink" href="#arnaud-legoux-movin
 
 </section>
 <section id="autoregressive-moving-average">
-<h3>Autoregressive moving average<a class="headerlink" href="#autoregressive-moving-average" title="Permalink to this heading"></a></h3>
+<h3>Autoregressive moving average<a class="headerlink" href="#autoregressive-moving-average" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.smooth.arma">
-<span class="sig-prename descclassname"><span class="pre">indsl.smooth.</span></span><span class="sig-name descname"><span class="pre">arma</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ar_order</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ma_order</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">2</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.smooth.arma" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.smooth.</span></span><span class="sig-name descname"><span class="pre">arma</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ar_order</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ma_order</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">2</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.smooth.arma" title="Link to this definition"></a></dt>
 <dd><p>Autoregressive moving average.</p>
 <p>The autoregressive moving average (ARMA) is a popular model used in forecasting. It uses an autoregression (AR)
 analysis to characterize the effect of past values on current values and a moving average to quantify the effect of the
@@ -228,10 +228,10 @@ <h3>Autoregressive moving average<a class="headerlink" href="#autoregressive-mov
 
 </section>
 <section id="exponential-weighted-moving-average">
-<h3>Exponential weighted moving average<a class="headerlink" href="#exponential-weighted-moving-average" title="Permalink to this heading"></a></h3>
+<h3>Exponential weighted moving average<a class="headerlink" href="#exponential-weighted-moving-average" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.smooth.ewma">
-<span class="sig-prename descclassname"><span class="pre">indsl.smooth.</span></span><span class="sig-name descname"><span class="pre">ewma</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_periods</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">adjust</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_pt</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">200</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resample</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resample_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.smooth.ewma" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.smooth.</span></span><span class="sig-name descname"><span class="pre">ewma</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_periods</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">adjust</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_pt</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">200</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resample</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resample_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.smooth.ewma" title="Link to this definition"></a></dt>
 <dd><p>Exp. weighted moving average.</p>
 <p>The exponential moving average gives more weight to the more recent observations. The weights fall exponentially
 as the data point gets older. It reacts more than the simple moving average with regards to recent movements.
@@ -272,10 +272,10 @@ <h3>Exponential weighted moving average<a class="headerlink" href="#exponential-
 
 </section>
 <section id="linear-weighted-moving-average">
-<h3>Linear weighted moving average<a class="headerlink" href="#linear-weighted-moving-average" title="Permalink to this heading"></a></h3>
+<h3>Linear weighted moving average<a class="headerlink" href="#linear-weighted-moving-average" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.smooth.sma">
-<span class="sig-prename descclassname"><span class="pre">indsl.smooth.</span></span><span class="sig-name descname"><span class="pre">sma</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_periods</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.smooth.sma" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.smooth.</span></span><span class="sig-name descname"><span class="pre">sma</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_periods</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.smooth.sma" title="Link to this definition"></a></dt>
 <dd><p>Simple moving average (SMA).</p>
 <p>Plain simple average that computes the sum of the values of the observations in a time_window divided by the number of observations in the time_window.
 SMA time series are much less noisy than the original time series. However, SMA time series lag the original time series, which means that changes in the trend are only seen with a delay (lag) of time_window/2.</p>
@@ -301,10 +301,10 @@ <h3>Linear weighted moving average<a class="headerlink" href="#linear-weighted-m
 
 </section>
 <section id="simple-moving-average">
-<h3>Simple moving average<a class="headerlink" href="#simple-moving-average" title="Permalink to this heading"></a></h3>
+<h3>Simple moving average<a class="headerlink" href="#simple-moving-average" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.smooth.lwma">
-<span class="sig-prename descclassname"><span class="pre">indsl.smooth.</span></span><span class="sig-name descname"><span class="pre">lwma</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_periods</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resample</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resample_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.smooth.lwma" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.smooth.</span></span><span class="sig-name descname"><span class="pre">lwma</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_periods</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resample</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resample_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.smooth.lwma" title="Link to this definition"></a></dt>
 <dd><p>Linear weighted moving average.</p>
 <p>The linear weighted moving average gives more weight to the more recent observations and gradually less to the older
 ones.</p>
@@ -343,12 +343,12 @@ <h3>Simple moving average<a class="headerlink" href="#simple-moving-average" tit
 </section>
 </section>
 <section id="frequency-based-low-pass-filters">
-<h2>Frequency Based (low-pass filters)<a class="headerlink" href="#frequency-based-low-pass-filters" title="Permalink to this heading"></a></h2>
+<h2>Frequency Based (low-pass filters)<a class="headerlink" href="#frequency-based-low-pass-filters" title="Link to this heading"></a></h2>
 <section id="butterworth">
-<h3>Butterworth<a class="headerlink" href="#butterworth" title="Permalink to this heading"></a></h3>
+<h3>Butterworth<a class="headerlink" href="#butterworth" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.smooth.butterworth">
-<span class="sig-prename descclassname"><span class="pre">indsl.smooth.</span></span><span class="sig-name descname"><span class="pre">butterworth</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">N</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">50</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Wn</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">btype</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'lowpass'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'highpass'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'lowpass'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.smooth.butterworth" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.smooth.</span></span><span class="sig-name descname"><span class="pre">butterworth</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">N</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">50</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Wn</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">btype</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'lowpass'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'highpass'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'lowpass'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.smooth.butterworth" title="Link to this definition"></a></dt>
 <dd><p>Butterworth.</p>
 <p>This signal processing filter is designed to have a frequency response as flat as possible in the passband and
 roll-offs towards zero in the stopband. In other words, this filter is designed not to modify much the signal at the
@@ -379,10 +379,10 @@ <h3>Butterworth<a class="headerlink" href="#butterworth" title="Permalink to thi
 
 </section>
 <section id="chebyshev">
-<h3>Chebyshev<a class="headerlink" href="#chebyshev" title="Permalink to this heading"></a></h3>
+<h3>Chebyshev<a class="headerlink" href="#chebyshev" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.smooth.chebyshev">
-<span class="sig-prename descclassname"><span class="pre">indsl.smooth.</span></span><span class="sig-name descname"><span class="pre">chebyshev</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">filter_type</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">N</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rp</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Wn</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">btype</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'lowpass'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.smooth.chebyshev" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.smooth.</span></span><span class="sig-name descname"><span class="pre">chebyshev</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">filter_type</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">N</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">rp</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">Wn</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">btype</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'lowpass'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.smooth.chebyshev" title="Link to this definition"></a></dt>
 <dd><p>Chebyshev (I, II).</p>
 <p>Chebyshev filters are analog or digital filters having a steeper roll-off than Butterworth filters, and have
 passband ripple (type I) or stopband ripple (type II). Chebyshev filters have the property that they minimize the
@@ -418,10 +418,10 @@ <h3>Chebyshev<a class="headerlink" href="#chebyshev" title="Permalink to this he
 
 </section>
 <section id="savitzky-golay">
-<h3>Savitzky-Golay<a class="headerlink" href="#savitzky-golay" title="Permalink to this heading"></a></h3>
+<h3>Savitzky-Golay<a class="headerlink" href="#savitzky-golay" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.smooth.sg">
-<span class="sig-prename descclassname"><span class="pre">indsl.smooth.</span></span><span class="sig-name descname"><span class="pre">sg</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">window_length</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">polyorder</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.smooth.sg" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.smooth.</span></span><span class="sig-name descname"><span class="pre">sg</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">window_length</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">polyorder</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.smooth.sg" title="Link to this definition"></a></dt>
 <dd><p>Saviztky-Golay.</p>
 <p>Use this filter for smoothing data without distorting the data tendency. The method is independent of
 the sampling frequency. Hence, it is simple and robust to apply to data with non-uniform sampling. If you work with
diff --git a/docs/statistics.html b/docs/statistics.html
index 63a4e882..4b568b53 100644
--- a/docs/statistics.html
+++ b/docs/statistics.html
@@ -18,9 +18,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
@@ -133,12 +133,12 @@
            <div itemprop="articleBody">
              
   <section id="statistics">
-<h1>Statistics<a class="headerlink" href="#statistics" title="Permalink to this heading"></a></h1>
+<h1>Statistics<a class="headerlink" href="#statistics" title="Link to this heading"></a></h1>
 <section id="confidence-bands">
-<h2>Confidence bands<a class="headerlink" href="#confidence-bands" title="Permalink to this heading"></a></h2>
+<h2>Confidence bands<a class="headerlink" href="#confidence-bands" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.statistics.confidence.bands">
-<span class="sig-prename descclassname"><span class="pre">indsl.statistics.confidence.</span></span><span class="sig-name descname"><span class="pre">bands</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">period</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'1h'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">K</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">2.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">as_json</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">DataFrame</span></span></span><a class="headerlink" href="#indsl.statistics.confidence.bands" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.statistics.confidence.</span></span><span class="sig-name descname"><span class="pre">bands</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">period</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">str</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'1h'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">K</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">2.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">as_json</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">str</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">DataFrame</span></span></span><a class="headerlink" href="#indsl.statistics.confidence.bands" title="Link to this definition"></a></dt>
 <dd><p>Confidence bands.</p>
 <p>Confidence bands, also known as Bollinger Bands, are a statistical characterization of a time series fluctuations.
 The confidence bands display a graphical envelope (upper and lower bands) given by the deviation (expressed by the envelope’s width). The envelope width is estimated as a factor of the standard deviation for a given
@@ -171,10 +171,10 @@ <h2>Confidence bands<a class="headerlink" href="#confidence-bands" title="Permal
 
 </section>
 <section id="outlier-detection">
-<h2>Outlier detection<a class="headerlink" href="#outlier-detection" title="Permalink to this heading"></a></h2>
+<h2>Outlier detection<a class="headerlink" href="#outlier-detection" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.statistics.outliers.detect_outliers">
-<span class="sig-prename descclassname"><span class="pre">indsl.statistics.outliers.</span></span><span class="sig-name descname"><span class="pre">detect_outliers</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reg_smooth</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.9</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_samples</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">del_zero_val</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.statistics.outliers.detect_outliers" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.statistics.outliers.</span></span><span class="sig-name descname"><span class="pre">detect_outliers</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reg_smooth</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.9</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_samples</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">del_zero_val</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.statistics.outliers.detect_outliers" title="Link to this definition"></a></dt>
 <dd><p>Outlier detection.</p>
 <p>Identifies outliers combining two methods, dbscan and csap.</p>
 <ul class="simple">
@@ -247,10 +247,10 @@ <h2>Outlier detection<a class="headerlink" href="#outlier-detection" title="Perm
 </aside>
 </section>
 <section id="outlier-removal">
-<h2>Outlier removal<a class="headerlink" href="#outlier-removal" title="Permalink to this heading"></a></h2>
+<h2>Outlier removal<a class="headerlink" href="#outlier-removal" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.statistics.outliers.remove_outliers">
-<span class="sig-prename descclassname"><span class="pre">indsl.statistics.outliers.</span></span><span class="sig-name descname"><span class="pre">remove_outliers</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reg_smooth</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.9</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_samples</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">del_zero_val</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.statistics.outliers.remove_outliers" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.statistics.outliers.</span></span><span class="sig-name descname"><span class="pre">remove_outliers</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reg_smooth</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.9</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_samples</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">4</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">eps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">del_zero_val</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.statistics.outliers.remove_outliers" title="Link to this definition"></a></dt>
 <dd><p>Outlier removal.</p>
 <p>Identifies and removes outliers combining two methods, dbscan and csap.</p>
 <ul class="simple">
@@ -317,10 +317,10 @@ <h2>Outlier removal<a class="headerlink" href="#outlier-removal" title="Permalin
 </aside>
 </section>
 <section id="pearson-correlation">
-<h2>Pearson correlation<a class="headerlink" href="#pearson-correlation" title="Permalink to this heading"></a></h2>
+<h2>Pearson correlation<a class="headerlink" href="#pearson-correlation" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.statistics.pearson_correlation">
-<span class="sig-prename descclassname"><span class="pre">indsl.statistics.</span></span><span class="sig-name descname"><span class="pre">pearson_correlation</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data1</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data2</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:15:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_periods</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.statistics.pearson_correlation" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.statistics.</span></span><span class="sig-name descname"><span class="pre">pearson_correlation</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data1</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">data2</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_window</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:15:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_periods</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.statistics.pearson_correlation" title="Link to this definition"></a></dt>
 <dd><p>Pearson correlation.</p>
 <p>This function measures the linear correlation between two time series along a rolling window.
 Pearson’s definition of correlation: <a class="reference external" href="https://en.wikipedia.org/wiki/Pearson_correlation_coefficient">https://en.wikipedia.org/wiki/Pearson_correlation_coefficient</a></p>
diff --git a/docs/sustainability.html b/docs/sustainability.html
index ce4b245b..3566745f 100644
--- a/docs/sustainability.html
+++ b/docs/sustainability.html
@@ -18,9 +18,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
         <script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
@@ -137,14 +137,14 @@
            <div itemprop="articleBody">
              
   <section id="sustainability">
-<h1>Sustainability<a class="headerlink" href="#sustainability" title="Permalink to this heading"></a></h1>
+<h1>Sustainability<a class="headerlink" href="#sustainability" title="Link to this heading"></a></h1>
 <section id="co2-emissions-calculations">
-<h2>CO2 Emissions Calculations<a class="headerlink" href="#co2-emissions-calculations" title="Permalink to this heading"></a></h2>
+<h2>CO2 Emissions Calculations<a class="headerlink" href="#co2-emissions-calculations" title="Link to this heading"></a></h2>
 <section id="cumulative-co2-production">
-<h3>Cumulative CO2 Production<a class="headerlink" href="#cumulative-co2-production" title="Permalink to this heading"></a></h3>
+<h3>Cumulative CO2 Production<a class="headerlink" href="#cumulative-co2-production" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.sustainability.co2_emissions_calculations.cumulative_co2_production">
-<span class="sig-prename descclassname"><span class="pre">indsl.sustainability.co2_emissions_calculations.</span></span><span class="sig-name descname"><span class="pre">cumulative_co2_production</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rate_of_emissions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_date</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timestamp</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.sustainability.co2_emissions_calculations.cumulative_co2_production" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.sustainability.co2_emissions_calculations.</span></span><span class="sig-name descname"><span class="pre">cumulative_co2_production</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rate_of_emissions</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_date</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timestamp</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.sustainability.co2_emissions_calculations.cumulative_co2_production" title="Link to this definition"></a></dt>
 <dd><p>Cumulative CO2 production.</p>
 <p>This function calculates the total CO2 production according to the rate of emissions. The total is calculated by performing trapezoidal integration
 over time (granularity of 1 hour). The rate of emissions is resampled to 1-hour granularity accordingly. If no start time is specified,
@@ -167,10 +167,10 @@ <h3>Cumulative CO2 Production<a class="headerlink" href="#cumulative-co2-product
 
 </section>
 <section id="cumulative-co2-cost">
-<h3>Cumulative CO2 Cost<a class="headerlink" href="#cumulative-co2-cost" title="Permalink to this heading"></a></h3>
+<h3>Cumulative CO2 Cost<a class="headerlink" href="#cumulative-co2-cost" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.sustainability.co2_emissions_calculations.cumulative_co2_cost">
-<span class="sig-prename descclassname"><span class="pre">indsl.sustainability.co2_emissions_calculations.</span></span><span class="sig-name descname"><span class="pre">cumulative_co2_cost</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">co2_cost_factor</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">emissions_factor</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_date</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timestamp</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.sustainability.co2_emissions_calculations.cumulative_co2_cost" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.sustainability.co2_emissions_calculations.</span></span><span class="sig-name descname"><span class="pre">cumulative_co2_cost</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">co2_cost_factor</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">emissions_factor</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">start_date</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timestamp</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.sustainability.co2_emissions_calculations.cumulative_co2_cost" title="Link to this definition"></a></dt>
 <dd><p>Cumulative CO2 cost.</p>
 <p>This function calculates the cumulative cost of CO2 for either a combustor or power consumer. It calculates the rate of CO2 emitted
 and then uses that to calculate total CO2 emitted. This is then multiplied by the cost factor to get the total cumulative cost. Note that the co2_cost_factor, emissions_factor, and data must have consistent units to generate a currency output.</p>
@@ -194,10 +194,10 @@ <h3>Cumulative CO2 Cost<a class="headerlink" href="#cumulative-co2-cost" title="
 
 </section>
 <section id="rate-of-co2-emissions">
-<h3>Rate of CO2 Emissions<a class="headerlink" href="#rate-of-co2-emissions" title="Permalink to this heading"></a></h3>
+<h3>Rate of CO2 Emissions<a class="headerlink" href="#rate-of-co2-emissions" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.sustainability.co2_emissions_calculations.rate_of_emissions">
-<span class="sig-prename descclassname"><span class="pre">indsl.sustainability.co2_emissions_calculations.</span></span><span class="sig-name descname"><span class="pre">rate_of_emissions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">emissions_factor</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.sustainability.co2_emissions_calculations.rate_of_emissions" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.sustainability.co2_emissions_calculations.</span></span><span class="sig-name descname"><span class="pre">rate_of_emissions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">emissions_factor</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.sustainability.co2_emissions_calculations.rate_of_emissions" title="Link to this definition"></a></dt>
 <dd><p>Rate of emissions.</p>
 <p>This function calculates the rate of emissions generated by a power consumer or a combustor.</p>
 <div class="math notranslate nohighlight">
@@ -221,10 +221,10 @@ <h3>Rate of CO2 Emissions<a class="headerlink" href="#rate-of-co2-emissions" tit
 
 </section>
 <section id="emissions-factor-for-combustor">
-<h3>Emissions Factor for Combustor<a class="headerlink" href="#emissions-factor-for-combustor" title="Permalink to this heading"></a></h3>
+<h3>Emissions Factor for Combustor<a class="headerlink" href="#emissions-factor-for-combustor" title="Link to this heading"></a></h3>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.sustainability.co2_emissions_calculations.emissions_factor_combustor">
-<span class="sig-prename descclassname"><span class="pre">indsl.sustainability.co2_emissions_calculations.</span></span><span class="sig-name descname"><span class="pre">emissions_factor_combustor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">emissions_factor</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">heating_value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">carbon_content</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">float</span></span></span><a class="headerlink" href="#indsl.sustainability.co2_emissions_calculations.emissions_factor_combustor" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.sustainability.co2_emissions_calculations.</span></span><span class="sig-name descname"><span class="pre">emissions_factor_combustor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">emissions_factor</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">heating_value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">carbon_content</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">float</span></span></span><a class="headerlink" href="#indsl.sustainability.co2_emissions_calculations.emissions_factor_combustor" title="Link to this definition"></a></dt>
 <dd><p>Combustor emissions factor.</p>
 <p>This function calculates the emissions factor of a combustor (e.g., gas turbine, flare, etc.). Three different methods can be used
 to perform this calculation:</p>
diff --git a/docs/ts_utils.html b/docs/ts_utils.html
index 20912d6b..a2110032 100644
--- a/docs/ts_utils.html
+++ b/docs/ts_utils.html
@@ -18,9 +18,9 @@
   
         <script src="_static/jquery.js?v=5d32c60e"></script>
         <script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
-        <script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=37b3a9b0"></script>
+        <script src="_static/documentation_options.js?v=15c97ff8"></script>
         <script src="_static/doctools.js?v=888ff710"></script>
-        <script src="_static/sphinx_highlight.js?v=4825356b"></script>
+        <script src="_static/sphinx_highlight.js?v=dc90522c"></script>
     <script src="_static/js/theme.js"></script>
     <link rel="index" title="Index" href="genindex.html" />
     <link rel="search" title="Search" href="search.html" />
@@ -191,12 +191,12 @@
            <div itemprop="articleBody">
              
   <section id="basic-time-series-functions">
-<h1>Basic time series functions<a class="headerlink" href="#basic-time-series-functions" title="Permalink to this heading"></a></h1>
+<h1>Basic time series functions<a class="headerlink" href="#basic-time-series-functions" title="Link to this heading"></a></h1>
 <section id="module-indsl.ts_utils.operators">
-<span id="operators"></span><h2>Operators<a class="headerlink" href="#module-indsl.ts_utils.operators" title="Permalink to this heading"></a></h2>
+<span id="operators"></span><h2>Operators<a class="headerlink" href="#module-indsl.ts_utils.operators" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.operators.absolute">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">absolute</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.absolute" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">absolute</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.absolute" title="Link to this definition"></a></dt>
 <dd><p>Absolute value.</p>
 <p>The absolute value of time series or numbers.</p>
 <dl class="field-list simple">
@@ -214,7 +214,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.operators.add">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">add</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">a</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">b</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.add" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">add</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">a</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">b</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.add" title="Link to this definition"></a></dt>
 <dd><p>Add.</p>
 <p>Add any two time series or numbers.</p>
 <dl class="field-list simple">
@@ -237,7 +237,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.operators.arithmetic_mean">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">arithmetic_mean</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">a</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">b</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.arithmetic_mean" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">arithmetic_mean</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">a</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">b</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.arithmetic_mean" title="Link to this definition"></a></dt>
 <dd><p>Arithmetic mean.</p>
 <p>The mean of two time series or numbers.</p>
 <dl class="field-list simple">
@@ -260,7 +260,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.operators.arithmetic_mean_many">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">arithmetic_mean_many</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></span><a class="headerlink" href="#indsl.ts_utils.operators.arithmetic_mean_many" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">arithmetic_mean_many</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">data</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">float</span></span></span><a class="headerlink" href="#indsl.ts_utils.operators.arithmetic_mean_many" title="Link to this definition"></a></dt>
 <dd><p>Arithmetic mean many.</p>
 <p>The mean of multiple time series.</p>
 <dl class="field-list simple">
@@ -282,7 +282,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.operators.div">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">div</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">a</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">b</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.div" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">div</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">a</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">b</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.div" title="Link to this definition"></a></dt>
 <dd><p>Division.</p>
 <p>Divide two time series or numbers. If the time series in the
 denominator contains zeros, all instances are dropped from the final
@@ -307,7 +307,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.operators.inv">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">inv</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.inv" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">inv</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.inv" title="Link to this definition"></a></dt>
 <dd><p>Inverse.</p>
 <p>Element-wise inverse of time series or numbers.</p>
 <dl class="field-list simple">
@@ -325,7 +325,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.operators.mod">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">mod</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">a</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">b</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.mod" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">mod</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">a</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">b</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.mod" title="Link to this definition"></a></dt>
 <dd><p>Modulo.</p>
 <p>Modulo of time series or numbers.</p>
 <dl class="field-list simple">
@@ -348,7 +348,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.operators.mul">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">mul</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">a</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">b</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.mul" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">mul</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">a</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">b</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.mul" title="Link to this definition"></a></dt>
 <dd><p>Multiplication.</p>
 <p>Multiply two time series or numbers.</p>
 <dl class="field-list simple">
@@ -371,7 +371,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.operators.neg">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">neg</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.neg" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">neg</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.neg" title="Link to this definition"></a></dt>
 <dd><p>Negation.</p>
 <p>Negation of time series or numbers.</p>
 <dl class="field-list simple">
@@ -389,7 +389,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.operators.power">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">power</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">a</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">b</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.power" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">power</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">a</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">b</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.power" title="Link to this definition"></a></dt>
 <dd><p>Power.</p>
 <p>Power of time series or numbers.</p>
 <dl class="field-list simple">
@@ -412,7 +412,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.operators.sqrt">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">sqrt</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.sqrt" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">sqrt</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.sqrt" title="Link to this definition"></a></dt>
 <dd><p>Square root.</p>
 <p>Square root of time series or numbers.</p>
 <dl class="field-list simple">
@@ -430,7 +430,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.operators.sub">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">sub</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">a</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">b</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.sub" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.operators.</span></span><span class="sig-name descname"><span class="pre">sub</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">a</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">b</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.operators.sub" title="Link to this definition"></a></dt>
 <dd><p>Subtraction.</p>
 <p>The difference between two time series or numbers.</p>
 <dl class="field-list simple">
@@ -453,10 +453,10 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 </section>
 <section id="module-indsl.ts_utils.numerical_calculus">
-<span id="numerical-calculus"></span><h2>Numerical calculus<a class="headerlink" href="#module-indsl.ts_utils.numerical_calculus" title="Permalink to this heading"></a></h2>
+<span id="numerical-calculus"></span><h2>Numerical calculus<a class="headerlink" href="#module-indsl.ts_utils.numerical_calculus" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.numerical_calculus.differentiate">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.numerical_calculus.</span></span><span class="sig-name descname"><span class="pre">differentiate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_unit</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.numerical_calculus.differentiate" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.numerical_calculus.</span></span><span class="sig-name descname"><span class="pre">differentiate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_unit</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.numerical_calculus.differentiate" title="Link to this definition"></a></dt>
 <dd><p>Differentiation.</p>
 <p>Differentiation (finite difference) using a second-order accurate numerical method (central difference).
 Boundary points are computed using a first-order accurate method.</p>
@@ -480,7 +480,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.numerical_calculus.integrate_windows">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.numerical_calculus.</span></span><span class="sig-name descname"><span class="pre">integrate_windows</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">values</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dt</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">from_to_index</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">number_of_windows</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">ndarray</span></span></span><a class="headerlink" href="#indsl.ts_utils.numerical_calculus.integrate_windows" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.numerical_calculus.</span></span><span class="sig-name descname"><span class="pre">integrate_windows</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">values</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dt</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">from_to_index</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">number_of_windows</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">ndarray</span></span></span><a class="headerlink" href="#indsl.ts_utils.numerical_calculus.integrate_windows" title="Link to this definition"></a></dt>
 <dd><p>Integrate the windows.</p>
 <p>Performs the integration, through the trapezoidal- or midpoint-method.
 Since all the from and to window indexes are available and all inputs are np.ndarrays, this is parallelized and sped up with numba.</p>
@@ -504,7 +504,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.numerical_calculus.sliding_window_integration">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.numerical_calculus.</span></span><span class="sig-name descname"><span class="pre">sliding_window_integration</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">window_length</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:05:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">integrand_rate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.numerical_calculus.sliding_window_integration" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.numerical_calculus.</span></span><span class="sig-name descname"><span class="pre">sliding_window_integration</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">window_length</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">00:05:00')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">integrand_rate</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.numerical_calculus.sliding_window_integration" title="Link to this definition"></a></dt>
 <dd><p>Sliding window integration.</p>
 <p>Siding window integration using trapezoidal rule.</p>
 <dl class="field-list simple">
@@ -555,7 +555,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.numerical_calculus.trapezoidal_integration">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.numerical_calculus.</span></span><span class="sig-name descname"><span class="pre">trapezoidal_integration</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_unit</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.numerical_calculus.trapezoidal_integration" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.numerical_calculus.</span></span><span class="sig-name descname"><span class="pre">trapezoidal_integration</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">time_unit</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Timedelta</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">Timedelta('0</span> <span class="pre">days</span> <span class="pre">01:00:00')</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.numerical_calculus.trapezoidal_integration" title="Link to this definition"></a></dt>
 <dd><p>Integration.</p>
 <p>Cumulative integration using trapezoidal rule with an optional user-defined time unit.</p>
 <dl class="field-list simple">
@@ -579,7 +579,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.numerical_calculus.window_index">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.numerical_calculus.</span></span><span class="sig-name descname"><span class="pre">window_index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">np_datetime_ns</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span><span class="p"><span class="pre">[</span></span><span class="pre">Any</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">dtype</span><span class="p"><span class="pre">[</span></span><span class="pre">float64</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">windowlength_in_ns</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">ndarray</span></span></span><a class="headerlink" href="#indsl.ts_utils.numerical_calculus.window_index" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.numerical_calculus.</span></span><span class="sig-name descname"><span class="pre">window_index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">np_datetime_ns</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span><span class="p"><span class="pre">[</span></span><span class="pre">Any</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">dtype</span><span class="p"><span class="pre">[</span></span><span class="pre">float64</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span></em>, <em class="sig-param"><span class="n"><span class="pre">windowlength_in_ns</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">ndarray</span></span></span><a class="headerlink" href="#indsl.ts_utils.numerical_calculus.window_index" title="Link to this definition"></a></dt>
 <dd><p>Sliding window indexing.</p>
 <p>Returns a np.ndarray where the index corresponds to the starting point of a window,
 the value at the index corresponds to numerical indexes for the end of the window.
@@ -600,10 +600,10 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 </section>
 <section id="module-indsl.ts_utils.logarithmic_functions">
-<span id="logarithmic-functions"></span><h2>Logarithmic functions<a class="headerlink" href="#module-indsl.ts_utils.logarithmic_functions" title="Permalink to this heading"></a></h2>
+<span id="logarithmic-functions"></span><h2>Logarithmic functions<a class="headerlink" href="#module-indsl.ts_utils.logarithmic_functions" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.logarithmic_functions.exp">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.logarithmic_functions.</span></span><span class="sig-name descname"><span class="pre">exp</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.logarithmic_functions.exp" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.logarithmic_functions.</span></span><span class="sig-name descname"><span class="pre">exp</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.logarithmic_functions.exp" title="Link to this definition"></a></dt>
 <dd><p>Exp.</p>
 <p>Calculates the exponential of a time series.</p>
 <dl class="field-list simple">
@@ -621,7 +621,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.logarithmic_functions.log">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.logarithmic_functions.</span></span><span class="sig-name descname"><span class="pre">log</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.logarithmic_functions.log" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.logarithmic_functions.</span></span><span class="sig-name descname"><span class="pre">log</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.logarithmic_functions.log" title="Link to this definition"></a></dt>
 <dd><p>Ln.</p>
 <p>Calculates the natural logarithm of a time series.</p>
 <dl class="field-list simple">
@@ -639,7 +639,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.logarithmic_functions.log10">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.logarithmic_functions.</span></span><span class="sig-name descname"><span class="pre">log10</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.logarithmic_functions.log10" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.logarithmic_functions.</span></span><span class="sig-name descname"><span class="pre">log10</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.logarithmic_functions.log10" title="Link to this definition"></a></dt>
 <dd><p>Log base 10.</p>
 <p>Calculates the logarithm with base 10 of a time series.</p>
 <dl class="field-list simple">
@@ -657,7 +657,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.logarithmic_functions.log2">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.logarithmic_functions.</span></span><span class="sig-name descname"><span class="pre">log2</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.logarithmic_functions.log2" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.logarithmic_functions.</span></span><span class="sig-name descname"><span class="pre">log2</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.logarithmic_functions.log2" title="Link to this definition"></a></dt>
 <dd><p>Log base 2.</p>
 <p>Calculates the logarithm with base 2 of a time series.</p>
 <dl class="field-list simple">
@@ -675,7 +675,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.logarithmic_functions.logn">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.logarithmic_functions.</span></span><span class="sig-name descname"><span class="pre">logn</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">base</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.logarithmic_functions.logn" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.logarithmic_functions.</span></span><span class="sig-name descname"><span class="pre">logn</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">base</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.logarithmic_functions.logn" title="Link to this definition"></a></dt>
 <dd><p>Log, any base.</p>
 <p>Calculates the logarithm with base “n” of a time series.</p>
 <dl class="field-list simple">
@@ -698,10 +698,10 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 </section>
 <section id="module-indsl.ts_utils.trigonometric_functions">
-<span id="trigonometric-functions"></span><h2>Trigonometric functions<a class="headerlink" href="#module-indsl.ts_utils.trigonometric_functions" title="Permalink to this heading"></a></h2>
+<span id="trigonometric-functions"></span><h2>Trigonometric functions<a class="headerlink" href="#module-indsl.ts_utils.trigonometric_functions" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.trigonometric_functions.arccos">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">arccos</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.arccos" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">arccos</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.arccos" title="Link to this definition"></a></dt>
 <dd><p>Arccos.</p>
 <p>Calculates the trigonometric arccosine of a time series.</p>
 <dl class="field-list simple">
@@ -719,7 +719,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.trigonometric_functions.arccosh">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">arccosh</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.arccosh" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">arccosh</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.arccosh" title="Link to this definition"></a></dt>
 <dd><p>Arccosh.</p>
 <p>Calculates the hyperbolic arccosine of a time series.</p>
 <dl class="field-list simple">
@@ -737,7 +737,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.trigonometric_functions.arcsin">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">arcsin</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.arcsin" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">arcsin</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.arcsin" title="Link to this definition"></a></dt>
 <dd><p>Arcsin.</p>
 <p>Calculates the trigonometric arcsine of a time series.</p>
 <dl class="field-list simple">
@@ -755,7 +755,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.trigonometric_functions.arcsinh">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">arcsinh</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.arcsinh" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">arcsinh</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.arcsinh" title="Link to this definition"></a></dt>
 <dd><p>Arcsinh.</p>
 <p>Calculates the hyperbolic arcsine of a time series.</p>
 <dl class="field-list simple">
@@ -773,7 +773,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.trigonometric_functions.arctan">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">arctan</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.arctan" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">arctan</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.arctan" title="Link to this definition"></a></dt>
 <dd><p>Arctan.</p>
 <p>Calculate inverse hyperbolic tangent of a time series.</p>
 <dl class="field-list simple">
@@ -791,7 +791,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.trigonometric_functions.arctan2">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">arctan2</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">x2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.arctan2" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">arctan2</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">x2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.arctan2" title="Link to this definition"></a></dt>
 <dd><p>Arctan(x1, x2).</p>
 <p>Element-wise arc tangent of x1/x2 choosing the quadrant
 correctly.</p>
@@ -815,7 +815,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.trigonometric_functions.arctanh">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">arctanh</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.arctanh" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">arctanh</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.arctanh" title="Link to this definition"></a></dt>
 <dd><p>Arctanh.</p>
 <p>Calculates the hyperbolic arctangent of a time series.</p>
 <dl class="field-list simple">
@@ -833,7 +833,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.trigonometric_functions.cos">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">cos</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.cos" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">cos</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.cos" title="Link to this definition"></a></dt>
 <dd><p>Cos.</p>
 <p>Calculates the trigonometric cosine of a time series.</p>
 <dl class="field-list simple">
@@ -851,7 +851,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.trigonometric_functions.cosh">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">cosh</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.cosh" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">cosh</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.cosh" title="Link to this definition"></a></dt>
 <dd><p>Cosh.</p>
 <p>Calculates the hyperbolic cosine of a time series.</p>
 <dl class="field-list simple">
@@ -869,7 +869,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.trigonometric_functions.deg2rad">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">deg2rad</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.deg2rad" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">deg2rad</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.deg2rad" title="Link to this definition"></a></dt>
 <dd><p>Degrees to radians.</p>
 <p>Converts angles from degrees to radians.</p>
 <dl class="field-list simple">
@@ -887,7 +887,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.trigonometric_functions.rad2deg">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">rad2deg</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.rad2deg" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">rad2deg</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.rad2deg" title="Link to this definition"></a></dt>
 <dd><p>Radians to degrees.</p>
 <p>Converts angles from radiants to degrees.</p>
 <dl class="field-list simple">
@@ -905,7 +905,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.trigonometric_functions.sin">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">sin</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.sin" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">sin</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.sin" title="Link to this definition"></a></dt>
 <dd><p>Sin.</p>
 <p>Calculates the trigonometric sine of a time series.</p>
 <dl class="field-list simple">
@@ -923,7 +923,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.trigonometric_functions.sinh">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">sinh</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.sinh" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">sinh</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.sinh" title="Link to this definition"></a></dt>
 <dd><p>Sinh.</p>
 <p>Calculates the hyperbolic sine of a time series.</p>
 <dl class="field-list simple">
@@ -941,7 +941,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.trigonometric_functions.tan">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">tan</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.tan" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">tan</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.tan" title="Link to this definition"></a></dt>
 <dd><p>Tan.</p>
 <p>Calculates the trigonometric tangent of a time series.</p>
 <dl class="field-list simple">
@@ -959,7 +959,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.trigonometric_functions.tanh">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">tanh</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.tanh" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.trigonometric_functions.</span></span><span class="sig-name descname"><span class="pre">tanh</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.trigonometric_functions.tanh" title="Link to this definition"></a></dt>
 <dd><p>Tanh.</p>
 <p>Calculates the hyperbolic tangent of time series.</p>
 <dl class="field-list simple">
@@ -977,10 +977,10 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 </section>
 <section id="module-indsl.ts_utils.utility_functions">
-<span id="utility-functions"></span><h2>Utility functions<a class="headerlink" href="#module-indsl.ts_utils.utility_functions" title="Permalink to this heading"></a></h2>
+<span id="utility-functions"></span><h2>Utility functions<a class="headerlink" href="#module-indsl.ts_utils.utility_functions" title="Link to this heading"></a></h2>
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.bin_map">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">bin_map</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">x2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.bin_map" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">bin_map</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">x2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.bin_map" title="Link to this definition"></a></dt>
 <dd><p>Element-wise greater-than.</p>
 <p>Maps to a binary array by checking if one time series is greater than another.</p>
 <dl class="field-list simple">
@@ -1003,7 +1003,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.ceil">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">ceil</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.ceil" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">ceil</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.ceil" title="Link to this definition"></a></dt>
 <dd><p>Round up.</p>
 <p>Rounds up a time series to the nearest integer greater than or
 equal to the current value.</p>
@@ -1022,7 +1022,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.clip">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">clip</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">low</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">-inf</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">high</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">inf</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.clip" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">clip</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">low</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">-inf</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">high</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">inf</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.clip" title="Link to this definition"></a></dt>
 <dd><p>Clip (low, high).</p>
 <p>Given an interval, values of the time series outside the
 interval are clipped to the interval edges.</p>
@@ -1047,7 +1047,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.create_series_from_timesteps">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">create_series_from_timesteps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">timedelta</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.create_series_from_timesteps" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">create_series_from_timesteps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">timedelta</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.create_series_from_timesteps" title="Link to this definition"></a></dt>
 <dd><p>Time series from timestamps.</p>
 <p>Create a time series which starts on the 2021-1-1 and contains data points
 with the provided timesteps in seconds. All values of the output series are zero.</p>
@@ -1066,7 +1066,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.floor">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">floor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.floor" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">floor</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.floor" title="Link to this definition"></a></dt>
 <dd><p>Round down.</p>
 <p>Rounds a time series down to the nearest integer smaller than
 or equal to the current value.</p>
@@ -1085,7 +1085,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.generate_step_series">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">generate_step_series</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">flag</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.generate_step_series" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">generate_step_series</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">flag</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.generate_step_series" title="Link to this definition"></a></dt>
 <dd><p>Step-wise time series.</p>
 <p>Construct a step-wise time series (with 0-1 values) from a flag time series.
 Consecutive 1 values are merged in one step.</p>
@@ -1121,7 +1121,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.get_timestamps">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">get_timestamps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">unit</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'ns'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'us'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'ms'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'s'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'m'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'h'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'D'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'W'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'ms'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.get_timestamps" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">get_timestamps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">unit</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'ns'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'us'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'ms'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'s'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'m'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'h'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'D'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'W'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'ms'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.get_timestamps" title="Link to this definition"></a></dt>
 <dd><p>Get index of time series.</p>
 <p>Get timestamps of the time series as values.
 The timestamps follow the Unix convention (Number of seconds
@@ -1152,7 +1152,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.iqr_test">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">iqr_test</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">limit</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'upper'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'lower'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'upper'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">direction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'greater'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'less'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'greater'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">ndarray</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.iqr_test" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">iqr_test</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">limit</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'upper'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'lower'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'upper'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">direction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'greater'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'less'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'greater'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">ndarray</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.iqr_test" title="Link to this definition"></a></dt>
 <dd><p>Z-scores test.</p>
 <p>This functions performs a iqr test and returns a binary time series.</p>
 <dl class="field-list simple">
@@ -1181,7 +1181,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.maximum">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">maximum</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">x2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.maximum" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">maximum</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">x2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.maximum" title="Link to this definition"></a></dt>
 <dd><p>Element-wise maximum.</p>
 <p>Computes the maximum value of two time series or
 numbers.</p>
@@ -1205,7 +1205,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.minimum">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">minimum</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">x2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.minimum" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">minimum</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x1</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">x2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">align_timesteps</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">bool</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.minimum" title="Link to this definition"></a></dt>
 <dd><p>Element-wise minimum.</p>
 <p>Computes the minimum value of two time series.</p>
 <dl class="field-list simple">
@@ -1228,7 +1228,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.modified_z_scores_test">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">modified_z_scores_test</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">3.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">direction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'greater'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'less'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'greater'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">ndarray</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.modified_z_scores_test" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">modified_z_scores_test</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">3.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">direction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'greater'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'less'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'greater'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">ndarray</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.modified_z_scores_test" title="Link to this definition"></a></dt>
 <dd><p>Z-scores test.</p>
 <p>This functions performs a modified z-scores test given a cut-off value and returns a binary time series.</p>
 <dl class="field-list simple">
@@ -1257,7 +1257,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.normality_assumption_test">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">normality_assumption_test</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_data_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">5000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_p_value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.05</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_W</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.5</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.normality_assumption_test" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">normality_assumption_test</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_data_points</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">5000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_p_value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.05</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">min_W</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.5</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Tuple</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="pre">float</span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.normality_assumption_test" title="Link to this definition"></a></dt>
 <dd><p>Test for normality assumption.</p>
 <p>This function performs a Shapiro-Wilk test to check if the data is normally distributed.</p>
 <dl class="field-list simple">
@@ -1288,7 +1288,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.remove">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">remove</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">to_remove</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">range_from</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">range_to</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.remove" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">remove</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">to_remove</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">range_from</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">range_to</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.remove" title="Link to this definition"></a></dt>
 <dd><p>Remove.</p>
 <p>Remove specific values or a range of values from a time series.</p>
 <dl class="field-list simple">
@@ -1321,7 +1321,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.replace">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">replace</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">to_replace</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.replace" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">replace</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">to_replace</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">List</span><span class="p"><span class="pre">[</span></span><span class="pre">float</span><span class="p"><span class="pre">]</span></span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span><span class="w"> </span><span class="p"><span class="pre">|</span></span><span class="w"> </span><span class="pre">None</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0.0</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.replace" title="Link to this definition"></a></dt>
 <dd><p>Replace.</p>
 <p>Replace values in a time series. The values to replace should be
 a semicolon-separated list. Undefined and infinity values can be replaced
@@ -1355,7 +1355,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.round">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">round</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">decimals</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.round" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">round</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">decimals</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">int</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.round" title="Link to this definition"></a></dt>
 <dd><p>Round.</p>
 <p>Rounds a time series to a given number of decimals.</p>
 <dl class="field-list simple">
@@ -1376,7 +1376,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.set_timestamps">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">set_timestamps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">timestamp_series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value_series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">unit</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'ns'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'us'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'ms'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'s'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'m'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'h'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'D'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'W'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'ms'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.set_timestamps" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">set_timestamps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">timestamp_series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">value_series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">unit</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'ns'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'us'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'ms'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'s'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'m'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'h'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'D'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'W'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'ms'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.set_timestamps" title="Link to this definition"></a></dt>
 <dd><p>Set index of time series.</p>
 <p>Sets the time series values to the Unix timestamps.
 The timestamps follow the Unix convention (Number of seconds
@@ -1409,7 +1409,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.sign">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">sign</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.sign" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">sign</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.sign" title="Link to this definition"></a></dt>
 <dd><p>Sign.</p>
 <p>Element-wise indication of the sign of a time series.</p>
 <dl class="field-list simple">
@@ -1427,7 +1427,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.threshold">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">threshold</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">low</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">-inf</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">high</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">inf</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.threshold" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">threshold</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">low</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">-inf</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">high</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">inf</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#indsl.ts_utils.utility_functions.threshold" title="Link to this definition"></a></dt>
 <dd><p>Threshold.</p>
 <p>Indicates if the input series exceeds the lower and higher limits. The output series
 is 1.0 if the input is between the (inclusive) limits, and 0.0 otherwise.</p>
@@ -1458,7 +1458,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.threshold_test">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">threshold_test</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">direction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'greater'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'less'</span></span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">ndarray</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.threshold_test" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">threshold_test</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">direction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'greater'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'less'</span></span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">ndarray</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.threshold_test" title="Link to this definition"></a></dt>
 <dd><p>Threshold test.</p>
 <p>This functions performs a threshold test based on a direction (greater than or less than).</p>
 <dl class="field-list simple">
@@ -1487,7 +1487,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.time_shift">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">time_shift</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_units</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">unit</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'ns'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'us'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'ms'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'s'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'m'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'h'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'D'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'W'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'ms'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.time_shift" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">time_shift</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">n_units</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">unit</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'ns'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'us'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'ms'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'s'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'m'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'h'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'D'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'W'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'ms'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.time_shift" title="Link to this definition"></a></dt>
 <dd><p>Shift time series.</p>
 <p>Shift time series by a time period</p>
 <dl class="field-list simple">
@@ -1518,7 +1518,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.union">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">union</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series1</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">series2</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.union" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">union</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">series1</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">series2</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Series</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">Series</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.union" title="Link to this definition"></a></dt>
 <dd><p>Union.</p>
 <p>Takes the union of two time series. If a time stamp
 occurs in both series, the value of the first time series is used.</p>
@@ -1543,7 +1543,7 @@ <h1>Basic time series functions<a class="headerlink" href="#basic-time-series-fu
 
 <dl class="py function">
 <dt class="sig sig-object py" id="indsl.ts_utils.utility_functions.z_scores_test">
-<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">z_scores_test</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">3.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">direction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'greater'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'less'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'greater'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">ndarray</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.z_scores_test" title="Permalink to this definition"></a></dt>
+<span class="sig-prename descclassname"><span class="pre">indsl.ts_utils.utility_functions.</span></span><span class="sig-name descname"><span class="pre">z_scores_test</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">x</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">ndarray</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cutoff</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">3.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">direction</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Literal</span><span class="p"><span class="pre">[</span></span><span class="s"><span class="pre">'greater'</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="s"><span class="pre">'less'</span></span><span class="p"><span class="pre">]</span></span></span><span class="w"> </span><span class="o"><span class="pre">=</span></span><span class="w"> </span><span class="default_value"><span class="pre">'greater'</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">&#x2192;</span> <span class="sig-return-typehint"><span class="pre">ndarray</span></span></span><a class="headerlink" href="#indsl.ts_utils.utility_functions.z_scores_test" title="Link to this definition"></a></dt>
 <dd><p>Z-scores test.</p>
 <p>This functions performs a z-scores test given a cut-off value and returns a binary time series.</p>
 <dl class="field-list simple">