diff --git a/opm/parser/eclipse/EclipseState/Tables/SimpleTable.cpp b/opm/parser/eclipse/EclipseState/Tables/SimpleTable.cpp index 69f018d0a..be021d39e 100644 --- a/opm/parser/eclipse/EclipseState/Tables/SimpleTable.cpp +++ b/opm/parser/eclipse/EclipseState/Tables/SimpleTable.cpp @@ -153,6 +153,16 @@ void SimpleTable::checkMonotonic(const std::string& columnName, } } +void SimpleTable::checkRange(const std::string& columnName) +{ + int columnIdx = m_columnNames.at(columnName); + int nRows = numRows(); + if (m_columns[columnIdx][0] != 0.0 || m_columns[columnIdx][nRows-1] != 1.0) { + throw std::invalid_argument("Column " + columnName + " must span range [0 1]"); + } + +} + void SimpleTable::applyDefaultsConstant(const std::string& columnName, double value) { int columnIdx = m_columnNames.at(columnName); diff --git a/opm/parser/eclipse/EclipseState/Tables/SimpleTable.hpp b/opm/parser/eclipse/EclipseState/Tables/SimpleTable.hpp index 80e226cc1..df012e2bf 100644 --- a/opm/parser/eclipse/EclipseState/Tables/SimpleTable.hpp +++ b/opm/parser/eclipse/EclipseState/Tables/SimpleTable.hpp @@ -79,6 +79,7 @@ namespace Opm { void checkMonotonic(const std::string& columnName, bool isAscending, bool isStrictlyMonotonic = true); + void checkRange(const std::string& columnName); void applyDefaultsConstant(const std::string& columnName, double value); void applyDefaultsLinear(const std::string& columnName); void createColumns(const std::vector &columnNames);