ddecal.cwl 3.3 KB
Newer Older
1 2 3 4
#!/usr/bin/env cwl-runner

class: CommandLineTool
cwlVersion: v1.0
mancini's avatar
mancini committed
5
id: calib_rot_diag
6 7 8 9
baseCommand: [DPPP]

requirements:
  InlineJavascriptRequirement: {}
mancini's avatar
mancini committed
10 11 12 13
  InitialWorkDirRequirement: 
    listing:
      - entry: $(inputs.msin)
        writable: true
14 15 16

hints:
  DockerRequirement:
mancini's avatar
mancini committed
17
    dockerPull: lofareosc/lofar-pipeline-ci:latest
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

arguments:
  - steps=[ddecal]
  - ddecal.uvlambdamin=300
  - ddecal.maxiter=50
  - ddecal.nchan=1
  - ddecal.solint=1
  - ddecal.propagateconvergedonly=True
  - ddecal.flagdivergedonly=True
  - ddecal.tolerance=1.e-3
  - ddecal.usemodelcolumn=True


inputs:
  - id: msin
mancini's avatar
mancini committed
33
    type: Directory
34 35
    doc: Input Measurement Set
    inputBinding:
mancini's avatar
mancini committed
36 37
      prefix: msin=
      separate: false
38 39 40 41 42 43

  - id: msin_datacolumn
    type: string
    default: DATA
    doc: Input data Column
    inputBinding:
mancini's avatar
mancini committed
44 45
      prefix: msin.datacolumn=
      separate: false
46 47 48 49 50 51

  - id: msin_modelcolum
    type: string
    default: MODEL_DATA
    doc: Model data Column
    inputBinding:
mancini's avatar
mancini committed
52 53
      prefix: msin.modelcolumn=
      separate: false
54 55 56 57 58

  - id: output_name_h5parm
    type: string
    default: instrument.h5
    inputBinding:
mancini's avatar
mancini committed
59 60
      prefix: ddecal.h5parm=
      separate: false
61 62 63
  - id: msout_name
    type: string
    doc: Output Measurement Set
mancini's avatar
mancini committed
64
    default: "OUT.MS"
65
    inputBinding:
mancini's avatar
mancini committed
66 67
      prefix: msout=
      separate: false
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96

#--------------------
  - id: propagate_solutions
    type: boolean
    default: true
    inputBinding:
      prefix: propagatesolutions=True
  - id: flagunconverged
    type: boolean
    default: false
    doc: |
      Flag unconverged solutions (i.e., those from solves that did not converge
      within maxiter iterations).
    inputBinding:
      prefix: flagdivergedonly=True
  - id: flagdivergedonly
    default: false
    type: boolean
    doc: |
      Flag only the unconverged solutions for which divergence was detected.
      At the moment, this option is effective only for rotation+diagonal
      solves, where divergence is detected when the amplitudes of any station
      are found to be more than a factor of 5 from the mean amplitude over all
      stations.
      If divergence for any one station is detected, all stations are flagged
      for that solution interval. Only effective when flagunconverged=true
      and mode=rotation+diagonal.
    inputBinding:
      prefix: flagdivergedonly=True
mancini's avatar
mancini committed
97 98 99
  - id: storagemanager
    type: string
    default: dysco
mancini's avatar
mancini committed
100
    inputBinding:
mancini's avatar
mancini committed
101
      prefix: msout.storagemanager=
mancini's avatar
mancini committed
102
      separate: false
mancini's avatar
mancini committed
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
  - id: mode
    type:
      type: enum
      symbols:
        - scalarcomplexgain
        - scalarphase
        - scalaramplitude
        - tec
        - tecandphase
        - fulljones
        - diagonal
        - phaseonly
        - amplitudeonly
        - rotation
        - rotation+diagonal
    doc: |
      Type of constraint to apply. Options are
    inputBinding:
      prefix: ddecal.mode=
      separate: false
123 124 125 126 127
outputs:
  - id: msout
    doc: Output Measurement Set
    type: Directory
    outputBinding:
mancini's avatar
mancini committed
128
      glob: $(inputs.msin.basename)
129 130 131 132 133 134 135 136 137 138 139 140

  - id: h5parm
    doc: Filename of output H5Parm (to be read by e.g. losoto)
    type: File
    format: lofar:#H5Parm
    outputBinding:
      glob: $(inputs.output_name_h5parm)

$namespaces:
  lofar: https://git.astron.nl/eosc/ontologies/raw/master/schema/lofar.owl
$schema:
  - https://git.astron.nl/eosc/ontologies/raw/master/schema/lofar.owl