diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bfe1767331592af2719e4acbeaad25cd6accc75e..cc78dbb4607b33774497ff06cb3f8f67db0fd17b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -65,6 +65,17 @@ losoto_replicateonaxis: script: - cwl-runner --no-container steps/LoSoTo.Replicateonaxis.cwl test_jobs/losoto_axisreplicate.json +losoto_reset: + stage: test_steps + allow_failure: true + script: + - cwl-runner --no-container steps/LoSoTo.Reset.cwl test_jobs/losoto_reset.json + +losoto_residual: + stage: test_steps + allow_failure: true + script: + - cwl-runner --no-container steps/LoSoTo.Residual.cwl test_jobs/losoto_residual.json parset_selector: stage: test_steps diff --git a/steps/LoSoTo.Reset.cwl b/steps/LoSoTo.Reset.cwl new file mode 100644 index 0000000000000000000000000000000000000000..149587c9e8c399f2324fdf640b82e0966ee21728 --- /dev/null +++ b/steps/LoSoTo.Reset.cwl @@ -0,0 +1,49 @@ +#!/usr/bin/env cwl-runner + +class: CommandLineTool +cwlVersion: v1.0 +id: losoto_reset + +doc: Subtract/divide two tables or a clock/tec/tec3rd/rm from a phase. + +requirements: + InlineJavascriptRequirement: {} + InitialWorkDirRequirement: + listing: + - entryname: 'parset.config' + entry: | + [reset] + soltab = $(inputs.soltab) + operation = RESET + $(inputs.dataVal !== null? 'dataVal=' + inputs.dataVal: '') + + - entryname: $(inputs.input_h5parm.basename) + entry: $(inputs.input_h5parm) + writable: true + +baseCommand: "losoto" + +arguments: + - $(inputs.input_h5parm.basename) + - parset.config + +hints: + DockerRequirement: + dockerPull: lofareosc/prefactor-ci:master + +inputs: + - id: input_h5parm + type: File + - id: soltab + type: string + doc: "Solution table" + - id: dataVal + type: float? + doc: | + If given set values to this number, otherwise uses 1 for amplitude and 0 + for all other soltab types. +outputs: + - id: output_h5parm + type: File + outputBinding: + glob: $(inputs.input_h5parm.basename) diff --git a/steps/LoSoTo.Residual.cwl b/steps/LoSoTo.Residual.cwl new file mode 100644 index 0000000000000000000000000000000000000000..e8aed596c8b965648201b33f045c6842dd9fac9c --- /dev/null +++ b/steps/LoSoTo.Residual.cwl @@ -0,0 +1,52 @@ +#!/usr/bin/env cwl-runner + +class: CommandLineTool +cwlVersion: v1.0 +id: losoto_abs + +doc: Subtract/divide two tables or a clock/tec/tec3rd/rm from a phase. + +requirements: + InitialWorkDirRequirement: + listing: + - entryname: 'parset.config' + entry: | + [residuals] + soltab = $(inputs.soltab) + operation=RESIDUALS + soltabsToSub=$(inputs.soltabsToSub) + ratio=$(inputs.ratio) + + - entryname: $(inputs.input_h5parm.basename) + entry: $(inputs.input_h5parm) + writable: true + +baseCommand: "losoto" + +arguments: + - $(inputs.input_h5parm.basename) + - parset.config + +hints: + DockerRequirement: + dockerPull: lofareosc/prefactor-ci:master + +inputs: + - id: input_h5parm + type: File + - id: soltab + type: string + doc: "Solution table" + - id: soltabsToSub + type: string[] + doc: List of soltabs to subtract + - id: ratio + type: boolean? + default: false + doc: Return the ratio instead of subtracting. + +outputs: + - id: output_h5parm + type: File + outputBinding: + glob: $(inputs.input_h5parm.basename) diff --git a/test_jobs/losoto_reset.json b/test_jobs/losoto_reset.json new file mode 100644 index 0000000000000000000000000000000000000000..ff1cfa0ffb800683bec498e1b97949b3383b6a1d --- /dev/null +++ b/test_jobs/losoto_reset.json @@ -0,0 +1,7 @@ +{ + "input_h5parm": { + "class": "File", + "path": "/data/example.h5" + }, + "soltab": "sol000/amplitude000" +} diff --git a/test_jobs/losoto_residual.json b/test_jobs/losoto_residual.json new file mode 100644 index 0000000000000000000000000000000000000000..86b97d57348f716e4ffbc4399c02b4b1f038ba38 --- /dev/null +++ b/test_jobs/losoto_residual.json @@ -0,0 +1,8 @@ +{ + "input_h5parm": { + "class": "File", + "path": "/data/example.h5" + }, + "soltab": "sol000/amplitude000", + "soltabsToSub": ["amplitude000"] +}