Skip to content

Releases: gimli-org/gimli

v1.5.0

08 Mar 07:53
Compare
Choose a tag to compare

What changed

  • Re-enable 3D images on website (e.g. this example), now including interactive mode using pyvista's DynamicScraper
  • Fix iteration number in pre/postStep by @prisae in #643
  • Typo correction by @soehag in #650
  • FIX adding custom constraints matrix into lazy evaluation process of regularization settings (fixes #659)
  • Enable DataContainer.subset() for geometric filtering (e.g. extract a line)
  • Reciprocal data analysis: ert.reciprocalAnalysis(data), ert.fitReciprocalModel(data), ert.reciprocalProcessing(data)
  • Extend reciprocal analysis to TimelapseERT class
  • Improved display of ERT data: using, x/y fields or predefined styles (e.g. A-MN)
  • Improved maxtrix pg.show(mat) for Matrix, RealNumpyMatrix, IdentityMatrix, DiagonalMatrix, all others
  • Improve docstrings for several classes and functions
  • Extend setting mesh properties mesh[str]=val, including markers
  • New example on tree tomography using ERT, styling other examples
  • Improve details in several examples and correct inconsistencies
  • Add new papers using pyGIMLi
  • Fix several bugs: res2dinv import, bug with scipy=1.12,
  • Updated to new version of pydata-sphinx-theme

New Contributors

Full Changelog: v1.4.6...v1.5.0

v1.4.6

02 Jan 10:35
Compare
Choose a tag to compare

What's Changed

  • pv.drawSlice takes cMin/cMax, cMap, logScale and passes clim,cmap,log_scale
  • add (syntactic sugar) Mesh class functions:
  • Mesh.copy() to create a copy, Mesh.midpoint()
  • Mesh.NED() for changing XYZ from East-North-Up to North-East-Down and back
  • add Mesh.extent("dxyzm"012-1None) to determine extent in to several dimensions
  • add Mesh.populate(array|map|dict) to map any input to mesh cells
  • add Mesh.innerBoundaryCenters() to retrieve the inner boundaries (e.g. first order constraints)
  • extend and optimize grav/mag by tools
  • first MagManager for magnetics inversion
  • magnetics inversion example, also supporting tetrahedral meshes
  • improve showFit by same data and response colorscale and axes
  • add aspect keyword to show functions (not resolving #629 ugly colorbars)
  • enable TraveltimeManager to take self mesh and data
  • TraveltimeManager.createTraveltimeField
  • add showAnimation(plc=)
  • TimelapseERT.exportVTK() for timesteps
  • fix direction of extract2dSlice
  • allow attribute dictionary for parseMapToCellArray
  • fix several bugs related to colorbars
  • fix reading pole-dipole from res2dinv, cleanup code
  • enable read topography from res2dinv files (#623, #629)
  • cleanup old SIP and borehole classes
  • improve cmake build instructions
  • extend test functions
  • improve docs and website, e.g. build from source instructions, papers
  • Update Slack->Mattermost by @prisae in #626

Full Changelog: v1.4.5...v1.4.6

v1.4.5

10 Nov 14:54
Compare
Choose a tag to compare
  • new classes TimelapseERT and CrossholeERT
  • new example Timelapse ERT inversion
  • new example ERT with structural constraints from seismics
  • output of explicit chi-square at beginning on notebooks
  • DataContainer.getIndices() and .subset() for data selection
  • combineMultipleData for ERT data unification
  • fix relativeError bug in ERTIPManager
  • enable TraveltimeManager.showFit(firstPicks=True)
  • improve, cleanup and simplify (runtime-opt) several examples
  • improved Windows build with new cmake versions
  • fix Crank-Nicholson scheme for Dynamic boundary conditions
  • fix passing area(cellSize) to 3D createX functions
  • enable passing contact impedances to ert.simulate()
  • maxSeparation argument for ert.createData
  • adaptions to matplotlib=3.8 and other package updates
  • add underlayBKGMap(mode='map') for DTK, update adresses
  • extended documentation & cleanup of functions and classes
  • improve website by modern themes and packages
  • core updates fixing boundary handling bugs
  • increase test coverage

v1.4.4

23 Oct 00:27
Compare
Choose a tag to compare
  • improve caching
  • improve appearance of examples and tutorials
  • enable using fatray Jacobians in TravelTime Manager
  • pass cMin/cMax/logScale to 3D views using pyVista
  • add DataContainer.swapXY to change dimensions
  • support SIP Quad import and to enable SIP data columns
  • enable saveResults to pass vectors to be saved in vtk
  • typo corrections

Bugfixes

  • badges on Website
  • VESRhoModelling with other than ab2/mn2 arguments
  • colorbar orientation for drawPLC
  • exportBoundaryVTU behaviour
  • ertGeometricFactors(h2=False, p2=True)

Full Changelog: v1.4.3...v1.4.4

v1.4.3

07 Jul 15:56
Compare
Choose a tag to compare

What's Changed

  • add ERTIPManager for simple (e.g. TDIP chargeability) modelling and inversion
  • add 3D gravity modelling operator GravityModelling
  • add 3D gravity modelling and inversion example based on Li&Oldenburg (1998)
  • optimize gravity/magnetics kernel computation
  • improve documentation by adding docstrings and docstring examples
  • add KroneckerMatrix for efficient modelling of multi-dimensional (spectral) problems
  • add skipCache argument to cacheable functions to skip cache evaluation
  • add some ERT utility functions for processing
  • Update documentation and scripts for manual compilation on Linux by @paoloose in #553

New Contributors

Full Changelog: v1.4.2...v1.4.3

v1.4.2

07 Jul 15:36
Compare
Choose a tag to compare
  • fix a lot of bugs also visible on Website examples
  • add DataContainer.show(...) as shortcut to pg.show(DataContainer, ...)
  • add DataContainerERT.estimateError(...) as shortcut to ert.show(DataContainerERT, ...)
  • add DataContainerERT.createGeometricFactors(...) as shortcut to ert.createGeometricFactors(DataContainerERT, ...)
  • add more quantities to unit library
  • website improvements
  • enhance documentation and style

Full Changelog: v1.4.1...v1.4.2

v1.4.1

24 May 11:00
Compare
Choose a tag to compare
  • add absoluteError and relativeError (float or error) invert kwargs
  • switch remaining modelling classes to pg.Modelling
  • allow all mesh-based regularization for gravity and magnetics fops
  • add Inversion.setConstraintWeights for individual weighting
  • skip small eigenvalues for geostatistical regularization thus saving memory
  • improve SIPSpectrum manager by better defaults and fixes
  • allow for negative parameter limits (and thus negative parameters)
  • enable show*(coverage=0.5/1) for global alpha-shading
  • add example for 2D gravity inversion
  • add RMS/chi-square explanations to enhance polyfit example
  • improve 3D magnetics example by depth weighting
  • add DataContainer.ensure2D to switch YZ coordinates if needed (#536)
  • default createMesh with no boundary (particularly for seismics)
  • createMesh now also sets mesh by default for easier workflows
  • add ComplexSpectrum DataContainer-derived class for SIP, FDEM etc.
  • improve MultiFrameModelling class
  • improved documentation of classes and functions
  • improved examples: chi2history, modelhistory, petrophysical joint inv

Full Changelog: v1.4.0...v1.4.1

v1.4.0

05 Apr 09:57
Compare
Choose a tag to compare

What's Changed

  • add support for Mac OS (Apple Silicon chips) again by @carsten-forty2, @andieie & @florian-wagner
  • update gimliuses.bib by @aurorec in #495 and other new papers
  • separat VES related stuff from physics.ERT as own module physics.VES
  • switch several tutorials (VES, Polyfit, DC+EM joint inversion) to modern (pg>1.2) framework styles
  • new example additional Constraints (example layer interface in VES)
  • three new ERT examples on 2D crosshole, 3D surface and 3D crosshole geometries
  • new function extract2dSlice for slicing 3D models into 2D meshes by using PyVista
  • widely avoid use of pg.core functions by sorting them into math, matrix etc.
  • simplify passing keyword arguments to inversion (e.g. C=, Ctype=)
  • extended docstrings and doctests, improvements of webpage
  • lots of bug fixes (e.g. loading duplicate sensors) and new tests to prevent bugs
  • fix error in FDEM modelling for small distances and large elevations

New Contributors

Full Changelog: v1.3.1...v1.4.0

v1.3.1

31 Mar 21:12
Compare
Choose a tag to compare

What's Changed

  • Add scooby-report as pg.Report() by @prisae in #445
  • update of CSS styles and sphinx themes for website
  • add 3D magnetics modelling and inversion with example
  • new tutorials on meshes, datacontainers, regularization, region control and prior data (from Transform 2022)
  • re-structure examples, e.g. induced polarization in own section
  • update of several examples to modern styles
  • add some 3D slicing functions by using pyVista
  • fix matplotlib>3.5 bugs by enabling Vector[np.newaxis
  • lots of bug fixes
  • improvement of documentation and test coverage

New Contributors

Full Changelog: v1.3.0...v1.3.1

v1.3.0

31 Aug 07:16
Compare
Choose a tag to compare

What's Changed

  • change release schedule (version numbering) so that core updates are MAJOR.MINOR.0 and pure Python updates are counting the patch number
  • add jupyter backend panel for 3D pyvista plots in Jupyter Notebook by @andieie in #364
  • add several logical matrices: TransposeMatrix, SquaredMatrix, SquaredTransposeMatrix additionally to horizontally, vertically or diagonally combined matrices
  • add Python-based inverse solvers such as LSQR, CGLS, RRLS
  • introduce LSQR-based inversion framework for including parameter constraints (Wagner et al. 2019)
  • cleanup frameworks to follow v1.2 API
  • improve traveltime manager for gradient models under topography and extracting raypaths
  • add more functionality for 3D mesh generation using pg.meshtool.createParaMeshPLC3D
  • add more synthetic sugar like pg.show(mesh, "property"),
  • add more examples, particularly involving 3D plots, improve and cleanup existing examples
  • improve docstrings and test coverage
  • fix lots of minor and some major bugs
  • improve code readability

Full Changelog: v1.2.6...v1.3.0