From 6c159ad12d219cf9d4b0de1209121edf0e0502e1 Mon Sep 17 00:00:00 2001
From: Jan David Mol <mol@astron.nl>
Date: Fri, 1 Mar 2019 11:07:07 +0000
Subject: [PATCH] COB-57: Distribute antenna fields over MPI nodes

---
 RTCP/Cobalt/InputProc/src/Station/generate.cc | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/RTCP/Cobalt/InputProc/src/Station/generate.cc b/RTCP/Cobalt/InputProc/src/Station/generate.cc
index ca91c91a38c..81a08b72fc9 100644
--- a/RTCP/Cobalt/InputProc/src/Station/generate.cc
+++ b/RTCP/Cobalt/InputProc/src/Station/generate.cc
@@ -104,14 +104,18 @@ int main( int argc, char **argv )
   for (size_t f = 0; f < ps.settings.antennaFields.size(); ++f) {
     const ObservationSettings::AntennaField& field = ps.settings.antennaFields[f];
 
+    // Distribute the fields round-robin over the MPI processes
+    if (static_cast<int>(f) % mpi.size() != mpi.rank())
+      continue;
+
     vector< SmartPtr<Stream> > outputStreams;
 
     for (size_t s = 0; s < field.inputStreams.size(); ++s) {
       const string& desc = field.inputStreams[s];
 
-      LOG_INFO_STR("Connecting to " << desc);
+      LOG_INFO_STR("Setting up stream to " << desc);
       outputStreams.push_back(createStream(desc, false));
-      LOG_INFO_STR("Connected.");
+      LOG_INFO_STR("Stream created to " << desc);
     }
 
     struct StationID stationID(field.name);
-- 
GitLab