mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Improved multi case initial reading
When creating a multi case group from multiple files, read grid from first file. The main grid from the first case is reused for the other cases. NOTE: Metadata and well information is not read for the other cases p4#: 20655
This commit is contained in:
@@ -90,6 +90,51 @@ bool RimResultReservoir::openEclipseGridFile()
|
||||
return true;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RimResultReservoir::openAndReadActiveCellData(RigMainGrid* mainGrid)
|
||||
{
|
||||
cvf::ref<RifReaderInterface> readerInterface;
|
||||
|
||||
if (caseName().contains("Result Mock Debug Model"))
|
||||
{
|
||||
readerInterface = this->createMockModel(this->caseName());
|
||||
|
||||
m_rigEclipseCase->results(RifReaderInterface::MATRIX_RESULTS)->setReaderInterface(readerInterface.p());
|
||||
m_rigEclipseCase->results(RifReaderInterface::FRACTURE_RESULTS)->setReaderInterface(readerInterface.p());
|
||||
}
|
||||
else
|
||||
{
|
||||
QString fname = createAbsoluteFilenameFromCase(caseName);
|
||||
if (fname.isEmpty())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
cvf::ref<RigEclipseCase> eclipseCase = new RigEclipseCase;
|
||||
eclipseCase->setMainGrid(mainGrid);
|
||||
|
||||
readerInterface = new RifReaderEclipseOutput;
|
||||
if (!readerInterface->openAndReadActiveCellData(fname, eclipseCase.p()))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
readerInterface->close();
|
||||
|
||||
m_rigEclipseCase = eclipseCase;
|
||||
}
|
||||
|
||||
CVF_ASSERT(m_rigEclipseCase.notNull());
|
||||
CVF_ASSERT(readerInterface.notNull());
|
||||
|
||||
m_rigEclipseCase->computeCachedData();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
|
||||
@@ -24,7 +24,8 @@
|
||||
#include "cafPdmObject.h"
|
||||
#include "RimReservoir.h"
|
||||
|
||||
class RifReaderInterface;
|
||||
class RifReaderInterface;
|
||||
class RigMainGrid;
|
||||
|
||||
//==================================================================================================
|
||||
//
|
||||
@@ -45,6 +46,7 @@ public:
|
||||
caf::PdmField<QString> caseDirectory;
|
||||
|
||||
virtual bool openEclipseGridFile();
|
||||
bool openAndReadActiveCellData(RigMainGrid* mainGrid);
|
||||
|
||||
//virtual caf::PdmFieldHandle* userDescriptionField() { return &caseName;}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user