diff --git a/extreme_data/edf_data/weather_types.py b/extreme_data/edf_data/weather_types.py
index e22672dd443a30c7e30ce8373d80af11379069f9..ca2c74dcb8d11ae2d4ff30b1e05d50beefbf72f3 100644
--- a/extreme_data/edf_data/weather_types.py
+++ b/extreme_data/edf_data/weather_types.py
@@ -1,7 +1,5 @@
-import os
-import os.path as op
-import numpy as np
 import pandas as pd
+
 from root_utils import get_full_path
 
 relative_path = r'local/EDF_data/Weather_types/CatalogueTT_EDF_France0_5308.txt'
diff --git a/extreme_data/nasa_data/global_mean_temperature.py b/extreme_data/nasa_data/global_mean_temperature.py
new file mode 100644
index 0000000000000000000000000000000000000000..e8ff3ea1a6d782d2a13d1bde8b11a66fd8ad3be1
--- /dev/null
+++ b/extreme_data/nasa_data/global_mean_temperature.py
@@ -0,0 +1,20 @@
+"""
+Source:
+https://www.jpl.nasa.gov/edu/teach/activity/graphing-global-temperature-trends/
+
+We took the csv file correspond to "Global annual mean temperature data"
+"""
+import pandas as pd
+
+from root_utils import get_full_path
+
+relative_path = r'local/NASA_data/global_annual_mean_temp_anomalies_land-ocean_1880-2016_modified.csv'
+edf_filepath = get_full_path(relative_path=relative_path)
+
+
+def load_year_to_mean_global_temperature():
+    df = pd.read_csv(edf_filepath)
+    df = df.astype({'Year': 'float'})
+    d = dict(zip(df['Year'], df['Actual Temp']))
+    return d
+
diff --git a/spatio_temporal_dataset/coordinates/abstract_coordinates.py b/spatio_temporal_dataset/coordinates/abstract_coordinates.py
index 3d4a3fb0f56eed17d720b07b03407bf2e5451d3b..f98974e9345b912e109c8cb1b1a0f2c101177960 100644
--- a/spatio_temporal_dataset/coordinates/abstract_coordinates.py
+++ b/spatio_temporal_dataset/coordinates/abstract_coordinates.py
@@ -268,7 +268,7 @@ class AbstractCoordinates(object):
         # Potentially transform the time covariate into another covariate
         if temporal_covariate_for_fit is not None:
             assert issubclass(temporal_covariate_for_fit, AbstractTemporalCovariateForFit)
-            df = df.apply(temporal_covariate_for_fit.get_temporal_covariate)
+            df.iloc[:, 0] = df.iloc[:, 0].apply(temporal_covariate_for_fit.get_temporal_covariate)
         return df
 
     @property
diff --git a/spatio_temporal_dataset/coordinates/temporal_coordinates/abstract_temporal_covariate_for_fit.py b/spatio_temporal_dataset/coordinates/temporal_coordinates/abstract_temporal_covariate_for_fit.py
index 7ce27a4037b1ebffff69483010b0f67e4b16811f..02777561c9ee68aa9f521f60712f8f718c5f508e 100644
--- a/spatio_temporal_dataset/coordinates/temporal_coordinates/abstract_temporal_covariate_for_fit.py
+++ b/spatio_temporal_dataset/coordinates/temporal_coordinates/abstract_temporal_covariate_for_fit.py
@@ -1,3 +1,9 @@
+import pandas as pd
+
+from extreme_data.nasa_data.global_mean_temperature import load_year_to_mean_global_temperature
+from root_utils import classproperty
+
+
 class AbstractTemporalCovariateForFit(object):
 
     @classmethod
@@ -14,6 +20,17 @@ class TimeTemporalCovariate(AbstractTemporalCovariateForFit):
 
 class MeanGlobalTemperatureCovariate(AbstractTemporalCovariateForFit):
 
+    _d = None
+
+    @classproperty
+    def year_to_global_mean(cls):
+        if cls._d is None:
+            cls._d = load_year_to_mean_global_temperature()
+        return cls._d
+
     @classmethod
     def get_temporal_covariate(cls, t):
-        pass
+        try:
+            return pd.Series(cls.year_to_global_mean[t])
+        except KeyError:
+            raise KeyError('Global mean temperature is not known for Year t={}'.format(t))
diff --git a/test/test_extreme_data/test_nasa_data/test_mean_global_temperature.py b/test/test_extreme_data/test_nasa_data/test_mean_global_temperature.py
new file mode 100644
index 0000000000000000000000000000000000000000..70d5bc9e2c2c618375eb6d72b00060540e52c2f3
--- /dev/null
+++ b/test/test_extreme_data/test_nasa_data/test_mean_global_temperature.py
@@ -0,0 +1,20 @@
+import unittest
+
+from extreme_data.edf_data.weather_types import load_df_weather_types
+from extreme_data.meteo_france_data.scm_models_data.safran.safran import SafranTemperature
+from extreme_data.nasa_data.global_mean_temperature import load_year_to_mean_global_temperature
+
+
+class TestMeanGlobalTemperatures(unittest.TestCase):
+
+    def test_year_to_mean_global_temperature(self):
+        d = load_year_to_mean_global_temperature()
+        self.assertNotIn(2019, d)
+        self.assertIn(2009, d)
+        key = list(d.keys())[0]
+        self.assertIsInstance(key, float)
+        value = list(d.values())[0]
+        self.assertIsInstance(value, float)
+
+if __name__ == '__main__':
+    unittest.main()
diff --git a/test/test_spatio_temporal_dataset/test_coordinates.py b/test/test_spatio_temporal_dataset/test_coordinates.py
index 5319c9d723ac0409982137b1118bd6fe92ca5563..c589a6069911fb528b409f68c5c5582f64be5290 100644
--- a/test/test_spatio_temporal_dataset/test_coordinates.py
+++ b/test/test_spatio_temporal_dataset/test_coordinates.py
@@ -18,7 +18,9 @@ from spatio_temporal_dataset.coordinates.spatial_coordinates.alps_station_3D_coo
 from spatio_temporal_dataset.coordinates.spatial_coordinates.generated_spatial_coordinates import \
     CircleSpatialCoordinates
 from spatio_temporal_dataset.coordinates.temporal_coordinates.abstract_temporal_covariate_for_fit import \
-    AbstractTemporalCovariateForFit, TimeTemporalCovariate
+    AbstractTemporalCovariateForFit, TimeTemporalCovariate, MeanGlobalTemperatureCovariate
+from spatio_temporal_dataset.coordinates.temporal_coordinates.generated_temporal_coordinates import \
+    ConsecutiveTemporalCoordinates
 from spatio_temporal_dataset.coordinates.transformed_coordinates.transformation.abstract_transformation import \
     CenteredScaledNormalization
 from spatio_temporal_dataset.coordinates.transformed_coordinates.transformation.uniform_normalization import \
@@ -161,7 +163,13 @@ class TestCoordinatesWithModifiedCovariate(unittest.TestCase):
         old_df = coordinates.df_temporal_coordinates_for_fit().copy()
         new_df = coordinates.df_temporal_coordinates_for_fit(temporal_covariate_for_fit=TimeTemporalCovariate)
         pd.testing.assert_frame_equal(old_df, new_df)
-        # pd.as.assertEqual(old_df, new_df)
+
+    def test_mean_global_time_covariate(self):
+        coordinates = ConsecutiveTemporalCoordinates.from_nb_temporal_steps(nb_temporal_steps=10, start=2000)
+        df = coordinates.df_temporal_coordinates_for_fit(temporal_covariate_for_fit=MeanGlobalTemperatureCovariate)
+        self.assertIsInstance(df, pd.DataFrame)
+        self.assertEqual(df.iloc[0].values[0], 14.3262)
+        self.assertEqual(df.iloc[-1].values[0], 14.5367)
 
 
 if __name__ == '__main__':