From a6f04a4e97a3665083a96cfe19eba8364a372081 Mon Sep 17 00:00:00 2001
From: Peter Luenenschloss <peter.luenenschloss@ufz.de>
Date: Thu, 5 Dec 2019 16:03:45 +0100
Subject: [PATCH] Update FunctionDescriptions.md

---
 docs/FunctionDescriptions.md | 53 ++++++++++++++++++++++++++++++------
 1 file changed, 45 insertions(+), 8 deletions(-)

diff --git a/docs/FunctionDescriptions.md b/docs/FunctionDescriptions.md
index bf194ba7c..506b84bae 100644
--- a/docs/FunctionDescriptions.md
+++ b/docs/FunctionDescriptions.md
@@ -627,17 +627,54 @@ Key word overview:
 `inter_method`:
 
 1. Shifts:
-    * `"fshift"`: 
-    * `"bshift"`:
-    * `"nearest_shift"`:
+    * `"fshift"`: every grid point gets assigned its ultimately preceeding value - if there is one available in the preceeding sampling interval.
+    * `"bshift"`: every grid point gets assigned its first succeeding value - if there is one available in the succeeding sampling interval.
+    * `"nearest_shift"`: every grid point gets assigned the nearest value in its range. ( range = +/- `freq`/2 ).
 2. Aggregations:
-    * `"fagg"`:
-    * `"bagg"`:
-    * `"nearest_agg"`:
+    * `"fagg"`: all values in a sampling interval get aggregated with the function passed to `agg_method`
+                , and the result gets assigned to the last grid point.
+    * `"bagg"`: all values in a sampling interval get aggregated with the function passed to `agg_method`
+                , and the result gets assigned to the next grid point.
+    * `"nearest_agg"`: all values in the range (+/- freq/2) of a grid point get 
+                       aggregated with the function passed to agg_method and assigned to it.
+
 3. Interpolations:
-    * 
+    * There are available all the interpolation methods from the pandas.interpolate() method and they can be reffered to with
+      the very same keywords, that you would pass to pd.Series.interpolates's method parameter.
+    * Available interpolations: ´"linear"´, ´"time"´, ´"nearest"´, ´"zero"´, ´"slinear"´,
+      ´"quadratic"´, ´"cubic"´, ´"spline"´, ´"barycentric"´, ´"polynomial"´, ´"krogh"´,
+      ´"piecewise_polynomial"´, ´"spline"´, ´"pchip"´, ´"akima"´.
+    * If a selected interpolation method needs to get passed an order of 
+      interpolation, it will get passed the order, passed to `inter_order`.
+    * Note, that ´"linear"´ does not refer to timestamp aware, linear 
+      interpolation, but will equally weight every period, no matter how great 
+      the covered time gap is. Instead, a timestamp aware, linear interpolation is performed 
+      upon ´"time"´ passed as keyword.
+    * Be careful with pd.Series.interpolate's `"nearest"` and `"pad"`:
+      To just fill grid points forward/backward or from the nearest point - and
+      assign grid points, that refer to missing data, a nan value, the use of `"fshift"`, `"bshift"` and `"nearest_shift"` is
+      recommended, to ensure getting the result expected. (The methods diverge in some 
+      special cases and do not properly interpolate grid-only.).
+
+
+`reshape_method` - (format currently broken - will solve tomorrow!)
+
+    * `"fshift"`/`"'bshift"`: forward/backward projection. Only the very 
+      first/last flag will be projected onto the last/next grid point. 
+      Extra flag fields like "comment", just get shifted along with the flag. 
+      Only inserted flags for empty intervals will take the **kwargs argument.
+      Set "`set_shift_comment`"" to `True`,  to apply kwargs** to all flags.
+    * `"fagg"`/`"bagg"`:All flags, referring to a sampling intervals measurements get aggregated forward/backward
+      with the agg_method selected.
+
+    * `"nearest_shift"`: Every grid point gets assigned the nearest flag in its range
+      (range = grid_point +/-(`"freq"`/2)).Extra flag fields like comment,
+      just get shifted along with the flag. Only inserted flags for empty intervals will take the
+      **kwargs argument.
+    * `"nearest_agg"`: Every grid point gets assigned the aggregation (generated by the function passed to `agg_method`), 
+      of all the flags in its range.
+
 
-`reshape_method`:
 
 
 
-- 
GitLab