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)