From 861591d1ff109e3af70c340f722ec2a765b09821 Mon Sep 17 00:00:00 2001
From: Jan David Mol <mol@astron.nl>
Date: Fri, 15 Apr 2016 21:03:59 +0000
Subject: [PATCH] Task #8437: Let node recipes create their own working
 directory

---
 CEP/Pipeline/recipes/sip/nodes/imager_awimager.py       | 5 +++++
 CEP/Pipeline/recipes/sip/nodes/imager_create_dbs.py     | 5 +++++
 CEP/Pipeline/recipes/sip/nodes/imager_source_finding.py | 5 +++++
 CEP/Pipeline/recipes/sip/nodes/long_baseline.py         | 1 +
 4 files changed, 16 insertions(+)

diff --git a/CEP/Pipeline/recipes/sip/nodes/imager_awimager.py b/CEP/Pipeline/recipes/sip/nodes/imager_awimager.py
index e11471d3d89..8c894ef291d 100644
--- a/CEP/Pipeline/recipes/sip/nodes/imager_awimager.py
+++ b/CEP/Pipeline/recipes/sip/nodes/imager_awimager.py
@@ -25,6 +25,7 @@ from lofarpipe.support.pipelinelogging import log_time
 from lofarpipe.support.utilities import patch_parset
 from lofarpipe.support.utilities import get_parset
 from lofarpipe.support.utilities import catch_segfaults
+from lofarpipe.support.utilities import create_directory
 from lofarpipe.support.lofarexceptions import PipelineException
 import pyrap.tables as pt  # @UnresolvedImport
 from subprocess import CalledProcessError
@@ -66,6 +67,10 @@ class imager_awimager(LOFARnodeTCP):
             # Read the parameters as specified in the parset
             parset_object = get_parset(parset)
 
+            #******************************************************************
+            # 0. Create the directories used in this recipe
+            create_directory(working_directory)
+
             # *************************************************************
             # 1. Calculate awimager parameters that depend on measurement set
             # and the parset
diff --git a/CEP/Pipeline/recipes/sip/nodes/imager_create_dbs.py b/CEP/Pipeline/recipes/sip/nodes/imager_create_dbs.py
index 0fe1189ac51..30e60ab2a09 100644
--- a/CEP/Pipeline/recipes/sip/nodes/imager_create_dbs.py
+++ b/CEP/Pipeline/recipes/sip/nodes/imager_create_dbs.py
@@ -16,6 +16,7 @@ from lofarpipe.support.lofarnode import LOFARnodeTCP
 from lofarpipe.support.pipelinelogging import log_process_output
 from lofarpipe.support.pipelinelogging import CatchLog4CPlus
 from lofarpipe.support.utilities import catch_segfaults
+from lofarpipe.support.utilities import create_directory
 
 import monetdb.sql as db
 import lofar.gsm.gsmutils as gsm
@@ -65,6 +66,10 @@ class imager_create_dbs(LOFARnodeTCP):
         self.logger.info("Starting imager_create_dbs Node")
         self.environment.update(environment)
 
+        #******************************************************************
+        # 0. Create the directories used in this recipe
+        create_directory(working_directory)
+
         #*******************************************************************
         # 1. get a sourcelist: from gsm or from file
         source_list, append = self._create_source_list(
diff --git a/CEP/Pipeline/recipes/sip/nodes/imager_source_finding.py b/CEP/Pipeline/recipes/sip/nodes/imager_source_finding.py
index 07612e98991..2d5cc1fe13b 100644
--- a/CEP/Pipeline/recipes/sip/nodes/imager_source_finding.py
+++ b/CEP/Pipeline/recipes/sip/nodes/imager_source_finding.py
@@ -8,6 +8,7 @@ from lofarpipe.support.lofarnode import LOFARnodeTCP
 
 from lofarpipe.support.pipelinelogging import CatchLog4CPlus
 from lofarpipe.support.utilities import catch_segfaults
+from lofarpipe.support.utilities import create_directory
 
 
 class imager_source_finding(LOFARnodeTCP):
@@ -53,6 +54,10 @@ class imager_source_finding(LOFARnodeTCP):
         
         """
 
+        #******************************************************************
+        # 0. Create the directories used in this recipe
+        create_directory(working_directory)
+
         import lofar.bdsm as bdsm#@UnresolvedImport
         self.logger.info("Starting imager_source_finding")
         self.environment.update(environment)
diff --git a/CEP/Pipeline/recipes/sip/nodes/long_baseline.py b/CEP/Pipeline/recipes/sip/nodes/long_baseline.py
index 60826d9fcab..244107a677c 100644
--- a/CEP/Pipeline/recipes/sip/nodes/long_baseline.py
+++ b/CEP/Pipeline/recipes/sip/nodes/long_baseline.py
@@ -57,6 +57,7 @@ class long_baseline(LOFARnodeTCP):
             #******************************************************************
             # I. Create the directories used in this recipe
             create_directory(processed_ms_dir)
+            create_directory(working_dir)
 
             # time slice dir_to_remove: assure empty directory: Stale data
             # is problematic for dppp
-- 
GitLab