diff --git a/lofar-cwl/steps/applytarget.cwl b/lofar-cwl/steps/applytarget.cwl index cb0f811446763fa75295a8d44b278878bc205e10..883ab2ec974c6c31646ce09126c38d3e594a8fa0 100644 --- a/lofar-cwl/steps/applytarget.cwl +++ b/lofar-cwl/steps/applytarget.cwl @@ -55,6 +55,13 @@ inputs: Type of correction to perform. 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'. + - default: 'sol000' + id: solset + type: string + inputBinding: + position: 0 + prefix: applycal.solset= + separate: false - id: storagemanager type: string default: "" diff --git a/lofar-cwl/steps/dpppconcat.cwl b/lofar-cwl/steps/dpppconcat.cwl index b7e20eb0e4872ec5675527f06632a4c98562fc53..e4570f06b1db4bb7acb293e838ce4497d39ec9cf 100644 --- a/lofar-cwl/steps/dpppconcat.cwl +++ b/lofar-cwl/steps/dpppconcat.cwl @@ -9,11 +9,11 @@ inputs: - id: msin type: 'Directory[]' inputBinding: + position: 0 prefix: msin= separate: false itemSeparator: ',' - shellQuote: false - position: 0 + valueFrom: $(concatenate_path(self)) doc: Input Measurement Set - id: msout_name type: string @@ -44,7 +44,7 @@ inputs: inputBinding: prefix: filter.baseline= separate: false - shellQuote: false + shellQuote: true position: 0 valueFrom: $(self) default: null @@ -96,7 +96,7 @@ inputs: inputBinding: prefix: msin.baseline= separate: false - shellQuote: false + shellQuote: true position: 0 default: '*' - id: avg_timeresolution @@ -128,9 +128,12 @@ outputs: arguments: - 'steps=[filter,avg]' - msout.orderms=False + - avg.type=average requirements: - class: ShellCommandRequirement - class: InlineJavascriptRequirement + expressionLib: + - { $include: 'utils.js' } hints: - class: DockerRequirement dockerPull: 'lofareosc/prefactor:HBAcalibrator' diff --git a/steps/add_missing_stations.cwl b/steps/add_missing_stations.cwl index ea4ecec182845c166e39e8a0f8e82576cb24eca4..d2258e1771c70c2055aaf01b9b0ead31285cc0ae 100644 --- a/steps/add_missing_stations.cwl +++ b/steps/add_missing_stations.cwl @@ -1,6 +1,7 @@ class: CommandLineTool cwlVersion: v1.0 $namespaces: + lofar: 'https://git.astron.nl/eosc/ontologies/raw/master/schema/lofar.owl' sbg: 'https://www.sevenbridges.com/' id: add_missing_stations baseCommand: @@ -17,13 +18,14 @@ inputs: type: File inputBinding: position: 0 - prefix: '--refh5parm' + prefix: '--refh5' doc: External H5parm from which the full list of antennas is used from. - id: solset type: string? inputBinding: position: 0 prefix: '--solset' + default: 'sol000' doc: Input calibration solutions - id: refsolset type: string? @@ -31,35 +33,41 @@ inputs: position: 0 prefix: '--refsolset' doc: Input calibration solutions of the reference h5parm file + default: 'sol000' - id: soltab_in type: string? inputBinding: position: 0 prefix: '--soltab_in' doc: Input solution table + default: 'phase000' - id: soltab_out type: string? inputBinding: position: 0 prefix: '--soltab_out' doc: Output solution table (has to be different from input solution table) + default: 'GSMphase' - id: filter type: string? inputBinding: position: 0 prefix: '--filter' doc: Filter these antenna string from the processing + default: '[CR]S*&' - id: bad_antennas type: string? inputBinding: position: 0 prefix: '--bad_antennas' doc: Antenna string to be processed + default: '[CR]S*&' outputs: - id: outh5parm type: File outputBinding: glob: $(inputs.h5parm.basename) + format: 'lofar:#H5Parm' - id: log type: File[] outputBinding: @@ -77,3 +85,5 @@ requirements: listing: - entry: $(inputs.h5parm) writable: true +$schema: + - 'https://git.astron.nl/eosc/ontologies/raw/master/schema/lofar.owl' diff --git a/steps/filter_ms_group.cwl b/steps/filter_ms_group.cwl index 2d3b54179f9f809c1ac428bd7a0523116338c592..d51dcf695a9e51a0b748b14c56842b4e76d64284 100644 --- a/steps/filter_ms_group.cwl +++ b/steps/filter_ms_group.cwl @@ -34,12 +34,13 @@ requirements: entry: | import sys import json - import os.path as path + import os + group_id = "$(inputs.group_id)" json_file = sys.argv[1] ms_list = sys.argv[2:] - ms_by_name = { ms.split(path.sep)[-1]: + ms_by_name = { ms.split(os.path.sep)[-1]: {'class':'Directory', 'path': ms} for ms in ms_list} output_file = 'selected_ms.json' @@ -47,7 +48,7 @@ requirements: with open(json_file, 'r') as f_stream: selected_ms = json.load(f_stream)[group_id] print(selected_ms, ms_by_name) - selected_ms = [ms_by_name[ms_name] for ms_name in selected_ms] + selected_ms = [ms_by_name[os.path.basename(ms_name)] for ms_name in selected_ms] with open(output_file, 'w') as f_stream: diff --git a/steps/find_skymodel_target.cwl b/steps/find_skymodel_target.cwl index e7aa0b88802fe6ac1df453565e6b9202e26a88bd..36191f1c6d89c1fa6240eb81698c211f4c8f481b 100644 --- a/steps/find_skymodel_target.cwl +++ b/steps/find_skymodel_target.cwl @@ -52,7 +52,7 @@ arguments: output = download_skymodel_target(mss, SkymodelPath, Radius, DoDownload, Source) - if SkymodelPath != "target.skymodel": + if "target.skymodel" not in SkymodelPath: shutil.copyfile(SkymodelPath, "target.skymodel") outputs: diff --git a/steps/h5parmcat.cwl b/steps/h5parmcat.cwl index f14f7e38892ff91bf78c80ada21c9d5b3b713fa7..2770fc827f22878db2d626da6f0ff81fa6189535 100644 --- a/steps/h5parmcat.cwl +++ b/steps/h5parmcat.cwl @@ -90,7 +90,7 @@ requirements: hints: - class: DockerRequirement dockerPull: lofareosc/prefactor:HBAcalibrator -stdout: parm_collector_output.log -stderr: parm_collector_output_err.log +stdout: h5parm_collector_output.log +stderr: h5parm_collector_output_err.log $schema: - 'https://git.astron.nl/eosc/ontologies/raw/master/schema/lofar.owl' diff --git a/steps/identify_bad_antennas.cwl b/steps/identify_bad_antennas.cwl index a4cb554ed344c28119c6938e329e50d992ff1114..3bdc91f282d311feebe3eb858fadb06dd9da1932 100644 --- a/steps/identify_bad_antennas.cwl +++ b/steps/identify_bad_antennas.cwl @@ -48,12 +48,12 @@ outputs: requirements: - class: InlineJavascriptRequirement - -hints: - class: InitialWorkDirRequirement listing: - entry: $(inputs.msin) writable: true +hints: - class: DockerRequirement dockerPull: lofareosc/prefactor:HBAcalibrator -stdout: identifyBadAntennas.log \ No newline at end of file +stdout: identifyBadAntennas.log +stderr: identifyBadAntennas_err.log \ No newline at end of file diff --git a/subworkflow/ndppp_prep_targ.cwl b/subworkflow/ndppp_prep_targ.cwl index 09f71d9c4d90b43d91534df8f3c13ec5d3733509..45d923d9430a8745aa6aace52a5759d98ee54cf8 100644 --- a/subworkflow/ndppp_prep_targ.cwl +++ b/subworkflow/ndppp_prep_targ.cwl @@ -472,3 +472,4 @@ steps: requirements: - class: SubworkflowFeatureRequirement - class: InlineJavascriptRequirement + - class: StepInputExpressionRequirement diff --git a/workflows/prefactor_target/finalize.cwl b/workflows/prefactor_target/finalize.cwl index 7864e5663bb8168241526a2a70bb2f69bbf75f8f..d660be8dc63f1d616f0b97690c22da731ba0cc4f 100644 --- a/workflows/prefactor_target/finalize.cwl +++ b/workflows/prefactor_target/finalize.cwl @@ -72,6 +72,7 @@ steps: source: insolutions - id: soltab_in source: gsmcal_step + valueFrom: $(self+'000') - id: soltab_out default: 'TGSSphase' - id: filter @@ -171,3 +172,5 @@ steps: requirements: - class: SubworkflowFeatureRequirement - class: ScatterFeatureRequirement + - class: StepInputExpressionRequirement + - class: InlineJavascriptRequirement \ No newline at end of file