There is a newer version of the record available.

Published September 29, 2025 | Version 0.7.1
Software Open

OGSTools

  • 1. ROR icon Helmholtz Centre for Environmental Research
  • 2. ROR icon Leipzig University of Applied Sciences

Description

OGSTools 0.7.1 Release Notes

  • Works with ogs==6.5.6
  • Python: 3.10 - 3.13

Breaking changes

API breaking changes

  • meshlib.gen_bhe_mesh uses now shapely for meshing geometries see !324:
    • Supports georeferenced modeling in any metric CRS.
    • Flexible model area shapes (no rectangle restriction).
    • Prism mesh works for all cases; structured mesh for well-arranged setups.
    • Limitation: multiple refinement lines in one split surface not yet supported.
    • now output an additional submesh for groundwater downstream
    • how to specify the input, to get the same behavior as before:
      • length and width need to be replaced by model_area
      • Example: length=150, width=100: model_area=Polygon.from_bounds(xmin=0, ymin=0, xmax=150, ymax=100)
      • dist_box_x and dist_box_y need to be replaced by refinement_area (defined in global coordinate system and not relative to the BHE as before)
        • Example:
          dist_box_x=10, dist_box_y=5:
          Polygon.from_bounds(
            xmin=min(bhe.x for bhe in bhe_array)-10,
            ymin=min(bhe.y for bhe in bhe_array)- 5,
            xmax=max(bhe.x for bhe in bhe_array)+10,
            ymax=max(bhe.y for bhe in bhe_array)+ 5,
            )
          
      • Groundwater.flow_direction needs to be replaced by upstream and downstream
        • Example: "x": upstream=(179,181), downstream=(359,1)

Deprecations

  • Planned for ot.meshes_from_gmsh (replacement already available: Meshes.from_gmsh)

Examples

Changes (non API-breaking)

Bugfixes

  • plot: Fixed contour plots with very small value ranges (< 1e-12) to display correctly
  • Project
    • run_model : Fix execution of wrapper commands (e.g. source MKL)
    • Add the missing tag outputs to allow multiple output definitions
  • Logparser: fix model_time analysis
  • MeshSeries:
    • Fixed accessing meshes of extended MeshSeries from PVD files by ensuring timestep_files is updated correctly after extend().
    • Improved scale method to prevent crashes in complex, performance-intensive workflows; new implementation reuses cached meshes for better stability and memory efficiency.
    • fix extract probe for MeshSeries with a single point meshes
  • Mesh:
    • Fixed crash in Mesh.difference() when meshes contain _active datasets; computation now handles active field arrays
  • Feflow:
    • Fixed handling of vector and tensor properties with NaN values (#135): tuples containing only NaNs are now dropped correctly, and tensor values are no longer misclassified

Features

  • Added MaterialManager and MediaSet to core API and further helper classes: Phase, Medium, Material, Component
    • It introduces a modular and schema-driven material handling system for OGS project files.
    • It includes:
      • A YAML-based material database
      • Schema filtering via MaterialList
      • Export to XML (.to_prj()) compatible with OGS
      • Examples for TH2M
    • It is limited to TH2M for now
  • Added Meshes class
    • from_simulator works directly with the OGS mesh in a running simulation
    • from_gmsh is ot.meshes_from_gmsh
    • save performs identify_subdomains, and checks for overwrite
    • from_msh
      • Uses the newly introduced extract_boundaries for simple extraction of boundary meshes from a 2D domain mesh
    • from_yaml
      • Introduces a new tool to generate Gmsh meshes from YAML geometry descriptions.
        • Based on a simple declarative schema (parameters, points, lines, surfaces, groups)
        • Generates .msh files via Gmsh, meshes_from_yaml
  • Added plot.contourf_pv for pyvista plots which work with Variables.
  • plot.contourf now dispatches depending on the value of the new argument interactive:
    • None (default): 2D mesh -> matplotlib plot, 3D mesh -> interactive pyvista plot
    • True: always interactive pyvista plot
    • False: 2D mesh -> matplotlib plot, 3D mesh -> pyvista plot screenshot
  • Added to_polar method for Variables. Useful, to convert stresses to a cylindrical or spherical coordinate system.
  • Added SimulationController as wrapper for OGSSimulation to allow interruption and continuing simulations
  • BHE
    • Allow ID notation

Infrastructure

  • Updated requirements!
  • Added Binder links to example notebooks for interactive execution.
  • Removed EXPERIMENTAL folder -> see Gitlab open issues
  • Re-enable testing for Mac
  • Faster pipeline execution (10min -> 6min)

Documentation

  • Added tutorials for interactive ogs simulation

next main release

  • deprecation notice for ot.meshes_from_gmsh

Notes

If you use this software, please cite it using these metadata.

Files

ufz/ogstools-0.7.1.zip

Files (9.7 MB)

Name Size Download all
md5:ecb3dee4457d9755181ea161ea1ca6d9
9.7 MB Preview Download

Additional details

Related works

Is supplement to
Software: https://github.com/ufz/ogstools/tree/0.7.1 (URL)

Software