mirror of
https://github.com/OPM/ResInsight.git
synced 2026-09-03 20:53:13 -05:00
Remove python sub-folder
This commit is contained in:
@@ -1,40 +0,0 @@
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/Well/Connection.hpp>
|
||||
|
||||
#include "export.hpp"
|
||||
|
||||
namespace {
|
||||
|
||||
std::string state( const Connection& c ) {
|
||||
return Connection::State2String( c.state() );
|
||||
}
|
||||
|
||||
std::string direction( const Connection& c ) {
|
||||
return Connection::Direction2String( c.dir() );
|
||||
}
|
||||
|
||||
std::tuple<int, int, int> get_pos( const Connection& conn ) {
|
||||
return std::make_tuple(conn.getI(), conn.getJ(), conn.getK());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
void python::common::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( "j", &Connection::getK )
|
||||
.def_property_readonly( "pos", &get_pos )
|
||||
.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);
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
#include "converters.hpp"
|
||||
|
||||
namespace convert {
|
||||
|
||||
py::array numpy_string_array(const std::vector<std::string>& input) {
|
||||
const std::size_t target_length = 8;
|
||||
using numpy_string_t = char[target_length];
|
||||
auto output = py::array_t<numpy_string_t>(input.size());
|
||||
auto output_ptr = reinterpret_cast<numpy_string_t *>(output.request().ptr);
|
||||
for (std::size_t index = 0; index < input.size(); index++) {
|
||||
if (input[index].size() > target_length)
|
||||
throw std::invalid_argument("Current implementation only works with 8 character strings");
|
||||
|
||||
std::size_t length = input[index].size();
|
||||
std::strncpy(output_ptr[index], input[index].c_str(), length);
|
||||
for (std::size_t i = length; i < target_length; i++)
|
||||
output_ptr[index][i] = '\0';
|
||||
}
|
||||
return output;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
#ifndef SUNBEAM_CONVERTERS_HPP
|
||||
#define SUNBEAM_CONVERTERS_HPP
|
||||
|
||||
#include <sstream>
|
||||
#include <pybind11/pybind11.h>
|
||||
#include <pybind11/numpy.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();
|
||||
}
|
||||
|
||||
namespace convert {
|
||||
|
||||
py::array numpy_string_array(const std::vector<std::string>& input);
|
||||
|
||||
template <class T>
|
||||
std::vector<T> vector(py::array_t<T>& input) {
|
||||
T * input_ptr = (T *) input.request().ptr;
|
||||
std::vector<T> output(input.size());
|
||||
|
||||
for (int i = 0; i < input.size(); i++)
|
||||
output[i] = input_ptr[i];
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
|
||||
template <class T>
|
||||
py::array_t<T> numpy_array(const std::vector<T>& input) {
|
||||
auto output = py::array_t<T>(input.size());
|
||||
T * py_array_ptr = (T*)output.request().ptr;
|
||||
|
||||
for (size_t i = 0; i < input.size(); i++)
|
||||
py_array_ptr[i] = input[i];
|
||||
|
||||
return output;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif //SUNBEAM_CONVERTERS_HPP
|
||||
@@ -1,71 +0,0 @@
|
||||
#include <opm/parser/eclipse/Deck/Deck.hpp>
|
||||
#include <opm/parser/eclipse/Units/UnitSystem.hpp>
|
||||
|
||||
#include <pybind11/pybind11.h>
|
||||
#include "converters.hpp"
|
||||
#include "export.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);
|
||||
}
|
||||
|
||||
//This adds a keyword by copy
|
||||
void addKeyword(Deck& deck, const DeckKeyword kw) {
|
||||
deck.addKeyword(kw);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
void python::common::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("active_unit_system", [](const Deck& deck) -> const UnitSystem& {
|
||||
return deck.getActiveUnitSystem();
|
||||
} )
|
||||
|
||||
.def("default_unit_system", [](const Deck& deck) -> const UnitSystem& {
|
||||
return deck.getDefaultUnitSystem();
|
||||
} )
|
||||
|
||||
.def( "count", &count )
|
||||
.def( "add", &addKeyword)
|
||||
;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,230 +0,0 @@
|
||||
#include <boost/python/suite/indexing/vector_indexing_suite.hpp>
|
||||
|
||||
#include <opm/parser/eclipse/Units/UnitSystem.hpp>
|
||||
|
||||
#include <opm/parser/eclipse/Parser/ParserKeyword.hpp>
|
||||
|
||||
#include <opm/parser/eclipse/Deck/DeckValue.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 "export.hpp"
|
||||
#include "converters.hpp"
|
||||
|
||||
#include <iostream>
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
/* DeckKeyword */
|
||||
const DeckRecord& (DeckKeyword::*getRecord)(size_t index) const = &DeckKeyword::getRecord;
|
||||
|
||||
|
||||
const DeckItem& getItem(const DeckRecord& record, size_t index) {
|
||||
return record.getItem(index);
|
||||
}
|
||||
|
||||
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:
|
||||
throw py::type_error("Double list access must be specified by either 'get_raw_data_list' or 'get_SI_data_list'.");
|
||||
break;
|
||||
case type_tag::string:
|
||||
return iterable_to_pylist( item.getData< std::string >() );
|
||||
break;
|
||||
default:
|
||||
throw std::logic_error( "Type not set." );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
py::list raw_data_to_pylist( const DeckItem& item) {
|
||||
return iterable_to_pylist( item.getData<double>() );
|
||||
}
|
||||
|
||||
|
||||
py::list SI_data_to_pylist( const DeckItem& item) {
|
||||
return iterable_to_pylist( item.getSIDoubleData() );
|
||||
}
|
||||
|
||||
|
||||
bool is_int(const std::string& s)
|
||||
{
|
||||
return !s.empty() && std::find_if(s.begin(),
|
||||
s.end(), [](char c) { return !std::isdigit(c); }) == s.end();
|
||||
}
|
||||
|
||||
|
||||
void push_string_as_deck_value(std::vector<DeckValue>& record, const std::string str) {
|
||||
|
||||
std::size_t star_pos = str.find('*');
|
||||
if (star_pos != std::string::npos) {
|
||||
int multiplier = 1;
|
||||
|
||||
std::string mult_str = str.substr(0, star_pos);
|
||||
|
||||
if (mult_str.length() > 0) {
|
||||
if (is_int(mult_str))
|
||||
multiplier = std::stoi( mult_str );
|
||||
else
|
||||
throw py::type_error();
|
||||
}
|
||||
|
||||
std::string value_str = str.substr(star_pos + 1, str.length());
|
||||
DeckValue value;
|
||||
|
||||
if (value_str.length() > 0) {
|
||||
if (is_int(value_str))
|
||||
value = DeckValue( stoi(value_str) );
|
||||
else
|
||||
value = DeckValue( stod(value_str) );
|
||||
}
|
||||
|
||||
for (int i = 0; i < multiplier; i++)
|
||||
record.push_back( value );
|
||||
|
||||
}
|
||||
else
|
||||
record.push_back( DeckValue(str) );
|
||||
|
||||
}
|
||||
|
||||
|
||||
py::array_t<int> get_int_array(const DeckKeyword& kw) {
|
||||
return convert::numpy_array( kw.getIntData() );
|
||||
}
|
||||
|
||||
py::array_t<double> get_raw_array(const DeckKeyword& kw) {
|
||||
return convert::numpy_array( kw.getRawDoubleData() );
|
||||
}
|
||||
|
||||
py::array_t<double> get_SI_array(const DeckKeyword& kw) {
|
||||
return convert::numpy_array( kw.getSIDoubleData() );
|
||||
}
|
||||
|
||||
bool uda_item_is_numeric(DeckItem * item)
|
||||
{
|
||||
if( !item->is_uda() )
|
||||
throw std::logic_error("deck item doesn't support user defined quantities");
|
||||
|
||||
UDAValue uda = item->get_uda();
|
||||
|
||||
return uda.is_numeric();
|
||||
}
|
||||
|
||||
double get_uda_double(DeckItem * item)
|
||||
{
|
||||
UDAValue uda = item->get_uda();
|
||||
return uda.get<double>();
|
||||
}
|
||||
|
||||
std::string get_uda_str(DeckItem * item)
|
||||
{
|
||||
UDAValue uda = item->get_uda();
|
||||
return uda.get<std::string>();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
void python::common::export_DeckKeyword(py::module& module) {
|
||||
py::class_< DeckKeyword >( module, "DeckKeyword")
|
||||
.def(py::init<const ParserKeyword& >())
|
||||
|
||||
.def(py::init([](const ParserKeyword& parser_keyword, py::list record_list, UnitSystem& active_system, UnitSystem& default_system) {
|
||||
|
||||
std::vector< std::vector<DeckValue> > value_record_list;
|
||||
|
||||
for (py::handle record_obj : record_list) {
|
||||
py::list record = record_obj.cast<py::list>();
|
||||
std::vector<DeckValue> value_record;
|
||||
|
||||
for (const py::handle& value_obj : record) {
|
||||
|
||||
try {
|
||||
int val_int = value_obj.cast<int>();
|
||||
value_record.push_back( DeckValue(val_int) );
|
||||
continue;
|
||||
}
|
||||
catch (const std::exception& e_int) {}
|
||||
|
||||
try {
|
||||
double val_double = value_obj.cast<double>();
|
||||
value_record.push_back( DeckValue(val_double) );
|
||||
continue;
|
||||
}
|
||||
catch (const std::exception& e_double) {}
|
||||
|
||||
try {
|
||||
std::string val_string = value_obj.cast<std::string>();
|
||||
push_string_as_deck_value(value_record, val_string);
|
||||
continue;
|
||||
}
|
||||
catch (const std::exception& e_string) {}
|
||||
|
||||
throw py::type_error("DeckKeyword: tried to add unkown type to record.");
|
||||
|
||||
}
|
||||
value_record_list.push_back( value_record );
|
||||
}
|
||||
return DeckKeyword(parser_keyword, value_record_list, active_system, default_system);
|
||||
} ) )
|
||||
|
||||
.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 )
|
||||
|
||||
.def(py::init([](const ParserKeyword& parser_keyword, py::array_t<int> py_data) {
|
||||
return DeckKeyword(parser_keyword, convert::vector(py_data));
|
||||
} ) )
|
||||
|
||||
.def(py::init([](const ParserKeyword& parser_keyword, py::array_t<double> py_data, UnitSystem& active_system, UnitSystem& default_system) {
|
||||
return DeckKeyword(parser_keyword, convert::vector(py_data), active_system, default_system);
|
||||
} ) )
|
||||
|
||||
.def("get_int_array", &get_int_array)
|
||||
.def("get_raw_array", &get_raw_array)
|
||||
.def("get_SI_array", &get_SI_array)
|
||||
;
|
||||
|
||||
|
||||
py::class_< DeckRecord >( module, "DeckRecord")
|
||||
.def( "__repr__", &str<DeckRecord> )
|
||||
.def( "__iter__", +[] (const DeckRecord& record) { return py::make_iterator(record.begin(), record.end()); }, py::keep_alive<0,1>())
|
||||
.def( "__getitem__", &getItem, ref_internal)
|
||||
.def( "__len__", &DeckRecord::size )
|
||||
;
|
||||
|
||||
|
||||
py::class_< DeckItem >(module, "DeckItem")
|
||||
.def( "__len__", &DeckItem::data_size )
|
||||
.def("is_uda", &DeckItem::is_uda)
|
||||
.def("is_double", &DeckItem::is_double)
|
||||
.def("is_int", &DeckItem::is_int)
|
||||
.def("is_string", &DeckItem::is_string)
|
||||
.def("get_str", &DeckItem::get<std::string>)
|
||||
.def("get_int", &DeckItem::get<int>)
|
||||
.def("get_raw", &DeckItem::get<double>)
|
||||
.def("get_SI", &DeckItem::getSIDouble)
|
||||
.def("get_data_list", &item_to_pylist)
|
||||
.def("get_raw_data_list", &raw_data_to_pylist)
|
||||
.def("get_SI_data_list", &SI_data_to_pylist)
|
||||
.def("__has_value", &DeckItem::hasValue)
|
||||
.def("__defaulted", &DeckItem::defaultApplied)
|
||||
.def("__is_numberic", &uda_item_is_numeric)
|
||||
.def("__uda_double", &get_uda_double)
|
||||
.def("__uda_str", &get_uda_str)
|
||||
;
|
||||
|
||||
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
#include <vector>
|
||||
#include <opm/parser/eclipse/EclipseState/EclipseConfig.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 <opm/parser/eclipse/EclipseState/Tables/TableManager.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/EclipseState.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/Schedule.hpp>
|
||||
|
||||
|
||||
#include "export.hpp"
|
||||
|
||||
|
||||
void python::common::export_EclipseConfig(py::module& module)
|
||||
{
|
||||
py::class_< EclipseConfig >( module, "EclipseConfig" )
|
||||
.def( "init", &EclipseConfig::init, ref_internal);
|
||||
|
||||
py::class_< SummaryConfig >( module, "SummaryConfig")
|
||||
.def(py::init([](const Deck& deck, const EclipseState& state, const Schedule& schedule) {
|
||||
return SummaryConfig( deck, schedule, state.getTableManager() );
|
||||
} ) )
|
||||
|
||||
.def( "__contains__", &SummaryConfig::hasKeyword );
|
||||
|
||||
py::class_< InitConfig >( module, "InitConfig")
|
||||
.def( "hasEquil", &InitConfig::hasEquil )
|
||||
.def( "restartRequested", &InitConfig::restartRequested )
|
||||
.def( "getRestartStep" , &InitConfig::getRestartStep );
|
||||
|
||||
py::class_< IOConfig >( module, "IOConfig");
|
||||
|
||||
py::class_< SimulationConfig >( module, "SimulationConfig")
|
||||
.def("hasThresholdPressure", &SimulationConfig::useThresholdPressure )
|
||||
.def("useCPR", &SimulationConfig::useCPR )
|
||||
.def("hasDISGAS", &SimulationConfig::hasDISGAS )
|
||||
.def("hasVAPOIL", &SimulationConfig::hasVAPOIL );
|
||||
}
|
||||
|
||||
@@ -1,134 +0,0 @@
|
||||
#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 <pybind11/stl.h>
|
||||
#include "converters.hpp"
|
||||
#include "export.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);
|
||||
}
|
||||
|
||||
py::array cellVolumeAll( const EclipseGrid& grid)
|
||||
{
|
||||
std::vector<double> cellVol;
|
||||
std::array<int, 3> dims = grid.getNXYZ();
|
||||
size_t nCells = dims[0]*dims[1]*dims[2];
|
||||
cellVol.reserve(nCells);
|
||||
|
||||
for (size_t n = 0; n < nCells; n++)
|
||||
cellVol.push_back(grid.getCellVolume(n));
|
||||
|
||||
return convert::numpy_array(cellVol);
|
||||
}
|
||||
|
||||
py::array cellVolumeMask( const EclipseGrid& grid, std::vector<int>& mask)
|
||||
{
|
||||
std::array<int, 3> dims = grid.getNXYZ();
|
||||
size_t nCells = dims[0]*dims[1]*dims[2];
|
||||
|
||||
if (nCells != mask.size())
|
||||
throw std::logic_error("size of input mask doesn't match size of grid");
|
||||
|
||||
std::vector<double> cellVol(nCells, 0.0);
|
||||
|
||||
for (size_t n = 0; n < nCells; n++)
|
||||
if (mask[n]==1)
|
||||
cellVol[n] = grid.getCellVolume(n);
|
||||
|
||||
return convert::numpy_array(cellVol);
|
||||
}
|
||||
|
||||
double cellDepth1G( const EclipseGrid& grid, size_t glob_idx) {
|
||||
return grid.getCellDepth(glob_idx);
|
||||
}
|
||||
|
||||
double cellDepth3( const EclipseGrid& grid, size_t i_idx, size_t j_idx, size_t k_idx) {
|
||||
return grid.getCellDepth(i_idx, j_idx, k_idx);
|
||||
}
|
||||
|
||||
py::array cellDepthAll( const EclipseGrid& grid)
|
||||
{
|
||||
std::vector<double> cellDepth;
|
||||
std::array<int, 3> dims = grid.getNXYZ();
|
||||
size_t nCells = dims[0]*dims[1]*dims[2];
|
||||
cellDepth.reserve(nCells);
|
||||
|
||||
for (size_t n = 0; n < nCells; n++)
|
||||
cellDepth.push_back(grid.getCellDepth(n));
|
||||
|
||||
return convert::numpy_array(cellDepth);
|
||||
}
|
||||
|
||||
py::array cellDepthMask( const EclipseGrid& grid, std::vector<int>& mask)
|
||||
{
|
||||
std::array<int, 3> dims = grid.getNXYZ();
|
||||
size_t nCells = dims[0]*dims[1]*dims[2];
|
||||
|
||||
if (nCells != mask.size())
|
||||
throw std::logic_error("size of input mask doesn't match size of grid");
|
||||
|
||||
std::vector<double> cellDepth(nCells, 0.0);
|
||||
|
||||
for (size_t n = 0; n < nCells; n++)
|
||||
if (mask[n]==1)
|
||||
cellDepth[n] = grid.getCellDepth(n);
|
||||
|
||||
return convert::numpy_array(cellDepth);
|
||||
}
|
||||
}
|
||||
|
||||
void python::common::export_EclipseGrid(py::module& module) {
|
||||
|
||||
py::class_< EclipseGrid >( module, "EclipseGrid")
|
||||
.def( "_getXYZ", &getXYZ )
|
||||
.def_property_readonly("nx", &EclipseGrid::getNX)
|
||||
.def_property_readonly("ny", &EclipseGrid::getNY)
|
||||
.def_property_readonly("nz", &EclipseGrid::getNZ)
|
||||
.def_property_readonly( "nactive", &getNumActive )
|
||||
.def_property_readonly( "cartesianSize", &getCartesianSize )
|
||||
.def( "globalIndex", &getGlobalIndex )
|
||||
.def( "getIJK", &getIJK )
|
||||
.def( "getCellVolume", &cellVolume1G)
|
||||
.def( "getCellVolume", &cellVolume3)
|
||||
.def( "getCellVolume", &cellVolumeAll)
|
||||
.def( "getCellVolume", &cellVolumeMask)
|
||||
.def( "getCellDepth", &cellDepth1G)
|
||||
.def( "getCellDepth", &cellDepth3)
|
||||
.def( "getCellDepth", &cellDepthAll)
|
||||
.def( "getCellDepth", &cellDepthMask)
|
||||
;
|
||||
|
||||
}
|
||||
@@ -1,395 +0,0 @@
|
||||
#include <pybind11/pybind11.h>
|
||||
#include <pybind11/stl.h>
|
||||
#include <pybind11/numpy.h>
|
||||
#include <pybind11/chrono.h>
|
||||
|
||||
#include <opm/io/eclipse/EclFile.hpp>
|
||||
#include <opm/io/eclipse/EclIOdata.hpp>
|
||||
#include <opm/io/eclipse/ERst.hpp>
|
||||
#include <opm/io/eclipse/ESmry.hpp>
|
||||
#include <opm/io/eclipse/EGrid.hpp>
|
||||
#include <opm/io/eclipse/ERft.hpp>
|
||||
#include <opm/io/eclipse/EclOutput.hpp>
|
||||
#include <opm/common/utility/TimeService.hpp>
|
||||
|
||||
#include <opm/common/utility/numeric/calculateCellVol.hpp>
|
||||
|
||||
#include "export.hpp"
|
||||
#include "converters.hpp"
|
||||
|
||||
namespace py = pybind11;
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
using npArray = std::tuple<py::array, Opm::EclIO::eclArrType>;
|
||||
using EclEntry = std::tuple<std::string, Opm::EclIO::eclArrType, int64_t>;
|
||||
|
||||
class EclOutputBind {
|
||||
|
||||
public:
|
||||
|
||||
EclOutputBind(const std::string& filename,const bool formatted, const bool append)
|
||||
{
|
||||
if (append == true)
|
||||
m_output = std::make_unique<Opm::EclIO::EclOutput>(filename, formatted, std::ios::app);
|
||||
else
|
||||
m_output = std::make_unique<Opm::EclIO::EclOutput>(filename, formatted, std::ios::out);
|
||||
}
|
||||
|
||||
template<class T>
|
||||
void writeArray(const std::string& name, const std::vector<T>& data){
|
||||
m_output->write<T>(name, data);
|
||||
m_output->flushStream();
|
||||
}
|
||||
|
||||
void writeMessage(const std::string& name)
|
||||
{
|
||||
m_output->message(name);
|
||||
m_output->flushStream();
|
||||
}
|
||||
|
||||
private:
|
||||
std::unique_ptr<Opm::EclIO::EclOutput> m_output;
|
||||
};
|
||||
|
||||
|
||||
npArray get_vector_index(Opm::EclIO::EclFile * file_ptr, std::size_t array_index)
|
||||
{
|
||||
auto array_type = std::get<1>(file_ptr->getList()[array_index]);
|
||||
|
||||
if (array_type == Opm::EclIO::INTE)
|
||||
return std::make_tuple (convert::numpy_array( file_ptr->get<int>(array_index)), array_type);
|
||||
|
||||
if (array_type == Opm::EclIO::REAL)
|
||||
return std::make_tuple (convert::numpy_array( file_ptr->get<float>(array_index)), array_type);
|
||||
|
||||
if (array_type == Opm::EclIO::DOUB)
|
||||
return std::make_tuple (convert::numpy_array( file_ptr->get<double>(array_index)), array_type);
|
||||
|
||||
if (array_type == Opm::EclIO::LOGI)
|
||||
return std::make_tuple (convert::numpy_array( file_ptr->get<bool>(array_index)), array_type);
|
||||
|
||||
if (array_type == Opm::EclIO::CHAR)
|
||||
return std::make_tuple (convert::numpy_string_array( file_ptr->get<std::string>(array_index)), array_type);
|
||||
|
||||
throw std::logic_error("Data type not supported");
|
||||
}
|
||||
|
||||
size_t get_array_index(const std::vector<EclEntry>& array_list, const std::string& array_name, size_t occurence)
|
||||
{
|
||||
size_t cidx = 0;
|
||||
|
||||
auto it = std::find_if(array_list.begin(), array_list.end(),
|
||||
[&cidx, &array_name, occurence](const EclEntry& entry)
|
||||
{
|
||||
if (std::get<0>(entry) == array_name)
|
||||
++cidx;
|
||||
|
||||
return cidx == occurence + 1;
|
||||
});
|
||||
|
||||
return std::distance(array_list.begin(), it);
|
||||
}
|
||||
|
||||
npArray get_vector_name(Opm::EclIO::EclFile * file_ptr, const std::string& array_name)
|
||||
{
|
||||
if (file_ptr->hasKey(array_name) == false)
|
||||
throw std::logic_error("Array " + array_name + " not found in EclFile");
|
||||
|
||||
auto array_list = file_ptr->getList();
|
||||
size_t array_index = get_array_index(array_list, array_name, 0);
|
||||
|
||||
return get_vector_index(file_ptr, array_index);
|
||||
}
|
||||
|
||||
npArray get_vector_occurrence(Opm::EclIO::EclFile * file_ptr, const std::string& array_name, size_t occurrence)
|
||||
{
|
||||
if (occurrence >= file_ptr->count(array_name) )
|
||||
throw std::logic_error("Occurrence " + std::to_string(occurrence) + " not found in EclFile");
|
||||
|
||||
auto array_list = file_ptr->getList();
|
||||
size_t array_index = get_array_index(array_list, array_name, occurrence);
|
||||
|
||||
return get_vector_index(file_ptr, array_index);
|
||||
}
|
||||
|
||||
bool erst_contains(Opm::EclIO::ERst * file_ptr, std::tuple<std::string, int> keyword)
|
||||
{
|
||||
bool hasKeyAtReport = file_ptr->count(std::get<0>(keyword), std::get<1>(keyword)) > 0 ? true : false;
|
||||
return hasKeyAtReport;
|
||||
}
|
||||
|
||||
npArray get_erst_by_index(Opm::EclIO::ERst * file_ptr, size_t index, size_t rstep)
|
||||
{
|
||||
auto arrList = file_ptr->listOfRstArrays(rstep);
|
||||
|
||||
if (index >=arrList.size())
|
||||
throw std::out_of_range("Array index out of range. ");
|
||||
|
||||
auto array_type = std::get<1>(arrList[index]);
|
||||
|
||||
if (array_type == Opm::EclIO::INTE)
|
||||
return std::make_tuple (convert::numpy_array( file_ptr->getRst<int>(index, rstep)), array_type);
|
||||
|
||||
if (array_type == Opm::EclIO::REAL)
|
||||
return std::make_tuple (convert::numpy_array( file_ptr->getRst<float>(index, rstep)), array_type);
|
||||
|
||||
if (array_type == Opm::EclIO::DOUB)
|
||||
return std::make_tuple (convert::numpy_array( file_ptr->getRst<double>(index, rstep)), array_type);
|
||||
|
||||
if (array_type == Opm::EclIO::LOGI)
|
||||
return std::make_tuple (convert::numpy_array( file_ptr->getRst<bool>(index, rstep)), array_type);
|
||||
|
||||
if (array_type == Opm::EclIO::CHAR)
|
||||
return std::make_tuple (convert::numpy_string_array( file_ptr->getRst<std::string>(index, rstep)), array_type);
|
||||
|
||||
throw std::logic_error("Data type not supported");
|
||||
}
|
||||
|
||||
|
||||
npArray get_erst_vector(Opm::EclIO::ERst * file_ptr, const std::string& key, size_t rstep, size_t occurrence)
|
||||
{
|
||||
if (occurrence >= static_cast<size_t>(file_ptr->count(key, rstep)))
|
||||
throw std::out_of_range("file have less than " + std::to_string(occurrence + 1) + " arrays in selected report step");
|
||||
|
||||
auto array_list = file_ptr->listOfRstArrays(rstep);
|
||||
|
||||
size_t array_index = get_array_index(array_list, key, 0);
|
||||
|
||||
return get_erst_by_index(file_ptr, array_index, rstep);
|
||||
}
|
||||
|
||||
|
||||
py::array get_smry_vector(Opm::EclIO::ESmry * file_ptr, const std::string& key)
|
||||
{
|
||||
return convert::numpy_array( file_ptr->get(key) );
|
||||
}
|
||||
|
||||
|
||||
py::array get_smry_vector_at_rsteps(Opm::EclIO::ESmry * file_ptr, const std::string& key)
|
||||
{
|
||||
return convert::numpy_array( file_ptr->get_at_rstep(key) );
|
||||
}
|
||||
|
||||
|
||||
std::tuple<std::array<double,8>, std::array<double,8>, std::array<double,8>>
|
||||
get_xyz_from_ijk(Opm::EclIO::EGrid * file_ptr,int i, int j, int k)
|
||||
{
|
||||
std::array<double,8> X = {0.0};
|
||||
std::array<double,8> Y = {0.0};
|
||||
std::array<double,8> Z = {0.0};
|
||||
|
||||
std::array<int, 3> ijk = {i, j, k };
|
||||
|
||||
file_ptr->getCellCorners(ijk, X, Y, Z);
|
||||
|
||||
return std::make_tuple( X, Y, Z);
|
||||
}
|
||||
|
||||
std::tuple<std::array<double,8>, std::array<double,8>, std::array<double,8>>
|
||||
get_xyz_from_active_index(Opm::EclIO::EGrid * file_ptr, int actIndex)
|
||||
{
|
||||
std::array<int, 3> ijk = file_ptr->ijk_from_active_index(actIndex);
|
||||
return get_xyz_from_ijk(file_ptr,ijk[0], ijk[1], ijk[2]);
|
||||
}
|
||||
|
||||
py::array get_cellvolumes_mask(Opm::EclIO::EGrid * file_ptr, std::vector<int> mask)
|
||||
{
|
||||
size_t totCells = static_cast<size_t>(file_ptr->totalNumberOfCells());
|
||||
std::vector<double> celvol(totCells, 0.0);
|
||||
|
||||
if (totCells != mask.size())
|
||||
throw std::logic_error("size of input mask doesn't match size of grid");
|
||||
|
||||
std::array<double,8> X = {0.0};
|
||||
std::array<double,8> Y = {0.0};
|
||||
std::array<double,8> Z = {0.0};
|
||||
|
||||
for (size_t globInd = 0; globInd < totCells; globInd++){
|
||||
if (mask[globInd] > 0){
|
||||
file_ptr->getCellCorners(globInd, X, Y, Z);
|
||||
celvol[globInd] = calculateCellVol(X, Y, Z);
|
||||
}
|
||||
}
|
||||
|
||||
return convert::numpy_array( celvol );
|
||||
}
|
||||
|
||||
py::array get_cellvolumes(Opm::EclIO::EGrid * file_ptr)
|
||||
{
|
||||
int totCells = file_ptr->totalNumberOfCells();
|
||||
std::vector<int> mask(totCells, 1);
|
||||
|
||||
return get_cellvolumes_mask(file_ptr, mask);
|
||||
}
|
||||
|
||||
npArray get_rft_vector_WellDate(Opm::EclIO::ERft * file_ptr,const std::string& name,
|
||||
const std::string& well, int y, int m, int d)
|
||||
{
|
||||
auto arrList = file_ptr->listOfRftArrays(well, y, m, d);
|
||||
size_t array_index = get_array_index(arrList, name, 0);
|
||||
Opm::EclIO::eclArrType array_type = std::get<1>(arrList[array_index]);
|
||||
|
||||
if (array_type == Opm::EclIO::INTE)
|
||||
return std::make_tuple (convert::numpy_array( file_ptr->getRft<int>(name, well, y, m, d) ), array_type);
|
||||
|
||||
if (array_type == Opm::EclIO::REAL)
|
||||
return std::make_tuple (convert::numpy_array( file_ptr->getRft<float>(name, well, y, m, d) ), array_type);
|
||||
|
||||
if (array_type == Opm::EclIO::DOUB)
|
||||
return std::make_tuple (convert::numpy_array( file_ptr->getRft<double>(name, well, y, m, d) ), array_type);
|
||||
|
||||
if (array_type == Opm::EclIO::CHAR)
|
||||
return std::make_tuple (convert::numpy_string_array( file_ptr->getRft<std::string>(name, well, y, m, d) ), array_type);
|
||||
|
||||
if (array_type == Opm::EclIO::LOGI)
|
||||
return std::make_tuple (convert::numpy_array( file_ptr->getRft<bool>(name, well, y, m, d) ), array_type);
|
||||
|
||||
throw std::logic_error("Data type not supported");
|
||||
}
|
||||
|
||||
npArray get_rft_vector_Index(Opm::EclIO::ERft * file_ptr,const std::string& name, int reportIndex)
|
||||
{
|
||||
auto arrList = file_ptr->listOfRftArrays(reportIndex);
|
||||
size_t array_index = get_array_index(arrList, name, 0);
|
||||
Opm::EclIO::eclArrType array_type = std::get<1>(arrList[array_index]);
|
||||
|
||||
if (array_type == Opm::EclIO::INTE)
|
||||
return std::make_tuple (convert::numpy_array( file_ptr->getRft<int>(name, reportIndex) ), array_type);
|
||||
|
||||
if (array_type == Opm::EclIO::REAL)
|
||||
return std::make_tuple (convert::numpy_array( file_ptr->getRft<float>(name, reportIndex) ), array_type);
|
||||
|
||||
if (array_type == Opm::EclIO::DOUB)
|
||||
return std::make_tuple (convert::numpy_array( file_ptr->getRft<double>(name, reportIndex) ), array_type);
|
||||
|
||||
if (array_type == Opm::EclIO::CHAR)
|
||||
return std::make_tuple (convert::numpy_string_array( file_ptr->getRft<std::string>(name, reportIndex) ), array_type);
|
||||
|
||||
if (array_type == Opm::EclIO::LOGI)
|
||||
return std::make_tuple (convert::numpy_array( file_ptr->getRft<bool>(name, reportIndex) ), array_type);
|
||||
|
||||
throw std::logic_error("Data type not supported");
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
This insane time based trickery is to address the following situation:
|
||||
|
||||
1. OPM uses UTC times internally - so the ESmry::startdate() method will
|
||||
return a timepoint which should be interpreted in UTC.
|
||||
|
||||
2. The pybind11 std::chrono <-> datetime mapping uses localtime. We therefor
|
||||
convert the timepoint returned from UTC to localtime before proceeding to
|
||||
the pybind11 conversion.
|
||||
*/
|
||||
|
||||
std::chrono::system_clock::time_point esmry_start_date(const Opm::EclIO::ESmry * esmry) {
|
||||
auto utc_chrono = esmry->startdate();
|
||||
auto utc_time_t = std::chrono::system_clock::to_time_t( utc_chrono );
|
||||
auto utc_ts = Opm::TimeStampUTC( utc_time_t );
|
||||
auto local_time_t = Opm::asLocalTimeT( utc_ts );
|
||||
return std::chrono::system_clock::from_time_t( local_time_t );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
void python::common::export_IO(py::module& m) {
|
||||
|
||||
py::enum_<Opm::EclIO::eclArrType>(m, "eclArrType", py::arithmetic())
|
||||
.value("INTE", Opm::EclIO::INTE)
|
||||
.value("REAL", Opm::EclIO::REAL)
|
||||
.value("DOUB", Opm::EclIO::DOUB)
|
||||
.value("CHAR", Opm::EclIO::CHAR)
|
||||
.value("LOGI", Opm::EclIO::LOGI)
|
||||
.value("MESS", Opm::EclIO::MESS)
|
||||
.export_values();
|
||||
|
||||
py::class_<Opm::EclIO::EclFile>(m, "EclFile")
|
||||
.def(py::init<const std::string &, bool>(), py::arg("filename"), py::arg("preload") = false)
|
||||
.def("__get_list_of_arrays", &Opm::EclIO::EclFile::getList)
|
||||
.def("__contains__", &Opm::EclIO::EclFile::hasKey)
|
||||
.def("__len__", &Opm::EclIO::EclFile::size)
|
||||
.def("count", &Opm::EclIO::EclFile::count)
|
||||
.def("__get_data", &get_vector_index)
|
||||
.def("__get_data", &get_vector_name)
|
||||
.def("__get_data", &get_vector_occurrence);
|
||||
|
||||
py::class_<Opm::EclIO::ERst>(m, "ERst")
|
||||
.def(py::init<const std::string &>())
|
||||
.def("__has_report_step", &Opm::EclIO::ERst::hasReportStepNumber)
|
||||
.def("load_report_step", &Opm::EclIO::ERst::loadReportStepNumber)
|
||||
.def_property_readonly("report_steps", &Opm::EclIO::ERst::listOfReportStepNumbers)
|
||||
.def("__len__", &Opm::EclIO::ERst::numberOfReportSteps)
|
||||
.def("count", &Opm::EclIO::ERst::count)
|
||||
.def("__contains", &erst_contains)
|
||||
.def("__get_list_of_arrays", &Opm::EclIO::ERst::listOfRstArrays)
|
||||
.def("__get_data", &get_erst_by_index)
|
||||
.def("__get_data", &get_erst_vector);
|
||||
|
||||
py::class_<Opm::EclIO::ESmry>(m, "ESmry")
|
||||
.def(py::init<const std::string &, const bool>(), py::arg("filename"), py::arg("load_base_run") = false)
|
||||
.def("__contains__", &Opm::EclIO::ESmry::hasKey)
|
||||
.def("__len__", &Opm::EclIO::ESmry::numberOfTimeSteps)
|
||||
.def("__get_all", &get_smry_vector)
|
||||
.def("__get_at_rstep", &get_smry_vector_at_rsteps)
|
||||
.def_property_readonly("start_date", &esmry_start_date)
|
||||
|
||||
.def("keys", (const std::vector<std::string>& (Opm::EclIO::ESmry::*) (void) const)
|
||||
&Opm::EclIO::ESmry::keywordList)
|
||||
.def("keys", (std::vector<std::string> (Opm::EclIO::ESmry::*) (const std::string&) const)
|
||||
&Opm::EclIO::ESmry::keywordList);
|
||||
|
||||
py::class_<Opm::EclIO::EGrid>(m, "EGrid")
|
||||
.def(py::init<const std::string &>())
|
||||
.def_property_readonly("active_cells", &Opm::EclIO::EGrid::activeCells)
|
||||
.def_property_readonly("dimension", &Opm::EclIO::EGrid::dimension)
|
||||
.def("ijk_from_global_index", &Opm::EclIO::EGrid::ijk_from_global_index)
|
||||
.def("ijk_from_active_index", &Opm::EclIO::EGrid::ijk_from_active_index)
|
||||
.def("active_index", &Opm::EclIO::EGrid::active_index)
|
||||
.def("global_index", &Opm::EclIO::EGrid::global_index)
|
||||
.def("xyz_from_ijk", &get_xyz_from_ijk)
|
||||
.def("xyz_from_active_index", &get_xyz_from_active_index)
|
||||
.def("cellvolumes", &get_cellvolumes)
|
||||
.def("cellvolumes", &get_cellvolumes_mask);
|
||||
|
||||
py::class_<Opm::EclIO::ERft>(m, "ERft")
|
||||
.def(py::init<const std::string &>())
|
||||
.def("__get_list_of_rfts", &Opm::EclIO::ERft::listOfRftReports)
|
||||
|
||||
.def("__get_list_of_arrays", (std::vector< std::tuple<std::string, Opm::EclIO::eclArrType, int64_t> >
|
||||
(Opm::EclIO::ERft::*)(int) const) &Opm::EclIO::ERft::listOfRftArrays)
|
||||
|
||||
.def("__get_list_of_arrays", (std::vector< std::tuple<std::string, Opm::EclIO::eclArrType, int64_t> >
|
||||
(Opm::EclIO::ERft::*)(const std::string&, int, int, int) const)
|
||||
&Opm::EclIO::ERft::listOfRftArrays)
|
||||
|
||||
.def("__get_data", &get_rft_vector_WellDate)
|
||||
.def("__get_data", &get_rft_vector_Index)
|
||||
|
||||
.def("__has_rft", (bool (Opm::EclIO::ERft::*)(const std::string&, int, int, int) const) &Opm::EclIO::ERft::hasRft)
|
||||
.def("__has_array", (bool (Opm::EclIO::ERft::*)(const std::string&, int) const) &Opm::EclIO::ERft::hasArray)
|
||||
.def("__has_array", (bool (Opm::EclIO::ERft::*)(const std::string&, const std::string&, const
|
||||
std::tuple<int,int,int>&) const) &Opm::EclIO::ERft::hasArray)
|
||||
|
||||
.def("__len__", &Opm::EclIO::ERft::numberOfReports);
|
||||
|
||||
py::class_<EclOutputBind>(m, "EclOutput")
|
||||
.def(py::init<const std::string &, const bool, const bool>(), py::arg("filename"),
|
||||
py::arg("formatted") = false, py::arg("append") = false)
|
||||
.def("write_message", &EclOutputBind::writeMessage)
|
||||
.def("__write_char_array", (void (EclOutputBind::*)(const std::string&,
|
||||
const std::vector<std::string>&)) &EclOutputBind::writeArray)
|
||||
.def("__write_logi_array", (void (EclOutputBind::*)(const std::string&,
|
||||
const std::vector<bool>&)) &EclOutputBind::writeArray)
|
||||
.def("__write_inte_array", (void (EclOutputBind::*)(const std::string&,
|
||||
const std::vector<int>&)) &EclOutputBind::writeArray)
|
||||
.def("__write_real_array", (void (EclOutputBind::*)(const std::string&,
|
||||
const std::vector<float>&)) &EclOutputBind::writeArray)
|
||||
.def("__write_doub_array", (void (EclOutputBind::*)(const std::string&,
|
||||
const std::vector<double>&)) &EclOutputBind::writeArray);
|
||||
}
|
||||
@@ -1,111 +0,0 @@
|
||||
#include <opm/parser/eclipse/Deck/Deck.hpp>
|
||||
|
||||
#include <opm/parser/eclipse/EclipseState/EclipseState.hpp>
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/FaultCollection.hpp>
|
||||
|
||||
#include "export.hpp"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
py::list getNNC( const EclipseState& state ) {
|
||||
py::list l;
|
||||
for( const auto& x : state.getInputNNC().data() )
|
||||
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;
|
||||
}
|
||||
|
||||
const FieldPropsManager& get_field_props(const EclipseState& state) {
|
||||
return state.fieldProps();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void python::common::export_EclipseState(py::module& module) {
|
||||
|
||||
py::class_< EclipseState >( module, "EclipseState" )
|
||||
.def(py::init<const Deck&>())
|
||||
.def_property_readonly( "title", &EclipseState::getTitle )
|
||||
.def( "field_props", &get_field_props, ref_internal)
|
||||
.def( "grid", &EclipseState::getInputGrid, ref_internal)
|
||||
.def( "config", &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 )
|
||||
;
|
||||
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
#include <pybind11/pybind11.h>
|
||||
#include "export.hpp"
|
||||
|
||||
|
||||
void python::common::export_all(py::module& module) {
|
||||
export_ParseContext(module);
|
||||
export_Parser(module);
|
||||
export_Deck(module);
|
||||
export_DeckKeyword(module);
|
||||
export_Schedule(module);
|
||||
export_Well(module);
|
||||
export_Group(module);
|
||||
export_Connection(module);
|
||||
export_EclipseConfig(module);
|
||||
export_FieldProperties(module);
|
||||
export_EclipseState(module);
|
||||
export_TableManager(module);
|
||||
export_EclipseGrid(module);
|
||||
export_UnitSystem(module);
|
||||
export_Log(module);
|
||||
export_IO(module);
|
||||
export_SummaryState(module);
|
||||
}
|
||||
|
||||
|
||||
PYBIND11_MODULE(libopmcommon_python, module) {
|
||||
python::common::export_all(module);
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
#ifndef SUNBEAM_HPP
|
||||
#define SUNBEAM_HPP
|
||||
|
||||
#include <pybind11/pybind11.h>
|
||||
|
||||
namespace Opm {}
|
||||
|
||||
namespace py = pybind11;
|
||||
|
||||
using namespace Opm;
|
||||
const py::return_value_policy ref_internal = py::return_value_policy::reference_internal;
|
||||
const py::return_value_policy python_owner = py::return_value_policy::take_ownership;
|
||||
const py::return_value_policy move = py::return_value_policy::move;
|
||||
|
||||
namespace python::common {
|
||||
void export_all(py::module& module);
|
||||
void export_UnitSystem(py::module& module);
|
||||
void export_Connection(py::module& module);
|
||||
void export_Deck(py::module& module);
|
||||
void export_DeckKeyword(py::module& module);
|
||||
void export_FieldProperties(py::module& module);
|
||||
void export_EclipseConfig(py::module& module);
|
||||
void export_EclipseGrid(py::module& module);
|
||||
void export_EclipseState(py::module& module);
|
||||
void export_Group(py::module& module);
|
||||
void export_ParseContext(py::module& module);
|
||||
void export_Parser(py::module& module);
|
||||
void export_Schedule(py::module& module);
|
||||
void export_TableManager(py::module& module);
|
||||
void export_Well(py::module& module);
|
||||
void export_Log(py::module& module);
|
||||
void export_IO(py::module& module);
|
||||
void export_SummaryState(py::module& module);
|
||||
}
|
||||
|
||||
#endif //SUNBEAM_HPP
|
||||
@@ -1,59 +0,0 @@
|
||||
#include <string>
|
||||
|
||||
#include <opm/parser/eclipse/EclipseState/Grid/FieldPropsManager.hpp>
|
||||
|
||||
#include <pybind11/stl.h>
|
||||
|
||||
#include "export.hpp"
|
||||
#include "converters.hpp"
|
||||
|
||||
namespace {
|
||||
|
||||
bool contains( const FieldPropsManager& manager, const std::string& kw) {
|
||||
if (manager.has_int(kw))
|
||||
return true;
|
||||
if (manager.has_double(kw))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
py::array_t<double> get_double_array(const FieldPropsManager& m, const std::string& kw) {
|
||||
if (m.has_double(kw))
|
||||
return convert::numpy_array( m.get_double(kw) );
|
||||
else
|
||||
throw std::invalid_argument("Keyword '" + kw + "'is not of type double.");
|
||||
}
|
||||
|
||||
py::array_t<int> get_int_array(const FieldPropsManager& m, const std::string& kw) {
|
||||
if (m.has_int(kw))
|
||||
return convert::numpy_array( m.get_int(kw) );
|
||||
else
|
||||
throw std::invalid_argument("Keyword '" + kw + "'is not of type int.");
|
||||
}
|
||||
|
||||
|
||||
py::array get_array(const FieldPropsManager& m, const std::string& kw) {
|
||||
if (m.has_double(kw))
|
||||
return convert::numpy_array(m.get_double(kw));
|
||||
|
||||
if (m.has_int(kw))
|
||||
return convert::numpy_array(m.get_int(kw));
|
||||
|
||||
throw std::invalid_argument("No such keyword: " + kw);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
void python::common::export_FieldProperties(py::module& module) {
|
||||
|
||||
py::class_< FieldPropsManager >( module, "FieldProperties")
|
||||
.def( "__contains__", &contains )
|
||||
.def("__getitem__", &get_array)
|
||||
.def( "get_double_array", &get_double_array )
|
||||
.def( "get_int_array", &get_int_array )
|
||||
;
|
||||
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/Group/Group.hpp>
|
||||
#include <pybind11/stl.h>
|
||||
#include "export.hpp"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
const std::vector<std::string> wellnames( const Group& g ) {
|
||||
return g.wells( );
|
||||
}
|
||||
|
||||
int get_vfp_table_nr( const Group& g ) {
|
||||
return g.getGroupNetVFPTable();
|
||||
}
|
||||
}
|
||||
|
||||
void python::common::export_Group(py::module& module) {
|
||||
|
||||
py::class_< Group >( module, "Group")
|
||||
.def_property_readonly( "name", &Group::name)
|
||||
.def_property_readonly( "num_wells", &Group::numWells)
|
||||
.def( "_vfp_table_nr", &get_vfp_table_nr )
|
||||
.def_property_readonly( "well_names", &wellnames );
|
||||
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
#include <string>
|
||||
|
||||
#include <opm/common/OpmLog/OpmLog.hpp>
|
||||
|
||||
#include "export.hpp"
|
||||
|
||||
namespace {
|
||||
|
||||
void info(const std::string& msg) {
|
||||
OpmLog::info(msg);
|
||||
}
|
||||
|
||||
void warning(const std::string& msg) {
|
||||
OpmLog::warning(msg);
|
||||
}
|
||||
|
||||
void error(const std::string& msg) {
|
||||
OpmLog::error(msg);
|
||||
}
|
||||
|
||||
void problem(const std::string& msg) {
|
||||
OpmLog::problem(msg);
|
||||
}
|
||||
|
||||
void bug(const std::string& msg) {
|
||||
OpmLog::bug(msg);
|
||||
}
|
||||
|
||||
void debug(const std::string& msg) {
|
||||
OpmLog::debug(msg);
|
||||
}
|
||||
|
||||
void note(const std::string& msg) {
|
||||
OpmLog::note(msg);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void python::common::export_Log(py::module& module)
|
||||
{
|
||||
py::class_<OpmLog>(module, "OpmLog")
|
||||
.def_static("info", info )
|
||||
.def_static("warning", warning)
|
||||
.def_static("error", error)
|
||||
.def_static("problem", problem)
|
||||
.def_static("bug", bug)
|
||||
.def_static("debug", debug)
|
||||
.def_static("note", note);
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
#include <opm/parser/eclipse/Parser/ParseContext.hpp>
|
||||
#include <opm/parser/eclipse/Deck/Deck.hpp>
|
||||
#include <pybind11/stl.h>
|
||||
|
||||
#include "export.hpp"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
void (ParseContext::*ctx_update)(const std::string&, InputError::Action) = &ParseContext::update;
|
||||
|
||||
}
|
||||
|
||||
void python::common::export_ParseContext(py::module& module) {
|
||||
|
||||
py::class_< ParseContext >(module, "ParseContext" )
|
||||
.def(py::init<>())
|
||||
.def(py::init<const std::vector<std::pair<std::string, InputError::Action>>>())
|
||||
.def( "update", ctx_update );
|
||||
|
||||
py::enum_< InputError::Action >( module, "action" )
|
||||
.value( "throw", InputError::Action::THROW_EXCEPTION )
|
||||
.value( "warn", InputError::Action::WARN )
|
||||
.value( "ignore", InputError::Action::IGNORE );
|
||||
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
#include <string>
|
||||
#include <exception>
|
||||
|
||||
#include <opm/json/JsonObject.hpp>
|
||||
#include <opm/parser/eclipse/Parser/Parser.hpp>
|
||||
#include <opm/parser/eclipse/Parser/ParserKeyword.hpp>
|
||||
#include <opm/parser/eclipse/Deck/Deck.hpp>
|
||||
#include <pybind11/stl.h>
|
||||
#include <opm/parser/eclipse/Parser/ErrorGuard.hpp>
|
||||
|
||||
#include "export.hpp"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
Deck create_deck( const std::string& deckStr,
|
||||
const ParseContext& pc,
|
||||
const Parser& parser) {
|
||||
|
||||
Opm::ErrorGuard guard;
|
||||
auto p = parser.parseFile( deckStr, pc, guard );
|
||||
guard.clear();
|
||||
return p;
|
||||
}
|
||||
|
||||
|
||||
Deck create_deck_string( const std::string& deckStr,
|
||||
const ParseContext& pc,
|
||||
const Parser& parser) {
|
||||
Opm::ErrorGuard guard;
|
||||
auto p = parser.parseString( deckStr, pc, guard );
|
||||
guard.clear();
|
||||
return p;
|
||||
}
|
||||
|
||||
void add_keyword(Parser* parser, const std::string& json_string) {
|
||||
const Json::JsonObject keyword(json_string);
|
||||
parser->addParserKeyword(keyword);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void python::common::export_Parser(py::module& module) {
|
||||
|
||||
module.def( "create_deck", &create_deck );
|
||||
module.def( "create_deck_string", &create_deck_string);
|
||||
|
||||
|
||||
py::class_<ParserKeyword>(module, "ParserKeyword")
|
||||
.def_property_readonly("name", &ParserKeyword::getName);
|
||||
|
||||
|
||||
py::class_<Parser>(module, "Parser")
|
||||
.def(py::init<>())
|
||||
.def("parse", py::overload_cast<const std::string&>(&Parser::parseFile, py::const_))
|
||||
.def("parse" , py::overload_cast<const std::string&, const ParseContext&>(&Parser::parseFile, py::const_))
|
||||
.def("parse_string", py::overload_cast<const std::string&>(&Parser::parseString, py::const_))
|
||||
.def("parse_string", py::overload_cast<const std::string&, const ParseContext&>(&Parser::parseString, py::const_))
|
||||
.def("add_keyword", add_keyword)
|
||||
.def("__getitem__", &Parser::getKeyword, ref_internal);
|
||||
|
||||
|
||||
}
|
||||
@@ -1,115 +0,0 @@
|
||||
#include <ctime>
|
||||
#include <chrono>
|
||||
|
||||
#include <opm/parser/eclipse/Deck/Deck.hpp>
|
||||
|
||||
#include <opm/parser/eclipse/EclipseState/EclipseState.hpp>
|
||||
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/Schedule.hpp>
|
||||
|
||||
#include <pybind11/stl.h>
|
||||
#include <pybind11/chrono.h>
|
||||
#include "export.hpp"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
using system_clock = std::chrono::system_clock;
|
||||
|
||||
|
||||
/*
|
||||
timezones - the stuff that make you wonder why didn't do social science in
|
||||
university. The situation here is as follows:
|
||||
|
||||
1. In the C++ code Eclipse style string literals like "20. NOV 2017" are
|
||||
converted to time_t values using the utc based function timegm() which
|
||||
does not take timezones into account.
|
||||
|
||||
2. Here we use the function gmtime( ) to convert back from a time_t value
|
||||
to a broken down struct tm representation.
|
||||
|
||||
3. The broken down representation is then converted to a time_t value
|
||||
using the timezone aware function mktime().
|
||||
|
||||
4. The time_t value is converted to a std::chrono::system_clock value.
|
||||
|
||||
Finally std::chrono::system_clock value is automatically converted to a
|
||||
python datetime object as part of the pybind11 process. This latter
|
||||
conversion *is* timezone aware, that is the reason we must go through
|
||||
these hoops.
|
||||
*/
|
||||
system_clock::time_point datetime( std::time_t utc_time) {
|
||||
struct tm utc_tm;
|
||||
time_t local_time;
|
||||
|
||||
gmtime_r(&utc_time, &utc_tm);
|
||||
local_time = mktime(&utc_tm);
|
||||
|
||||
return system_clock::from_time_t(local_time);
|
||||
}
|
||||
|
||||
const Well& get_well( const Schedule& sch, const std::string& name, const size_t& timestep ) try {
|
||||
return sch.getWell( name, timestep );
|
||||
} catch( const std::invalid_argument& e ) {
|
||||
throw py::key_error( name );
|
||||
}
|
||||
|
||||
system_clock::time_point get_start_time( const Schedule& s ) {
|
||||
return datetime(s.posixStartTime());
|
||||
}
|
||||
|
||||
system_clock::time_point get_end_time( const Schedule& s ) {
|
||||
return datetime(s.posixEndTime());
|
||||
}
|
||||
|
||||
std::vector<system_clock::time_point> get_timesteps( const Schedule& s ) {
|
||||
const auto& tm = s.getTimeMap();
|
||||
std::vector< system_clock::time_point > v;
|
||||
v.reserve( tm.size() );
|
||||
|
||||
for( size_t i = 0; i < tm.size(); ++i )
|
||||
v.push_back( datetime( tm[ i ] ));
|
||||
|
||||
return v;
|
||||
}
|
||||
|
||||
std::vector<Group> get_groups( const Schedule& sch, size_t timestep ) {
|
||||
std::vector< Group > groups;
|
||||
for( const auto& group_name : sch.groupNames())
|
||||
groups.push_back( sch.getGroup(group_name, timestep) );
|
||||
|
||||
return groups;
|
||||
}
|
||||
|
||||
bool has_well( const Schedule& sch, const std::string& wellName) {
|
||||
return sch.hasWell( wellName );
|
||||
}
|
||||
|
||||
const RestartConfig& restart(const Schedule& sch) {
|
||||
return sch.restart();
|
||||
}
|
||||
}
|
||||
|
||||
void python::common::export_Schedule(py::module& module) {
|
||||
|
||||
py::class_< Schedule >( module, "Schedule")
|
||||
.def(py::init<const Deck&, const EclipseState& >())
|
||||
.def("_groups", &get_groups )
|
||||
.def_property_readonly( "start", &get_start_time )
|
||||
.def_property_readonly( "end", &get_end_time )
|
||||
.def_property_readonly( "timesteps", &get_timesteps )
|
||||
.def_property_readonly("restart", &restart)
|
||||
.def( "shut_well", &Schedule::shut_well)
|
||||
.def( "open_well", &Schedule::open_well)
|
||||
.def( "stop_well", &Schedule::stop_well)
|
||||
.def( "get_wells", &Schedule::getWells)
|
||||
.def( "get_well", &get_well)
|
||||
.def( "__contains__", &has_well )
|
||||
.def( "group", &Schedule::getGroup, ref_internal);
|
||||
|
||||
py::class_< RestartConfig >( module, "RestartConfig")
|
||||
.def( "getKeyword", &RestartConfig::getKeyword )
|
||||
.def( "getFirstRestartStep", &RestartConfig::getFirstRestartStep )
|
||||
.def( "getWriteRestartFile", &RestartConfig::getWriteRestartFile, py::arg("reportStep"), py::arg("log") = true);
|
||||
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
/*
|
||||
Copyright 2019 Equinor ASA.
|
||||
|
||||
This file is part of the Open Porous Media project (OPM).
|
||||
|
||||
OPM 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.
|
||||
|
||||
OPM 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 OPM. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
#include <chrono>
|
||||
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/SummaryState.hpp>
|
||||
|
||||
#include <pybind11/stl.h>
|
||||
#include <pybind11/chrono.h>
|
||||
#include "export.hpp"
|
||||
|
||||
namespace {
|
||||
|
||||
|
||||
std::vector<std::string> groups(const SummaryState * st) {
|
||||
return st->groups();
|
||||
}
|
||||
|
||||
std::vector<std::string> wells(const SummaryState * st) {
|
||||
return st->wells();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
void python::common::export_SummaryState(py::module& module) {
|
||||
|
||||
py::class_<SummaryState>(module, "SummaryState")
|
||||
.def(py::init<std::chrono::system_clock::time_point>())
|
||||
.def("update", &SummaryState::update)
|
||||
.def("update_well_var", &SummaryState::update_well_var)
|
||||
.def("update_group_var", &SummaryState::update_group_var)
|
||||
.def("well_var", &SummaryState::get_well_var)
|
||||
.def("group_var", &SummaryState::get_group_var)
|
||||
.def("elapsed", &SummaryState::get_elapsed)
|
||||
.def_property_readonly("groups", groups)
|
||||
.def_property_readonly("wells", wells)
|
||||
.def("__contains__", &SummaryState::has)
|
||||
.def("has_well_var", &SummaryState::has_well_var)
|
||||
.def("has_group_var", &SummaryState::has_group_var)
|
||||
.def("__getitem__", &SummaryState::get);
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
#include <opm/parser/eclipse/EclipseState/Tables/TableManager.hpp>
|
||||
|
||||
#include "export.hpp"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
double eval( const TableManager& tab, std::string tab_name, int tab_idx, std::string col_name, double x ) {
|
||||
try {
|
||||
return tab[tab_name].getTable(tab_idx).evaluate(col_name, x);
|
||||
} catch( std::invalid_argument& e ) {
|
||||
throw py::key_error( e.what() );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void python::common::export_TableManager(py::module& module) {
|
||||
|
||||
py::class_< TableManager >( module, "Tables")
|
||||
.def( "__contains__", &TableManager::hasTables )
|
||||
.def("evaluate", &eval);
|
||||
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
#include <opm/parser/eclipse/Units/UnitSystem.hpp>
|
||||
|
||||
#include "export.hpp"
|
||||
|
||||
|
||||
void python::common::export_UnitSystem(py::module& module)
|
||||
{
|
||||
py::class_<UnitSystem>(module, "UnitSystem")
|
||||
.def_property_readonly( "name", &UnitSystem::getName );
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
#include <tuple>
|
||||
|
||||
#include <opm/parser/eclipse/EclipseState/Schedule/Well/Well.hpp>
|
||||
#include <pybind11/stl.h>
|
||||
#include "export.hpp"
|
||||
|
||||
|
||||
namespace {
|
||||
|
||||
std::vector<Connection> connections( const Well& w ) {
|
||||
const auto& well_connections = w.getConnections();
|
||||
return std::vector<Connection>(well_connections.begin(), well_connections.end());
|
||||
}
|
||||
|
||||
std::string status( const Well& w ) {
|
||||
return Well::Status2String( w.getStatus() );
|
||||
}
|
||||
|
||||
std::string preferred_phase( const Well& w ) {
|
||||
switch( w.getPreferredPhase() ) {
|
||||
case Phase::OIL: return "OIL";
|
||||
case Phase::GAS: return "GAS";
|
||||
case Phase::WATER: return "WATER";
|
||||
default: throw std::logic_error( "Unhandled enum value" );
|
||||
}
|
||||
}
|
||||
|
||||
std::tuple<int, int, double> get_pos( const Well& w ) {
|
||||
return std::make_tuple(w.getHeadI(), w.getHeadJ(), w.getRefDepth());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void python::common::export_Well(py::module& module) {
|
||||
|
||||
py::class_< Well >( module, "Well")
|
||||
.def_property_readonly( "name", &Well::name )
|
||||
.def_property_readonly( "preferred_phase", &preferred_phase )
|
||||
.def( "pos", &get_pos )
|
||||
.def( "status", &status )
|
||||
.def( "isdefined", &Well::hasBeenDefined )
|
||||
.def( "isinjector", &Well::isInjector )
|
||||
.def( "isproducer", &Well::isProducer )
|
||||
.def( "group", &Well::groupName )
|
||||
.def( "guide_rate", &Well::getGuideRate )
|
||||
.def( "available_gctrl", &Well::isAvailableForGroupControl )
|
||||
.def( "connections", &connections );
|
||||
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
export PYTHONPATH=@PROJECT_BINARY_DIR@/python/python:$PYTHONPATH
|
||||
export LD_LIBRARY_PATH=@_setup_lib_dirs@:$LD_LIBRARY_PATH
|
||||
|
||||
Vendored
-9568
File diff suppressed because it is too large
Load Diff
-69
@@ -1,69 +0,0 @@
|
||||
-- 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 /
|
||||
/
|
||||
Vendored
-1062
File diff suppressed because it is too large
Load Diff
Vendored
-2474
File diff suppressed because it is too large
Load Diff
Vendored
-172933
File diff suppressed because it is too large
Load Diff
-42
@@ -1,42 +0,0 @@
|
||||
-- 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 /
|
||||
Vendored
-24650
File diff suppressed because it is too large
Load Diff
Vendored
-43
@@ -1,43 +0,0 @@
|
||||
-- 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
|
||||
/
|
||||
Vendored
-24650
File diff suppressed because it is too large
Load Diff
Vendored
-24650
File diff suppressed because it is too large
Load Diff
Vendored
-237
@@ -1,237 +0,0 @@
|
||||
-- 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!!!
|
||||
Vendored
-24650
File diff suppressed because it is too large
Load Diff
-83
@@ -1,83 +0,0 @@
|
||||
-- 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
|
||||
/
|
||||
Vendored
-24650
File diff suppressed because it is too large
Load Diff
Vendored
-24650
File diff suppressed because it is too large
Load Diff
Vendored
-24650
File diff suppressed because it is too large
Load Diff
Vendored
-28349
File diff suppressed because it is too large
Load Diff
-52
@@ -1,52 +0,0 @@
|
||||
-- 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 /
|
||||
Vendored
-554
@@ -1,554 +0,0 @@
|
||||
-- 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 --------
|
||||
--
|
||||
--------------------------------------------------------------------
|
||||
Vendored
-106
@@ -1,106 +0,0 @@
|
||||
-- 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
|
||||
/
|
||||
Vendored
-153
@@ -1,153 +0,0 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
WSTAT
|
||||
/
|
||||
|
||||
WMCTL
|
||||
/
|
||||
|
||||
GMCTP
|
||||
/
|
||||
|
||||
GMCTW
|
||||
/
|
||||
|
||||
GMCTG
|
||||
/
|
||||
|
||||
FOE
|
||||
|
||||
GVPR
|
||||
/
|
||||
|
||||
WVPR
|
||||
/
|
||||
|
||||
GVPT
|
||||
/
|
||||
|
||||
WVPT
|
||||
/
|
||||
|
||||
GVIR
|
||||
/
|
||||
|
||||
WVIR
|
||||
/
|
||||
|
||||
GVIT
|
||||
/
|
||||
|
||||
WVIT
|
||||
/
|
||||
|
||||
ROE
|
||||
/
|
||||
|
||||
GWIT
|
||||
/
|
||||
|
||||
GGIT
|
||||
/
|
||||
|
||||
GPRW
|
||||
/ Node pressure for water injection manifolds.
|
||||
|
||||
ROIP_GL
|
||||
/
|
||||
|
||||
ROIP_NL
|
||||
/
|
||||
|
||||
RPR__GL
|
||||
/
|
||||
|
||||
RPR__NL
|
||||
/
|
||||
|
||||
ROPR_GL
|
||||
/
|
||||
|
||||
ROPT_GL
|
||||
/
|
||||
|
||||
ROPR_NL
|
||||
/
|
||||
|
||||
ROPT_NL
|
||||
/
|
||||
|
||||
RGPR_GL
|
||||
/
|
||||
|
||||
RGPT_GL
|
||||
/
|
||||
|
||||
RGPR_NL
|
||||
/
|
||||
|
||||
RGPT_NL
|
||||
/
|
||||
|
||||
RWPR_GL
|
||||
/
|
||||
|
||||
RWPT_GL
|
||||
/
|
||||
|
||||
RWPR_NL
|
||||
/
|
||||
|
||||
RWPT_NL
|
||||
/
|
||||
|
||||
RWIR_GL
|
||||
/
|
||||
|
||||
RWIT_GL
|
||||
/
|
||||
|
||||
RWIR_NL
|
||||
/
|
||||
|
||||
RWIT_NL
|
||||
/
|
||||
|
||||
WWIR
|
||||
'F-4AH'
|
||||
/
|
||||
|
||||
WWIT
|
||||
'F-4AH'
|
||||
/
|
||||
|
||||
WBHP
|
||||
'F-4AH'
|
||||
/
|
||||
|
||||
WTHP
|
||||
'F-4AH'
|
||||
/
|
||||
|
||||
WWIR
|
||||
'I50' 'I51' 'I52' 'I55_K4'
|
||||
/
|
||||
|
||||
WWIT
|
||||
'I50' 'I51' 'I52' 'I55_K4'
|
||||
/
|
||||
|
||||
WBHP
|
||||
'I50' 'I51' 'I52' 'I55_K4'
|
||||
/
|
||||
|
||||
WTHP
|
||||
'I50' 'I51' 'I52' 'I55_K4'
|
||||
/
|
||||
|
||||
|
||||
-41
@@ -1,41 +0,0 @@
|
||||
-- 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 /
|
||||
Vendored
-234
@@ -1,234 +0,0 @@
|
||||
-- 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' /
|
||||
/
|
||||
Vendored
-141
@@ -1,141 +0,0 @@
|
||||
-- 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
|
||||
/
|
||||
Vendored
-13
@@ -1,13 +0,0 @@
|
||||
-- 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
|
||||
/
|
||||
Vendored
-1557
File diff suppressed because it is too large
Load Diff
-3600
File diff suppressed because it is too large
Load Diff
-4102
File diff suppressed because it is too large
Load Diff
-3601
File diff suppressed because it is too large
Load Diff
-3603
File diff suppressed because it is too large
Load Diff
-128
@@ -1,128 +0,0 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 8.01 - License#:4163 - Nov 12 2004 18:40:47
|
||||
-- Generated on : 08 Sep 05 14:13
|
||||
-- Input File : Z:\Project\norne6\prod\gap\WI\C1H.OUT
|
||||
-- Output File : Z:\Project\norne6\prod\gap\WI\C1H.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type : Tubing
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : Full System
|
||||
--
|
||||
-- Completion : Cased Hole
|
||||
-- Gravel Pack : No
|
||||
--
|
||||
-- Inflow Type : Single Branch
|
||||
-- Gas Coning : No
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : C-1H
|
||||
-- Platform : Transocean Prospect
|
||||
-- Analyst : shlea
|
||||
-- Date : 22 Mar 99 15:59
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Dukler Eaton Flannigan
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
-- First Node : 1 Xmas Tree 392.3 (m)
|
||||
-- Last Node : 8 Casing 3043 (m)
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
12 2718.07 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
500.0 1263.2 2026.3 2789.5 3552.6
|
||||
4315.8 5078.9 5842.1 6605.3 7368.4
|
||||
8131.6 8894.7 9657.9 10421.1 11184.2
|
||||
11947.4 12710.5 13473.7 14236.8 15000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
21.01 63.24 105.46 147.68 189.90
|
||||
232.12 274.35 316.57 358.79 401.01 /
|
||||
|
||||
1 254.51 253.95 252.27 249.83 246.69
|
||||
242.88 238.42 233.32 227.59 221.22
|
||||
214.23 206.62 198.38 189.53 180.06
|
||||
169.97 159.26 147.95 136.00 123.46
|
||||
/
|
||||
2 297.02 296.49 294.82 292.39 289.26
|
||||
285.47 281.01 275.92 270.20 263.84
|
||||
256.87 249.28 241.05 232.22 222.76
|
||||
212.70 202.01 190.71 178.79 166.27
|
||||
/
|
||||
3 339.54 339.03 337.37 334.95 331.83
|
||||
328.05 323.60 318.52 312.82 306.47
|
||||
299.52 291.94 283.73 274.91 265.47
|
||||
255.43 244.75 233.48 221.58 209.09
|
||||
/
|
||||
4 382.06 381.57 379.93 377.51 374.41
|
||||
370.63 366.19 361.13 355.44 349.10
|
||||
342.16 334.60 326.40 317.61 308.18
|
||||
298.16 287.50 276.26 264.37 251.90
|
||||
/
|
||||
5 424.58 424.11 422.48 420.08 416.98
|
||||
413.22 408.78 403.73 398.06 391.73
|
||||
384.81 377.26 369.08 360.30 350.89
|
||||
340.89 330.25 319.03 307.16 294.72
|
||||
/
|
||||
6 467.10 466.65 465.03 462.64 459.55
|
||||
455.80 451.37 446.34 440.68 434.36
|
||||
427.45 419.93 411.75 403.00 393.60
|
||||
383.62 373.00 361.80 349.96 337.54
|
||||
/
|
||||
7 509.62 509.20 507.59 505.21 502.13
|
||||
498.39 493.97 488.95 483.30 476.99
|
||||
470.10 462.59 454.43 445.69 436.31
|
||||
426.35 415.75 404.57 392.75 380.36
|
||||
/
|
||||
8 552.14 551.74 550.15 547.77 544.71
|
||||
540.98 536.56 531.56 525.92 519.62
|
||||
512.75 505.26 497.11 488.39 479.02
|
||||
469.09 458.50 447.35 435.55 423.18
|
||||
/
|
||||
9 594.67 594.29 592.70 590.34 587.29
|
||||
583.57 579.16 574.17 568.55 562.25
|
||||
555.40 547.92 539.79 531.09 521.74
|
||||
511.82 501.25 490.13 478.34 466.01
|
||||
/
|
||||
10 637.19 636.83 635.26 632.91 629.86
|
||||
626.16 621.76 616.78 611.17 604.89
|
||||
598.05 590.59 582.47 573.79 564.45
|
||||
554.56 544.01 532.91 521.14 508.83
|
||||
/
|
||||
-128
@@ -1,128 +0,0 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 8.01 - License#:4163 - Nov 12 2004 18:40:47
|
||||
-- Generated on : 08 Sep 05 14:16
|
||||
-- Input File : Z:\Project\norne6\prod\gap\WI\C2H.OUT
|
||||
-- Output File : Z:\Project\norne6\prod\gap\WI\C2H.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type : Tubing
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : Full System
|
||||
--
|
||||
-- Completion : Cased Hole
|
||||
-- Gravel Pack : No
|
||||
--
|
||||
-- Inflow Type : Single Branch
|
||||
-- Gas Coning : No
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : C-2H
|
||||
-- Platform : Transocean Prospect
|
||||
-- Analyst : shlea
|
||||
-- Date : 19 Mar 99 12:58
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Dukler Flannigan
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
-- First Node : 1 Xmas Tree 392.3 (m)
|
||||
-- Last Node : 10 Tubing 4015 (m)
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
13 2672.2 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
500.0 1263.2 2026.3 2789.5 3552.6
|
||||
4315.8 5078.9 5842.1 6605.3 7368.4
|
||||
8131.6 8894.7 9657.9 10421.1 11184.2
|
||||
11947.4 12710.5 13473.7 14236.8 15000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
21.01 63.24 105.46 147.68 189.90
|
||||
232.12 274.35 316.57 358.79 401.01 /
|
||||
|
||||
1 249.49 248.71 246.49 243.27 239.16
|
||||
234.22 228.46 221.95 214.67 206.64
|
||||
197.89 188.40 178.21 167.32 155.73
|
||||
143.45 130.49 116.83 102.51 87.52
|
||||
/
|
||||
2 292.00 291.25 289.03 285.82 281.73
|
||||
276.80 271.06 264.55 257.29 249.27
|
||||
240.54 231.07 220.90 210.02 198.46
|
||||
186.19 173.25 159.62 145.32 130.36
|
||||
/
|
||||
3 334.50 333.78 331.58 328.38 324.30
|
||||
319.38 313.65 307.16 299.92 291.91
|
||||
283.19 273.74 263.58 252.73 241.18
|
||||
228.93 216.02 202.41 188.13 173.19
|
||||
/
|
||||
4 377.01 376.31 374.12 370.94 366.87
|
||||
361.97 356.24 349.77 342.54 334.54
|
||||
325.85 316.40 306.27 295.43 283.91
|
||||
271.67 258.78 245.19 230.93 216.03
|
||||
/
|
||||
5 419.52 418.84 416.67 413.50 409.44
|
||||
404.55 398.83 392.37 385.16 377.18
|
||||
368.50 359.07 348.95 338.14 326.63
|
||||
314.42 301.55 287.98 273.74 258.86
|
||||
/
|
||||
6 462.03 461.38 459.22 456.05 452.01
|
||||
447.13 441.43 434.98 427.79 419.82
|
||||
411.16 401.74 391.64 380.84 369.36
|
||||
357.16 344.32 330.77 316.55 301.70
|
||||
/
|
||||
7 504.55 503.91 501.76 498.62 494.58
|
||||
489.72 484.02 477.59 470.42 462.45
|
||||
453.82 444.41 434.33 423.55 412.09
|
||||
399.91 387.09 373.56 359.36 344.54
|
||||
/
|
||||
8 547.06 546.45 544.31 541.18 537.16
|
||||
532.31 526.62 520.21 513.05 505.09
|
||||
496.47 487.09 477.02 466.26 454.82
|
||||
442.66 429.86 416.35 402.18 387.38
|
||||
/
|
||||
9 589.57 588.98 586.86 583.74 579.73
|
||||
574.90 569.22 562.82 555.67 547.74
|
||||
539.13 529.76 519.71 508.97 497.55
|
||||
485.41 472.63 459.14 444.99 430.22
|
||||
/
|
||||
10 632.09 631.52 629.41 626.30 622.31
|
||||
617.49 611.81 605.43 598.30 590.38
|
||||
581.79 572.43 562.40 551.68 540.28
|
||||
528.16 515.40 501.94 487.80 473.06
|
||||
/
|
||||
-128
@@ -1,128 +0,0 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 8.01 - License#:4163 - Nov 12 2004 18:40:47
|
||||
-- Generated on : 08 Sep 05 14:17
|
||||
-- Input File : Z:\Project\norne6\prod\gap\WI\C3H.OUT
|
||||
-- Output File : Z:\Project\norne6\prod\gap\WI\C3H.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type : Tubing
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : Full System
|
||||
--
|
||||
-- Completion : Cased Hole
|
||||
-- Gravel Pack : No
|
||||
--
|
||||
-- Inflow Type : Single Branch
|
||||
-- Gas Coning : No
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : C-3H
|
||||
-- Platform : Transocean Prospect
|
||||
-- Analyst : shlea
|
||||
-- Date : 24 Jun 99 14:32
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Fancher Brown
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
-- First Node : 1 Xmas Tree 392.3 (m)
|
||||
-- Last Node : 8 Tubing 3470.5 (m)
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
14 2704.29 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
500.0 1263.2 2026.3 2789.5 3552.6
|
||||
4315.8 5078.9 5842.1 6605.3 7368.4
|
||||
8131.6 8894.7 9657.9 10421.1 11184.2
|
||||
11947.4 12710.5 13473.7 14236.8 15000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
21.01 63.24 105.46 147.68 189.90
|
||||
232.12 274.35 316.57 358.79 401.01 /
|
||||
|
||||
1 252.89 252.23 250.24 247.33 243.58
|
||||
239.04 233.71 227.62 220.75 213.14
|
||||
204.77 195.65 185.79 175.18 163.83
|
||||
151.73 138.89 125.32 110.99 95.93
|
||||
/
|
||||
2 295.40 294.76 292.79 289.89 286.15
|
||||
281.62 276.30 270.22 263.37 255.77
|
||||
247.42 238.31 228.47 217.88 206.55
|
||||
194.47 181.65 168.10 153.80 138.77
|
||||
/
|
||||
3 337.91 337.30 335.33 332.44 328.72
|
||||
324.20 318.90 312.83 305.98 298.40
|
||||
290.07 280.97 271.15 260.59 249.26
|
||||
237.22 224.42 210.89 196.61 181.61
|
||||
/
|
||||
4 380.42 379.83 377.88 375.00 371.29
|
||||
366.78 361.49 355.44 348.60 341.04
|
||||
332.72 323.64 313.84 303.29 291.99
|
||||
279.96 267.18 253.68 239.42 224.45
|
||||
/
|
||||
5 422.94 422.37 420.43 417.56 413.86
|
||||
409.36 404.09 398.05 391.22 383.67
|
||||
375.37 366.31 356.53 346.00 334.71
|
||||
322.70 309.94 296.47 282.23 267.28
|
||||
/
|
||||
6 465.45 464.91 462.98 460.13 456.43
|
||||
451.95 446.68 440.66 433.84 426.31
|
||||
418.03 408.97 399.21 388.70 377.43
|
||||
365.45 352.71 339.26 325.04 310.12
|
||||
/
|
||||
7 507.97 507.44 505.53 502.69 499.01
|
||||
494.53 489.28 483.27 476.46 468.94
|
||||
460.68 451.64 441.90 431.41 420.16
|
||||
408.20 395.47 382.05 367.86 352.97
|
||||
/
|
||||
8 550.48 549.99 548.09 545.25 541.58
|
||||
537.12 531.88 525.88 519.08 511.58
|
||||
503.34 494.31 484.59 474.12 462.88
|
||||
450.95 438.24 424.84 410.67 395.81
|
||||
/
|
||||
9 593.00 592.53 590.64 587.82 584.16
|
||||
579.70 574.48 568.49 561.71 554.22
|
||||
546.00 536.98 527.28 516.83 505.61
|
||||
493.70 481.01 467.64 453.49 438.65
|
||||
/
|
||||
10 635.52 635.07 633.19 630.38 626.73
|
||||
622.29 617.08 611.11 604.33 596.86
|
||||
588.65 579.65 569.97 559.54 548.34
|
||||
536.45 523.78 510.43 496.31 481.50
|
||||
/
|
||||
-128
@@ -1,128 +0,0 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 8.01 - License#:4163 - Nov 12 2004 18:40:47
|
||||
-- Generated on : 08 Sep 05 14:22
|
||||
-- Input File : Z:\Project\norne6\prod\gap\WI\C4AH.OUT
|
||||
-- Output File : Z:\Project\norne6\prod\gap\WI\C4AH.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type : Tubing
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : Full System
|
||||
--
|
||||
-- Completion : Cased Hole
|
||||
-- Gravel Pack : No
|
||||
--
|
||||
-- Inflow Type : Single Branch
|
||||
-- Gas Coning : No
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : C-3H
|
||||
-- Platform : Transocean Prospect
|
||||
-- Analyst : shlea
|
||||
-- Date : 24 Jun 99 14:32
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Fancher Brown
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
-- First Node : 1 Xmas Tree 392.3 (m)
|
||||
-- Last Node : 11 Tubing 3422.5 (m)
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
16 2719.4 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
500.0 1263.2 2026.3 2789.5 3552.6
|
||||
4315.8 5078.9 5842.1 6605.3 7368.4
|
||||
8131.6 8894.7 9657.9 10421.1 11184.2
|
||||
11947.4 12710.5 13473.7 14236.8 15000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
21.01 63.24 105.46 147.68 189.90
|
||||
232.12 274.35 316.57 358.79 401.01 /
|
||||
|
||||
1 254.45 253.79 251.81 248.93 245.22
|
||||
240.72 235.44 229.41 222.62 215.09
|
||||
206.82 197.80 188.04 177.56 166.33
|
||||
154.38 141.70 128.27 114.12 99.23
|
||||
/
|
||||
2 296.97 296.32 294.36 291.49 287.79
|
||||
283.30 278.04 272.02 265.24 257.72
|
||||
249.46 240.47 230.72 220.26 209.05
|
||||
197.12 184.46 171.06 156.94 142.07
|
||||
/
|
||||
3 339.48 338.86 336.91 334.05 330.36
|
||||
325.88 320.63 314.62 307.85 300.35
|
||||
292.11 283.13 273.41 262.96 251.77
|
||||
239.86 227.23 213.84 199.75 184.91
|
||||
/
|
||||
4 382.00 381.40 379.46 376.61 372.93
|
||||
368.46 363.23 357.23 350.47 342.98
|
||||
334.76 325.80 316.09 305.66 294.49
|
||||
282.61 270.00 256.63 242.57 227.75
|
||||
/
|
||||
5 424.52 423.94 422.02 419.17 415.50
|
||||
411.04 405.82 399.84 393.09 385.62
|
||||
377.41 368.47 358.77 348.37 337.21
|
||||
325.35 312.76 299.42 285.38 270.59
|
||||
/
|
||||
6 467.03 466.48 464.57 461.73 458.07
|
||||
453.63 448.42 442.45 435.71 428.25
|
||||
420.06 411.14 401.46 391.07 379.93
|
||||
368.09 355.53 342.21 328.20 313.43
|
||||
/
|
||||
7 509.55 509.02 507.12 504.30 500.65
|
||||
496.21 491.01 485.06 478.33 470.89
|
||||
462.72 453.81 444.14 433.78 422.65
|
||||
410.84 398.31 385.00 371.02 356.27
|
||||
/
|
||||
8 552.07 551.57 549.68 546.86 543.23
|
||||
538.80 533.61 527.67 520.95 513.53
|
||||
505.37 496.48 486.83 476.49 465.38
|
||||
453.59 441.08 427.80 413.84 399.12
|
||||
/
|
||||
9 594.59 594.11 592.23 589.43 585.80
|
||||
581.39 576.21 570.29 563.58 556.17
|
||||
548.03 539.16 529.52 519.19 508.11
|
||||
496.34 483.85 470.59 456.66 441.96
|
||||
/
|
||||
10 637.11 636.65 634.79 632.00 628.38
|
||||
623.98 618.81 612.90 606.20 598.81
|
||||
590.68 581.83 572.20 561.90 550.83
|
||||
539.09 526.63 513.39 499.49 484.81
|
||||
/
|
||||
-128
@@ -1,128 +0,0 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 8.01 - License#:4163 - Nov 12 2004 18:40:47
|
||||
-- Generated on : 04 Oct 05 12:35
|
||||
-- Input File : Z:\Project\norne6\prod\gap\WI\C4H.OUT
|
||||
-- Output File : Z:\Project\norne6\prod\gap\WI\C4H.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type : Tubing
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : Full System
|
||||
--
|
||||
-- Completion : Cased Hole
|
||||
-- Gravel Pack : No
|
||||
--
|
||||
-- Inflow Type : Single Branch
|
||||
-- Gas Coning : No
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : C-3H
|
||||
-- Platform : Transocean Prospect
|
||||
-- Analyst : shlea
|
||||
-- Date : 24 Jun 99 14:32
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Fancher Brown
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
-- First Node : 1 Xmas Tree 392.3 (m)
|
||||
-- Last Node : 10 Tubing 2717 (m)
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
15 2692.99 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
600.0 1263.2 2026.3 2789.5 3552.6
|
||||
4315.8 5078.9 5842.1 6605.3 7368.4
|
||||
8131.6 8894.7 9657.9 10421.1 11184.2
|
||||
11947.4 12710.5 13473.7 14236.8 15000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
21.01 63.24 105.46 147.68 189.90
|
||||
232.12 274.35 316.57 358.79 401.01 /
|
||||
|
||||
1 252.21 251.96 250.98 249.52 247.62
|
||||
245.30 242.59 239.49 236.00 232.13
|
||||
227.88 223.24 218.23 212.83 207.07
|
||||
200.92 194.41 187.52 180.26 172.62
|
||||
/
|
||||
2 294.73 294.49 293.53 292.07 290.18
|
||||
287.87 285.17 282.08 278.59 274.73
|
||||
270.50 265.86 260.87 255.48 249.73
|
||||
243.59 237.10 230.22 222.98 215.34
|
||||
/
|
||||
3 337.25 337.03 336.07 334.63 332.75
|
||||
330.44 327.75 324.67 321.19 317.34
|
||||
313.11 308.49 303.51 298.13 292.40
|
||||
286.27 279.79 272.91 265.69 258.07
|
||||
/
|
||||
4 379.77 379.57 378.62 377.18 375.31
|
||||
373.01 370.33 367.26 363.78 359.95
|
||||
355.74 351.11 346.15 340.77 335.06
|
||||
328.94 322.48 315.62 308.41 300.80
|
||||
/
|
||||
5 422.29 422.10 421.17 419.74 417.88
|
||||
415.58 412.91 409.85 406.38 402.56
|
||||
398.36 393.74 388.79 383.42 377.72
|
||||
371.61 365.17 358.32 351.13 343.54
|
||||
/
|
||||
6 464.81 464.64 463.72 462.30 460.45
|
||||
458.15 455.49 452.45 448.98 445.17
|
||||
440.98 436.37 431.43 426.08 420.39
|
||||
414.29 407.86 401.02 393.85 386.27
|
||||
/
|
||||
7 507.34 507.18 506.27 504.86 503.01
|
||||
500.72 498.07 495.04 491.58 487.78
|
||||
483.60 479.00 474.07 468.73 463.06
|
||||
456.97 450.56 443.72 436.57 429.00
|
||||
/
|
||||
8 549.86 549.72 548.82 547.42 545.59
|
||||
543.30 540.66 537.63 534.18 530.39
|
||||
526.23 521.64 516.72 511.38 505.73
|
||||
499.65 493.25 486.43 479.30 471.74
|
||||
/
|
||||
9 592.39 592.26 591.37 589.98 588.16
|
||||
585.87 583.24 580.23 576.78 573.00
|
||||
568.85 564.27 559.37 554.04 548.40
|
||||
542.32 535.95 529.14 522.02 514.48
|
||||
/
|
||||
10 634.92 634.80 633.92 632.54 630.73
|
||||
628.45 625.83 622.83 619.38 615.62
|
||||
611.48 606.90 602.01 596.69 591.07
|
||||
585.01 578.64 571.84 564.75 557.21
|
||||
/
|
||||
-3602
File diff suppressed because it is too large
Load Diff
-3602
File diff suppressed because it is too large
Load Diff
-3701
File diff suppressed because it is too large
Load Diff
-1172
File diff suppressed because it is too large
Load Diff
-4101
File diff suppressed because it is too large
Load Diff
-1077
File diff suppressed because it is too large
Load Diff
-4101
File diff suppressed because it is too large
Load Diff
-132
@@ -1,132 +0,0 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 9.3 - License#:4474 - Sep 17 2006 14:05:16
|
||||
-- Generated on : 12 Feb 07 12:21
|
||||
-- Input File : Y:\Project\norne6\prod\gap\WI\F1H.OUT
|
||||
-- Output File : Y:\Project\norne6\res\INCLUDE\VFP\F1H.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type : Tubing
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : Full System
|
||||
--
|
||||
-- Completion : Cased Hole
|
||||
-- Gravel Pack : No
|
||||
--
|
||||
-- Inflow Type : Single Branch
|
||||
-- Gas Coning : No
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : F-1H
|
||||
-- Platform : Transocean Prospect
|
||||
-- Analyst : shlea
|
||||
-- Date : 25 Jun 99 11:56
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Fancher Brown
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
--
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
--
|
||||
-- First Node : 1 Xmas Tree 397.2 (m)
|
||||
-- Last Node : 9 Tubing 2888 (m)
|
||||
--
|
||||
-- Sensitivity Variable 1 : First Node Pressure
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
17 2733.7 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
500.0 1263.2 2026.3 2789.5 3552.6
|
||||
4315.8 5078.9 5842.1 6605.3 7368.4
|
||||
8131.6 8894.7 9657.9 10421.1 11947.4
|
||||
13473.7 14236.8 15000.0 18000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
21.01 63.24 105.46 147.68 189.90
|
||||
232.12 274.35 316.57 358.79 401.01 /
|
||||
|
||||
1 255.66 255.10 253.49 251.14 248.12
|
||||
244.45 240.16 235.26 229.74 223.62
|
||||
216.90 209.57 201.66 193.14 174.34
|
||||
153.15 141.67 129.60 76.40
|
||||
/
|
||||
2 298.18 297.64 296.05 293.70 290.69
|
||||
287.03 282.75 277.86 272.35 266.25
|
||||
259.54 252.23 244.33 235.82 217.06
|
||||
195.92 184.46 172.42 119.32
|
||||
/
|
||||
3 340.70 340.18 338.60 336.27 333.27
|
||||
329.61 325.35 320.47 314.96 308.87
|
||||
302.19 294.88 287.01 278.51 259.79
|
||||
238.69 227.25 215.23 162.24
|
||||
/
|
||||
4 383.22 382.72 381.16 378.83 375.85
|
||||
372.19 367.94 363.08 357.58 351.51
|
||||
344.84 337.54 329.68 321.20 302.53
|
||||
281.46 270.04 258.05 205.15
|
||||
/
|
||||
5 425.74 425.26 423.71 421.40 418.42
|
||||
414.78 410.54 405.68 400.19 394.14
|
||||
387.48 380.20 372.36 363.89 345.26
|
||||
324.24 312.83 300.87 248.07
|
||||
/
|
||||
6 468.27 467.80 466.27 463.97 461.00
|
||||
457.36 453.13 448.29 442.81 436.77
|
||||
430.13 422.86 415.04 406.58 387.99
|
||||
367.01 355.62 343.68 290.99
|
||||
/
|
||||
7 510.79 510.34 508.83 506.54 503.58
|
||||
499.94 495.73 490.90 485.43 479.40
|
||||
472.78 465.52 457.72 449.28 430.72
|
||||
409.78 398.41 386.50 333.91
|
||||
/
|
||||
8 553.32 552.88 551.39 549.11 546.16
|
||||
542.53 538.33 533.51 528.05 522.04
|
||||
515.43 508.18 500.40 491.97 473.46
|
||||
452.56 441.21 429.33 376.84
|
||||
/
|
||||
9 595.84 595.43 593.95 591.68 588.74
|
||||
585.12 580.93 576.13 570.67 564.67
|
||||
558.08 550.85 543.08 534.67 516.20
|
||||
495.34 484.00 472.15 419.76
|
||||
/
|
||||
10 638.37 637.97 636.51 634.25 631.32
|
||||
627.71 623.53 618.74 613.29 607.31
|
||||
600.74 593.51 585.76 577.36 558.93
|
||||
538.12 526.80 514.97 462.68
|
||||
/
|
||||
-128
@@ -1,128 +0,0 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 8.01 - License#:4163 - Nov 12 2004 18:40:47
|
||||
-- Generated on : 08 Sep 05 14:23
|
||||
-- Input File : Z:\Project\norne6\prod\gap\WI\F2H.OUT
|
||||
-- Output File : Z:\Project\norne6\prod\gap\WI\F2H.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type : Tubing
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : Full System
|
||||
--
|
||||
-- Completion : Cased Hole
|
||||
-- Gravel Pack : No
|
||||
--
|
||||
-- Inflow Type : Single Branch
|
||||
-- Gas Coning : No
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : F-2H
|
||||
-- Platform : Transocean Prospect
|
||||
-- Analyst : shlea
|
||||
-- Date : 25 Jun 99 11:56
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Fancher Brown
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
-- First Node : 1 Xmas Tree 397.2 (m)
|
||||
-- Last Node : 7 Tubing 2826 (m)
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
18 2743.22 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
500.0 1263.2 2026.3 2789.5 3552.6
|
||||
4315.8 5078.9 5842.1 6605.3 7368.4
|
||||
8131.6 8894.7 9657.9 10421.1 11184.2
|
||||
11947.4 12710.5 13473.7 14236.8 15000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
49.98 99.96 149.94 199.92 224.91
|
||||
249.90 274.89 299.88 349.86 399.84 /
|
||||
|
||||
1 285.81 285.29 283.71 281.41 278.44
|
||||
274.85 270.63 265.80 260.38 254.36
|
||||
247.73 240.53 232.74 224.34 215.38
|
||||
205.81 195.66 184.94 173.62 161.73
|
||||
/
|
||||
2 336.15 335.65 334.09 331.79 328.84
|
||||
325.26 321.06 316.23 310.83 304.83
|
||||
298.21 291.03 283.26 274.88 265.94
|
||||
256.39 246.26 235.57 224.27 212.41
|
||||
/
|
||||
3 386.48 386.01 384.46 382.18 379.24
|
||||
375.67 371.49 366.67 361.28 355.30
|
||||
348.69 341.53 333.78 325.42 316.51
|
||||
306.97 296.86 286.20 274.92 263.09
|
||||
/
|
||||
4 436.82 436.38 434.84 432.57 429.64
|
||||
426.08 421.91 417.11 411.73 405.77
|
||||
399.17 392.03 384.31 375.96 367.07
|
||||
357.56 347.46 336.83 325.57 313.78
|
||||
/
|
||||
5 461.98 461.56 460.03 457.77 454.84
|
||||
451.29 447.13 442.33 436.96 431.00
|
||||
424.42 417.28 409.57 401.23 392.35
|
||||
382.85 372.76 362.14 350.90 339.12
|
||||
/
|
||||
6 487.15 486.74 485.21 482.96 480.04
|
||||
476.50 472.34 467.54 462.19 456.24
|
||||
449.66 442.54 434.83 426.50 417.64
|
||||
408.14 398.07 387.46 376.23 364.46
|
||||
/
|
||||
7 512.32 511.92 510.40 508.16 505.25
|
||||
501.71 497.56 492.77 487.42 481.48
|
||||
474.90 467.79 460.10 451.77 442.92
|
||||
433.43 423.37 412.78 401.55 389.81
|
||||
/
|
||||
8 537.49 537.10 535.59 533.35 530.45
|
||||
526.92 522.77 517.98 512.64 506.71
|
||||
500.15 493.04 485.36 477.04 468.20
|
||||
458.73 448.67 438.09 426.88 415.15
|
||||
/
|
||||
9 587.83 587.47 585.97 583.75 580.85
|
||||
577.34 573.21 568.43 563.10 557.19
|
||||
550.63 543.55 535.89 527.59 518.78
|
||||
509.32 499.28 488.73 477.54 465.84
|
||||
/
|
||||
10 638.17 637.84 636.36 634.14 631.26
|
||||
627.76 623.64 618.87 613.56 607.67
|
||||
601.12 594.06 586.42 578.14 569.35
|
||||
559.91 549.89 539.37 528.20 516.53
|
||||
/
|
||||
-128
@@ -1,128 +0,0 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 8.01 - License#:4163 - Nov 12 2004 18:40:47
|
||||
-- Generated on : 08 Sep 05 14:23
|
||||
-- Input File : Z:\Project\norne6\prod\gap\WI\F3H.OUT
|
||||
-- Output File : Z:\Project\norne6\prod\gap\WI\F3H.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type : Tubing
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : Full System
|
||||
--
|
||||
-- Completion : Cased Hole
|
||||
-- Gravel Pack : No
|
||||
--
|
||||
-- Inflow Type : Single Branch
|
||||
-- Gas Coning : No
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : F-3H
|
||||
-- Platform : Transocean Prospect
|
||||
-- Analyst : shlea
|
||||
-- Date : 25 Jun 99 11:56
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Fancher Brown
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
-- First Node : 1 Xmas Tree 397.2 (m)
|
||||
-- Last Node : 12 Tubing 3511 (m)
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
19 2733.64 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
500.0 1263.2 2026.3 2789.5 3552.6
|
||||
4315.8 5078.9 5842.1 6605.3 7368.4
|
||||
8131.6 8894.7 9657.9 10421.1 11184.2
|
||||
11947.4 12710.5 13473.7 14236.8 15000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
21.01 63.24 105.46 147.68 189.90
|
||||
232.12 274.35 316.57 358.79 401.01 /
|
||||
|
||||
1 255.32 254.47 252.16 248.81 244.49
|
||||
239.26 233.12 226.09 218.18 209.40
|
||||
199.75 189.23 177.84 165.60 152.50
|
||||
138.52 123.70 108.01 91.47 74.06
|
||||
/
|
||||
2 297.83 297.00 294.71 291.37 287.06
|
||||
281.84 275.71 268.70 260.81 252.03
|
||||
242.40 231.90 220.53 208.31 195.23
|
||||
181.28 166.49 150.82 134.31 116.93
|
||||
/
|
||||
3 340.35 339.54 337.25 333.93 329.63
|
||||
324.42 318.30 311.31 303.43 294.67
|
||||
285.06 274.58 263.22 251.03 237.97
|
||||
224.04 209.27 193.63 177.15 159.79
|
||||
/
|
||||
4 382.87 382.07 379.80 376.50 372.20
|
||||
367.00 360.90 353.92 346.06 337.31
|
||||
327.71 317.26 305.92 293.74 280.71
|
||||
266.80 252.06 236.44 219.99 202.66
|
||||
/
|
||||
5 425.39 424.61 422.35 419.06 414.77
|
||||
409.58 403.50 396.53 388.69 379.95
|
||||
370.37 359.93 348.61 336.46 323.45
|
||||
309.56 294.85 279.25 262.83 245.53
|
||||
/
|
||||
6 467.90 467.15 464.90 461.62 457.34
|
||||
452.17 446.09 439.14 431.31 422.59
|
||||
413.03 402.61 391.31 379.18 366.19
|
||||
352.33 337.64 322.07 305.68 288.40
|
||||
/
|
||||
7 510.42 509.69 507.45 504.19 499.91
|
||||
494.75 488.69 481.75 473.94 465.23
|
||||
455.69 445.29 434.00 421.90 408.94
|
||||
395.09 380.43 364.88 348.52 331.27
|
||||
/
|
||||
8 552.95 552.23 550.00 546.76 542.49
|
||||
537.34 531.29 524.37 516.57 507.87
|
||||
498.35 487.97 476.70 464.62 451.68
|
||||
437.86 423.22 407.70 391.37 374.14
|
||||
/
|
||||
9 595.47 594.77 592.56 589.32 585.06
|
||||
579.93 573.89 566.98 559.20 550.52
|
||||
541.02 530.66 519.40 507.34 494.43
|
||||
480.62 466.02 450.51 434.22 417.02
|
||||
/
|
||||
10 637.99 637.31 635.11 631.89 627.64
|
||||
622.51 616.50 609.60 601.84 593.16
|
||||
583.68 573.34 562.10 550.06 537.17
|
||||
523.39 508.81 493.33 477.06 459.89
|
||||
/
|
||||
-128
@@ -1,128 +0,0 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 8.01 - License#:4163 - Nov 12 2004 18:40:47
|
||||
-- Generated on : 08 Sep 05 14:24
|
||||
-- Input File : Z:\Project\norne6\prod\gap\WI\F4H.OUT
|
||||
-- Output File : Z:\Project\norne6\prod\gap\WI\F4H.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type : Tubing
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : Full System
|
||||
--
|
||||
-- Completion : Cased Hole
|
||||
-- Gravel Pack : No
|
||||
--
|
||||
-- Inflow Type : Single Branch
|
||||
-- Gas Coning : No
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : F-4H
|
||||
-- Platform :
|
||||
-- Analyst : psk
|
||||
-- Date : 17 Aug 99 14:29
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Dukler Flannigan - (1.000) (1.032)
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
-- First Node : 1 Xmas Tree 397.2 (m)
|
||||
-- Last Node : 10 Tubing 4130.94 (m)
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
20 2656.8 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
500.0 1263.2 2026.3 2789.5 3552.6
|
||||
4315.8 5078.9 5842.1 6605.3 7368.4
|
||||
8131.6 8894.7 9657.9 10421.1 11184.2
|
||||
11947.4 12710.5 13473.7 14236.8 15000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
21.01 63.24 105.46 147.68 189.90
|
||||
232.12 274.35 316.57 358.79 401.01 /
|
||||
|
||||
1 247.68 246.71 244.31 240.86 236.44
|
||||
231.09 224.82 217.66 209.61 200.68
|
||||
190.86 180.18 168.63 156.20 142.90
|
||||
128.75 113.72 97.83 81.07 63.44
|
||||
/
|
||||
2 290.19 289.24 286.85 283.42 279.01
|
||||
273.67 267.42 260.27 252.23 243.31
|
||||
233.52 222.85 211.32 198.92 185.64
|
||||
171.51 156.51 140.65 123.92 106.32
|
||||
/
|
||||
3 332.70 331.76 329.40 325.98 321.58
|
||||
316.25 310.01 302.87 294.85 285.95
|
||||
276.17 265.53 254.02 241.64 228.38
|
||||
214.27 199.31 183.47 166.76 149.20
|
||||
/
|
||||
4 375.21 374.30 371.94 368.54 364.15
|
||||
358.83 352.60 345.48 337.47 328.59
|
||||
318.83 308.20 296.71 284.36 271.12
|
||||
257.04 242.10 226.30 209.61 192.09
|
||||
/
|
||||
5 417.72 416.83 414.49 411.10 406.72
|
||||
401.41 395.20 388.09 380.09 371.23
|
||||
361.49 350.88 339.41 327.08 313.86
|
||||
299.81 284.89 269.12 252.46 234.97
|
||||
/
|
||||
6 460.23 459.36 457.03 453.66 449.30
|
||||
444.00 437.79 430.70 422.72 413.87
|
||||
404.14 393.56 382.11 369.80 356.60
|
||||
342.57 327.69 311.94 295.31 277.85
|
||||
/
|
||||
7 502.75 501.89 499.58 496.22 491.87
|
||||
486.58 480.39 473.31 465.34 456.51
|
||||
446.80 436.24 424.81 412.52 399.34
|
||||
385.34 370.48 354.77 338.17 320.74
|
||||
/
|
||||
8 545.26 544.43 542.13 538.79 534.44
|
||||
529.17 522.99 515.92 507.97 499.15
|
||||
489.46 478.92 467.51 455.24 442.09
|
||||
428.11 413.28 397.60 381.02 363.63
|
||||
/
|
||||
9 587.77 586.96 584.68 581.35 577.02
|
||||
571.75 565.59 558.53 550.60 541.79
|
||||
532.12 521.60 510.21 497.97 484.83
|
||||
470.88 456.08 440.43 423.87 406.51
|
||||
/
|
||||
10 630.29 629.50 627.23 623.92 619.60
|
||||
614.34 608.19 601.14 593.23 584.44
|
||||
574.79 564.28 552.91 540.69 527.58
|
||||
513.66 498.88 483.25 466.73 449.40
|
||||
/
|
||||
-1240
File diff suppressed because it is too large
Load Diff
-314
@@ -1,314 +0,0 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
-- Denne loeftekurven baserer seg paa data
|
||||
-- fra broenn D-2T2H, som har en broenn-bane
|
||||
-- noe midt mellom det meste. Denne kurven
|
||||
-- brukes for gassbroenner.
|
||||
VFPPROD
|
||||
--4 2200 'GAS' 'WGR' 'OGR' /
|
||||
4 2580 'GAS' 'WGR' 'OGR' /
|
||||
15 150 1500 15000 150000 1.5e+006 /
|
||||
30 40 60 100 200 250 /
|
||||
0 0.0003 0.003 0.03 0.3 3 30 /
|
||||
7.1e-007 1e-006 1e-005 0.0001 0.001 0.002
|
||||
0.009 /
|
||||
0 /
|
||||
1 1 1 1 34.8749 34.8749 34.875 34.879 35.1864 56.3325 /
|
||||
1 1 2 1 34.8749 34.8749 34.875 34.879 35.1864 56.3327 /
|
||||
1 1 3 1 34.8749 34.8749 34.875 34.8791 35.188 56.3371 /
|
||||
1 1 4 1 197.254 196.642 190.199 46.3175 46.4544 58.1071 /
|
||||
1 1 5 1 197.256 196.664 190.45 46.3206 49.1201 78.9131 /
|
||||
1 1 6 1 197.259 196.688 190.725 47.104 55.358 102.150 /
|
||||
1 1 7 1 197.275 196.855 192.579 134.375 104.427 275.263 /
|
||||
1 2 1 1 241.720 240.982 233.245 48.785 48.905 59.275 /
|
||||
1 2 2 1 241.720 240.982 233.246 48.785 48.912 59.855 /
|
||||
1 2 3 1 240.505 239.772 232.089 48.728 48.907 66.133 /
|
||||
1 2 4 1 229.295 228.601 221.316 48.170 48.374 67.989 /
|
||||
1 2 5 1 206.287 205.675 199.269 46.881 53.430 86.644 /
|
||||
1 2 6 1 202.290 201.709 195.653 48.833 56.025 111.214 /
|
||||
1 2 7 1 198.503 198.082 193.801 136.233 107.064 282.972 /
|
||||
1 3 1 1 241.720 240.982 233.245 48.785 48.905 59.275 /
|
||||
1 3 2 1 241.720 240.982 233.246 48.785 48.912 59.855 /
|
||||
1 3 3 1 241.720 240.983 233.282 48.788 55.851 84.207 /
|
||||
1 3 4 1 240.505 239.776 232.219 57.512 61.540 143.753 /
|
||||
1 3 5 1 229.298 228.629 221.714 72.717 65.711 166.223 /
|
||||
1 3 6 1 222.188 221.564 215.137 92.631 73.168 190.908 /
|
||||
1 3 7 1 207.088 206.660 202.351 152.134 128.396 355.851 /
|
||||
1 4 1 1 241.720 240.982 233.245 48.785 48.905 59.275 /
|
||||
1 4 2 1 241.720 240.982 233.246 48.785 48.912 59.855 /
|
||||
1 4 3 1 241.720 240.983 233.282 48.788 55.851 84.207 /
|
||||
1 4 4 1 241.720 240.989 233.625 144.141 115.525 329.563 /
|
||||
1 4 5 1 240.508 239.813 233.362 192.179 199.676 1000.000 /
|
||||
1 4 6 1 238.882 238.221 232.105 193.415 202.407 1000.000 /
|
||||
1 4 7 1 230.267 229.818 225.748 200.889 219.120 1000.000 /
|
||||
1 5 1 1 241.720 240.982 233.245 48.785 48.905 59.275 /
|
||||
1 5 2 1 241.720 240.982 233.246 48.785 48.912 59.855 /
|
||||
1 5 3 1 241.720 240.983 233.282 48.788 55.851 84.207 /
|
||||
1 5 4 1 241.720 240.989 233.625 144.141 115.525 329.563 /
|
||||
1 5 5 1 241.723 241.044 236.022 225.283 324.028 1000.000 /
|
||||
1 5 6 1 241.727 241.102 237.543 237.240 580.061 1000.000 /
|
||||
1 5 7 1 240.705 240.291 238.459 245.685 1000.000 1000.000 /
|
||||
1 6 1 1 241.720 240.982 233.245 48.785 48.905 59.275 /
|
||||
1 6 2 1 241.720 240.982 233.246 48.785 48.912 59.855 /
|
||||
1 6 3 1 241.720 240.983 233.282 48.788 55.851 84.207 /
|
||||
1 6 4 1 241.720 240.989 233.625 144.141 115.525 329.563 /
|
||||
1 6 5 1 241.723 241.044 236.022 225.283 324.028 1000.000 /
|
||||
1 6 6 1 241.727 241.102 237.543 237.240 580.061 1000.000 /
|
||||
1 6 7 1 241.751 241.424 241.447 308.888 1000.000 1000.000 /
|
||||
1 7 1 1 241.720 240.982 233.245 48.785 48.905 59.275 /
|
||||
1 7 2 1 241.720 240.982 233.246 48.785 48.912 59.855 /
|
||||
1 7 3 1 241.720 240.983 233.282 48.788 55.851 84.207 /
|
||||
1 7 4 1 241.720 240.989 233.625 144.141 115.525 329.563 /
|
||||
1 7 5 1 241.723 241.044 236.022 225.283 324.028 1000.000 /
|
||||
1 7 6 1 241.727 241.102 237.543 237.240 580.061 1000.000 /
|
||||
1 7 7 1 241.751 241.424 241.447 308.888 1000.000 1000.000 /
|
||||
2 1 1 1 46.606 46.606 46.606 46.609 46.837 64.102 /
|
||||
2 1 2 1 46.606 46.606 46.606 46.609 46.837 64.102 /
|
||||
2 1 3 1 46.606 46.606 46.606 46.609 46.839 64.123 /
|
||||
2 1 4 1 206.273 205.754 200.367 57.897 58.016 68.247 /
|
||||
2 1 5 1 206.275 205.775 200.606 57.900 62.594 88.243 /
|
||||
2 1 6 1 206.277 205.798 200.870 67.112 66.812 110.729 /
|
||||
2 1 7 1 206.293 205.962 202.643 167.550 128.423 281.160 /
|
||||
2 2 1 1 251.774 251.138 244.554 60.430 60.535 69.617 /
|
||||
2 2 2 1 251.774 251.138 244.555 60.430 60.541 70.138 /
|
||||
2 2 3 1 250.515 249.883 243.349 60.371 60.528 77.344 /
|
||||
2 2 4 1 238.948 238.352 232.188 59.795 59.975 78.919 /
|
||||
2 2 5 1 215.431 214.913 209.567 58.492 66.702 95.558 /
|
||||
2 2 6 1 211.373 210.886 205.871 78.270 68.123 119.616 /
|
||||
2 2 7 1 207.536 207.204 203.881 169.168 131.068 289.120 /
|
||||
2 3 1 1 251.774 251.138 244.554 60.430 60.535 69.617 /
|
||||
2 3 2 1 251.774 251.138 244.555 60.430 60.541 70.138 /
|
||||
2 3 3 1 251.774 251.138 244.585 60.433 69.632 93.526 /
|
||||
2 3 4 1 250.515 249.887 243.461 108.506 76.625 151.455 /
|
||||
2 3 5 1 238.951 238.380 232.559 129.525 84.472 173.733 /
|
||||
2 3 6 1 231.653 231.125 225.766 143.385 93.729 198.193 /
|
||||
2 3 7 1 216.244 215.907 212.561 181.058 151.700 361.549 /
|
||||
2 4 1 1 251.774 251.138 244.554 60.430 60.535 69.617 /
|
||||
2 4 2 1 251.774 251.138 244.555 60.430 60.541 70.138 /
|
||||
2 4 3 1 251.774 251.138 244.585 60.433 69.632 93.526 /
|
||||
2 4 4 1 251.774 251.144 244.874 180.187 137.797 342.244 /
|
||||
2 4 5 1 250.518 249.923 244.455 211.245 215.562 1000.000 /
|
||||
2 4 6 1 248.836 248.274 243.129 212.156 218.291 1000.000 /
|
||||
2 4 7 1 239.947 239.594 236.425 217.700 233.617 1000.000 /
|
||||
2 5 1 1 251.774 251.138 244.554 60.430 60.535 69.617 /
|
||||
2 5 2 1 251.774 251.138 244.555 60.430 60.541 70.138 /
|
||||
2 5 3 1 251.774 251.138 244.585 60.433 69.632 93.526 /
|
||||
2 5 4 1 251.774 251.144 244.874 180.187 137.797 342.244 /
|
||||
2 5 5 1 251.777 251.195 246.919 238.187 334.200 1000.000 /
|
||||
2 5 6 1 251.781 251.249 248.238 248.543 588.448 1000.000 /
|
||||
2 5 7 1 250.722 250.397 248.980 256.423 1000.000 1000.000 /
|
||||
2 6 1 1 251.774 251.138 244.554 60.430 60.535 69.617 /
|
||||
2 6 2 1 251.774 251.138 244.555 60.430 60.541 70.138 /
|
||||
2 6 3 1 251.774 251.138 244.585 60.433 69.632 93.526 /
|
||||
2 6 4 1 251.774 251.144 244.874 180.187 137.797 342.244 /
|
||||
2 6 5 1 251.777 251.195 246.919 238.187 334.200 1000.000 /
|
||||
2 6 6 1 251.781 251.249 248.238 248.543 588.448 1000.000 /
|
||||
2 6 7 1 251.805 251.550 251.737 318.967 1000.000 1000.000 /
|
||||
2 7 1 1 251.774 251.138 244.554 60.430 60.535 69.617 /
|
||||
2 7 2 1 251.774 251.138 244.555 60.430 60.541 70.138 /
|
||||
2 7 3 1 251.774 251.138 244.585 60.433 69.632 93.526 /
|
||||
2 7 4 1 251.774 251.144 244.874 180.187 137.797 342.244 /
|
||||
2 7 5 1 251.777 251.195 246.919 238.187 334.200 1000.000 /
|
||||
2 7 6 1 251.781 251.249 248.238 248.543 588.448 1000.000 /
|
||||
2 7 7 1 251.805 251.550 251.737 318.967 1000.000 1000.000 /
|
||||
3 1 1 1 70.217 70.217 70.217 70.219 70.367 82.637 /
|
||||
3 1 2 1 70.217 70.217 70.217 70.219 70.367 82.637 /
|
||||
3 1 3 1 70.217 70.217 70.217 70.219 70.368 82.674 /
|
||||
3 1 4 1 224.227 223.829 219.756 81.175 81.272 89.613 /
|
||||
3 1 5 1 224.229 223.849 219.980 148.227 88.234 108.257 /
|
||||
3 1 6 1 224.231 223.872 220.228 178.222 93.569 130.735 /
|
||||
3 1 7 1 224.247 224.031 221.895 204.287 169.720 297.882 /
|
||||
3 2 1 1 271.869 271.365 266.215 86.480 83.935 91.352 /
|
||||
3 2 2 1 271.869 271.365 266.216 89.208 83.939 91.790 /
|
||||
3 2 3 1 270.518 270.018 264.912 113.880 83.914 100.805 /
|
||||
3 2 4 1 258.200 257.733 252.962 118.550 83.316 101.882 /
|
||||
3 2 5 1 233.638 233.242 229.214 170.060 90.593 115.322 /
|
||||
3 2 6 1 229.458 229.091 225.370 183.365 97.673 139.497 /
|
||||
3 2 7 1 225.519 225.302 223.164 205.720 172.189 305.242 /
|
||||
3 3 1 1 271.869 271.365 266.215 86.480 83.935 91.352 /
|
||||
3 3 2 1 271.869 271.365 266.216 89.208 83.939 91.790 /
|
||||
3 3 3 1 271.869 271.366 266.239 162.245 94.202 113.742 /
|
||||
3 3 4 1 270.519 270.021 265.004 211.621 111.012 170.691 /
|
||||
3 3 5 1 258.203 257.760 253.304 208.137 121.245 192.725 /
|
||||
3 3 6 1 250.515 250.113 246.085 207.284 132.211 216.629 /
|
||||
3 3 7 1 234.476 234.256 232.105 216.066 190.920 375.428 /
|
||||
3 4 1 1 271.869 271.365 266.215 86.480 83.935 91.352 /
|
||||
3 4 2 1 271.869 271.365 266.216 89.208 83.939 91.790 /
|
||||
3 4 3 1 271.869 271.366 266.239 162.245 94.202 113.742 /
|
||||
3 4 4 1 271.870 271.370 266.466 228.706 176.320 356.099 /
|
||||
3 4 5 1 270.522 270.056 265.824 243.464 244.318 1000.000 /
|
||||
3 4 6 1 268.719 268.286 264.365 243.125 246.635 1000.000 /
|
||||
3 4 7 1 259.301 259.070 257.024 245.967 259.876 1000.000 /
|
||||
3 5 1 1 271.869 271.365 266.215 86.480 83.935 91.352 /
|
||||
3 5 2 1 271.869 271.365 266.216 89.208 83.939 91.790 /
|
||||
3 5 3 1 271.869 271.366 266.239 162.245 94.202 113.742 /
|
||||
3 5 4 1 271.870 271.370 266.466 228.706 176.320 356.099 /
|
||||
3 5 5 1 271.873 271.417 268.093 261.952 354.731 1000.000 /
|
||||
3 5 6 1 271.876 271.466 269.160 270.189 606.390 1000.000 /
|
||||
3 5 7 1 270.755 270.543 269.658 277.400 1000.000 1000.000 /
|
||||
3 6 1 1 271.869 271.365 266.215 86.480 83.935 91.352 /
|
||||
3 6 2 1 271.869 271.365 266.216 89.208 83.939 91.790 /
|
||||
3 6 3 1 271.869 271.366 266.239 162.245 94.202 113.742 /
|
||||
3 6 4 1 271.870 271.370 266.466 228.706 176.320 356.099 /
|
||||
3 6 5 1 271.873 271.417 268.093 261.952 354.731 1000.000 /
|
||||
3 6 6 1 271.876 271.466 269.160 270.189 606.390 1000.000 /
|
||||
3 6 7 1 271.906 271.744 272.143 339.113 1000.000 1000.000 /
|
||||
3 7 1 1 271.869 271.365 266.215 86.480 83.935 91.352 /
|
||||
3 7 2 1 271.869 271.365 266.216 89.208 83.939 91.790 /
|
||||
3 7 3 1 271.869 271.366 266.239 162.245 94.202 113.742 /
|
||||
3 7 4 1 271.870 271.370 266.466 228.706 176.320 356.099 /
|
||||
3 7 5 1 271.873 271.417 268.093 261.952 354.731 1000.000 /
|
||||
3 7 6 1 271.876 271.466 269.160 270.189 606.390 1000.000 /
|
||||
3 7 7 1 271.906 271.744 272.143 339.113 1000.000 1000.000 /
|
||||
4 1 1 1 117.858 117.858 117.858 117.859 117.944 125.402 /
|
||||
4 1 2 1 117.858 117.858 117.858 117.859 117.945 125.391 /
|
||||
4 1 3 1 259.867 259.597 256.864 225.509 128.096 133.282 /
|
||||
4 1 4 1 259.867 259.599 256.885 225.953 128.107 134.242 /
|
||||
4 1 5 1 259.869 259.618 257.094 230.007 136.635 152.110 /
|
||||
4 1 6 1 259.871 259.640 257.323 233.872 153.698 178.341 /
|
||||
4 1 7 1 260.046 259.949 258.999 251.745 235.449 336.749 /
|
||||
4 2 1 1 312.032 311.669 308.001 266.577 131.080 136.581 /
|
||||
4 2 2 1 312.032 311.669 308.002 266.658 131.084 136.911 /
|
||||
4 2 3 1 310.475 310.115 306.487 266.076 131.039 147.440 /
|
||||
4 2 4 1 296.510 296.181 292.857 255.868 130.343 147.212 /
|
||||
4 2 5 1 269.773 269.509 266.849 238.777 142.238 161.200 /
|
||||
4 2 6 1 265.352 265.114 262.734 238.985 159.299 187.310 /
|
||||
4 2 7 1 261.397 261.300 260.350 253.149 237.446 344.079 /
|
||||
4 3 1 1 312.032 311.669 308.001 266.577 131.080 136.581 /
|
||||
4 3 2 1 312.032 311.669 308.002 266.658 131.084 136.911 /
|
||||
4 3 3 1 312.032 311.670 308.019 268.980 141.035 157.196 /
|
||||
4 3 4 1 310.475 310.118 306.560 272.361 175.578 217.310 /
|
||||
4 3 5 1 296.513 296.208 293.173 265.118 187.462 238.431 /
|
||||
4 3 6 1 287.997 287.731 285.089 261.693 199.271 260.930 /
|
||||
4 3 7 1 271.013 270.913 269.953 263.246 252.379 410.392 /
|
||||
4 4 1 1 312.032 311.669 308.001 266.577 131.080 136.581 /
|
||||
4 4 2 1 312.032 311.669 308.002 266.658 131.084 136.911 /
|
||||
4 4 3 1 312.032 311.670 308.019 268.980 141.035 157.196 /
|
||||
4 4 4 1 312.033 311.674 308.186 282.485 239.319 391.181 /
|
||||
4 4 5 1 310.478 310.152 307.214 294.038 294.546 1000.000 /
|
||||
4 4 6 1 308.407 308.114 305.481 293.852 296.379 1000.000 /
|
||||
4 4 7 1 298.207 298.103 297.192 293.685 306.387 1000.000 /
|
||||
4 5 1 1 312.032 311.669 308.001 266.577 131.080 136.581 /
|
||||
4 5 2 1 312.032 311.669 308.002 266.658 131.084 136.911 /
|
||||
4 5 3 1 312.032 311.670 308.019 268.980 141.035 157.196 /
|
||||
4 5 4 1 312.033 311.674 308.186 282.485 239.319 391.181 /
|
||||
4 5 5 1 312.036 311.717 309.399 305.578 394.896 1000.000 /
|
||||
4 5 6 1 312.039 311.761 310.210 312.044 644.179 1000.000 /
|
||||
4 5 7 1 310.831 310.736 310.401 318.473 1000.000 1000.000 /
|
||||
4 6 1 1 312.032 311.669 308.001 266.577 131.080 136.581 /
|
||||
4 6 2 1 312.032 311.669 308.002 266.658 131.084 136.911 /
|
||||
4 6 3 1 312.032 311.670 308.019 268.980 141.035 157.196 /
|
||||
4 6 4 1 312.033 311.674 308.186 282.485 239.319 391.181 /
|
||||
4 6 5 1 312.036 311.717 309.399 305.578 394.896 1000.000 /
|
||||
4 6 6 1 312.039 311.761 310.210 312.044 644.179 1000.000 /
|
||||
4 6 7 1 312.101 312.035 312.653 379.357 1000.000 1000.000 /
|
||||
4 7 1 1 312.032 311.669 308.001 266.577 131.080 136.581 /
|
||||
4 7 2 1 312.032 311.669 308.002 266.658 131.084 136.911 /
|
||||
4 7 3 1 312.032 311.670 308.019 268.980 141.035 157.196 /
|
||||
4 7 4 1 312.033 311.674 308.186 282.485 239.319 391.181 /
|
||||
4 7 5 1 312.036 311.717 309.399 305.578 394.896 1000.000 /
|
||||
4 7 6 1 312.039 311.761 310.210 312.044 644.179 1000.000 /
|
||||
4 7 7 1 312.101 312.035 312.653 379.357 1000.000 1000.000 /
|
||||
5 1 1 1 235.752 235.752 235.752 235.752 235.794 239.543 /
|
||||
5 1 2 1 235.752 235.752 235.752 235.752 235.794 239.545 /
|
||||
5 1 3 1 348.023 347.880 346.444 331.477 243.722 246.929 /
|
||||
5 1 4 1 348.023 347.882 346.464 331.765 243.729 247.518 /
|
||||
5 1 5 1 348.025 347.901 346.658 334.443 264.560 273.153 /
|
||||
5 1 6 1 348.027 347.921 346.871 337.077 286.870 301.177 /
|
||||
5 1 7 1 354.211 354.206 354.158 353.832 354.276 438.928 /
|
||||
5 2 1 1 412.337 412.109 409.821 386.210 247.525 250.962 /
|
||||
5 2 2 1 412.337 412.109 409.822 386.246 247.528 251.173 /
|
||||
5 2 3 1 410.131 409.907 407.659 384.702 248.035 260.658 /
|
||||
5 2 4 1 391.299 391.104 389.156 369.286 249.562 259.631 /
|
||||
5 2 5 1 358.991 358.856 357.507 344.421 272.927 283.472 /
|
||||
5 2 6 1 354.035 353.925 352.829 342.733 293.266 309.873 /
|
||||
5 2 7 1 355.707 355.702 355.653 355.330 355.849 445.423 /
|
||||
5 3 1 1 412.337 412.109 409.821 386.210 247.525 250.962 /
|
||||
5 3 2 1 412.337 412.109 409.822 386.246 247.528 251.173 /
|
||||
5 3 3 1 412.337 412.109 409.834 387.322 268.324 277.991 /
|
||||
5 3 4 1 410.132 409.910 407.719 387.860 311.178 337.629 /
|
||||
5 3 5 1 391.301 391.133 389.468 374.954 321.963 355.859 /
|
||||
5 3 6 1 380.534 380.403 379.114 368.338 331.774 374.889 /
|
||||
5 3 7 1 366.394 366.389 366.340 366.045 367.285 507.375 /
|
||||
5 4 1 1 412.337 412.109 409.821 386.210 247.525 250.962 /
|
||||
5 4 2 1 412.337 412.109 409.822 386.246 247.528 251.173 /
|
||||
5 4 3 1 412.337 412.109 409.834 387.322 268.324 277.991 /
|
||||
5 4 4 1 412.337 412.113 409.952 394.451 364.305 490.469 /
|
||||
5 4 5 1 410.135 409.946 408.258 400.746 405.194 1000.000 /
|
||||
5 4 6 1 407.238 407.085 405.724 399.792 405.892 1000.000 /
|
||||
5 4 7 1 396.913 396.908 396.865 396.867 410.697 1000.000 /
|
||||
5 5 1 1 412.337 412.109 409.821 386.210 247.525 250.962 /
|
||||
5 5 2 1 412.337 412.109 409.822 386.246 247.528 251.173 /
|
||||
5 5 3 1 412.337 412.109 409.834 387.322 268.324 277.991 /
|
||||
5 5 4 1 412.337 412.113 409.952 394.451 364.305 490.469 /
|
||||
5 5 5 1 412.341 412.155 410.817 408.983 495.353 1000.000 /
|
||||
5 5 6 1 412.344 412.198 411.407 414.071 741.888 1000.000 /
|
||||
5 5 7 1 411.177 411.175 411.262 419.597 1000.000 1000.000 /
|
||||
5 6 1 1 412.337 412.109 409.821 386.210 247.525 250.962 /
|
||||
5 6 2 1 412.337 412.109 409.822 386.246 247.528 251.173 /
|
||||
5 6 3 1 412.337 412.109 409.834 387.322 268.324 277.991 /
|
||||
5 6 4 1 412.337 412.113 409.952 394.451 364.305 490.469 /
|
||||
5 6 5 1 412.341 412.155 410.817 408.983 495.353 1000.000 /
|
||||
5 6 6 1 412.344 412.198 411.407 414.071 741.888 1000.000 /
|
||||
5 6 7 1 412.615 412.623 413.412 479.862 1000.000 1000.000 /
|
||||
5 7 1 1 412.337 412.109 409.821 386.210 247.525 250.962 /
|
||||
5 7 2 1 412.337 412.109 409.822 386.246 247.528 251.173 /
|
||||
5 7 3 1 412.337 412.109 409.834 387.322 268.324 277.991 /
|
||||
5 7 4 1 412.337 412.113 409.952 394.451 364.305 490.469 /
|
||||
5 7 5 1 412.341 412.155 410.817 408.983 495.353 1000.000 /
|
||||
5 7 6 1 412.344 412.198 411.407 414.071 741.888 1000.000 /
|
||||
5 7 7 1 412.615 412.623 413.412 479.862 1000.000 1000.000 /
|
||||
6 1 1 1 292.633 292.633 292.633 292.634 292.668 295.782 /
|
||||
6 1 2 1 292.633 292.633 292.633 292.634 292.668 295.784 /
|
||||
6 1 3 1 391.937 391.823 390.683 378.955 299.593 302.378 /
|
||||
6 1 4 1 391.937 391.825 390.702 379.222 299.598 302.888 /
|
||||
6 1 5 1 391.939 391.844 390.895 381.711 323.519 330.898 /
|
||||
6 1 6 1 391.941 391.864 391.106 384.155 345.701 358.355 /
|
||||
6 1 7 1 404.456 404.456 404.456 404.473 405.561 489.126 /
|
||||
6 2 1 1 462.444 462.245 460.257 439.972 303.815 306.803 /
|
||||
6 2 2 1 462.444 462.245 460.257 440.003 303.817 307.191 /
|
||||
6 2 3 1 459.843 459.649 457.702 438.048 305.136 315.987 /
|
||||
6 2 4 1 438.238 438.075 436.438 419.951 307.927 314.598 /
|
||||
6 2 5 1 403.283 403.178 402.133 392.142 332.194 341.328 /
|
||||
6 2 6 1 398.125 398.045 397.249 390.028 352.041 366.826 /
|
||||
6 2 7 1 405.953 405.953 405.953 405.971 407.117 495.594 /
|
||||
6 3 1 1 462.444 462.245 460.257 439.972 303.815 306.803 /
|
||||
6 3 2 1 462.444 462.245 460.257 440.003 303.817 307.191 /
|
||||
6 3 3 1 462.444 462.246 460.269 440.907 327.975 336.271 /
|
||||
6 3 4 1 459.844 459.652 457.762 440.762 370.743 394.539 /
|
||||
6 3 5 1 438.241 438.105 436.763 425.179 380.440 411.424 /
|
||||
6 3 6 1 426.320 426.222 425.259 417.306 389.049 429.077 /
|
||||
6 3 7 1 416.651 416.651 416.652 416.678 418.410 557.416 /
|
||||
6 4 1 1 462.444 462.245 460.257 439.972 303.815 306.803 /
|
||||
6 4 2 1 462.444 462.245 460.257 440.003 303.817 307.191 /
|
||||
6 4 3 1 462.444 462.246 460.269 440.907 327.975 336.271 /
|
||||
6 4 4 1 462.444 462.250 460.379 446.999 420.197 541.182 /
|
||||
6 4 5 1 459.847 459.691 458.296 452.103 457.235 1000.000 /
|
||||
6 4 6 1 456.454 456.337 455.294 450.770 457.577 1000.000 /
|
||||
6 4 7 1 447.198 447.198 447.201 447.384 461.282 1000.000 /
|
||||
6 5 1 1 462.444 462.245 460.257 439.972 303.815 306.803 /
|
||||
6 5 2 1 462.444 462.245 460.257 440.003 303.817 307.191 /
|
||||
6 5 3 1 462.444 462.246 460.269 440.907 327.975 336.271 /
|
||||
6 5 4 1 462.444 462.250 460.379 446.999 420.197 541.182 /
|
||||
6 5 5 1 462.448 462.294 461.186 459.824 545.545 1000.000 /
|
||||
6 5 6 1 462.452 462.340 461.739 464.617 791.300 1000.000 /
|
||||
6 5 7 1 461.468 461.470 461.580 469.937 1000.000 1000.000 /
|
||||
6 6 1 1 462.444 462.245 460.257 439.972 303.815 306.803 /
|
||||
6 6 2 1 462.444 462.245 460.257 440.003 303.817 307.191 /
|
||||
6 6 3 1 462.444 462.246 460.269 440.907 327.975 336.271 /
|
||||
6 6 4 1 462.444 462.250 460.379 446.999 420.197 541.182 /
|
||||
6 6 5 1 462.448 462.294 461.186 459.824 545.545 1000.000 /
|
||||
6 6 6 1 462.452 462.340 461.739 464.617 791.300 1000.000 /
|
||||
6 6 7 1 462.906 462.918 463.715 530.334 1000.000 1000.000 /
|
||||
6 7 1 1 462.444 462.245 460.257 439.972 303.815 306.803 /
|
||||
6 7 2 1 462.444 462.245 460.257 440.003 303.817 307.191 /
|
||||
6 7 3 1 462.444 462.246 460.269 440.907 327.975 336.271 /
|
||||
6 7 4 1 462.444 462.250 460.379 446.999 420.197 541.182 /
|
||||
6 7 5 1 462.448 462.294 461.186 459.824 545.545 1000.000 /
|
||||
6 7 6 1 462.452 462.340 461.739 464.617 791.300 1000.000 /
|
||||
6 7 7 1 462.906 462.918 463.715 530.334 1000.000 1000.000 /
|
||||
-3603
File diff suppressed because it is too large
Load Diff
-1624
File diff suppressed because it is too large
Load Diff
Vendored
-2362
File diff suppressed because it is too large
Load Diff
Vendored
-2362
File diff suppressed because it is too large
Load Diff
Vendored
-2362
File diff suppressed because it is too large
Load Diff
Vendored
-2398
File diff suppressed because it is too large
Load Diff
Vendored
-2362
File diff suppressed because it is too large
Load Diff
Vendored
-2110
File diff suppressed because it is too large
Load Diff
-9
@@ -1,9 +0,0 @@
|
||||
-- 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" )
|
||||
Vendored
-117
@@ -1,117 +0,0 @@
|
||||
-- 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
|
||||
/
|
||||
Vendored
-131
@@ -1,131 +0,0 @@
|
||||
-- This reservoir simulation deck is made available under the Open Database
|
||||
-- License: http://opendatacommons.org/licenses/odbl/1.0/. Any rights in
|
||||
-- individual contents of the database are licensed under the Database Contents
|
||||
-- License: http://opendatacommons.org/licenses/dbcl/1.0/
|
||||
|
||||
-- Copyright (C) 2015 Statoil
|
||||
|
||||
--
|
||||
-- Generated by : Prosper 9.3 - License#:4474 - Sep 17 2006 14:05:16
|
||||
-- Generated on : 12 Feb 07 08:41
|
||||
-- Input File : Y:\Project\norne6\prod\gap\WI\WIF.PIPE.OUT
|
||||
-- Output File : Y:\Project\norne6\prod\gap\WI\WIFnew.PIPE.Ecl
|
||||
--
|
||||
--
|
||||
-- Fluid : Water
|
||||
-- PVT Method : Black Oil
|
||||
-- Equation Of State :
|
||||
-- Separator : Single-Stage
|
||||
-- Emulsions : No
|
||||
-- Hydrates : Disable Warning
|
||||
-- Water Viscosity : Use Default Correlation
|
||||
-- Water Vapour : No Calculations
|
||||
-- Viscosity Model : Newtonian Fluid
|
||||
--
|
||||
-- Flow Type :
|
||||
-- Well Type : Water Injector
|
||||
--
|
||||
-- Artificial Lift : None
|
||||
-- Lift Type :
|
||||
--
|
||||
-- Predicting : Pressure and Temperature (offshore)
|
||||
-- Temperature Model : Rough Approximation
|
||||
-- Range : PipeLine Only
|
||||
--
|
||||
-- Completion :
|
||||
-- Gravel Pack :
|
||||
--
|
||||
-- Inflow Type :
|
||||
-- Gas Coning :
|
||||
--
|
||||
-- Company : Statoil
|
||||
-- Field : Norne
|
||||
-- Location : Nordland II
|
||||
-- Well : WIC
|
||||
-- Platform : Norne FPSO
|
||||
-- Analyst : sihun
|
||||
-- Date : 05 Feb 02 12:50
|
||||
--
|
||||
--
|
||||
--
|
||||
-- Surface Equipment Correlation : Petroleum Experts 4 - (0.925) (1.066)
|
||||
-- Vertical Lift Correlation : Petroleum Experts 2
|
||||
--
|
||||
-- Rate Method : User Selected
|
||||
-- Rate Type : Liquid Rates
|
||||
--
|
||||
-- First Node : 1 Manifold 0 (m)
|
||||
-- Last Node : 4 Xmas Tree 394 (m)
|
||||
--
|
||||
-- Sensitivity Variable 1 : First Node Pressure
|
||||
--
|
||||
--
|
||||
-- PROSPER Lift Curves For ECLIPSE Simulator (Water - Water Injector Well) (Units System - METRIC)
|
||||
|
||||
|
||||
VFPINJ
|
||||
|
||||
-- Table Datum Depth Rate Type
|
||||
-- ----- ----------- ---------
|
||||
11 394 'WAT' /
|
||||
|
||||
|
||||
-- 'WAT' units - SM3/DAY
|
||||
0.0 2857.1 5714.3 8571.4 11428.6
|
||||
14285.7 20000.0 22857.1 25714.3 28571.4
|
||||
31428.6 34285.7 37142.9 40000.0 55000.0 /
|
||||
|
||||
-- 'THP' units - BARSA
|
||||
101.01 145.46 167.68 189.90 212.12
|
||||
234.35 256.57 278.79 301.01 401.01 /
|
||||
|
||||
1 137.81 136.92 134.49 130.55 125.10
|
||||
118.16 99.74 88.28 75.30 60.81
|
||||
44.81 27.28 8.24 0.0 0.0
|
||||
|
||||
/
|
||||
2 182.33 181.43 179.01 175.08 169.65
|
||||
162.71 144.34 132.89 119.94 105.48
|
||||
89.51 72.02 53.01 32.48 0.0
|
||||
|
||||
/
|
||||
3 204.59 203.69 201.27 197.34 191.92
|
||||
184.99 166.63 155.20 142.26 127.82
|
||||
111.86 94.39 75.40 54.89 0.0
|
||||
|
||||
/
|
||||
4 226.85 225.95 223.53 219.61 214.19
|
||||
207.27 188.93 177.51 164.58 150.15
|
||||
134.21 116.75 97.78 77.29 0.0
|
||||
|
||||
/
|
||||
5 249.11 248.21 245.80 241.88 236.46
|
||||
229.55 211.23 199.82 186.90 172.49
|
||||
156.56 139.12 120.17 99.70 0.0
|
||||
|
||||
/
|
||||
6 271.37 270.47 268.06 264.14 258.73
|
||||
251.82 233.52 222.12 209.22 194.82
|
||||
178.91 161.49 142.56 122.11 0.0
|
||||
|
||||
/
|
||||
7 293.63 292.73 290.32 286.41 281.00
|
||||
274.10 255.82 244.43 231.55 217.16
|
||||
201.26 183.86 164.94 144.51 12.22
|
||||
|
||||
/
|
||||
8 315.89 314.99 312.58 308.67 303.27
|
||||
296.38 278.12 266.74 253.87 239.49
|
||||
223.61 206.23 187.33 166.92 34.75
|
||||
|
||||
/
|
||||
9 338.15 337.25 334.84 330.94 325.55
|
||||
318.66 300.41 289.05 276.19 261.83
|
||||
245.96 228.60 209.72 189.33 57.29
|
||||
|
||||
/
|
||||
10 438.32 437.42 435.03 431.14 425.77
|
||||
418.92 400.75 389.44 376.63 362.34
|
||||
346.54 329.25 310.46 290.16 158.72
|
||||
|
||||
/
|
||||
-1338
File diff suppressed because it is too large
Load Diff
-1338
File diff suppressed because it is too large
Load Diff
-646
@@ -1,646 +0,0 @@
|
||||
-- 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
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 29 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 32 KiB |
@@ -1,73 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import sys
|
||||
from os.path import isdir, join
|
||||
from datetime import datetime as dt
|
||||
|
||||
import opm.io
|
||||
from opm.io import Parser, ParseContext
|
||||
from opm.io.ecl_state import EclipseState
|
||||
from opm.io.schedule import Schedule
|
||||
from opm.io.summary import SummaryConfig
|
||||
|
||||
|
||||
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()
|
||||
ps = ParseContext([('PARSE_RANDOM_SLASH', opm.io.action.ignore)])
|
||||
deck = Parser().parse(fname, ps)
|
||||
e = dt.now()
|
||||
print('Parsing took %s sec' % (e - s).seconds)
|
||||
return deck
|
||||
|
||||
def swof_krw(ecl):
|
||||
assert('SWOF' in ecl.tables())
|
||||
krw = lambda x: ecl.tables().evaluate('SWOF', 0, 'KRW', x)
|
||||
krow = lambda x: ecl.tables().evaluate('SWOF', 0, 'KROW', x)
|
||||
pcow = lambda x: ecl.tables().evaluate('SWOF', 0, 'PCOW', x)
|
||||
|
||||
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():
|
||||
deck = parse(join(opmdatadir(), 'norne/NORNE_ATW2013.DATA'))
|
||||
es = EclipseState(deck)
|
||||
sc = Schedule(deck, es)
|
||||
wp = sc.get_wells(100)[20]
|
||||
wi = sc.get_wells(100)[19]
|
||||
fn = es.faultNames()
|
||||
f0 = fn[0]
|
||||
fl = es.faultFaces(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)
|
||||
@@ -1,74 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import sys
|
||||
from os.path import isdir, join
|
||||
from datetime import datetime as dt
|
||||
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
import opm.io
|
||||
from opm.io.parser import Parser, ParseContext
|
||||
from opm.io.ecl_state import EclipseState
|
||||
from opm.io.schedule import Schedule
|
||||
|
||||
|
||||
def plotswof(ecl):
|
||||
assert('SWOF' in ecl.tables())
|
||||
krw = lambda x: ecl.tables().evaluate('SWOF', 0, 'KRW', x)
|
||||
krow = lambda x: ecl.tables().evaluate('SWOF', 0, 'KROW', x)
|
||||
pcow = lambda x: ecl.tables().evaluate('SWOF', 0, 'PCOW', x)
|
||||
|
||||
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()
|
||||
ps = ParseContext([('PARSE_RANDOM_SLASH', opm.io.action.ignore)])
|
||||
deck = Parser().parse(fname, ps)
|
||||
es = EclipseState(deck)
|
||||
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)
|
||||
@@ -1,22 +0,0 @@
|
||||
from opm.io.parser import Parser
|
||||
from opm.io.ecl_state import EclipseState
|
||||
from opm.io.schedule import Schedule
|
||||
|
||||
def main():
|
||||
deck = Parser().parse('../tests/spe3/SPE3CASE1.DATA')
|
||||
es = EclipseState(deck)
|
||||
sc = Schedule(deck, es)
|
||||
wp = sc.get_wells(0)[0] # producer
|
||||
wi = sc.get_wells(0)[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 sc.get_wells(i)[0].isproducer() or sc.get_wells(i)[0].isinjector():
|
||||
print('wp is not producer in step %s' % sc.timesteps[i])
|
||||
if not sc.get_wells(i)[1].isinjector() or sc.get_wells(i)[1].isproducer():
|
||||
print('wi is not injector in step %s' % sc.timesteps[i])
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
@@ -1,46 +0,0 @@
|
||||
import sys
|
||||
import os
|
||||
import shutil
|
||||
import compileall
|
||||
import filecmp
|
||||
|
||||
src_root = sys.argv[1]
|
||||
target_prefix = sys.argv[2]
|
||||
install = int(sys.argv[3])
|
||||
target_destdir = os.environ.get("DESTDIR", "")
|
||||
if not target_destdir is "":
|
||||
target_prefix = target_destdir + target_prefix
|
||||
|
||||
if not os.path.isdir(src_root):
|
||||
sys.exit("No such directory: {}".format(src_root))
|
||||
|
||||
|
||||
|
||||
path_offset = len(os.path.dirname(src_root))
|
||||
for path,_ ,fnames in os.walk(src_root):
|
||||
target_path = os.path.join(target_prefix, path[path_offset+1:])
|
||||
if not os.path.isdir(target_path):
|
||||
os.makedirs(target_path)
|
||||
|
||||
for f in fnames:
|
||||
_, ext = os.path.splitext(f)
|
||||
if ext == ".pyc":
|
||||
continue
|
||||
|
||||
if ext == ".in":
|
||||
continue
|
||||
|
||||
src_file = os.path.join(path, f)
|
||||
target_file = os.path.join(target_path, f)
|
||||
if not os.path.isfile(target_file):
|
||||
shutil.copy(src_file, target_file)
|
||||
elif not filecmp.cmp(src_file, target_file):
|
||||
shutil.copy(src_file, target_file)
|
||||
|
||||
|
||||
if install:
|
||||
print("-- Installing: {}".format(target_file))
|
||||
|
||||
if install:
|
||||
target_root = os.path.join(target_prefix, os.path.basename(src_root))
|
||||
compileall.compile_dir(target_root)
|
||||
@@ -1,70 +0,0 @@
|
||||
version: 1.0.{build}
|
||||
image:
|
||||
- Visual Studio 2017
|
||||
- Visual Studio 2015
|
||||
test: off
|
||||
skip_branch_with_pr: true
|
||||
build:
|
||||
parallel: true
|
||||
platform:
|
||||
- x64
|
||||
- x86
|
||||
environment:
|
||||
matrix:
|
||||
- PYTHON: 36
|
||||
CPP: 14
|
||||
CONFIG: Debug
|
||||
- PYTHON: 27
|
||||
CPP: 14
|
||||
CONFIG: Debug
|
||||
- CONDA: 36
|
||||
CPP: latest
|
||||
CONFIG: Release
|
||||
matrix:
|
||||
exclude:
|
||||
- image: Visual Studio 2015
|
||||
platform: x86
|
||||
- image: Visual Studio 2015
|
||||
CPP: latest
|
||||
- image: Visual Studio 2017
|
||||
CPP: latest
|
||||
platform: x86
|
||||
install:
|
||||
- ps: |
|
||||
if ($env:PLATFORM -eq "x64") { $env:CMAKE_ARCH = "x64" }
|
||||
if ($env:APPVEYOR_JOB_NAME -like "*Visual Studio 2017*") {
|
||||
$env:CMAKE_GENERATOR = "Visual Studio 15 2017"
|
||||
$env:CMAKE_INCLUDE_PATH = "C:\Libraries\boost_1_64_0"
|
||||
$env:CXXFLAGS = "-permissive-"
|
||||
} else {
|
||||
$env:CMAKE_GENERATOR = "Visual Studio 14 2015"
|
||||
}
|
||||
if ($env:PYTHON) {
|
||||
if ($env:PLATFORM -eq "x64") { $env:PYTHON = "$env:PYTHON-x64" }
|
||||
$env:PATH = "C:\Python$env:PYTHON\;C:\Python$env:PYTHON\Scripts\;$env:PATH"
|
||||
python -W ignore -m pip install --upgrade pip wheel
|
||||
python -W ignore -m pip install pytest numpy --no-warn-script-location
|
||||
} elseif ($env:CONDA) {
|
||||
if ($env:CONDA -eq "27") { $env:CONDA = "" }
|
||||
if ($env:PLATFORM -eq "x64") { $env:CONDA = "$env:CONDA-x64" }
|
||||
$env:PATH = "C:\Miniconda$env:CONDA\;C:\Miniconda$env:CONDA\Scripts\;$env:PATH"
|
||||
$env:PYTHONHOME = "C:\Miniconda$env:CONDA"
|
||||
conda --version
|
||||
conda install -y -q pytest numpy scipy
|
||||
}
|
||||
- ps: |
|
||||
Start-FileDownload 'http://bitbucket.org/eigen/eigen/get/3.3.3.zip'
|
||||
7z x 3.3.3.zip -y > $null
|
||||
$env:CMAKE_INCLUDE_PATH = "eigen-eigen-67e894c6cd8f;$env:CMAKE_INCLUDE_PATH"
|
||||
build_script:
|
||||
- cmake -G "%CMAKE_GENERATOR%" -A "%CMAKE_ARCH%"
|
||||
-DPYBIND11_CPP_STANDARD=/std:c++%CPP%
|
||||
-DPYBIND11_WERROR=ON
|
||||
-DDOWNLOAD_CATCH=ON
|
||||
-DCMAKE_SUPPRESS_REGENERATION=1
|
||||
.
|
||||
- set MSBuildLogger="C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
||||
- cmake --build . --config %CONFIG% --target pytest -- /m /v:m /logger:%MSBuildLogger%
|
||||
- cmake --build . --config %CONFIG% --target cpptest -- /m /v:m /logger:%MSBuildLogger%
|
||||
- if "%CPP%"=="latest" (cmake --build . --config %CONFIG% --target test_cmake_build -- /m /v:m /logger:%MSBuildLogger%)
|
||||
on_failure: if exist "tests\test_cmake_build" type tests\test_cmake_build\*.log*
|
||||
@@ -1,38 +0,0 @@
|
||||
CMakeCache.txt
|
||||
CMakeFiles
|
||||
Makefile
|
||||
cmake_install.cmake
|
||||
.DS_Store
|
||||
*.so
|
||||
*.pyd
|
||||
*.dll
|
||||
*.sln
|
||||
*.sdf
|
||||
*.opensdf
|
||||
*.vcxproj
|
||||
*.filters
|
||||
example.dir
|
||||
Win32
|
||||
x64
|
||||
Release
|
||||
Debug
|
||||
.vs
|
||||
CTestTestfile.cmake
|
||||
Testing
|
||||
autogen
|
||||
MANIFEST
|
||||
/.ninja_*
|
||||
/*.ninja
|
||||
/docs/.build
|
||||
*.py[co]
|
||||
*.egg-info
|
||||
*~
|
||||
.*.swp
|
||||
.DS_Store
|
||||
/dist
|
||||
/build
|
||||
/cmake/
|
||||
.cache/
|
||||
sosize-*.txt
|
||||
pybind11Config*.cmake
|
||||
pybind11Targets.cmake
|
||||
@@ -1,3 +0,0 @@
|
||||
[submodule "tools/clang"]
|
||||
path = tools/clang
|
||||
url = ../../wjakob/clang-cindex-python3
|
||||
@@ -1,3 +0,0 @@
|
||||
python:
|
||||
version: 3
|
||||
requirements_file: docs/requirements.txt
|
||||
@@ -1,280 +0,0 @@
|
||||
language: cpp
|
||||
matrix:
|
||||
include:
|
||||
# This config does a few things:
|
||||
# - Checks C++ and Python code styles (check-style.sh and flake8).
|
||||
# - Makes sure sphinx can build the docs without any errors or warnings.
|
||||
# - Tests setup.py sdist and install (all header files should be present).
|
||||
# - Makes sure that everything still works without optional deps (numpy/scipy/eigen) and
|
||||
# also tests the automatic discovery functions in CMake (Python version, C++ standard).
|
||||
- os: linux
|
||||
dist: xenial # Necessary to run doxygen 1.8.15
|
||||
name: Style, docs, and pip
|
||||
cache: false
|
||||
before_install:
|
||||
- pyenv global $(pyenv whence 2to3) # activate all python versions
|
||||
- PY_CMD=python3
|
||||
- $PY_CMD -m pip install --user --upgrade pip wheel setuptools
|
||||
install:
|
||||
- $PY_CMD -m pip install --user --upgrade sphinx sphinx_rtd_theme breathe flake8 pep8-naming pytest
|
||||
- curl -fsSL https://sourceforge.net/projects/doxygen/files/rel-1.8.15/doxygen-1.8.15.linux.bin.tar.gz/download | tar xz
|
||||
- export PATH="$PWD/doxygen-1.8.15/bin:$PATH"
|
||||
script:
|
||||
- tools/check-style.sh
|
||||
- flake8
|
||||
- $PY_CMD -m sphinx -W -b html docs docs/.build
|
||||
- |
|
||||
# Make sure setup.py distributes and installs all the headers
|
||||
$PY_CMD setup.py sdist
|
||||
$PY_CMD -m pip install --user -U ./dist/*
|
||||
installed=$($PY_CMD -c "import pybind11; print(pybind11.get_include(True) + '/pybind11')")
|
||||
diff -rq $installed ./include/pybind11
|
||||
- |
|
||||
# Barebones build
|
||||
cmake -DCMAKE_BUILD_TYPE=Debug -DPYBIND11_WERROR=ON -DDOWNLOAD_CATCH=ON -DPYTHON_EXECUTABLE=$(which $PY_CMD) .
|
||||
make pytest -j 2
|
||||
make cpptest -j 2
|
||||
# The following are regular test configurations, including optional dependencies.
|
||||
# With regard to each other they differ in Python version, C++ standard and compiler.
|
||||
- os: linux
|
||||
dist: trusty
|
||||
name: Python 2.7, c++11, gcc 4.8
|
||||
env: PYTHON=2.7 CPP=11 GCC=4.8
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- cmake=2.\*
|
||||
- cmake-data=2.\*
|
||||
- os: linux
|
||||
dist: trusty
|
||||
name: Python 3.6, c++11, gcc 4.8
|
||||
env: PYTHON=3.6 CPP=11 GCC=4.8
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- deadsnakes
|
||||
packages:
|
||||
- python3.6-dev
|
||||
- python3.6-venv
|
||||
- cmake=2.\*
|
||||
- cmake-data=2.\*
|
||||
- os: linux
|
||||
dist: trusty
|
||||
env: PYTHON=2.7 CPP=14 GCC=6 CMAKE=1
|
||||
name: Python 2.7, c++14, gcc 4.8, CMake test
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- g++-6
|
||||
- os: linux
|
||||
dist: trusty
|
||||
name: Python 3.5, c++14, gcc 6, Debug build
|
||||
# N.B. `ensurepip` could be installed transitively by `python3.5-venv`, but
|
||||
# seems to have apt conflicts (at least for Trusty). Use Docker instead.
|
||||
services: docker
|
||||
env: DOCKER=debian:stretch PYTHON=3.5 CPP=14 GCC=6 DEBUG=1
|
||||
- os: linux
|
||||
dist: xenial
|
||||
env: PYTHON=3.6 CPP=17 GCC=7
|
||||
name: Python 3.6, c++17, gcc 7
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- deadsnakes
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- g++-7
|
||||
- python3.6-dev
|
||||
- python3.6-venv
|
||||
- os: linux
|
||||
dist: xenial
|
||||
env: PYTHON=3.6 CPP=17 CLANG=7
|
||||
name: Python 3.6, c++17, Clang 7
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- deadsnakes
|
||||
- llvm-toolchain-xenial-7
|
||||
packages:
|
||||
- python3.6-dev
|
||||
- python3.6-venv
|
||||
- clang-7
|
||||
- libclang-7-dev
|
||||
- llvm-7-dev
|
||||
- lld-7
|
||||
- libc++-7-dev
|
||||
- libc++abi-7-dev # Why is this necessary???
|
||||
- os: osx
|
||||
name: Python 2.7, c++14, AppleClang 7.3, CMake test
|
||||
osx_image: xcode7.3
|
||||
env: PYTHON=2.7 CPP=14 CLANG CMAKE=1
|
||||
- os: osx
|
||||
name: Python 3.7, c++14, AppleClang 9, Debug build
|
||||
osx_image: xcode9
|
||||
env: PYTHON=3.7 CPP=14 CLANG DEBUG=1
|
||||
# Test a PyPy 2.7 build
|
||||
- os: linux
|
||||
dist: trusty
|
||||
env: PYPY=5.8 PYTHON=2.7 CPP=11 GCC=4.8
|
||||
name: PyPy 5.8, Python 2.7, c++11, gcc 4.8
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- libblas-dev
|
||||
- liblapack-dev
|
||||
- gfortran
|
||||
# Build in 32-bit mode and tests against the CMake-installed version
|
||||
- os: linux
|
||||
dist: trusty
|
||||
services: docker
|
||||
env: DOCKER=i386/debian:stretch PYTHON=3.5 CPP=14 GCC=6 INSTALL=1
|
||||
name: Python 3.4, c++14, gcc 6, 32-bit
|
||||
script:
|
||||
- |
|
||||
# Consolidated 32-bit Docker Build + Install
|
||||
set -ex
|
||||
$SCRIPT_RUN_PREFIX sh -c "
|
||||
set -ex
|
||||
cmake ${CMAKE_EXTRA_ARGS} -DPYBIND11_INSTALL=1 -DPYBIND11_TEST=0 .
|
||||
make install
|
||||
cp -a tests /pybind11-tests
|
||||
mkdir /build-tests && cd /build-tests
|
||||
cmake ../pybind11-tests ${CMAKE_EXTRA_ARGS} -DPYBIND11_WERROR=ON
|
||||
make pytest -j 2"
|
||||
set +ex
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.local/bin
|
||||
- $HOME/.local/lib
|
||||
- $HOME/.local/include
|
||||
- $HOME/Library/Python
|
||||
before_install:
|
||||
- |
|
||||
# Configure build variables
|
||||
set -ex
|
||||
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
|
||||
if [ -n "$CLANG" ]; then
|
||||
export CXX=clang++-$CLANG CC=clang-$CLANG
|
||||
EXTRA_PACKAGES+=" clang-$CLANG llvm-$CLANG-dev"
|
||||
else
|
||||
if [ -z "$GCC" ]; then GCC=4.8
|
||||
else EXTRA_PACKAGES+=" g++-$GCC"
|
||||
fi
|
||||
export CXX=g++-$GCC CC=gcc-$GCC
|
||||
fi
|
||||
elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||
export CXX=clang++ CC=clang;
|
||||
fi
|
||||
if [ -n "$CPP" ]; then CPP=-std=c++$CPP; fi
|
||||
if [ "${PYTHON:0:1}" = "3" ]; then PY=3; fi
|
||||
if [ -n "$DEBUG" ]; then CMAKE_EXTRA_ARGS+=" -DCMAKE_BUILD_TYPE=Debug"; fi
|
||||
set +ex
|
||||
- |
|
||||
# Initialize environment
|
||||
set -ex
|
||||
if [ -n "$DOCKER" ]; then
|
||||
docker pull $DOCKER
|
||||
|
||||
containerid=$(docker run --detach --tty \
|
||||
--volume="$PWD":/pybind11 --workdir=/pybind11 \
|
||||
--env="CC=$CC" --env="CXX=$CXX" --env="DEBIAN_FRONTEND=$DEBIAN_FRONTEND" \
|
||||
--env=GCC_COLORS=\ \
|
||||
$DOCKER)
|
||||
SCRIPT_RUN_PREFIX="docker exec --tty $containerid"
|
||||
$SCRIPT_RUN_PREFIX sh -c 'for s in 0 15; do sleep $s; apt-get update && apt-get -qy dist-upgrade && break; done'
|
||||
else
|
||||
if [ "$PYPY" = "5.8" ]; then
|
||||
curl -fSL https://bitbucket.org/pypy/pypy/downloads/pypy2-v5.8.0-linux64.tar.bz2 | tar xj
|
||||
PY_CMD=$(echo `pwd`/pypy2-v5.8.0-linux64/bin/pypy)
|
||||
CMAKE_EXTRA_ARGS+=" -DPYTHON_EXECUTABLE:FILEPATH=$PY_CMD"
|
||||
else
|
||||
PY_CMD=python$PYTHON
|
||||
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
|
||||
if [ "$PY" = "3" ]; then
|
||||
brew update && brew upgrade python
|
||||
else
|
||||
curl -fsSL https://bootstrap.pypa.io/get-pip.py | $PY_CMD - --user
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if [ "$PY" = 3 ] || [ -n "$PYPY" ]; then
|
||||
$PY_CMD -m ensurepip --user
|
||||
fi
|
||||
$PY_CMD --version
|
||||
$PY_CMD -m pip install --user --upgrade pip wheel
|
||||
fi
|
||||
set +ex
|
||||
install:
|
||||
- |
|
||||
# Install dependencies
|
||||
set -ex
|
||||
cmake --version
|
||||
if [ -n "$DOCKER" ]; then
|
||||
if [ -n "$DEBUG" ]; then
|
||||
PY_DEBUG="python$PYTHON-dbg python$PY-scipy-dbg"
|
||||
CMAKE_EXTRA_ARGS+=" -DPYTHON_EXECUTABLE=/usr/bin/python${PYTHON}dm"
|
||||
fi
|
||||
$SCRIPT_RUN_PREFIX sh -c "for s in 0 15; do sleep \$s; \
|
||||
apt-get -qy --no-install-recommends install \
|
||||
$PY_DEBUG python$PYTHON-dev python$PY-pytest python$PY-scipy \
|
||||
libeigen3-dev libboost-dev cmake make ${EXTRA_PACKAGES} && break; done"
|
||||
else
|
||||
|
||||
if [ "$CLANG" = "7" ]; then
|
||||
export CXXFLAGS="-stdlib=libc++"
|
||||
fi
|
||||
|
||||
export NPY_NUM_BUILD_JOBS=2
|
||||
echo "Installing pytest, numpy, scipy..."
|
||||
local PIP_CMD=""
|
||||
if [ -n $PYPY ]; then
|
||||
# For expediency, install only versions that are available on the extra index.
|
||||
travis_wait 30 \
|
||||
$PY_CMD -m pip install --user --upgrade --extra-index-url https://imaginary.ca/trusty-pypi \
|
||||
pytest numpy==1.15.4 scipy==1.2.0
|
||||
else
|
||||
$PY_CMD -m pip install --user --upgrade pytest numpy scipy
|
||||
fi
|
||||
echo "done."
|
||||
|
||||
mkdir eigen
|
||||
curl -fsSL https://bitbucket.org/eigen/eigen/get/3.3.4.tar.bz2 | \
|
||||
tar --extract -j --directory=eigen --strip-components=1
|
||||
export CMAKE_INCLUDE_PATH="${CMAKE_INCLUDE_PATH:+$CMAKE_INCLUDE_PATH:}$PWD/eigen"
|
||||
fi
|
||||
set +ex
|
||||
script:
|
||||
- |
|
||||
# CMake Configuration
|
||||
set -ex
|
||||
$SCRIPT_RUN_PREFIX cmake ${CMAKE_EXTRA_ARGS} \
|
||||
-DPYBIND11_PYTHON_VERSION=$PYTHON \
|
||||
-DPYBIND11_CPP_STANDARD=$CPP \
|
||||
-DPYBIND11_WERROR=${WERROR:-ON} \
|
||||
-DDOWNLOAD_CATCH=${DOWNLOAD_CATCH:-ON} \
|
||||
.
|
||||
set +ex
|
||||
- |
|
||||
# pytest
|
||||
set -ex
|
||||
$SCRIPT_RUN_PREFIX make pytest -j 2 VERBOSE=1
|
||||
set +ex
|
||||
- |
|
||||
# cpptest
|
||||
set -ex
|
||||
$SCRIPT_RUN_PREFIX make cpptest -j 2
|
||||
set +ex
|
||||
- |
|
||||
# CMake Build Interface
|
||||
set -ex
|
||||
if [ -n "$CMAKE" ]; then $SCRIPT_RUN_PREFIX make test_cmake_build; fi
|
||||
set +ex
|
||||
after_failure: cat tests/test_cmake_build/*.log*
|
||||
after_script:
|
||||
- |
|
||||
# Cleanup (Docker)
|
||||
set -ex
|
||||
if [ -n "$DOCKER" ]; then docker stop "$containerid"; docker rm "$containerid"; fi
|
||||
set +ex
|
||||
@@ -1,157 +0,0 @@
|
||||
# CMakeLists.txt -- Build system for the pybind11 modules
|
||||
#
|
||||
# Copyright (c) 2015 Wenzel Jakob <wenzel@inf.ethz.ch>
|
||||
#
|
||||
# All rights reserved. Use of this source code is governed by a
|
||||
# BSD-style license that can be found in the LICENSE file.
|
||||
|
||||
cmake_minimum_required(VERSION 2.8.12)
|
||||
|
||||
if (POLICY CMP0048)
|
||||
# cmake warns if loaded from a min-3.0-required parent dir, so silence the warning:
|
||||
cmake_policy(SET CMP0048 NEW)
|
||||
endif()
|
||||
|
||||
# CMake versions < 3.4.0 do not support try_compile/pthread checks without C as active language.
|
||||
if(CMAKE_VERSION VERSION_LESS 3.4.0)
|
||||
project(pybind11)
|
||||
else()
|
||||
project(pybind11 CXX)
|
||||
endif()
|
||||
|
||||
# Check if pybind11 is being used directly or via add_subdirectory
|
||||
set(PYBIND11_MASTER_PROJECT OFF)
|
||||
if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
|
||||
set(PYBIND11_MASTER_PROJECT ON)
|
||||
endif()
|
||||
|
||||
option(PYBIND11_INSTALL "Install pybind11 header files?" ${PYBIND11_MASTER_PROJECT})
|
||||
option(PYBIND11_TEST "Build pybind11 test suite?" ${PYBIND11_MASTER_PROJECT})
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/tools")
|
||||
|
||||
include(pybind11Tools)
|
||||
|
||||
# Cache variables so pybind11_add_module can be used in parent projects
|
||||
set(PYBIND11_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}/include" CACHE INTERNAL "")
|
||||
set(PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS} CACHE INTERNAL "")
|
||||
set(PYTHON_LIBRARIES ${PYTHON_LIBRARIES} CACHE INTERNAL "")
|
||||
set(PYTHON_MODULE_PREFIX ${PYTHON_MODULE_PREFIX} CACHE INTERNAL "")
|
||||
set(PYTHON_MODULE_EXTENSION ${PYTHON_MODULE_EXTENSION} CACHE INTERNAL "")
|
||||
set(PYTHON_VERSION_MAJOR ${PYTHON_VERSION_MAJOR} CACHE INTERNAL "")
|
||||
set(PYTHON_VERSION_MINOR ${PYTHON_VERSION_MINOR} CACHE INTERNAL "")
|
||||
|
||||
# NB: when adding a header don't forget to also add it to setup.py
|
||||
set(PYBIND11_HEADERS
|
||||
include/pybind11/detail/class.h
|
||||
include/pybind11/detail/common.h
|
||||
include/pybind11/detail/descr.h
|
||||
include/pybind11/detail/init.h
|
||||
include/pybind11/detail/internals.h
|
||||
include/pybind11/detail/typeid.h
|
||||
include/pybind11/attr.h
|
||||
include/pybind11/buffer_info.h
|
||||
include/pybind11/cast.h
|
||||
include/pybind11/chrono.h
|
||||
include/pybind11/common.h
|
||||
include/pybind11/complex.h
|
||||
include/pybind11/options.h
|
||||
include/pybind11/eigen.h
|
||||
include/pybind11/embed.h
|
||||
include/pybind11/eval.h
|
||||
include/pybind11/functional.h
|
||||
include/pybind11/numpy.h
|
||||
include/pybind11/operators.h
|
||||
include/pybind11/pybind11.h
|
||||
include/pybind11/pytypes.h
|
||||
include/pybind11/stl.h
|
||||
include/pybind11/stl_bind.h
|
||||
)
|
||||
string(REPLACE "include/" "${CMAKE_CURRENT_SOURCE_DIR}/include/"
|
||||
PYBIND11_HEADERS "${PYBIND11_HEADERS}")
|
||||
|
||||
if (PYBIND11_TEST)
|
||||
add_subdirectory(tests)
|
||||
endif()
|
||||
|
||||
include(GNUInstallDirs)
|
||||
include(CMakePackageConfigHelpers)
|
||||
|
||||
# extract project version from source
|
||||
file(STRINGS "${PYBIND11_INCLUDE_DIR}/pybind11/detail/common.h" pybind11_version_defines
|
||||
REGEX "#define PYBIND11_VERSION_(MAJOR|MINOR|PATCH) ")
|
||||
foreach(ver ${pybind11_version_defines})
|
||||
if (ver MATCHES "#define PYBIND11_VERSION_(MAJOR|MINOR|PATCH) +([^ ]+)$")
|
||||
set(PYBIND11_VERSION_${CMAKE_MATCH_1} "${CMAKE_MATCH_2}" CACHE INTERNAL "")
|
||||
endif()
|
||||
endforeach()
|
||||
set(${PROJECT_NAME}_VERSION ${PYBIND11_VERSION_MAJOR}.${PYBIND11_VERSION_MINOR}.${PYBIND11_VERSION_PATCH})
|
||||
message(STATUS "pybind11 v${${PROJECT_NAME}_VERSION}")
|
||||
|
||||
option (USE_PYTHON_INCLUDE_DIR "Install pybind11 headers in Python include directory instead of default installation prefix" OFF)
|
||||
if (USE_PYTHON_INCLUDE_DIR)
|
||||
file(RELATIVE_PATH CMAKE_INSTALL_INCLUDEDIR ${CMAKE_INSTALL_PREFIX} ${PYTHON_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
if(NOT (CMAKE_VERSION VERSION_LESS 3.0)) # CMake >= 3.0
|
||||
# Build an interface library target:
|
||||
add_library(pybind11 INTERFACE)
|
||||
add_library(pybind11::pybind11 ALIAS pybind11) # to match exported target
|
||||
target_include_directories(pybind11 INTERFACE $<BUILD_INTERFACE:${PYBIND11_INCLUDE_DIR}>
|
||||
$<BUILD_INTERFACE:${PYTHON_INCLUDE_DIRS}>
|
||||
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
|
||||
target_compile_options(pybind11 INTERFACE $<BUILD_INTERFACE:${PYBIND11_CPP_STANDARD}>)
|
||||
|
||||
add_library(module INTERFACE)
|
||||
add_library(pybind11::module ALIAS module)
|
||||
if(NOT MSVC)
|
||||
target_compile_options(module INTERFACE -fvisibility=hidden)
|
||||
endif()
|
||||
target_link_libraries(module INTERFACE pybind11::pybind11)
|
||||
if(WIN32 OR CYGWIN)
|
||||
target_link_libraries(module INTERFACE $<BUILD_INTERFACE:${PYTHON_LIBRARIES}>)
|
||||
elseif(APPLE)
|
||||
target_link_libraries(module INTERFACE "-undefined dynamic_lookup")
|
||||
endif()
|
||||
|
||||
add_library(embed INTERFACE)
|
||||
add_library(pybind11::embed ALIAS embed)
|
||||
target_link_libraries(embed INTERFACE pybind11::pybind11 $<BUILD_INTERFACE:${PYTHON_LIBRARIES}>)
|
||||
endif()
|
||||
|
||||
if (PYBIND11_INSTALL)
|
||||
install(DIRECTORY ${PYBIND11_INCLUDE_DIR}/pybind11 DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||
# GNUInstallDirs "DATADIR" wrong here; CMake search path wants "share".
|
||||
set(PYBIND11_CMAKECONFIG_INSTALL_DIR "share/cmake/${PROJECT_NAME}" CACHE STRING "install path for pybind11Config.cmake")
|
||||
|
||||
configure_package_config_file(tools/${PROJECT_NAME}Config.cmake.in
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
|
||||
INSTALL_DESTINATION ${PYBIND11_CMAKECONFIG_INSTALL_DIR})
|
||||
# Remove CMAKE_SIZEOF_VOID_P from ConfigVersion.cmake since the library does
|
||||
# not depend on architecture specific settings or libraries.
|
||||
set(_PYBIND11_CMAKE_SIZEOF_VOID_P ${CMAKE_SIZEOF_VOID_P})
|
||||
unset(CMAKE_SIZEOF_VOID_P)
|
||||
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
|
||||
VERSION ${${PROJECT_NAME}_VERSION}
|
||||
COMPATIBILITY AnyNewerVersion)
|
||||
set(CMAKE_SIZEOF_VOID_P ${_PYBIND11_CMAKE_SIZEOF_VOID_P})
|
||||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake
|
||||
${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
|
||||
tools/FindPythonLibsNew.cmake
|
||||
tools/pybind11Tools.cmake
|
||||
DESTINATION ${PYBIND11_CMAKECONFIG_INSTALL_DIR})
|
||||
|
||||
if(NOT (CMAKE_VERSION VERSION_LESS 3.0))
|
||||
if(NOT PYBIND11_EXPORT_NAME)
|
||||
set(PYBIND11_EXPORT_NAME "${PROJECT_NAME}Targets")
|
||||
endif()
|
||||
|
||||
install(TARGETS pybind11 module embed
|
||||
EXPORT "${PYBIND11_EXPORT_NAME}")
|
||||
if(PYBIND11_MASTER_PROJECT)
|
||||
install(EXPORT "${PYBIND11_EXPORT_NAME}"
|
||||
NAMESPACE "${PROJECT_NAME}::"
|
||||
DESTINATION ${PYBIND11_CMAKECONFIG_INSTALL_DIR})
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
@@ -1,49 +0,0 @@
|
||||
Thank you for your interest in this project! Please refer to the following
|
||||
sections on how to contribute code and bug reports.
|
||||
|
||||
### Reporting bugs
|
||||
|
||||
At the moment, this project is run in the spare time of a single person
|
||||
([Wenzel Jakob](http://rgl.epfl.ch/people/wjakob)) with very limited resources
|
||||
for issue tracker tickets. Thus, before submitting a question or bug report,
|
||||
please take a moment of your time and ensure that your issue isn't already
|
||||
discussed in the project documentation provided at
|
||||
[http://pybind11.readthedocs.org/en/latest](http://pybind11.readthedocs.org/en/latest).
|
||||
|
||||
Assuming that you have identified a previously unknown problem or an important
|
||||
question, it's essential that you submit a self-contained and minimal piece of
|
||||
code that reproduces the problem. In other words: no external dependencies,
|
||||
isolate the function(s) that cause breakage, submit matched and complete C++
|
||||
and Python snippets that can be easily compiled and run on my end.
|
||||
|
||||
## Pull requests
|
||||
Contributions are submitted, reviewed, and accepted using Github pull requests.
|
||||
Please refer to [this
|
||||
article](https://help.github.com/articles/using-pull-requests) for details and
|
||||
adhere to the following rules to make the process as smooth as possible:
|
||||
|
||||
* Make a new branch for every feature you're working on.
|
||||
* Make small and clean pull requests that are easy to review but make sure they
|
||||
do add value by themselves.
|
||||
* Add tests for any new functionality and run the test suite (``make pytest``)
|
||||
to ensure that no existing features break.
|
||||
* Please run ``flake8`` and ``tools/check-style.sh`` to check your code matches
|
||||
the project style. (Note that ``check-style.sh`` requires ``gawk``.)
|
||||
* This project has a strong focus on providing general solutions using a
|
||||
minimal amount of code, thus small pull requests are greatly preferred.
|
||||
|
||||
### Licensing of contributions
|
||||
|
||||
pybind11 is provided under a BSD-style license that can be found in the
|
||||
``LICENSE`` file. By using, distributing, or contributing to this project, you
|
||||
agree to the terms and conditions of this license.
|
||||
|
||||
You are under no obligation whatsoever to provide any bug fixes, patches, or
|
||||
upgrades to the features, functionality or performance of the source code
|
||||
("Enhancements") to anyone; however, if you choose to make your Enhancements
|
||||
available either publicly, or directly to the author of this software, without
|
||||
imposing a separate written license agreement for such Enhancements, then you
|
||||
hereby grant the following license: a non-exclusive, royalty-free perpetual
|
||||
license to install, use, modify, prepare derivative works, incorporate into
|
||||
other computer software, distribute, and sublicense such enhancements or
|
||||
derivative works thereof, in binary and source code form.
|
||||
@@ -1,17 +0,0 @@
|
||||
Make sure you've completed the following steps before submitting your issue -- thank you!
|
||||
|
||||
1. Check if your question has already been answered in the [FAQ](http://pybind11.readthedocs.io/en/latest/faq.html) section.
|
||||
2. Make sure you've read the [documentation](http://pybind11.readthedocs.io/en/latest/). Your issue may be addressed there.
|
||||
3. If those resources didn't help and you only have a short question (not a bug report), consider asking in the [Gitter chat room](https://gitter.im/pybind/Lobby).
|
||||
4. If you have a genuine bug report or a more complex question which is not answered in the previous items (or not suitable for chat), please fill in the details below.
|
||||
5. Include a self-contained and minimal piece of code that reproduces the problem. If that's not possible, try to make the description as clear as possible.
|
||||
|
||||
*After reading, remove this checklist and the template text in parentheses below.*
|
||||
|
||||
## Issue description
|
||||
|
||||
(Provide a short description, state the expected behavior and what actually happens.)
|
||||
|
||||
## Reproducible example code
|
||||
|
||||
(The code should be minimal, have no external dependencies, isolate the function(s) that cause breakage. Submit matched and complete C++ and Python snippets that can be easily compiled and run to diagnose the issue.)
|
||||
@@ -1,29 +0,0 @@
|
||||
Copyright (c) 2016 Wenzel Jakob <wenzel.jakob@epfl.ch>, All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
3. Neither the name of the copyright holder nor the names of its contributors
|
||||
may be used to endorse or promote products derived from this software
|
||||
without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Please also refer to the file CONTRIBUTING.md, which clarifies licensing of
|
||||
external contributions to this project including patches, pull requests, etc.
|
||||
@@ -1,2 +0,0 @@
|
||||
recursive-include include/pybind11 *.h
|
||||
include LICENSE README.md CONTRIBUTING.md
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user