Add 'python/' from commit '278373703455ea6562a0f8e5278b4db46eb1fc7e'
git-subtree-dir: python git-subtree-mainline:e8dbf7d8ee
git-subtree-split:2783737034
This commit is contained in:
commit
77795b5005
89
python/.gitignore
vendored
Normal file
89
python/.gitignore
vendored
Normal file
@ -0,0 +1,89 @@
|
||||
# Byte-compiled / optimized / DLL files
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*$py.class
|
||||
|
||||
# C extensions
|
||||
*.so
|
||||
|
||||
# Distribution / packaging
|
||||
.Python
|
||||
env/
|
||||
build/
|
||||
develop-eggs/
|
||||
dist/
|
||||
downloads/
|
||||
eggs/
|
||||
.eggs/
|
||||
lib/
|
||||
lib64/
|
||||
parts/
|
||||
sdist/
|
||||
var/
|
||||
*.egg-info/
|
||||
.installed.cfg
|
||||
*.egg
|
||||
|
||||
# PyInstaller
|
||||
# Usually these files are written by a python script from a template
|
||||
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
||||
*.manifest
|
||||
*.spec
|
||||
|
||||
# Installer logs
|
||||
pip-log.txt
|
||||
pip-delete-this-directory.txt
|
||||
|
||||
# Unit test / coverage reports
|
||||
htmlcov/
|
||||
.tox/
|
||||
.coverage
|
||||
.coverage.*
|
||||
.cache
|
||||
nosetests.xml
|
||||
coverage.xml
|
||||
*,cover
|
||||
.hypothesis/
|
||||
|
||||
# Translations
|
||||
*.mo
|
||||
*.pot
|
||||
|
||||
# Django stuff:
|
||||
*.log
|
||||
local_settings.py
|
||||
|
||||
# Flask stuff:
|
||||
instance/
|
||||
.webassets-cache
|
||||
|
||||
# Scrapy stuff:
|
||||
.scrapy
|
||||
|
||||
# Sphinx documentation
|
||||
docs/_build/
|
||||
|
||||
# PyBuilder
|
||||
target/
|
||||
|
||||
# IPython Notebook
|
||||
.ipynb_checkpoints
|
||||
|
||||
# pyenv
|
||||
.python-version
|
||||
|
||||
# celery beat schedule file
|
||||
celerybeat-schedule
|
||||
|
||||
# dotenv
|
||||
.env
|
||||
|
||||
# virtualenv
|
||||
venv/
|
||||
ENV/
|
||||
|
||||
# Spyder project settings
|
||||
.spyderproject
|
||||
|
||||
# Rope project settings
|
||||
.ropeproject
|
8
python/.gitmodules
vendored
Normal file
8
python/.gitmodules
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
[submodule "pycmake"]
|
||||
path = pycmake
|
||||
url = git://github.com/Statoil/pycmake.git
|
||||
branch = 21f1eb9
|
||||
[submodule "pybind11"]
|
||||
path = pybind11
|
||||
url = git://github.com/pybind/pybind11.git
|
||||
branch = add56ccdcac23a6c522a2c1174a866e293c61dab
|
67
python/.travis.yml
Normal file
67
python/.travis.yml
Normal file
@ -0,0 +1,67 @@
|
||||
language: python
|
||||
dist: trusty
|
||||
|
||||
compiler:
|
||||
- gcc
|
||||
|
||||
os:
|
||||
- linux
|
||||
|
||||
env:
|
||||
global:
|
||||
- INSTALL_ROOT=$HOME/install
|
||||
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- boost-latest
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gcc-4.9
|
||||
- g++-4.9
|
||||
- libboost1.55-all-dev
|
||||
- liblapack-dev
|
||||
|
||||
sudo: required
|
||||
|
||||
python:
|
||||
- 2.7
|
||||
- 3.6
|
||||
|
||||
matrix:
|
||||
fast_finish: true
|
||||
|
||||
before_install:
|
||||
- export CXX="g++-4.9" CC="gcc-4.9"
|
||||
|
||||
install:
|
||||
- pushd ..
|
||||
- git clone https://github.com/Statoil/libecl.git
|
||||
- git clone https://github.com/OPM/opm-common.git
|
||||
- mkdir libecl/build
|
||||
- pushd libecl/build
|
||||
- cmake -DENABLE_PYTHON=OFF -DBUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=$INSTALL_ROOT ..
|
||||
- make install
|
||||
- popd
|
||||
- mkdir opm-common/build
|
||||
- pushd opm-common/build
|
||||
- cmake .. -DCMAKE_PREFIX_PATH=$INSTALL_ROOT
|
||||
-DCMAKE_INSTALL_PREFIX=$INSTALL_ROOT
|
||||
-DBUILD_TESTING=OFF
|
||||
-DBUILD_SHARED_LIBS=ON
|
||||
- make install
|
||||
- popd
|
||||
- popd
|
||||
- pip install -r requirements.txt
|
||||
|
||||
|
||||
script:
|
||||
- mkdir build
|
||||
- pushd build
|
||||
- cmake .. -DCMAKE_PREFIX_PATH=$INSTALL_ROOT
|
||||
-DUSE_RPATH=ON
|
||||
-DCMAKE_INSTALL_PREFIX=$INSTALL_ROOT
|
||||
-DPYTHON_EXECUTABLE=`which python`
|
||||
- make install
|
||||
- ctest --output-on-failure
|
||||
- popd
|
30
python/CMakeLists.txt
Normal file
30
python/CMakeLists.txt
Normal file
@ -0,0 +1,30 @@
|
||||
cmake_minimum_required( VERSION 2.8 )
|
||||
project( SUNBEAM )
|
||||
enable_language( CXX )
|
||||
include( CheckCXXSourceCompiles )
|
||||
include( CTest )
|
||||
|
||||
find_package(opm-common REQUIRED)
|
||||
find_package(PythonInterp REQUIRED)
|
||||
|
||||
set( warnings "-Wall -Wextra -pedantic -Wpointer-arith" )
|
||||
set( warnings "${warnings} -Wformat-nonliteral -Wcast-align" )
|
||||
set( warnings "${warnings} -Wmissing-declarations -Wcast-qual" )
|
||||
set( warnings "${warnings} -Wwrite-strings -Wchar-subscripts " )
|
||||
set( warnings "${warnings} -Wredundant-decls" )
|
||||
set( CMAKE_CXX_FLAGS "-std=c++11 ${warnings} ${CMAKE_CXX_FLAGS}" )
|
||||
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/pycmake/cmake/Modules)
|
||||
|
||||
option( USE_RPATH "Embed RPATH in libraries and binaries" OFF)
|
||||
if (USE_RPATH)
|
||||
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
|
||||
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||
endif ()
|
||||
|
||||
add_subdirectory( pybind11 )
|
||||
add_subdirectory( python )
|
||||
add_subdirectory( sunbeam )
|
||||
add_subdirectory( tests )
|
||||
|
674
python/LICENSE
Normal file
674
python/LICENSE
Normal file
@ -0,0 +1,674 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
the GNU General Public License is intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users. We, the Free Software Foundation, use the
|
||||
GNU General Public License for most of our software; it applies also to
|
||||
any other work released this way by its authors. You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to prevent others from denying you
|
||||
these rights or asking you to surrender the rights. Therefore, you have
|
||||
certain responsibilities if you distribute copies of the software, or if
|
||||
you modify it: responsibilities to respect the freedom of others.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must pass on to the recipients the same
|
||||
freedoms that you received. You must make sure that they, too, receive
|
||||
or can get the source code. And you must show them these terms so they
|
||||
know their rights.
|
||||
|
||||
Developers that use the GNU GPL protect your rights with two steps:
|
||||
(1) assert copyright on the software, and (2) offer you this License
|
||||
giving you legal permission to copy, distribute and/or modify it.
|
||||
|
||||
For the developers' and authors' protection, the GPL clearly explains
|
||||
that there is no warranty for this free software. For both users' and
|
||||
authors' sake, the GPL requires that modified versions be marked as
|
||||
changed, so that their problems will not be attributed erroneously to
|
||||
authors of previous versions.
|
||||
|
||||
Some devices are designed to deny users access to install or run
|
||||
modified versions of the software inside them, although the manufacturer
|
||||
can do so. This is fundamentally incompatible with the aim of
|
||||
protecting users' freedom to change the software. The systematic
|
||||
pattern of such abuse occurs in the area of products for individuals to
|
||||
use, which is precisely where it is most unacceptable. Therefore, we
|
||||
have designed this version of the GPL to prohibit the practice for those
|
||||
products. If such problems arise substantially in other domains, we
|
||||
stand ready to extend this provision to those domains in future versions
|
||||
of the GPL, as needed to protect the freedom of users.
|
||||
|
||||
Finally, every program is threatened constantly by software patents.
|
||||
States should not allow patents to restrict development and use of
|
||||
software on general-purpose computers, but in those that do, we wish to
|
||||
avoid the special danger that patents applied to a free program could
|
||||
make it effectively proprietary. To prevent this, the GPL assures that
|
||||
patents cannot be used to render the program non-free.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
TERMS AND CONDITIONS
|
||||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
1. Source Code.
|
||||
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
|
||||
2. Basic Permissions.
|
||||
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
|
||||
4. Conveying Verbatim Copies.
|
||||
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
5. Conveying Modified Source Versions.
|
||||
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
6. Conveying Non-Source Forms.
|
||||
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
|
||||
8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
11. Patents.
|
||||
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
12. No Surrender of Others' Freedom.
|
||||
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Use with the GNU Affero General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU Affero General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the special requirements of the GNU Affero General Public License,
|
||||
section 13, concerning interaction through a network will apply to the
|
||||
combination as such.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
15. Disclaimer of Warranty.
|
||||
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
{one line to give the program's name and a brief idea of what it does.}
|
||||
Copyright (C) {year} {name of author}
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
|
||||
{project} Copyright (C) {year} {fullname}
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, your program's commands
|
||||
might be different; for a GUI interface, you would use an "about box".
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
51
python/README.md
Normal file
51
python/README.md
Normal file
@ -0,0 +1,51 @@
|
||||
# sunbeam [](https://travis-ci.org/equinor/sunbeam)
|
||||
|
||||
|
||||
# Prerequisites:
|
||||
|
||||
Clone and build `ecl` from [Statoil/libecl](https://github.com/Statoil/libecl)
|
||||
and `opm-commonr` from [OPM/opm-common](https://github.com/OPM/opm-common).
|
||||
|
||||
```
|
||||
git clone https://github.com/Statoil/libecl
|
||||
git clone https://github.com/OPM/opm-parser
|
||||
mkdir libecl/build
|
||||
mkdir opm-common/build
|
||||
pushd libecl/build
|
||||
cmake ..
|
||||
make install
|
||||
popd
|
||||
pushd opm-common/build
|
||||
cmake ..
|
||||
make install
|
||||
```
|
||||
|
||||
# Quick start (WIP)
|
||||
Assumes you have built (and maybe installed) opm-common
|
||||
|
||||
```bash
|
||||
git clone --recursive https://github.com/Statoil/sunbeam
|
||||
mkdir sunbeam/build
|
||||
pushd sunbeam/build
|
||||
cmake ..
|
||||
make
|
||||
ctest # for running unit tests
|
||||
```
|
||||
|
||||
# Obtaining test data
|
||||
|
||||
```bash
|
||||
cd ~
|
||||
git clone https://github.com/OPM/opm-data
|
||||
cd opm-data/norne
|
||||
```
|
||||
|
||||
With `opm-data` available, one can test sunbeam on Norne:
|
||||
|
||||
```python
|
||||
import sunbeam
|
||||
es = sunbeam.parse('NORNE_ATW2013.DATA', ('PARSE_RANDOM_SLASH', sunbeam.action.ignore))
|
||||
len(es.faults())
|
||||
```
|
||||
|
||||
Remember to have `~/sunbeam/build/python` in your `$PYTHONPATH`.
|
9568
python/examples/data/norne/INCLUDE/BC0407_HIST01122006.SCH
Normal file
9568
python/examples/data/norne/INCLUDE/BC0407_HIST01122006.SCH
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,69 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
MULTFLT
|
||||
'E_01' 0.01 /
|
||||
'E_01_F3' 0.01 /
|
||||
'DE_1' 3.9 /
|
||||
'DE_1_LTo' 0.01 /
|
||||
'DE_B3' 0.00075 /
|
||||
'DE_2' 0.015 /
|
||||
'DE_0' 20 /
|
||||
'BC' 0.1 /
|
||||
'CD' 0.1 /
|
||||
'CD_To' 0.01 /
|
||||
'CD_B3' 0.1 /
|
||||
'CD_0' 1 /
|
||||
'CD_1' 0.1 /
|
||||
'C_01' 0.01 /
|
||||
'C_01_Ti' 0.01 /
|
||||
'C_08' 0.01 /
|
||||
'C_08_Ile' 0.1 /
|
||||
'C_08_S' 0.01 /
|
||||
'C_08_Ti' 1 /
|
||||
'C_08_S_Ti' 1 /
|
||||
'C_09' 0.1 /
|
||||
'C_02' 0.01 /
|
||||
'C_04' 0.05 /
|
||||
'C_05' 0.1 /
|
||||
'C_06' 0.1 /
|
||||
'C_10' 0.01 /
|
||||
'C_12' 0.1 /
|
||||
'C_20' 0.5 /
|
||||
'C_20_LTo' 0.5 /
|
||||
'C_21' 0.001 /
|
||||
'C_21_Ti' 0.001 /
|
||||
'C_22' 0.001 /
|
||||
'C_23' 0.1 /
|
||||
'C_24' 0.1 /
|
||||
'C_25' 0.1 /
|
||||
'C_26' 0.1 /
|
||||
'C_26N' 0.001 /
|
||||
'C_27' 0.05 /
|
||||
'C_28' 1.0 /
|
||||
'C_29' 0.1 /
|
||||
'DI' 0.1 /
|
||||
'DI_S' 0.1 /
|
||||
'D_05' 0.01 /
|
||||
'EF' 1.0 /
|
||||
'GH' 1.0 /
|
||||
'G_01' 0.05 / matand 0.05
|
||||
'G_02' 0.05 /
|
||||
'G_03' 1 / matand 0.05
|
||||
'G_05' 0.5 /
|
||||
'G_07' 0.05 / matand 0.05
|
||||
'G_08' 0.05 /
|
||||
'G_09' 0.05 /
|
||||
'G_13' 0.05 /
|
||||
'H_03' 1.0 /
|
||||
'IH' 1.0 /
|
||||
'm_east' 1.0 /
|
||||
'm_east_2' 1.0 /
|
||||
'm_north' 1.0 /
|
||||
'm_northe' 1.0 /
|
||||
'm_west' 1.0 /
|
||||
/
|
1062
python/examples/data/norne/INCLUDE/FAULT/FAULT_JUN_05.INC
Normal file
1062
python/examples/data/norne/INCLUDE/FAULT/FAULT_JUN_05.INC
Normal file
File diff suppressed because it is too large
Load Diff
2474
python/examples/data/norne/INCLUDE/GRID/ACTNUM_0704.prop
Normal file
2474
python/examples/data/norne/INCLUDE/GRID/ACTNUM_0704.prop
Normal file
File diff suppressed because it is too large
Load Diff
172933
python/examples/data/norne/INCLUDE/GRID/IRAP_1005.GRDECL
Normal file
172933
python/examples/data/norne/INCLUDE/GRID/IRAP_1005.GRDECL
Normal file
File diff suppressed because it is too large
Load Diff
42
python/examples/data/norne/INCLUDE/PETRO/E3.prop
Normal file
42
python/examples/data/norne/INCLUDE/PETRO/E3.prop
Normal file
@ -0,0 +1,42 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
-- Oil grad. 0.0706 bar/m
|
||||
-- Gas grad. 0.0186 bar/m
|
||||
-- Water grad. 0.1001 bar/m
|
||||
|
||||
|
||||
--Inneholder new revised contacts as of January 12, 2001
|
||||
--NB! GOC hevet til 2573.0 (fra 2580) for bedre fase og trykk match i historiefasen
|
||||
--RSVD tabell No 5 er tilpasset denne endringen
|
||||
EQUIL
|
||||
-- Datum P woc Pc goc Pc Rsvd Rvvd
|
||||
2582.0 268.56 2692.0 0.0 2582.0 0.0 1 0 0 / C+D: Garn
|
||||
2500.0 263.41 2585.5 0.0 2500.0 0.0 2 0 0 / G: Garn
|
||||
2582.0 269.46 2618.0 0.0 2582.0 0.0 3 0 0 / E: Garn
|
||||
2200.0 236.92 2400.0 0.0 2200.0 0.0 4 0 0 / G: Ile-Tilje
|
||||
2585.0 268.77 2693.3 0.0 2585.0 0.0 5 0 0 / C+D+E: Ile-Tilje
|
||||
|
||||
RSVD
|
||||
2582.0 120.25
|
||||
2597.0 110.00
|
||||
2660.7 106.77
|
||||
2697.0 106.77 /
|
||||
2500 94.5000
|
||||
2510.0 94.3
|
||||
2590.0 94.1 /
|
||||
2582.0 120.25
|
||||
2597.0 110.00
|
||||
2660.7 106.77
|
||||
2697.0 106.77 /
|
||||
2500 94.5000
|
||||
2510.0 94.3
|
||||
2590.0 94.1 /
|
||||
2585.9 120.29
|
||||
2599.9 110.00
|
||||
2663.6 106.77
|
||||
2699.9 106.77 /
|
24650
python/examples/data/norne/INCLUDE/PETRO/EQLNUM_0704.prop
Normal file
24650
python/examples/data/norne/INCLUDE/PETRO/EQLNUM_0704.prop
Normal file
File diff suppressed because it is too large
Load Diff
43
python/examples/data/norne/INCLUDE/PETRO/EXTRA_REG.inc
Normal file
43
python/examples/data/norne/INCLUDE/PETRO/EXTRA_REG.inc
Normal file
@ -0,0 +1,43 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
EQUALS
|
||||
-- FIPs based on geological layers
|
||||
FIPGL 1 1 46 1 112 1 3 / Garn
|
||||
FIPGL 2 1 46 1 112 4 4 / Not
|
||||
FIPGL 3 1 46 1 112 5 5 / Ile 2.2
|
||||
FIPGL 4 1 46 1 112 6 8 / Ile 2.1
|
||||
FIPGL 5 1 46 1 112 9 11 / Ile 1
|
||||
FIPGL 6 1 46 1 112 12 12 / Tofte 2.2
|
||||
FIPGL 7 1 46 1 112 13 15 / Tofte 2.1
|
||||
FIPGL 8 1 46 1 112 16 18 / Tofte 1
|
||||
FIPGL 9 1 46 1 112 19 22 / Tilje
|
||||
|
||||
-- FIPs based on numerical layers
|
||||
FIPNL 1 1 46 1 112 1 1 / Garn 3
|
||||
FIPNL 2 1 46 1 112 2 2 / Garn 2
|
||||
FIPNL 3 1 46 1 112 3 3 / Garn 1w
|
||||
FIPNL 4 1 46 1 112 4 4 / Not
|
||||
FIPNL 5 1 46 1 112 5 5 / Ile 2.2
|
||||
FIPNL 6 1 46 1 112 6 6 / Ile 2.1.3
|
||||
FIPNL 7 1 46 1 112 7 7 / Ile 2.1.2
|
||||
FIPNL 8 1 46 1 112 8 8 / Ile 2.1.1
|
||||
FIPNL 9 1 46 1 112 9 9 / Ile 1.3
|
||||
FIPNL 10 1 46 1 112 10 10 / Ile 1.2
|
||||
FIPNL 11 1 46 1 112 11 11 / Ile 1.1
|
||||
FIPNL 12 1 46 1 112 12 12 / Tofte 2.2
|
||||
FIPNL 13 1 46 1 112 13 13 / Tofte 2.1.3
|
||||
FIPNL 14 1 46 1 112 14 14 / Tofte 2.1.2
|
||||
FIPNL 15 1 46 1 112 15 15 / Tofte 2.1.1
|
||||
FIPNL 16 1 46 1 112 16 16 / Tofte 1.2.2
|
||||
FIPNL 17 1 46 1 112 17 17 / Tofte 1.2.1
|
||||
FIPNL 18 1 46 1 112 18 18 / Tofte 1.1
|
||||
FIPNL 19 1 46 1 112 19 19 / Tilje 4
|
||||
FIPNL 20 1 46 1 112 20 20 / Tilje 3
|
||||
FIPNL 21 1 46 1 112 21 21 / Tilje 2
|
||||
FIPNL 22 1 46 1 112 22 22 / Tilje 1
|
||||
/
|
24650
python/examples/data/norne/INCLUDE/PETRO/FIPNUM_0704.prop
Normal file
24650
python/examples/data/norne/INCLUDE/PETRO/FIPNUM_0704.prop
Normal file
File diff suppressed because it is too large
Load Diff
24650
python/examples/data/norne/INCLUDE/PETRO/FLUXNUM_0704.prop
Normal file
24650
python/examples/data/norne/INCLUDE/PETRO/FLUXNUM_0704.prop
Normal file
File diff suppressed because it is too large
Load Diff
237
python/examples/data/norne/INCLUDE/PETRO/MULTREGT_D_27.prop
Normal file
237
python/examples/data/norne/INCLUDE/PETRO/MULTREGT_D_27.prop
Normal file
@ -0,0 +1,237 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
-- # the programm Xmultregt expects the upper part of the symmetric matrix
|
||||
-- # off diagonal elements modify transmissibilities between different segments,
|
||||
-- # diagonal elements correspond to the same segment and will also modify the transmissibilities within the region
|
||||
-- # this holds also for the small matrices, i.e. they shouild be symmetrical and diagonal elemnts
|
||||
-- # correspond to the same segment
|
||||
-- # Garn | Ile | Tofte | Tilje_4/3 | Tilje_1/2 | Formation
|
||||
-- # C D E G | C D E G | C D E G | C D E G | C D E G | Segment
|
||||
-- # 1 2 3 4 | 5 6 7 8 | 9 10 11 12 | 13 14 15 16 | 17 18 19 20 | Fluxnum
|
||||
-- #--------------------|---------------|----------------|----------------- |--------------------------------------------------
|
||||
-- FLUX 1 1 1 0.005| 0 0 0 0 | 0 0 0 0 | 0 0 0 0 | 0 0 0 0 #| 1 C Garn
|
||||
-- FLUX 1 1 1 | 0 0 0 0 | 0 0 0 0 | 0 0 0 0 | 0 0 0 0 #| 2 D
|
||||
-- FLUX 1 1 | 0 0 0 0 | 0 0 0 0 | 0 0 0 0 | 0 0 0 0 #| 3 E
|
||||
-- FLUX 1 | 0 0 0 0 | 0 0 0 0 | 0 0 0 0 | 0 0 0 0 #| 4 G
|
||||
-- #--------------------|---------------|----------------|------------------|--------------------------------------------------
|
||||
-- FLUX | 1 1 1 0.01| 1 1 1 1 | 0.1 0.1 0.1 0.01| 0 0 0 0 #| 5 C Ile
|
||||
-- FLUX 1 0.05 1 | 1 1 1 1 | 0.1 1 0.1 0.1 | 0 0 0 0 #| 6 D
|
||||
-- FLUX 1 1 | 1 1 1 1 | 0.1 0.1 0.1 0.1 | 0 0 0 0 #| 7 E
|
||||
-- FLUX 1 | 1 1 1 1 | 0.1 0.1 0.1 0.1 | 0 0 0 0 #| 8 G
|
||||
-- #------------------------------------|----------------|----------------- |--------------------------------------------------
|
||||
-- FLUX | 1 1 1 0.01| 1 1 1 1 | 0.001 0 0 0 #| 9 C Tofte
|
||||
-- FLUX 1 1 1 | 1 1 1 1 | 0 1 0 0 #| 10 D
|
||||
-- FLUX 1 1 | 1 1 1 1 | 0 0 0.001 0 #| 11 E
|
||||
-- FLUX 1 | 1 1 1 1 | 0 0 0 1 #| 12 G
|
||||
-- #-----------------------------------------------------|----------------- |--------------------------------------------------
|
||||
-- FLUX | 1 1 1 0.01| 0.0008 0 0 0 #| 13 C Tilje_4/3
|
||||
-- FLUX 1 1 1 | 0 0.1 0->e-6 0 #| 14 D
|
||||
-- FLUX 1 1 | 0 0 0.05 0 #| 15 E
|
||||
-- FLUX 1 | 0 0 0 0.001 #| 16 G
|
||||
-- #----------------------------------------------------------------------- |--------------------------------------------------
|
||||
-- FLUX | 1 1 1 0.1 #| 17 C Tilje_1/2
|
||||
-- FLUX 1 1 1 #| 18 D
|
||||
-- FLUX 1 1 #| 19 E
|
||||
-- FLUX 1 #| 20 G
|
||||
-- #
|
||||
--
|
||||
-- Now comes the real data
|
||||
--
|
||||
MULTREGT
|
||||
2 1 1.0000000000 2* F/
|
||||
3 1 1.0000000000 2* F/
|
||||
3 2 1.0000000000 2* F/
|
||||
4 1 0.0050000000 2* F/
|
||||
4 2 1.0000000000 2* F/
|
||||
4 3 1.0000000000 2* F/
|
||||
5 1 0.0000000000 2* F/
|
||||
5 2 0.0000000000 2* F/
|
||||
5 3 0.0000000000 2* F/
|
||||
5 4 0.0000000000 2* F/
|
||||
6 1 0.0000000000 2* F/
|
||||
6 2 0.0000000000 2* F/
|
||||
6 3 0.0000000000 2* F/
|
||||
6 4 0.0000000000 2* F/
|
||||
6 5 1.0000000000 2* F/
|
||||
7 1 0.0000000000 2* F/
|
||||
7 2 0.0000000000 2* F/
|
||||
7 3 0.0000000000 2* F/
|
||||
7 4 0.0000000000 2* F/
|
||||
7 5 1.0000000000 2* F/
|
||||
7 6 0.0500000000 2* F/
|
||||
8 1 0.0000000000 2* F/
|
||||
8 2 0.0000000000 2* F/
|
||||
8 3 0.0000000000 2* F/
|
||||
8 4 0.0000000000 2* F/
|
||||
8 5 0.0100000000 2* F/
|
||||
8 6 1.0000000000 2* F/
|
||||
8 7 1.0000000000 2* F/
|
||||
9 1 0.0000000000 2* F/
|
||||
9 2 0.0000000000 2* F/
|
||||
9 3 0.0000000000 2* F/
|
||||
9 4 0.0000000000 2* F/
|
||||
9 5 1.0000000000 2* F/
|
||||
9 6 1.0000000000 2* F/
|
||||
9 7 1.0000000000 2* F/
|
||||
9 8 1.0000000000 2* F/
|
||||
10 1 0.0000000000 2* F/
|
||||
10 2 0.0000000000 2* F/
|
||||
10 3 0.0000000000 2* F/
|
||||
10 4 0.0000000000 2* F/
|
||||
10 5 1.0000000000 2* F/
|
||||
10 6 1.0000000000 2* F/
|
||||
10 7 1.0000000000 2* F/
|
||||
10 8 1.0000000000 2* F/
|
||||
10 9 1.0000000000 2* F/
|
||||
11 1 0.0000000000 2* F/
|
||||
11 2 0.0000000000 2* F/
|
||||
11 3 0.0000000000 2* F/
|
||||
11 4 0.0000000000 2* F/
|
||||
11 5 1.0000000000 2* F/
|
||||
11 6 1.0000000000 2* F/
|
||||
11 7 1.0000000000 2* F/
|
||||
11 8 1.0000000000 2* F/
|
||||
11 9 1.0000000000 2* F/
|
||||
11 10 1.0000000000 2* F/
|
||||
12 1 0.0000000000 2* F/
|
||||
12 2 0.0000000000 2* F/
|
||||
12 3 0.0000000000 2* F/
|
||||
12 4 0.0000000000 2* F/
|
||||
12 5 1.0000000000 2* F/
|
||||
12 6 1.0000000000 2* F/
|
||||
12 7 1.0000000000 2* F/
|
||||
12 8 1.0000000000 2* F/
|
||||
12 9 0.0100000000 2* F/
|
||||
12 10 1.0000000000 2* F/
|
||||
12 11 1.0000000000 2* F/
|
||||
13 1 0.0000000000 2* F/
|
||||
13 2 0.0000000000 2* F/
|
||||
13 3 0.0000000000 2* F/
|
||||
13 4 0.0000000000 2* F/
|
||||
13 5 0.1000000000 2* F/
|
||||
13 6 0.1000000000 2* F/
|
||||
13 7 0.1000000000 2* F/
|
||||
13 8 0.1000000000 2* F/
|
||||
13 9 1.0000000000 2* F/
|
||||
13 10 1.0000000000 2* F/
|
||||
13 11 1.0000000000 2* F/
|
||||
13 12 1.0000000000 2* F/
|
||||
14 1 0.0000000000 2* F/
|
||||
14 2 0.0000000000 2* F/
|
||||
14 3 0.0000000000 2* F/
|
||||
14 4 0.0000000000 2* F/
|
||||
14 5 0.1000000000 2* F/
|
||||
14 6 1.0000000000 2* F/
|
||||
14 7 0.1000000000 2* F/
|
||||
14 8 0.1000000000 2* F/
|
||||
14 9 1.0000000000 2* F/
|
||||
14 10 100.0000000000 2* F/
|
||||
14 11 1.0000000000 2* F/
|
||||
14 12 1.0000000000 2* F/
|
||||
14 13 1.0000000000 2* F/
|
||||
15 1 0.0000000000 2* F/
|
||||
15 2 0.0000000000 2* F/
|
||||
15 3 0.0000000000 2* F/
|
||||
15 4 0.0000000000 2* F/
|
||||
15 5 0.1000000000 2* F/
|
||||
15 6 0.1000000000 2* F/
|
||||
15 7 0.1000000000 2* F/
|
||||
15 8 0.1000000000 2* F/
|
||||
15 9 1.0000000000 2* F/
|
||||
15 10 1.0000000000 2* F/
|
||||
15 11 1.0000000000 2* F/
|
||||
15 12 1.0000000000 2* F/
|
||||
15 13 1.0000000000 2* F/
|
||||
15 14 1.0000000000 2* F/
|
||||
16 1 0.0000000000 2* F/
|
||||
16 2 0.0000000000 2* F/
|
||||
16 3 0.0000000000 2* F/
|
||||
16 4 0.0000000000 2* F/
|
||||
16 5 0.0100000000 2* F/
|
||||
16 6 0.1000000000 2* F/
|
||||
16 7 0.1000000000 2* F/
|
||||
16 8 0.1000000000 2* F/
|
||||
16 9 1.0000000000 2* F/
|
||||
16 10 1.0000000000 2* F/
|
||||
16 11 1.0000000000 2* F/
|
||||
16 12 1.0000000000 2* F/
|
||||
16 13 0.0100000000 2* F/
|
||||
16 14 1.0000000000 2* F/
|
||||
16 15 1.0000000000 2* F/
|
||||
17 1 0.0000000000 2* F/
|
||||
17 2 0.0000000000 2* F/
|
||||
17 3 0.0000000000 2* F/
|
||||
17 4 0.0000000000 2* F/
|
||||
17 5 0.0000000000 2* F/
|
||||
17 6 0.0000000000 2* F/
|
||||
17 7 0.0000000000 2* F/
|
||||
17 8 0.0000000000 2* F/
|
||||
17 9 0.0010000000 2* F/
|
||||
17 10 0.0000000000 2* F/
|
||||
17 11 0.0000000000 2* F/
|
||||
17 12 0.0000000000 2* F/
|
||||
17 13 0.0008000000 2* F/
|
||||
17 14 0.0000000000 2* F/
|
||||
17 15 0.0000000000 2* F/
|
||||
17 16 0.0000000000 2* F/
|
||||
18 1 0.0000000000 2* F/
|
||||
18 2 0.0000000000 2* F/
|
||||
18 3 0.0000000000 2* F/
|
||||
18 4 0.0000000000 2* F/
|
||||
18 5 0.0000000000 2* F/
|
||||
18 6 0.0000000000 2* F/
|
||||
18 7 0.0000000000 2* F/
|
||||
18 8 0.0000000000 2* F/
|
||||
18 9 0.0000000000 2* F/
|
||||
18 10 1.0000000000 2* F/
|
||||
18 11 0.0000000000 2* F/
|
||||
18 12 0.0000000000 2* F/
|
||||
18 13 0.0000000000 2* F/
|
||||
18 14 0.1000000000 2* F/
|
||||
18 15 0.0000000000 2* F/
|
||||
18 16 0.0000000000 2* F/
|
||||
18 17 1.0000000000 2* F/
|
||||
19 1 0.0000000000 2* F/
|
||||
19 2 0.0000000000 2* F/
|
||||
19 3 0.0000000000 2* F/
|
||||
19 4 0.0000000000 2* F/
|
||||
19 5 0.0000000000 2* F/
|
||||
19 6 0.0000000000 2* F/
|
||||
19 7 0.0000000000 2* F/
|
||||
19 8 0.0000000000 2* F/
|
||||
19 9 0.0000000000 2* F/
|
||||
19 10 0.0000000000 2* F/
|
||||
19 11 0.0010000000 2* F/
|
||||
19 12 0.0000000000 2* F/
|
||||
19 13 0.0000000000 2* F/
|
||||
19 14 0.0000001 2* F/
|
||||
19 15 0.0500000000 2* F/
|
||||
19 16 0.0000000000 2* F/
|
||||
19 17 1.0000000000 2* F/
|
||||
19 18 1.0000000000 2* F/
|
||||
20 1 0.0000000000 2* F/
|
||||
20 2 0.0000000000 2* F/
|
||||
20 3 0.0000000000 2* F/
|
||||
20 4 0.0000000000 2* F/
|
||||
20 5 0.0000000000 2* F/
|
||||
20 6 0.0000000000 2* F/
|
||||
20 7 0.0000000000 2* F/
|
||||
20 8 0.0000000000 2* F/
|
||||
20 9 0.0000000000 2* F/
|
||||
20 10 0.0000000000 2* F/
|
||||
20 11 0.0000000000 2* F/
|
||||
20 12 1.0000000000 2* F/
|
||||
20 13 0.0000000000 2* F/
|
||||
20 14 0.0000000000 2* F/
|
||||
20 15 0.0000000000 2* F/
|
||||
20 16 0.0010000000 2* F/
|
||||
20 17 0.1000000000 2* F/
|
||||
20 18 1.0000000000 2* F/
|
||||
20 19 1.0000000000 2* F/
|
||||
/
|
||||
--jolly good show: you generated 400 MULTREGT multipliers in no time!!!
|
24650
python/examples/data/norne/INCLUDE/PETRO/MULTZ_HM_1.INC
Normal file
24650
python/examples/data/norne/INCLUDE/PETRO/MULTZ_HM_1.INC
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,83 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
-- Layer 8
|
||||
EQUALS
|
||||
-- 'MULTZ' 0.005 6 18 1 30 8 8 /
|
||||
'MULTZ' 0.02 6 13 30 50 8 8 /
|
||||
/
|
||||
|
||||
-- MZ layer 10
|
||||
EQUALS
|
||||
'MULTZ' 0.005 6 14 11 18 10 10 / C-3H
|
||||
'MULTZ' 0.03 14 29 11 25 10 10 / C south east
|
||||
'MULTZ' 0.05 14 25 26 30 10 10 / C-segm mid/B-2H
|
||||
'MULTZ' 0.25 6 29 11 37 10 10 / C-segm middle
|
||||
'MULTZ' 0.5 17 17 42 54 10 10 / C north west
|
||||
'MULTZ' 0.5 6 12 38 39 10 10 / C north west
|
||||
'MULTZ' 0.5 8 12 40 40 10 10 / C north west
|
||||
'MULTZ' 0.5 10 12 41 43 10 10 / C north west
|
||||
'MULTZ' 0.5 18 33 38 54 10 10 / C1, D4 & D3
|
||||
'MULTZ' 0.5 6 13 44 52 10 10 / B-4AH
|
||||
'MULTZ' 0.01 13 13 48 59 10 10 / D-segm mid (B-4BH)
|
||||
'MULTZ' 0.01 14 14 49 59 10 10 / D-segm mid (B-4BH)
|
||||
'MULTZ' 0.01 15 16 51 59 10 10 / D-segm mid (B-4BH)
|
||||
'MULTZ' 0.05 17 19 55 99 10 10 / E1
|
||||
'MULTZ' 0.05 14 14 60 62 10 10 / E1
|
||||
'MULTZ' 0.05 15 15 60 65 10 10 / E1
|
||||
'MULTZ' 0.05 16 16 60 69 10 10 / E1
|
||||
'MULTZ' 0.005 6 9 52 60 10 10 / F-3H/E-2H
|
||||
'MULTZ' 0.005 9 9 53 57 10 10 / F-3H/E-2H
|
||||
'MULTZ' 0.005 10 10 54 58 10 10 / F-3H/E-2H
|
||||
'MULTZ' 0.005 11 11 55 58 10 10 / F-3H/E-2H
|
||||
/
|
||||
|
||||
-- MZ layer 15
|
||||
EQUALS
|
||||
'MULTZ' 0.00003 6 29 11 21 15 15 / C south
|
||||
'MULTZ' 0.00005 6 29 22 39 15 15 / C middle
|
||||
'MULTZ' 0.000001 19 29 39 49 15 15 / C-1H
|
||||
'MULTZ' 1.0 19 29 38 45 17 17 / C-1H
|
||||
'MULTZ' 0.005 16 19 48 61 15 15 / E-1H/D-3H
|
||||
'MULTZ' 0.0008 8 18 40 40 15 15 / C north
|
||||
'MULTZ' 0.0008 9 18 41 41 15 15 /
|
||||
'MULTZ' 0.0008 10 18 42 43 15 15 /
|
||||
'MULTZ' 0.0008 11 18 44 44 15 15 /
|
||||
'MULTZ' 0.0008 12 18 45 45 15 15 /
|
||||
'MULTZ' 0.0008 13 18 46 47 15 15 /
|
||||
'MULTZ' 0.0008 14 15 48 48 15 15 /
|
||||
'MULTZ' 0.0008 15 15 49 50 15 15 /
|
||||
|
||||
'MULTZ' 0.01 12 12 46 56 15 15 / D-segm
|
||||
'MULTZ' 0.01 13 13 48 59 15 15 / D-segm
|
||||
'MULTZ' 0.01 14 14 49 62 15 15 / D-segm
|
||||
'MULTZ' 0.01 15 15 51 65 15 15 / D-segm
|
||||
'MULTZ' 0.01 16 19 62 69 15 15 / D-segm
|
||||
'MULTZ' 0.01 17 19 70 99 15 15 / D-segm
|
||||
MULTZ 0.0035 6 7 40 60 15 15 / D, E west
|
||||
MULTZ 0.0035 8 8 41 60 15 15 /
|
||||
MULTZ 0.0035 9 9 42 52 15 15 /
|
||||
MULTZ 0.0035 10 10 44 49 15 15 /
|
||||
/
|
||||
|
||||
-- D-1H water
|
||||
EQUALS
|
||||
'MULTZ' 1.0 22 24 21 22 11 11 /
|
||||
'MULTZ' 0.1 21 25 17 19 15 15 /
|
||||
'MULTZ' 1.0 22 24 17 19 17 17 /
|
||||
'MULTZ' 1.0 22 24 15 17 18 18 /
|
||||
/
|
||||
|
||||
-- B-1 & B-3 water
|
||||
EQUALS
|
||||
'MULTZ' 0.1 12 13 34 35 15 15 /
|
||||
/
|
||||
|
||||
-- RFT D_-H
|
||||
EQUALS
|
||||
'MULTZ' 0.1 16 19 47 53 18 18 / D-3H
|
||||
/
|
24650
python/examples/data/norne/INCLUDE/PETRO/NTG_0704.prop
Normal file
24650
python/examples/data/norne/INCLUDE/PETRO/NTG_0704.prop
Normal file
File diff suppressed because it is too large
Load Diff
24650
python/examples/data/norne/INCLUDE/PETRO/PERM_0704.prop
Normal file
24650
python/examples/data/norne/INCLUDE/PETRO/PERM_0704.prop
Normal file
File diff suppressed because it is too large
Load Diff
24650
python/examples/data/norne/INCLUDE/PETRO/PORO_0704.prop
Normal file
24650
python/examples/data/norne/INCLUDE/PETRO/PORO_0704.prop
Normal file
File diff suppressed because it is too large
Load Diff
28349
python/examples/data/norne/INCLUDE/PETRO/SWINITIAL.INC
Normal file
28349
python/examples/data/norne/INCLUDE/PETRO/SWINITIAL.INC
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,52 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
PIMULTAB
|
||||
-- The following is the reviewed model in Aug-2006, low-high case
|
||||
-- a=0.25, b=0.1;
|
||||
-- PIMULT=(1-a)/exp(fw/b)+a
|
||||
0.000 1.0000
|
||||
0.025 0.8341
|
||||
0.050 0.7049
|
||||
0.075 0.6043
|
||||
0.100 0.5259
|
||||
0.125 0.4649
|
||||
0.150 0.4173
|
||||
0.175 0.3803
|
||||
0.200 0.3515
|
||||
0.225 0.3290
|
||||
0.250 0.3116
|
||||
0.275 0.2979
|
||||
0.300 0.2873
|
||||
0.325 0.2791
|
||||
0.350 0.2726
|
||||
0.375 0.2676
|
||||
0.400 0.2637
|
||||
0.425 0.2607
|
||||
0.450 0.2583
|
||||
0.475 0.2565
|
||||
0.500 0.2551
|
||||
0.525 0.2539
|
||||
0.550 0.2531
|
||||
0.575 0.2524
|
||||
0.600 0.2519
|
||||
0.625 0.2514
|
||||
0.650 0.2511
|
||||
0.675 0.2509
|
||||
0.700 0.2507
|
||||
0.725 0.2505
|
||||
0.750 0.2504
|
||||
0.775 0.2503
|
||||
0.800 0.2503
|
||||
0.825 0.2502
|
||||
0.850 0.2502
|
||||
0.875 0.2501
|
||||
0.900 0.2501
|
||||
0.925 0.2501
|
||||
0.950 0.2501
|
||||
0.975 0.2500
|
||||
1.000 0.2500 /
|
554
python/examples/data/norne/INCLUDE/PVT/PVT-WET-GAS.INC
Normal file
554
python/examples/data/norne/INCLUDE/PVT/PVT-WET-GAS.INC
Normal file
@ -0,0 +1,554 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
PVTG
|
||||
|
||||
-- PRESSURE RSG B-GAS VISCOSITY
|
||||
-- BAR (CP)
|
||||
|
||||
50.00 0.00000497 0.024958 0.01441
|
||||
0.00000248 0.024958 0.01440
|
||||
0.00000000 0.024958 0.01440 /
|
||||
|
||||
70.00 0.00000521 0.017639 0.01491
|
||||
0.00000261 0.017641 0.01490
|
||||
0.00000000 0.017643 0.01490 /
|
||||
|
||||
90.00 0.00000627 0.013608 0.01547
|
||||
0.00000313 0.013611 0.01546
|
||||
0.00000000 0.013615 0.01544 /
|
||||
|
||||
110.00 0.00000798 0.011072 0.01609
|
||||
0.00000399 0.011076 0.01607
|
||||
0.00000000 0.011081 0.01605 /
|
||||
|
||||
130.00 0.00001041 0.009340 0.01677
|
||||
0.00000520 0.009346 0.01674
|
||||
0.00000000 0.009352 0.01671 /
|
||||
|
||||
150.00 0.00001365 0.008092 0.01752
|
||||
0.00000683 0.008099 0.01748
|
||||
0.00000000 0.008106 0.01743 /
|
||||
|
||||
170.00 0.00001786 0.007156 0.01834
|
||||
0.00000893 0.007164 0.01827
|
||||
0.00000000 0.007172 0.01819 /
|
||||
|
||||
190.00 0.00002316 0.006433 0.01923
|
||||
0.00001158 0.006442 0.01912
|
||||
0.00000000 0.006451 0.01900 /
|
||||
|
||||
210.00 0.00002972 0.005861 0.02019
|
||||
0.00001486 0.005871 0.02001
|
||||
0.00000000 0.005881 0.01984 /
|
||||
|
||||
230.00 0.00003767 0.005402 0.02121
|
||||
0.00001883 0.005412 0.02095
|
||||
0.00000000 0.005422 0.02071 /
|
||||
|
||||
250.80 0.00004756 0.005013 0.02234
|
||||
0.00002378 0.005022 0.02197
|
||||
0.00000000 0.005032 0.02162 /
|
||||
|
||||
268.42 0.00005757 0.004737 0.02335
|
||||
0.00002878 0.004746 0.02287
|
||||
0.00000000 0.004754 0.02240 /
|
||||
|
||||
285.33 0.00006853 0.004511 0.02438
|
||||
0.00003427 0.004518 0.02375
|
||||
0.00000000 0.004525 0.02315 /
|
||||
|
||||
301.59 0.00008041 0.004323 0.02542
|
||||
0.00004020 0.004327 0.02463
|
||||
0.00000000 0.004332 0.02387 /
|
||||
|
||||
317.23 0.00009313 0.004165 0.02648
|
||||
0.00004657 0.004166 0.02549
|
||||
0.00000000 0.004169 0.02456 /
|
||||
|
||||
332.29 0.00010668 0.004031 0.02755
|
||||
0.00005334 0.004029 0.02634
|
||||
0.00000000 0.004028 0.02522 /
|
||||
|
||||
346.80 0.00012100 0.003917 0.02863
|
||||
0.00006050 0.003911 0.02719
|
||||
0.00000000 0.003906 0.02585 /
|
||||
|
||||
360.80 0.00013607 0.003819 0.02974
|
||||
0.00006803 0.003808 0.02803
|
||||
0.00000000 0.003799 0.02645 /
|
||||
|
||||
374.31 0.00015188 0.003735 0.03087
|
||||
0.00007594 0.003718 0.02887
|
||||
0.00000000 0.003705 0.02703 /
|
||||
|
||||
387.36 0.00016843 0.003662 0.03202
|
||||
0.00008421 0.003639 0.02970
|
||||
0.00000000 0.003621 0.02758 /
|
||||
|
||||
399.99 0.00018571 0.003598 0.03320
|
||||
0.00009286 0.003570 0.03053
|
||||
0.00000000 0.003545 0.02810 /
|
||||
|
||||
412.21 0.00020375 0.003543 0.03442
|
||||
0.00010188 0.003508 0.03137
|
||||
0.00000000 0.003477 0.02861 /
|
||||
|
||||
424.05 0.00022256 0.003496 0.03566
|
||||
0.00011128 0.003453 0.03220
|
||||
0.00000000 0.003416 0.02909 /
|
||||
|
||||
435.53 0.00024218 0.003454 0.03695
|
||||
0.00012109 0.003404 0.03305
|
||||
0.00000000 0.003360 0.02956 /
|
||||
|
||||
446.68 0.00026266 0.003419 0.03828
|
||||
0.00013133 0.003360 0.03390
|
||||
0.00000000 0.003309 0.03000 /
|
||||
|
||||
457.51 0.00028404 0.003388 0.03967
|
||||
0.00014202 0.003320 0.03477
|
||||
0.00000000 0.003262 0.03043 /
|
||||
|
||||
468.04 0.00030639 0.003362 0.04110
|
||||
0.00015319 0.003285 0.03566
|
||||
0.00000000 0.003218 0.03085 /
|
||||
|
||||
478.30 0.00032980 0.003341 0.04261
|
||||
0.00016490 0.003253 0.03656
|
||||
0.00000000 0.003178 0.03125 /
|
||||
|
||||
488.30 0.00035436 0.003323 0.04418
|
||||
0.00017718 0.003225 0.03749
|
||||
0.00000000 0.003140 0.03164 /
|
||||
|
||||
498.06 0.00038020 0.003310 0.04583
|
||||
0.00019010 0.003200 0.03845
|
||||
0.00000000 0.003105 0.03202 /
|
||||
|
||||
507.59 0.00040745 0.003300 0.04758
|
||||
0.00020373 0.003178 0.03944
|
||||
0.00000000 0.003073 0.03238 /
|
||||
|
||||
516.92 0.00043630 0.003293 0.04943
|
||||
0.00021815 0.003158 0.04048
|
||||
0.00000000 0.003042 0.03273 /
|
||||
|
||||
526.06 0.00046694 0.003290 0.05141
|
||||
0.00023347 0.003141 0.04156
|
||||
0.00000000 0.003013 0.03308 /
|
||||
|
||||
535.02 0.00049963 0.003291 0.05353
|
||||
0.00024981 0.003126 0.04271
|
||||
0.00000000 0.002986 0.03342 /
|
||||
|
||||
543.83 0.00053469 0.003295 0.05582
|
||||
0.00026734 0.003114 0.04393
|
||||
0.00000000 0.002960 0.03374 /
|
||||
|
||||
552.49 0.00057251 0.003303 0.05830
|
||||
0.00028625 0.003105 0.04523
|
||||
0.00000000 0.002935 0.03407 /
|
||||
|
||||
561.04 0.00061359 0.003315 0.06103
|
||||
0.00030679 0.003098 0.04664
|
||||
0.00000000 0.002912 0.03438 /
|
||||
|
||||
569.48 0.00065855 0.003332 0.06405
|
||||
0.00032928 0.003093 0.04818
|
||||
0.00000000 0.002890 0.03469 /
|
||||
|
||||
577.82 0.00070820 0.003354 0.06744
|
||||
0.00035410 0.003092 0.04988
|
||||
0.00000000 0.002868 0.03500 /
|
||||
|
||||
586.09 0.00076355 0.003382 0.07127
|
||||
0.00038178 0.003094 0.05178
|
||||
0.00000000 0.002847 0.03530 /
|
||||
|
||||
594.29 0.00082592 0.003418 0.07567
|
||||
0.00041296 0.003099 0.05394
|
||||
0.00000000 0.002828 0.03560 /
|
||||
/
|
||||
|
||||
-- PVT region 2 --
|
||||
|
||||
80.00 0.00000485 0.015151 0.01506
|
||||
0.00000242 0.015154 0.01505
|
||||
0.00000000 0.015157 0.01504 /
|
||||
|
||||
|
||||
100.00 0.00000621 0.012032 0.01566
|
||||
0.00000310 0.012036 0.01564
|
||||
0.00000000 0.012040 0.01563 /
|
||||
|
||||
|
||||
120.00 0.00000821 0.009980 0.01632
|
||||
0.00000411 0.009985 0.01630
|
||||
0.00000000 0.009990 0.01628 /
|
||||
|
||||
|
||||
140.00 0.00001096 0.008537 0.01706
|
||||
0.00000548 0.008544 0.01702
|
||||
0.00000000 0.008550 0.01698 /
|
||||
|
||||
|
||||
160.00 0.00001457 0.007476 0.01786
|
||||
0.00000728 0.007484 0.01780
|
||||
0.00000000 0.007492 0.01774 /
|
||||
|
||||
|
||||
180.00 0.00001918 0.006669 0.01873
|
||||
0.00000959 0.006678 0.01864
|
||||
0.00000000 0.006687 0.01854 /
|
||||
|
||||
|
||||
200.00 0.00002493 0.006038 0.01967
|
||||
0.00001247 0.006048 0.01952
|
||||
0.00000000 0.006058 0.01939 /
|
||||
|
||||
|
||||
216.50 0.00003061 0.005616 0.02049
|
||||
0.00001530 0.005626 0.02029
|
||||
0.00000000 0.005636 0.02010 /
|
||||
/
|
||||
|
||||
PVTO
|
||||
|
||||
-- RSO PRESSURE B-OIL VISCOSITY
|
||||
-- (BAR) (CP)
|
||||
|
||||
20.59 50.00 1.10615 1.180
|
||||
75.00 1.10164 1.247
|
||||
100.00 1.09744 1.315
|
||||
125.00 1.09351 1.384
|
||||
150.00 1.08984 1.453 /
|
||||
|
||||
28.19 70.00 1.12522 1.066
|
||||
95.00 1.12047 1.124
|
||||
120.00 1.11604 1.182
|
||||
145.00 1.11191 1.241
|
||||
170.00 1.10804 1.300 /
|
||||
|
||||
36.01 90.00 1.14458 0.964
|
||||
115.00 1.13959 1.014
|
||||
140.00 1.13494 1.064
|
||||
165.00 1.13060 1.115
|
||||
190.00 1.12653 1.166 /
|
||||
|
||||
44.09 110.00 1.16437 0.880
|
||||
135.00 1.15915 0.924
|
||||
160.00 1.15428 0.968
|
||||
185.00 1.14973 1.012
|
||||
210.00 1.14547 1.056 /
|
||||
|
||||
52.46 130.00 1.18467 0.805
|
||||
155.00 1.17921 0.843
|
||||
180.00 1.17413 0.882
|
||||
205.00 1.16937 0.920
|
||||
230.00 1.16491 0.959 /
|
||||
|
||||
61.13 150.00 1.20555 0.746
|
||||
175.00 1.19985 0.780
|
||||
200.00 1.19454 0.814
|
||||
225.00 1.18958 0.849
|
||||
250.00 1.18492 0.883 /
|
||||
|
||||
70.14 170.00 1.22704 0.698
|
||||
195.00 1.22111 0.729
|
||||
220.00 1.21558 0.759
|
||||
245.00 1.21040 0.790
|
||||
270.00 1.20555 0.821 /
|
||||
|
||||
79.50 190.00 1.24922 0.658
|
||||
215.00 1.24305 0.686
|
||||
240.00 1.23729 0.714
|
||||
265.00 1.23190 0.742
|
||||
290.00 1.22685 0.770 /
|
||||
|
||||
89.24 210.00 1.27214 0.637
|
||||
235.00 1.26573 0.664
|
||||
260.00 1.25974 0.693
|
||||
285.00 1.25414 0.725
|
||||
310.00 1.24888 0.760 /
|
||||
|
||||
99.39 230.00 1.29586 0.622
|
||||
255.00 1.28921 0.641
|
||||
280.00 1.28300 0.661
|
||||
305.00 1.27718 0.680
|
||||
330.00 1.27171 0.699 /
|
||||
|
||||
110.41 250.80 1.32148 0.610
|
||||
275.80 1.31457 0.628
|
||||
300.80 1.30812 0.647
|
||||
325.80 1.30207 0.665
|
||||
350.80 1.29638 0.682 /
|
||||
|
||||
120.32 268.42 1.34449 0.576
|
||||
293.42 1.33735 0.593
|
||||
318.42 1.33068 0.609
|
||||
343.42 1.32442 0.626
|
||||
368.42 1.31853 0.642 /
|
||||
|
||||
130.23 285.33 1.36737 0.5335
|
||||
310.33 1.36001 0.5487
|
||||
335.33 1.35313 0.5638
|
||||
360.33 1.34667 0.5787
|
||||
385.33 1.34059 0.5934 /
|
||||
|
||||
140.12 301.59 1.39015 0.4956
|
||||
326.59 1.38257 0.5094
|
||||
351.59 1.37548 0.5230
|
||||
376.59 1.36882 0.5365
|
||||
401.59 1.36255 0.5498 /
|
||||
|
||||
150.01 317.23 1.41282 0.4614
|
||||
342.23 1.40503 0.4739
|
||||
367.23 1.39773 0.4863
|
||||
392.23 1.39088 0.4986
|
||||
417.23 1.38443 0.5107 /
|
||||
|
||||
159.89 332.29 1.43539 0.43042
|
||||
357.29 1.42739 0.44183
|
||||
382.29 1.41990 0.45312
|
||||
407.29 1.41286 0.46430
|
||||
432.29 1.40622 0.47537 /
|
||||
|
||||
169.76 346.80 1.45788 0.41191
|
||||
371.80 1.44967 0.42260
|
||||
396.80 1.44198 0.43318
|
||||
421.80 1.43475 0.44365
|
||||
446.80 1.42794 0.45402 /
|
||||
|
||||
179.63 360.80 1.48028 0.39503
|
||||
385.80 1.47187 0.40508
|
||||
410.80 1.46398 0.41502
|
||||
435.80 1.45657 0.42487
|
||||
460.80 1.44958 0.43461 /
|
||||
|
||||
189.48 374.31 1.50260 0.37959
|
||||
399.31 1.49399 0.38907
|
||||
424.31 1.48591 0.39845
|
||||
449.31 1.47832 0.40773
|
||||
474.31 1.47116 0.41692 /
|
||||
|
||||
199.34 387.36 1.52484 0.36543
|
||||
412.36 1.51603 0.37439
|
||||
437.36 1.50777 0.38326
|
||||
462.36 1.50000 0.39203
|
||||
487.36 1.49267 0.40072 /
|
||||
|
||||
209.18 399.99 1.54700 0.35239
|
||||
424.99 1.53800 0.36089
|
||||
449.99 1.52956 0.36929
|
||||
474.99 1.52161 0.37762
|
||||
499.99 1.51411 0.38585 /
|
||||
|
||||
219.02 412.21 1.56910 0.34035
|
||||
437.21 1.55991 0.34843
|
||||
462.21 1.55128 0.35642
|
||||
487.21 1.54316 0.36433
|
||||
512.21 1.53549 0.37216 /
|
||||
|
||||
228.85 424.05 1.59112 0.32921
|
||||
449.05 1.58174 0.33691
|
||||
474.05 1.57294 0.34453
|
||||
499.05 1.56464 0.35206
|
||||
524.05 1.55681 0.35952 /
|
||||
|
||||
238.67 435.53 1.61307 0.31888
|
||||
460.53 1.60351 0.32623
|
||||
485.53 1.59453 0.33350
|
||||
510.53 1.58606 0.34070
|
||||
535.53 1.57807 0.34782 /
|
||||
|
||||
248.48 446.68 1.63496 0.30927
|
||||
471.68 1.62522 0.31630
|
||||
496.68 1.61606 0.32326
|
||||
521.68 1.60743 0.33014
|
||||
546.68 1.59927 0.33695 /
|
||||
|
||||
258.29 457.51 1.65678 0.30032
|
||||
482.51 1.64686 0.30706
|
||||
507.51 1.63753 0.31373
|
||||
532.51 1.62873 0.32032
|
||||
557.51 1.62042 0.32685 /
|
||||
|
||||
268.09 468.04 1.67853 0.29196
|
||||
493.04 1.66843 0.29843
|
||||
518.04 1.65893 0.30483
|
||||
543.04 1.64997 0.31117
|
||||
568.04 1.64150 0.31743 /
|
||||
|
||||
277.89 478.30 1.70022 0.28414
|
||||
503.30 1.68994 0.29037
|
||||
528.30 1.68028 0.29652
|
||||
553.30 1.67116 0.30261
|
||||
578.30 1.66253 0.30864 /
|
||||
|
||||
287.68 488.30 1.72184 0.27681
|
||||
513.30 1.71139 0.28281
|
||||
538.30 1.70156 0.28874
|
||||
563.30 1.69228 0.29460
|
||||
588.30 1.68350 0.30040 /
|
||||
|
||||
297.46 498.06 1.74339 0.26994
|
||||
523.06 1.73277 0.27572
|
||||
548.06 1.72278 0.28144
|
||||
573.06 1.71334 0.28709
|
||||
598.06 1.70442 0.29269 /
|
||||
|
||||
307.23 507.59 1.76487 0.26347
|
||||
532.59 1.75409 0.26906
|
||||
557.59 1.74393 0.27458
|
||||
582.59 1.73434 0.28004
|
||||
607.59 1.72527 0.28544 /
|
||||
|
||||
317.00 516.92 1.78628 0.25738
|
||||
541.92 1.77533 0.26279
|
||||
566.92 1.76502 0.26812
|
||||
591.92 1.75528 0.27340
|
||||
616.92 1.74606 0.27863 /
|
||||
|
||||
326.76 526.06 1.80761 0.25165
|
||||
551.06 1.79651 0.25688
|
||||
576.06 1.78604 0.26204
|
||||
601.06 1.77615 0.26716
|
||||
626.06 1.76679 0.27221 /
|
||||
|
||||
336.51 535.02 1.82887 0.24623
|
||||
560.02 1.81761 0.25130
|
||||
585.02 1.80699 0.25631
|
||||
610.02 1.79696 0.26126
|
||||
635.02 1.78746 0.26616 /
|
||||
|
||||
346.26 543.83 1.85005 0.24112
|
||||
568.83 1.83864 0.24603
|
||||
593.83 1.82787 0.25089
|
||||
618.83 1.81770 0.25570
|
||||
643.83 1.80806 0.26045 /
|
||||
|
||||
356.00 552.49 1.87115 0.23628
|
||||
577.49 1.85959 0.24105
|
||||
602.49 1.84868 0.24577
|
||||
627.49 1.83836 0.25043
|
||||
652.49 1.82858 0.25505 /
|
||||
|
||||
365.73 561.04 1.89217 0.23170
|
||||
586.04 1.88046 0.23634
|
||||
611.04 1.86940 0.24092
|
||||
636.04 1.85895 0.24546
|
||||
661.04 1.84904 0.24994 /
|
||||
|
||||
375.46 569.48 1.91309 0.22736
|
||||
594.48 1.90124 0.23187
|
||||
619.48 1.89004 0.23633
|
||||
644.48 1.87946 0.24074
|
||||
669.48 1.86942 0.24510 /
|
||||
|
||||
385.18 577.82 1.93391 0.22325
|
||||
602.82 1.92192 0.22764
|
||||
627.82 1.91060 0.23198
|
||||
652.82 1.89988 0.23627
|
||||
677.82 1.88971 0.24052 /
|
||||
|
||||
394.89 586.09 1.95464 0.21934
|
||||
611.09 1.94252 0.22362
|
||||
636.09 1.93106 0.22785
|
||||
661.09 1.92021 0.23204
|
||||
686.09 1.90993 0.23617 /
|
||||
|
||||
404.60 594.29 1.97527 0.21564
|
||||
619.29 1.96301 0.21981
|
||||
644.29 1.95143 0.22393
|
||||
669.29 1.94046 0.22801
|
||||
694.29 1.93005 0.23204 /
|
||||
/
|
||||
|
||||
-- PVT region 2
|
||||
|
||||
32.91 80.00 1.13304 1.04537
|
||||
114.00 1.12837 1.10009
|
||||
148.00 1.12401 1.15521
|
||||
182.00 1.11994 1.21063 /
|
||||
|
||||
|
||||
40.99 100.00 1.15276 0.97219
|
||||
134.00 1.14786 1.02086
|
||||
168.00 1.14328 1.06983
|
||||
202.00 1.13900 1.11901 /
|
||||
|
||||
|
||||
49.36 120.00 1.17297 0.91124
|
||||
154.00 1.16783 0.95496
|
||||
188.00 1.16303 0.99891
|
||||
222.00 1.15854 1.04301 /
|
||||
|
||||
|
||||
58.04 140.00 1.19374 0.85942
|
||||
174.00 1.18836 0.89902
|
||||
208.00 1.18334 0.93878
|
||||
242.00 1.17864 0.97864 /
|
||||
|
||||
|
||||
67.04 160.00 1.21512 0.81456
|
||||
194.00 1.20951 0.85065
|
||||
228.00 1.20426 0.88686
|
||||
262.00 1.19935 0.92313 /
|
||||
|
||||
|
||||
76.39 180.00 1.23718 0.77508
|
||||
214.00 1.23132 0.80815
|
||||
248.00 1.22585 0.84130
|
||||
282.00 1.22073 0.87448 /
|
||||
|
||||
|
||||
86.11 200.00 1.25996 0.73928
|
||||
234.00 1.25386 0.76989
|
||||
268.00 1.24816 0.80050
|
||||
302.00 1.24283 0.83108 /
|
||||
|
||||
|
||||
94.44 216.50 1.27934 0.67686
|
||||
250.50 1.27304 0.70995
|
||||
284.50 1.26716 0.74427
|
||||
318.50 1.26164 0.77857 /
|
||||
/
|
||||
|
||||
-- AVERAGE GAS DENSITY AT STD CONDITIONS = 0.854 KG/M3
|
||||
|
||||
-- AVERAGE OIL DENSITY AT STD CONDITIONS = 859.5 KG/M3
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- ROCK COMPRESSIBILITY
|
||||
--
|
||||
-- REF.PRES. COMPR.
|
||||
ROCK
|
||||
277.0 4.84E-5 /
|
||||
277.0 4.84E-5 /
|
||||
|
||||
-- ==================================================================
|
||||
-- PVT PROPERTIES OF WATER
|
||||
--
|
||||
-- REF.PRES. REF.FVF. COMPR. REF.VISC. VISCOSIBILITY
|
||||
-- ==========================================================
|
||||
PVTW
|
||||
277.0 1.038 4.67E-5 0.318 0.0 /
|
||||
277.0 1.038 4.67E-5 0.318 0.0 /
|
||||
|
||||
---------------------------------------------------------------------
|
||||
-- SURFACE DENSITIE OF RESERVOIR FLUIDS
|
||||
-- OIL WATER GAS
|
||||
DENSITY
|
||||
859.5 1033.0 0.854 / Justert 22/7
|
||||
860.04 1033.0 0.853 / Justert 22/7
|
||||
|
||||
--------------------------------------------------------------------
|
||||
--
|
||||
-- End of file --------
|
||||
--
|
||||
--------------------------------------------------------------------
|
106
python/examples/data/norne/INCLUDE/RELPERM/SCAL_NORNE.INC
Normal file
106
python/examples/data/norne/INCLUDE/RELPERM/SCAL_NORNE.INC
Normal file
@ -0,0 +1,106 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
SWOF
|
||||
-- Sw Krw Kro Pc
|
||||
0.000000 0.000000 1.00000 3.75633
|
||||
0.0001 0.000000 0.999 3.75632
|
||||
0.0500000 0.000860000 0.847820 1.86981
|
||||
0.100000 0.00263000 0.697460 1.23731
|
||||
0.150000 0.00524000 0.557170 0.91821
|
||||
0.200000 0.00877000 0.432860 0.72451
|
||||
0.250000 0.0133800 0.327570 0.59341
|
||||
0.300000 0.0192700 0.241770 0.49811
|
||||
0.350000 0.0267200 0.174150 0.42511
|
||||
0.400000 0.0360800 0.122370 0.36691
|
||||
0.450000 0.0478100 0.0837400 0.31911
|
||||
0.500000 0.0625000 0.0556500 0.27881
|
||||
0.550000 0.0809000 0.0357200 0.24401
|
||||
0.600000 0.103940 0.0219900 0.21351
|
||||
0.650000 0.132770 0.0128400 0.18631
|
||||
0.700000 0.168690 0.00699000 0.16161
|
||||
0.750000 0.213020 0.00346000 0.13901
|
||||
0.800000 0.266670 0.00149000 0.11801
|
||||
0.850000 0.329180 0.000510000 0.09831
|
||||
0.900000 0.397060 0.000120000 0.07961
|
||||
0.950000 0.461030 0.00001 0.06161
|
||||
1.00000 0.500000 0.000000 0.04408
|
||||
/
|
||||
0.000000 0.000000 1.00000 3.75633
|
||||
0.0001 0.000000 0.999 3.75632
|
||||
0.0500000 0.000860000 0.847820 1.86981
|
||||
0.100000 0.00263000 0.697460 1.23731
|
||||
0.150000 0.00524000 0.557170 0.91821
|
||||
0.200000 0.00877000 0.432860 0.72451
|
||||
0.250000 0.0133800 0.327570 0.59341
|
||||
0.300000 0.0192700 0.241770 0.49811
|
||||
0.350000 0.0267200 0.174150 0.42511
|
||||
0.400000 0.0360800 0.122370 0.36691
|
||||
0.450000 0.0478100 0.0837400 0.31911
|
||||
0.500000 0.0625000 0.0556500 0.27881
|
||||
0.550000 0.0809000 0.0357200 0.24401
|
||||
0.600000 0.103940 0.0219900 0.21351
|
||||
0.650000 0.132770 0.0128400 0.18631
|
||||
0.700000 0.168690 0.00699000 0.16161
|
||||
0.750000 0.213020 0.00346000 0.13901
|
||||
0.800000 0.266670 0.00149000 0.11801
|
||||
0.850000 0.329180 0.000510000 0.09831
|
||||
0.900000 0.397060 0.000120000 0.07961
|
||||
0.950000 0.461030 0.00001 0.06161
|
||||
1.00000 0.500000 0.000000 0.04408
|
||||
/
|
||||
|
||||
|
||||
|
||||
SGOF
|
||||
--#NAME? Krg Kro Pc
|
||||
0.000000 0.000000 1.00000 0.000000
|
||||
0.0500000 0.00165500 0.806888 0.000000
|
||||
0.100000 0.00691300 0.633562 0.000000
|
||||
0.150000 0.0162130 0.485506 0.000000
|
||||
0.200000 0.0299900 0.364043 0.000000
|
||||
0.250000 0.0486550 0.267589 0.000000
|
||||
0.300000 0.0725730 0.192992 0.000000
|
||||
0.350000 0.102046 0.136554 0.000000
|
||||
0.400000 0.137287 0.0946710 0.000000
|
||||
0.450000 0.178402 0.0641510 0.000000
|
||||
0.500000 0.225368 0.0423240 0.000000
|
||||
0.550000 0.278030 0.0270350 0.000000
|
||||
0.600000 0.336093 0.0165860 0.000000
|
||||
0.650000 0.399135 0.00966200 0.000000
|
||||
0.700000 0.466631 0.00525400 0.000000
|
||||
0.750000 0.538000 0.00259700 0.000000
|
||||
0.800000 0.612665 0.00111700 0.000000
|
||||
0.850000 0.690169 0.000384000 0.000000
|
||||
0.900000 0.770395 0.000088 0.000000
|
||||
0.950000 0.854218 0.000007 0.000000
|
||||
0.9999 0.9499 0.000000 0.000000
|
||||
1.00000 0.950000 0.000000 0.000000
|
||||
/
|
||||
0.000000 0.000000 1.00000 0.000000
|
||||
0.0500000 0.00165500 0.806888 0.000000
|
||||
0.100000 0.00691300 0.633562 0.000000
|
||||
0.150000 0.0162130 0.485506 0.000000
|
||||
0.200000 0.0299900 0.364043 0.000000
|
||||
0.250000 0.0486550 0.267589 0.000000
|
||||
0.300000 0.0725730 0.192992 0.000000
|
||||
0.350000 0.102046 0.136554 0.000000
|
||||
0.400000 0.137287 0.0946710 0.000000
|
||||
0.450000 0.178402 0.0641510 0.000000
|
||||
0.500000 0.225368 0.0423240 0.000000
|
||||
0.550000 0.278030 0.0270350 0.000000
|
||||
0.600000 0.336093 0.0165860 0.000000
|
||||
0.650000 0.399135 0.00966200 0.000000
|
||||
0.700000 0.466631 0.00525400 0.000000
|
||||
0.750000 0.538000 0.00259700 0.000000
|
||||
0.800000 0.612665 0.00111700 0.000000
|
||||
0.850000 0.690169 0.000384000 0.000000
|
||||
0.900000 0.770395 0.000088 0.000000
|
||||
0.950000 0.854218 0.000007 0.000000
|
||||
0.9999 0.9499 0.000000 0.000000
|
||||
1.00000 0.950000 0.000000 0.000000
|
||||
/
|
153
python/examples/data/norne/INCLUDE/SUMMARY/extra.inc
Normal file
153
python/examples/data/norne/INCLUDE/SUMMARY/extra.inc
Normal file
@ -0,0 +1,153 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
WSTAT
|
||||
/
|
||||
|
||||
WMCTL
|
||||
/
|
||||
|
||||
GMCTP
|
||||
/
|
||||
|
||||
GMCTW
|
||||
/
|
||||
|
||||
GMCTG
|
||||
/
|
||||
|
||||
FOE
|
||||
|
||||
GVPR
|
||||
/
|
||||
|
||||
WVPR
|
||||
/
|
||||
|
||||
GVPT
|
||||
/
|
||||
|
||||
WVPT
|
||||
/
|
||||
|
||||
GVIR
|
||||
/
|
||||
|
||||
WVIR
|
||||
/
|
||||
|
||||
GVIT
|
||||
/
|
||||
|
||||
WVIT
|
||||
/
|
||||
|
||||
ROE
|
||||
/
|
||||
|
||||
GWIT
|
||||
/
|
||||
|
||||
GGIT
|
||||
/
|
||||
|
||||
GPRW
|
||||
/ Node pressure for water injection manifolds.
|
||||
|
||||
ROIP_GL
|
||||
/
|
||||
|
||||
ROIP_NL
|
||||
/
|
||||
|
||||
RPR__GL
|
||||
/
|
||||
|
||||
RPR__NL
|
||||
/
|
||||
|
||||
ROPR_GL
|
||||
/
|
||||
|
||||
ROPT_GL
|
||||
/
|
||||
|
||||
ROPR_NL
|
||||
/
|
||||
|
||||
ROPT_NL
|
||||
/
|
||||
|
||||
RGPR_GL
|
||||
/
|
||||
|
||||
RGPT_GL
|
||||
/
|
||||
|
||||
RGPR_NL
|
||||
/
|
||||
|
||||
RGPT_NL
|
||||
/
|
||||
|
||||
RWPR_GL
|
||||
/
|
||||
|
||||
RWPT_GL
|
||||
/
|
||||
|
||||
RWPR_NL
|
||||
/
|
||||
|
||||
RWPT_NL
|
||||
/
|
||||
|
||||
RWIR_GL
|
||||
/
|
||||
|
||||
RWIT_GL
|
||||
/
|
||||
|
||||
RWIR_NL
|
||||
/
|
||||
|
||||
RWIT_NL
|
||||
/
|
||||
|
||||
WWIR
|
||||
'F-4AH'
|
||||
/
|
||||
|
||||
WWIT
|
||||
'F-4AH'
|
||||
/
|
||||
|
||||
WBHP
|
||||
'F-4AH'
|
||||
/
|
||||
|
||||
WTHP
|
||||
'F-4AH'
|
||||
/
|
||||
|
||||
WWIR
|
||||
'I50' 'I51' 'I52' 'I55_K4'
|
||||
/
|
||||
|
||||
WWIT
|
||||
'I50' 'I51' 'I52' 'I55_K4'
|
||||
/
|
||||
|
||||
WBHP
|
||||
'I50' 'I51' 'I52' 'I55_K4'
|
||||
/
|
||||
|
||||
WTHP
|
||||
'I50' 'I51' 'I52' 'I55_K4'
|
||||
/
|
||||
|
||||
|
41
python/examples/data/norne/INCLUDE/SUMMARY/gas.inc
Normal file
41
python/examples/data/norne/INCLUDE/SUMMARY/gas.inc
Normal file
@ -0,0 +1,41 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
RGIR
|
||||
1 /
|
||||
RGPR
|
||||
1 /
|
||||
RGIPG
|
||||
1 /
|
||||
RGIPL
|
||||
1 /
|
||||
|
||||
RGIT
|
||||
1 /
|
||||
RGPT
|
||||
1 /
|
||||
RWIR
|
||||
1 /
|
||||
RWPR
|
||||
1 /
|
||||
RWPT
|
||||
1 /
|
||||
RWIP
|
||||
1 /
|
||||
ROPR
|
||||
1 /
|
||||
ROIR
|
||||
1 /
|
||||
ROIT
|
||||
1 /
|
||||
ROIPG
|
||||
1 /
|
||||
ROIPL
|
||||
1 /
|
||||
|
||||
ROPT
|
||||
1 /
|
234
python/examples/data/norne/INCLUDE/SUMMARY/summary.data
Normal file
234
python/examples/data/norne/INCLUDE/SUMMARY/summary.data
Normal file
@ -0,0 +1,234 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
-- Summary file for the base case, short version --
|
||||
DATE
|
||||
PERFORMA
|
||||
--
|
||||
-- Field Data
|
||||
-- Production Rates
|
||||
FVPR
|
||||
FWPR
|
||||
FWPRH
|
||||
FOPR
|
||||
FOPRH
|
||||
FGPR
|
||||
FGPRH
|
||||
FLPR
|
||||
FLPRH
|
||||
FGSR
|
||||
FGCR
|
||||
--FTPRSEA
|
||||
-- Injection Rates
|
||||
FVIR
|
||||
FWIR
|
||||
FWIRH
|
||||
FGIR
|
||||
FGIRH
|
||||
-- Production Cummulatives
|
||||
FVPT
|
||||
FWPT
|
||||
FOPT
|
||||
FLPT
|
||||
FLPTH
|
||||
FGPT
|
||||
FOPTH
|
||||
FGPTH
|
||||
FWPTH
|
||||
FGST
|
||||
FGCT
|
||||
-- Injection Cummulatives
|
||||
FVIT
|
||||
FWIT
|
||||
FWITH
|
||||
FGIT
|
||||
FGITH
|
||||
-- In place
|
||||
FWIP
|
||||
FOIP
|
||||
FGIP
|
||||
-- Ratios
|
||||
FWCT
|
||||
FWCTH
|
||||
FGOR
|
||||
FGORH
|
||||
-- Pressures
|
||||
FPR
|
||||
--BPR
|
||||
--18 63 25 /
|
||||
--18 63 26 /
|
||||
--/
|
||||
-- Region data
|
||||
RPR
|
||||
/
|
||||
ROPT
|
||||
/
|
||||
RGPT
|
||||
/
|
||||
RWPT
|
||||
/
|
||||
RGFT
|
||||
/
|
||||
RWFT
|
||||
/
|
||||
ROIP
|
||||
/
|
||||
ROP
|
||||
/
|
||||
-- Group data --
|
||||
GPR
|
||||
/
|
||||
GOPT
|
||||
/
|
||||
GGPT
|
||||
/
|
||||
GWPT
|
||||
/
|
||||
GOPR
|
||||
/
|
||||
GLPR
|
||||
/
|
||||
GGPR
|
||||
/
|
||||
GWPR
|
||||
/
|
||||
GGIR
|
||||
/
|
||||
GGIT
|
||||
/
|
||||
GWCT
|
||||
/
|
||||
GGOR
|
||||
/
|
||||
GWIR
|
||||
/
|
||||
-- Well Data
|
||||
-- Production Rates
|
||||
WWPR
|
||||
/
|
||||
WWPRH
|
||||
/
|
||||
WOPR
|
||||
/
|
||||
WOPRH
|
||||
/
|
||||
WGPR
|
||||
/
|
||||
WGPRH
|
||||
/
|
||||
WLPR
|
||||
/
|
||||
WLPRH
|
||||
/
|
||||
|
||||
WLPT
|
||||
/
|
||||
|
||||
WLPTH
|
||||
/
|
||||
|
||||
-- Injection Rates
|
||||
WWIR
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
||||
WWIRH
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
||||
WGIR
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
||||
|
||||
WGIRH
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
||||
|
||||
WGIT
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
||||
|
||||
WGIRH
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
||||
-- Production Cummulatives
|
||||
WWPT
|
||||
/
|
||||
WWPTH
|
||||
/
|
||||
WOPT
|
||||
/
|
||||
WOPTH
|
||||
/
|
||||
WGPT
|
||||
/
|
||||
WGPTH
|
||||
/
|
||||
-- Tracers
|
||||
--WTPRSEA
|
||||
--/
|
||||
--WTPTSEA
|
||||
--/
|
||||
-- Injection Cummulatives
|
||||
WWIT
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
||||
-- Ratios
|
||||
WWCT
|
||||
/
|
||||
WWCTH
|
||||
/
|
||||
WGOR
|
||||
/
|
||||
WGORH
|
||||
/
|
||||
WGORH
|
||||
/
|
||||
-- Performance
|
||||
WBHP
|
||||
/
|
||||
WBHPH
|
||||
/
|
||||
WTHP
|
||||
/
|
||||
WTHPH
|
||||
/
|
||||
WPI
|
||||
/
|
||||
WBP
|
||||
/
|
||||
WBP4
|
||||
/
|
||||
-- Water injection per connection
|
||||
CWIR
|
||||
'F-1H' /
|
||||
'F-2H' /
|
||||
'F-3H' /
|
||||
'F-4H' /
|
||||
'C-1H' /
|
||||
'C-2H' /
|
||||
'C-3H' /
|
||||
'C-4H' /
|
||||
/
|
||||
CWIT
|
||||
'F-1H' /
|
||||
'F-2H' /
|
||||
'F-3H' /
|
||||
'F-4H' /
|
||||
'C-1H' /
|
||||
'C-2H' /
|
||||
'C-3H' /
|
||||
'C-4H' /
|
||||
/
|
||||
-- Connection production rates
|
||||
CGPT
|
||||
'E-4AH' /
|
||||
/
|
||||
CGFR
|
||||
'E-4AH' /
|
||||
/
|
||||
CWFR
|
||||
'E-2H' /
|
||||
/
|
141
python/examples/data/norne/INCLUDE/SUMMARY/tracer.data
Normal file
141
python/examples/data/norne/INCLUDE/SUMMARY/tracer.data
Normal file
@ -0,0 +1,141 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
-- Summary file for the base case, short version --
|
||||
--
|
||||
-- Field Data
|
||||
-- Production Rates
|
||||
FTPRSEA
|
||||
FTPRHTO
|
||||
FTPRS36
|
||||
FTPR2FB
|
||||
FTPR4FB
|
||||
FTPRDFB
|
||||
FTPRTFB
|
||||
-- Production Conc.
|
||||
FTPCSEA
|
||||
FTPCHTO
|
||||
FTPCS36
|
||||
FTPC2FB
|
||||
FTPC4FB
|
||||
FTPCDFB
|
||||
FTPCTFB
|
||||
-- Injection Rates
|
||||
FTIRSEA
|
||||
FTIRHTO
|
||||
FTIRS36
|
||||
FTIR2FB
|
||||
FTIR4FB
|
||||
FTIRDFB
|
||||
FTIRTFB
|
||||
-- Production Cummulatives
|
||||
FTPTSEA
|
||||
FTPTHTO
|
||||
FTPTS36
|
||||
FTPT2FB
|
||||
FTPT4FB
|
||||
FTPTDFB
|
||||
FTPTTFB
|
||||
-- Injection Cummulatives
|
||||
FTITSEA
|
||||
FTITHTO
|
||||
FTITS36
|
||||
FTIT2FB
|
||||
FTIT4FB
|
||||
FTITDFB
|
||||
FTITTFB
|
||||
-- Well Data
|
||||
-- Production Rates
|
||||
WTPRSEA
|
||||
/
|
||||
WTPRHTO
|
||||
/
|
||||
WTPRS36
|
||||
/
|
||||
WTPR2FB
|
||||
/
|
||||
WTPR4FB
|
||||
/
|
||||
WTPRDFB
|
||||
/
|
||||
WTPRTFB
|
||||
/
|
||||
-- Production Concentrations
|
||||
WTPCSEA
|
||||
/
|
||||
WTPCHTO
|
||||
/
|
||||
WTPCS36
|
||||
/
|
||||
WTPC2FB
|
||||
/
|
||||
WTPC4FB
|
||||
/
|
||||
WTPCDFB
|
||||
/
|
||||
WTPCTFB
|
||||
/
|
||||
|
||||
-- Injection Rates
|
||||
WTIRSEA
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
||||
WTIRHTO
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
||||
WTIRS36
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
||||
WTIR2FB
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
||||
WTIR4FB
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
||||
WTIRDFB
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
||||
WTIRTFB
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
||||
-- Production Cumulatives
|
||||
WTPTSEA
|
||||
/
|
||||
WTPTHTO
|
||||
/
|
||||
WTPTS36
|
||||
/
|
||||
WTPT2FB
|
||||
/
|
||||
WTPT4FB
|
||||
/
|
||||
WTPTDFB
|
||||
/
|
||||
WTPTTFB
|
||||
/
|
||||
-- Injection Cumulatives
|
||||
WTITSEA
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
||||
WTITHTO
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
||||
WTITS36
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
||||
WTIT2FB
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
||||
WTIT4FB
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
||||
WTITDFB
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
||||
WTITTFB
|
||||
C-1H C-2H C-3H C-4H C-4AH F-1H F-2H F-3H F-4H
|
||||
/
|
13
python/examples/data/norne/INCLUDE/SUMMARY/wpave.inc
Normal file
13
python/examples/data/norne/INCLUDE/SUMMARY/wpave.inc
Normal file
@ -0,0 +1,13 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
|
||||
WBP5
|
||||
/
|
||||
|
||||
WBP9
|
||||
/
|
1557
python/examples/data/norne/INCLUDE/VFP/AlmostVertNew.VFP
Normal file
1557
python/examples/data/norne/INCLUDE/VFP/AlmostVertNew.VFP
Normal file
File diff suppressed because it is too large
Load Diff
3600
python/examples/data/norne/INCLUDE/VFP/B1BH.Ecl
Normal file
3600
python/examples/data/norne/INCLUDE/VFP/B1BH.Ecl
Normal file
File diff suppressed because it is too large
Load Diff
4102
python/examples/data/norne/INCLUDE/VFP/B2H.Ecl
Normal file
4102
python/examples/data/norne/INCLUDE/VFP/B2H.Ecl
Normal file
File diff suppressed because it is too large
Load Diff
3601
python/examples/data/norne/INCLUDE/VFP/B3H.Ecl
Normal file
3601
python/examples/data/norne/INCLUDE/VFP/B3H.Ecl
Normal file
File diff suppressed because it is too large
Load Diff
3603
python/examples/data/norne/INCLUDE/VFP/B4DH.Ecl
Normal file
3603
python/examples/data/norne/INCLUDE/VFP/B4DH.Ecl
Normal file
File diff suppressed because it is too large
Load Diff
128
python/examples/data/norne/INCLUDE/VFP/C1H.Ecl
Normal file
128
python/examples/data/norne/INCLUDE/VFP/C1H.Ecl
Normal file
@ -0,0 +1,128 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 8.01 - License#:4163 - Nov 12 2004 18:40:47
|
||||
-- Generated on : 08 Sep 05 14:13
|
||||
-- Input File : Z:\Project\norne6\prod\gap\WI\C1H.OUT
|
||||
-- Output File : Z:\Project\norne6\prod\gap\WI\C1H.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type : Tubing
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : Full System
|
||||
--
|
||||
-- Completion : Cased Hole
|
||||
-- Gravel Pack : No
|
||||
--
|
||||
-- Inflow Type : Single Branch
|
||||
-- Gas Coning : No
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : C-1H
|
||||
-- Platform : Transocean Prospect
|
||||
-- Analyst : shlea
|
||||
-- Date : 22 Mar 99 15:59
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Dukler Eaton Flannigan
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
-- First Node : 1 Xmas Tree 392.3 (m)
|
||||
-- Last Node : 8 Casing 3043 (m)
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
12 2718.07 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
500.0 1263.2 2026.3 2789.5 3552.6
|
||||
4315.8 5078.9 5842.1 6605.3 7368.4
|
||||
8131.6 8894.7 9657.9 10421.1 11184.2
|
||||
11947.4 12710.5 13473.7 14236.8 15000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
21.01 63.24 105.46 147.68 189.90
|
||||
232.12 274.35 316.57 358.79 401.01 /
|
||||
|
||||
1 254.51 253.95 252.27 249.83 246.69
|
||||
242.88 238.42 233.32 227.59 221.22
|
||||
214.23 206.62 198.38 189.53 180.06
|
||||
169.97 159.26 147.95 136.00 123.46
|
||||
/
|
||||
2 297.02 296.49 294.82 292.39 289.26
|
||||
285.47 281.01 275.92 270.20 263.84
|
||||
256.87 249.28 241.05 232.22 222.76
|
||||
212.70 202.01 190.71 178.79 166.27
|
||||
/
|
||||
3 339.54 339.03 337.37 334.95 331.83
|
||||
328.05 323.60 318.52 312.82 306.47
|
||||
299.52 291.94 283.73 274.91 265.47
|
||||
255.43 244.75 233.48 221.58 209.09
|
||||
/
|
||||
4 382.06 381.57 379.93 377.51 374.41
|
||||
370.63 366.19 361.13 355.44 349.10
|
||||
342.16 334.60 326.40 317.61 308.18
|
||||
298.16 287.50 276.26 264.37 251.90
|
||||
/
|
||||
5 424.58 424.11 422.48 420.08 416.98
|
||||
413.22 408.78 403.73 398.06 391.73
|
||||
384.81 377.26 369.08 360.30 350.89
|
||||
340.89 330.25 319.03 307.16 294.72
|
||||
/
|
||||
6 467.10 466.65 465.03 462.64 459.55
|
||||
455.80 451.37 446.34 440.68 434.36
|
||||
427.45 419.93 411.75 403.00 393.60
|
||||
383.62 373.00 361.80 349.96 337.54
|
||||
/
|
||||
7 509.62 509.20 507.59 505.21 502.13
|
||||
498.39 493.97 488.95 483.30 476.99
|
||||
470.10 462.59 454.43 445.69 436.31
|
||||
426.35 415.75 404.57 392.75 380.36
|
||||
/
|
||||
8 552.14 551.74 550.15 547.77 544.71
|
||||
540.98 536.56 531.56 525.92 519.62
|
||||
512.75 505.26 497.11 488.39 479.02
|
||||
469.09 458.50 447.35 435.55 423.18
|
||||
/
|
||||
9 594.67 594.29 592.70 590.34 587.29
|
||||
583.57 579.16 574.17 568.55 562.25
|
||||
555.40 547.92 539.79 531.09 521.74
|
||||
511.82 501.25 490.13 478.34 466.01
|
||||
/
|
||||
10 637.19 636.83 635.26 632.91 629.86
|
||||
626.16 621.76 616.78 611.17 604.89
|
||||
598.05 590.59 582.47 573.79 564.45
|
||||
554.56 544.01 532.91 521.14 508.83
|
||||
/
|
128
python/examples/data/norne/INCLUDE/VFP/C2H.Ecl
Normal file
128
python/examples/data/norne/INCLUDE/VFP/C2H.Ecl
Normal file
@ -0,0 +1,128 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 8.01 - License#:4163 - Nov 12 2004 18:40:47
|
||||
-- Generated on : 08 Sep 05 14:16
|
||||
-- Input File : Z:\Project\norne6\prod\gap\WI\C2H.OUT
|
||||
-- Output File : Z:\Project\norne6\prod\gap\WI\C2H.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type : Tubing
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : Full System
|
||||
--
|
||||
-- Completion : Cased Hole
|
||||
-- Gravel Pack : No
|
||||
--
|
||||
-- Inflow Type : Single Branch
|
||||
-- Gas Coning : No
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : C-2H
|
||||
-- Platform : Transocean Prospect
|
||||
-- Analyst : shlea
|
||||
-- Date : 19 Mar 99 12:58
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Dukler Flannigan
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
-- First Node : 1 Xmas Tree 392.3 (m)
|
||||
-- Last Node : 10 Tubing 4015 (m)
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
13 2672.2 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
500.0 1263.2 2026.3 2789.5 3552.6
|
||||
4315.8 5078.9 5842.1 6605.3 7368.4
|
||||
8131.6 8894.7 9657.9 10421.1 11184.2
|
||||
11947.4 12710.5 13473.7 14236.8 15000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
21.01 63.24 105.46 147.68 189.90
|
||||
232.12 274.35 316.57 358.79 401.01 /
|
||||
|
||||
1 249.49 248.71 246.49 243.27 239.16
|
||||
234.22 228.46 221.95 214.67 206.64
|
||||
197.89 188.40 178.21 167.32 155.73
|
||||
143.45 130.49 116.83 102.51 87.52
|
||||
/
|
||||
2 292.00 291.25 289.03 285.82 281.73
|
||||
276.80 271.06 264.55 257.29 249.27
|
||||
240.54 231.07 220.90 210.02 198.46
|
||||
186.19 173.25 159.62 145.32 130.36
|
||||
/
|
||||
3 334.50 333.78 331.58 328.38 324.30
|
||||
319.38 313.65 307.16 299.92 291.91
|
||||
283.19 273.74 263.58 252.73 241.18
|
||||
228.93 216.02 202.41 188.13 173.19
|
||||
/
|
||||
4 377.01 376.31 374.12 370.94 366.87
|
||||
361.97 356.24 349.77 342.54 334.54
|
||||
325.85 316.40 306.27 295.43 283.91
|
||||
271.67 258.78 245.19 230.93 216.03
|
||||
/
|
||||
5 419.52 418.84 416.67 413.50 409.44
|
||||
404.55 398.83 392.37 385.16 377.18
|
||||
368.50 359.07 348.95 338.14 326.63
|
||||
314.42 301.55 287.98 273.74 258.86
|
||||
/
|
||||
6 462.03 461.38 459.22 456.05 452.01
|
||||
447.13 441.43 434.98 427.79 419.82
|
||||
411.16 401.74 391.64 380.84 369.36
|
||||
357.16 344.32 330.77 316.55 301.70
|
||||
/
|
||||
7 504.55 503.91 501.76 498.62 494.58
|
||||
489.72 484.02 477.59 470.42 462.45
|
||||
453.82 444.41 434.33 423.55 412.09
|
||||
399.91 387.09 373.56 359.36 344.54
|
||||
/
|
||||
8 547.06 546.45 544.31 541.18 537.16
|
||||
532.31 526.62 520.21 513.05 505.09
|
||||
496.47 487.09 477.02 466.26 454.82
|
||||
442.66 429.86 416.35 402.18 387.38
|
||||
/
|
||||
9 589.57 588.98 586.86 583.74 579.73
|
||||
574.90 569.22 562.82 555.67 547.74
|
||||
539.13 529.76 519.71 508.97 497.55
|
||||
485.41 472.63 459.14 444.99 430.22
|
||||
/
|
||||
10 632.09 631.52 629.41 626.30 622.31
|
||||
617.49 611.81 605.43 598.30 590.38
|
||||
581.79 572.43 562.40 551.68 540.28
|
||||
528.16 515.40 501.94 487.80 473.06
|
||||
/
|
128
python/examples/data/norne/INCLUDE/VFP/C3H.Ecl
Normal file
128
python/examples/data/norne/INCLUDE/VFP/C3H.Ecl
Normal file
@ -0,0 +1,128 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 8.01 - License#:4163 - Nov 12 2004 18:40:47
|
||||
-- Generated on : 08 Sep 05 14:17
|
||||
-- Input File : Z:\Project\norne6\prod\gap\WI\C3H.OUT
|
||||
-- Output File : Z:\Project\norne6\prod\gap\WI\C3H.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type : Tubing
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : Full System
|
||||
--
|
||||
-- Completion : Cased Hole
|
||||
-- Gravel Pack : No
|
||||
--
|
||||
-- Inflow Type : Single Branch
|
||||
-- Gas Coning : No
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : C-3H
|
||||
-- Platform : Transocean Prospect
|
||||
-- Analyst : shlea
|
||||
-- Date : 24 Jun 99 14:32
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Fancher Brown
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
-- First Node : 1 Xmas Tree 392.3 (m)
|
||||
-- Last Node : 8 Tubing 3470.5 (m)
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
14 2704.29 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
500.0 1263.2 2026.3 2789.5 3552.6
|
||||
4315.8 5078.9 5842.1 6605.3 7368.4
|
||||
8131.6 8894.7 9657.9 10421.1 11184.2
|
||||
11947.4 12710.5 13473.7 14236.8 15000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
21.01 63.24 105.46 147.68 189.90
|
||||
232.12 274.35 316.57 358.79 401.01 /
|
||||
|
||||
1 252.89 252.23 250.24 247.33 243.58
|
||||
239.04 233.71 227.62 220.75 213.14
|
||||
204.77 195.65 185.79 175.18 163.83
|
||||
151.73 138.89 125.32 110.99 95.93
|
||||
/
|
||||
2 295.40 294.76 292.79 289.89 286.15
|
||||
281.62 276.30 270.22 263.37 255.77
|
||||
247.42 238.31 228.47 217.88 206.55
|
||||
194.47 181.65 168.10 153.80 138.77
|
||||
/
|
||||
3 337.91 337.30 335.33 332.44 328.72
|
||||
324.20 318.90 312.83 305.98 298.40
|
||||
290.07 280.97 271.15 260.59 249.26
|
||||
237.22 224.42 210.89 196.61 181.61
|
||||
/
|
||||
4 380.42 379.83 377.88 375.00 371.29
|
||||
366.78 361.49 355.44 348.60 341.04
|
||||
332.72 323.64 313.84 303.29 291.99
|
||||
279.96 267.18 253.68 239.42 224.45
|
||||
/
|
||||
5 422.94 422.37 420.43 417.56 413.86
|
||||
409.36 404.09 398.05 391.22 383.67
|
||||
375.37 366.31 356.53 346.00 334.71
|
||||
322.70 309.94 296.47 282.23 267.28
|
||||
/
|
||||
6 465.45 464.91 462.98 460.13 456.43
|
||||
451.95 446.68 440.66 433.84 426.31
|
||||
418.03 408.97 399.21 388.70 377.43
|
||||
365.45 352.71 339.26 325.04 310.12
|
||||
/
|
||||
7 507.97 507.44 505.53 502.69 499.01
|
||||
494.53 489.28 483.27 476.46 468.94
|
||||
460.68 451.64 441.90 431.41 420.16
|
||||
408.20 395.47 382.05 367.86 352.97
|
||||
/
|
||||
8 550.48 549.99 548.09 545.25 541.58
|
||||
537.12 531.88 525.88 519.08 511.58
|
||||
503.34 494.31 484.59 474.12 462.88
|
||||
450.95 438.24 424.84 410.67 395.81
|
||||
/
|
||||
9 593.00 592.53 590.64 587.82 584.16
|
||||
579.70 574.48 568.49 561.71 554.22
|
||||
546.00 536.98 527.28 516.83 505.61
|
||||
493.70 481.01 467.64 453.49 438.65
|
||||
/
|
||||
10 635.52 635.07 633.19 630.38 626.73
|
||||
622.29 617.08 611.11 604.33 596.86
|
||||
588.65 579.65 569.97 559.54 548.34
|
||||
536.45 523.78 510.43 496.31 481.50
|
||||
/
|
128
python/examples/data/norne/INCLUDE/VFP/C4AH.Ecl
Normal file
128
python/examples/data/norne/INCLUDE/VFP/C4AH.Ecl
Normal file
@ -0,0 +1,128 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 8.01 - License#:4163 - Nov 12 2004 18:40:47
|
||||
-- Generated on : 08 Sep 05 14:22
|
||||
-- Input File : Z:\Project\norne6\prod\gap\WI\C4AH.OUT
|
||||
-- Output File : Z:\Project\norne6\prod\gap\WI\C4AH.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type : Tubing
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : Full System
|
||||
--
|
||||
-- Completion : Cased Hole
|
||||
-- Gravel Pack : No
|
||||
--
|
||||
-- Inflow Type : Single Branch
|
||||
-- Gas Coning : No
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : C-3H
|
||||
-- Platform : Transocean Prospect
|
||||
-- Analyst : shlea
|
||||
-- Date : 24 Jun 99 14:32
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Fancher Brown
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
-- First Node : 1 Xmas Tree 392.3 (m)
|
||||
-- Last Node : 11 Tubing 3422.5 (m)
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
16 2719.4 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
500.0 1263.2 2026.3 2789.5 3552.6
|
||||
4315.8 5078.9 5842.1 6605.3 7368.4
|
||||
8131.6 8894.7 9657.9 10421.1 11184.2
|
||||
11947.4 12710.5 13473.7 14236.8 15000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
21.01 63.24 105.46 147.68 189.90
|
||||
232.12 274.35 316.57 358.79 401.01 /
|
||||
|
||||
1 254.45 253.79 251.81 248.93 245.22
|
||||
240.72 235.44 229.41 222.62 215.09
|
||||
206.82 197.80 188.04 177.56 166.33
|
||||
154.38 141.70 128.27 114.12 99.23
|
||||
/
|
||||
2 296.97 296.32 294.36 291.49 287.79
|
||||
283.30 278.04 272.02 265.24 257.72
|
||||
249.46 240.47 230.72 220.26 209.05
|
||||
197.12 184.46 171.06 156.94 142.07
|
||||
/
|
||||
3 339.48 338.86 336.91 334.05 330.36
|
||||
325.88 320.63 314.62 307.85 300.35
|
||||
292.11 283.13 273.41 262.96 251.77
|
||||
239.86 227.23 213.84 199.75 184.91
|
||||
/
|
||||
4 382.00 381.40 379.46 376.61 372.93
|
||||
368.46 363.23 357.23 350.47 342.98
|
||||
334.76 325.80 316.09 305.66 294.49
|
||||
282.61 270.00 256.63 242.57 227.75
|
||||
/
|
||||
5 424.52 423.94 422.02 419.17 415.50
|
||||
411.04 405.82 399.84 393.09 385.62
|
||||
377.41 368.47 358.77 348.37 337.21
|
||||
325.35 312.76 299.42 285.38 270.59
|
||||
/
|
||||
6 467.03 466.48 464.57 461.73 458.07
|
||||
453.63 448.42 442.45 435.71 428.25
|
||||
420.06 411.14 401.46 391.07 379.93
|
||||
368.09 355.53 342.21 328.20 313.43
|
||||
/
|
||||
7 509.55 509.02 507.12 504.30 500.65
|
||||
496.21 491.01 485.06 478.33 470.89
|
||||
462.72 453.81 444.14 433.78 422.65
|
||||
410.84 398.31 385.00 371.02 356.27
|
||||
/
|
||||
8 552.07 551.57 549.68 546.86 543.23
|
||||
538.80 533.61 527.67 520.95 513.53
|
||||
505.37 496.48 486.83 476.49 465.38
|
||||
453.59 441.08 427.80 413.84 399.12
|
||||
/
|
||||
9 594.59 594.11 592.23 589.43 585.80
|
||||
581.39 576.21 570.29 563.58 556.17
|
||||
548.03 539.16 529.52 519.19 508.11
|
||||
496.34 483.85 470.59 456.66 441.96
|
||||
/
|
||||
10 637.11 636.65 634.79 632.00 628.38
|
||||
623.98 618.81 612.90 606.20 598.81
|
||||
590.68 581.83 572.20 561.90 550.83
|
||||
539.09 526.63 513.39 499.49 484.81
|
||||
/
|
128
python/examples/data/norne/INCLUDE/VFP/C4H.Ecl
Normal file
128
python/examples/data/norne/INCLUDE/VFP/C4H.Ecl
Normal file
@ -0,0 +1,128 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 8.01 - License#:4163 - Nov 12 2004 18:40:47
|
||||
-- Generated on : 04 Oct 05 12:35
|
||||
-- Input File : Z:\Project\norne6\prod\gap\WI\C4H.OUT
|
||||
-- Output File : Z:\Project\norne6\prod\gap\WI\C4H.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type : Tubing
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : Full System
|
||||
--
|
||||
-- Completion : Cased Hole
|
||||
-- Gravel Pack : No
|
||||
--
|
||||
-- Inflow Type : Single Branch
|
||||
-- Gas Coning : No
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : C-3H
|
||||
-- Platform : Transocean Prospect
|
||||
-- Analyst : shlea
|
||||
-- Date : 24 Jun 99 14:32
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Fancher Brown
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
-- First Node : 1 Xmas Tree 392.3 (m)
|
||||
-- Last Node : 10 Tubing 2717 (m)
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
15 2692.99 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
600.0 1263.2 2026.3 2789.5 3552.6
|
||||
4315.8 5078.9 5842.1 6605.3 7368.4
|
||||
8131.6 8894.7 9657.9 10421.1 11184.2
|
||||
11947.4 12710.5 13473.7 14236.8 15000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
21.01 63.24 105.46 147.68 189.90
|
||||
232.12 274.35 316.57 358.79 401.01 /
|
||||
|
||||
1 252.21 251.96 250.98 249.52 247.62
|
||||
245.30 242.59 239.49 236.00 232.13
|
||||
227.88 223.24 218.23 212.83 207.07
|
||||
200.92 194.41 187.52 180.26 172.62
|
||||
/
|
||||
2 294.73 294.49 293.53 292.07 290.18
|
||||
287.87 285.17 282.08 278.59 274.73
|
||||
270.50 265.86 260.87 255.48 249.73
|
||||
243.59 237.10 230.22 222.98 215.34
|
||||
/
|
||||
3 337.25 337.03 336.07 334.63 332.75
|
||||
330.44 327.75 324.67 321.19 317.34
|
||||
313.11 308.49 303.51 298.13 292.40
|
||||
286.27 279.79 272.91 265.69 258.07
|
||||
/
|
||||
4 379.77 379.57 378.62 377.18 375.31
|
||||
373.01 370.33 367.26 363.78 359.95
|
||||
355.74 351.11 346.15 340.77 335.06
|
||||
328.94 322.48 315.62 308.41 300.80
|
||||
/
|
||||
5 422.29 422.10 421.17 419.74 417.88
|
||||
415.58 412.91 409.85 406.38 402.56
|
||||
398.36 393.74 388.79 383.42 377.72
|
||||
371.61 365.17 358.32 351.13 343.54
|
||||
/
|
||||
6 464.81 464.64 463.72 462.30 460.45
|
||||
458.15 455.49 452.45 448.98 445.17
|
||||
440.98 436.37 431.43 426.08 420.39
|
||||
414.29 407.86 401.02 393.85 386.27
|
||||
/
|
||||
7 507.34 507.18 506.27 504.86 503.01
|
||||
500.72 498.07 495.04 491.58 487.78
|
||||
483.60 479.00 474.07 468.73 463.06
|
||||
456.97 450.56 443.72 436.57 429.00
|
||||
/
|
||||
8 549.86 549.72 548.82 547.42 545.59
|
||||
543.30 540.66 537.63 534.18 530.39
|
||||
526.23 521.64 516.72 511.38 505.73
|
||||
499.65 493.25 486.43 479.30 471.74
|
||||
/
|
||||
9 592.39 592.26 591.37 589.98 588.16
|
||||
585.87 583.24 580.23 576.78 573.00
|
||||
568.85 564.27 559.37 554.04 548.40
|
||||
542.32 535.95 529.14 522.02 514.48
|
||||
/
|
||||
10 634.92 634.80 633.92 632.54 630.73
|
||||
628.45 625.83 622.83 619.38 615.62
|
||||
611.48 606.90 602.01 596.69 591.07
|
||||
585.01 578.64 571.84 564.75 557.21
|
||||
/
|
3602
python/examples/data/norne/INCLUDE/VFP/D1CH.Ecl
Normal file
3602
python/examples/data/norne/INCLUDE/VFP/D1CH.Ecl
Normal file
File diff suppressed because it is too large
Load Diff
3602
python/examples/data/norne/INCLUDE/VFP/D2H.Ecl
Normal file
3602
python/examples/data/norne/INCLUDE/VFP/D2H.Ecl
Normal file
File diff suppressed because it is too large
Load Diff
3701
python/examples/data/norne/INCLUDE/VFP/D3BH.Ecl
Normal file
3701
python/examples/data/norne/INCLUDE/VFP/D3BH.Ecl
Normal file
File diff suppressed because it is too large
Load Diff
1172
python/examples/data/norne/INCLUDE/VFP/DevNew.VFP
Normal file
1172
python/examples/data/norne/INCLUDE/VFP/DevNew.VFP
Normal file
File diff suppressed because it is too large
Load Diff
4101
python/examples/data/norne/INCLUDE/VFP/E1H.Ecl
Normal file
4101
python/examples/data/norne/INCLUDE/VFP/E1H.Ecl
Normal file
File diff suppressed because it is too large
Load Diff
1077
python/examples/data/norne/INCLUDE/VFP/E1h.VFP
Normal file
1077
python/examples/data/norne/INCLUDE/VFP/E1h.VFP
Normal file
File diff suppressed because it is too large
Load Diff
4101
python/examples/data/norne/INCLUDE/VFP/E3CH.Ecl
Normal file
4101
python/examples/data/norne/INCLUDE/VFP/E3CH.Ecl
Normal file
File diff suppressed because it is too large
Load Diff
132
python/examples/data/norne/INCLUDE/VFP/F1H.Ecl
Normal file
132
python/examples/data/norne/INCLUDE/VFP/F1H.Ecl
Normal file
@ -0,0 +1,132 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 9.3 - License#:4474 - Sep 17 2006 14:05:16
|
||||
-- Generated on : 12 Feb 07 12:21
|
||||
-- Input File : Y:\Project\norne6\prod\gap\WI\F1H.OUT
|
||||
-- Output File : Y:\Project\norne6\res\INCLUDE\VFP\F1H.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type : Tubing
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : Full System
|
||||
--
|
||||
-- Completion : Cased Hole
|
||||
-- Gravel Pack : No
|
||||
--
|
||||
-- Inflow Type : Single Branch
|
||||
-- Gas Coning : No
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : F-1H
|
||||
-- Platform : Transocean Prospect
|
||||
-- Analyst : shlea
|
||||
-- Date : 25 Jun 99 11:56
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Fancher Brown
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
--
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
--
|
||||
-- First Node : 1 Xmas Tree 397.2 (m)
|
||||
-- Last Node : 9 Tubing 2888 (m)
|
||||
--
|
||||
-- Sensitivity Variable 1 : First Node Pressure
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
17 2733.7 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
500.0 1263.2 2026.3 2789.5 3552.6
|
||||
4315.8 5078.9 5842.1 6605.3 7368.4
|
||||
8131.6 8894.7 9657.9 10421.1 11947.4
|
||||
13473.7 14236.8 15000.0 18000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
21.01 63.24 105.46 147.68 189.90
|
||||
232.12 274.35 316.57 358.79 401.01 /
|
||||
|
||||
1 255.66 255.10 253.49 251.14 248.12
|
||||
244.45 240.16 235.26 229.74 223.62
|
||||
216.90 209.57 201.66 193.14 174.34
|
||||
153.15 141.67 129.60 76.40
|
||||
/
|
||||
2 298.18 297.64 296.05 293.70 290.69
|
||||
287.03 282.75 277.86 272.35 266.25
|
||||
259.54 252.23 244.33 235.82 217.06
|
||||
195.92 184.46 172.42 119.32
|
||||
/
|
||||
3 340.70 340.18 338.60 336.27 333.27
|
||||
329.61 325.35 320.47 314.96 308.87
|
||||
302.19 294.88 287.01 278.51 259.79
|
||||
238.69 227.25 215.23 162.24
|
||||
/
|
||||
4 383.22 382.72 381.16 378.83 375.85
|
||||
372.19 367.94 363.08 357.58 351.51
|
||||
344.84 337.54 329.68 321.20 302.53
|
||||
281.46 270.04 258.05 205.15
|
||||
/
|
||||
5 425.74 425.26 423.71 421.40 418.42
|
||||
414.78 410.54 405.68 400.19 394.14
|
||||
387.48 380.20 372.36 363.89 345.26
|
||||
324.24 312.83 300.87 248.07
|
||||
/
|
||||
6 468.27 467.80 466.27 463.97 461.00
|
||||
457.36 453.13 448.29 442.81 436.77
|
||||
430.13 422.86 415.04 406.58 387.99
|
||||
367.01 355.62 343.68 290.99
|
||||
/
|
||||
7 510.79 510.34 508.83 506.54 503.58
|
||||
499.94 495.73 490.90 485.43 479.40
|
||||
472.78 465.52 457.72 449.28 430.72
|
||||
409.78 398.41 386.50 333.91
|
||||
/
|
||||
8 553.32 552.88 551.39 549.11 546.16
|
||||
542.53 538.33 533.51 528.05 522.04
|
||||
515.43 508.18 500.40 491.97 473.46
|
||||
452.56 441.21 429.33 376.84
|
||||
/
|
||||
9 595.84 595.43 593.95 591.68 588.74
|
||||
585.12 580.93 576.13 570.67 564.67
|
||||
558.08 550.85 543.08 534.67 516.20
|
||||
495.34 484.00 472.15 419.76
|
||||
/
|
||||
10 638.37 637.97 636.51 634.25 631.32
|
||||
627.71 623.53 618.74 613.29 607.31
|
||||
600.74 593.51 585.76 577.36 558.93
|
||||
538.12 526.80 514.97 462.68
|
||||
/
|
128
python/examples/data/norne/INCLUDE/VFP/F2H.Ecl
Normal file
128
python/examples/data/norne/INCLUDE/VFP/F2H.Ecl
Normal file
@ -0,0 +1,128 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 8.01 - License#:4163 - Nov 12 2004 18:40:47
|
||||
-- Generated on : 08 Sep 05 14:23
|
||||
-- Input File : Z:\Project\norne6\prod\gap\WI\F2H.OUT
|
||||
-- Output File : Z:\Project\norne6\prod\gap\WI\F2H.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type : Tubing
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : Full System
|
||||
--
|
||||
-- Completion : Cased Hole
|
||||
-- Gravel Pack : No
|
||||
--
|
||||
-- Inflow Type : Single Branch
|
||||
-- Gas Coning : No
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : F-2H
|
||||
-- Platform : Transocean Prospect
|
||||
-- Analyst : shlea
|
||||
-- Date : 25 Jun 99 11:56
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Fancher Brown
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
-- First Node : 1 Xmas Tree 397.2 (m)
|
||||
-- Last Node : 7 Tubing 2826 (m)
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
18 2743.22 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
500.0 1263.2 2026.3 2789.5 3552.6
|
||||
4315.8 5078.9 5842.1 6605.3 7368.4
|
||||
8131.6 8894.7 9657.9 10421.1 11184.2
|
||||
11947.4 12710.5 13473.7 14236.8 15000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
49.98 99.96 149.94 199.92 224.91
|
||||
249.90 274.89 299.88 349.86 399.84 /
|
||||
|
||||
1 285.81 285.29 283.71 281.41 278.44
|
||||
274.85 270.63 265.80 260.38 254.36
|
||||
247.73 240.53 232.74 224.34 215.38
|
||||
205.81 195.66 184.94 173.62 161.73
|
||||
/
|
||||
2 336.15 335.65 334.09 331.79 328.84
|
||||
325.26 321.06 316.23 310.83 304.83
|
||||
298.21 291.03 283.26 274.88 265.94
|
||||
256.39 246.26 235.57 224.27 212.41
|
||||
/
|
||||
3 386.48 386.01 384.46 382.18 379.24
|
||||
375.67 371.49 366.67 361.28 355.30
|
||||
348.69 341.53 333.78 325.42 316.51
|
||||
306.97 296.86 286.20 274.92 263.09
|
||||
/
|
||||
4 436.82 436.38 434.84 432.57 429.64
|
||||
426.08 421.91 417.11 411.73 405.77
|
||||
399.17 392.03 384.31 375.96 367.07
|
||||
357.56 347.46 336.83 325.57 313.78
|
||||
/
|
||||
5 461.98 461.56 460.03 457.77 454.84
|
||||
451.29 447.13 442.33 436.96 431.00
|
||||
424.42 417.28 409.57 401.23 392.35
|
||||
382.85 372.76 362.14 350.90 339.12
|
||||
/
|
||||
6 487.15 486.74 485.21 482.96 480.04
|
||||
476.50 472.34 467.54 462.19 456.24
|
||||
449.66 442.54 434.83 426.50 417.64
|
||||
408.14 398.07 387.46 376.23 364.46
|
||||
/
|
||||
7 512.32 511.92 510.40 508.16 505.25
|
||||
501.71 497.56 492.77 487.42 481.48
|
||||
474.90 467.79 460.10 451.77 442.92
|
||||
433.43 423.37 412.78 401.55 389.81
|
||||
/
|
||||
8 537.49 537.10 535.59 533.35 530.45
|
||||
526.92 522.77 517.98 512.64 506.71
|
||||
500.15 493.04 485.36 477.04 468.20
|
||||
458.73 448.67 438.09 426.88 415.15
|
||||
/
|
||||
9 587.83 587.47 585.97 583.75 580.85
|
||||
577.34 573.21 568.43 563.10 557.19
|
||||
550.63 543.55 535.89 527.59 518.78
|
||||
509.32 499.28 488.73 477.54 465.84
|
||||
/
|
||||
10 638.17 637.84 636.36 634.14 631.26
|
||||
627.76 623.64 618.87 613.56 607.67
|
||||
601.12 594.06 586.42 578.14 569.35
|
||||
559.91 549.89 539.37 528.20 516.53
|
||||
/
|
128
python/examples/data/norne/INCLUDE/VFP/F3H.Ecl
Normal file
128
python/examples/data/norne/INCLUDE/VFP/F3H.Ecl
Normal file
@ -0,0 +1,128 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 8.01 - License#:4163 - Nov 12 2004 18:40:47
|
||||
-- Generated on : 08 Sep 05 14:23
|
||||
-- Input File : Z:\Project\norne6\prod\gap\WI\F3H.OUT
|
||||
-- Output File : Z:\Project\norne6\prod\gap\WI\F3H.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type : Tubing
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : Full System
|
||||
--
|
||||
-- Completion : Cased Hole
|
||||
-- Gravel Pack : No
|
||||
--
|
||||
-- Inflow Type : Single Branch
|
||||
-- Gas Coning : No
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : F-3H
|
||||
-- Platform : Transocean Prospect
|
||||
-- Analyst : shlea
|
||||
-- Date : 25 Jun 99 11:56
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Fancher Brown
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
-- First Node : 1 Xmas Tree 397.2 (m)
|
||||
-- Last Node : 12 Tubing 3511 (m)
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
19 2733.64 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
500.0 1263.2 2026.3 2789.5 3552.6
|
||||
4315.8 5078.9 5842.1 6605.3 7368.4
|
||||
8131.6 8894.7 9657.9 10421.1 11184.2
|
||||
11947.4 12710.5 13473.7 14236.8 15000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
21.01 63.24 105.46 147.68 189.90
|
||||
232.12 274.35 316.57 358.79 401.01 /
|
||||
|
||||
1 255.32 254.47 252.16 248.81 244.49
|
||||
239.26 233.12 226.09 218.18 209.40
|
||||
199.75 189.23 177.84 165.60 152.50
|
||||
138.52 123.70 108.01 91.47 74.06
|
||||
/
|
||||
2 297.83 297.00 294.71 291.37 287.06
|
||||
281.84 275.71 268.70 260.81 252.03
|
||||
242.40 231.90 220.53 208.31 195.23
|
||||
181.28 166.49 150.82 134.31 116.93
|
||||
/
|
||||
3 340.35 339.54 337.25 333.93 329.63
|
||||
324.42 318.30 311.31 303.43 294.67
|
||||
285.06 274.58 263.22 251.03 237.97
|
||||
224.04 209.27 193.63 177.15 159.79
|
||||
/
|
||||
4 382.87 382.07 379.80 376.50 372.20
|
||||
367.00 360.90 353.92 346.06 337.31
|
||||
327.71 317.26 305.92 293.74 280.71
|
||||
266.80 252.06 236.44 219.99 202.66
|
||||
/
|
||||
5 425.39 424.61 422.35 419.06 414.77
|
||||
409.58 403.50 396.53 388.69 379.95
|
||||
370.37 359.93 348.61 336.46 323.45
|
||||
309.56 294.85 279.25 262.83 245.53
|
||||
/
|
||||
6 467.90 467.15 464.90 461.62 457.34
|
||||
452.17 446.09 439.14 431.31 422.59
|
||||
413.03 402.61 391.31 379.18 366.19
|
||||
352.33 337.64 322.07 305.68 288.40
|
||||
/
|
||||
7 510.42 509.69 507.45 504.19 499.91
|
||||
494.75 488.69 481.75 473.94 465.23
|
||||
455.69 445.29 434.00 421.90 408.94
|
||||
395.09 380.43 364.88 348.52 331.27
|
||||
/
|
||||
8 552.95 552.23 550.00 546.76 542.49
|
||||
537.34 531.29 524.37 516.57 507.87
|
||||
498.35 487.97 476.70 464.62 451.68
|
||||
437.86 423.22 407.70 391.37 374.14
|
||||
/
|
||||
9 595.47 594.77 592.56 589.32 585.06
|
||||
579.93 573.89 566.98 559.20 550.52
|
||||
541.02 530.66 519.40 507.34 494.43
|
||||
480.62 466.02 450.51 434.22 417.02
|
||||
/
|
||||
10 637.99 637.31 635.11 631.89 627.64
|
||||
622.51 616.50 609.60 601.84 593.16
|
||||
583.68 573.34 562.10 550.06 537.17
|
||||
523.39 508.81 493.33 477.06 459.89
|
||||
/
|
128
python/examples/data/norne/INCLUDE/VFP/F4H.Ecl
Normal file
128
python/examples/data/norne/INCLUDE/VFP/F4H.Ecl
Normal file
@ -0,0 +1,128 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 8.01 - License#:4163 - Nov 12 2004 18:40:47
|
||||
-- Generated on : 08 Sep 05 14:24
|
||||
-- Input File : Z:\Project\norne6\prod\gap\WI\F4H.OUT
|
||||
-- Output File : Z:\Project\norne6\prod\gap\WI\F4H.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type : Tubing
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : Full System
|
||||
--
|
||||
-- Completion : Cased Hole
|
||||
-- Gravel Pack : No
|
||||
--
|
||||
-- Inflow Type : Single Branch
|
||||
-- Gas Coning : No
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : F-4H
|
||||
-- Platform :
|
||||
-- Analyst : psk
|
||||
-- Date : 17 Aug 99 14:29
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Dukler Flannigan - (1.000) (1.032)
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
-- First Node : 1 Xmas Tree 397.2 (m)
|
||||
-- Last Node : 10 Tubing 4130.94 (m)
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
20 2656.8 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
500.0 1263.2 2026.3 2789.5 3552.6
|
||||
4315.8 5078.9 5842.1 6605.3 7368.4
|
||||
8131.6 8894.7 9657.9 10421.1 11184.2
|
||||
11947.4 12710.5 13473.7 14236.8 15000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
21.01 63.24 105.46 147.68 189.90
|
||||
232.12 274.35 316.57 358.79 401.01 /
|
||||
|
||||
1 247.68 246.71 244.31 240.86 236.44
|
||||
231.09 224.82 217.66 209.61 200.68
|
||||
190.86 180.18 168.63 156.20 142.90
|
||||
128.75 113.72 97.83 81.07 63.44
|
||||
/
|
||||
2 290.19 289.24 286.85 283.42 279.01
|
||||
273.67 267.42 260.27 252.23 243.31
|
||||
233.52 222.85 211.32 198.92 185.64
|
||||
171.51 156.51 140.65 123.92 106.32
|
||||
/
|
||||
3 332.70 331.76 329.40 325.98 321.58
|
||||
316.25 310.01 302.87 294.85 285.95
|
||||
276.17 265.53 254.02 241.64 228.38
|
||||
214.27 199.31 183.47 166.76 149.20
|
||||
/
|
||||
4 375.21 374.30 371.94 368.54 364.15
|
||||
358.83 352.60 345.48 337.47 328.59
|
||||
318.83 308.20 296.71 284.36 271.12
|
||||
257.04 242.10 226.30 209.61 192.09
|
||||
/
|
||||
5 417.72 416.83 414.49 411.10 406.72
|
||||
401.41 395.20 388.09 380.09 371.23
|
||||
361.49 350.88 339.41 327.08 313.86
|
||||
299.81 284.89 269.12 252.46 234.97
|
||||
/
|
||||
6 460.23 459.36 457.03 453.66 449.30
|
||||
444.00 437.79 430.70 422.72 413.87
|
||||
404.14 393.56 382.11 369.80 356.60
|
||||
342.57 327.69 311.94 295.31 277.85
|
||||
/
|
||||
7 502.75 501.89 499.58 496.22 491.87
|
||||
486.58 480.39 473.31 465.34 456.51
|
||||
446.80 436.24 424.81 412.52 399.34
|
||||
385.34 370.48 354.77 338.17 320.74
|
||||
/
|
||||
8 545.26 544.43 542.13 538.79 534.44
|
||||
529.17 522.99 515.92 507.97 499.15
|
||||
489.46 478.92 467.51 455.24 442.09
|
||||
428.11 413.28 397.60 381.02 363.63
|
||||
/
|
||||
9 587.77 586.96 584.68 581.35 577.02
|
||||
571.75 565.59 558.53 550.60 541.79
|
||||
532.12 521.60 510.21 497.97 484.83
|
||||
470.88 456.08 440.43 423.87 406.51
|
||||
/
|
||||
10 630.29 629.50 627.23 623.92 619.60
|
||||
614.34 608.19 601.14 593.23 584.44
|
||||
574.79 564.28 552.91 540.69 527.58
|
||||
513.66 498.88 483.25 466.73 449.40
|
||||
/
|
1240
python/examples/data/norne/INCLUDE/VFP/GAS_PD2.VFP
Normal file
1240
python/examples/data/norne/INCLUDE/VFP/GAS_PD2.VFP
Normal file
File diff suppressed because it is too large
Load Diff
314
python/examples/data/norne/INCLUDE/VFP/GasProd.VFP
Normal file
314
python/examples/data/norne/INCLUDE/VFP/GasProd.VFP
Normal file
@ -0,0 +1,314 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
-- Denne loeftekurven baserer seg paa data
|
||||
-- fra broenn D-2T2H, som har en broenn-bane
|
||||
-- noe midt mellom det meste. Denne kurven
|
||||
-- brukes for gassbroenner.
|
||||
VFPPROD
|
||||
--4 2200 'GAS' 'WGR' 'OGR' /
|
||||
4 2580 'GAS' 'WGR' 'OGR' /
|
||||
15 150 1500 15000 150000 1.5e+006 /
|
||||
30 40 60 100 200 250 /
|
||||
0 0.0003 0.003 0.03 0.3 3 30 /
|
||||
7.1e-007 1e-006 1e-005 0.0001 0.001 0.002
|
||||
0.009 /
|
||||
0 /
|
||||
1 1 1 1 34.8749 34.8749 34.875 34.879 35.1864 56.3325 /
|
||||
1 1 2 1 34.8749 34.8749 34.875 34.879 35.1864 56.3327 /
|
||||
1 1 3 1 34.8749 34.8749 34.875 34.8791 35.188 56.3371 /
|
||||
1 1 4 1 197.254 196.642 190.199 46.3175 46.4544 58.1071 /
|
||||
1 1 5 1 197.256 196.664 190.45 46.3206 49.1201 78.9131 /
|
||||
1 1 6 1 197.259 196.688 190.725 47.104 55.358 102.150 /
|
||||
1 1 7 1 197.275 196.855 192.579 134.375 104.427 275.263 /
|
||||
1 2 1 1 241.720 240.982 233.245 48.785 48.905 59.275 /
|
||||
1 2 2 1 241.720 240.982 233.246 48.785 48.912 59.855 /
|
||||
1 2 3 1 240.505 239.772 232.089 48.728 48.907 66.133 /
|
||||
1 2 4 1 229.295 228.601 221.316 48.170 48.374 67.989 /
|
||||
1 2 5 1 206.287 205.675 199.269 46.881 53.430 86.644 /
|
||||
1 2 6 1 202.290 201.709 195.653 48.833 56.025 111.214 /
|
||||
1 2 7 1 198.503 198.082 193.801 136.233 107.064 282.972 /
|
||||
1 3 1 1 241.720 240.982 233.245 48.785 48.905 59.275 /
|
||||
1 3 2 1 241.720 240.982 233.246 48.785 48.912 59.855 /
|
||||
1 3 3 1 241.720 240.983 233.282 48.788 55.851 84.207 /
|
||||
1 3 4 1 240.505 239.776 232.219 57.512 61.540 143.753 /
|
||||
1 3 5 1 229.298 228.629 221.714 72.717 65.711 166.223 /
|
||||
1 3 6 1 222.188 221.564 215.137 92.631 73.168 190.908 /
|
||||
1 3 7 1 207.088 206.660 202.351 152.134 128.396 355.851 /
|
||||
1 4 1 1 241.720 240.982 233.245 48.785 48.905 59.275 /
|
||||
1 4 2 1 241.720 240.982 233.246 48.785 48.912 59.855 /
|
||||
1 4 3 1 241.720 240.983 233.282 48.788 55.851 84.207 /
|
||||
1 4 4 1 241.720 240.989 233.625 144.141 115.525 329.563 /
|
||||
1 4 5 1 240.508 239.813 233.362 192.179 199.676 1000.000 /
|
||||
1 4 6 1 238.882 238.221 232.105 193.415 202.407 1000.000 /
|
||||
1 4 7 1 230.267 229.818 225.748 200.889 219.120 1000.000 /
|
||||
1 5 1 1 241.720 240.982 233.245 48.785 48.905 59.275 /
|
||||
1 5 2 1 241.720 240.982 233.246 48.785 48.912 59.855 /
|
||||
1 5 3 1 241.720 240.983 233.282 48.788 55.851 84.207 /
|
||||
1 5 4 1 241.720 240.989 233.625 144.141 115.525 329.563 /
|
||||
1 5 5 1 241.723 241.044 236.022 225.283 324.028 1000.000 /
|
||||
1 5 6 1 241.727 241.102 237.543 237.240 580.061 1000.000 /
|
||||
1 5 7 1 240.705 240.291 238.459 245.685 1000.000 1000.000 /
|
||||
1 6 1 1 241.720 240.982 233.245 48.785 48.905 59.275 /
|
||||
1 6 2 1 241.720 240.982 233.246 48.785 48.912 59.855 /
|
||||
1 6 3 1 241.720 240.983 233.282 48.788 55.851 84.207 /
|
||||
1 6 4 1 241.720 240.989 233.625 144.141 115.525 329.563 /
|
||||
1 6 5 1 241.723 241.044 236.022 225.283 324.028 1000.000 /
|
||||
1 6 6 1 241.727 241.102 237.543 237.240 580.061 1000.000 /
|
||||
1 6 7 1 241.751 241.424 241.447 308.888 1000.000 1000.000 /
|
||||
1 7 1 1 241.720 240.982 233.245 48.785 48.905 59.275 /
|
||||
1 7 2 1 241.720 240.982 233.246 48.785 48.912 59.855 /
|
||||
1 7 3 1 241.720 240.983 233.282 48.788 55.851 84.207 /
|
||||
1 7 4 1 241.720 240.989 233.625 144.141 115.525 329.563 /
|
||||
1 7 5 1 241.723 241.044 236.022 225.283 324.028 1000.000 /
|
||||
1 7 6 1 241.727 241.102 237.543 237.240 580.061 1000.000 /
|
||||
1 7 7 1 241.751 241.424 241.447 308.888 1000.000 1000.000 /
|
||||
2 1 1 1 46.606 46.606 46.606 46.609 46.837 64.102 /
|
||||
2 1 2 1 46.606 46.606 46.606 46.609 46.837 64.102 /
|
||||
2 1 3 1 46.606 46.606 46.606 46.609 46.839 64.123 /
|
||||
2 1 4 1 206.273 205.754 200.367 57.897 58.016 68.247 /
|
||||
2 1 5 1 206.275 205.775 200.606 57.900 62.594 88.243 /
|
||||
2 1 6 1 206.277 205.798 200.870 67.112 66.812 110.729 /
|
||||
2 1 7 1 206.293 205.962 202.643 167.550 128.423 281.160 /
|
||||
2 2 1 1 251.774 251.138 244.554 60.430 60.535 69.617 /
|
||||
2 2 2 1 251.774 251.138 244.555 60.430 60.541 70.138 /
|
||||
2 2 3 1 250.515 249.883 243.349 60.371 60.528 77.344 /
|
||||
2 2 4 1 238.948 238.352 232.188 59.795 59.975 78.919 /
|
||||
2 2 5 1 215.431 214.913 209.567 58.492 66.702 95.558 /
|
||||
2 2 6 1 211.373 210.886 205.871 78.270 68.123 119.616 /
|
||||
2 2 7 1 207.536 207.204 203.881 169.168 131.068 289.120 /
|
||||
2 3 1 1 251.774 251.138 244.554 60.430 60.535 69.617 /
|
||||
2 3 2 1 251.774 251.138 244.555 60.430 60.541 70.138 /
|
||||
2 3 3 1 251.774 251.138 244.585 60.433 69.632 93.526 /
|
||||
2 3 4 1 250.515 249.887 243.461 108.506 76.625 151.455 /
|
||||
2 3 5 1 238.951 238.380 232.559 129.525 84.472 173.733 /
|
||||
2 3 6 1 231.653 231.125 225.766 143.385 93.729 198.193 /
|
||||
2 3 7 1 216.244 215.907 212.561 181.058 151.700 361.549 /
|
||||
2 4 1 1 251.774 251.138 244.554 60.430 60.535 69.617 /
|
||||
2 4 2 1 251.774 251.138 244.555 60.430 60.541 70.138 /
|
||||
2 4 3 1 251.774 251.138 244.585 60.433 69.632 93.526 /
|
||||
2 4 4 1 251.774 251.144 244.874 180.187 137.797 342.244 /
|
||||
2 4 5 1 250.518 249.923 244.455 211.245 215.562 1000.000 /
|
||||
2 4 6 1 248.836 248.274 243.129 212.156 218.291 1000.000 /
|
||||
2 4 7 1 239.947 239.594 236.425 217.700 233.617 1000.000 /
|
||||
2 5 1 1 251.774 251.138 244.554 60.430 60.535 69.617 /
|
||||
2 5 2 1 251.774 251.138 244.555 60.430 60.541 70.138 /
|
||||
2 5 3 1 251.774 251.138 244.585 60.433 69.632 93.526 /
|
||||
2 5 4 1 251.774 251.144 244.874 180.187 137.797 342.244 /
|
||||
2 5 5 1 251.777 251.195 246.919 238.187 334.200 1000.000 /
|
||||
2 5 6 1 251.781 251.249 248.238 248.543 588.448 1000.000 /
|
||||
2 5 7 1 250.722 250.397 248.980 256.423 1000.000 1000.000 /
|
||||
2 6 1 1 251.774 251.138 244.554 60.430 60.535 69.617 /
|
||||
2 6 2 1 251.774 251.138 244.555 60.430 60.541 70.138 /
|
||||
2 6 3 1 251.774 251.138 244.585 60.433 69.632 93.526 /
|
||||
2 6 4 1 251.774 251.144 244.874 180.187 137.797 342.244 /
|
||||
2 6 5 1 251.777 251.195 246.919 238.187 334.200 1000.000 /
|
||||
2 6 6 1 251.781 251.249 248.238 248.543 588.448 1000.000 /
|
||||
2 6 7 1 251.805 251.550 251.737 318.967 1000.000 1000.000 /
|
||||
2 7 1 1 251.774 251.138 244.554 60.430 60.535 69.617 /
|
||||
2 7 2 1 251.774 251.138 244.555 60.430 60.541 70.138 /
|
||||
2 7 3 1 251.774 251.138 244.585 60.433 69.632 93.526 /
|
||||
2 7 4 1 251.774 251.144 244.874 180.187 137.797 342.244 /
|
||||
2 7 5 1 251.777 251.195 246.919 238.187 334.200 1000.000 /
|
||||
2 7 6 1 251.781 251.249 248.238 248.543 588.448 1000.000 /
|
||||
2 7 7 1 251.805 251.550 251.737 318.967 1000.000 1000.000 /
|
||||
3 1 1 1 70.217 70.217 70.217 70.219 70.367 82.637 /
|
||||
3 1 2 1 70.217 70.217 70.217 70.219 70.367 82.637 /
|
||||
3 1 3 1 70.217 70.217 70.217 70.219 70.368 82.674 /
|
||||
3 1 4 1 224.227 223.829 219.756 81.175 81.272 89.613 /
|
||||
3 1 5 1 224.229 223.849 219.980 148.227 88.234 108.257 /
|
||||
3 1 6 1 224.231 223.872 220.228 178.222 93.569 130.735 /
|
||||
3 1 7 1 224.247 224.031 221.895 204.287 169.720 297.882 /
|
||||
3 2 1 1 271.869 271.365 266.215 86.480 83.935 91.352 /
|
||||
3 2 2 1 271.869 271.365 266.216 89.208 83.939 91.790 /
|
||||
3 2 3 1 270.518 270.018 264.912 113.880 83.914 100.805 /
|
||||
3 2 4 1 258.200 257.733 252.962 118.550 83.316 101.882 /
|
||||
3 2 5 1 233.638 233.242 229.214 170.060 90.593 115.322 /
|
||||
3 2 6 1 229.458 229.091 225.370 183.365 97.673 139.497 /
|
||||
3 2 7 1 225.519 225.302 223.164 205.720 172.189 305.242 /
|
||||
3 3 1 1 271.869 271.365 266.215 86.480 83.935 91.352 /
|
||||
3 3 2 1 271.869 271.365 266.216 89.208 83.939 91.790 /
|
||||
3 3 3 1 271.869 271.366 266.239 162.245 94.202 113.742 /
|
||||
3 3 4 1 270.519 270.021 265.004 211.621 111.012 170.691 /
|
||||
3 3 5 1 258.203 257.760 253.304 208.137 121.245 192.725 /
|
||||
3 3 6 1 250.515 250.113 246.085 207.284 132.211 216.629 /
|
||||
3 3 7 1 234.476 234.256 232.105 216.066 190.920 375.428 /
|
||||
3 4 1 1 271.869 271.365 266.215 86.480 83.935 91.352 /
|
||||
3 4 2 1 271.869 271.365 266.216 89.208 83.939 91.790 /
|
||||
3 4 3 1 271.869 271.366 266.239 162.245 94.202 113.742 /
|
||||
3 4 4 1 271.870 271.370 266.466 228.706 176.320 356.099 /
|
||||
3 4 5 1 270.522 270.056 265.824 243.464 244.318 1000.000 /
|
||||
3 4 6 1 268.719 268.286 264.365 243.125 246.635 1000.000 /
|
||||
3 4 7 1 259.301 259.070 257.024 245.967 259.876 1000.000 /
|
||||
3 5 1 1 271.869 271.365 266.215 86.480 83.935 91.352 /
|
||||
3 5 2 1 271.869 271.365 266.216 89.208 83.939 91.790 /
|
||||
3 5 3 1 271.869 271.366 266.239 162.245 94.202 113.742 /
|
||||
3 5 4 1 271.870 271.370 266.466 228.706 176.320 356.099 /
|
||||
3 5 5 1 271.873 271.417 268.093 261.952 354.731 1000.000 /
|
||||
3 5 6 1 271.876 271.466 269.160 270.189 606.390 1000.000 /
|
||||
3 5 7 1 270.755 270.543 269.658 277.400 1000.000 1000.000 /
|
||||
3 6 1 1 271.869 271.365 266.215 86.480 83.935 91.352 /
|
||||
3 6 2 1 271.869 271.365 266.216 89.208 83.939 91.790 /
|
||||
3 6 3 1 271.869 271.366 266.239 162.245 94.202 113.742 /
|
||||
3 6 4 1 271.870 271.370 266.466 228.706 176.320 356.099 /
|
||||
3 6 5 1 271.873 271.417 268.093 261.952 354.731 1000.000 /
|
||||
3 6 6 1 271.876 271.466 269.160 270.189 606.390 1000.000 /
|
||||
3 6 7 1 271.906 271.744 272.143 339.113 1000.000 1000.000 /
|
||||
3 7 1 1 271.869 271.365 266.215 86.480 83.935 91.352 /
|
||||
3 7 2 1 271.869 271.365 266.216 89.208 83.939 91.790 /
|
||||
3 7 3 1 271.869 271.366 266.239 162.245 94.202 113.742 /
|
||||
3 7 4 1 271.870 271.370 266.466 228.706 176.320 356.099 /
|
||||
3 7 5 1 271.873 271.417 268.093 261.952 354.731 1000.000 /
|
||||
3 7 6 1 271.876 271.466 269.160 270.189 606.390 1000.000 /
|
||||
3 7 7 1 271.906 271.744 272.143 339.113 1000.000 1000.000 /
|
||||
4 1 1 1 117.858 117.858 117.858 117.859 117.944 125.402 /
|
||||
4 1 2 1 117.858 117.858 117.858 117.859 117.945 125.391 /
|
||||
4 1 3 1 259.867 259.597 256.864 225.509 128.096 133.282 /
|
||||
4 1 4 1 259.867 259.599 256.885 225.953 128.107 134.242 /
|
||||
4 1 5 1 259.869 259.618 257.094 230.007 136.635 152.110 /
|
||||
4 1 6 1 259.871 259.640 257.323 233.872 153.698 178.341 /
|
||||
4 1 7 1 260.046 259.949 258.999 251.745 235.449 336.749 /
|
||||
4 2 1 1 312.032 311.669 308.001 266.577 131.080 136.581 /
|
||||
4 2 2 1 312.032 311.669 308.002 266.658 131.084 136.911 /
|
||||
4 2 3 1 310.475 310.115 306.487 266.076 131.039 147.440 /
|
||||
4 2 4 1 296.510 296.181 292.857 255.868 130.343 147.212 /
|
||||
4 2 5 1 269.773 269.509 266.849 238.777 142.238 161.200 /
|
||||
4 2 6 1 265.352 265.114 262.734 238.985 159.299 187.310 /
|
||||
4 2 7 1 261.397 261.300 260.350 253.149 237.446 344.079 /
|
||||
4 3 1 1 312.032 311.669 308.001 266.577 131.080 136.581 /
|
||||
4 3 2 1 312.032 311.669 308.002 266.658 131.084 136.911 /
|
||||
4 3 3 1 312.032 311.670 308.019 268.980 141.035 157.196 /
|
||||
4 3 4 1 310.475 310.118 306.560 272.361 175.578 217.310 /
|
||||
4 3 5 1 296.513 296.208 293.173 265.118 187.462 238.431 /
|
||||
4 3 6 1 287.997 287.731 285.089 261.693 199.271 260.930 /
|
||||
4 3 7 1 271.013 270.913 269.953 263.246 252.379 410.392 /
|
||||
4 4 1 1 312.032 311.669 308.001 266.577 131.080 136.581 /
|
||||
4 4 2 1 312.032 311.669 308.002 266.658 131.084 136.911 /
|
||||
4 4 3 1 312.032 311.670 308.019 268.980 141.035 157.196 /
|
||||
4 4 4 1 312.033 311.674 308.186 282.485 239.319 391.181 /
|
||||
4 4 5 1 310.478 310.152 307.214 294.038 294.546 1000.000 /
|
||||
4 4 6 1 308.407 308.114 305.481 293.852 296.379 1000.000 /
|
||||
4 4 7 1 298.207 298.103 297.192 293.685 306.387 1000.000 /
|
||||
4 5 1 1 312.032 311.669 308.001 266.577 131.080 136.581 /
|
||||
4 5 2 1 312.032 311.669 308.002 266.658 131.084 136.911 /
|
||||
4 5 3 1 312.032 311.670 308.019 268.980 141.035 157.196 /
|
||||
4 5 4 1 312.033 311.674 308.186 282.485 239.319 391.181 /
|
||||
4 5 5 1 312.036 311.717 309.399 305.578 394.896 1000.000 /
|
||||
4 5 6 1 312.039 311.761 310.210 312.044 644.179 1000.000 /
|
||||
4 5 7 1 310.831 310.736 310.401 318.473 1000.000 1000.000 /
|
||||
4 6 1 1 312.032 311.669 308.001 266.577 131.080 136.581 /
|
||||
4 6 2 1 312.032 311.669 308.002 266.658 131.084 136.911 /
|
||||
4 6 3 1 312.032 311.670 308.019 268.980 141.035 157.196 /
|
||||
4 6 4 1 312.033 311.674 308.186 282.485 239.319 391.181 /
|
||||
4 6 5 1 312.036 311.717 309.399 305.578 394.896 1000.000 /
|
||||
4 6 6 1 312.039 311.761 310.210 312.044 644.179 1000.000 /
|
||||
4 6 7 1 312.101 312.035 312.653 379.357 1000.000 1000.000 /
|
||||
4 7 1 1 312.032 311.669 308.001 266.577 131.080 136.581 /
|
||||
4 7 2 1 312.032 311.669 308.002 266.658 131.084 136.911 /
|
||||
4 7 3 1 312.032 311.670 308.019 268.980 141.035 157.196 /
|
||||
4 7 4 1 312.033 311.674 308.186 282.485 239.319 391.181 /
|
||||
4 7 5 1 312.036 311.717 309.399 305.578 394.896 1000.000 /
|
||||
4 7 6 1 312.039 311.761 310.210 312.044 644.179 1000.000 /
|
||||
4 7 7 1 312.101 312.035 312.653 379.357 1000.000 1000.000 /
|
||||
5 1 1 1 235.752 235.752 235.752 235.752 235.794 239.543 /
|
||||
5 1 2 1 235.752 235.752 235.752 235.752 235.794 239.545 /
|
||||
5 1 3 1 348.023 347.880 346.444 331.477 243.722 246.929 /
|
||||
5 1 4 1 348.023 347.882 346.464 331.765 243.729 247.518 /
|
||||
5 1 5 1 348.025 347.901 346.658 334.443 264.560 273.153 /
|
||||
5 1 6 1 348.027 347.921 346.871 337.077 286.870 301.177 /
|
||||
5 1 7 1 354.211 354.206 354.158 353.832 354.276 438.928 /
|
||||
5 2 1 1 412.337 412.109 409.821 386.210 247.525 250.962 /
|
||||
5 2 2 1 412.337 412.109 409.822 386.246 247.528 251.173 /
|
||||
5 2 3 1 410.131 409.907 407.659 384.702 248.035 260.658 /
|
||||
5 2 4 1 391.299 391.104 389.156 369.286 249.562 259.631 /
|
||||
5 2 5 1 358.991 358.856 357.507 344.421 272.927 283.472 /
|
||||
5 2 6 1 354.035 353.925 352.829 342.733 293.266 309.873 /
|
||||
5 2 7 1 355.707 355.702 355.653 355.330 355.849 445.423 /
|
||||
5 3 1 1 412.337 412.109 409.821 386.210 247.525 250.962 /
|
||||
5 3 2 1 412.337 412.109 409.822 386.246 247.528 251.173 /
|
||||
5 3 3 1 412.337 412.109 409.834 387.322 268.324 277.991 /
|
||||
5 3 4 1 410.132 409.910 407.719 387.860 311.178 337.629 /
|
||||
5 3 5 1 391.301 391.133 389.468 374.954 321.963 355.859 /
|
||||
5 3 6 1 380.534 380.403 379.114 368.338 331.774 374.889 /
|
||||
5 3 7 1 366.394 366.389 366.340 366.045 367.285 507.375 /
|
||||
5 4 1 1 412.337 412.109 409.821 386.210 247.525 250.962 /
|
||||
5 4 2 1 412.337 412.109 409.822 386.246 247.528 251.173 /
|
||||
5 4 3 1 412.337 412.109 409.834 387.322 268.324 277.991 /
|
||||
5 4 4 1 412.337 412.113 409.952 394.451 364.305 490.469 /
|
||||
5 4 5 1 410.135 409.946 408.258 400.746 405.194 1000.000 /
|
||||
5 4 6 1 407.238 407.085 405.724 399.792 405.892 1000.000 /
|
||||
5 4 7 1 396.913 396.908 396.865 396.867 410.697 1000.000 /
|
||||
5 5 1 1 412.337 412.109 409.821 386.210 247.525 250.962 /
|
||||
5 5 2 1 412.337 412.109 409.822 386.246 247.528 251.173 /
|
||||
5 5 3 1 412.337 412.109 409.834 387.322 268.324 277.991 /
|
||||
5 5 4 1 412.337 412.113 409.952 394.451 364.305 490.469 /
|
||||
5 5 5 1 412.341 412.155 410.817 408.983 495.353 1000.000 /
|
||||
5 5 6 1 412.344 412.198 411.407 414.071 741.888 1000.000 /
|
||||
5 5 7 1 411.177 411.175 411.262 419.597 1000.000 1000.000 /
|
||||
5 6 1 1 412.337 412.109 409.821 386.210 247.525 250.962 /
|
||||
5 6 2 1 412.337 412.109 409.822 386.246 247.528 251.173 /
|
||||
5 6 3 1 412.337 412.109 409.834 387.322 268.324 277.991 /
|
||||
5 6 4 1 412.337 412.113 409.952 394.451 364.305 490.469 /
|
||||
5 6 5 1 412.341 412.155 410.817 408.983 495.353 1000.000 /
|
||||
5 6 6 1 412.344 412.198 411.407 414.071 741.888 1000.000 /
|
||||
5 6 7 1 412.615 412.623 413.412 479.862 1000.000 1000.000 /
|
||||
5 7 1 1 412.337 412.109 409.821 386.210 247.525 250.962 /
|
||||
5 7 2 1 412.337 412.109 409.822 386.246 247.528 251.173 /
|
||||
5 7 3 1 412.337 412.109 409.834 387.322 268.324 277.991 /
|
||||
5 7 4 1 412.337 412.113 409.952 394.451 364.305 490.469 /
|
||||
5 7 5 1 412.341 412.155 410.817 408.983 495.353 1000.000 /
|
||||
5 7 6 1 412.344 412.198 411.407 414.071 741.888 1000.000 /
|
||||
5 7 7 1 412.615 412.623 413.412 479.862 1000.000 1000.000 /
|
||||
6 1 1 1 292.633 292.633 292.633 292.634 292.668 295.782 /
|
||||
6 1 2 1 292.633 292.633 292.633 292.634 292.668 295.784 /
|
||||
6 1 3 1 391.937 391.823 390.683 378.955 299.593 302.378 /
|
||||
6 1 4 1 391.937 391.825 390.702 379.222 299.598 302.888 /
|
||||
6 1 5 1 391.939 391.844 390.895 381.711 323.519 330.898 /
|
||||
6 1 6 1 391.941 391.864 391.106 384.155 345.701 358.355 /
|
||||
6 1 7 1 404.456 404.456 404.456 404.473 405.561 489.126 /
|
||||
6 2 1 1 462.444 462.245 460.257 439.972 303.815 306.803 /
|
||||
6 2 2 1 462.444 462.245 460.257 440.003 303.817 307.191 /
|
||||
6 2 3 1 459.843 459.649 457.702 438.048 305.136 315.987 /
|
||||
6 2 4 1 438.238 438.075 436.438 419.951 307.927 314.598 /
|
||||
6 2 5 1 403.283 403.178 402.133 392.142 332.194 341.328 /
|
||||
6 2 6 1 398.125 398.045 397.249 390.028 352.041 366.826 /
|
||||
6 2 7 1 405.953 405.953 405.953 405.971 407.117 495.594 /
|
||||
6 3 1 1 462.444 462.245 460.257 439.972 303.815 306.803 /
|
||||
6 3 2 1 462.444 462.245 460.257 440.003 303.817 307.191 /
|
||||
6 3 3 1 462.444 462.246 460.269 440.907 327.975 336.271 /
|
||||
6 3 4 1 459.844 459.652 457.762 440.762 370.743 394.539 /
|
||||
6 3 5 1 438.241 438.105 436.763 425.179 380.440 411.424 /
|
||||
6 3 6 1 426.320 426.222 425.259 417.306 389.049 429.077 /
|
||||
6 3 7 1 416.651 416.651 416.652 416.678 418.410 557.416 /
|
||||
6 4 1 1 462.444 462.245 460.257 439.972 303.815 306.803 /
|
||||
6 4 2 1 462.444 462.245 460.257 440.003 303.817 307.191 /
|
||||
6 4 3 1 462.444 462.246 460.269 440.907 327.975 336.271 /
|
||||
6 4 4 1 462.444 462.250 460.379 446.999 420.197 541.182 /
|
||||
6 4 5 1 459.847 459.691 458.296 452.103 457.235 1000.000 /
|
||||
6 4 6 1 456.454 456.337 455.294 450.770 457.577 1000.000 /
|
||||
6 4 7 1 447.198 447.198 447.201 447.384 461.282 1000.000 /
|
||||
6 5 1 1 462.444 462.245 460.257 439.972 303.815 306.803 /
|
||||
6 5 2 1 462.444 462.245 460.257 440.003 303.817 307.191 /
|
||||
6 5 3 1 462.444 462.246 460.269 440.907 327.975 336.271 /
|
||||
6 5 4 1 462.444 462.250 460.379 446.999 420.197 541.182 /
|
||||
6 5 5 1 462.448 462.294 461.186 459.824 545.545 1000.000 /
|
||||
6 5 6 1 462.452 462.340 461.739 464.617 791.300 1000.000 /
|
||||
6 5 7 1 461.468 461.470 461.580 469.937 1000.000 1000.000 /
|
||||
6 6 1 1 462.444 462.245 460.257 439.972 303.815 306.803 /
|
||||
6 6 2 1 462.444 462.245 460.257 440.003 303.817 307.191 /
|
||||
6 6 3 1 462.444 462.246 460.269 440.907 327.975 336.271 /
|
||||
6 6 4 1 462.444 462.250 460.379 446.999 420.197 541.182 /
|
||||
6 6 5 1 462.448 462.294 461.186 459.824 545.545 1000.000 /
|
||||
6 6 6 1 462.452 462.340 461.739 464.617 791.300 1000.000 /
|
||||
6 6 7 1 462.906 462.918 463.715 530.334 1000.000 1000.000 /
|
||||
6 7 1 1 462.444 462.245 460.257 439.972 303.815 306.803 /
|
||||
6 7 2 1 462.444 462.245 460.257 440.003 303.817 307.191 /
|
||||
6 7 3 1 462.444 462.246 460.269 440.907 327.975 336.271 /
|
||||
6 7 4 1 462.444 462.250 460.379 446.999 420.197 541.182 /
|
||||
6 7 5 1 462.448 462.294 461.186 459.824 545.545 1000.000 /
|
||||
6 7 6 1 462.452 462.340 461.739 464.617 791.300 1000.000 /
|
||||
6 7 7 1 462.906 462.918 463.715 530.334 1000.000 1000.000 /
|
3603
python/examples/data/norne/INCLUDE/VFP/K3H.Ecl
Normal file
3603
python/examples/data/norne/INCLUDE/VFP/K3H.Ecl
Normal file
File diff suppressed because it is too large
Load Diff
1624
python/examples/data/norne/INCLUDE/VFP/NEW_D2_GAS_0.00003.VFP
Normal file
1624
python/examples/data/norne/INCLUDE/VFP/NEW_D2_GAS_0.00003.VFP
Normal file
File diff suppressed because it is too large
Load Diff
2362
python/examples/data/norne/INCLUDE/VFP/PB1.PIPE.Ecl
Normal file
2362
python/examples/data/norne/INCLUDE/VFP/PB1.PIPE.Ecl
Normal file
File diff suppressed because it is too large
Load Diff
2362
python/examples/data/norne/INCLUDE/VFP/PB2.PIPE.Ecl
Normal file
2362
python/examples/data/norne/INCLUDE/VFP/PB2.PIPE.Ecl
Normal file
File diff suppressed because it is too large
Load Diff
2362
python/examples/data/norne/INCLUDE/VFP/PD1.PIPE.Ecl
Normal file
2362
python/examples/data/norne/INCLUDE/VFP/PD1.PIPE.Ecl
Normal file
File diff suppressed because it is too large
Load Diff
2398
python/examples/data/norne/INCLUDE/VFP/PD2.PIPE.Ecl
Normal file
2398
python/examples/data/norne/INCLUDE/VFP/PD2.PIPE.Ecl
Normal file
File diff suppressed because it is too large
Load Diff
2362
python/examples/data/norne/INCLUDE/VFP/PE1.PIPE.Ecl
Normal file
2362
python/examples/data/norne/INCLUDE/VFP/PE1.PIPE.Ecl
Normal file
File diff suppressed because it is too large
Load Diff
2110
python/examples/data/norne/INCLUDE/VFP/PE2.PIPE.Ecl
Normal file
2110
python/examples/data/norne/INCLUDE/VFP/PE2.PIPE.Ecl
Normal file
File diff suppressed because it is too large
Load Diff
9
python/examples/data/norne/INCLUDE/VFP/VFPI.CMD
Normal file
9
python/examples/data/norne/INCLUDE/VFP/VFPI.CMD
Normal file
@ -0,0 +1,9 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
ReadKeywordFile( &
|
||||
File = "C:\appl\SPEATW2013\Sim\INCLUDE\VFP\NEW_D2_GAS_0.00003.VFP" )
|
80433
python/examples/data/norne/INCLUDE/VFP/VFPI.LOG
Normal file
80433
python/examples/data/norne/INCLUDE/VFP/VFPI.LOG
Normal file
File diff suppressed because it is too large
Load Diff
117
python/examples/data/norne/INCLUDE/VFP/WIC.PIPE.Ecl
Normal file
117
python/examples/data/norne/INCLUDE/VFP/WIC.PIPE.Ecl
Normal file
@ -0,0 +1,117 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 9.3 - License#:4474 - Sep 17 2006 14:05:16
|
||||
-- Generated on : 12 Feb 07 08:40
|
||||
-- Input File : Y:\Project\norne6\prod\gap\WI\WIC.PIPE.OUT
|
||||
-- Output File : Y:\Project\norne6\prod\gap\WI\WICnew.PIPE.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type :
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : PipeLine Only
|
||||
--
|
||||
-- Completion :
|
||||
-- Gravel Pack :
|
||||
--
|
||||
-- Inflow Type :
|
||||
-- Gas Coning :
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : WIC
|
||||
-- Platform : Norne FPSO
|
||||
-- Analyst : sihun
|
||||
-- Date : 05 Feb 02 12:50
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Petroleum Experts 4 - (0.964) (1.055)
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
--
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
--
|
||||
-- First Node : 1 Manifold 0 (m)
|
||||
-- Last Node : 4 Xmas Tree 394 (m)
|
||||
--
|
||||
-- Sensitivity Variable 1 : First Node Pressure
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
10 394 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
0.1 5714.4 8571.5 11428.6 14285.8
|
||||
20000.1 22857.2 25714.3 28571.5 31428.6
|
||||
34285.7 37142.9 40000.0 55000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
101.01 123.24 167.68 189.90 212.12
|
||||
234.35 256.57 278.79 401.01 /
|
||||
|
||||
1 139.37 136.66 133.45 129.01 123.34
|
||||
108.32 98.97 88.39 76.57 63.53
|
||||
49.24 33.72 16.95 0.0
|
||||
/
|
||||
2 161.63 158.92 155.71 151.28 145.61
|
||||
130.61 121.27 110.70 98.90 85.86
|
||||
71.59 56.08 39.34 0.0
|
||||
/
|
||||
3 206.16 203.45 200.24 195.82 190.17
|
||||
175.20 165.87 155.32 143.54 130.53
|
||||
116.29 100.81 84.10 0.0
|
||||
/
|
||||
4 228.42 225.71 222.51 218.09 212.44
|
||||
197.49 188.17 177.63 165.86 152.87
|
||||
138.64 123.18 106.48 0.0
|
||||
/
|
||||
5 250.68 247.97 244.78 240.36 234.72
|
||||
219.78 210.47 199.94 188.19 175.20
|
||||
160.99 145.54 128.86 20.90
|
||||
/
|
||||
6 272.94 270.24 267.04 262.63 257.00
|
||||
242.07 232.77 222.25 210.51 197.54
|
||||
183.34 167.91 151.24 43.39
|
||||
/
|
||||
7 295.20 292.50 289.31 284.90 279.27
|
||||
264.36 255.07 244.56 232.83 219.87
|
||||
205.69 190.27 173.62 65.88
|
||||
/
|
||||
8 317.46 314.76 311.58 307.17 301.55
|
||||
286.65 277.37 266.88 255.15 242.21
|
||||
228.04 212.64 196.01 88.37
|
||||
/
|
||||
9 439.90 437.21 434.04 429.66 424.07
|
||||
409.25 400.03 389.59 377.93 365.06
|
||||
350.96 335.65 319.11 212.06
|
||||
/
|
131
python/examples/data/norne/INCLUDE/VFP/WIF.PIPE.Ecl
Normal file
131
python/examples/data/norne/INCLUDE/VFP/WIF.PIPE.Ecl
Normal file
@ -0,0 +1,131 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 9.3 - License#:4474 - Sep 17 2006 14:05:16
|
||||
-- Generated on : 12 Feb 07 08:41
|
||||
-- Input File : Y:\Project\norne6\prod\gap\WI\WIF.PIPE.OUT
|
||||
-- Output File : Y:\Project\norne6\prod\gap\WI\WIFnew.PIPE.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type :
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : PipeLine Only
|
||||
--
|
||||
-- Completion :
|
||||
-- Gravel Pack :
|
||||
--
|
||||
-- Inflow Type :
|
||||
-- Gas Coning :
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : WIC
|
||||
-- Platform : Norne FPSO
|
||||
-- Analyst : sihun
|
||||
-- Date : 05 Feb 02 12:50
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Petroleum Experts 4 - (0.925) (1.066)
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
--
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
--
|
||||
-- First Node : 1 Manifold 0 (m)
|
||||
-- Last Node : 4 Xmas Tree 394 (m)
|
||||
--
|
||||
-- Sensitivity Variable 1 : First Node Pressure
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
11 394 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
0.0 2857.1 5714.3 8571.4 11428.6
|
||||
14285.7 20000.0 22857.1 25714.3 28571.4
|
||||
31428.6 34285.7 37142.9 40000.0 55000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
101.01 145.46 167.68 189.90 212.12
|
||||
234.35 256.57 278.79 301.01 401.01 /
|
||||
|
||||
1 137.81 136.92 134.49 130.55 125.10
|
||||
118.16 99.74 88.28 75.30 60.81
|
||||
44.81 27.28 8.24 0.0 0.0
|
||||
|
||||
/
|
||||
2 182.33 181.43 179.01 175.08 169.65
|
||||
162.71 144.34 132.89 119.94 105.48
|
||||
89.51 72.02 53.01 32.48 0.0
|
||||
|
||||
/
|
||||
3 204.59 203.69 201.27 197.34 191.92
|
||||
184.99 166.63 155.20 142.26 127.82
|
||||
111.86 94.39 75.40 54.89 0.0
|
||||
|
||||
/
|
||||
4 226.85 225.95 223.53 219.61 214.19
|
||||
207.27 188.93 177.51 164.58 150.15
|
||||
134.21 116.75 97.78 77.29 0.0
|
||||
|
||||
/
|
||||
5 249.11 248.21 245.80 241.88 236.46
|
||||
229.55 211.23 199.82 186.90 172.49
|
||||
156.56 139.12 120.17 99.70 0.0
|
||||
|
||||
/
|
||||
6 271.37 270.47 268.06 264.14 258.73
|
||||
251.82 233.52 222.12 209.22 194.82
|
||||
178.91 161.49 142.56 122.11 0.0
|
||||
|
||||
/
|
||||
7 293.63 292.73 290.32 286.41 281.00
|
||||
274.10 255.82 244.43 231.55 217.16
|
||||
201.26 183.86 164.94 144.51 12.22
|
||||
|
||||
/
|
||||
8 315.89 314.99 312.58 308.67 303.27
|
||||
296.38 278.12 266.74 253.87 239.49
|
||||
223.61 206.23 187.33 166.92 34.75
|
||||
|
||||
/
|
||||
9 338.15 337.25 334.84 330.94 325.55
|
||||
318.66 300.41 289.05 276.19 261.83
|
||||
245.96 228.60 209.72 189.33 57.29
|
||||
|
||||
/
|
||||
10 438.32 437.42 435.03 431.14 425.77
|
||||
418.92 400.75 389.44 376.63 362.34
|
||||
346.54 329.25 310.46 290.16 158.72
|
||||
|
||||
/
|
1338
python/examples/data/norne/INCLUDE/VFP/pd2.VFP
Normal file
1338
python/examples/data/norne/INCLUDE/VFP/pd2.VFP
Normal file
File diff suppressed because it is too large
Load Diff
1338
python/examples/data/norne/INCLUDE/VFP/pe2.VFP
Normal file
1338
python/examples/data/norne/INCLUDE/VFP/pe2.VFP
Normal file
File diff suppressed because it is too large
Load Diff
646
python/examples/data/norne/NORNE_ATW2013.DATA
Normal file
646
python/examples/data/norne/NORNE_ATW2013.DATA
Normal file
@ -0,0 +1,646 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
-- Norne full field model for SPE ATW 2013
|
||||
RUNSPEC
|
||||
|
||||
DIMENS
|
||||
46 112 22 /
|
||||
|
||||
--NOSIM
|
||||
|
||||
GRIDOPTS
|
||||
'YES' 0 /
|
||||
|
||||
OIL
|
||||
|
||||
WATER
|
||||
|
||||
GAS
|
||||
|
||||
DISGAS
|
||||
|
||||
VAPOIL
|
||||
|
||||
ENDSCALE
|
||||
NODIR REVERS /
|
||||
|
||||
METRIC
|
||||
|
||||
SATOPTS
|
||||
HYSTER /
|
||||
|
||||
START
|
||||
06 'NOV' 1997 /
|
||||
|
||||
EQLDIMS
|
||||
5 100 20 /
|
||||
|
||||
EQLOPTS
|
||||
'THPRES' / no fine equilibration if swatinit is being used
|
||||
|
||||
REGDIMS
|
||||
-- ntfip nmfipr nrfreg ntfreg
|
||||
22 3 1* 20 /
|
||||
|
||||
TRACERS
|
||||
-- oil water gas env
|
||||
1* 7 1* 1* /
|
||||
|
||||
WELLDIMS
|
||||
130 36 15 84 /
|
||||
|
||||
TABDIMS
|
||||
--ntsfun ntpvt nssfun nppvt ntfip nrpvt ntendp
|
||||
2 2 33 60 16 60 /
|
||||
|
||||
-- WI_VFP_TABLES_080905.INC = 10-20
|
||||
VFPIDIMS
|
||||
30 20 20 /
|
||||
|
||||
-- Table no.
|
||||
-- DevNew.VFP = 1
|
||||
-- E1h.VFP = 2
|
||||
-- AlmostVertNew.VFP = 3
|
||||
-- GasProd.VFP = 4
|
||||
-- NEW_D2_GAS_0.00003.VFP = 5
|
||||
-- GAS_PD2.VFP = 6
|
||||
-- pd2.VFP = 8 (flowline south)
|
||||
-- pe2.VFP = 9 (flowline north)
|
||||
-- PB1.PIPE.Ecl = 31
|
||||
-- PB2.PIPE.Ecl = 32
|
||||
-- PD1.PIPE.Ecl = 33
|
||||
-- PD2.PIPE.Ecl = 34
|
||||
-- PE1.PIPE.Ecl = 35
|
||||
-- PE2.PIPE.Ecl = 36
|
||||
-- B1BH.Ecl = 37
|
||||
-- B2H.Ecl = 38
|
||||
-- B3H.Ecl = 39
|
||||
-- B4DH. Ecl= 40
|
||||
-- D1CH.Ecl = 41
|
||||
-- D2H.Ecl = 42
|
||||
-- D3BH.Ecl = 43
|
||||
|
||||
-- E1H.Ecl = 45
|
||||
-- E3CH.Ecl = 47
|
||||
-- K3H.Ecl = 48
|
||||
|
||||
|
||||
VFPPDIMS
|
||||
19 10 10 10 0 50 /
|
||||
|
||||
FAULTDIM
|
||||
10000 /
|
||||
|
||||
PIMTDIMS
|
||||
1 51 /
|
||||
|
||||
NSTACK
|
||||
30 /
|
||||
|
||||
UNIFIN
|
||||
UNIFOUT
|
||||
|
||||
--FMTOUT
|
||||
--FMTIN
|
||||
|
||||
OPTIONS
|
||||
77* 1 /
|
||||
|
||||
---------------------------------------------------------
|
||||
--
|
||||
-- Input of grid geometry
|
||||
--
|
||||
---------------------------------------------------------
|
||||
GRID
|
||||
|
||||
NEWTRAN
|
||||
|
||||
-- Ask for an EGRID file; no .GRID output.
|
||||
GRIDFILE
|
||||
0 1 /
|
||||
|
||||
-- optional for postprocessing of GRID
|
||||
MAPAXES
|
||||
0. 100. 0. 0. 100. 0. /
|
||||
|
||||
GRIDUNIT
|
||||
METRES /
|
||||
|
||||
-- requests output of INIT file
|
||||
INIT
|
||||
|
||||
MESSAGES
|
||||
8*10000 20000 10000 1000 1* /
|
||||
|
||||
PINCH
|
||||
0.001 GAP 1* TOPBOT TOP/
|
||||
|
||||
NOECHO
|
||||
|
||||
--------------------------------------------------------
|
||||
--
|
||||
-- Grid and faults
|
||||
--
|
||||
--------------------------------------------------------
|
||||
|
||||
-- Simulation grid, with slooping faults:
|
||||
-- file in UTM coordinate system, for importing to DecisionSpace
|
||||
INCLUDE
|
||||
'./INCLUDE/GRID/IRAP_1005.GRDECL' /
|
||||
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/GRID/ACTNUM_0704.prop' /
|
||||
|
||||
-- Faults
|
||||
INCLUDE
|
||||
'./INCLUDE/FAULT/FAULT_JUN_05.INC' /
|
||||
|
||||
-- Alteration of transmiscibility by use of the 'MULTFLT' keyword
|
||||
INCLUDE
|
||||
'./INCLUDE/FAULT/FAULTMULT_AUG-2006.INC' /
|
||||
|
||||
--------------------------------------------------------
|
||||
--
|
||||
-- Input of grid parametres
|
||||
--
|
||||
--------------------------------------------------------
|
||||
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/PETRO/PORO_0704.prop' /
|
||||
|
||||
INCLUDE
|
||||
'./INCLUDE/PETRO/NTG_0704.prop' /
|
||||
|
||||
INCLUDE
|
||||
'./INCLUDE/PETRO/PERM_0704.prop' /
|
||||
|
||||
COPY
|
||||
PERMX PERMY /
|
||||
PERMX PERMZ /
|
||||
/
|
||||
|
||||
-- based on same kv/kh factor
|
||||
MULTIPLY
|
||||
'PERMZ' 0.2 1 46 1 112 1 1 / Garn 3
|
||||
'PERMZ' 0.04 1 46 1 112 2 2 / Garn 2
|
||||
'PERMZ' 0.25 1 46 1 112 3 3 / Garn 1
|
||||
'PERMZ' 0.0 1 46 1 112 4 4 / Not (inactive anyway)
|
||||
'PERMZ' 0.13 1 46 1 112 5 5 / Ile 2.2
|
||||
'PERMZ' 0.13 1 46 1 112 6 6 / Ile 2.1.3
|
||||
'PERMZ' 0.13 1 46 1 112 7 7 / Ile 2.1.2
|
||||
'PERMZ' 0.13 1 46 1 112 8 8 / Ile 2.1.1
|
||||
'PERMZ' 0.09 1 46 1 112 9 9 / Ile 1.3
|
||||
'PERMZ' 0.07 1 46 1 112 10 10 / Ile 1.2
|
||||
'PERMZ' 0.19 1 46 1 112 11 11 / Ile 1.1
|
||||
'PERMZ' 0.13 1 46 1 112 12 12 / Tofte 2.2
|
||||
'PERMZ' 0.64 1 46 1 112 13 13 / Tofte 2.1.3
|
||||
'PERMZ' 0.64 1 46 1 112 14 14 / Tofte 2.1.2
|
||||
'PERMZ' 0.64 1 46 1 112 15 15 / Tofte 2.1.1
|
||||
'PERMZ' 0.64 1 46 1 112 16 16 / Tofte 1.2.2
|
||||
'PERMZ' 0.64 1 46 1 112 17 17 / Tofte 1.2.1
|
||||
'PERMZ' 0.016 1 46 1 112 18 18 / Tofte 1.1
|
||||
'PERMZ' 0.004 1 46 1 112 19 19 / Tilje 4
|
||||
'PERMZ' 0.004 1 46 1 112 20 20 / Tilje 3
|
||||
'PERMZ' 1.0 1 46 1 112 21 21 / Tilje 2
|
||||
'PERMZ' 1.0 1 46 1 112 22 22 / Tilje 1
|
||||
/
|
||||
|
||||
|
||||
--------------------------------------------------------
|
||||
--
|
||||
-- Barriers
|
||||
--
|
||||
--------------------------------------------------------
|
||||
|
||||
-- MULTZ multiplies the transmissibility between blocks
|
||||
-- (I, J, K) and (I, J, K+1), thus the barriers are at the
|
||||
-- bottom of the given layer.
|
||||
|
||||
-- Region barriers
|
||||
INCLUDE
|
||||
'./INCLUDE/PETRO/MULTZ_HM_1.INC' /
|
||||
|
||||
-- Field-wide barriers
|
||||
EQUALS
|
||||
'MULTZ' 1.0 1 46 1 112 1 1 / Garn3 - Garn 2
|
||||
'MULTZ' 0.05 1 46 1 112 15 15 / Tofte 2.1.1 - Tofte 1.2.2
|
||||
'MULTZ' 0.001 1 46 1 112 18 18 / Tofte 1.1 - Tilje 4
|
||||
'MULTZ' 0.00001 1 46 1 112 20 20 / Tilje 3 - Tilje 2
|
||||
-- The Top Tilje 2 barrier is included as MULTREGT = 0.0
|
||||
/
|
||||
|
||||
-- Local barriers
|
||||
INCLUDE
|
||||
'./INCLUDE/PETRO/MULTZ_JUN_05_MOD.INC' /
|
||||
|
||||
|
||||
-- 20 flux regions generated by the script Xfluxnum
|
||||
INCLUDE
|
||||
'./INCLUDE/PETRO/FLUXNUM_0704.prop' /
|
||||
|
||||
-- modify transmissibilites between fluxnum using MULTREGT
|
||||
INCLUDE
|
||||
'./INCLUDE/PETRO/MULTREGT_D_27.prop' /
|
||||
|
||||
NOECHO
|
||||
|
||||
MINPV
|
||||
500 /
|
||||
|
||||
EDIT
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
PROPS
|
||||
--------------------------------------------------------------------------------
|
||||
--
|
||||
-- Input of fluid properties and relative permeability
|
||||
--
|
||||
---------------------------------------------------------
|
||||
|
||||
NOECHO
|
||||
|
||||
INCLUDE
|
||||
'./INCLUDE/PVT/PVT-WET-GAS.INC' /
|
||||
|
||||
TRACER
|
||||
SEA WAT /
|
||||
HTO WAT /
|
||||
S36 WAT /
|
||||
2FB WAT /
|
||||
4FB WAT /
|
||||
DFB WAT /
|
||||
TFB WAT /
|
||||
/
|
||||
|
||||
-- initial water saturation
|
||||
INCLUDE
|
||||
'./INCLUDE/PETRO/SWINITIAL.INC' /
|
||||
|
||||
-- relative perm.
|
||||
INCLUDE
|
||||
'./INCLUDE/RELPERM/SCAL_NORNE.INC' /
|
||||
|
||||
SCALECRS
|
||||
YES /
|
||||
|
||||
-- endpoints may be used as tuning papameters
|
||||
EQUALS
|
||||
SWL 0.04 1 46 1 112 1 1 /
|
||||
SWL 0.05 1 46 1 112 2 2 /
|
||||
SWL 0.15 1 46 1 112 3 3 /
|
||||
SWL 0.15 1 46 1 112 4 4 /
|
||||
SWL 0.05 1 46 1 112 5 10 / Ile 2.2.2 and Ile 2.2.1, Ile 2.1.3, Ile 2.1.2, and Ile 2.1.1 Ile 1.3 and Ile 1.2
|
||||
SWL 0.16 1 46 1 112 11 12 / ile 1.1 and tofte 2.2
|
||||
SWL 0.07 1 46 1 112 13 15 / tofte 2.1
|
||||
SWL 0.06 1 46 1 112 16 16 / tofte 1.2.2
|
||||
SWL 0.12 1 46 1 112 17 22 / Tofte 1.2.1, Tofte 1.2.1, tofte 1.1, tilje
|
||||
/
|
||||
|
||||
COPY
|
||||
SWL SWCR /
|
||||
SWL SGU /
|
||||
/
|
||||
|
||||
|
||||
ADD
|
||||
SWCR 0.08 1 46 1 112 1 22 /
|
||||
/
|
||||
|
||||
-- SGU = 1 - SWL
|
||||
MULTIPLY
|
||||
SGU -1 1 46 1 112 1 22 /
|
||||
/
|
||||
|
||||
ADD
|
||||
SGU 1 1 46 1 112 1 22 /
|
||||
/
|
||||
|
||||
EQUALS
|
||||
SGL 0.0 1 46 1 112 1 22 /
|
||||
SGCR 0.03 1 46 1 112 1 22 /
|
||||
SOWCR 0.13 1 46 1 112 1 22 /
|
||||
SOGCR 0.07 1 46 1 112 1 22 /
|
||||
SWU 1.0 1 46 1 112 1 22 /
|
||||
/
|
||||
|
||||
-- Hysteresis input
|
||||
EHYSTR
|
||||
0.1 0 0.1 1* KR /
|
||||
|
||||
COPY
|
||||
'SWCR' 'ISWCR' 1 46 1 112 5 22 /
|
||||
'SGU' 'ISGU' 1 46 1 112 5 22 /
|
||||
'SWL' 'ISWL' 1 46 1 112 5 22 /
|
||||
'SWU' 'ISWU' 1 46 1 112 5 22 /
|
||||
'SGL' 'ISGL' 1 46 1 112 5 22 /
|
||||
'SOGCR' 'ISOGCR' 1 46 1 112 5 22 /
|
||||
'SOWCR' 'ISOWCR' 1 46 1 112 5 22 /
|
||||
/
|
||||
|
||||
EQUALS
|
||||
ISGCR 0.22 1 46 1 112 1 22 /
|
||||
/
|
||||
|
||||
RPTPROPS
|
||||
1 1 1 5*0 0 /
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
|
||||
REGIONS
|
||||
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/PETRO/FIPNUM_0704.prop' /
|
||||
|
||||
EQUALS
|
||||
'SATNUM' 1 1 46 1 112 1 22 /
|
||||
'IMBNUM' 2 1 46 1 112 1 22 /
|
||||
'PVTNUM' 1 1 46 1 112 1 22 /
|
||||
/
|
||||
|
||||
INCLUDE
|
||||
'./INCLUDE/PETRO/EQLNUM_0704.prop' /
|
||||
|
||||
-- extra regions for geological formations and numerical layers
|
||||
--INCLUDE
|
||||
-- './INCLUDE/PETRO/EXTRA_REG.inc' /
|
||||
|
||||
---------------------------------------------------------------------------------
|
||||
|
||||
SOLUTION
|
||||
|
||||
RPTRST
|
||||
BASIC=2 KRO KRW KRG /
|
||||
|
||||
RPTSOL
|
||||
|
||||
FIP=3 SWAT /
|
||||
|
||||
---------------------------------------------------------------------------------
|
||||
-- equilibrium data: do not include this file in case of RESTART
|
||||
|
||||
INCLUDE
|
||||
'./INCLUDE/PETRO/E3.prop' /
|
||||
|
||||
THPRES
|
||||
1 2 0.588031 /
|
||||
2 1 0.588031 /
|
||||
1 3 0.787619 /
|
||||
3 1 0.787619 /
|
||||
1 4 7.00083 /
|
||||
4 1 7.00083 /
|
||||
/
|
||||
|
||||
-- initialise injected tracers to zero
|
||||
TVDPFSEA
|
||||
1000 0.0
|
||||
5000 0.0 /
|
||||
TVDPFHTO
|
||||
1000 0.0
|
||||
5000 0.0 /
|
||||
TVDPFS36
|
||||
1000 0.0
|
||||
5000 0.0 /
|
||||
TVDPF2FB
|
||||
1000 0.0
|
||||
5000 0.0 /
|
||||
TVDPF4FB
|
||||
1000 0.0
|
||||
5000 0.0 /
|
||||
TVDPFDFB
|
||||
1000 0.0
|
||||
5000 0.0 /
|
||||
TVDPFTFB
|
||||
1000 0.0
|
||||
5000 0.0 /
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
SUMMARY
|
||||
|
||||
NEWTON
|
||||
MLINEARS
|
||||
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/SUMMARY/summary.data' /
|
||||
|
||||
--
|
||||
--INCLUDE
|
||||
-- './INCLUDE/SUMMARY/extra.inc' /
|
||||
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/SUMMARY/tracer.data' /
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/SUMMARY/gas.inc' /
|
||||
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/SUMMARY/wpave.inc' /
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
|
||||
SCHEDULE
|
||||
|
||||
|
||||
DRSDT
|
||||
0 /
|
||||
|
||||
NOECHO
|
||||
|
||||
--------------------------------------------
|
||||
--=======Production Wells========--
|
||||
--------------------------------------------
|
||||
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/DevNew.VFP' /
|
||||
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/E1h.VFP' /
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/NEW_D2_GAS_0.00003.VFP' /
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/GAS_PD2.VFP' /
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/AlmostVertNew.VFP' /
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/GasProd.VFP' /
|
||||
|
||||
|
||||
-- 01.01.07 new VFP curves for producing wells, matched with the latest well tests in Prosper. lmarr
|
||||
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/B1BH.Ecl' /
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/B2H.Ecl' /
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/B3H.Ecl' /
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/B4DH.Ecl' /
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/D1CH.Ecl' /
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/D2H.Ecl' /
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/D3BH.Ecl' /
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/E1H.Ecl' /
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/E3CH.Ecl' /
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/K3H.Ecl' /
|
||||
|
||||
--------------------------------------------
|
||||
--=======Production Flowlines========--
|
||||
--------------------------------------------
|
||||
--
|
||||
-- 16.5.02 new VFP curves for southgoing PD1,PD2,PB1,PB2 flowlines -> pd2.VFP
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/pd2.VFP' /
|
||||
--
|
||||
-- 16.5.02 new VFP curves for northgoing PE1,PE2 flowlines -> pe2.VFP
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/pe2.VFP' /
|
||||
|
||||
|
||||
-- 24.11.06 new matched VLP curves for PB1 valid from 01.07.06
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/PB1.PIPE.Ecl' /
|
||||
|
||||
--24.11.06 new matched VLP curves for PB2 valid from 01.07.06
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/PB2.PIPE.Ecl' /
|
||||
|
||||
--24.11.06 new matched VLP curves for PD1 valid from 01.07.06
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/PD1.PIPE.Ecl' /
|
||||
|
||||
--24.11.06 new matched VLP curves for PD2 valid from 01.07.06
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/PD2.PIPE.Ecl' /
|
||||
|
||||
--24.11.06 new matched VLP curves for PE1 valid from 01.07.06
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/PE1.PIPE.Ecl' /
|
||||
|
||||
--24.11.06 new matched VLP curves for PE2 valid from 01.07.06
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/PE2.PIPE.Ecl' /
|
||||
|
||||
|
||||
-------------------------------------------
|
||||
--=======INJECTION FLOWLINES 08.09.2005 ========--
|
||||
--------------------------------------------
|
||||
-- VFPINJ nr. 10 Water injection flowline WIC
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/WIC.PIPE.Ecl' /
|
||||
|
||||
-- VFPINJ nr. 11 Water injection flowline WIF
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/WIF.PIPE.Ecl' /
|
||||
|
||||
--------------------------------------------
|
||||
--======= INJECTION Wells 08.09.2005 ========--
|
||||
--------------------------------------------
|
||||
-- VFPINJ nr. 12 Water injection wellbore Norne C-1H
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/C1H.Ecl' /
|
||||
|
||||
-- VFPINJ nr. 13 Water injection wellbore Norne C-2H
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/C2H.Ecl' /
|
||||
|
||||
-- VFPINJ nr. 14 Water injection wellbore Norne C-3H
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/C3H.Ecl' /
|
||||
|
||||
-- VFPINJ nr. 15 Water injection wellbore Norne C-4H
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/C4H.Ecl' /
|
||||
|
||||
-- VFPINJ nr. 16 Water injection wellbore Norne C-4AH
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/C4AH.Ecl' /
|
||||
|
||||
-- VFPINJ nr. 17 Water injection wellbore Norne F-1H
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/F1H.Ecl' /
|
||||
|
||||
-- VFPINJ nr. 18 Water injection wellbore Norne F-2H
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/F2H.Ecl' /
|
||||
|
||||
-- VFPINJ nr. 19 Water injection wellbore Norne F-3 H
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/F3H.Ecl' /
|
||||
|
||||
-- VFPINJ nr. 20 Water injection wellbore Norne F-4H
|
||||
--
|
||||
INCLUDE
|
||||
'./INCLUDE/VFP/F4H.Ecl' /
|
||||
|
||||
TUNING
|
||||
1 10 0.1 0.15 3 0.3 0.3 1.20 /
|
||||
5* 0.1 0.0001 0.02 0.02 /
|
||||
2* 40 1* 15 /
|
||||
/
|
||||
|
||||
-- only possible for ECL 2006.2+ version
|
||||
ZIPPY2
|
||||
'SIM=4.2' 'MINSTEP=1E-6' /
|
||||
|
||||
-- PI reduction in case of water cut
|
||||
INCLUDE
|
||||
'./INCLUDE/PI/pimultab_low-high_aug-2006.inc' /
|
||||
|
||||
-- History
|
||||
INCLUDE
|
||||
'./INCLUDE/BC0407_HIST01122006.SCH' /
|
||||
|
||||
END
|
BIN
python/examples/img1.png
Normal file
BIN
python/examples/img1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
BIN
python/examples/img2.png
Normal file
BIN
python/examples/img2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 32 KiB |
65
python/examples/norne.py
Executable file
65
python/examples/norne.py
Executable file
@ -0,0 +1,65 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import sys
|
||||
from os.path import isdir, join
|
||||
import sunbeam
|
||||
from datetime import datetime as dt
|
||||
|
||||
def opmdatadir():
|
||||
global OPMDATA_DIR
|
||||
if isdir(OPMDATA_DIR):
|
||||
return OPMDATA_DIR
|
||||
if len(sys.argv) < 2:
|
||||
return None
|
||||
d = sys.argv[1]
|
||||
if isdir(d) and isdir(join(d, 'norne')):
|
||||
return d
|
||||
return None
|
||||
|
||||
def haveopmdata():
|
||||
return opmdatadir() is not None
|
||||
|
||||
def parse(fname):
|
||||
s = dt.now()
|
||||
es = sunbeam.parse(fname, ('PARSE_RANDOM_SLASH', sunbeam.action.ignore))
|
||||
e = dt.now()
|
||||
print('Parsing took %s sec' % (e - s).seconds)
|
||||
return es
|
||||
|
||||
def swof_krw(ecl):
|
||||
assert('SWOF' in ecl.table)
|
||||
krw = ecl.table['SWOF', 'KRW']
|
||||
krow = ecl.table['SWOF', 'KROW']
|
||||
pcow = ecl.table['SWOF', 'PCOW']
|
||||
|
||||
print('SWOF\tKRW\tKROW\tPCOW')
|
||||
for i in range(21):
|
||||
print('%.2f\t%.4f\t%.4f\t%.4f' % (i/20.0, krw(i/20.0), krow(i/20.0), pcow(i/20.0)))
|
||||
|
||||
def main():
|
||||
es = parse(join(opmdatadir(), 'norne/NORNE_ATW2013.DATA'))
|
||||
sc = es.schedule
|
||||
wp = sc.wells[23] # producer
|
||||
wi = sc.wells[20] # injector at ts 100
|
||||
fn = es.faultNames()
|
||||
f0 = fn[0]
|
||||
fl = es.faults()[f0]
|
||||
print('state: %s' % es)
|
||||
print('schedule: %s' % sc)
|
||||
print('the grid: %s' % es.grid())
|
||||
print('at timestep 100 (%s)' % sc.timesteps[100])
|
||||
print('prod well: %s' % wp)
|
||||
print('inj well: %s' % wi)
|
||||
print('pos: %s' % list(wp.pos()))
|
||||
print('fault: %s' % f0)
|
||||
print(' comprised of %d cells' % len(fl))
|
||||
swof_krw(es)
|
||||
|
||||
if __name__ == '__main__':
|
||||
global OPMDATA_DIR
|
||||
OPMDATA_DIR = '../../opm-data'
|
||||
if haveopmdata():
|
||||
print('Found norne, parsing ...')
|
||||
main()
|
||||
else:
|
||||
print('Need to have path "%s" or give opm-data as argument' % OPMDATA_DIR)
|
68
python/examples/swofplt.py
Executable file
68
python/examples/swofplt.py
Executable file
@ -0,0 +1,68 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import sys
|
||||
from os.path import isdir, join
|
||||
import sunbeam
|
||||
from datetime import datetime as dt
|
||||
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
|
||||
def plotswof(ecl):
|
||||
assert('SWOF' in ecl.table)
|
||||
krw = ecl.table['SWOF', 'KRW']
|
||||
krow = ecl.table['SWOF', 'KROW']
|
||||
pcow = ecl.table['SWOF', 'PCOW']
|
||||
|
||||
swofl = [x/20.0 for x in range(21)]
|
||||
krwl = [krw(x/20.0) for x in range(21)]
|
||||
krowl = [krow(x/20.0) for x in range(21)]
|
||||
pcowl = [pcow(x/20.0) for x in range(21)]
|
||||
|
||||
plt.figure(1)
|
||||
plt.plot(swofl, krwl, label = 'KRW')
|
||||
plt.plot(swofl, krowl, label = 'KROW')
|
||||
plt.legend()
|
||||
plt.show()
|
||||
plt.figure(2)
|
||||
plt.plot(swofl, pcowl, label = 'Water-oil capillary pressure')
|
||||
plt.legend()
|
||||
plt.show()
|
||||
|
||||
|
||||
|
||||
def opmdatadir():
|
||||
global OPMDATA_DIR
|
||||
if isdir(OPMDATA_DIR):
|
||||
return OPMDATA_DIR
|
||||
if len(sys.argv) < 2:
|
||||
return None
|
||||
d = sys.argv[1]
|
||||
if isdir(d) and isdir(join(d, 'norne')):
|
||||
return d
|
||||
return None
|
||||
|
||||
def haveopmdata():
|
||||
return opmdatadir() is not None
|
||||
|
||||
def parse(fname):
|
||||
s = dt.now()
|
||||
es = sunbeam.parse(fname, ('PARSE_RANDOM_SLASH', sunbeam.action.ignore))
|
||||
e = dt.now()
|
||||
print('Parsing took %s sec' % (e - s).seconds)
|
||||
return es
|
||||
|
||||
|
||||
def main():
|
||||
es = parse(join(opmdatadir(), 'norne/NORNE_ATW2013.DATA'))
|
||||
plotswof(es)
|
||||
|
||||
if __name__ == '__main__':
|
||||
global OPMDATA_DIR
|
||||
OPMDATA_DIR = '../../opm-data'
|
||||
if haveopmdata():
|
||||
print('Found norne, parsing ...')
|
||||
main()
|
||||
else:
|
||||
print('Need to have path "%s" or give opm-data as argument' % OPMDATA_DIR)
|
19
python/examples/wells.py
Normal file
19
python/examples/wells.py
Normal file
@ -0,0 +1,19 @@
|
||||
import sunbeam
|
||||
|
||||
def main():
|
||||
es = sunbeam.parse('../tests/spe3/SPE3CASE1.DATA')
|
||||
sc = es.schedule
|
||||
wp = sc.wells[0] # producer
|
||||
wi = sc.wells[1] # injector
|
||||
print('state: %s' % es)
|
||||
print('schedule: %s' % sc)
|
||||
print('prod well: %s' % wp)
|
||||
print('inj well: %s' % wi)
|
||||
for i in range(len(sc.timesteps)):
|
||||
if not wp.isproducer(i) or wp.isinjector(i):
|
||||
print('wp is not producer in step %s' % sc.timesteps[i])
|
||||
if not wi.isinjector(i) or wi.isproducer(i):
|
||||
print('wi is not injector in step %s' % sc.timesteps[i])
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
1
python/pybind11
Submodule
1
python/pybind11
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit add56ccdcac23a6c522a2c1174a866e293c61dab
|
1
python/pycmake
Submodule
1
python/pycmake
Submodule
@ -0,0 +1 @@
|
||||
Subproject commit 21f1eb9a928e70840d94f4f75e5ff285df393edb
|
11
python/python/CMakeLists.txt
Normal file
11
python/python/CMakeLists.txt
Normal file
@ -0,0 +1,11 @@
|
||||
include( FindPythonModule )
|
||||
include( PythonPackage )
|
||||
|
||||
python_module( inspect OPTIONAL )
|
||||
if (DEFINED PY_inspect)
|
||||
message(STATUS "We have inspect.")
|
||||
else()
|
||||
message(STATUS "We do not have inspect, ignoring ...")
|
||||
endif()
|
||||
|
||||
add_subdirectory( sunbeam )
|
12
python/python/sunbeam/CMakeLists.txt
Normal file
12
python/python/sunbeam/CMakeLists.txt
Normal file
@ -0,0 +1,12 @@
|
||||
set(PYTHON_SOURCES
|
||||
__init__.py
|
||||
sunbeam.py
|
||||
config.py
|
||||
parser.py
|
||||
properties.py
|
||||
schedule.py)
|
||||
|
||||
add_python_package(sunbeam sunbeam "${PYTHON_SOURCES}")
|
||||
|
||||
add_subdirectory(deck)
|
||||
add_subdirectory(tools)
|
10
python/python/sunbeam/__init__.py
Normal file
10
python/python/sunbeam/__init__.py
Normal file
@ -0,0 +1,10 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from .schedule import Well, Connection, Schedule
|
||||
from .libsunbeam import action
|
||||
from .config import EclipseConfig
|
||||
from .parser import parse, parse_string
|
||||
|
||||
|
||||
__version__ = '0.1.2'
|
||||
__license__ = 'GNU General Public License version 3'
|
14
python/python/sunbeam/config.py
Normal file
14
python/python/sunbeam/config.py
Normal file
@ -0,0 +1,14 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from sunbeam import libsunbeam as lib
|
||||
from .sunbeam import delegate
|
||||
|
||||
@delegate(lib.SummaryConfig)
|
||||
class SummaryConfig(object):
|
||||
def __repr__(self):
|
||||
return 'SummaryConfig()'
|
||||
|
||||
@delegate(lib.EclipseConfig)
|
||||
class EclipseConfig(object):
|
||||
def __repr__(self):
|
||||
return 'EclipseConfig()'
|
4
python/python/sunbeam/deck/CMakeLists.txt
Normal file
4
python/python/sunbeam/deck/CMakeLists.txt
Normal file
@ -0,0 +1,4 @@
|
||||
set(PYTHON_SOURCES
|
||||
__init__.py)
|
||||
|
||||
add_python_package(sunbeam.deck "sunbeam/deck" "${PYTHON_SOURCES}")
|
2
python/python/sunbeam/deck/__init__.py
Normal file
2
python/python/sunbeam/deck/__init__.py
Normal file
@ -0,0 +1,2 @@
|
||||
from sunbeam.parser import load_deck as parse
|
||||
from sunbeam.parser import load_deck_string as parse_string
|
188
python/python/sunbeam/parser.py
Normal file
188
python/python/sunbeam/parser.py
Normal file
@ -0,0 +1,188 @@
|
||||
from __future__ import absolute_import
|
||||
import os.path
|
||||
import json
|
||||
|
||||
from sunbeam import libsunbeam as lib
|
||||
from .properties import SunbeamState
|
||||
|
||||
|
||||
def _init_parse(recovery, keywords):
|
||||
context = lib.ParseContext(recovery)
|
||||
parser = lib.Parser()
|
||||
for kw in keywords:
|
||||
parser.add_keyword(json.dumps(kw))
|
||||
|
||||
return (context,parser)
|
||||
|
||||
|
||||
def parse(deck_file, recovery=[], keywords=[]):
|
||||
"""Will parse a file and create a SunbeamState object.
|
||||
|
||||
The parse function will parse a complete ECLIPSE input deck and return a
|
||||
SunbeamState instance which can be used to access all the properties of the
|
||||
Eclipse parser has internalized. Assuming the following small script has
|
||||
been executed:
|
||||
|
||||
import sunbeam
|
||||
|
||||
result = sunbeam.parse("ECLIPSE.DATA")
|
||||
|
||||
Then the main results can be found in .deck, .state and .schedule
|
||||
properties of the result object:
|
||||
|
||||
result.deck: This is the first result of the parsing process. In the Deck
|
||||
datastructure the original organisation with keywords found in the Eclipse
|
||||
datafile still remains, but the following processing has been completed:
|
||||
|
||||
o All comments have been stripped out.
|
||||
|
||||
o All include files have been loaded.
|
||||
|
||||
o All values are converted to the correct type, i.e. string, integer or
|
||||
double, and floating point values have been converted to SI units.
|
||||
|
||||
o '*' literals and values which have been omitted have been updated with
|
||||
the correct default values.
|
||||
|
||||
o The content has been basically verified; at least datatypes and the
|
||||
number of records in keywords with a fixed number of records.
|
||||
|
||||
You can always create a Deck data structure - even if your Eclipse input is
|
||||
far from complete, however this is quite coarse information - and if
|
||||
possible you are probably better off working with either the EclipseState
|
||||
object found in result.state or the Schedule object found in
|
||||
result.schedule.
|
||||
|
||||
result.state: This is a more processed result, where the different keywords
|
||||
have been assembled into higher order objects, for instance the various
|
||||
keywords which together constitute one Eclipse simulationgrid have been
|
||||
assembled into a EclipseGrid class, the PERMX keywords - along with BOX
|
||||
modifiers and such have been assembled into a properties object and the
|
||||
various table objects have been assembled into Table class.
|
||||
|
||||
|
||||
result.schedule: All the static information is assembled in the state
|
||||
property, and all the dynamic information is in the schedule property. The
|
||||
schedule property is an instance of the Schedule class from opm-parser, and
|
||||
mainly consists of well and group related information, including all rate
|
||||
information.
|
||||
|
||||
Example:
|
||||
|
||||
import sunbeam
|
||||
result = sunbeam.parse("ECLIPSE.DATA")
|
||||
|
||||
# Fetch the static properties from the result.state object:
|
||||
grid = result.state.grid
|
||||
print("The grid dimensions are: (%d,%d,%d)" % (grid.getNX(),
|
||||
grid.getNY(),
|
||||
grid.getNZ()))
|
||||
grid_properties = result.state.props()
|
||||
poro = grid_properties["PORO"]
|
||||
print("PORO[0]: %g" % poro[0])
|
||||
|
||||
|
||||
# Look at the dynamic properties:
|
||||
print("Wells: %s" % result.schedule.wells)
|
||||
|
||||
|
||||
The C++ implementation underlying opm-parser implemenest support for a
|
||||
large fraction of ECLIPSE properties, not all of that is exposed in Python,
|
||||
but it is quite simple to extend the Python wrapping.
|
||||
|
||||
In addition to the deck_file argument the parse() function has two optional
|
||||
arguments which can be used to alter the parsing process:
|
||||
|
||||
recovery: The specification of the ECLIPSE input format is not very strict,
|
||||
and out in the wild there are many decks which are handled corectly by
|
||||
ECLIPSE, although they seem to be in violation with the ECLIPSE input
|
||||
specification. Also there are *many* more exotic features of the ECLIPSE
|
||||
input specificiaction which are not yet handled by the opm-parser.
|
||||
|
||||
By default the parser is quite strict, and when an unknown situation is
|
||||
encountered an exception will be raised - however for a set of recognized
|
||||
error conditions it is possible to configure the parser to ignore the
|
||||
errors. A quite common situation is for instance that an extra '/' is
|
||||
found dangling in the deck - this is probably safe to ignore:
|
||||
|
||||
result = sunbeam.parse("ECLIPSE.DATE",
|
||||
recovery = [("PARSE_RANDOM_SLASH", sunbeam.action.ignore)])
|
||||
|
||||
The full list of error modes which are recognized can be found in include
|
||||
file ParseContext.hpp in the opm-parser source. To disable errors using
|
||||
the recovery method is a slippery slope; you might very well end up
|
||||
masking real problems in your input deck - and the final error when
|
||||
things go *really atray* might be quite incomprihensible. If you can
|
||||
modify your input deck that is recommended before ignoring errors with
|
||||
the recovery mechanism.
|
||||
|
||||
|
||||
keywords: The total number of kewords supported by ECLIPSE is immense, and
|
||||
the parser code only supports a fraction of these. Using the keywords
|
||||
argumnt you can tell the parser about additional keywords. The keyword
|
||||
specifications should be supplied as Python dictionaries; see the
|
||||
share/keywords directories in the opm-parser source for syntax. Assuming
|
||||
you have an input deck with the keyword WECONCMF which opm-parser does
|
||||
not yet support. You could then add that to your parser in the following
|
||||
manner:
|
||||
|
||||
import sunbeam
|
||||
|
||||
weconmf = {"name" : "WECONMF",
|
||||
"sections" : ["SCHEDULE"],
|
||||
"items" : [{"name" : "well", "value_type" : "STRING"},
|
||||
{"name" : "comp_index", "value_type" : "INTEGER"},
|
||||
{"name" : "max_mole_fraction", "value_type" : "DOUBLE", "dimension" : "1"},
|
||||
{"name" : "workover", "value_type : "STRING", "default" : "NONE"},
|
||||
{"name" : "end_flag", "value_type": "STRING", "default" : "NO}]}
|
||||
|
||||
state = sunbeam.parse("ECLIPSE.DATA", keywords = [weconmf])
|
||||
|
||||
Adding keywords in this way will ensure that the relevant information is
|
||||
inernalized in the deck, but it will not be taken into account when
|
||||
constructing the EclipseState and Schedule objects.
|
||||
|
||||
"""
|
||||
|
||||
if not os.path.isfile(deck_file):
|
||||
raise IOError("No such file: {}".format(deck_file))
|
||||
|
||||
context, parser = _init_parse(recovery, keywords)
|
||||
return SunbeamState( lib.parse(deck_file, context, parser))
|
||||
|
||||
|
||||
|
||||
def parse_string(deck_string, recovery=[], keywords=[]):
|
||||
"""Will parse a string and create SunbeamState object.
|
||||
|
||||
See function parse() for further details about return type and the recovery
|
||||
and keyword arguments.
|
||||
|
||||
"""
|
||||
context, parser = _init_parse(recovery, keywords)
|
||||
return SunbeamState(lib.parse_string(deck_string, context, parser))
|
||||
|
||||
|
||||
|
||||
def load_deck(deck_file, keywords=[], recovery=[]):
|
||||
"""
|
||||
Will parse a file and return a Deck object.
|
||||
|
||||
See function parse() for details about the keywords and recovery arguments.
|
||||
"""
|
||||
if not os.path.isfile(deck_file):
|
||||
raise IOError("No suc file: {}".format(deck_file))
|
||||
|
||||
context, parser = _init_parse(recovery, keywords)
|
||||
return lib.create_deck(deck_file, context, parser)
|
||||
|
||||
|
||||
def load_deck_string(deck_string, recovery=[], keywords=[]):
|
||||
"""
|
||||
Will parse a string and return a Deck object.
|
||||
|
||||
See function parse() for details about the keywords and recovery arguments.
|
||||
"""
|
||||
context, parser = _init_parse(recovery, keywords)
|
||||
return lib.create_deck_string(deck_string, context, parser)
|
||||
|
124
python/python/sunbeam/properties.py
Normal file
124
python/python/sunbeam/properties.py
Normal file
@ -0,0 +1,124 @@
|
||||
from __future__ import absolute_import
|
||||
from os.path import isfile
|
||||
|
||||
from sunbeam import libsunbeam as lib
|
||||
from .sunbeam import delegate
|
||||
from .schedule import Schedule
|
||||
from .config import EclipseConfig
|
||||
|
||||
@delegate(lib.EclipseState)
|
||||
class EclipseState(object):
|
||||
def __repr__(self):
|
||||
return 'EclipseState(title = "%s")' % self.title
|
||||
|
||||
def props(self):
|
||||
return Eclipse3DProperties(self._props())
|
||||
|
||||
def grid(self):
|
||||
return EclipseGrid(self._grid())
|
||||
|
||||
def cfg(self):
|
||||
return EclipseConfig(self._cfg())
|
||||
|
||||
@property
|
||||
def table(self):
|
||||
return Tables(self._tables())
|
||||
|
||||
def faults(self):
|
||||
"""Returns a map from fault names to list of (i,j,k,D) where D ~ 'X+'"""
|
||||
fs = {}
|
||||
for fn in self.faultNames():
|
||||
fs[fn] = self.faultFaces(fn)
|
||||
return fs
|
||||
|
||||
|
||||
@delegate(lib.Eclipse3DProperties)
|
||||
class Eclipse3DProperties(object):
|
||||
|
||||
def __repr__(self):
|
||||
return 'Eclipse3DProperties()'
|
||||
|
||||
|
||||
@delegate(lib.Tables)
|
||||
class Tables(object):
|
||||
|
||||
def __repr__(self):
|
||||
return 'Tables()'
|
||||
|
||||
def _eval(self, x, table, col_name, tab_idx = 0):
|
||||
return self._evaluate(table, tab_idx, col_name, x)
|
||||
|
||||
def __getitem__(self, tab_name):
|
||||
col_name = None
|
||||
if isinstance(tab_name, tuple):
|
||||
tab_name, col_name = tab_name
|
||||
|
||||
tab_name = tab_name.upper()
|
||||
if not tab_name in self:
|
||||
raise ValueError('Table "%s" not in deck.' % tab_name)
|
||||
|
||||
if col_name is None:
|
||||
def t_eval(col_name, x, tab_idx = 0):
|
||||
return self._eval(x, tab_name, col_name.upper(), tab_idx)
|
||||
return t_eval
|
||||
|
||||
col_name = col_name.upper()
|
||||
def t_eval(x, tab_idx = 0):
|
||||
return self._eval(x, tab_name, col_name, tab_idx)
|
||||
return t_eval
|
||||
|
||||
|
||||
|
||||
@delegate(lib.EclipseGrid)
|
||||
class EclipseGrid(object):
|
||||
|
||||
def getNX(self):
|
||||
return self._getXYZ()[0]
|
||||
def getNY(self):
|
||||
return self._getXYZ()[1]
|
||||
def getNZ(self):
|
||||
return self._getXYZ()[2]
|
||||
|
||||
def getCellVolume(self, global_idx=None, i_idx=None, j_idx=None, k_idx=None):
|
||||
if global_idx is not None:
|
||||
if set([i_idx, j_idx, k_idx]) != set([None]):
|
||||
raise ValueError('Specify exactly one of global and all three i,j,k.')
|
||||
return self._cellVolume1G(global_idx)
|
||||
if None in [i_idx, j_idx, k_idx]:
|
||||
raise ValueError('If not global_idx, need all three of i_idx, j_idx, and k_idx.')
|
||||
return self._cellVolume3(i_idx, j_idx, k_idx)
|
||||
|
||||
def eclGrid(self):
|
||||
return self._ecl_grid_ptr()
|
||||
|
||||
def __repr__(self):
|
||||
x,y,z = self._getXYZ()
|
||||
g = self.cartesianSize()
|
||||
na = self.nactive()
|
||||
cnt = '(%d, %d, %d)' % (x,y,z)
|
||||
if na != g:
|
||||
cnt += ', active = %s' % na
|
||||
return 'EclipseGrid(%s)' % cnt
|
||||
|
||||
|
||||
@delegate(lib.SunbeamState)
|
||||
class SunbeamState(object):
|
||||
|
||||
@property
|
||||
def state(self):
|
||||
return EclipseState(self._state())
|
||||
|
||||
|
||||
@property
|
||||
def schedule(self):
|
||||
return Schedule(self._schedule())
|
||||
|
||||
|
||||
@property
|
||||
def deck(self):
|
||||
return self._deck()
|
||||
|
||||
@property
|
||||
def summary_config(self):
|
||||
return self._summary_config()
|
||||
|
153
python/python/sunbeam/schedule.py
Normal file
153
python/python/sunbeam/schedule.py
Normal file
@ -0,0 +1,153 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
from sunbeam import libsunbeam as lib
|
||||
from .sunbeam import delegate
|
||||
|
||||
@delegate(lib.Schedule)
|
||||
class Schedule(object):
|
||||
|
||||
def __repr__(self):
|
||||
lt = len(self.timesteps)
|
||||
lw = len(self.wells)
|
||||
return 'Schedule(timesteps: %d, wells: %d)' % (lt, lw)
|
||||
|
||||
@property
|
||||
def wells(self):
|
||||
return list(map(Well, self._wells))
|
||||
|
||||
def group(self, timestep=0):
|
||||
return {grp.name: grp for grp in self.groups(timestep)}
|
||||
|
||||
def groups(self, timestep=0):
|
||||
return [Group(x, self, timestep) for x in self._groups if x.name != 'FIELD']
|
||||
|
||||
def __getitem__(self,well):
|
||||
return Well(self._getwell(well))
|
||||
|
||||
|
||||
@delegate(lib.Well)
|
||||
class Well(object):
|
||||
|
||||
def pos(self, timestep = None):
|
||||
if timestep is None:
|
||||
return self.I(), self.J(), self.ref()
|
||||
return self.I(timestep), self.J(timestep), self.ref(timestep)
|
||||
|
||||
def __repr__(self):
|
||||
return 'Well(name = "%s")' % self.name
|
||||
|
||||
def connections(self, timestep):
|
||||
return list(map(Connection, self._connections(timestep)))
|
||||
|
||||
def __eq__(self,other):
|
||||
return self._sun.__equal__(other._sun)
|
||||
|
||||
@staticmethod
|
||||
def defined(timestep):
|
||||
def fn(well): return well.isdefined(timestep)
|
||||
return fn
|
||||
|
||||
@staticmethod
|
||||
def injector(timestep):
|
||||
def fn(well): return well.isinjector(timestep)
|
||||
return fn
|
||||
|
||||
@staticmethod
|
||||
def producer(timestep):
|
||||
def fn(well): return well.isproducer(timestep)
|
||||
return fn
|
||||
|
||||
# using the names flowing and closed for functions that test if a well is
|
||||
# opened or closed at some point, because we might want to use the more
|
||||
# imperative words 'open' and 'close' (or 'shut') for *changing* the status
|
||||
# later
|
||||
@staticmethod
|
||||
def flowing(timestep):
|
||||
def fn(well): return well.status(timestep) == 'OPEN'
|
||||
return fn
|
||||
|
||||
@staticmethod
|
||||
def closed(timestep):
|
||||
def fn(well): return well.status(timestep) == 'SHUT'
|
||||
return fn
|
||||
|
||||
@staticmethod
|
||||
def auto(timestep):
|
||||
def fn(well): return well.status(timestep) == 'AUTO'
|
||||
return fn
|
||||
|
||||
|
||||
@delegate(lib.Connection)
|
||||
class Connection(object):
|
||||
|
||||
@property
|
||||
def pos(self):
|
||||
return self.I, self.J, self.K
|
||||
|
||||
def __repr__(self):
|
||||
return 'Connection(number = {})'.format(self.number)
|
||||
|
||||
# using the names flowing and closed for functions that test if a well is
|
||||
# opened or closed at some point, because we might want to use the more
|
||||
# imperative words 'open' and 'close' (or 'shut') for *changing* the status
|
||||
# later
|
||||
@staticmethod
|
||||
def flowing():
|
||||
def fn(connection): return connection.state == 'OPEN'
|
||||
return fn
|
||||
|
||||
@staticmethod
|
||||
def closed():
|
||||
def fn(connection): return connection.state == 'SHUT'
|
||||
return fn
|
||||
|
||||
@staticmethod
|
||||
def auto():
|
||||
def fn(connection): return connection.state == 'AUTO'
|
||||
return fn
|
||||
|
||||
|
||||
@delegate(lib.Group)
|
||||
class Group(object):
|
||||
def __init__(self, _, schedule, timestep):
|
||||
|
||||
try:
|
||||
if not timestep == int(timestep):
|
||||
raise ValueError
|
||||
except ValueError:
|
||||
raise ValueError('timestep must be int, not {}'.format(type(timestep)))
|
||||
|
||||
if not 0 <= timestep < len(schedule.timesteps):
|
||||
raise IndexError('Timestep out of range')
|
||||
|
||||
self._schedule = schedule
|
||||
self.timestep = timestep
|
||||
|
||||
def __getitem__(self, name):
|
||||
return Group(self._schedule._group(name), self._schedule, self.timestep)
|
||||
|
||||
@property
|
||||
def wells(self):
|
||||
names = self._wellnames(self.timestep)
|
||||
return [w for w in self._schedule.wells if w.name in names]
|
||||
|
||||
@property
|
||||
def vfp_table_nr(self):
|
||||
vfp_table_nr = self._vfp_table_nr(self.timestep)
|
||||
return vfp_table_nr
|
||||
|
||||
@property
|
||||
def parent(self):
|
||||
par = self._schedule._group_tree(self.timestep)._parent(self.name)
|
||||
if self.name == 'FIELD':
|
||||
return None
|
||||
else:
|
||||
return Group(self._schedule._group(par), self._schedule, self.timestep)
|
||||
|
||||
@property
|
||||
def children(self):
|
||||
chl = self._schedule._group_tree(self.timestep)._children(self.name)
|
||||
g = lambda elt : Group(self._schedule._group(elt),
|
||||
self._schedule,
|
||||
self.timestep)
|
||||
return [g(elem) for elem in chl]
|
44
python/python/sunbeam/sunbeam.py
Normal file
44
python/python/sunbeam/sunbeam.py
Normal file
@ -0,0 +1,44 @@
|
||||
from __future__ import absolute_import
|
||||
|
||||
|
||||
class _delegate(object):
|
||||
def __init__(self, name, attr):
|
||||
self._name = name
|
||||
self._attr = attr
|
||||
|
||||
def __get__(self, instance, _):
|
||||
if instance is None: return self
|
||||
return getattr(self.delegate(instance), self._attr)
|
||||
|
||||
def __set__(self, instance, value):
|
||||
setattr(self.delegate(instance), self._attr, value)
|
||||
|
||||
def delegate(self, instance):
|
||||
return getattr(instance, self._name)
|
||||
|
||||
def __repr__(self):
|
||||
return '_delegate(' + repr(self._name) + ", " + repr(self._attr) + ")"
|
||||
|
||||
def delegate(delegate_cls, to = '_sun'):
|
||||
attributes = set(delegate_cls.__dict__.keys())
|
||||
|
||||
def inner(cls):
|
||||
class _property(object):
|
||||
pass
|
||||
|
||||
setattr(cls, to, _property())
|
||||
for attr in attributes - set(list(cls.__dict__.keys()) + ['__init__']):
|
||||
setattr(cls, attr, _delegate(to, attr))
|
||||
src, dst = getattr(delegate_cls, attr), getattr(cls, attr)
|
||||
setattr(dst, '__doc__', src.__doc__)
|
||||
|
||||
def new__new__(_cls, this, *args, **kwargs):
|
||||
new = super(cls, _cls).__new__(_cls)
|
||||
setattr(new, to, this) # self._sun = this
|
||||
return new
|
||||
|
||||
cls.__new__ = staticmethod(new__new__)
|
||||
|
||||
return cls
|
||||
|
||||
return inner
|
5
python/python/sunbeam/tools/CMakeLists.txt
Normal file
5
python/python/sunbeam/tools/CMakeLists.txt
Normal file
@ -0,0 +1,5 @@
|
||||
set(PYTHON_SOURCES
|
||||
__init__.py
|
||||
time_vector.py)
|
||||
|
||||
add_python_package("sunbeam.tools" "sunbeam/tools" "${PYTHON_SOURCES}")
|
5
python/python/sunbeam/tools/CMakeLists.txx
Normal file
5
python/python/sunbeam/tools/CMakeLists.txx
Normal file
@ -0,0 +1,5 @@
|
||||
set(PYTHON_SOURCES
|
||||
__init__.py
|
||||
time_vector.py)
|
||||
|
||||
add_python_package("sunbeam.tools" "sunbeam/tools" "${PYTHON_SOURCES}")
|
1
python/python/sunbeam/tools/__init__.py
Normal file
1
python/python/sunbeam/tools/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
from .time_vector import TimeVector, TimeStep
|
365
python/python/sunbeam/tools/time_vector.py
Normal file
365
python/python/sunbeam/tools/time_vector.py
Normal file
@ -0,0 +1,365 @@
|
||||
import datetime
|
||||
from operator import attrgetter
|
||||
try:
|
||||
from StringIO import StringIO
|
||||
except ImportError:
|
||||
from io import StringIO
|
||||
|
||||
|
||||
import sunbeam.deck
|
||||
|
||||
# This is from the TimeMap.cpp implementation in opm
|
||||
ecl_month = {"JAN" : 1,
|
||||
"FEB" : 2,
|
||||
"MAR" : 3,
|
||||
"APR" : 4,
|
||||
"MAI" : 5,
|
||||
"MAY" : 5,
|
||||
"JUN" : 6,
|
||||
"JLY" : 7,
|
||||
"JUL" : 7,
|
||||
"AUG" : 8,
|
||||
"SEP" : 9,
|
||||
"OCT" : 10,
|
||||
"OKT" : 10,
|
||||
"NOV" : 11,
|
||||
"DEC" : 12,
|
||||
"DES" : 12}
|
||||
|
||||
inv_ecl_month = {1 : "JAN",
|
||||
2 : "FEB",
|
||||
3 : "MAR",
|
||||
4 : "APR",
|
||||
5 : "MAY",
|
||||
6 : "JUN",
|
||||
7 : "JUL",
|
||||
8 : "AUG",
|
||||
9 : "SEP",
|
||||
10: "OCT",
|
||||
11 : "NOV",
|
||||
12 : "DEC"}
|
||||
|
||||
def _make_datetime(dates_record):
|
||||
day = dates_record[0][0]
|
||||
month = dates_record[1][0]
|
||||
year = dates_record[2][0]
|
||||
|
||||
return datetime.datetime(year, ecl_month[month], day)
|
||||
|
||||
class TimeStep(object):
|
||||
|
||||
def __init__(self, dt, keywords):
|
||||
"""The TimeStep class consist of a list of keywords and a corresponding date.
|
||||
|
||||
Observe that the date value corresponds to a DATES / TSTEP keyword
|
||||
following *after* the keywords; i.e. if the TimeStep instance contains
|
||||
a WCONHIST keyword the settings in that keyword should apply *until*
|
||||
the date specified is reached. See the documentation of the TimeVector
|
||||
class for more details of the relationship between TimeVector and
|
||||
TimeStep.
|
||||
|
||||
"""
|
||||
self.dt = dt
|
||||
self.keywords = keywords
|
||||
self.tstep = None
|
||||
self.is_start = False
|
||||
|
||||
|
||||
@classmethod
|
||||
def create_first(cls, dt):
|
||||
ts = cls(dt, [])
|
||||
ts.is_start = True
|
||||
return ts
|
||||
|
||||
def add_keyword(self, kw):
|
||||
self.keywords.append(kw)
|
||||
|
||||
|
||||
|
||||
def __len__(self):
|
||||
return len(self.keywords)
|
||||
|
||||
def __contains__(self, arg):
|
||||
for kw in self.keywords:
|
||||
if arg == kw.name:
|
||||
return True
|
||||
return False
|
||||
|
||||
|
||||
def __str__(self):
|
||||
string = StringIO()
|
||||
|
||||
if not self.is_start:
|
||||
day = self.dt.day
|
||||
month = self.dt.month
|
||||
year = self.dt.year
|
||||
string.write("DATES\n {day} '{month}' {year}/\n/\n\n".format( day=day, month = inv_ecl_month[month], year=year))
|
||||
|
||||
for kw in self.keywords:
|
||||
string.write(str(kw))
|
||||
string.write("\n")
|
||||
|
||||
return string.getvalue()
|
||||
|
||||
|
||||
class TimeVector(object):
|
||||
|
||||
def __init__(self, start_date, base_string = None, base_file = None):
|
||||
"""The TimeVector class is a simple vector class with DATES/TSTEP blocks.
|
||||
|
||||
The TimeVector class is a basic building block for tools designed to
|
||||
update schedule files. A schedule file consists of a list of keywords
|
||||
related to the dynamic properties of the field, like opening and
|
||||
closing wells, specifiying rates and so on. The temporal advancement of
|
||||
the simulator is controlled by DATES and TSTEP keywords. A typical
|
||||
schedule section can look like this:
|
||||
|
||||
--- Step 1 -----------------------
|
||||
|
||||
WELSPECS
|
||||
'C1' 'G1' 10 10 10 'OIL' /
|
||||
/
|
||||
|
||||
COMPDAT
|
||||
'C1' 15 20 10 16 'OPEN' /
|
||||
'C1' 15 21 16 16 'OPEN' /
|
||||
/
|
||||
|
||||
WCONHIST
|
||||
'C1' 'OPEN' 'ORAT' 1000 /
|
||||
/
|
||||
|
||||
--- Step 2 ----------------------
|
||||
|
||||
DATES
|
||||
10 'MAY' 2016 /
|
||||
/
|
||||
|
||||
WCONHIST
|
||||
'C1' 'OPEN' 'ORAT' 2000 /
|
||||
/
|
||||
|
||||
--- Step 3 ----------------------
|
||||
|
||||
TSTEP
|
||||
10 /
|
||||
|
||||
WELSPECS
|
||||
'W2' 'G1' 5 5 5 'OIL' /
|
||||
/
|
||||
|
||||
COMPDAT
|
||||
'W2' 10 10 7 10 'OPEN' /
|
||||
/
|
||||
|
||||
WCONHIST
|
||||
'C1' 'OPEN' 'ORAT' 3000 /
|
||||
'W2' 'OPEN' 'ORAT' 1500 /
|
||||
/
|
||||
|
||||
--- Step 4 ----------------------
|
||||
|
||||
DATES
|
||||
30 'MAY' 2016 /
|
||||
/
|
||||
|
||||
As indicated above the DATES and TSTEP keywords act as delimiters in
|
||||
the schedule file. In the TimeVector class the fundamental unit is
|
||||
TimeStep instance which consists of a list of keywords, and a
|
||||
terminating DATES or TSTEP keyword, the example above would correspond
|
||||
to a TimeVector with three TimeStep instances.
|
||||
|
||||
Basic usage example:
|
||||
|
||||
#!/usr/bin/env python
|
||||
from sunbeam.tools import TimeVector
|
||||
|
||||
# Create vector and load history.
|
||||
tv = TimeVector( start )
|
||||
tv.load("history.sch")
|
||||
|
||||
|
||||
# Load predictions from another file
|
||||
tv.load("prediction.sch")
|
||||
|
||||
|
||||
# Insert the definition of one particular well at
|
||||
# a specifed date.
|
||||
tv.load("extra_wll.sch", date = datetime.datetime(2018,10,1))
|
||||
|
||||
|
||||
# Check if we have a certain timestep:
|
||||
if datetime.datetime(2017,1,1) in tv:
|
||||
print("We have it!")
|
||||
else:
|
||||
print("No such date")
|
||||
|
||||
|
||||
# Dump the updated schedule content to a file:
|
||||
with open("schedule","w") as f:
|
||||
f.write(str(tv))
|
||||
|
||||
|
||||
"""
|
||||
if base_string and base_file:
|
||||
raise ValueError("Can only supply one of base_string and base_file arguments")
|
||||
|
||||
self.start_date = datetime.datetime( start_date.year, start_date.month, start_date.day)
|
||||
self.time_steps_dict = {}
|
||||
self.time_steps_list = []
|
||||
|
||||
ts = TimeStep.create_first(self.start_date)
|
||||
|
||||
self._add_dates_block(ts)
|
||||
start_dt = datetime.datetime(start_date.year, start_date.month, start_date.day)
|
||||
if base_file:
|
||||
deck = sunbeam.deck.parse(base_file)
|
||||
self._add_deck(deck, start_dt)
|
||||
|
||||
if base_string:
|
||||
deck = sunbeam.deck.parse_string(base_string)
|
||||
self._add_deck(deck, start_dt)
|
||||
|
||||
|
||||
def __len__(self):
|
||||
"""
|
||||
The number of timesteps in the vector.
|
||||
"""
|
||||
return len(self.time_steps_dict)
|
||||
|
||||
def __contains__(self, dt):
|
||||
"""
|
||||
Will return true if the vector contains a timestep at date dt.
|
||||
"""
|
||||
if isinstance(dt, datetime.date):
|
||||
dt = datetime.datetime(dt.year, dt.month, dt.day)
|
||||
return dt in self.time_steps_dict
|
||||
|
||||
|
||||
def __getitem__(self, index):
|
||||
"""Will look up a timestep in the vector.
|
||||
|
||||
The index argument can either be an integer or a datetime instance.
|
||||
|
||||
"""
|
||||
if isinstance(index,int):
|
||||
return self.time_steps_list[index]
|
||||
else:
|
||||
if isinstance(index,datetime.date):
|
||||
index = datetime.datetime(index.year, index.month, index.day)
|
||||
return self.time_steps_dict[index]
|
||||
|
||||
|
||||
def _add_dates_block(self, ts):
|
||||
self.time_steps_dict[ts.dt] = ts
|
||||
self.time_steps_list.append(ts)
|
||||
|
||||
def delete(self, dt):
|
||||
del self.time_steps_dict[dt]
|
||||
for (index,ts) in enumerate(self.time_steps_list):
|
||||
if ts.dt == dt:
|
||||
del self.time_steps_list[index]
|
||||
break
|
||||
|
||||
|
||||
def add_keywords(self, dt, keywords):
|
||||
if dt < self.start_date:
|
||||
raise ValueError("Invalid datetime argument: {}".format(dt))
|
||||
|
||||
if dt in self.time_steps_dict:
|
||||
ts = self[dt]
|
||||
for kw in keywords:
|
||||
ts.add_keyword(kw)
|
||||
else:
|
||||
ts = TimeStep(dt, keywords)
|
||||
self._add_dates_block(ts)
|
||||
self.time_steps_list.sort( key = attrgetter("dt"))
|
||||
|
||||
|
||||
def _add_deck(self, deck, start_date):
|
||||
first_kw = deck[0]
|
||||
if start_date is None:
|
||||
if first_kw.name != "DATES":
|
||||
raise ValueError("When loading you must *either* specify date - or file must start with DATES keyword")
|
||||
dt = _make_datetime(first_kw[len(first_kw) - 1])
|
||||
else:
|
||||
if first_kw.name == "DATES":
|
||||
raise ValueError("When loading you must *either* specify date - or file must start with DATES keyword")
|
||||
dt = start_date
|
||||
|
||||
keywords = []
|
||||
for kw in deck:
|
||||
|
||||
if kw.name == "DATES":
|
||||
self.add_keywords(dt, keywords)
|
||||
|
||||
for index in range(len(kw)-1):
|
||||
dt = _make_datetime(kw[index])
|
||||
self.add_keywords(dt, [])
|
||||
|
||||
dt = _make_datetime(kw[len(kw)-1])
|
||||
|
||||
keywords = []
|
||||
continue
|
||||
|
||||
#if kw.name == "TSTEP":
|
||||
#raise ValueError("Must block the ranges with active TSTEP - getting a DATES in there is ERROR")
|
||||
|
||||
keywords.append(kw)
|
||||
|
||||
self.add_keywords(dt, keywords)
|
||||
|
||||
|
||||
def load(self, filename, date = None):
|
||||
"""Will parse a Schedule file and add the keywords to the current TimeVector.
|
||||
|
||||
You can call the load() method repeatedly, the different timesteps will
|
||||
be ordered chronologically. If a timestep is already present the
|
||||
keywords will be appended.
|
||||
|
||||
The optional date argument can be used to insert schedule file
|
||||
fragments which do not have any DATES / TSTEP keywords. Assuming you
|
||||
have a base file 'base.sch' and a small fragment 'well.sch' with the
|
||||
WELSPECS and COMPDAT keywords to create one well, then the new well can
|
||||
be added 1.st of April 2017 as this:
|
||||
|
||||
tv = TimeVector( start )
|
||||
tv.load("base.sch")
|
||||
tv.load("well.sch", date = datetime.datetime(2017, 4, 1))
|
||||
|
||||
"""
|
||||
deck = sunbeam.deck.parse(filename)
|
||||
self._add_deck(deck, date)
|
||||
|
||||
|
||||
def load_string(self, deck_string, date = None):
|
||||
"""
|
||||
Like load() - but load from a string literal instead of file.
|
||||
"""
|
||||
deck = sunbeam.deck.parse_string(deck_string)
|
||||
self._add_deck(deck, date)
|
||||
|
||||
|
||||
def __str__(self):
|
||||
"""Will return a string representation of the vector.
|
||||
|
||||
The output from this method should be valid Schedule input which can be
|
||||
passed to a simulator.
|
||||
|
||||
"""
|
||||
|
||||
string = StringIO()
|
||||
for ts in self:
|
||||
string.write(str(ts))
|
||||
|
||||
return string.getvalue()
|
||||
|
||||
|
||||
|
||||
|
||||
@property
|
||||
def dates(self):
|
||||
"""
|
||||
Will return a list of all the dates in the vector.
|
||||
"""
|
||||
return [ x.dt for x in self.time_steps_list ]
|
3
python/requirements.txt
Normal file
3
python/requirements.txt
Normal file
@ -0,0 +1,3 @@
|
||||
six
|
||||
future
|
||||
decorator
|
51
python/sunbeam/CMakeLists.txt
Normal file
51
python/sunbeam/CMakeLists.txt
Normal file
@ -0,0 +1,51 @@
|
||||
pybind11_add_module(libsunbeam sunbeam.cpp
|
||||
eclipse_state.cpp
|
||||
deck_keyword.cpp
|
||||
deck.cpp
|
||||
well.cpp
|
||||
sunbeam_state.cpp
|
||||
schedule.cpp
|
||||
connection.cpp
|
||||
eclipse_config.cpp
|
||||
table_manager.cpp
|
||||
eclipse_grid.cpp
|
||||
group.cpp
|
||||
group_tree.cpp
|
||||
eclipse_3d_properties.cpp
|
||||
parser.cpp)
|
||||
|
||||
set_target_properties( libsunbeam PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/python/sunbeam )
|
||||
include_directories( ${opm-common_INCLUDE_DIRS} )
|
||||
|
||||
# The cmake config files generated by opm-common are generated in a non standard
|
||||
# way and they are not fully relocatable. This creates problems when we are
|
||||
# building sunbeam towards a opm-common distribution which has been installed
|
||||
# using the DESTDIR option in make install.
|
||||
#
|
||||
# If we subsequently configure sunbeam as:
|
||||
#
|
||||
# bash% cmake .. -DDEST_PREFIX=/path/to/DESTDIR
|
||||
#
|
||||
# There is an extreme scotch-tape-and-chewing-gum solution which just barely
|
||||
# works:
|
||||
#
|
||||
# 1. When evaluating opm-common-config.cmake the DEST_PREFIX variable is
|
||||
# detected and the paths are manually prefixed with DEST_PREFIX.
|
||||
#
|
||||
# 2. Here we link explicitly to the dependenencies of opm-common; i.e. ecl and
|
||||
# three boost libraries insteady linking transitively through the
|
||||
# ${opm-common_LIBRARIES} variable.
|
||||
#
|
||||
# See also the file cmake/Templates/opm-project-config.cmake.in in the
|
||||
# opm-common distribution which this hack depends on.
|
||||
|
||||
if (DEST_PREFIX)
|
||||
find_package(ecl)
|
||||
find_package(Boost REQUIRED COMPONENTS filesystem regex)
|
||||
target_link_libraries(libsunbeam PRIVATE ecl)
|
||||
target_link_libraries(libsunbeam PRIVATE ${Boost_LIBRARIES})
|
||||
target_link_libraries(libsunbeam PRIVATE ${opm-common_LIBRARY})
|
||||
else()
|
||||
target_link_libraries( libsunbeam PRIVATE ${opm-common_LIBRARIES} )
|
||||
endif()
|
||||
install(TARGETS libsunbeam DESTINATION ${PYTHON_INSTALL_PREFIX}/sunbeam)
|
36
python/sunbeam/connection.cpp
Normal file
36
python/sunbeam/connection.cpp
Normal file
@ -0,0 +1,36 @@
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/Connection.hpp>
|
||||
|
||||
#include "sunbeam.hpp"
|
||||
|
||||
namespace {
|
||||
|
||||
std::string state( const Connection& c ) {
|
||||
return WellCompletion::StateEnum2String( c.state() );
|
||||
}
|
||||
|
||||
std::string direction( const Connection& c ) {
|
||||
return WellCompletion::DirectionEnum2String( c.dir() );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
void sunbeam::export_Connection(py::module& module) {
|
||||
|
||||
py::class_< Connection >( module, "Connection")
|
||||
.def_property_readonly("direction", &direction )
|
||||
.def_property_readonly("state", &state )
|
||||
.def_property_readonly( "I", &Connection::getI )
|
||||
.def_property_readonly( "J", &Connection::getJ )
|
||||
.def_property_readonly( "K", &Connection::getK )
|
||||
.def_property_readonly( "attached_to_segment", &Connection::attachedToSegment )
|
||||
.def_property_readonly( "center_depth", &Connection::depth)
|
||||
.def_property_readonly( "rw", &Connection::rw)
|
||||
.def_property_readonly( "complnum", &Connection::complnum)
|
||||
.def_property_readonly( "number", &Connection::complnum) // This is deprecated; complnum is the "correct" proeprty name
|
||||
.def_property_readonly( "sat_table_id", &Connection::satTableId)
|
||||
.def_property_readonly( "segment_number", &Connection::segment)
|
||||
.def_property_readonly( "CF", &Connection::CF)
|
||||
.def_property_readonly( "Kh", &Connection::Kh)
|
||||
.def_property_readonly( "well_pi", &Connection::wellPi );
|
||||
}
|
23
python/sunbeam/converters.hpp
Normal file
23
python/sunbeam/converters.hpp
Normal file
@ -0,0 +1,23 @@
|
||||
#ifndef SUNBEAM_CONVERTERS_HPP
|
||||
#define SUNBEAM_CONVERTERS_HPP
|
||||
|
||||
#include <sstream>
|
||||
#include <pybind11/pybind11.h>
|
||||
|
||||
namespace py = pybind11;
|
||||
|
||||
template< typename T >
|
||||
py::list iterable_to_pylist( const T& v ) {
|
||||
py::list l;
|
||||
for( const auto& x : v ) l.append( x );
|
||||
return l;
|
||||
}
|
||||
|
||||
template< typename T >
|
||||
std::string str( const T& t ) {
|
||||
std::stringstream stream;
|
||||
stream << t;
|
||||
return stream.str();
|
||||
}
|
||||
|
||||
#endif //SUNBEAM_CONVERTERS_HPP
|
55
python/sunbeam/deck.cpp
Normal file
55
python/sunbeam/deck.cpp
Normal file
@ -0,0 +1,55 @@
|
||||
#include <opm/parser/eclipse/Deck/Deck.hpp>
|
||||
|
||||
#include <pybind11/pybind11.h>
|
||||
#include "converters.hpp"
|
||||
#include "sunbeam.hpp"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
size_t size( const Deck& deck ) {
|
||||
return deck.size();
|
||||
}
|
||||
|
||||
|
||||
size_t count( const Deck& deck, const std::string& kw ) {
|
||||
return deck.count(kw);
|
||||
}
|
||||
|
||||
bool hasKeyword( const Deck& deck, const std::string& kw ) {
|
||||
return deck.hasKeyword(kw);
|
||||
}
|
||||
|
||||
const DeckKeyword& getKeyword_tuple( const Deck& deck, py::tuple kw_index ) {
|
||||
const std::string kw = py::cast<const std::string>(kw_index[0]);
|
||||
const size_t index = py::cast<size_t>(kw_index[1]);
|
||||
return deck.getKeyword(kw, index);
|
||||
}
|
||||
|
||||
const DeckKeyword& getKeyword_string( const Deck& deck, const std::string& kw ) {
|
||||
return deck.getKeyword(kw);
|
||||
}
|
||||
|
||||
const DeckKeyword& getKeyword_int( const Deck& deck, size_t index ) {
|
||||
return deck.getKeyword(index);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
void sunbeam::export_Deck(py::module &module) {
|
||||
|
||||
py::class_< Deck >(module, "Deck")
|
||||
.def( "__len__", &size )
|
||||
.def( "__contains__", &hasKeyword )
|
||||
.def("__iter__",
|
||||
[] (const Deck &deck) { return py::make_iterator(deck.begin(), deck.end()); }, py::keep_alive<0, 1>())
|
||||
.def( "__getitem__", &getKeyword_int, ref_internal)
|
||||
.def( "__getitem__", &getKeyword_string, ref_internal)
|
||||
.def( "__getitem__", &getKeyword_tuple, ref_internal)
|
||||
.def( "__str__", &str<Deck>)
|
||||
.def( "count", &count )
|
||||
;
|
||||
}
|
||||
|
||||
|
90
python/sunbeam/deck_keyword.cpp
Normal file
90
python/sunbeam/deck_keyword.cpp
Normal file
@ -0,0 +1,90 @@
|
||||
#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
|
||||
|
||||
#include <opm/parser/eclipse/Deck/DeckItem.hpp>
|
||||
#include <opm/parser/eclipse/Deck/DeckKeyword.hpp>
|
||||
#include <opm/parser/eclipse/Deck/DeckRecord.hpp>
|
||||
#include <opm/parser/eclipse/Utility/Typetools.hpp>
|
||||
|
||||
#include "sunbeam.hpp"
|
||||
#include "converters.hpp"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
/* DeckKeyword */
|
||||
const DeckRecord& (DeckKeyword::*getRecord)(size_t index) const = &DeckKeyword::getRecord;
|
||||
|
||||
|
||||
|
||||
py::list item_to_pylist( const DeckItem& item )
|
||||
{
|
||||
switch (item.getType())
|
||||
{
|
||||
case type_tag::integer:
|
||||
return iterable_to_pylist( item.getData< int >() );
|
||||
break;
|
||||
case type_tag::fdouble:
|
||||
return iterable_to_pylist( item.getData< double >() );
|
||||
break;
|
||||
case type_tag::string:
|
||||
return iterable_to_pylist( item.getData< std::string >() );
|
||||
break;
|
||||
default:
|
||||
throw std::logic_error( "Type not set." );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
struct DeckRecordIterator
|
||||
{
|
||||
DeckRecordIterator(const DeckRecord* record) {
|
||||
this->record = record;
|
||||
this->it = this->record->begin();
|
||||
}
|
||||
|
||||
const DeckRecord* record;
|
||||
DeckRecord::const_iterator it;
|
||||
|
||||
py::list next() {
|
||||
if (it == record->end()) {
|
||||
PyErr_SetString(PyExc_StopIteration, "At end.");
|
||||
throw py::error_already_set();
|
||||
}
|
||||
return item_to_pylist(*(it++));
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
void sunbeam::export_DeckKeyword(py::module& module) {
|
||||
py::class_< DeckKeyword >( module, "DeckKeyword")
|
||||
.def( "__repr__", &DeckKeyword::name )
|
||||
.def( "__str__", &str<DeckKeyword> )
|
||||
.def("__iter__", [] (const DeckKeyword &keyword) { return py::make_iterator(keyword.begin(), keyword.end()); }, py::keep_alive<0,1>())
|
||||
.def( "__getitem__", getRecord, ref_internal)
|
||||
.def( "__len__", &DeckKeyword::size )
|
||||
.def_property_readonly("name", &DeckKeyword::name )
|
||||
;
|
||||
|
||||
|
||||
py::class_< DeckRecord >( module, "DeckRecord")
|
||||
.def( "__repr__", &str<DeckRecord> )
|
||||
.def( "__iter__", +[](const DeckRecord& record){
|
||||
return DeckRecordIterator(&record);
|
||||
})
|
||||
.def( "__getitem__", +[](const DeckRecord& record, size_t index){
|
||||
return item_to_pylist( record.getItem(index) );
|
||||
})
|
||||
.def( "__getitem__", +[](const DeckRecord& record, const std::string& name){
|
||||
return item_to_pylist( record.getItem(name) );
|
||||
})
|
||||
.def( "__len__", &DeckRecord::size )
|
||||
;
|
||||
|
||||
|
||||
py::class_< DeckRecordIterator >( module, "DeckRecordIterator")
|
||||
.def( "__next__", &DeckRecordIterator::next )
|
||||
.def( "next", &DeckRecordIterator::next )
|
||||
;
|
||||
|
||||
}
|
46
python/sunbeam/eclipse_3d_properties.cpp
Normal file
46
python/sunbeam/eclipse_3d_properties.cpp
Normal file
@ -0,0 +1,46 @@
|
||||
#include <opm/parser/eclipse/EclipseState/Eclipse3DProperties.hpp>
|
||||
#include <pybind11/stl.h>
|
||||
|
||||
#include "sunbeam.hpp"
|
||||
#include "converters.hpp"
|
||||
|
||||
namespace {
|
||||
|
||||
py::list getitem( const Eclipse3DProperties& p, const std::string& kw) {
|
||||
const auto& ip = p.getIntProperties();
|
||||
if (ip.supportsKeyword(kw) && ip.hasKeyword(kw))
|
||||
return iterable_to_pylist(p.getIntGridProperty(kw).getData());
|
||||
|
||||
|
||||
const auto& dp = p.getDoubleProperties();
|
||||
if (dp.supportsKeyword(kw) && dp.hasKeyword(kw))
|
||||
return iterable_to_pylist(p.getDoubleGridProperty(kw).getData());
|
||||
|
||||
throw py::key_error( "no such grid property " + kw );
|
||||
}
|
||||
|
||||
bool contains( const Eclipse3DProperties& p, const std::string& kw) {
|
||||
return
|
||||
(p.getIntProperties().supportsKeyword(kw) &&
|
||||
p.getIntProperties().hasKeyword(kw))
|
||||
||
|
||||
(p.getDoubleProperties().supportsKeyword(kw) &&
|
||||
p.getDoubleProperties().hasKeyword(kw))
|
||||
;
|
||||
}
|
||||
|
||||
std::vector<int> regions( const Eclipse3DProperties& p, const std::string& kw) {
|
||||
return p.getRegions(kw);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void sunbeam::export_Eclipse3DProperties(py::module& module) {
|
||||
|
||||
py::class_< Eclipse3DProperties >( module, "Eclipse3DProperties")
|
||||
.def( "getRegions", ®ions )
|
||||
.def( "__contains__", &contains )
|
||||
.def( "__getitem__", &getitem )
|
||||
;
|
||||
|
||||
}
|
35
python/sunbeam/eclipse_config.cpp
Normal file
35
python/sunbeam/eclipse_config.cpp
Normal file
@ -0,0 +1,35 @@
|
||||
#include <vector> // workaround for missing import in opm-parser/Equil.hpp
|
||||
#include <opm/parser/eclipse/EclipseState/EclipseConfig.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/IOConfig/RestartConfig.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/InitConfig/InitConfig.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/SummaryConfig/SummaryConfig.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/SimulationConfig/SimulationConfig.hpp>
|
||||
|
||||
#include "sunbeam.hpp"
|
||||
|
||||
|
||||
void sunbeam::export_EclipseConfig(py::module& module)
|
||||
{
|
||||
py::class_< EclipseConfig >( module, "EclipseConfig" )
|
||||
.def( "init", &EclipseConfig::init, ref_internal)
|
||||
.def( "restart", &EclipseConfig::restart, ref_internal);
|
||||
|
||||
py::class_< SummaryConfig >( module, "SummaryConfig")
|
||||
.def( "__contains__", &SummaryConfig::hasKeyword );
|
||||
|
||||
py::class_< InitConfig >( module, "InitConfig")
|
||||
.def( "hasEquil", &InitConfig::hasEquil )
|
||||
.def( "restartRequested", &InitConfig::restartRequested )
|
||||
.def( "getRestartStep" , &InitConfig::getRestartStep );
|
||||
|
||||
py::class_< RestartConfig >( module, "RestartConfig")
|
||||
.def( "getKeyword", &RestartConfig::getKeyword )
|
||||
.def( "getFirstRestartStep", &RestartConfig::getFirstRestartStep )
|
||||
.def( "getWriteRestartFile", &RestartConfig::getWriteRestartFile, py::arg("reportStep"), py::arg("log") = true);
|
||||
|
||||
py::class_< SimulationConfig >( module, "SimulationConfig")
|
||||
.def("hasThresholdPressure", &SimulationConfig::useThresholdPressure )
|
||||
.def("useCPR", &SimulationConfig::useCPR )
|
||||
.def("hasDISGAS", &SimulationConfig::hasDISGAS )
|
||||
.def("hasVAPOIL", &SimulationConfig::hasVAPOIL );
|
||||
}
|
56
python/sunbeam/eclipse_grid.cpp
Normal file
56
python/sunbeam/eclipse_grid.cpp
Normal file
@ -0,0 +1,56 @@
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/EclipseGrid.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/FaultCollection.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/FaultFace.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/Fault.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/FaceDir.hpp>
|
||||
|
||||
#include "sunbeam.hpp"
|
||||
|
||||
|
||||
namespace {
|
||||
py::tuple getXYZ( const EclipseGrid& grid ) {
|
||||
return py::make_tuple( grid.getNX(),
|
||||
grid.getNY(),
|
||||
grid.getNZ());
|
||||
}
|
||||
|
||||
int getNumActive( const EclipseGrid& grid ) {
|
||||
return grid.getNumActive();
|
||||
}
|
||||
|
||||
int getCartesianSize( const EclipseGrid& grid ) {
|
||||
return grid.getCartesianSize();
|
||||
}
|
||||
|
||||
int getGlobalIndex( const EclipseGrid& grid, int i, int j, int k ) {
|
||||
return grid.getGlobalIndex(i, j, k);
|
||||
}
|
||||
|
||||
py::tuple getIJK( const EclipseGrid& grid, int g ) {
|
||||
const auto& ijk = grid.getIJK(g);
|
||||
return py::make_tuple(ijk[0], ijk[1], ijk[2]);
|
||||
}
|
||||
|
||||
double cellVolume1G( const EclipseGrid& grid, size_t glob_idx) {
|
||||
return grid.getCellVolume(glob_idx);
|
||||
}
|
||||
|
||||
double cellVolume3( const EclipseGrid& grid, size_t i_idx, size_t j_idx, size_t k_idx) {
|
||||
return grid.getCellVolume(i_idx, j_idx, k_idx);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void sunbeam::export_EclipseGrid(py::module& module) {
|
||||
|
||||
py::class_< EclipseGrid >( module, "EclipseGrid")
|
||||
.def( "_getXYZ", &getXYZ )
|
||||
.def( "nactive", &getNumActive )
|
||||
.def( "cartesianSize", &getCartesianSize )
|
||||
.def( "globalIndex", &getGlobalIndex )
|
||||
.def( "getIJK", &getIJK )
|
||||
.def( "_cellVolume1G", &cellVolume1G)
|
||||
.def( "_cellVolume3", &cellVolume3)
|
||||
;
|
||||
|
||||
}
|
104
python/sunbeam/eclipse_state.cpp
Normal file
104
python/sunbeam/eclipse_state.cpp
Normal file
@ -0,0 +1,104 @@
|
||||
#include <opm/parser/eclipse/EclipseState/EclipseState.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/FaultCollection.hpp>
|
||||
|
||||
#include "sunbeam.hpp"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
py::list getNNC( const EclipseState& state ) {
|
||||
py::list l;
|
||||
for( const auto& x : state.getInputNNC().nncdata() )
|
||||
l.append( py::make_tuple( x.cell1, x.cell2, x.trans ) );
|
||||
return l;
|
||||
}
|
||||
|
||||
py::list faultNames( const EclipseState& state ) {
|
||||
py::list l;
|
||||
const auto& fc = state.getFaults();
|
||||
for (size_t i = 0; i < fc.size(); i++) {
|
||||
const auto& f = fc.getFault(i);
|
||||
l.append(f.getName());
|
||||
}
|
||||
return l;
|
||||
}
|
||||
|
||||
py::dict jfunc( const EclipseState& s) {
|
||||
const auto& tm = s.getTableManager();
|
||||
if (!tm.useJFunc())
|
||||
return py::dict();
|
||||
const auto& j = tm.getJFunc();
|
||||
std::string flag = "BOTH";
|
||||
std::string dir = "XY";
|
||||
if (j.flag() == JFunc::Flag::WATER)
|
||||
flag = "WATER";
|
||||
else if (j.flag() == JFunc::Flag::GAS)
|
||||
flag = "GAS";
|
||||
|
||||
if (j.direction() == JFunc::Direction::X)
|
||||
dir = "X";
|
||||
else if (j.direction() == JFunc::Direction::Y)
|
||||
dir = "Y";
|
||||
else if (j.direction() == JFunc::Direction::Z)
|
||||
dir = "Z";
|
||||
|
||||
py::dict ret;
|
||||
ret["FLAG"] = flag;
|
||||
ret["DIRECTION"] = dir;
|
||||
ret["ALPHA_FACTOR"] = j.alphaFactor();
|
||||
ret["BETA_FACTOR"] = j.betaFactor();
|
||||
if (j.flag() == JFunc::Flag::WATER || j.flag() == JFunc::Flag::BOTH)
|
||||
ret["OIL_WATER"] = j.owSurfaceTension();
|
||||
if (j.flag() == JFunc::Flag::GAS || j.flag() == JFunc::Flag::BOTH)
|
||||
ret["GAS_OIL"] = j.goSurfaceTension();
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
const std::string faceDir( FaceDir::DirEnum dir ) {
|
||||
switch (dir) {
|
||||
case FaceDir::DirEnum::XPlus: return "X+";
|
||||
case FaceDir::DirEnum::XMinus: return "X-";
|
||||
case FaceDir::DirEnum::YPlus: return "Y+";
|
||||
case FaceDir::DirEnum::YMinus: return "Y-";
|
||||
case FaceDir::DirEnum::ZPlus: return "Z+";
|
||||
case FaceDir::DirEnum::ZMinus: return "Z-";
|
||||
}
|
||||
return "Unknown direction";
|
||||
}
|
||||
|
||||
py::list faultFaces( const EclipseState& state, const std::string& name ) {
|
||||
py::list l;
|
||||
const auto& gr = state.getInputGrid(); // used for global -> IJK
|
||||
const auto& fc = state.getFaults();
|
||||
const Fault& f = fc.getFault(name);
|
||||
for (const auto& ff : f) {
|
||||
// for each fault face
|
||||
for (size_t g : ff) {
|
||||
// for global index g in ff
|
||||
const auto ijk = gr.getIJK(g);
|
||||
l.append(py::make_tuple(ijk[0], ijk[1], ijk[2], faceDir(ff.getDir())));
|
||||
}
|
||||
}
|
||||
return l;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void sunbeam::export_EclipseState(py::module& module) {
|
||||
|
||||
py::class_< EclipseState >( module, "EclipseState" )
|
||||
.def_property_readonly( "title", &EclipseState::getTitle )
|
||||
.def( "_props", &EclipseState::get3DProperties, ref_internal)
|
||||
.def( "_grid", &EclipseState::getInputGrid, ref_internal)
|
||||
.def( "_cfg", &EclipseState::cfg, ref_internal)
|
||||
.def( "_tables", &EclipseState::getTableManager, ref_internal)
|
||||
.def( "has_input_nnc", &EclipseState::hasInputNNC )
|
||||
.def( "simulation", &EclipseState::getSimulationConfig, ref_internal)
|
||||
.def( "input_nnc", &getNNC )
|
||||
.def( "faultNames", &faultNames )
|
||||
.def( "faultFaces", &faultFaces )
|
||||
.def( "jfunc", &jfunc )
|
||||
;
|
||||
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user