From 587f606d4f69220942e44366b2c5e09701d79da1 Mon Sep 17 00:00:00 2001
From: lukas leufen <l.leufen@fz-juelich.de>
Date: Fri, 7 Feb 2020 16:05:40 +0100
Subject: [PATCH] prepare experiment to use bootstraps

---
 src/helpers.py                      | 7 +++++++
 src/run_modules/experiment_setup.py | 6 +++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/helpers.py b/src/helpers.py
index 5646eb94..680d3bd1 100644
--- a/src/helpers.py
+++ b/src/helpers.py
@@ -145,6 +145,13 @@ def set_experiment_name(experiment_date=None, experiment_path=None):
     return experiment_name, experiment_path
 
 
+def set_bootstrap_path(bootstrap_path, data_path, sampling):
+    if bootstrap_path is None:
+        bootstrap_path = os.path.join(data_path, "..", f"bootstrap_{sampling}")
+    check_path_and_create(bootstrap_path)
+    return bootstrap_path
+
+
 class PyTestRegex:
     """Assert that a given string meets some expectations."""
 
diff --git a/src/run_modules/experiment_setup.py b/src/run_modules/experiment_setup.py
index 9ecc421b..834d0c57 100644
--- a/src/run_modules/experiment_setup.py
+++ b/src/run_modules/experiment_setup.py
@@ -33,13 +33,17 @@ class ExperimentSetup(RunEnvironment):
                  window_lead_time=None, dimensions=None, interpolate_dim=None, interpolate_method=None,
                  limit_nan_fill=None, train_start=None, train_end=None, val_start=None, val_end=None, test_start=None,
                  test_end=None, use_all_stations_on_all_data_sets=True, trainable=False, fraction_of_train=None,
-                 experiment_path=None, plot_path=None, forecast_path=None, overwrite_local_data=None):
+                 experiment_path=None, plot_path=None, forecast_path=None, overwrite_local_data=None, sampling="daily",
+                 bootstrap_path=None):
 
         # create run framework
         super().__init__()
 
         # experiment setup
         self._set_param("data_path", helpers.prepare_host())
+        data_path = self.data_store.get("data_path", "general")
+        bootstrap_path = helpers.set_bootstrap_path(bootstrap_path, data_path, sampling)
+        self._set_param("bootstrap_path", bootstrap_path)
         self._set_param("trainable", trainable, default=False)
         self._set_param("fraction_of_training", fraction_of_train, default=0.8)
 
-- 
GitLab