OGSTools 0.8.2 Release Notes
Python 3.12-3.14
OGS 6.5.8
3rd of September 2026
Breaking changes
API breaking changes
- ogs6py: BHE
flow_and_temperature_controltypes were renamed/consolidated to match OGS 6.5.8.dev (e.g.FixedPowerConstantFlowand the various curve-based variants are replaced byInflowTemperature,Power,BuildingPower), andflow_ratemust now be supplied for every type (as a string, e.g. referencing an OGS parameter by name). (!455)
Changes (non API-breaking)
Bugfixes
- fixed sorting in
Meshes.from_files(ifdomain_keywas not in the beginning, it didn't sort correctly) (!465) - allow values for group based parameters in
Project.parameters(allows to set vectorial or anisotropic group values. Previously, only allowed scalars) (!465) - fixed
Project.process_variables.add_bcandProject.process_variables.add_stto allow all different kinds of types. Previously, some
checks caused unintentional errors. (!471) - fixed
MeshSeries.probewith linear interpolation andcell_datayieldingnanat the mesh boundary as cell centers are used for interpolation. Now used nearest neighbor as a fallback. (!473) - fixed reading
.xdmfdata where some data field are only present in the first timestep. Now they will also be read for later timesteps. (!473) - fixed
Model.plot_constraintsunintentionally deleting meshes from theModelas a side effect; it now operates on a copy. (!463) - fixed
plot.contourfraisingunexpected keyword argument 'mask'. (!467) - fixed the data aspect ratio in
plot.contourfwhenxlim/ylimare given. (!470) - fixed the error message raised by
StorageBase._pre_saveto reference the correctoverwriteargument. (!479) - relaxed datatype validation for point coordinates and
MaterialIDssofloat32/int32/uint32variants are also accepted, not just the exact referencedtype. (!475) ot.mesh.differenceno longer drops thespatial_unitattribute of the resulting mesh. (!468)- storage paths/filenames may now contain
~. (!461)
Features
- plot
Meshesmeshfilepathis now attached to the mesh upon reading (withot.mesh.read) (!465)- added
ogstools.mesh.utils.pv_set_attrhelper, replacing direct use of the deprecatedpyvista.set_new_attribute(!474) node_reordering(and theNodeReorderingCLI call it wraps) gained alogparameter to control/silence its log output (!488)
ProjectVariabledata_nameof aVariableis now also looked for in the attributes of a mesh (e.g.points) orMeshSeries(e.g.timevalues) (!487)- functions of nested
Variables are now stored internally as a list (instead of nested lambdas), which allows retrospectively modifying arguments and parameters (!487) - arguments of these stored functions can be strings which represent the names of data inside a mesh or
MeshSeries, to allow forVariables depending on different input data (!487) output_namecan now explicitly be an empty string (!487)
Infrastructure
- added a
make link_checkcommand, runninglychee, to check for broken links in the docs (!465) - CI no longer pins a specific Python version, just
3.x. (!480) - gallery hash checks now exclude plots whose figures embed computational metrics (e.g. solver time), since those vary between runs; pre-commit no longer reformats
paper.md, andcodespellnow also skips*.svg/*.html. (!321)
Documentation
- added
CONTRIBUTING.mdand linked it fromREADME.md, the docs nav, and the docs site; split developer and maintainer guides; fixed install instructions per the JOSS review. (!480) - fixed broken weblinks in documentation (!465)
- submitted the OGSTools paper to the Journal of Open Source Software (
paper/paper.md,paper/paper.bib); added a graphical abstract linked fromREADME.md. (!321)
New Examples
- new
Meshesexample (Selke) (!465)
Updated Examples
- reworked simple simulation example, added missing
print()/plt.show()calls across gallery examples, and other example polish from the JOSS paper review. (!480) - BHE example additionally shows how to access temperatures via the
Components_BHEstructure. (!480) - quickstart examples now
plot_convergencebehaviour as a heatmap of the relative error per iteration/timestep (sim.log.plot_convergence(metric="dx_x")) instead of clock time per solver phase. (!321)
Tests
- added end-to-end example-
Projecttest coverage and shared property-type-registry tests formateriallib. (!464)
Beta testing features
materiallibYAML schema tightened: a property entry must now be a single mapping (lists of entries are no longer accepted), thetypekey is required, and unsupported keys are rejected. Property parameters are validated against a shared type registry. (!464)materiallibYAML schema: materials must now group their properties under top-leveldomains(medium/phase/component) instead of a flatpropertiesblock. Bundled example materials were migrated accordingly. (!451)
JOSS paper
- OGSTools paper draft submitted to the Journal of Open Source Software (
paper/paper.md,paper/paper.bib) (!321)