Skip to content
Snippets Groups Projects
Commit ecc6e65e authored by Marcel Loose's avatar Marcel Loose :sunglasses:
Browse files

BugID: 753

Changed Station ID's into Station names; both for `Strategy.Stations' and for
`Baselines.Station[12]'.
parent c6b41702
No related branches found
No related tags found
No related merge requests found
......@@ -56,9 +56,6 @@ namespace LOFAR
// Print the contents of \c this into the output stream \a os.
void print(ostream& os) const;
// // Add a BBS step to the solve strategy.
// void addStep(const BBSStep*& aStep);
private:
// Name of the Measurement Set
......@@ -73,8 +70,10 @@ namespace LOFAR
// Sequence of steps that comprise this solve strategy.
vector<const BBSStep*> itsSteps;
// ID's of the stations to use
vector<uint32> itsStations;
// Names of the stations to use. Names may contains wildcards, like \c *
// and \c ?. Expansion of wildcards will be done in the BBS kernel, so
// they will be passed unaltered by BBS control.
vector<string> itsStations;
// Name of the MS input data column
string itsInputData;
......
......@@ -91,12 +91,31 @@ namespace LOFAR
double deltaTime; ///< time integration interval: t(s)
};
// Two vectors of stations ID's, which, when paired element-wise, define
// the baselines to be used in the current step.
// Two vectors of stations names, which, when paired element-wise, define
// the baselines to be used in the current step. Names may contain
// wildcards, like \c * and \c ?. If they do, then all possible baselines
// will be constructed from the expanded names. Expansion of wildcards
// will be done in the BBS kernel.
//
// For example, suppose that:
// \verbatim
// station1 = ["CS*", "RS1"]
// station2 = ["CS*", "RS2"]
// \endverbatim
// Furthermore, suppose that \c CS* expands to \c CS1, \c CS2, and \c
// CS3. Then, in the BBS kernel, seven baselines will be constructed:
// \verbatim
// [ CS1:CS1, CS1:CS2, CS1:CS3, CS2:CS2, CS2:CS3, CS3:CS3, RS1:RS2 ]
// \endverbatim
//
// \note Station names are \e not expanded by matching with all existing
// %LOFAR stations, but only with those that took part in a particular
// observation; i.e., only those stations that are mentioned in the \c
// ANTENNA table in the Measurement Set.
struct Baselines
{
vector<uint32> station1;
vector<uint32> station2;
vector<string> station1;
vector<string> station2;
};
......
......@@ -68,7 +68,7 @@ namespace LOFAR
}
// ID's of the stations to be used by this strategy.
itsStations = ps.getUint32Vector("Stations");
itsStations = ps.getStringVector("Stations");
// Get the name of the MS input data column
itsInputData = ps.getString("InputData");
......
DataSet = "test.ms" # name of Measurement Set
DataSet = test.ms # name of Measurement Set
Strategy.Steps = ["xyz1", "xyz2"] # steps
Strategy.Stations = [ 0, 1, 2, 3 ] # ID's of stations to use
Strategy.InputData = "INDATA" # MS input data column
Strategy.Steps = [ xyz1, xyz2 ] # steps
Strategy.Stations = [ CS*, RS1*, RS2*, DE* ] # names of stations to use
Strategy.InputData = INDATA # MS input data column
Strategy.Correlation.Selection = ALL # one of AUTO, CROSS, ALL
Strategy.Correlation.Type = ["XX", "YY"] # which (cross)correlations to use
Strategy.Correlation.Type = [ XX, YY ] # which (cross)correlations to use
Strategy.WorkDomainSize.Freq = 1e+6 # work domain size: f(Hz)
Strategy.WorkDomainSize.Time = 10 # work domain size: t(s)
Strategy.Integration.Freq = 1; # integration interval: f(Hz)
Strategy.Integration.Time = 0.1; # integration interval: t(s)
BBDB.Host = "127.0.0.1" # hostname/ipaddr of BB DBMS
BBDB.Port = 12345 # port used by BB DBMS
BBDB.DBName = "blackboard" # name of the BB database
BBDB.UserName = "postgres" # username for accessing the DBMS
BBDB.PassWord = "" # password for accessing the DBMS
ParmDB.Instrument = "test.mep" # instrument parameters (MS table)
ParmDB.LocalSky = "test.gsm" # local sky parameters (MS table)
Step.xyz1.Steps = ["sl1", "sl2"]
Step.xyz1.Baselines.Station1 = [0, 0, 0, 1, 1, 2] # baselines to use
Step.xyz1.Baselines.Station2 = [0, 1, 2, 1, 2, 2] # (all if empty)
Step.xyz1.Sources = ["3C343"] # list of sources
Step.xyz1.ExtraSources = ["M81"] # list of sources outside patch
Step.xyz1.InstrumentModel = ["Bandpass", \ # Instrument model
"DirGain", "Phase"]
BBDB.Host = 127.0.0.1 # hostname/ipaddr of BB DBMS
BBDB.Port = 12345 # port used by BB DBMS
BBDB.DBName = blackboard # name of the BB database
BBDB.UserName = postgres # username for accessing the DBMS
BBDB.PassWord = # password for accessing the DBMS
ParmDB.Instrument = test.mep # instrument parameters (MS table)
ParmDB.LocalSky = test.gsm # local sky parameters (MS table)
Step.xyz1.Steps = [ sl1, sl2 ] # names of substeps
Step.xyz1.Baselines.Station1 = \ # baselines to use
[ CS*, CS*, CS*, RS1*, RS1*, RS2* ]
Step.xyz1.Baselines.Station2 = \ # (all if empty)
[ CS*, RS1*, RS2*, RS1*, RS2*, RS2* ]
Step.xyz1.Sources = [ 3C343 ] # list of sources
Step.xyz1.ExtraSources = [ M81 ] # list of sources outside patch
Step.xyz1.InstrumentModel = [ Bandpass, \ # Instrument model
DirGain, Phase ]
Step.xyz1.Integration.Freq = 2; # integration interval: f(Hz)
Step.xyz1.Integration.Time = 0.5; # integration interval: t(s)
Step.xyz1.Correlation.Selection = CROSS # one of AUTO, CROSS, ALL
Step.xyz1.Correlation.Type = ["XX", "XY", \ # which (cross) correlations to use
"YX", "YY"]
Step.xyz2.Steps = ["sl1", "sl3"]
Step.xyz2.Baselines.Station1 = [0, 0, 1] # baselines to use
Step.xyz2.Baselines.Station2 = [0, 1, 1] # (all if empty)
Step.xyz2.Sources = ["3C343"] # sources in the source model
Step.xyz2.InstrumentModel = ["Bandpass"] # Instrument model
Step.sl1.Baselines.Station1 = [0, 1] # baselines to use
Step.sl1.Baselines.Station2 = [1, 2] # (all if empty)
Step.sl1.Operation = SOLVE \ # one of SOLVE, SUBTRACT, CORRECT,
Step.xyz1.Correlation.Type = [ XX, XY, \ # which (cross) correlations to use
YX, YY ]
Step.xyz2.Steps = [ sl1, sl3 ] # names of substeps
Step.xyz2.Baselines.Station1 = [ CS*, CS*, RS1* ] # baselines to use
Step.xyz2.Baselines.Station2 = [ CS*, RS1*, RS1* ] # (all if empty)
Step.xyz2.Sources = [ 3C343 ] # sources in the source model
Step.xyz2.InstrumentModel = [ Bandpass ] # Instrument model
Step.sl1.Baselines.Station1 = [ CS*, RS1* ] # baselines to use
Step.sl1.Baselines.Station2 = [ RS1*, RS2* ] # (all if empty)
Step.sl1.Operation = SOLVE \ # one of SOLVE, SUBTRACT, CORRECT,
# PREDICT, SHIFT, REFIT
Step.sl1.OutputData = "OUTDATA1" # MS output data column
Step.sl1.Solve.MaxIter = 10 # maximum number of iterations
Step.sl1.Solve.Epsilon = 1e-7 # convergence threshold
Step.sl1.OutputData = OUTDATA1 # MS output data column
Step.sl1.Solve.MaxIter = 10 # maximum number of iterations
Step.sl1.Solve.Epsilon = 1e-7 # convergence threshold
Step.sl1.Solve.MinConverged = 0.95 # fraction that must have converged
Step.sl1.Solve.Parms = ["PHASE:*"] # names of solvable parameters
Step.sl1.Solve.ExclParms = [""] # parameters excluded from solve
Step.sl1.Solve.Parms = [ PHASE:* ] # names of solvable parameters
Step.sl1.Solve.ExclParms = [] # parameters excluded from solve
Step.sl1.Solve.DomainSize.Freq = 1000 # f(Hz)
Step.sl1.Solve.DomainSize.Time = 1 # t(s)
Step.sl1.InstrumentModel = ["Bandpass", "Phase"]
Step.sl1.InstrumentModel = [ Bandpass, Phase ]
Step.sl2.Operation = CORRECT \ # one of SOLVE, SUBTRACT, CORRECT,
Step.sl2.Operation = CORRECT \ # one of SOLVE, SUBTRACT, CORRECT,
# PREDICT, SHIFT, REFIT
Step.sl2.OutputData = "OUTDATA2" # MS output data column
Step.sl2.InstrumentModel = ["DirGain", "Phase"]
Step.sl2.OutputData = OUTDATA2 # MS output data column
Step.sl2.InstrumentModel = [ DirGain, Phase ]
Step.sl3.Operation = PREDICT \ # one of SOLVE, SUBTRACT, CORRECT,
Step.sl3.Operation = PREDICT \ # one of SOLVE, SUBTRACT, CORRECT,
# PREDICT, SHIFT, REFIT
Step.sl3.OutputData = "OUTDATA3" # MS output data column
Step.sl3.InstrumentModel = ["Phase"]
Step.sl3.OutputData = OUTDATA3 # MS output data column
Step.sl3.InstrumentModel = [ Phase ]
DataSet = "test.ms" # name of Measurement Set
DataSet = test.ms # name of Measurement Set
Strategy.Steps = ["xyz1", "xyz2"] # steps
Strategy.Stations = [ 0, 1, 2, 3 ] # ID's of stations to use
Strategy.InputData = "INDATA" # MS input data column
Strategy.Steps = [ xyz1, xyz2 ] # steps
Strategy.Stations = [ CS*, RS1*, RS2*, DE* ] # names of stations to use
Strategy.InputData = INDATA # MS input data column
Strategy.Correlation.Selection = ALL # one of AUTO, CROSS, ALL
Strategy.Correlation.Type = ["XX", "YY"] # which (cross)correlations to use
Strategy.Correlation.Type = [ XX, YY ] # which (cross)correlations to use
Strategy.WorkDomainSize.Freq = 1e+6 # work domain size: f(Hz)
Strategy.WorkDomainSize.Time = 10 # work domain size: t(s)
Strategy.Integration.Freq = 1; # integration interval: f(Hz)
Strategy.Integration.Time = 0.1; # integration interval: t(s)
BBDB.Host = "127.0.0.1" # hostname/ipaddr of BB DBMS
BBDB.Port = 12345 # port used by BB DBMS
BBDB.DBName = "blackboard" # name of the BB database
BBDB.UserName = "postgres" # username for accessing the DBMS
BBDB.PassWord = "" # password for accessing the DBMS
ParmDB.Instrument = "test.mep" # instrument parameters (MS table)
ParmDB.LocalSky = "test.gsm" # local sky parameters (MS table)
Step.xyz1.Steps = ["sl1", "sl2"]
Step.xyz1.Baselines.Station1 = [0, 0, 0, 1, 1, 2] # baselines to use
Step.xyz1.Baselines.Station2 = [0, 1, 2, 1, 2, 2] # (all if empty)
Step.xyz1.Sources = ["3C343"] # list of sources
Step.xyz1.ExtraSources = ["M81"] # list of sources outside patch
Step.xyz1.InstrumentModel = ["Bandpass", \ # Instrument model
"DirGain", "Phase"]
BBDB.Host = 127.0.0.1 # hostname/ipaddr of BB DBMS
BBDB.Port = 12345 # port used by BB DBMS
BBDB.DBName = blackboard # name of the BB database
BBDB.UserName = postgres # username for accessing the DBMS
BBDB.PassWord = # password for accessing the DBMS
ParmDB.Instrument = test.mep # instrument parameters (MS table)
ParmDB.LocalSky = test.gsm # local sky parameters (MS table)
Step.xyz1.Steps = [ sl1, sl2 ] # names of substeps
Step.xyz1.Baselines.Station1 = \ # baselines to use
[ CS*, CS*, CS*, RS1*, RS1*, RS2* ]
Step.xyz1.Baselines.Station2 = \ # (all if empty)
[ CS*, RS1*, RS2*, RS1*, RS2*, RS2* ]
Step.xyz1.Sources = [ 3C343 ] # list of sources
Step.xyz1.ExtraSources = [ M81 ] # list of sources outside patch
Step.xyz1.InstrumentModel = [ Bandpass, \ # Instrument model
DirGain, Phase ]
Step.xyz1.Integration.Freq = 2; # integration interval: f(Hz)
Step.xyz1.Integration.Time = 0.5; # integration interval: t(s)
Step.xyz1.Correlation.Selection = CROSS # one of AUTO, CROSS, ALL
Step.xyz1.Correlation.Type = ["XX", "XY", \ # which (cross) correlations to use
"YX", "YY"]
Step.xyz2.Steps = ["sl1", "sl3"]
Step.xyz2.Baselines.Station1 = [0, 0, 1] # baselines to use
Step.xyz2.Baselines.Station2 = [0, 1, 1] # (all if empty)
Step.xyz2.Sources = ["3C343"] # sources in the source model
Step.xyz2.InstrumentModel = ["Bandpass"] # Instrument model
Step.sl1.Baselines.Station1 = [0, 1] # baselines to use
Step.sl1.Baselines.Station2 = [1, 2] # (all if empty)
Step.sl1.Operation = SOLVE \ # one of SOLVE, SUBTRACT, CORRECT,
Step.xyz1.Correlation.Type = [ XX, XY, \ # which (cross) correlations to use
YX, YY ]
Step.xyz2.Steps = [ sl1, sl3 ] # names of substeps
Step.xyz2.Baselines.Station1 = [ CS*, CS*, RS1* ] # baselines to use
Step.xyz2.Baselines.Station2 = [ CS*, RS1*, RS1* ] # (all if empty)
Step.xyz2.Sources = [ 3C343 ] # sources in the source model
Step.xyz2.InstrumentModel = [ Bandpass ] # Instrument model
Step.sl1.Baselines.Station1 = [ CS*, RS1* ] # baselines to use
Step.sl1.Baselines.Station2 = [ RS1*, RS2* ] # (all if empty)
Step.sl1.Operation = SOLVE \ # one of SOLVE, SUBTRACT, CORRECT,
# PREDICT, SHIFT, REFIT
Step.sl1.OutputData = "OUTDATA1" # MS output data column
Step.sl1.Solve.MaxIter = 10 # maximum number of iterations
Step.sl1.Solve.Epsilon = 1e-7 # convergence threshold
Step.sl1.OutputData = OUTDATA1 # MS output data column
Step.sl1.Solve.MaxIter = 10 # maximum number of iterations
Step.sl1.Solve.Epsilon = 1e-7 # convergence threshold
Step.sl1.Solve.MinConverged = 0.95 # fraction that must have converged
Step.sl1.Solve.Parms = ["PHASE:*"] # names of solvable parameters
Step.sl1.Solve.ExclParms = [""] # parameters excluded from solve
Step.sl1.Solve.Parms = [ PHASE:* ] # names of solvable parameters
Step.sl1.Solve.ExclParms = [] # parameters excluded from solve
Step.sl1.Solve.DomainSize.Freq = 1000 # f(Hz)
Step.sl1.Solve.DomainSize.Time = 1 # t(s)
Step.sl1.InstrumentModel = ["Bandpass", "Phase"]
Step.sl1.InstrumentModel = [ Bandpass, Phase ]
Step.sl2.Operation = CORRECT \ # one of SOLVE, SUBTRACT, CORRECT,
Step.sl2.Operation = CORRECT \ # one of SOLVE, SUBTRACT, CORRECT,
# PREDICT, SHIFT, REFIT
Step.sl2.OutputData = "OUTDATA2" # MS output data column
Step.sl2.InstrumentModel = ["DirGain", "Phase"]
Step.sl2.OutputData = OUTDATA2 # MS output data column
Step.sl2.InstrumentModel = [ DirGain, Phase ]
Step.sl3.Operation = PREDICT \ # one of SOLVE, SUBTRACT, CORRECT,
Step.sl3.Operation = PREDICT \ # one of SOLVE, SUBTRACT, CORRECT,
# PREDICT, SHIFT, REFIT
Step.sl3.OutputData = "OUTDATA3" # MS output data column
Step.sl3.InstrumentModel = ["Phase"]
Step.sl3.OutputData = OUTDATA3 # MS output data column
Step.sl3.InstrumentModel = [ Phase ]
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment