Renamed some methods and variables in the eclipse result file access system

To make things more readable and understandable
p4#: 21218
This commit is contained in:
Jacob Støren
2013-04-10 11:02:10 +02:00
parent 09810bf586
commit a246e288ba
9 changed files with 41 additions and 40 deletions

View File

@@ -198,7 +198,7 @@ bool RifEclipseOutputFileTools::keywordData(ecl_file_type* ecl_file, const QStri
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// Get first occurrence of file of given type in given list of filenames, as filename or NULL if not found /// Get first occurrence of file of given type in given list of filenames, as filename or NULL if not found
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
QString RifEclipseOutputFileTools::fileNameByType(const QStringList& fileSet, ecl_file_enum fileType) QString RifEclipseOutputFileTools::firstFileNameOfType(const QStringList& fileSet, ecl_file_enum fileType)
{ {
int i; int i;
for (i = 0; i < fileSet.count(); i++) for (i = 0; i < fileSet.count(); i++)
@@ -216,9 +216,9 @@ QString RifEclipseOutputFileTools::fileNameByType(const QStringList& fileSet, ec
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// Get all files of file of given type in given list of filenames, as filename or NULL if not found /// Get all files of the given type from the provided list of filenames
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
QStringList RifEclipseOutputFileTools::fileNamesByType(const QStringList& fileSet, ecl_file_enum fileType) QStringList RifEclipseOutputFileTools::filterFileNamesOfType(const QStringList& fileSet, ecl_file_enum fileType)
{ {
QStringList fileNames; QStringList fileNames;
@@ -240,14 +240,14 @@ QStringList RifEclipseOutputFileTools::fileNamesByType(const QStringList& fileSe
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// Get set of Eclipse files based on an input file and its path /// Get set of Eclipse files based on an input file and its path
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
bool RifEclipseOutputFileTools::fileSet(const QString& fileName, QStringList* fileSet) bool RifEclipseOutputFileTools::findSiblingFilesWithSameBaseName(const QString& fullPathFileName, QStringList* baseNameFiles)
{ {
CVF_ASSERT(fileSet); CVF_ASSERT(baseNameFiles);
fileSet->clear(); baseNameFiles->clear();
QString filePath = QFileInfo(fileName).absoluteFilePath(); QString filePath = QFileInfo(fullPathFileName).absoluteFilePath();
filePath = QFileInfo(filePath).path(); filePath = QFileInfo(filePath).path();
QString fileNameBase = QFileInfo(fileName).baseName(); QString fileNameBase = QFileInfo(fullPathFileName).baseName();
stringlist_type* eclipseFiles = stringlist_alloc_new(); stringlist_type* eclipseFiles = stringlist_alloc_new();
ecl_util_select_filelist(filePath.toAscii().data(), fileNameBase.toAscii().data(), ECL_OTHER_FILE, false, eclipseFiles); ecl_util_select_filelist(filePath.toAscii().data(), fileNameBase.toAscii().data(), ECL_OTHER_FILE, false, eclipseFiles);
@@ -255,12 +255,12 @@ bool RifEclipseOutputFileTools::fileSet(const QString& fileName, QStringList* fi
int i; int i;
for (i = 0; i < stringlist_get_size(eclipseFiles); i++) for (i = 0; i < stringlist_get_size(eclipseFiles); i++)
{ {
fileSet->append(stringlist_safe_iget(eclipseFiles, i)); baseNameFiles->append(stringlist_safe_iget(eclipseFiles, i));
} }
stringlist_free(eclipseFiles); stringlist_free(eclipseFiles);
return fileSet->count() > 0; return baseNameFiles->count() > 0;
} }

View File

@@ -50,10 +50,10 @@ public:
// static void timeStepsText(ecl_file_type* ecl_file, QStringList* timeSteps); // static void timeStepsText(ecl_file_type* ecl_file, QStringList* timeSteps);
static void timeSteps(ecl_file_type* ecl_file, std::vector<QDateTime>* timeSteps, bool* detectedFractionOfDay = NULL); static void timeSteps(ecl_file_type* ecl_file, std::vector<QDateTime>* timeSteps, bool* detectedFractionOfDay = NULL);
static bool fileSet(const QString& fileName, QStringList* fileSet); static bool findSiblingFilesWithSameBaseName(const QString& fileName, QStringList* fileSet);
static QString fileNameByType(const QStringList& fileSet, ecl_file_enum fileType); static QString firstFileNameOfType(const QStringList& fileSet, ecl_file_enum fileType);
static QStringList fileNamesByType(const QStringList& fileSet, ecl_file_enum fileType); static QStringList filterFileNamesOfType(const QStringList& fileSet, ecl_file_enum fileType);
static void readGridDimensions(const QString& gridFileName, std::vector< std::vector<int> >& gridDimensions); static void readGridDimensions(const QString& gridFileName, std::vector< std::vector<int> >& gridDimensions);
}; };

View File

@@ -43,7 +43,7 @@ public:
virtual ~RifEclipseRestartDataAccess(); virtual ~RifEclipseRestartDataAccess();
virtual bool open() = 0; virtual bool open() = 0;
virtual void setFileSet(const QStringList& fileSet) = 0; virtual void setRestartFiles(const QStringList& fileSet) = 0;
virtual void close() = 0; virtual void close() = 0;
virtual void setTimeSteps(const std::vector<QDateTime>& timeSteps) {}; virtual void setTimeSteps(const std::vector<QDateTime>& timeSteps) {};

View File

@@ -63,12 +63,13 @@ bool RifEclipseRestartFilesetAccess::open()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RifEclipseRestartFilesetAccess::setFileSet(const QStringList& fileSet) void RifEclipseRestartFilesetAccess::setRestartFiles(const QStringList& fileSet)
{ {
close(); close();
m_ecl_files.clear(); m_ecl_files.clear();
m_fileNames = fileSet; m_fileNames = fileSet;
m_fileNames.sort(); // To make sure they are sorted in increasing *.X000N order. Hack. Should probably be actual time stored on file.
for (int i = 0; i < m_fileNames.size(); i++) for (int i = 0; i < m_fileNames.size(); i++)
{ {

View File

@@ -36,7 +36,7 @@ public:
virtual ~RifEclipseRestartFilesetAccess(); virtual ~RifEclipseRestartFilesetAccess();
bool open(); bool open();
void setFileSet(const QStringList& fileSet); void setRestartFiles(const QStringList& fileSet);
void close(); void close();
void setTimeSteps(const std::vector<QDateTime>& timeSteps); void setTimeSteps(const std::vector<QDateTime>& timeSteps);

View File

@@ -156,7 +156,7 @@ void RifEclipseUnifiedRestartFileAccess::readWellData(well_info_type* well_info)
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RifEclipseUnifiedRestartFileAccess::setFileSet(const QStringList& fileSet) void RifEclipseUnifiedRestartFileAccess::setRestartFiles(const QStringList& fileSet)
{ {
m_filename = fileSet[0]; m_filename = fileSet[0];

View File

@@ -37,7 +37,7 @@ public:
RifEclipseUnifiedRestartFileAccess(); RifEclipseUnifiedRestartFileAccess();
virtual ~RifEclipseUnifiedRestartFileAccess(); virtual ~RifEclipseUnifiedRestartFileAccess();
void setFileSet(const QStringList& fileSet); void setRestartFiles(const QStringList& fileSet);
bool open(); bool open();
void close(); void close();

View File

@@ -192,7 +192,7 @@ bool transferGridCellData(RigMainGrid* mainGrid, RigActiveCellInfo* activeCellIn
RifReaderEclipseOutput::RifReaderEclipseOutput() RifReaderEclipseOutput::RifReaderEclipseOutput()
{ {
m_fileName.clear(); m_fileName.clear();
m_fileSet.clear(); m_filesWithSameBaseName.clear();
m_timeSteps.clear(); m_timeSteps.clear();
@@ -349,13 +349,13 @@ bool RifReaderEclipseOutput::open(const QString& fileName, RigCaseData* eclipseC
// Get set of files // Get set of files
QStringList fileSet; QStringList fileSet;
if (!RifEclipseOutputFileTools::fileSet(fileName, &fileSet)) return false; if (!RifEclipseOutputFileTools::findSiblingFilesWithSameBaseName(fileName, &fileSet)) return false;
progInfo.incrementProgress(); progInfo.incrementProgress();
progInfo.setNextProgressIncrement(20); progInfo.setNextProgressIncrement(20);
// Keep the set of files of interest // Keep the set of files of interest
m_fileSet = fileSet; m_filesWithSameBaseName = fileSet;
// Read geometry // Read geometry
ecl_grid_type * mainEclGrid = ecl_grid_alloc( fileName.toAscii().data() ); ecl_grid_type * mainEclGrid = ecl_grid_alloc( fileName.toAscii().data() );
@@ -408,10 +408,10 @@ bool RifReaderEclipseOutput::openAndReadActiveCellData(const QString& fileName,
// Get set of files // Get set of files
QStringList fileSet; QStringList fileSet;
if (!RifEclipseOutputFileTools::fileSet(fileName, &fileSet)) return false; if (!RifEclipseOutputFileTools::findSiblingFilesWithSameBaseName(fileName, &fileSet)) return false;
// Keep the set of files of interest // Keep the set of files of interest
m_fileSet = fileSet; m_filesWithSameBaseName = fileSet;
m_eclipseCase = eclipseCase; m_eclipseCase = eclipseCase;
@@ -425,7 +425,7 @@ bool RifReaderEclipseOutput::openAndReadActiveCellData(const QString& fileName,
//if (!buildMetaData()) return false; //if (!buildMetaData()) return false;
// readWellCells(); // readWellCells();
m_dynamicResultsAccess = createDynamicResultsAccess(m_fileSet); m_dynamicResultsAccess = createDynamicResultsAccess();
m_dynamicResultsAccess->setTimeSteps(mainCaseTimeSteps); m_dynamicResultsAccess->setTimeSteps(mainCaseTimeSteps);
@@ -442,7 +442,7 @@ bool RifReaderEclipseOutput::readActiveCellInfo()
CVF_ASSERT(m_eclipseCase); CVF_ASSERT(m_eclipseCase);
CVF_ASSERT(m_eclipseCase->mainGrid()); CVF_ASSERT(m_eclipseCase->mainGrid());
QString egridFileName = RifEclipseOutputFileTools::fileNameByType(m_fileSet, ECL_EGRID_FILE); QString egridFileName = RifEclipseOutputFileTools::firstFileNameOfType(m_filesWithSameBaseName, ECL_EGRID_FILE);
if (egridFileName.size() > 0) if (egridFileName.size() > 0)
{ {
ecl_file_type* ecl_file = ecl_file_open(egridFileName.toAscii().data()); ecl_file_type* ecl_file = ecl_file_open(egridFileName.toAscii().data());
@@ -526,14 +526,14 @@ bool RifReaderEclipseOutput::readActiveCellInfo()
bool RifReaderEclipseOutput::buildMetaData() bool RifReaderEclipseOutput::buildMetaData()
{ {
CVF_ASSERT(m_eclipseCase); CVF_ASSERT(m_eclipseCase);
CVF_ASSERT(m_fileSet.size() > 0); CVF_ASSERT(m_filesWithSameBaseName.size() > 0);
caf::ProgressInfo progInfo(m_fileSet.size() + 3,""); caf::ProgressInfo progInfo(m_filesWithSameBaseName.size() + 3,"");
progInfo.setNextProgressIncrement(m_fileSet.size()); progInfo.setNextProgressIncrement(m_filesWithSameBaseName.size());
// Create access object for dynamic results // Create access object for dynamic results
m_dynamicResultsAccess = createDynamicResultsAccess(m_fileSet); m_dynamicResultsAccess = createDynamicResultsAccess();
if (m_dynamicResultsAccess.isNull()) if (m_dynamicResultsAccess.isNull())
{ {
return false; return false;
@@ -641,25 +641,25 @@ bool RifReaderEclipseOutput::buildMetaData()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// Create results access object (.UNRST or .X0001 ... .XNNNN) /// Create results access object (.UNRST or .X0001 ... .XNNNN)
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RifEclipseRestartDataAccess* RifReaderEclipseOutput::createDynamicResultsAccess(const QStringList& fileSet) RifEclipseRestartDataAccess* RifReaderEclipseOutput::createDynamicResultsAccess()
{ {
RifEclipseRestartDataAccess* resultsAccess = NULL; RifEclipseRestartDataAccess* resultsAccess = NULL;
// Look for unified restart file // Look for unified restart file
QString unrstFileName = RifEclipseOutputFileTools::fileNameByType(fileSet, ECL_UNIFIED_RESTART_FILE); QString unrstFileName = RifEclipseOutputFileTools::firstFileNameOfType(m_filesWithSameBaseName, ECL_UNIFIED_RESTART_FILE);
if (unrstFileName.size() > 0) if (unrstFileName.size() > 0)
{ {
resultsAccess = new RifEclipseUnifiedRestartFileAccess(); resultsAccess = new RifEclipseUnifiedRestartFileAccess();
resultsAccess->setFileSet(QStringList(unrstFileName)); resultsAccess->setRestartFiles(QStringList(unrstFileName));
} }
else else
{ {
// Look for set of restart files (one file per time step) // Look for set of restart files (one file per time step)
QStringList restartFiles = RifEclipseOutputFileTools::fileNamesByType(fileSet, ECL_RESTART_FILE); QStringList restartFiles = RifEclipseOutputFileTools::filterFileNamesOfType(m_filesWithSameBaseName, ECL_RESTART_FILE);
if (restartFiles.size() > 0) if (restartFiles.size() > 0)
{ {
resultsAccess = new RifEclipseRestartFilesetAccess(); resultsAccess = new RifEclipseRestartFilesetAccess();
resultsAccess->setFileSet(restartFiles); resultsAccess->setRestartFiles(restartFiles);
} }
} }
@@ -703,7 +703,7 @@ bool RifReaderEclipseOutput::dynamicResult(const QString& result, PorosityModelR
{ {
if (m_dynamicResultsAccess.isNull()) if (m_dynamicResultsAccess.isNull())
{ {
m_dynamicResultsAccess = createDynamicResultsAccess(m_fileSet); m_dynamicResultsAccess = createDynamicResultsAccess();
} }
if (m_dynamicResultsAccess.isNull()) if (m_dynamicResultsAccess.isNull())
@@ -1023,7 +1023,7 @@ bool RifReaderEclipseOutput::openInitFile()
return true; return true;
} }
QString initFileName = RifEclipseOutputFileTools::fileNameByType(m_fileSet, ECL_INIT_FILE); QString initFileName = RifEclipseOutputFileTools::firstFileNameOfType(m_filesWithSameBaseName, ECL_INIT_FILE);
if (initFileName.size() > 0) if (initFileName.size() > 0)
{ {
m_ecl_init_file = ecl_file_open(initFileName.toAscii().data()); m_ecl_init_file = ecl_file_open(initFileName.toAscii().data());

View File

@@ -62,18 +62,18 @@ private:
void extractResultValuesBasedOnPorosityModel(PorosityModelResultType matrixOrFracture, std::vector<double>* values, const std::vector<double>& fileValues); void extractResultValuesBasedOnPorosityModel(PorosityModelResultType matrixOrFracture, std::vector<double>* values, const std::vector<double>& fileValues);
static RifEclipseRestartDataAccess* createDynamicResultsAccess(const QStringList& fileSet); RifEclipseRestartDataAccess* createDynamicResultsAccess();
QStringList validKeywordsForPorosityModel(const QStringList& keywords, const std::vector<size_t>& keywordDataItemCounts, const RigActiveCellInfo* activeCellInfo, const RigActiveCellInfo* fractureActiveCellInfo, PorosityModelResultType matrixOrFracture, size_t timeStepCount) const; QStringList validKeywordsForPorosityModel(const QStringList& keywords, const std::vector<size_t>& keywordDataItemCounts, const RigActiveCellInfo* activeCellInfo, const RigActiveCellInfo* fractureActiveCellInfo, PorosityModelResultType matrixOrFracture, size_t timeStepCount) const;
virtual std::vector<QDateTime> timeSteps(); virtual std::vector<QDateTime> timeSteps();
private: private:
QString m_fileName; // Name of file used to start accessing Eclipse output files QString m_fileName; // Name of file used to start accessing Eclipse output files
QStringList m_fileSet; // Set of files in filename's path with same base name as filename QStringList m_filesWithSameBaseName; // Set of files in filename's path with same base name as filename
RigCaseData* m_eclipseCase; RigCaseData* m_eclipseCase;
std::vector<QDateTime> m_timeSteps; std::vector<QDateTime> m_timeSteps;
ecl_file_type* m_ecl_init_file; // File access to static results ecl_file_type* m_ecl_init_file; // File access to static results
cvf::ref<RifEclipseRestartDataAccess> m_dynamicResultsAccess; // File access to dynamic results cvf::ref<RifEclipseRestartDataAccess> m_dynamicResultsAccess; // File access to dynamic results