OPM / opm-simulators

Simulator programs and utilities for automatic differentiation.
http://www.opm-project.org
GNU General Public License v3.0
112 stars 122 forks source link

FINIT and FUNSPEC files for all cells in the model- "uncompressed natural order" #1791

Open mauriciolmatos opened 5 years ago

mauriciolmatos commented 5 years ago

Good morning everyone.

I'm working with the FINIT and FUNRST files and would like their arrays to all cells in the model (NX*NY*NZ), called "uncompressed natural order" by ECLIPSE. Currently, the files are presented only to the active cells of the model (NACTIV), called "compressed natural order" by ECLIPSE.

I would like to know if there is a way to generate the FINIT AND FUNRST files in the "uncompressed natural order" mode.

Thanks.

joakim-hove commented 5 years ago

From flow you can only get compressed natural order - is it possible to request both forms from Eclipse?

Given the compressed firm it is quite simple to create a full version with some programming/scripting - what is your use case?

mauriciolmatos commented 5 years ago

The ECLIPSE reference manual says there is a way to generate these files in "uncompressed natural order" using the keyword PETOPTS-NOCOMPIN. But I did not try. I do not have ECLIPSE300. I'm working with data from Norne field. It has a total of 113344 cells with only 44441 active. I would like the results of the .FINIT(PORO, NTG, SATNUM) and .FUNRST(PRESSURE, SWAT, SGAS, Rs...) arrays for all cells.

OPMUSER commented 5 years ago

No there is no way to do this in OPM Flow and the commercial simulator; however, there is a work around.

You can load the model into OPM ResInsight, then select the property to display, then right click the Cell Result (under Project Tree), and then export the property. This will give you the data you want and looks like this:

-- Exported from ResInsight
PRESSURE
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
         268.897          268.39         268.268         268.204         268.145               
         268.094         268.078         268.064         268.026         267.985               
          267.95         267.915         267.879         267.839         267.771               
         267.692         267.634         267.588         267.549         267.531               
          267.51         267.449          267.33         267.207               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0         269.196         268.449         268.325         268.252               
         268.192         268.132         268.116         268.122         268.081               
         268.015         267.976         267.946         267.921         267.897               
         267.826         267.724         267.653         267.601         267.562               
         267.552         267.524         267.446         267.324         267.201               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0               
               0               0               0               0               0         

This works for all arrays.

Unfortunately, this could be time consuming if you need to do this for many arrays and for several runs. However, OPM ResInsight has an interface to OCTAVE (an open source version of MATHLAB) so you can code this functionality in an OCTAVE script in OPM ResInsight. If you are going to manipulate the array data then you can do all this in OCTAVE script in OPM ResInsight and then display any new arrays you may have created.

joakim-hove commented 5 years ago

I would like the results of the .FINIT(PORO, NTG, SATNUM) and .FUNRST(PRESSURE, SWAT, SGAS, Rs...) arrays for all cells.

yes - I understand that; my question was more why you wanted that - and exactly what you wanted to achieve. I do not know how you are working practically - but you should script/program this in some way. As mentioned in the comment above you can use Resinsight and the Octave plugins, personally I would use the Python wrappers from libecl. If you head over to: https://github.com/equinor/libecl and describe what you want to achieve - I or someone else can probably give you a small Python script to get you going on what it is you want.

When it comes to output with corner values for the grid - my answer is again the same, use a Python script - load the EclGrid instance - then you can ask for corner coordinates.OPM does not output the .GRID file (only .EGRID).

If you use Python wrappers as suggested - or the Resinsight + Octave approach you can just use the binary files .EGRID / .INIT and forget about the ASCII formatted versions.

mauriciolmatos commented 5 years ago

Thanks for the suggestion OPMUSER. This is a good suggestion for a simple simulation. Unfortunately for many time steps it will take a lot of time. I'll learn about Octave-ResInsight.

@joakim-hove thanks for the support. We want to use the OPM simulation outputs as inputs in petrophysical simulations. Therefore, we need the properties in all cells. If you can give us a script that can help us, we will be very grateful. Anyway, I'll be working on a script to help us.

About the format of the output files (formatted or binary), I noticed that the .FEGRID file is in binary when it should be "formatted" (.FINIT and .FUNRST are "formatted"). Will there be a new version of OPM this month? Can you tell me if this bug will be corrected?

Thank you very much.

OPMUSER commented 5 years ago

Maurício,

You can use the the command line function of ResInsight to export property data instead of using an Octave script - see the attached script file for an example. This will produce one file per property per time step and the output looks like this.

-- Exported from ResInsight SOIL


       0.895     2.23517e-08     2.23517e-08     2.23517e-08     2.23517e-08              
 2.23517e-08     2.23517e-08    -1.49012e-08    -1.49012e-08    -1.49012e-08              
-1.49012e-08    -1.49012e-08    -1.49012e-08    -1.49012e-08     2.98023e-08              
 2.98023e-08     2.98023e-08     2.98023e-08     2.98023e-08     2.98023e-08              
 2.98023e-08     2.98023e-08     2.98023e-08     2.98023e-08               0              
           0               0               0               0               0              
           0               0               0               0               0              
           0               0               0               0               0              
           0               0               0               0               0              
           0           0.895     2.23517e-08     2.23517e-08     2.23517e-08              
 2.23517e-08     2.23517e-08     2.23517e-08    -1.49012e-08    -1.49012e-08              
-1.49012e-08    -1.49012e-08    -1.49012e-08    -1.49012e-08     2.98023e-08              
 2.98023e-08     2.98023e-08     2.98023e-08     2.98023e-08     2.98023e-08              
 2.98023e-08     2.98023e-08     2.98023e-08     2.98023e-08     2.98023e-08    

So this will give you what you want.

If you wish to manipulate the property data you can do this using an Octave script to create new arrays etc. Once you have the script working you can call the Octave script using the runOctaveScript command line command in your batch script. So you can virtually automate this process through the command line script.

Yes the developer's are aware of the *.FEGRID bug and it is fixed in 2019-04-RC1. The plan is to release a new version this month.

DOS-ResInsight-Export-SOIL.zip

OPM User

joakim-hove commented 5 years ago

Therefore, we need the properties in all cells. If you can give us a script that can help us, we will be very grateful

Hmmm - I must admit I am bit skeptical; if you really need the numerical value for all cells you are out of luck - the solution data is only calculated for the active cells - there is no such thing as the value of the pressure in an inactive cell. The solutions proposed in this thread - i.e. Resinsight w/o Octave and also the libecl/Python solution are based on "filling up" the vector with a default value for inactive cells.

OPMUSER commented 5 years ago

@joakim-hove he just wants to manipulate the arrays and needs the arrays to be the same size (DIMENS). None active cells will have zero PORV so one can just skip those cells. It is the dimension of the arrays that was his issue.

mauriciolmatos commented 5 years ago

Thanks for all the suggestions. For now, I have chosen to insert ("filling up") default values of the inactive cells into the arrays of the active cells. Waiting for the 2019.4 release. Thank you.