Skip to content

Releases: gimli-org/gimli

v1.5.3

15 Nov 14:31
Compare
Choose a tag to compare
  • re-enable CI workflow
  • fix possible import error (libcholmod.so) by fixing suitesparse version
  • support for numpy v2.x
  • new inversion classes InversionBase, InversionGaussNewton etc. (not yet default)
  • add recursive BFGS and L-BFGS matrices
  • enable fop.STy to avoid Jacobian for gradient-based inversions
  • add lamFactor and minLambda properties for decreasing lambda values
  • fix and simplify some examples
  • improved string representations of Trans classes
  • ERTIPManager.invIP class available
  • new reciprocal data analysis example
  • add complex-valued ERT/IP inversion
  • allow Mesh.show("property") with possible factor=
  • add general column-based import for traveltime data
  • add 2024 references to bib database
  • update Borehole(s) classes
  • add showERTData(equidistant=True/False)
  • improve data representation for CrossholeERT
  • improved docstrings of several functions
  • TimelapseERT.automask for outlier detection
  • TimelapseERT.TimelinePDF
  • fix some bugs and updates to modern scipy functions

v1.5.2

12 Aug 20:34
Compare
Choose a tag to compare

What's Changed

  • improve import times by cleaning imports
  • improve axis labels
  • enable contour lines for cell-based plots
  • improve extract2dSlices by x=/y=/z= and origin='center'
  • add mesh.submesh(relation='!=')
  • add pip --no-build-isolation to stay uptodate (instead conda develop)
  • add Inversion.residual() for data-weighted transformed residual
  • add Inversion.jacobianMatrix() for transformed & weighted Jacobian
  • add Inversion.dataGradient/modelGradient/gradient() functions
  • allow setting inversion response from outside
  • add general MatrixRow(A, n) and MatrixColumn(A, n) functions
  • add modelResolutionMatrix and resolutionMatrix
  • add modelCovarianceMatrix replacing the (core-inv) modCovar
  • add TDEMSmoothModelling for Occam TEM inversion
  • add ERTManager.invertDC()
  • add DEM class with fallback DEM instance
  • add matrix type ScaledMatrix
  • update Borehole and Boreholes class
  • tune default thread count to max 16
  • add three different linesearch procedures opening the way to pure Python inversion
  • add example of model covariance matrix for VES inversion
  • add example for TDEM inversion including resolution matrix
  • enable setting transformations through strings (e.g. inv.dataTrans = 'log') using str2Trans
  • revive pg.RVector alias
  • add system to Report
  • fix a lot of bugs, e.g. to be compatible with matplotlib>=3.9
  • improve documentation including building instructions

Pull requests

Full Changelog: v1.5.1...v1.5.2

v1.5.1

15 May 17:32
Compare
Choose a tag to compare

What's Changed

  • Update README.md by @andieie in #667
  • fix #715, we can obtain the shape of a Cm05Matrix by @AmirMardan in #716
  • add Mesh.submesh(keyword=value, relation) to extract submeshes (e.g. good=vtk.submesh(coverageLog10=-5.5, relation=">")
  • improve website, e.g. on Mac installation, JupyterLab e.g.
  • remove scipy version dependency
  • add example on reciprocal analysis of ERT data
  • simplify some examples
  • increase compatibility for numpy>1.23 concerning np.int etc.
  • add inv.setInterfaceConstraint(marker, strength) (forwarding to region manager)
  • add inv.setInterRegionConstraint(region1, region2, strength) (forwarded)
  • add trapezoidal shape factor trapRatio for trapezoidal model domains
  • fix extract2dUpperSurfaceMesh, extract2dSlice

New Contributors

Full Changelog: v1.5.0...v1.5.1

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