gimli
gimli copied to clipboard
Question about Time-lapse ERT/SIP inversion
Problem description
Hello,teacher!I learned from the software introduction that there is a time-lapse inversion module about ERT/SIP, but there is no such module in the specific function description document about pygimli.frameworks. I would like to ask whether there is a function module about time-lapse inversion, and do you have specific cases for reference.Thanks!
Your environment
Operating system: Windows Python version: 3.9 pyGIMLi version: 1.2.6 Way of installation: Conda package
Operating system: Windows Python version: 3.9
First, Windows versions of the pyGIMLi core library are restricted to Python 3.8.
Timelapse ERT is not a unique inversion method, but first only repeated measurements that can be analysed in different ways.
- Independent inversion
- Reference model based inversion (either to first or preceding time step)
- Difference inversion (using both reference model and reference data)
- Fully discretized (4D) inversion
The first three are easily done by very simple scripts. Note that pyGIMLi is rather a toolbox than a ready program.
For the last one, there is a framework MultiFrameModelling
(for which there is not yet an example available).
Thank you for your reply.I have two questions (1) Are you saying that simple ERT/SIP inversion cannot be done in python3.9? (2) As for the 4D inversion problem, my idea is to form a large inversion matrix by combining Jacobian matrices at different times.it has the shape of a block-Jacobi matrix with the individual Jacobian matrices on the diagonal.Can I do it in framework MultiFrameModelling?
- I am saying that you are not able to install a current version using Python 3.9 under Windows. When creating an environment, Python 3.8 will be chosen.
- Yes, this is exactly what
MultiFrameModelling
does. So there is no need to repeat this.
Hi, I'm new to this algorithm and I want to use pygimli's timelapse to process my time series data, but I don't know how to use it, can you help me?
import pygimli.meshtools as mt
from pygimli.physics import ert
import pygimli as pg
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from pygimli.frameworks.timelapse import MultiFrameModelling
cube = mt.createWorld(start=[0, -20], end=[63, 0], worldMarker=True, marker=1)
pg.show(cube)
filenames = ["8.29.dat", "8.30.dat", "8.31.dat", "9.1.dat"]
alldata = []
for i in range(len(filenames)):
data = pg.load(filenames[i])
data['k'] = ert.geometricFactors(data)
data['rhoa'] = data['k'] * data['u'] / data['i'] * 1000
data['err'] = ert.estimateError(data)
data.remove(data['rhoa'] < 0)
alldata.append(data)
shm = pg.DataContainerERT(alldata[0])
for s in shm.sensors():
cube.createNode(s)
cube.createNode(s - [0, 0.1])
mesh=mt.createMesh(cube,quality=34,smooth=True,area=1)
modelling = MultiFrameModelling(modellingOperator=modellingOperator)
modelling.setData(alldata)
modelling.setMeshPost(mesh)
startModel = modelling.createDefaultStartModel()
modelling.setStartModel(startModel)
modelling.prepareJacobian()
modelling.createConstraints()
Please have a look at the example notebook using the full timelapse approach for crosshole ERT data: https://github.com/gimli-org/notebooks/blob/main/ERT/timelapse/2dxh/fullTimelapse.ipynb
It is going to appear on the website soon.
请查看使用全延时法处理交叉孔 ERT 数据的示例笔记本:https://github.com/gimli-org/notebooks/blob/main/ERT/timelapse/2dxh/fullTimelapse.ipynb
它将很快出现在网站上。
Thank you for the information, I tried to run it but there is an error at fop.setData(DATA) with the following error, what is the reason for this:
Python version: 3.9
pyGIMLi version: 1.4.1
Yes, there was some error introduced. Can you please update to the recent version v1.4.3 and try again?