Releases: gimli-org/gimli
Releases · gimli-org/gimli
v1.5.3
- 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
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=
andorigin='center'
- add
mesh.submesh(relation='!=')
- add
pip --no-build-isolation
to stay uptodate (insteadconda 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)
andMatrixColumn(A, n)
functions - add
modelResolutionMatrix
andresolutionMatrix
- 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
andBoreholes
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'
) usingstr2Trans
- 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
- Update ertIPManager.py by @AlainPlattner in #726
- Fixing the iteration number again (I think) by @prisae in #734
- Remove system from pygimli-scooby-report by @prisae in #737
- Typos/structure plot_5_Regularization.py by @prisae in #739
Full Changelog: v1.5.1...v1.5.2
v1.5.1
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
- @AmirMardan made their first contribution in #716
Full Changelog: v1.5.0...v1.5.1
v1.5.0
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)
forMatrix
,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
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
- new classes
TimelapseERT
andCrossholeERT
- 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 selectioncombineMultipleData
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 3DcreateX
functions - enable passing contact impedances to
ert.simulate()
maxSeparation
argument forert.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
- 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 thanab2/mn2
arguments- colorbar orientation for
drawPLC
exportBoundaryVTU
behaviourertGeometricFactors(h2=False, p2=True)
Full Changelog: v1.4.3...v1.4.4
v1.4.3
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
- fix a lot of bugs also visible on Website examples
- add
DataContainer.show(...)
as shortcut topg.show(DataContainer, ...)
- add
DataContainerERT.estimateError(...)
as shortcut toert.show(DataContainerERT, ...)
- add
DataContainerERT.createGeometricFactors(...)
as shortcut toert.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
- add
absoluteError
andrelativeError
(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