From 84daa1bf69c31c7bf0bb04a0ab201404bdf5bed2 Mon Sep 17 00:00:00 2001
From: Marcel Loose <loose@astron.nl>
Date: Wed, 21 Mar 2012 15:58:00 +0000
Subject: [PATCH] Task #3172: Added option to specify blackboard database used
 by the demixing recipe.

---
 CEP/Pipeline/recipes/sip/master/demixing.py | 8 +++++++-
 CEP/Pipeline/recipes/sip/nodes/demixing.py  | 7 ++++---
 CEP/Pipeline/recipes/sip/tasks.cfg          | 1 +
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/CEP/Pipeline/recipes/sip/master/demixing.py b/CEP/Pipeline/recipes/sip/master/demixing.py
index e2c55bcb257..5ca414ae142 100644
--- a/CEP/Pipeline/recipes/sip/master/demixing.py
+++ b/CEP/Pipeline/recipes/sip/master/demixing.py
@@ -42,6 +42,11 @@ class demixing(BaseRecipe, RemoteCommandRecipeMixIn):
             dest='demixdir',
             help="Directory containing the demixing parset-files",
         ),
+        'db_host': ingredient.StringField(
+            '--db-host',
+            dest="db_host",
+            help="Database host with optional port (e.g. ldb001)"
+        ),
         'skymodel': ingredient.FileField(
             '--skymodel',
             help="File containing the sky model to use",
@@ -145,7 +150,8 @@ class demixing(BaseRecipe, RemoteCommandRecipeMixIn):
                         self.inputs['half_window'],
                         self.inputs['threshold'],
                         self.inputs['demix_parset_dir'],
-                        self.inputs['skymodel']
+                        self.inputs['skymodel'],
+                        self.inputs['db_host']
                    ]
                 )
             )
diff --git a/CEP/Pipeline/recipes/sip/nodes/demixing.py b/CEP/Pipeline/recipes/sip/nodes/demixing.py
index d4863592ee9..c72a5cf9e8f 100755
--- a/CEP/Pipeline/recipes/sip/nodes/demixing.py
+++ b/CEP/Pipeline/recipes/sip/nodes/demixing.py
@@ -70,7 +70,7 @@ class demixing(LOFARnodeTCP):
 
     def run(self, infile, working_dir, initscript, remove, target,
             clusterdesc, timestep, freqstep, half_window, threshold,
-            demixdir, skymodel):
+            demixdir, skymodel, db_host):
 
         with log_time(self.logger):
             if os.path.exists(infile):
@@ -91,6 +91,7 @@ class demixing(LOFARnodeTCP):
             self.logger.debug("threshold = %f", threshold)
             self.logger.debug("demixdir = %s", demixdir)
             self.logger.debug("skymodel = %s", skymodel)
+            self.logger.debug("db_host= %s", db_host)
 
             # Initialise environment
             self.environment = read_initscript(self.logger, initscript)
@@ -221,7 +222,7 @@ class demixing(LOFARnodeTCP):
                          '-f',
                          '--key', key,
                          '--cluster-desc', clusterdesc,
-                         '--db', 'ldb001',
+                         '--db', db_host,
                          '--db-user', 'postgres',
                           gds_file,
                           os.path.join(demixdir, 'bbs_'+i+'.parset'),
@@ -250,7 +251,7 @@ class demixing(LOFARnodeTCP):
                          '--instrument-name', 'instrument_smoothed',
                          '--key', key,
                          '--cluster-desc', clusterdesc,
-                         '--db', 'ldb001',
+                         '--db', db_host,
                          '--db-user', 'postgres',
                          gds_file,
                          os.path.join(demixdir, 'bbs_'+i+'_smoothcal.parset'),
diff --git a/CEP/Pipeline/recipes/sip/tasks.cfg b/CEP/Pipeline/recipes/sip/tasks.cfg
index 91c7516ade2..93d8aae1ef0 100644
--- a/CEP/Pipeline/recipes/sip/tasks.cfg
+++ b/CEP/Pipeline/recipes/sip/tasks.cfg
@@ -72,6 +72,7 @@ recipe = flag_baseline
 recipe = demixing
 initscript = %(lofarroot)s/lofarinit.sh
 demix_parset_dir = %(lofarroot)s/share/pipeline/demixing
+db_host = ldb002
 skymodel = %(lofarroot)s/share/pipeline/skymodels/Ateam_LBA_CC.skymodel
 demix_sources = CasA,CygA
 mapfile = %(runtime_directory)s/jobs/%(job_name)s/mapfiles/demix.mapfile
-- 
GitLab