mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Compute DEPTH, DX, DY, DZ, TOP and BOTTOM if not present. Added flag in Preferences to control if ResInsight automatically computes these values. Improved statistical computations by skipping HUGE_VAL.
p4#: 19287
This commit is contained in:
@@ -34,6 +34,10 @@
|
||||
#include "RifEclipseInputFileTools.h"
|
||||
#include "cafProgressInfo.h"
|
||||
|
||||
#include "RIApplication.h"
|
||||
#include "RIPreferences.h"
|
||||
|
||||
|
||||
CAF_PDM_SOURCE_INIT(RimInputReservoir, "RimInputReservoir");
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
@@ -150,34 +154,42 @@ void RimInputReservoir::openDataFileSet(const QStringList& filenames)
|
||||
bool RimInputReservoir::openEclipseGridFile()
|
||||
{
|
||||
// Early exit if reservoir data is created
|
||||
if (m_rigReservoir.notNull()) return true;
|
||||
|
||||
cvf::ref<RifReaderInterface> readerInterface;
|
||||
|
||||
if (caseName().contains("Input Mock Debug Model"))
|
||||
if (m_rigReservoir.isNull())
|
||||
{
|
||||
readerInterface = this->createMockModel(this->caseName());
|
||||
}
|
||||
else
|
||||
{
|
||||
RigReservoir* reservoir = new RigReservoir;
|
||||
readerInterface = new RifReaderEclipseInput;
|
||||
if (!readerInterface->open(m_gridFileName, reservoir))
|
||||
cvf::ref<RifReaderInterface> readerInterface;
|
||||
|
||||
if (caseName().contains("Input Mock Debug Model"))
|
||||
{
|
||||
delete reservoir;
|
||||
return false;
|
||||
readerInterface = this->createMockModel(this->caseName());
|
||||
}
|
||||
else
|
||||
{
|
||||
RigReservoir* reservoir = new RigReservoir;
|
||||
readerInterface = new RifReaderEclipseInput;
|
||||
if (!readerInterface->open(m_gridFileName, reservoir))
|
||||
{
|
||||
delete reservoir;
|
||||
return false;
|
||||
}
|
||||
|
||||
m_rigReservoir = reservoir;
|
||||
loadAndSyncronizeInputProperties();
|
||||
}
|
||||
|
||||
m_rigReservoir = reservoir;
|
||||
loadAndSyncronizeInputProperties();
|
||||
CVF_ASSERT(m_rigReservoir.notNull());
|
||||
CVF_ASSERT(readerInterface.notNull());
|
||||
|
||||
m_rigReservoir->mainGrid()->results()->setReaderInterface(readerInterface.p());
|
||||
m_rigReservoir->computeFaults();
|
||||
m_rigReservoir->mainGrid()->computeCachedData();
|
||||
}
|
||||
|
||||
CVF_ASSERT(m_rigReservoir.notNull());
|
||||
CVF_ASSERT(readerInterface.notNull());
|
||||
|
||||
m_rigReservoir->mainGrid()->results()->setReaderInterface(readerInterface.p());
|
||||
m_rigReservoir->computeFaults();
|
||||
m_rigReservoir->mainGrid()->computeCachedData();
|
||||
RigReservoirCellResults* results = m_rigReservoir->mainGrid()->results();
|
||||
RIApplication* app = RIApplication::instance();
|
||||
if (app->preferences()->autocomputeDepthRelatedProperties)
|
||||
{
|
||||
results->computeDepthRelatedResults();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user