Add 'python/' from commit '278373703455ea6562a0f8e5278b4db46eb1fc7e'

git-subtree-dir: python
git-subtree-mainline: e8dbf7d8ee
git-subtree-split: 2783737034
This commit is contained in:
Joakim Hove 2019-05-08 07:20:29 +02:00
commit 77795b5005
133 changed files with 538641 additions and 0 deletions

89
python/.gitignore vendored Normal file
View 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
View 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
View 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
View 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
View 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
View File

@ -0,0 +1,51 @@
# sunbeam [![Build Status](https://travis-ci.org/equinor/sunbeam.svg?branch=master)](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`.

File diff suppressed because it is too large Load Diff

View File

@ -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 /
/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View 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 /

File diff suppressed because it is too large Load Diff

View 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
/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View 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!!!

File diff suppressed because it is too large Load Diff

View File

@ -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
/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -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 /

View 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 --------
--
--------------------------------------------------------------------

View 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
/

View 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'
/

View 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 /

View 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' /
/

View 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
/

View 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
/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View 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
/

View 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
/

View 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
/

View 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
/

View 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
/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View 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
/

View 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
/

View 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
/

View 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
/

File diff suppressed because it is too large Load Diff

View 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 /

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View 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" )

File diff suppressed because it is too large Load Diff

View 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
/

View 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
/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View 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

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

BIN
python/examples/img2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

65
python/examples/norne.py Executable file
View 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
View 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
View 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

@ -0,0 +1 @@
Subproject commit add56ccdcac23a6c522a2c1174a866e293c61dab

1
python/pycmake Submodule

@ -0,0 +1 @@
Subproject commit 21f1eb9a928e70840d94f4f75e5ff285df393edb

View 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 )

View 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)

View 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'

View 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()'

View File

@ -0,0 +1,4 @@
set(PYTHON_SOURCES
__init__.py)
add_python_package(sunbeam.deck "sunbeam/deck" "${PYTHON_SOURCES}")

View File

@ -0,0 +1,2 @@
from sunbeam.parser import load_deck as parse
from sunbeam.parser import load_deck_string as parse_string

View 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)

View 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()

View 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]

View 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

View File

@ -0,0 +1,5 @@
set(PYTHON_SOURCES
__init__.py
time_vector.py)
add_python_package("sunbeam.tools" "sunbeam/tools" "${PYTHON_SOURCES}")

View File

@ -0,0 +1,5 @@
set(PYTHON_SOURCES
__init__.py
time_vector.py)
add_python_package("sunbeam.tools" "sunbeam/tools" "${PYTHON_SOURCES}")

View File

@ -0,0 +1 @@
from .time_vector import TimeVector, TimeStep

View 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
View File

@ -0,0 +1,3 @@
six
future
decorator

View 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)

View 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 );
}

View 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
View 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 )
;
}

View 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 )
;
}

View 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", &regions )
.def( "__contains__", &contains )
.def( "__getitem__", &getitem )
;
}

View 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 );
}

View 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)
;
}

View 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