Skip to content
Snippets Groups Projects
prep.cwl 8.2 KiB
Newer Older
class: Workflow
cwlVersion: v1.0
alex's avatar
alex committed
id: prep
label: prep
$namespaces:
  sbg: 'https://www.sevenbridges.com/'
inputs:
  - id: msin
    type: 'Directory[]'
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': -900
Alexander Drabent's avatar
Alexander Drabent committed
  - id: filter_baselines
    type: string
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': -800
  - id: raw_data
    type: boolean
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': -700
alex's avatar
alex committed
  - id: propagatesolutions
    type: boolean
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': -600
alex's avatar
alex committed
  - id: flagunconverged
    type: boolean
    'sbg:x': -1000
    'sbg:y': -500
  - id: demix
    type: boolean
    'sbg:x': -1000
    'sbg:y': -400
alex's avatar
alex committed
  - id: max_dppp_threads
    type: int?
    default: 10
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': -300
  - id: memoryperc
    type: int
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': -200
Alexander Drabent's avatar
Alexander Drabent committed
  - id: flag_baselines
    type: 'string[]'
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': -100
Alexander Drabent's avatar
Alexander Drabent committed
  - id: avg_timeresolution
    type: float
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': 0
Alexander Drabent's avatar
Alexander Drabent committed
  - id: avg_freqresolution
    type: string
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': 100
Alexander Drabent's avatar
Alexander Drabent committed
  - id: process_baselines_cal
    type: string
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': 200
Alexander Drabent's avatar
Alexander Drabent committed
  - id: demix_timestep
Alexander Drabent's avatar
Alexander Drabent committed
    type: int
Alexander Drabent's avatar
Alexander Drabent committed
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': 300
Alexander Drabent's avatar
Alexander Drabent committed
  - id: demix_freqstep
Alexander Drabent's avatar
Alexander Drabent committed
    type: int
Alexander Drabent's avatar
Alexander Drabent committed
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': 400
Alexander Drabent's avatar
Alexander Drabent committed
  - id: demix_target
    type: string
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': 500
Alexander Drabent's avatar
Alexander Drabent committed
  - id: demix_sources
    type: 'string[]'
Alexander Drabent's avatar
Alexander Drabent committed
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': 600
alex's avatar
alex committed
  - id: min_length
alex's avatar
alex committed
    type: int?
Alexander Drabent's avatar
Alexander Drabent committed
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': 700
alex's avatar
alex committed
  - id: overhead
alex's avatar
alex committed
    type: float?
Alexander Drabent's avatar
Alexander Drabent committed
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': 800
alex's avatar
alex committed
  - id: min_separation
    type: int?
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': 900
  - id: do_smooth
    type: boolean?
    default: false
    'sbg:x': -1000
    'sbg:y': 1000
alex's avatar
alex committed
  - id: max_separation_arcmin
    type: float?
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': 1100
alex's avatar
alex committed
  - id: calibrator_path_skymodel
    type: Directory?
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': 1200
alex's avatar
alex committed
  - id: A-Team_skymodel
    type: File?
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': 1300
alex's avatar
alex committed
  - id: elevation
    type: string
alex's avatar
alex committed
    default: 0deg..20deg
alex's avatar
alex committed
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': 1400
alex's avatar
alex committed
  - id: amplmin
    type: float
alex's avatar
alex committed
    default: 1.e-30
alex's avatar
alex committed
    'sbg:x': -1000
alex's avatar
alex committed
    'sbg:y': 1500
alex's avatar
alex committed
  - id: outh5parm
alex's avatar
alex committed
    outputSource:
      - h5parm_collector/outh5parm
    type: File
    'sbg:x': 1000
    'sbg:y': -500
  - id: check_Ateam_separation.png
    outputSource:
      - check_ateam_separation/output_imag
Alexander Drabent's avatar
Alexander Drabent committed
    'sbg:x': 1000
    'sbg:y': -300
  - id: msout
    outputSource:
alex's avatar
alex committed
      - predict_calibrate/msout
    type: 'Directory[]'
Alexander Drabent's avatar
Alexander Drabent committed
    'sbg:x': 1000
    'sbg:y': 0
  - id: parset
    outputSource:
      - ndppp_prep_cal/parset
    type: 'File[]'
Alexander Drabent's avatar
Alexander Drabent committed
    'sbg:x': 1000
    'sbg:y': 200
alex's avatar
alex committed
  - id: outh5parm_logfile
alex's avatar
alex committed
    outputSource:
alex's avatar
alex committed
      - h5parm_collector/log
alex's avatar
alex committed
    type: File
    'sbg:x': 1000
alex's avatar
alex committed
    'sbg:y': 650
alex's avatar
alex committed
  - id: logfiles
    linkMerge: merge_flattened
alex's avatar
alex committed
    outputSource:
      - concat_logfiles_calib/output
alex's avatar
alex committed
      - concat_logfiles_predict/output
      - concat_logfiles_blsmooth/output
      - make_sourcedb/log
      - find_skymodel_cal/logfile
      - concat_logfiles_prep_cal/output
      - make_sourcedb_ateam/log
      - check_ateam_separation/logfile
      - h5parm_collector/log
    type: 'File[]'
alex's avatar
alex committed
    'sbg:x': 1000
    'sbg:y': 800
steps:
  - id: ndppp_prep_cal
    in:
      - id: baselines_to_flag
        default: []
alex's avatar
alex committed
        source:
          - flag_baselines
      - id: elevation_to_flag
        source: elevation
      - id: min_amplitude_to_flag
        source: amplmin
      - id: memoryperc
        default: 20
        source: memoryperc
      - id: raw_data
Alexander Drabent's avatar
Alexander Drabent committed
        default: false
        source: raw_data
      - id: demix
Alexander Drabent's avatar
Alexander Drabent committed
        default: false
        source: demix
      - id: msin
        linkMerge: merge_flattened
alex's avatar
alex committed
        source:
          - msin
      - id: msin_baseline
        default: '*'
        source: filter_baselines
      - id: skymodel
alex's avatar
alex committed
        source: make_sourcedb_ateam/sourcedb
      - id: timeresolution
        default: 1
Alexander Drabent's avatar
Alexander Drabent committed
        source: avg_timeresolution
      - id: freqresolution
        default: 12.21kHz
Alexander Drabent's avatar
Alexander Drabent committed
        source: avg_freqresolution
      - id: demix_timestep
        default: 1
        source: demix_timestep
      - id: demix_freqstep
        default: 1
        source: demix_freqstep
      - id: demix_baseline
        default: '*'
        source: process_baselines_cal
alex's avatar
alex committed
      - id: target_source
Alexander Drabent's avatar
Alexander Drabent committed
        source: demix_target
alex's avatar
alex committed
      - id: ntimechunk
        default: 10
        source: max_dppp_threads
alex's avatar
alex committed
      - id: subtract_sources
alex's avatar
alex committed
        source:
          - demix_sources
    out:
      - id: msout
      - id: logfile
alex's avatar
alex committed
    run: ../../subworkflow/ndppp_prep_cal.cwl
    label: ndppp_prep_cal
    scatter:
      - msin
Alexander Drabent's avatar
Alexander Drabent committed
    'sbg:x': 0
    'sbg:y': 0
alex's avatar
alex committed
  - id: predict_calibrate
    in:
      - id: msin
        linkMerge: merge_flattened
        source:
          - ndppp_prep_cal/msout
      - id: do_smooth
        source: do_smooth
      - id: sourcedb
        source: make_sourcedb/sourcedb
      - id: flagunconverged
        source: flagunconverged
      - id: propagatesolutions
        source: propagatesolutions
    out:
      - id: msout
      - id: BLsmooth.log
      - id: predict_cal.log
      - id: calib_cal.log
      - id: outh5parm
    run: ../../subworkflow/predict_calibrate.cwl
    label: predict_calibrate
    scatter:
      - msin
    'sbg:x': 500
    'sbg:y': 0
  - id: check_ateam_separation
    in:
      - id: ms
        source:
          - msin
      - id: min_separation
        source: min_separation
    out:
      - id: output_imag
      - id: logfile
alex's avatar
alex committed
    run: ../../lofar-cwl/steps/check_ateam_separation.cwl
    label: check_Ateam_separation
Alexander Drabent's avatar
Alexander Drabent committed
    'sbg:x': 0
    'sbg:y': -300
alex's avatar
alex committed
  - id: make_sourcedb_ateam
    in:
      - id: sky_model
alex's avatar
alex committed
        source: A-Team_skymodel
alex's avatar
alex committed
      - id: logname
        default: make_sourcedb_ateam.log
    out:
      - id: sourcedb
      - id: log
alex's avatar
alex committed
    run: ../../lofar-cwl/steps/makesourcedb.cwl
    label: make_sourcedb_ateam
Alexander Drabent's avatar
Alexander Drabent committed
    'sbg:x': -500
    'sbg:y': 300
alex's avatar
alex committed
  - id: find_skymodel_cal
    in:
alex's avatar
alex committed
      - id: msin
alex's avatar
alex committed
        source:
          - msin
alex's avatar
alex committed
      - id: skymodels
alex's avatar
alex committed
        source: calibrator_path_skymodel
      - id: max_separation_arcmin
        source: max_separation_arcmin
alex's avatar
alex committed
    out:
      - id: output_models
alex's avatar
alex committed
      - id: model_name
      - id: logfile
alex's avatar
alex committed
    run: ../../steps/find_skymodel_cal.cwl
    label: find_skymodel_cal
    'sbg:x': -500
    'sbg:y': 500
alex's avatar
alex committed
  - id: make_sourcedb
    in:
      - id: sky_model
        source: find_skymodel_cal/output_models
alex's avatar
alex committed
      - id: output_file_name
        default: calibrator.sourcedb
alex's avatar
alex committed
    out:
      - id: sourcedb
      - id: log
    run: ../../lofar-cwl/steps/makesourcedb.cwl
    label: make_sourcedb
    'sbg:x': 0
    'sbg:y': 500
alex's avatar
alex committed
  - id: concat_logfiles_prep_cal
alex's avatar
alex committed
    in:
      - id: file_list
        source:
          - ndppp_prep_cal/logfile
      - id: file_prefix
        default: ndppp_prep_cal
    out:
      - id: output
    run: ../../steps/concatenate_files.cwl
alex's avatar
alex committed
    label: concat_logfiles_prep_cal
    'sbg:x': 250
    'sbg:y': 300
  - id: concat_logfiles_blsmooth
    in:
      - id: file_list
        source:
          - predict_calibrate/BLsmooth.log
      - id: file_prefix
alex's avatar
alex committed
        default: blsmooth_prep
alex's avatar
alex committed
    out:
      - id: output
    run: ../../steps/concatenate_files.cwl
    label: concat_logfiles_blsmooth
    'sbg:x': 750
alex's avatar
alex committed
    'sbg:y': 300
alex's avatar
alex committed
  - id: concat_logfiles_predict
    in:
      - id: file_list
        source:
          - predict_calibrate/predict_cal.log
      - id: file_prefix
        default: predict_cal
    out:
      - id: output
    run: ../../steps/concatenate_files.cwl
    label: concat_logfiles_predict
    'sbg:x': 750
    'sbg:y': 500
  - id: concat_logfiles_calib
    in:
      - id: file_list
        source:
          - predict_calibrate/calib_cal.log
      - id: file_prefix
alex's avatar
alex committed
        default: calib_cal_prep
alex's avatar
alex committed
    out:
      - id: output
    run: ../../steps/concatenate_files.cwl
    label: concat_logfiles_calib
    'sbg:x': 750
    'sbg:y': 800
  - id: h5parm_collector
    in:
      - id: h5parmFiles
        source:
          - predict_calibrate/outh5parm
      - id: squeeze
        default: true
      - id: verbose
        default: true
      - id: clobber
        default: true
    out:
      - id: outh5parm
      - id: log
    run: ../../lofar-cwl/steps/H5ParmCollector.cwl
    label: H5parm_collector
    'sbg:x': 750
    'sbg:y': -300
requirements:
  - class: SubworkflowFeatureRequirement
alex's avatar
alex committed
  - class: ScatterFeatureRequirement