Commit 1838edc5 authored by Tammo Jan Dijkema's avatar Tammo Jan Dijkema

Merge branch 'applycal_step_generator' into 'master'

Add applycal step

See merge request !2
parents cfecd9f6 cc951935
Pipeline #426 passed with stages
in 3 minutes and 46 seconds
......@@ -51,6 +51,12 @@ average_step_generator:
- cwl-runner steps/DP3.AveragerStepGenerator.cwl test_jobs/averager_step_generator.json
- ! cwl-runner steps/DP3.AveragerStepGenerator.cwl test_jobs/averager_step_generator_error.json
applycal_step_generator:
stage: test_steps
allow_failure: true
script:
- cwl-runner steps/DP3.ApplyCalStepGenerator.cwl test_jobs/applycal_step_generator.json
aoflagger_step_generator:
stage: test_steps
allow_failure: true
......
#!/usr/bin/env cwl-runner
class: Workflow
cwlVersion: v1.0
id: applycal_step_generator
inputs:
- id: steps
type: Any[]?
default: []
- id: step_name
type: string
doc: unique name for the step
default: applycal
- id: parmdb
type: string
doc: Path of parmdb in which the parameters are stored. This can also be an H5Parm file, in that case the filename has to end in '.h5'
- id: solset
type: string?
doc: |
In case of applying an H5Parm file: the name of the solset to be used.
If empty, defaults to the name of one solset present in the H5Parm
(if more solsets are present in an H5Parm and solset is left empty,
an error will be thrown)
- id: correction
type:
type: enum
symbols:
- gain
- tec
- clock
- rotationangle
- rotation
- scalarphase
- scalaramplitude
- rotationmeasure
- fulljones
doc: |
Type of correction to perform, can be one of 'gain', 'tec', 'clock',
'(common)rotationangle' / 'rotation', '(common)scalarphase',
'(common)scalaramplitude' or 'rotationmeasure'
(create multiple ApplyCal steps for multiple corrections).
When using H5Parm,
this is for now the name of the soltab;
the type will be deduced from the metadata in that soltab,
except for full Jones, in which case correction should be 'fulljones'.
- id: soltab
type: string[]?
doc: |
The name or names of the H5 soltab.
Currently only used when correction=fulljones,
in which case soltab should list two names (amplitude and phase soltab).
- id: direction
type: string?
doc: If using H5Parm, the direction of the solution to use
- id: updateweights
type: boolean?
doc: |
Update the weights column, in a way consistent with
the weights being inverse proportional to the autocorrelations
(e.g. if 'autoweights' was used before).
- id: interpolation
default: nearest
type:
type: enum
symbols:
- nearest
- linear
doc: If using H5Parm, the type of interpolation (in time and frequency) to use, can be one of 'nearest' or 'linear'.
- id: invert
type: boolean?
doc: |
Invert the corrections, to correct the data. Default is true.
If you want to corrupt the data, set it to 'false'
- id: timeslotsperparmupdate
type: int?
doc: |
Number of time slots to handle after one read of the parameter file.
Optimization to prevent spurious reading from the parmdb.
outputs:
- id: augmented_steps
outputSource:
- DP3_GenericStep/augmented_steps
type: Any[]
steps:
- id: DP3_GenericStep
in:
- id: step_type
default: 'applycal'
- id: output_files
default: ["parmdb"]
- id: step_id
source: step_name
- id: steps
source: steps
- id: parameters
valueFrom: $(inputs)
- id: parmdb
source: parmdb
- id: solset
source: solset
- id: correction
source: correction
- id: soltab
source: soltab
- id: direction
source: direction
- id: updateweights
source: updateweights
- id: interpolation
source: interpolation
- id: invert
source: invert
- id: timeslotsperparmupdate
source: timeslotsperparmupdate
#-------------------------------
out:
- augmented_steps
run: ../steps/DP3.GenericStep.cwl
requirements:
- class: StepInputExpressionRequirement
- class: InlineJavascriptRequirement
- class: MultipleInputFeatureRequirement
{
"input_parset": [{
"step_type": "name",
"step_id": "id",
"parameters": []
}],
"parmdb": "out.h5",
"correction": "gain"
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment