Skip to content
Pre-Facet-Calibrator.parset 87 KiB
Newer Older
process_losoto_ion.control.max_per_node                     =   {{ num_proc_per_node }}
process_losoto_ion.control.mapfile_in                       =   h5imp_cal_ion.output.mapfile
process_losoto_ion.control.inputkey                         =   h5in
process_losoto_ion.argument.flags                           =   [-v,h5in,{{ job_directory }}/losoto.parset]

# output the final soltab into an external h5parm
h5exp_cal_ion.control.kind                                  =   recipe
h5exp_cal_ion.control.type                                  =   executable_args
h5exp_cal_ion.control.inplace                               =   True
h5exp_cal_ion.control.executable                            =   {{ losoto_directory }}/bin/H5parm_collector.py
h5exp_cal_ion.control.error_tolerance                       =   {{ error_tolerance }}
h5exp_cal_ion.control.mapfile_in                            =   h5imp_cal_ion.output.mapfile
h5exp_cal_ion.control.inputkey                              =   h5in
h5exp_cal_ion.argument.flags                                =   [-q,-v,h5in]
h5exp_cal_ion.argument.insoltab                             =   {{ tables2export }}
h5exp_cal_ion.argument.outh5parm                            =   {{ cal_solutions }}
h5exp_cal_ion.argument.outsolset                            =   calibrator


################################
## applying the results       ##
################################
# apply the PA solutions
apply_PA.control.type                                       =   dppp
apply_PA.control.error_tolerance                            =   {{ error_tolerance }}
apply_PA.control.inplace                                    =   True
apply_PA.control.max_per_node                               =   {{ num_proc_per_node_limit }}
apply_PA.control.mapfile_in                                 =   ndppp_prep_cal.output.mapfile
apply_PA.control.inputkey                                   =   msfile
apply_PA.argument.msin                                      =   msfile
apply_PA.argument.numthreads                                =   {{ max_dppp_threads }}
apply_PA.argument.msin.datacolumn                           =   DATA
apply_PA.argument.msout.datacolumn                          =   CORRECTED_DATA
apply_PA.argument.msout.storagemanager                      =   "Dysco"
apply_PA.argument.msout.storagemanager.databitrate          =   0
apply_PA.argument.steps                                     =   [applyPA]
apply_PA.argument.applyPA.type                              =   applycal
apply_PA.argument.applyPA.correction                        =   polalign
apply_PA.argument.applyPA.parmdb                            =   {{ cal_solutions }}

# apply the bandpass
apply_bandpass.control.type                                 =   dppp
apply_bandpass.control.error_tolerance                      =   {{ error_tolerance }}
apply_bandpass.control.inplace                              =   True
apply_bandpass.control.max_per_node                         =   {{ num_proc_per_node_limit }}
apply_bandpass.control.mapfile_in                           =   ndppp_prep_cal.output.mapfile
apply_bandpass.control.inputkey                             =   msfile
apply_bandpass.argument.msin                                =   msfile
apply_bandpass.argument.numthreads                          =   {{ max_dppp_threads }}
apply_bandpass.argument.msin.datacolumn                     =   CORRECTED_DATA
apply_bandpass.argument.msout.datacolumn                    =   CORRECTED_DATA
apply_bandpass.argument.msout.storagemanager                =   "Dysco"
apply_bandpass.argument.msout.storagemanager.databitrate    =   0
apply_bandpass.argument.steps                               =   [applybandpass]
apply_bandpass.argument.applybandpass.type                  =   applycal
apply_bandpass.argument.applybandpass.correction            =   bandpass
apply_bandpass.argument.applybandpass.parmdb                =   {{ cal_solutions }}
apply_bandpass.argument.applybandpass.updateweights         =   True

# apply the beam
apply_beam.control.type                                     =   dppp
apply_beam.control.error_tolerance                          =   {{ error_tolerance }}
apply_beam.control.inplace                                  =   True
apply_beam.control.max_per_node                             =   {{ num_proc_per_node_limit }}
apply_beam.control.mapfile_in                               =   ndppp_prep_cal.output.mapfile
apply_beam.control.inputkey                                 =   msfile
apply_beam.argument.msin                                    =   msfile
apply_beam.argument.numthreads                              =   {{ max_dppp_threads }}
apply_beam.argument.msin.datacolumn                         =   CORRECTED_DATA
apply_beam.argument.msout.datacolumn                        =   CORRECTED_DATA
apply_beam.argument.msout.storagemanager                    =   "Dysco"
apply_beam.argument.msout.storagemanager.databitrate        =   0
apply_beam.argument.steps                                   =   [applybeam]
apply_beam.argument.applybeam.type                          =   applybeam
apply_beam.argument.applybeam.invert                        =   True
apply_beam.argument.applybeam.usechannelfreq                =   False
apply_beam.argument.applybeam.beammode                      =   element
apply_beam.argument.applybeam.updateweights                 =   True

# apply the FR solutions
apply_FR.control.type                                       =   dppp
apply_FR.control.error_tolerance                            =   {{ error_tolerance }}
apply_FR.control.inplace                                    =   True
apply_FR.control.max_per_node                               =   {{ num_proc_per_node_limit }}
apply_FR.control.mapfile_in                                 =   ndppp_prep_cal.output.mapfile
apply_FR.control.inputkey                                   =   msfile
apply_FR.argument.msin                                      =   msfile
apply_FR.argument.numthreads                                =   {{ max_dppp_threads }}
apply_FR.argument.msin.datacolumn                           =   CORRECTED_DATA
apply_FR.argument.msout.datacolumn                          =   CORRECTED_DATA
apply_FR.argument.msout.storagemanager                      =   "Dysco"
apply_FR.argument.msout.storagemanager.databitrate          =   0
apply_FR.argument.steps                                     =   [applyFR]
apply_FR.argument.applyFR.type                              =   applycal
apply_FR.argument.applyFR.correction                        =   faraday
apply_FR.argument.applyFR.parmdb                            =   {{ cal_solutions }}

# apply the clock solutions
apply_clock.control.type                                    =   dppp
apply_clock.control.error_tolerance                         =   {{ error_tolerance }}
apply_clock.control.inplace                                 =   True
apply_clock.control.max_per_node                            =   {{ num_proc_per_node_limit }}
apply_clock.control.mapfile_in                              =   ndppp_prep_cal.output.mapfile
apply_clock.control.inputkey                                =   msfile
apply_clock.argument.msin                                   =   msfile
apply_clock.argument.numthreads                             =   {{ max_dppp_threads }}
apply_clock.argument.msin.datacolumn                        =   CORRECTED_DATA
apply_clock.argument.msout.datacolumn                       =   CORRECTED_DATA
apply_clock.argument.msout.storagemanager                   =   "Dysco"
apply_clock.argument.msout.storagemanager.databitrate       =   0
apply_clock.argument.steps                                  =   [applyclock]
apply_clock.argument.applyclock.type                        =   applycal
apply_clock.argument.applyclock.correction                  =   clock
apply_clock.argument.applyclock.parmdb                      =   {{ cal_solutions }}

# apply the TEC solutions
apply_TEC.control.type                                      =   dppp
apply_TEC.control.error_tolerance                           =   {{ error_tolerance }}
apply_TEC.control.inplace                                   =   True
apply_TEC.control.max_per_node                              =   {{ num_proc_per_node_limit }}
apply_TEC.control.mapfile_in                                =   ndppp_prep_cal.output.mapfile
apply_TEC.control.inputkey                                  =   msfile
apply_TEC.argument.msin                                     =   msfile
apply_TEC.argument.numthreads                               =   {{ max_dppp_threads }}
apply_TEC.argument.msin.datacolumn                          =   CORRECTED_DATA
apply_TEC.argument.msout.datacolumn                         =   CORRECTED_DATA
apply_TEC.argument.msout.storagemanager                     =   "Dysco"
apply_TEC.argument.msout.storagemanager.databitrate         =   0
apply_TEC.argument.steps                                    =   [applytec]
apply_TEC.argument.applytec.type                            =   applycal
apply_TEC.argument.applytec.correction                      =   tec
apply_TEC.argument.applytec.parmdb                          =   {{ cal_solutions }}

# # apply the phase offset solutions
# apply_offset.control.type                                   =   dppp
# apply_offset.control.error_tolerance                        =   {{ error_tolerance }}
# apply_offset.control.inplace                                =   True
# apply_offset.control.max_per_node                           =   {{ num_proc_per_node_limit }}
# apply_offset.control.mapfile_in                             =   ndppp_prep_cal.output.mapfile
# apply_offset.control.inputkey                               =   msfile
# apply_offset.argument.msin                                  =   msfile
# apply_offset.argument.numthreads                            =   {{ max_dppp_threads }}
# apply_offset.argument.msin.datacolumn                       =   CORRECTED_DATA
# apply_offset.argument.msout.datacolumn                      =   CORRECTED_DATA
# apply_offset.argument.msout.storagemanager                  =   "Dysco"
# apply_offset.argument.msout.storagemanager.databitrate      =   0
# apply_offset.argument.steps                                 =   [applyoffset]
# apply_offset.argument.applyoffset.type                      =   applycal
# apply_offset.argument.applyoffset.correction                =   phase_offset
# apply_offset.argument.applyoffset.parmdb                    =   {{ cal_solutions }}

###############################
## finalizing the results     ##
################################
# set the pointing direction
h5parm_name.control.type                                    =   pythonplugin
h5parm_name.control.executable                              =   {{ scripts }}/h5parm_pointingname.py
h5parm_name.control.error_tolerance                         =   {{ error_tolerance }}
h5parm_name.argument.flags                                  =   [{{ cal_solutions }}]
h5parm_name.argument.solsetName                             =   calibrator
h5parm_name.argument.pointing                               =   sky_cal.output.SkymodelName.mapfile

# set the pointing direction
make_summary.control.type                                   =   pythonplugin
make_summary.control.executable                             =   {{ scripts }}/make_summary.py
make_summary.control.error_tolerance                        =   {{ error_tolerance }}
make_summary.control.mapfile_in                             =   combine_data_cal_map.output.mapfile
make_summary.control.inputkey                               =   infiles
make_summary.argument.observation_directory                 =   {{ working_directory }}
make_summary.argument.logfile                               =   {{ log_file }}
make_summary.argument.h5parmdb                              =   {{ cal_solutions }}
make_summary.argument.inspection_directory                  =   {{ inspection_directory }}
make_summary.argument.MSfile                                =   infiles

########################################################
##                                                    ##
##                  END PIPELINE                      ##
##                                                    ##
########################################################