Andrea Gavana wrote:
> Hi All,
>
> On 28 March 2010 22:14, Pierre GM wrote:
>   
>> On Mar 28, 2010, at 4:47 PM, Andrea Gavana wrote:
>>     
>>> HI All,
>>>
>>> On 28 March 2010 19:22, Robert Kern wrote:
>>>       
>>>> On Sun, Mar 28, 2010 at 03:26, Anne Archibald <[email protected]> 
>>>> wrote:
>>>>         
>>>>> On 27 March 2010 20:24, Andrea Gavana <[email protected]> wrote:
>>>>>           
>>>>>> Hi All,
>>>>>>
>>>>>>    I have an interpolation problem and I am having some difficulties
>>>>>> in tackling it. I hope I can explain myself clearly enough.
>>>>>>
>>>>>> Basically, I have a whole bunch of 3D fluid flow simulations (close to
>>>>>> 1000), and they are a result of different combinations of parameters.
>>>>>>             
>>> It seems like this whole interpolation stuff is not working as I
>>> thought. In particular, considering scalar-valued interpolation (i.e.,
>>> looking at the final oil recovery only and not the time-based oil
>>> production profile), interpolation with RBFs is giving
>>> counter-intuitive and meaningless answers. The issues I am seeing are
>>> basically these:
>>>       
>> Which is hardly surprising: you're working with a physical process, you must 
>> have some constraints on your parameters (whether dependence between 
>> parameters, bounds on the estimates...) that are not taken into account by 
>> the interpolation scheme you're using. So, it's back to the drawing board.
>>     
>
> Sorry, this laptop has gone mad and sent the message before I was finished...
>
> The curious thing is, when using the rbf interpolated function to find
> a new approximation, I am not giving RBFs input values that are
> outside the bounds of the existing parameters. Either they are exactly
> the same as the input ones (for a single simulation), or they are
> slightly different but always inside the bounds. I always thought
> that, at least for the same input values, it should give
> (approximatively) the same answer as the real one.
>
>   
>> What are you actually trying to achieve ? Find the best estimates of your 10 
>> parameters to match an observed production timeline ? Find a space for your 
>> 10 parameters that gives some realistic production ?
>>     
>
> I have this bunch of simulations for possible future oil productions
> (forecasts), run over the past 4 years, which have different
> combination of number of oil producing wells, gas injection wells, oil
> plateau values, gas injection plateau values and gas production
> plateau values (6 parameters in total, not 10). Now, the combinations
> themselves are pretty nicely spread, meaning that I seem to have a
> solid base to build an interpolator that will give me a reasonable
> answer when I ask it for parameters inside the bounds (i.e., no
> extrapolation involved).
>
>   
>> Assuming that your 10 parameters are actually independent, did you run 
>> 1000**10 simulations to test all the possible combinations?
>>     
>
> I hope you're kidding :-D . Each of these simulations take from 7 to
> 12 hours, not counting the huge amount of time needed to build their
> data files by hand...
>
> Let's see a couple of practical examples (I can share the data if
> someone is interested).
>
>   
Definitely interested in helping solve this one so feel free to email 
the data (obviously not 1,000 Eclipse smspec and unsmry files although I 
can handle that without any problems).
> Example 1
>
> # o2 and o3 are the number of production wells, split into 2
> # different categories
> # inj is the number of injection wells
> # fomts is the final oil recovery
>
> rbf = Rbf(oilPlateau, gasPlateau, gasInjPlateau, o2, o3, inj, fomts)
>
> op = [50380]
> gp = [103014000]
> gi = [53151000]
> o2w = [45]
> o3w = [20]
> inw = [15]
>
>   
I take it all your inputs are float arrays? i.e. you just consider 
number of production wells as a floating point value.
I suppose strictly speaking o2 and o3 are not independent of eachother 
but I would guess that for the purposes of using Rbf it wouldn't be an 
issue.

I'm just having a look at the cookbook example 
(http://www.scipy.org/Cookbook/RadialBasisFunctions) and adding a couple 
more variables, bumping up the number of points to 1000 and setting the 
z values to be up around 1.0e+09 - so far it still seems to work 
although if you increase the sample points to 2000+ it falls over with a 
memory error.

I've got a smaller bunch of Eclipse simulations I could try Rbf out on - 
19 runs with 9 variables (it's a Tornado algorithm with -1,0,+1 values 
for each variable). FOPT's will be in a similar range ot yours.

Brennan
> fi = rbf(op, gp, gi, o2w, o3w, inw)
>
> # I => KNOW <= the answer to be close to +3.5e8
>
> print fi
>
> [ -1.00663296e+08]
>
> (yeah right...)
>
>
> Example 2
>
> Changing o2w from 45 to 25 (again, the answer should be close to 3e8,
> less wells => less production)
>
> fi = rbf(op, gp, gi, o2w, o3w, inw)
>
> print fi
>
> [  1.30023424e+08]
>
> And keep in mind, that nowhere I have such low values of oil recovery
> in my data... the lowest one are close to 2.8e8...
>
> Andrea.
> _______________________________________________
> NumPy-Discussion mailing list
> [email protected]
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>   


_______________________________________________
NumPy-Discussion mailing list
[email protected]
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to