[Numpy-discussion] Interpolation question
Mon Mar 29 17:32:16 CDT 2010
On 29 March 2010 23:13, Brennan Williams wrote:
> Andrea Gavana wrote:
>> Hi Chris and All,
>> On 29 March 2010 22:35, Christopher Barker wrote:
>>> Andrea Gavana wrote:
>>>>>> Scaling each axis by its standard deviation is a typical first start.
>>>>>> Shifting and scaling the values such that they each go from 0 to 1 is
>>>>>> another useful thing to try.
>>>>> Ah, magnifico! Thank you Robert and Friedrich, it seems to be working
>>> One other thought -- core to much engineering is dimensional analysis --
>>> you know how we like those non-dimensional number!
>>> I think this situation is less critical, as you are interpolating, not
>>> optimizing or something, but many interpolation methods are built on the
>>> idea of some data points being closer than others to your point of interest.
>>> Who is to say if a point that is 2 hours away is closer or father than
>>> one 2 meters away? This is essentially what you are doing.
>>> Scaling everything to the same range is a start, but then you've still
>>> given them an implicit weighting.
>>> An alternative to to figure out a way to non-dimensionalize your
>>> parameters -- that *may* give you a more physically based scaling.
>>> And you might invent the "Gavana Number" in the process ;-)
>> Might be :-D . At the moment I am pretty content with what I have got,
>> it seems to be working fairly well although I didn't examine all the
>> possible cases and it is very likely that my little tool will break
>> disastrously for some combinations of parameters. However, I am not
>> sure I am allowed to post an image comparing the "real" simulation
>> with the prediction of the interpolated proxy model, but if you could
>> see it, you would surely agree that it is a very reasonable approach.
>> It seems to good to be true :-D .
>> Again, this is mainly due to the fact that we have a very extensive
>> set of simulations which cover a wide range of combinations of
>> parameters, so the interpolation itself is only doing its job
>> correctly. I don't think the technique can be applied blindly to
>> whatever oil/gas/condensate /whatever reservoir, as non-linearities in
>> fluid flow simulations appear where you least expect them, but it
>> seems to be working ok (up to now) for our field (which is, by the
>> way, one of the most complex and less understood condensate reservoir
>> out there).
> And of course that proxy simulator only deals with the input variables
> that you decided on 1,000+ simulations ago.
(1000 < x < 0 = now) . Correct: the next phase of the development for
the field has some strict rules we are not allowed to break. The
parameters we chose for optimizing this development phase (4 years ago
up to now) are the same as the ones I am using for the interpolation.
There is no more room for other options.
> All you need is for someone to suggest something else like "how about
> gas injection?"
This is already accounted for.
> and you're back to having to do
> more real simulation runs (which is where a good experimental design
> comes in).
Possibly, but as I said we can't even think of doing something like ED
now. It's too computationally expensive for such a field. This is why
I had the idea of using the existing set of simulations, which are a
good ED by themselves (even if we didn't plan for it in advance).
> It would be interesting to know how well your proxy simulator compares
> to the real simulator for a combination of input variable values that
> is a good distance outside your original parameter space.
This is extremely unlikely to happen ever. As I said, we explored a
wide range of number/type of possible producers and injectors, plus a
fairly extended range of production/injection profiles. As we are
dealing with reality here, there are physical limits on what
facilities you can install on your fields to try and ramp up
production as much as you can (i.e., upper bounds for number of
producers/injectors/plateaus), and political limits on how low you can
go and still be economical (i.e., lower bounds for number of
producers/injectors/plateaus). It seems to me we're covering
everything except the most extreme cases.
Anyway, I am not here to convince anyone on the validity of the
approach: I am a practical person, this thing works reasonably well
and I am more than happy. Other than that, we are already going waaaay
off topic for the Numpy list. Sorry about that.
If you (or anyone else) wishes to continue the discussion on Reservoir
Simulation, please feel free to contact me directly. For all other
interpolation suggestions, I am always open to new ideas. Thank you
again to the list for your help.
"Imagination Is The Only Weapon In The War Against Reality."
==> Never *EVER* use RemovalGroup for your house removal. You'll
regret it forever.
More information about the NumPy-Discussion