mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Summary Import : Support cases with one file per time step (#8493)
This commit is contained in:
parent
cf4d2c9ad2
commit
c48451a532
@ -77,54 +77,6 @@ QString RiaEclipseFileNameTools::findRelatedDataFile()
|
||||
return relatedFilePath( EclipseFileType::ECLIPSE_DATA );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RiaEclipseFileNameTools::isProjectFile( const QString& fileName )
|
||||
{
|
||||
return hasMatchingSuffix( fileName, EclipseFileType::RESINSIGHT_PROJECT );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RiaEclipseFileNameTools::isGridFile( const QString& fileName )
|
||||
{
|
||||
if ( hasMatchingSuffix( fileName, EclipseFileType::ECLIPSE_EGRID ) )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return hasMatchingSuffix( fileName, EclipseFileType::ECLIPSE_GRID );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RiaEclipseFileNameTools::isSummarySpecFile( const QString& fileName )
|
||||
{
|
||||
return hasMatchingSuffix( fileName, EclipseFileType::ECLIPSE_SMSPEC );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool RiaEclipseFileNameTools::isSummaryDataFilePresent( const QString& smspecFileName )
|
||||
{
|
||||
QFileInfo fi( smspecFileName );
|
||||
{
|
||||
QString candidateFileName = fi.absolutePath() + '/' + fi.baseName() + ".UNSMRY";
|
||||
if ( QFile::exists( candidateFileName ) ) return true;
|
||||
}
|
||||
|
||||
{
|
||||
QString candidateFileName = fi.absolutePath() + '/' + fi.baseName() + ".FUNSMRY";
|
||||
if ( QFile::exists( candidateFileName ) ) return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -49,11 +49,6 @@ public:
|
||||
QString findRelatedSummarySpecFile();
|
||||
QString findRelatedDataFile();
|
||||
|
||||
static bool isProjectFile( const QString& fileName );
|
||||
static bool isGridFile( const QString& fileName );
|
||||
static bool isSummarySpecFile( const QString& fileName );
|
||||
static bool isSummaryDataFilePresent( const QString& smspecFileName );
|
||||
|
||||
private:
|
||||
QString relatedFilePath( EclipseFileType fileType ) const;
|
||||
|
||||
|
@ -625,14 +625,12 @@ std::vector<RimSummaryCase*> RimSummaryCaseMainCollection::createSummaryCasesFro
|
||||
{
|
||||
const QString& smspecFileName = fileInfo.summaryFileName();
|
||||
|
||||
bool isEsmryFile = smspecFileName.endsWith( "ESMRY" );
|
||||
bool foundDataFile = RiaEclipseFileNameTools::isSummaryDataFilePresent( smspecFileName );
|
||||
if ( foundDataFile || isEsmryFile )
|
||||
if ( !smspecFileName.isEmpty() )
|
||||
{
|
||||
RimFileSummaryCase* newSumCase = new RimFileSummaryCase();
|
||||
auto newSumCase = new RimFileSummaryCase();
|
||||
|
||||
newSumCase->setIncludeRestartFiles( fileInfo.includeRestartFiles() );
|
||||
newSumCase->setSummaryHeaderFileName( fileInfo.summaryFileName() );
|
||||
newSumCase->setSummaryHeaderFileName( smspecFileName );
|
||||
newSumCase->updateOptionSensitivity();
|
||||
project->assignCaseIdToSummaryCase( newSumCase );
|
||||
|
||||
|
@ -108,3 +108,34 @@ def test_summary_no_unsmry(rips_instance, initialize_test):
|
||||
|
||||
summary_case = rips_instance.project.import_summary_case(temp_path)
|
||||
assert summary_case is None
|
||||
|
||||
def test_summary_set_values(rips_instance, initialize_test):
|
||||
casePath = dataroot.PATH + "/flow_diagnostics_test/SIMPLE_SUMMARY2.SMSPEC"
|
||||
summary_case = rips_instance.project.import_summary_case(casePath)
|
||||
assert summary_case.id == 1
|
||||
|
||||
addresses = summary_case.available_addresses()
|
||||
original_keyword_count = len(addresses.values)
|
||||
|
||||
summary_data = summary_case.summary_vector_values("FOPT")
|
||||
assert len(summary_data.values) == 60
|
||||
|
||||
summary_case.set_summary_values("FOPT_1", "", summary_data.values)
|
||||
generated_summary_data = summary_case.summary_vector_values("FOPT_1")
|
||||
assert len(generated_summary_data.values) == 60
|
||||
|
||||
addresses = summary_case.available_addresses()
|
||||
current_keyword_count = len(addresses.values)
|
||||
assert current_keyword_count == original_keyword_count + 1
|
||||
|
||||
# Using existing keyword will overwrite existing data
|
||||
summary_case.set_summary_values("FOPT_1", "", summary_data.values)
|
||||
addresses = summary_case.available_addresses()
|
||||
current_keyword_count = len(addresses.values)
|
||||
assert current_keyword_count == original_keyword_count + 1
|
||||
|
||||
# invalid value count, check that available addresses are unchanged
|
||||
summary_case.set_summary_values("FOPT_2", "", [])
|
||||
addresses = summary_case.available_addresses()
|
||||
current_keyword_count = len(addresses.values)
|
||||
assert current_keyword_count == original_keyword_count + 1
|
||||
|
Loading…
Reference in New Issue
Block a user