RMSECL_VOLUMETRICS
Warning
rmsecl_volumetrics
is available for interactive testing only. Its
name and command line arguments might change.
Tool for comparing volumetrics from Eclipse PRT files with volumetrics from RMS, when the mapping between FIPNUMs and region/zones is provided in a yaml file.
This script is currently in BETA. The name and calling syntax might change.
usage: rmsecl_volumetrics [-h] [--sets SETS] [--output OUTPUT]
PRTFILE volumetricsbase fipmapconfig
Positional Arguments
- PRTFILE
PRT file from Eclipse, alternatively a CSV file with the output from prtvol2csv
- volumetricsbase
Path to the filebase of RMS volumetrics output. “_oil_1.txt” and “_gas_1.txt” will be added this this filebase in order to locate files.
- fipmapconfig
Filename to a YAML file providing the map between region, zones and FIPNUMs
Named Arguments
- --sets
YAML file for where fipnum-region-zone set lists are written
- --output
Output CSV file with comparable volumetrics
Example
Say you have a geomodel with 2 regions and 2 zones, for which you have exported standard volumetrics. In the Eclipse model, you have set up a FIPNUM structure which ignores the zone, and only takes the region into account. When comparing the RMS volumetrics output, the volumes for both zones in each region must be summed in order to be able to compare with the simulation model volumetrics, typically extracted from the PRT file.
Assuming the PRT file and the volumetrics as exported from RMS are in their standard locations on disk, you will only need to tell this script the mapping between regions, zones and FIPNUMs. This mapping is quite general, and can be supplied in multiple ways (either from FIPNUMs to regions/zones, or from regions/zones to FIPNUMs).
If the region named “West” is modelled as FIPNUM 1, covering both the zones named “Upper” and “Lower”, the mapping could be specified as such:
region2fipnum:
West: [1]
East: [2]
zone2fipnum:
Upper: [1, 2]
Lower: [1, 2]
An identical way of supplying this map would be to write up the inverse:
fipnum2region:
1: West
2: East
fipnum2zone:
1:
- Upper
- Lower
2:
- Upper
- Lower
A third way of specifying this is to use the syntax also used by the
webviz-subsurface
plugin “ReservoirSimulationTimeSeriesRegional”, where the
same map as above would be specified as:
FIPNUM:
groups:
REGION:
West: [1]
East: [2]
ZONE:
Upper: [1, 2]
Lower: [1, 2]
The command line syntax would then typically look like:
$ rmsecl_volumetrics eclipse/model/MYMODEL.PRT share/results/volumes/geogrid fipmap.yml --sets sets.yml --output volcomp.csv
The code calculates two tables, both of which are printed to your terminal window, and these tables can be separately exported to two different CSV files if wanted.
Volumes are compared over “sets” of collections of FIPNUMs, regions and zones. The smallest comparable units are computed based on the provided mapping. The first table tells which “sets” have been identified (and which regions/zones and FIPNUMs are contained in each set), and the second table contains summed volumes and differences in volumes for the identified sets.
The example above is simple in that each FIPNUM is a set, but complex arrangements
are possible. The sets are listed in the outputted file sets.yml
:
0:
FIPNUM:
- 2
REGION:
- East
ZONE:
- Lower
- Upper
1:
FIPNUM:
- 1
REGION:
- West
ZONE:
- Lower
- Upper
Do not rely on the exact enumeration of sets, whichever FIPNUM-region-zone
combination comes first is arbitrary. The compared volumes are in
volcomp.csv
, from which an excerpt looks like:
SET |
RMS_STOIIP_OIL |
ECL_STOIIP_OIL |
DIFF_STOIIP_OIL |
---|---|---|---|
0 |
200.8 |
200.0 |
-0.8 |
1 |
100.8 |
100.0 |
-0.8 |
which means that in both set 0 and 1, 0.8 m3 of STOIIP was lost from the geomodel to the dynamical model.