Newer
Older
class: Workflow
cwlVersion: v1.2
id: split-directions
label: Split Directions
doc: |
This is a workflow for the LOFAR-VLBI pipeline that
* Splits a LOFAR MeasurementSet into various target directions
* Applies delay calibrator solutions
* Optionally (for wide-field imaging) performs direction-dependent calibrator selection
* Optionally performs self-calibration on the target directions
This step should be run after the delay calibration workflow.
requirements:
- class: SubworkflowFeatureRequirement
- class: MultipleInputFeatureRequirement
- class: ScatterFeatureRequirement
inputs:
- id: msin
type: Directory[]
doc: The solution tables generated by the VLBI delay calibration workflow in an HDF5 format.
- id: image_cat
type: File
doc: The image catalogue (in FITS or CSV format) containing the target directions.
default: lotss_catalogue.csv
doc: Number of cores to use per job for
tasks with high I/O or memory.
- id: numbands
type: int?
default: -1
doc: The number of bands to group. -1 means all bands.
- id: truncateLastSBs
type: boolean?
default: true
doc: Whether to truncate the last subbands of the
MSs to the same length.
- id: do_selfcal
type: boolean?
default: false
doc: Whether to do selfcal on the direction concat MSs.
doc: If set to true the pipeline will perform direction-dependent calibrator selection.
- id: phasediff_score
type: float
default: 9
doc: |
Phasediff-score for calibrator selection <2.3 good for DD-calibrators and <0.7 good for DI-calibrators.
Only used when dd_selection==true.
doc: |
Peak flux (Jy/beam) cut to pre-select sources from catalogue. Default at 0.0 is no cut.
Only used when dd_selection==true.
doc: The configuration file to be used to run
facetselfcal.py during the target_selfcal step.
- id: h5merger
type: Directory
doc: The h5merger directory.
- id: selfcal
type: Directory
doc: The selfcal directory.
in:
- id: msin
source: msin
- id: image_cat
source: image_cat
out:
- bright_cat
run: ../steps/select_bright_sources.cwl
- id: target_phaseup
label: Target Phaseup
in:
- id: msin
source: msin
- id: image_cat
source:
- select_bright_sources/bright_cat
- image_cat
pickValue: first_non_null
- id: delay_solutions
source: delay_solset
- id: parset
run: ./subworkflows/split_parset.cwl
scatter: msin
- id: dp3_target_phaseup
label: DP3 Target Phaseup
in:
- id: msin
source: msin
- id: parset
source: target_phaseup/parset
linkMerge: merge_flattened
- id: delay_solset
source: delay_solset
- id: max_dp3_threads
source: max_dp3_threads
out:
- id: msout
run: ../steps/dp3_target_phaseup.cwl
scatter: [msin, parset]
scatterMethod: dotproduct
- id: msin
source: flatten_msout/flattenedarray
- id: lofar_helpers
source: h5merger
- id: concat_parsets
run: ../steps/make_concat_parsets.cwl
- id: parset
source: make_concat_parset/concat_parsets
- id: msout
run: ../steps/dp3_parset.cwl
scatter: parset
- id: ddcal_pre_selection
label: DD direction selection
source: dp3_parset/msout
- id: lofar_helpers
source: h5merger
- id: selfcal
source: selfcal
- id: dd_selection
source: dd_selection
- id: phasediff_score_csv
- id: best_ms
when: $(inputs.dd_selection)
run: ./subworkflows/ddcal_pre_selection.cwl
- id: target_selfcal
label: Target Selfcal
in:
- id: msin
source:
- ddcal_pre_selection/best_ms
- dp3_parset/msout
pickValue: first_non_null
- id: configfile
source: configfile
- id: h5merger
source: h5merger
- id: selfcal
source: selfcal
- id: do_selfcal
source: do_selfcal
out:
- id: images
run: ../steps/facet_selfcal.cwl
outputSource:
- ddcal_pre_selection/best_ms
- dp3_parset/msout
pickValue: first_non_null
items:
type: array
items: File
outputSource:
- target_selfcal/images
pickValue: all_non_null
- id: fits_images
items:
type: array
items: File
outputSource:
- target_selfcal/fits_images
pickValue: all_non_null
- id: phasediff_score_csv
type: File?
outputSource: ddcal_pre_selection/phasediff_score_csv
- id: h5parm
type: File[]