mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06: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
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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 /
|
||||
/
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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 /
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
/
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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!!!
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
/
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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 /
|
||||
@@ -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 --------
|
||||
--
|
||||
--------------------------------------------------------------------
|
||||
@@ -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
|
||||
/
|
||||
@@ -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'
|
||||
/
|
||||
|
||||
|
||||
@@ -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 /
|
||||
@@ -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' /
|
||||
/
|
||||
@@ -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
|
||||
/
|
||||
@@ -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
|
||||
/
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
/
|
||||
@@ -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
|
||||
/
|
||||
@@ -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
|
||||
/
|
||||
@@ -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
|
||||
/
|
||||
@@ -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
|
||||
/
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
/
|
||||
@@ -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
|
||||
/
|
||||
@@ -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
|
||||
/
|
||||
@@ -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
|
||||
/
|
||||
File diff suppressed because it is too large
Load Diff
@@ -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 /
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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" )
|
||||
@@ -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
|
||||
/
|
||||
@@ -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
|
||||
|
||||
/
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -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