Skip to content
Snippets Groups Projects
dppp_make_parset_target.cwl 5.98 KiB
Newer Older
alex's avatar
alex committed
class: CommandLineTool
cwlVersion: v1.1
id: make_parset
label: define_parset
$namespaces:
  sbg: 'https://www.sevenbridges.com/'
inputs:
  - id: raw_data
    type: boolean?
    default: false
  - id: demix
    type: boolean?
    default: false
  - id: apply_tec_correction
    type: boolean?
    default: false
  - id: apply_rm_correction
    type: boolean?
    default: true
  - id: apply_phase_correction
    type: boolean?
    default: false
  - id: apply_clock_correction
    type: boolean?
    default: true
  - id: apply_beam_correction
    type: boolean?
    default: true
  - id: filter_baselines
    type: string?
    default: '[CR]S*&'
  - id: memoryperc
    type: int?
    default: 20
  - id: baselines_to_flag
    type: 'string[]?'
    default: []
  - id: elevation_to_flag
    type: string?
    default: '0deg..15deg'
  - id: min_amplitude_to_flag
    type: float?
    default: 1e-30
  - id: updateweights
    type: boolean?
    default: true
  - id: timeresolution
    type: int?
    default: 4
  - id: freqresolution
    type: string?
    default: '48.82kHz'
  - id: process_baselines_target
    type: string?
    default: '[CR]S*&'
  - id: demix_timestep
    type: int?
    default: 10
  - id: demix_freqstep
    type: int?
    default: 16
  - id: target_source
    type: string?
    default: ''
  - id: subtract_sources
    type: 'string[]?'
    default:
      - CasA
      - CygA
  - id: ntimechunk
    type: int?
    default: 10
outputs:
  - id: output
    type: File
    outputBinding:
      glob: DPPP.parset
baseCommand:
  - cp
arguments:
  - prefix: ''
    shellQuote: false
    position: 0
    valueFrom: input.parset
  - prefix: ''
    shellQuote: false
    position: 0
    valueFrom: DPPP.parset
requirements:
  - class: InlineJavascriptRequirement
  - class: ShellCommandRequirement
  - class: InitialWorkDirRequirement
    listing:
      - entryname: input.parset
        entry: |+
alex's avatar
alex committed
          steps                               =  [count1,$(inputs.raw_data?'flagedge,aoflag,':'')flagbaseline,flagelev,flagamp,$(inputs.demix?'demix,':'')filter,applyPA,applybandpass,$(inputs.apply_clock_correction?'applyclock,':'')$(inputs.apply_beam_correction?'applybeam,':'')$(inputs.apply_rm_correction?'applyRM,':'')$(inputs.apply_tec_correction?'applytec,':'')$(inputs.apply_phase_correction?'applyphase,':'')avg,count2]
alex's avatar
alex committed
          #
          msout.storagemanager                =   "Dysco"
          msout.storagemanager.databitrate    =   0
          #
alex's avatar
alex committed
          count1.type                         =   counter
          count2.type                         =   counter
          #
alex's avatar
alex committed
          filter.type                         =   filter
          filter.baseline                     =   $(inputs.filter_baselines)
          filter.remove                       =   true
          #
          flagedge.type                       =   preflagger
          flagedge.chan                       =   [0..nchan/32-1,31*nchan/32..nchan-1]
          #
          aoflag.type                         =   aoflagger
          aoflag.memoryperc                   =   $(inputs.memoryperc)
          aoflag.keepstatistics               =   false
          #
          flagbaseline.type                   =   preflagger
          flagbaseline.baseline               =   $(inputs.baselines_to_flag)
          #
          flagelev.type                       =   preflagger
          flagelev.elevation                  =   $(inputs.elevation_to_flag)
          #
          flagamp.type                        =   preflagger
          flagamp.amplmin                     =   $(inputs.min_amplitude_to_flag)
          #
          applyPA.type                        =   applycal
          applyPA.correction                  =   polalign
          applyPA.solset                      =   calibrator
          #
          applybandpass.type                  =   applycal
          applybandpass.correction            =   bandpass
          applybandpass.updateweights         =   $(inputs.updateweights?'True':'False')
          applybandpass.solset                =   calibrator
          #
          applyclock.type                     =   applycal
          applyclock.correction               =   clock
          applyclock.solset                   =   calibrator
          #
          applytec.type                       =   applycal
          applytec.correction                 =   tec
          applytec.solset                     =   calibrator
          #
          applyphase.type                     =   applycal
          applyphase.correction               =   phaseOrig
          applyphase.solset                   =   calibrator
          #
          applyRM.type                        =   applycal
          applyRM.correction                  =   RMextract
          applyRM.solset                      =   target
          #
          applybeam.type                      =   applybeam
          applybeam.usechannelfreq            =   True
          applybeam.updateweights             =   $(inputs.updateweights?'True':'False')
          applybeam.invert                    =   True
          applybeam.beammode                  =   element
          #
          avg.type                            =   average
          avg.timeresolution                  =   $(inputs.timeresolution)
          avg.freqresolution                  =   $(inputs.freqresolution)
          #
          demix.type                          =   demixer
          demix.baseline                      =   $(inputs.process_baselines_target)
          demix.demixfreqstep                 =   $(inputs.demix_freqstep)
          demix.demixtimestep                 =   $(inputs.demix_timestep)
          demix.ignoretarget                  =   False
          demix.targetsource                  =   $(inputs.target_source)
          demix.subtractsources               =   $(inputs.subtract_sources)
          demix.ntimechunk                    =   $(inputs.ntimechunk)
          demix.freqstep                      =   1
          demix.timestep                      =   1
          demix.instrumentmodel               =   instrument