There is a newer version of the record available.

Published March 19, 2025 | Version 0.6.0
Software Open

OGSTools

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

Description

OGSTools 0.6.0 Release Notes

OGS version: 6.5.4 (But OGS is from now on optional!)

Python: 3.10 - 3.13

API breaking changes

  • meshseries.probe now squeezes the returned array: it seems more intuitive to return a 1D array if no list of points is provided (just a single tuple)
  • meshseries.plot_time_slice has a new user interface - see the update example or the API reference. The interpolate argument was removed, as it tempts you to be used as a default (as it produces a nice image), but in doing so, can easily lead to wrong conclusions as the interpolated image might differ significantly from the raw data.
  • generalized meshseries.animate: it is now a freestanding function (plot.animate) and can take any plotting function - see the updated example or the API reference

Features

  • MeshSeries can now be initialized with from_data(meshes, timevalues)
  • MeshSeries now has an .items() iterator
  • MeshSeries has now an .extend function to combine 2 MeshSeries (e.g. for simulation restart/continuation)
  • plot.line now automatically sorts the data
  • User can select format when saving animation (gif or mp4)
  • variables.vector add BHE vector with support for slicing its components
  • Variables now have methods to create Variables related to absolute error, relative error and analytical solution corresponding to the parent Variable
  • Variable.transform now also works on MeshSeries
  • plot.line now can also handle MeshSeries - this allows to draw an array of lines in one call (e.g. lines for each pt in the MeshSeries over time or lines for each timestep over a spatial coordinate)
  • plot.contourf now only returns a figure if it wasn't given one as an argument
  • improved axis labelling for shared axes (only the outer axes should get labelled now)
  • new: meshseries.resample to interpolate the meshseries to new timevalues
  • new: extract_probe to create a new meshseries consisting only of points and probed data at these points
  • OGS_BIN_PATH is read, this allows to specify a location of a custom OGS (ogs wheel not needed)
  • Improved errors and warnings when system has multiple or no OGS on PATH
  • ogstools.status(verbose=True) prints status of OGS installation

Infrastructure

Tests

  • Tests can be marked as system and tools
    • system tests: Invoke running a simulation with OGS
    • tools tests: Invoke calls to OGS binary tools and pybind11 functionality (in future)
  • Mac Tests added

Imports

  • When imports are actually implementation details, they should be loaded within the calling function (delayed initialization). Applied to imports that rely on OGS installation.

Notes

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

Files

ufz/ogstools-0.6.0.zip

Files (15.1 MB)

Name Size Download all
md5:d637eadaf257cdc1ae1baa0e37dd4898
15.1 MB Preview Download

Additional details

Related works

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

Software