From f6d93a008abb73894a55c9eb4c50632d89136cec Mon Sep 17 00:00:00 2001
From: Felix Kleinert <f.kleinert@fz-juelich.de>
Date: Thu, 18 Feb 2021 10:20:15 +0100
Subject: [PATCH] updte some docstr

---
 mlair/helpers/geofunctions.py | 19 +++++++++++--------
 mlair/helpers/helpers.py      |  6 +++++-
 2 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/mlair/helpers/geofunctions.py b/mlair/helpers/geofunctions.py
index 4bf1fcfc..cf631358 100644
--- a/mlair/helpers/geofunctions.py
+++ b/mlair/helpers/geofunctions.py
@@ -7,25 +7,27 @@ import numpy as np
 import xarray as xr
 
 from mlair.helpers.helpers import convert2xrda
-from typing import Union
+from typing import Union, Tuple
 
 xr_int_float = Union[xr.DataArray, xr.Dataset, np.ndarray, int, float]
+tuple_of_2xr_int_float = Tuple[xr_int_float, xr_int_float]
 
 
-def deg2rad_all_points(lat1, lon1, lat2, lon2):
+def deg2rad_all_points(lat1: xr_int_float, lon1: xr_int_float,
+                       lat2: xr_int_float, lon2: xr_int_float) -> Tuple[tuple_of_2xr_int_float, tuple_of_2xr_int_float]:
     """
     Converts coordinates provided in lat1, lon1, lat2, and lon2 from deg to rad. In fact this method just calls
     dasks deg2rad method on all inputs and returns a tuple of tuples.
 
-    :param lat1:
+    :param lat1: Latitude(-s) of first location
     :type lat1:
-    :param lat2:
-    :type lat2:
-    :param lon1:
+    :param lon1: Longitude(-s) of first location
     :type lon1:
-    :param lon2:
+    :param lat2: Latitude(-s) of second location
+    :type lat2:
+    :param lon2: Longitude(-s) of second location
     :type lon2:
-    :return:
+    :return: Lats and lons in radians ((lat1, lon1), (lat2, lon2))
     :rtype:
     """
     lat1, lon1, lat2, lon2 = da.deg2rad(lat1), da.deg2rad(lon1), da.deg2rad(lat2), da.deg2rad(lon2)
@@ -40,6 +42,7 @@ def haversine_dist(lat1: xr_int_float, lon1: xr_int_float,
     on the Earth (specified in decimal degrees or in radians)
 
     Reference: ToBeAdded
+    (First implementation provided by M. Langguth)
 
     :param lat1: Latitude(-s) of first location
     :param lon1: Longitude(-s) of first location
diff --git a/mlair/helpers/helpers.py b/mlair/helpers/helpers.py
index 7554e9e0..ee727ef5 100644
--- a/mlair/helpers/helpers.py
+++ b/mlair/helpers/helpers.py
@@ -7,6 +7,7 @@ import math
 
 import numpy as np
 import xarray as xr
+import dask.array as da
 
 from typing import Dict, Callable, Union, List, Any
 
@@ -146,7 +147,7 @@ def convert2xrda(arr: Union[xr.DataArray, xr.Dataset, np.ndarray, int, float],
 
     If a xarray.DataArray or xarray.Dataset is passed, returns that unchanged.
     :param arr:
-    :type arr: xr.DataArray, xr.Dataset,np.ndarray, int, float
+    :type arr: xr.DataArray, xr.Dataset, np.ndarray, int, float
     :param use_1d_default:
     :type use_1d_default: bool
     :param kwargs: Any additional kwargs which are accepted by xr.DataArray()
@@ -158,6 +159,9 @@ def convert2xrda(arr: Union[xr.DataArray, xr.Dataset, np.ndarray, int, float],
         return arr
     else:
         if use_1d_default:
+            if isinstance(arr, da.core.Array):
+                raise TypeError(f"`use_1d_default=True' is used with `arr' of type da.array. For da.arrays please "
+                                f"pass `use_1d_default=False' and specify keywords for xr.DataArray via kwargs.")
             dims = kwargs.pop('dims', 'points')
             coords = kwargs.pop('coords', None)
             try:
-- 
GitLab