# OGSTools 0.6.0 Release Notes (upcoming release) OGS version: 6.5.4 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 free standing 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) ### 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.