diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1c2ab1c69010466a5f8baef8f7c0457816582672..e209bc5b4959c395defb292a7d588655611291cf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -46,6 +46,7 @@ losoto_abs: allow_failure: true script: - cwl-runner --no-container steps/LoSoTo.Abs.cwl test_jobs/losoto_abs.json + losoto_plot: stage: test_steps allow_failure: true @@ -58,6 +59,18 @@ losoto_plotscreen: script: - cwl-runner --no-container steps/LoSoTo.Plotscreen.cwl test_jobs/losoto_plotscreen.json +losoto_norm: + stage: test_steps + allow_failure: true + script: + - cwl-runner --no-container steps/LoSoTo.Norm.cwl test_jobs/losoto_norm.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 allow_failure: true diff --git a/steps/LoSoTo.Norm.cwl b/steps/LoSoTo.Norm.cwl new file mode 100644 index 0000000000000000000000000000000000000000..3a6c00db7afe768d06fd9d09a3b677cfe7e59935 --- /dev/null +++ b/steps/LoSoTo.Norm.cwl @@ -0,0 +1,53 @@ +#!/usr/bin/env cwl-runner + +class: CommandLineTool +cwlVersion: v1.0 +id: losoto_abs + +doc: | + Normalize the solutions to a given value WEIGHT: Weights compliant + +requirements: + InlineJavascriptRequirement: {} + InitialWorkDirRequirement: + listing: + - entryname: 'parset.config' + entry: | + [norm] + soltab = $(inputs.soltab) + operation = NORM + axesToNorm = $(inputs.axesToNorm) + $(inputs.normVal !== null? 'normVal=' + inputs.normVal: '') + + - 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: axesToNorm + type: string[] + doc: Axes along which compute the normalization + - id: normVal + type: float? + doc: Number to normalize to vals = vals * (normVal/valsMean), by default 1. + +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_norm.json b/test_jobs/losoto_norm.json new file mode 100644 index 0000000000000000000000000000000000000000..fad1ae92a9d3d2a5f40bbe5df6086194e15c1a40 --- /dev/null +++ b/test_jobs/losoto_norm.json @@ -0,0 +1,8 @@ +{ + "input_h5parm": { + "class": "File", + "path": "/data/example.h5" + }, + "soltab": "sol000/amplitude000", + "axesToNorm": ["time"] +} 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"] +}