Question
Hello,
I am working on a timelapse ERT inversion, but I would like to use my own forward operator because I want to integrate additional time-varying TDR constraints (i.e., a kind of joint or coupled inversion over time). I already managed to to a joint inversion for a single timestep:
tS = transFwdArchieS(rFluid=17.2, phi=0.4, m=2.2, n=2.2)
#get ert forward operator
mgr = ert.Manager(timelapse_data[0])
mgr.setMesh(mesh3d)
#define combined forward operator
fop = pg.frameworks.PetroModelling(mgr.fop, tS)
The problem:
The TimelapseERT class in pyGIMLi uses its own forward operator (ERTModelling) internally, and I can't find a way to pass my own fop.
My idea would be to create a separate JointModelling (ERT + PriorModelling with TDR values) for each time step and then combine these with MultiFrameModelling, but I am unsure whether this works in pyGIMLi or whether there is already a recommended structure for this. However, in principle it should be sufficient to define the forward operator only once, since the underlying physics (ERT + TDR coupling) remain the same, while only the data and constraints change over time.
Specifically, I have two questions:
-
Is it possible to pass a custom forward operator (e.g. Joint or PetroModelling) to a timelapse inversion in pyGIMLi? (Ideally I would like to use fullInversion, as it gives much better results for my data than the standard timelapse inversion.)
-
If not, what is the recommended way to include time-variable constraints (e.g. TDR measurements that change between timesteps)?
Would it make sense to set up my own multi-frame inversion with MultiFrameModeling and JointModeling instead, to couple ERT and TDR over time?
I would be very grateful for any tips or code examples if anyone has already implemented something similar.
Many thanks in advance!
Question
Hello,
I am working on a timelapse ERT inversion, but I would like to use my own forward operator because I want to integrate additional time-varying TDR constraints (i.e., a kind of joint or coupled inversion over time). I already managed to to a joint inversion for a single timestep:
The problem:
The TimelapseERT class in pyGIMLi uses its own forward operator (ERTModelling) internally, and I can't find a way to pass my own fop.
My idea would be to create a separate JointModelling (ERT + PriorModelling with TDR values) for each time step and then combine these with MultiFrameModelling, but I am unsure whether this works in pyGIMLi or whether there is already a recommended structure for this. However, in principle it should be sufficient to define the forward operator only once, since the underlying physics (ERT + TDR coupling) remain the same, while only the data and constraints change over time.
Specifically, I have two questions:
Is it possible to pass a custom forward operator (e.g. Joint or PetroModelling) to a timelapse inversion in pyGIMLi? (Ideally I would like to use
fullInversion, as it gives much better results for my data than the standard timelapse inversion.)If not, what is the recommended way to include time-variable constraints (e.g. TDR measurements that change between timesteps)?
Would it make sense to set up my own multi-frame inversion with MultiFrameModeling and JointModeling instead, to couple ERT and TDR over time?
I would be very grateful for any tips or code examples if anyone has already implemented something similar.
Many thanks in advance!