Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question about Time-lapse ERT/SIP inversion #401

Closed
gongjunling opened this issue Jun 26, 2022 · 7 comments
Closed

Question about Time-lapse ERT/SIP inversion #401

gongjunling opened this issue Jun 26, 2022 · 7 comments
Assignees
Labels

Comments

@gongjunling
Copy link

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!
picture

Your environment

Operating system: Windows
Python version: 3.9
pyGIMLi version: 1.2.6
Way of installation: Conda package

@halbmy halbmy self-assigned this Jun 27, 2022
@halbmy
Copy link
Contributor

halbmy commented Jun 27, 2022

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.

  1. Independent inversion
  2. Reference model based inversion (either to first or preceding time step)
  3. Difference inversion (using both reference model and reference data)
  4. 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).

@gongjunling
Copy link
Author

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?

@halbmy
Copy link
Contributor

halbmy commented Jun 27, 2022

  1. 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.
  2. Yes, this is exactly what MultiFrameModelling does. So there is no need to repeat this.

@halbmy halbmy mentioned this issue Nov 28, 2022
@halbmy halbmy closed this as completed Dec 5, 2022
@zhichaoluan
Copy link

zhichaoluan commented Jul 9, 2023

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()

@halbmy
Copy link
Contributor

halbmy commented Jul 10, 2023

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.

@zhichaoluan
Copy link

请查看使用全延时法处理交叉孔 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:
image
Python version: 3.9
pyGIMLi version: 1.4.1

@halbmy
Copy link
Contributor

halbmy commented Jul 10, 2023

Yes, there was some error introduced. Can you please update to the recent version v1.4.3 and try again?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants