[Numpy-discussion] Interpolation question
friedrichromstedt at gmail.com
Mon Mar 29 18:44:01 EDT 2010
2010/3/29 Andrea Gavana <andrea.gavana at gmail.com>:
> If anyone is interested in a follow up, I have tried a time-based
> interpolation of my oil profile (and gas and gas injection profiles)
> using those 40 interpolators (and even more, up to 400, one every
> month of fluid flow simulation time step).
> I wasn't expecting too much out of it, but when the interpolated
> profiles came out (for different combinations of input parameters) I
> felt like being on the wrong side of the Lala River in the valley of
> Areyoukidding. The results are striking. I get an impressive agreement
> between this interpolated proxy model and the real simulations,
> whether I use existing combinations of parameters or new ones (i.e., I
> create the interpolation and then run the real fluid flow simulation,
> comparing the outcomes).
I'm reasoning about the implications of this observation to our
understanding of your interpolation. As Christopher pointed out, it's
very important to know how many gas injections wells are to be
weighted the same as one year.
When you have nice results using 40 Rbfs for each time instant, this
procedure means that the values for one time instant will not be
influenced by adjacent-year data. I.e., you would probably get the
same result using a norm extraordinary blowing up the time coordinate.
To make it clear in code, when the time is your first coordinate, and
you have three other coordinates, the *norm* would be:
def norm(x1, x2):
return numpy.sqrt((((x1 - x2) * [1e3, 1, 1]) ** 2).sum())
In this case, the epsilon should be fixed, to avoid the influence of
the changing distances on the epsilon determination inside of Rbf,
which would spoil the whole thing.
I have an idea how to tune your model: Take, say, the half or three
thirds of your simulation data as interpolation database, and try to
reproduce the remaining part. I have some ideas how to tune using
this in practice.
> As an aside, I got my colleagues reservoir engineers playfully
> complaining that it's time for them to pack their stuff and go home as
> this interpolator is doing all the job for us; obviously, this misses
> the point that it took 4 years to build such a comprehensive bunch of
> simulations which now allows us to somewhat "predict" a possible
> production profile in advance.
> I wrapped everything up in a wxPython GUI with some Matplotlib graphs,
> and everyone seems happy.
Not only your collegues!
> The only small complain I have is that I
> wasn't able to come up with a vector implementation of RBFs, so it can
> be pretty slow to build and interpolate 400 RBFs for each property (3
> of them).
Haven't you spoken about 40 Rbfs for the time alone??
Something completely different: Are you going to do more simulations?
More information about the NumPy-Discussion