diff --git a/mlair/helpers/helpers.py b/mlair/helpers/helpers.py
index f69e5b202cf3cdf35d4cf2f7767c8a2804e2da67..ca69f28557c6386f021b137e5861660f40b867d9 100644
--- a/mlair/helpers/helpers.py
+++ b/mlair/helpers/helpers.py
@@ -57,7 +57,7 @@ def to_list(obj: Any) -> List:
 
     :return: list containing obj, or obj itself (if obj was already a list)
     """
-    if isinstance(obj, (set, tuple)):
+    if isinstance(obj, (set, tuple, type({}.keys()))):
         obj = list(obj)
     elif not isinstance(obj, list):
         obj = [obj]
diff --git a/mlair/helpers/meteo.py b/mlair/helpers/meteo.py
new file mode 100644
index 0000000000000000000000000000000000000000..c43d4ff23239f4ebff2b130779b3f8e2323620ca
--- /dev/null
+++ b/mlair/helpers/meteo.py
@@ -0,0 +1,14 @@
+
+import numpy as np
+
+
+def relative_humidity_from_dewpoint(dew, temp):
+    return np.clip(100 * e_sat(dew) / e_sat(temp), 0, 100)
+
+
+def e_sat(temperature):
+    a1 = 611.21  # Pa
+    a3 = 17.502
+    a4 = 32.19  # K
+    T0 = 273.16  # K
+    return a1 * np.exp(a3 * (temperature - T0) / (temperature - a4))
diff --git a/test/test_helpers/test_helpers.py b/test/test_helpers/test_helpers.py
index 87c0f9ecb7f0a67267f0e24f9da035fc8315d56d..6f787d5835bd917fcfc55341d93a2d302f2c6e6e 100644
--- a/test/test_helpers/test_helpers.py
+++ b/test/test_helpers/test_helpers.py
@@ -499,9 +499,9 @@ class TestFilterDictByValue:
     def test_filter_dict_by_value(self):
         data_origin = {'o3': '', 'no': '', 'no2': '', 'relhum': 'REA', 'u': 'REA', 'cloudcover': 'REA', 'temp': 'era5'}
         expected = {'temp': 'era5'}
-        assert check_nested_equality(filter_dict_by_value(data_origin, "era", True), expected) is True
+        assert check_nested_equality(filter_dict_by_value(data_origin, "era5", True), expected) is True
         expected = {'o3': '', 'no': '', 'no2': '', 'relhum': 'REA', 'u': 'REA', 'cloudcover': 'REA'}
-        assert check_nested_equality(filter_dict_by_value(data_origin, "era", False), expected) is True
+        assert check_nested_equality(filter_dict_by_value(data_origin, "era5", False), expected) is True
         expected = {'o3': '', 'no': '', 'no2': ''}
         assert check_nested_equality(filter_dict_by_value(data_origin, "", True), expected) is True