From a246e288ba1cc7fc7a9af49a0720860fde863cf4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jacob=20St=C3=B8ren?= Date: Wed, 10 Apr 2013 11:02:10 +0200 Subject: [PATCH] Renamed some methods and variables in the eclipse result file access system To make things more readable and understandable p4#: 21218 --- .../RifEclipseOutputFileTools.cpp | 20 +++++------ .../FileInterface/RifEclipseOutputFileTools.h | 6 ++-- .../RifEclipseRestartDataAccess.h | 2 +- .../RifEclipseRestartFilesetAccess.cpp | 3 +- .../RifEclipseRestartFilesetAccess.h | 2 +- .../RifEclipseUnifiedRestartFileAccess.cpp | 2 +- .../RifEclipseUnifiedRestartFileAccess.h | 2 +- .../FileInterface/RifReaderEclipseOutput.cpp | 36 +++++++++---------- .../FileInterface/RifReaderEclipseOutput.h | 8 ++--- 9 files changed, 41 insertions(+), 40 deletions(-) diff --git a/ApplicationCode/FileInterface/RifEclipseOutputFileTools.cpp b/ApplicationCode/FileInterface/RifEclipseOutputFileTools.cpp index 5cffc1a15c..416f7a6513 100644 --- a/ApplicationCode/FileInterface/RifEclipseOutputFileTools.cpp +++ b/ApplicationCode/FileInterface/RifEclipseOutputFileTools.cpp @@ -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 //-------------------------------------------------------------------------------------------------- -QString RifEclipseOutputFileTools::fileNameByType(const QStringList& fileSet, ecl_file_enum fileType) +QString RifEclipseOutputFileTools::firstFileNameOfType(const QStringList& fileSet, ecl_file_enum fileType) { int 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; @@ -240,14 +240,14 @@ QStringList RifEclipseOutputFileTools::fileNamesByType(const QStringList& fileSe //-------------------------------------------------------------------------------------------------- /// 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); - fileSet->clear(); + CVF_ASSERT(baseNameFiles); + baseNameFiles->clear(); - QString filePath = QFileInfo(fileName).absoluteFilePath(); + QString filePath = QFileInfo(fullPathFileName).absoluteFilePath(); filePath = QFileInfo(filePath).path(); - QString fileNameBase = QFileInfo(fileName).baseName(); + QString fileNameBase = QFileInfo(fullPathFileName).baseName(); stringlist_type* eclipseFiles = stringlist_alloc_new(); 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; 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); - return fileSet->count() > 0; + return baseNameFiles->count() > 0; } diff --git a/ApplicationCode/FileInterface/RifEclipseOutputFileTools.h b/ApplicationCode/FileInterface/RifEclipseOutputFileTools.h index 3824b9bc01..a46c83e4b9 100644 --- a/ApplicationCode/FileInterface/RifEclipseOutputFileTools.h +++ b/ApplicationCode/FileInterface/RifEclipseOutputFileTools.h @@ -50,10 +50,10 @@ public: // static void timeStepsText(ecl_file_type* ecl_file, QStringList* timeSteps); static void timeSteps(ecl_file_type* ecl_file, std::vector* 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 QStringList fileNamesByType(const QStringList& fileSet, ecl_file_enum fileType); + static QString firstFileNameOfType(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 >& gridDimensions); }; diff --git a/ApplicationCode/FileInterface/RifEclipseRestartDataAccess.h b/ApplicationCode/FileInterface/RifEclipseRestartDataAccess.h index dd8bff2460..757e324e02 100644 --- a/ApplicationCode/FileInterface/RifEclipseRestartDataAccess.h +++ b/ApplicationCode/FileInterface/RifEclipseRestartDataAccess.h @@ -43,7 +43,7 @@ public: virtual ~RifEclipseRestartDataAccess(); virtual bool open() = 0; - virtual void setFileSet(const QStringList& fileSet) = 0; + virtual void setRestartFiles(const QStringList& fileSet) = 0; virtual void close() = 0; virtual void setTimeSteps(const std::vector& timeSteps) {}; diff --git a/ApplicationCode/FileInterface/RifEclipseRestartFilesetAccess.cpp b/ApplicationCode/FileInterface/RifEclipseRestartFilesetAccess.cpp index d998810f39..fe28ec07be 100644 --- a/ApplicationCode/FileInterface/RifEclipseRestartFilesetAccess.cpp +++ b/ApplicationCode/FileInterface/RifEclipseRestartFilesetAccess.cpp @@ -63,12 +63,13 @@ bool RifEclipseRestartFilesetAccess::open() //-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- -void RifEclipseRestartFilesetAccess::setFileSet(const QStringList& fileSet) +void RifEclipseRestartFilesetAccess::setRestartFiles(const QStringList& fileSet) { close(); m_ecl_files.clear(); 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++) { diff --git a/ApplicationCode/FileInterface/RifEclipseRestartFilesetAccess.h b/ApplicationCode/FileInterface/RifEclipseRestartFilesetAccess.h index 00403233d3..645f641fc4 100644 --- a/ApplicationCode/FileInterface/RifEclipseRestartFilesetAccess.h +++ b/ApplicationCode/FileInterface/RifEclipseRestartFilesetAccess.h @@ -36,7 +36,7 @@ public: virtual ~RifEclipseRestartFilesetAccess(); bool open(); - void setFileSet(const QStringList& fileSet); + void setRestartFiles(const QStringList& fileSet); void close(); void setTimeSteps(const std::vector& timeSteps); diff --git a/ApplicationCode/FileInterface/RifEclipseUnifiedRestartFileAccess.cpp b/ApplicationCode/FileInterface/RifEclipseUnifiedRestartFileAccess.cpp index c8fb1391fc..0586ef8d1e 100644 --- a/ApplicationCode/FileInterface/RifEclipseUnifiedRestartFileAccess.cpp +++ b/ApplicationCode/FileInterface/RifEclipseUnifiedRestartFileAccess.cpp @@ -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]; diff --git a/ApplicationCode/FileInterface/RifEclipseUnifiedRestartFileAccess.h b/ApplicationCode/FileInterface/RifEclipseUnifiedRestartFileAccess.h index f80d11fe11..066f685153 100644 --- a/ApplicationCode/FileInterface/RifEclipseUnifiedRestartFileAccess.h +++ b/ApplicationCode/FileInterface/RifEclipseUnifiedRestartFileAccess.h @@ -37,7 +37,7 @@ public: RifEclipseUnifiedRestartFileAccess(); virtual ~RifEclipseUnifiedRestartFileAccess(); - void setFileSet(const QStringList& fileSet); + void setRestartFiles(const QStringList& fileSet); bool open(); void close(); diff --git a/ApplicationCode/FileInterface/RifReaderEclipseOutput.cpp b/ApplicationCode/FileInterface/RifReaderEclipseOutput.cpp index e7fa03c1bd..9b066e68e3 100644 --- a/ApplicationCode/FileInterface/RifReaderEclipseOutput.cpp +++ b/ApplicationCode/FileInterface/RifReaderEclipseOutput.cpp @@ -192,7 +192,7 @@ bool transferGridCellData(RigMainGrid* mainGrid, RigActiveCellInfo* activeCellIn RifReaderEclipseOutput::RifReaderEclipseOutput() { m_fileName.clear(); - m_fileSet.clear(); + m_filesWithSameBaseName.clear(); m_timeSteps.clear(); @@ -349,13 +349,13 @@ bool RifReaderEclipseOutput::open(const QString& fileName, RigCaseData* eclipseC // Get set of files QStringList fileSet; - if (!RifEclipseOutputFileTools::fileSet(fileName, &fileSet)) return false; + if (!RifEclipseOutputFileTools::findSiblingFilesWithSameBaseName(fileName, &fileSet)) return false; progInfo.incrementProgress(); progInfo.setNextProgressIncrement(20); // Keep the set of files of interest - m_fileSet = fileSet; + m_filesWithSameBaseName = fileSet; // Read geometry ecl_grid_type * mainEclGrid = ecl_grid_alloc( fileName.toAscii().data() ); @@ -408,10 +408,10 @@ bool RifReaderEclipseOutput::openAndReadActiveCellData(const QString& fileName, // Get set of files QStringList fileSet; - if (!RifEclipseOutputFileTools::fileSet(fileName, &fileSet)) return false; + if (!RifEclipseOutputFileTools::findSiblingFilesWithSameBaseName(fileName, &fileSet)) return false; // Keep the set of files of interest - m_fileSet = fileSet; + m_filesWithSameBaseName = fileSet; m_eclipseCase = eclipseCase; @@ -425,7 +425,7 @@ bool RifReaderEclipseOutput::openAndReadActiveCellData(const QString& fileName, //if (!buildMetaData()) return false; // readWellCells(); - m_dynamicResultsAccess = createDynamicResultsAccess(m_fileSet); + m_dynamicResultsAccess = createDynamicResultsAccess(); m_dynamicResultsAccess->setTimeSteps(mainCaseTimeSteps); @@ -442,7 +442,7 @@ bool RifReaderEclipseOutput::readActiveCellInfo() CVF_ASSERT(m_eclipseCase); 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) { ecl_file_type* ecl_file = ecl_file_open(egridFileName.toAscii().data()); @@ -526,14 +526,14 @@ bool RifReaderEclipseOutput::readActiveCellInfo() bool RifReaderEclipseOutput::buildMetaData() { 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 - m_dynamicResultsAccess = createDynamicResultsAccess(m_fileSet); + m_dynamicResultsAccess = createDynamicResultsAccess(); if (m_dynamicResultsAccess.isNull()) { return false; @@ -641,25 +641,25 @@ bool RifReaderEclipseOutput::buildMetaData() //-------------------------------------------------------------------------------------------------- /// Create results access object (.UNRST or .X0001 ... .XNNNN) //-------------------------------------------------------------------------------------------------- -RifEclipseRestartDataAccess* RifReaderEclipseOutput::createDynamicResultsAccess(const QStringList& fileSet) +RifEclipseRestartDataAccess* RifReaderEclipseOutput::createDynamicResultsAccess() { RifEclipseRestartDataAccess* resultsAccess = NULL; // 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) { resultsAccess = new RifEclipseUnifiedRestartFileAccess(); - resultsAccess->setFileSet(QStringList(unrstFileName)); + resultsAccess->setRestartFiles(QStringList(unrstFileName)); } else { // 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) { resultsAccess = new RifEclipseRestartFilesetAccess(); - resultsAccess->setFileSet(restartFiles); + resultsAccess->setRestartFiles(restartFiles); } } @@ -703,7 +703,7 @@ bool RifReaderEclipseOutput::dynamicResult(const QString& result, PorosityModelR { if (m_dynamicResultsAccess.isNull()) { - m_dynamicResultsAccess = createDynamicResultsAccess(m_fileSet); + m_dynamicResultsAccess = createDynamicResultsAccess(); } if (m_dynamicResultsAccess.isNull()) @@ -1023,7 +1023,7 @@ bool RifReaderEclipseOutput::openInitFile() return true; } - QString initFileName = RifEclipseOutputFileTools::fileNameByType(m_fileSet, ECL_INIT_FILE); + QString initFileName = RifEclipseOutputFileTools::firstFileNameOfType(m_filesWithSameBaseName, ECL_INIT_FILE); if (initFileName.size() > 0) { m_ecl_init_file = ecl_file_open(initFileName.toAscii().data()); diff --git a/ApplicationCode/FileInterface/RifReaderEclipseOutput.h b/ApplicationCode/FileInterface/RifReaderEclipseOutput.h index 8217b58ca5..cfd5f829ce 100644 --- a/ApplicationCode/FileInterface/RifReaderEclipseOutput.h +++ b/ApplicationCode/FileInterface/RifReaderEclipseOutput.h @@ -62,18 +62,18 @@ private: void extractResultValuesBasedOnPorosityModel(PorosityModelResultType matrixOrFracture, std::vector* values, const std::vector& fileValues); - static RifEclipseRestartDataAccess* createDynamicResultsAccess(const QStringList& fileSet); + RifEclipseRestartDataAccess* createDynamicResultsAccess(); QStringList validKeywordsForPorosityModel(const QStringList& keywords, const std::vector& keywordDataItemCounts, const RigActiveCellInfo* activeCellInfo, const RigActiveCellInfo* fractureActiveCellInfo, PorosityModelResultType matrixOrFracture, size_t timeStepCount) const; virtual std::vector timeSteps(); private: 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 m_timeSteps; + std::vector m_timeSteps; ecl_file_type* m_ecl_init_file; // File access to static results cvf::ref m_dynamicResultsAccess; // File access to dynamic results