From 9986b1b04fb8aedffbf2bd11a32436219cfaf92f Mon Sep 17 00:00:00 2001
From: leufen1 <l.leufen@fz-juelich.de>
Date: Thu, 4 Feb 2021 15:33:07 +0100
Subject: [PATCH] renamed the IntelliO3 reference model and its tests, added
 newest version of netCDF4 to requirements

---
 .gitignore                                     |   1 +
 .../reference_model_intellio3_v1.py            |  12 ++++++------
 requirements.txt                               |   1 +
 .../test_abstract_reference_model.py}          |   2 +-
 .../test_reference_model_intellio3_v1.py}      |  17 ++++++++---------
 .../tmp_downloads/IntelliO3-ts.tar.gz          | Bin
 6 files changed, 17 insertions(+), 16 deletions(-)
 rename test/{test_reference_data_handler/test_abstract_reference_data_handler.py => test_reference_models/test_abstract_reference_model.py} (99%)
 rename test/{test_reference_data_handler/test_intellio3_v1_reference.py => test_reference_models/test_reference_model_intellio3_v1.py} (71%)
 rename test/{test_reference_data_handler => test_reference_models}/tmp_downloads/IntelliO3-ts.tar.gz (100%)

diff --git a/.gitignore b/.gitignore
index f5e425f7..04bc0d1b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -62,6 +62,7 @@ activate_env.sh
 /tmp/
 /logging/
 /HPC_logging/
+/tmp_downloads/
 
 # test related data #
 #####################
diff --git a/mlair/reference_models/reference_model_intellio3_v1.py b/mlair/reference_models/reference_model_intellio3_v1.py
index aa2c0dff..5f0bae48 100644
--- a/mlair/reference_models/reference_model_intellio3_v1.py
+++ b/mlair/reference_models/reference_model_intellio3_v1.py
@@ -14,7 +14,7 @@ from mlair.configuration.path_config import check_path_and_create
 from mlair.reference_models.abstract_reference_model import AbstractReferenceB2share
 
 
-class IntelliO3Reference(AbstractReferenceB2share):
+class IntelliO3_ts_v1(AbstractReferenceB2share):
     """
     Reference handler that extracts IntelliO3-ts v1.0 forecasts (Kleinert, 2021).
 
@@ -67,14 +67,14 @@ class IntelliO3Reference(AbstractReferenceB2share):
         :param sel_coords:
         """
         if sel_coords is None:
-            sel_coords = {'type': 'CNN'}
+            sel_coords = {'type': ['CNN']}
         in_path, files = self.file_list()
         check_path_and_create(self.ref_store_path)
         for infile in files:
-            data = xr.open_dataarray(f"{in_path}{infile}")
+            data = xr.open_dataarray(os.path.join(in_path, infile))
             data = data.sel(**sel_coords)
-            data.coords['type'] = (self.ref_name)
-            data.to_netcdf(f"{self.ref_store_path}{infile}")
+            data.coords['type'] = ['nn']
+            data.to_netcdf(os.path.join(self.ref_store_path, infile))
 
     def make_reference_available_locally(self, remove_tmp_dir: bool = True):
         """
@@ -92,6 +92,6 @@ class IntelliO3Reference(AbstractReferenceB2share):
 
 
 if __name__ == '__main__':
-    io3 = IntelliO3Reference('IntelliO3-ts')
+    io3 = IntelliO3_ts_v1('IntelliO3-ts')
     io3.make_reference_available_locally()
 
diff --git a/requirements.txt b/requirements.txt
index 77f300df..47995404 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -24,6 +24,7 @@ Markdown==3.2.1
 matplotlib==3.2.0
 mock==4.0.1
 more-itertools==8.2.0
+netcdf4==1.5.5.1
 numpy==1.18.1
 packaging==20.3
 pandas==1.0.1
diff --git a/test/test_reference_data_handler/test_abstract_reference_data_handler.py b/test/test_reference_models/test_abstract_reference_model.py
similarity index 99%
rename from test/test_reference_data_handler/test_abstract_reference_data_handler.py
rename to test/test_reference_models/test_abstract_reference_model.py
index d37bd744..4c455219 100644
--- a/test/test_reference_data_handler/test_abstract_reference_data_handler.py
+++ b/test/test_reference_models/test_abstract_reference_model.py
@@ -51,4 +51,4 @@ class TestAbstractReferenceb2share:
         pass
 
     def test_download_from_b2share(self):
-        pass
\ No newline at end of file
+        pass
diff --git a/test/test_reference_data_handler/test_intellio3_v1_reference.py b/test/test_reference_models/test_reference_model_intellio3_v1.py
similarity index 71%
rename from test/test_reference_data_handler/test_intellio3_v1_reference.py
rename to test/test_reference_models/test_reference_model_intellio3_v1.py
index 742b8951..bfd4cae3 100644
--- a/test/test_reference_data_handler/test_intellio3_v1_reference.py
+++ b/test/test_reference_models/test_reference_model_intellio3_v1.py
@@ -1,6 +1,6 @@
 import pytest
 
-from mlair.reference_models.reference_model_intellio3_v1 import IntelliO3Reference
+from mlair.reference_models.reference_model_intellio3_v1 import IntelliO3_ts_v1
 from mlair.reference_models.abstract_reference_model import AbstractReferenceB2share
 
 
@@ -8,11 +8,11 @@ class TestIntelliO3Reference:
 
     @pytest.fixture
     def io3(self):
-        return IntelliO3Reference("IntelliO3-test")
+        return IntelliO3_ts_v1("IntelliO3-test")
 
     def test_init_none_path(self):
-        io3 = IntelliO3Reference("IntelliO3-test")
-        assert isinstance(io3, IntelliO3Reference)
+        io3 = IntelliO3_ts_v1("IntelliO3-test")
+        assert isinstance(io3, IntelliO3_ts_v1)
         assert io3.ref_name == "IntelliO3-test"
         assert io3.ref_store_path == "IntelliO3-test/"
         assert io3.tmp_extract_path == "tmp_downloads/"
@@ -23,12 +23,12 @@ class TestIntelliO3Reference:
         assert io3.b2share_hosturl == "https://b2share.eudat.eu"
 
     def test_init_extra_path(self):
-        io3 = IntelliO3Reference("IntelliO3-test", "DummyExtraPath/")
-        assert isinstance(io3, IntelliO3Reference)
+        io3 = IntelliO3_ts_v1("IntelliO3-test", "DummyExtraPath/")
+        assert isinstance(io3, IntelliO3_ts_v1)
         assert io3.ref_store_path == "DummyExtraPath/"
 
     def test_inheritance(self):
-        assert issubclass(IntelliO3Reference, AbstractReferenceB2share)
+        assert issubclass(IntelliO3_ts_v1, AbstractReferenceB2share)
 
     def test_untar_forecasts(self, io3):
         pass
@@ -40,5 +40,4 @@ class TestIntelliO3Reference:
         pass
 
     def test_make_reference_available_locally(self):
-        io3 = IntelliO3Reference("IntelliO3-test", "DummyExtraPath/")
-
+        pass
diff --git a/test/test_reference_data_handler/tmp_downloads/IntelliO3-ts.tar.gz b/test/test_reference_models/tmp_downloads/IntelliO3-ts.tar.gz
similarity index 100%
rename from test/test_reference_data_handler/tmp_downloads/IntelliO3-ts.tar.gz
rename to test/test_reference_models/tmp_downloads/IntelliO3-ts.tar.gz
-- 
GitLab