Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
20d75f2
init ogsAutowrap
tStehling Jul 2, 2025
97dcf52
all tools found, correct xml generated , macros inclusion
tStehling Jul 7, 2025
528b521
tool generates a wrap for every tool
tStehling Aug 5, 2025
5394c6d
One Wrap for every tool, robust argument type and param recognition
tStehling Aug 5, 2025
17e67ca
cleanup
tStehling Aug 5, 2025
db95ae0
.
tStehling Aug 6, 2025
77ebe89
changes for new argument identification
tStehling Aug 26, 2025
0efc413
Merge remote-tracking branch 'upstream/main' into ogsAutoWrap
tStehling Aug 26, 2025
6392d10
suggested fixes
tStehling Aug 28, 2025
7d767fb
suggested fixes
tStehling Aug 28, 2025
58f41b1
suggested fixes
tStehling Aug 28, 2025
e52e79b
automatic test generation
tStehling Aug 29, 2025
0469d90
removed saqc files
tStehling Nov 28, 2025
1241539
addes .shed.yml
tStehling Nov 28, 2025
c3d94e9
.
tStehling Nov 28, 2025
113e27d
correct output generation is failing because ogs devs did not stick t…
tStehling Nov 28, 2025
2e14d30
wraps with the actual version of ogs...
tStehling Nov 28, 2025
55c39e2
linting errors fixed
tStehling Dec 2, 2025
982fae7
fixed missing input path variable call and flake errors
tStehling Dec 2, 2025
3c29ce6
fixing tests
tStehling Dec 4, 2025
4d5e64a
added some tests
tStehling Feb 3, 2026
65513a5
gen.py is here the version that was not verschlimmbessert
tStehling Feb 3, 2026
3b1238a
.
tStehling Feb 10, 2026
663296e
dummy tests and bug fixes
tStehling Feb 26, 2026
b9a15d2
Test fixing and extraction optimization
tStehling Mar 17, 2026
ebf1ca3
.
tStehling Mar 23, 2026
8311c6d
Calling bigger test file via URL, data_collections instaed of repeats…
tStehling Mar 24, 2026
1bbc133
merge saqc
bernt-matthias Mar 31, 2026
23d53fa
Merge branch 'main' into ogsAutoWrap
bernt-matthias Mar 31, 2026
b41ef33
use local clone of ogs instead of querying gitlab
bernt-matthias Mar 31, 2026
632538e
remove unnecessary try-except
bernt-matthias Mar 31, 2026
d13a93a
add argument attribute fix select generation
bernt-matthias Mar 31, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions tools/ogsAutowrap/.shed.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: suite_ogs
owner: ufz
description: A suite of tools for OpenGeoSys (ogs)
long_description: A suite of tools for ogs
categories:
- Geo Science
remote_repository_url: https://github.com/Helmholtz-UFZ/galaxy-tools/tree/main/tools/ogs/
homepage_url: https://gitlab.opengeosys.org/ogs/ogs
type: unrestricted
auto_tool_repositories:
name_template: "{{ tool_id }}"
description_template: A suite of tools for OpenGeoSys (ogs)
suite:
name: suite_ogs
description: A suite of tools for ogs
long_description: A suite of tools for og
35 changes: 35 additions & 0 deletions tools/ogsAutowrap/AddElementQuality.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<tool name="OGS: AddElementQuality" id="ogs_addelementquality" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.01">
<description>Galaxy wrapper for the OGS utility 'AddElementQuality'.</description>
<macros>
<import>macros.xml</import>
<import>test_macros.xml</import>
</macros>
<expand macro="requirements" />
<version_command><![CDATA[AddElementQuality --version]]></version_command>
<command><![CDATA[
ln -sf '$input_mesh_file' '$input_mesh_file.element_identifier';
AddElementQuality
--quality_criterion '$quality_criterion'
--input_mesh_file '$input_mesh_file.element_identifier'
--output_mesh_file output_1.vtu
]]></command>
<inputs>
<param argument="--quality_criterion" type="select" optional="true" label="quality criterion" help="quality criterion" multiple="false">
<option value="ElementSize">ElementSize</option>
<option value="EdgeRatio">EdgeRatio</option>
<option value="EquiAngleSkew">EquiAngleSkew</option>
<option value="RadiusEdgeRatio">RadiusEdgeRatio</option>
<option value="SizeDifference">SizeDifference</option>
</param>
<param argument="--input_mesh_file" type="data" optional="false" label="input mesh file" help="Input (.vtu | .msh) mesh file" format="vtkxml" />
</inputs>
<outputs>
<data name="output_AddElementQuality" format="vtkxml" label="Output from AddElementQuality" from_work_dir="output_1.vtu" hidden="false" />
</outputs>
<tests>
<expand macro="addelementquality_test" />
</tests>
<help>This tool runs the **AddElementQuality** utility from the OpenGeoSys suite.</help>
<expand macro="citations" />
</tool>
30 changes: 30 additions & 0 deletions tools/ogsAutowrap/AddFaultToVoxelGrid.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<tool name="OGS: AddFaultToVoxelGrid" id="ogs_addfaulttovoxelgrid" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.01">
<description>Galaxy wrapper for the OGS utility 'AddFaultToVoxelGrid'.</description>
<macros>
<import>macros.xml</import>
<import>test_macros.xml</import>
</macros>
<expand macro="requirements" />
<version_command><![CDATA[AddFaultToVoxelGrid --version]]></version_command>
<command><![CDATA[
ln -sf '$fault' '$fault.element_identifier';
ln -sf '$input' '$input.element_identifier';
AddFaultToVoxelGrid
--fault '$fault.element_identifier'
--input '$input.element_identifier'
--output output_1.vtu
]]></command>
<inputs>
<param argument="--fault" type="data" optional="false" label="fault" help="Input (.vtu). Name of mesh file representing fault" format="vtkxml" />
<param argument="--input" type="data" optional="false" label="input" help="Input (.vtu). Name of the input file containing the paths the all input in correct order from top to bottom" format="vtkxml" />
</inputs>
<outputs>
<data name="output_AddFaultToVoxelGrid" format="vtkxml" label="Output from AddFaultToVoxelGrid" from_work_dir="output_1.vtu" hidden="false" />
</outputs>
<tests>
<expand macro="addfaulttovoxelgrid_test" />
</tests>
<help>This tool runs the **AddFaultToVoxelGrid** utility from the OpenGeoSys suite.</help>
<expand macro="citations" />
</tool>
35 changes: 35 additions & 0 deletions tools/ogsAutowrap/AddLayer.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<tool name="OGS: AddLayer" id="ogs_addlayer" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.01">
<description>Galaxy wrapper for the OGS utility 'AddLayer'.</description>
<macros>
<import>macros.xml</import>
<import>test_macros.xml</import>
</macros>
<expand macro="requirements" />
<version_command><![CDATA[AddLayer --version]]></version_command>
<command><![CDATA[
ln -sf '$input_mesh_file' '$input_mesh_file.element_identifier';
AddLayer
--input-mesh-file '$input_mesh_file.element_identifier'
--layer-tickness '$layer_tickness'
$add_layer_on_bottom
$copy_material_ids
--set-material-id '$set_material_id'
--output-mesh-file output_1.vtu
]]></command>
<inputs>
<param argument="--input-mesh-file" type="data" optional="false" label="input mesh file" help="Input (.vtu). The name of the file containing the mesh" format="vtkxml" />
<param argument="--layer-tickness" type="float" optional="true" label="layer tickness" help="the thickness of the new layer, (min = 0)" />
<param argument="--add-layer-on-bottom" type="boolean" label="add layer on bottom" help="Per default the layer is add on the top, if this argument is set the layer is add on the bottom." checked="false" truevalue="--add-layer-on-bottom" falsevalue="" />
<param argument="--copy-material-ids" type="boolean" label="copy material ids" help="Copy the existing material distribution of the layer which is to be extended. If the switch isn't given a new material id will be created." checked="false" truevalue="--copy-material-ids" falsevalue="" />
<param argument="--set-material-id" type="integer" optional="true" label="set material id" help="the material id of the new layer, (min = 0)" />
</inputs>
<outputs>
<data name="output_AddLayer" format="vtkxml" label="Output from AddLayer" from_work_dir="output_1.vtu" hidden="false" />
</outputs>
<tests>
<expand macro="addlayer_test" />
</tests>
<help>This tool runs the **AddLayer** utility from the OpenGeoSys suite.</help>
<expand macro="citations" />
</tool>
38 changes: 38 additions & 0 deletions tools/ogsAutowrap/AssignRasterDataToMesh.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<tool name="OGS: AssignRasterDataToMesh" id="ogs_assignrasterdatatomesh" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.01">
<description>Galaxy wrapper for the OGS utility 'AssignRasterDataToMesh'.</description>
<macros>
<import>macros.xml</import>
<import>test_macros.xml</import>
</macros>
<expand macro="requirements" />
<version_command><![CDATA[AssignRasterDataToMesh --version]]></version_command>
<command><![CDATA[
ln -sf '$raster' '$raster.element_identifier';
ln -sf '$input' '$input.element_identifier';
AssignRasterDataToMesh
--nodata '$nodata'
$cell_array
$node_array
--scalar-name '$scalar_name'
--raster '$raster.element_identifier'
--input '$input.element_identifier'
--output output_1.vtu
]]></command>
<inputs>
<param argument="--nodata" type="float" optional="true" label="nodata" help="The no data value used for missing values (min = 0)" />
<param argument="--cell-array" type="boolean" label="cell array" help="Assigns raster data to cell array" checked="false" truevalue="--cell-array" falsevalue="" />
<param argument="--node-array" type="boolean" label="node array" help="Assigns raster data to node array (default)" checked="false" truevalue="--node-array" falsevalue="" />
<param argument="--scalar-name" type="text" optional="true" label="scalar name" help="The name of the newly created scalar array." />
<param argument="--raster" type="data" optional="false" label="raster" help="Input (.asc). Name of the input raster file" format="raster.asc" />
<param argument="--input" type="data" optional="false" label="input" help="Input (.vtu). Name of the input mesh file" format="vtkxml" />
</inputs>
<outputs>
<data name="output_AssignRasterDataToMesh" format="vtkxml" label="Output from AssignRasterDataToMesh" from_work_dir="output_1.vtu" hidden="false" />
</outputs>
<tests>
<expand macro="assignrasterdatatomesh_test" />
</tests>
<help>This tool runs the **AssignRasterDataToMesh** utility from the OpenGeoSys suite.</help>
<expand macro="citations" />
</tool>
36 changes: 36 additions & 0 deletions tools/ogsAutowrap/ComputeNodeAreasFromSurfaceMesh.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<tool name="OGS: ComputeNodeAreasFromSurfaceMesh" id="ogs_computenodeareasfromsurfacemesh" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.01">
<description>Galaxy wrapper for the OGS utility 'ComputeNodeAreasFromSurfaceMesh'.</description>
<macros>
<import>macros.xml</import>
<import>test_macros.xml</import>
</macros>
<expand macro="requirements" />
<version_command><![CDATA[ComputeNodeAreasFromSurfaceMesh --version]]></version_command>
<command><![CDATA[
ln -sf '$mesh_input_file' '$mesh_input_file.element_identifier';
ComputeNodeAreasFromSurfaceMesh
--mesh-input-file '$mesh_input_file.element_identifier'
--id-prop-name '$id_prop_name'
--output-base-name 'new_'
]]></command>
<inputs>
<param argument="--mesh-input-file" type="data" optional="false" label="mesh input file" help="Input (.vtu). The name of the file containing the input mesh" format="vtkxml" />
<param argument="--id-prop-name" type="select" optional="true" label="id prop name" help="the name of the property containing the id information" multiple="false">
<option value="bulk_node_ids">bulk_node_ids</option>
<option value="bulk_element_ids">bulk_element_ids</option>
<option value="bulk_edge_ids">bulk_edge_ids</option>
<option value="bulk_face_ids">bulk_face_ids</option>
</param>
</inputs>
<outputs>
<collection name="tool_outputs" type="list" label="Outputs from ComputeNodeAreasFromSurfaceMesh">
<discover_datasets pattern="(?P&lt;designation&gt;new_.*)" format="csv" visible="true" />
</collection>
</outputs>
<tests>
<expand macro="computenodeareasfromsurfacemesh_test" />
</tests>
<help>This tool runs the **ComputeNodeAreasFromSurfaceMesh** utility from the OpenGeoSys suite.</help>
<expand macro="citations" />
</tool>
23 changes: 23 additions & 0 deletions tools/ogsAutowrap/CreateAnchors.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<tool name="OGS: CreateAnchors" id="ogs_createanchors" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.01">
<description>Galaxy wrapper for the OGS utility 'CreateAnchors'.</description>
<macros>
<import>macros.xml</import>
<import>test_macros.xml</import>
</macros>
<expand macro="requirements" />
<version_command><![CDATA[CreateAnchors --version]]></version_command>
<command><![CDATA[
CreateAnchors
--output output_1.vtu
]]></command>
<inputs />
<outputs>
<data name="output_CreateAnchors" format="vtkxml" label="Output from CreateAnchors" from_work_dir="output_1.vtu" hidden="false" />
</outputs>
<tests>
<expand macro="createanchors_test" />
</tests>
<help>This tool runs the **CreateAnchors** utility from the OpenGeoSys suite.</help>
<expand macro="citations" />
</tool>
42 changes: 42 additions & 0 deletions tools/ogsAutowrap/CreateBoundaryConditionsAlongPolylines.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8"?>
<tool name="OGS: CreateBoundaryConditionsAlongPolylines" id="ogs_createboundaryconditionsalongpolylines" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.01">
<description>Galaxy wrapper for the OGS utility 'CreateBoundaryConditionsAlongPolylines'.</description>
<macros>
<import>macros.xml</import>
<import>test_macros.xml</import>
</macros>
<expand macro="requirements" />
<version_command><![CDATA[CreateBoundaryConditionsAlongPolylines --version]]></version_command>
<command><![CDATA[
ln -sf '$input_geometry' '$input_geometry.element_identifier';
ln -sf '$mesh_file' '$mesh_file.element_identifier';
ln -sf '$gmsh_path' '$gmsh_path.element_identifier';
CreateBoundaryConditionsAlongPolylines
$gml
--type '$type'
--input-geometry '$input_geometry.element_identifier'
--mesh-file '$mesh_file.element_identifier'
--gmsh-path '$gmsh_path.element_identifier'
--output-base-file-name 'new_'
]]></command>
<inputs>
<param argument="--gml" type="boolean" label="gml" help="Write found nodes to gml file." checked="false" truevalue="--gml" falsevalue="" />
<param argument="--type" type="select" optional="true" label="type" help="the process type the boundary condition will be written for currently LIQUID_FLOW (primary variable PRESSURE1) and GROUNDWATER_FLOW (primary variable HEAD, default) are supported," multiple="false">
<option value="LIQUID_FLOW">LIQUID_FLOW</option>
<option value="GROUNDWATER_FLOW">GROUNDWATER_FLOW</option>
</param>
<param argument="--input-geometry" type="data" optional="false" label="input geometry" help="Input (.gml | .gli). The name of the input file containing the geometry" format="xml" />
<param argument="--mesh-file" type="data" optional="false" label="mesh file" help="Input (.vtu). The name of the input file containing the mesh" format="vtkxml" />
<param argument="--gmsh-path" type="data" optional="true" label="gmsh path" help="Input (.msh). The path to the gmsh binary" format="msh" />
</inputs>
<outputs>
<collection name="tool_outputs" type="list" label="Outputs from CreateBoundaryConditionsAlongPolylines">
<discover_datasets pattern="(?P&lt;designation&gt;new_.*)" format="geometry (gli" visible="true" />
</collection>
</outputs>
<tests>
<expand macro="createboundaryconditionsalongpolylines_test" />
</tests>
<help>This tool runs the **CreateBoundaryConditionsAlongPolylines** utility from the OpenGeoSys suite.</help>
<expand macro="citations" />
</tool>
29 changes: 29 additions & 0 deletions tools/ogsAutowrap/ExtractBoundary.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<tool name="OGS: ExtractBoundary" id="ogs_extractboundary" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.01">
<description>Galaxy wrapper for the OGS utility 'ExtractBoundary'.</description>
<macros>
<import>macros.xml</import>
<import>test_macros.xml</import>
</macros>
<expand macro="requirements" />
<version_command><![CDATA[ExtractBoundary --version]]></version_command>
<command><![CDATA[
ln -sf '$mesh_input_file' '$mesh_input_file.element_identifier';
ExtractBoundary
--mesh-input-file '$mesh_input_file.element_identifier'
$ascii_output
--mesh-output-file output_1.vtu
]]></command>
<inputs>
<param argument="--mesh-input-file" type="data" optional="false" label="mesh input file" help="Input (.vtu). The name of the file containing the input mesh" format="vtkxml" />
<param argument="--ascii-output" type="boolean" label="ascii output" help="If the switch is set use ascii instead of binary format for data in the vtu output." checked="false" truevalue="--ascii-output" falsevalue="" />
</inputs>
<outputs>
<data name="output_ExtractBoundary" format="vtkxml" label="Output from ExtractBoundary" from_work_dir="output_1.vtu" hidden="false" />
</outputs>
<tests>
<expand macro="extractboundary_test" />
</tests>
<help>This tool runs the **ExtractBoundary** utility from the OpenGeoSys suite.</help>
<expand macro="citations" />
</tool>
29 changes: 29 additions & 0 deletions tools/ogsAutowrap/ExtractMaterials.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<tool name="OGS: ExtractMaterials" id="ogs_extractmaterials" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.01">
<description>Galaxy wrapper for the OGS utility 'ExtractMaterials'.</description>
<macros>
<import>macros.xml</import>
<import>test_macros.xml</import>
</macros>
<expand macro="requirements" />
<version_command><![CDATA[ExtractMaterials --version]]></version_command>
<command><![CDATA[
ln -sf '$input' '$input.element_identifier';
ExtractMaterials
--material-id '$material_id'
--input '$input.element_identifier'
--output output_1.vtu
]]></command>
<inputs>
<param argument="--material-id" type="integer" optional="true" label="material id" help="The MaterialID for which elements should be extracted into a new mesh." />
<param argument="--input" type="data" optional="false" label="input" help="Input (.vtu). Name of the input mesh" format="vtkxml" />
</inputs>
<outputs>
<data name="output_ExtractMaterials" format="vtkxml" label="Output from ExtractMaterials" from_work_dir="output_1.vtu" hidden="false" />
</outputs>
<tests>
<expand macro="extractmaterials_test" />
</tests>
<help>This tool runs the **ExtractMaterials** utility from the OpenGeoSys suite.</help>
<expand macro="citations" />
</tool>
35 changes: 35 additions & 0 deletions tools/ogsAutowrap/ExtractSurface.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8"?>
<tool name="OGS: ExtractSurface" id="ogs_extractsurface" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.01">
<description>Galaxy wrapper for the OGS utility 'ExtractSurface'.</description>
<macros>
<import>macros.xml</import>
<import>test_macros.xml</import>
</macros>
<expand macro="requirements" />
<version_command><![CDATA[ExtractSurface --version]]></version_command>
<command><![CDATA[
ln -sf '$mesh_input_file' '$mesh_input_file.element_identifier';
ExtractSurface
$ascii_output
--angle '$angle'
--y-component '$y_component'
--x-component '$x_component'
--mesh-input-file '$mesh_input_file.element_identifier'
--mesh-output-file output_1.vtu
]]></command>
<inputs>
<param argument="--ascii-output" type="boolean" label="ascii output" help="If the switch is set use ascii instead of binary format for data in the vtu output." checked="false" truevalue="--ascii-output" falsevalue="" />
<param argument="--angle" type="float" optional="true" label="angle" help="tolerated angle (in degrees) between given normal and element normal, (min = 0), (max = 360)" />
<param argument="--y-component" type="float" optional="true" label="y component" help="y component of the normal" />
<param argument="--x-component" type="float" optional="true" label="x component" help="x component of the normal" />
<param argument="--mesh-input-file" type="data" optional="false" label="mesh input file" help="Input (.vtu). The name of the file containing the input mesh" format="vtkxml" />
</inputs>
<outputs>
<data name="output_ExtractSurface" format="vtkxml" label="Output from ExtractSurface" from_work_dir="output_1.vtu" hidden="false" />
</outputs>
<tests>
<expand macro="extractsurface_test" />
</tests>
<help>This tool runs the **ExtractSurface** utility from the OpenGeoSys suite.</help>
<expand macro="citations" />
</tool>
27 changes: 27 additions & 0 deletions tools/ogsAutowrap/FEFLOW2OGS.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<tool name="OGS: FEFLOW2OGS" id="ogs_feflow2ogs" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="22.01">
<description>Galaxy wrapper for the OGS utility 'FEFLOW2OGS'.</description>
<macros>
<import>macros.xml</import>
<import>test_macros.xml</import>
</macros>
<expand macro="requirements" />
<version_command><![CDATA[feflow2ogs --version]]></version_command>
<command><![CDATA[
ln -sf '$in' '$in.element_identifier';
feflow2ogs
--in '$in.element_identifier'
--out output_1.if extension is msh, old OGS file format is written
]]></command>
<inputs>
<param argument="--in" type="data" optional="false" label="in" help="Input (.fem). FEFLOW input file" format="feflow.fem" />
</inputs>
<outputs>
<data name="output_FEFLOW2OGS" format="if extension is msh, old ogs file format is written" label="Output from FEFLOW2OGS" from_work_dir="output_1.if extension is msh, old OGS file format is written" hidden="false" />
</outputs>
<tests>
<expand macro="feflow2ogs_test" />
</tests>
<help>This tool runs the **FEFLOW2OGS** utility from the OpenGeoSys suite.</help>
<expand macro="citations" />
</tool>
Loading
Loading