Refactor ensemble import dialog

* #9773 Refactor ensemble import dialog.
* #9773 Add support for ensemble import of StimPlan/Reveal summary data.
* #9773 Add method for finding min and max time steps.
* #9773 Add option for resampling to hour intervals.
* #9773 Add option for resampling to minute intervals.
* #9773 Ensemble statistics: determine sub-sampling period dynamically.
* Use RiaWeightedMeanCalculator for curve resampling.
* Add HOUR and MINUTE to date time app enum.
* #9773 Generate better ensembles for StimPlan summaries.
* #9773 Fix parameters.txt lookup for StimPlan summaries
* Refactor: Improve interface of RicImportSummaryCasesFreature::createSummaryCasesFromFiles

Co-authored-by: Magne Sjaastad <magne.sjaastad@ceetronsolutions.com>
This commit is contained in:
Kristian Bendiksen
2023-04-20 10:16:43 +02:00
committed by GitHub
parent 67264da0a8
commit ff209ad7c2
34 changed files with 960 additions and 434 deletions

View File

@@ -247,7 +247,8 @@ void RifCaseRealizationRunspecificationReader::parse()
//--------------------------------------------------------------------------------------------------
QString RifCaseRealizationParametersFileLocator::locate( const QString& modelPath )
{
int MAX_LEVELS_UP = 3;
// Chosen to find parameters file for StimPlan ensembles.
int MAX_LEVELS_UP = 5;
int dirLevel = 0;
QDir qdir( modelPath );

View File

@@ -382,10 +382,13 @@ QString RifSummaryCaseRestartSelector::getSummaryFileFromGridFile( const QString
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RifSummaryCaseFileImportInfo::RifSummaryCaseFileImportInfo( const QString& summaryFileName, const QString& gridFileName )
RifSummaryCaseFileImportInfo::RifSummaryCaseFileImportInfo( const QString& summaryFileName,
const QString& gridFileName,
RiaDefines::FileType fileType )
: m_summaryFileName( summaryFileName )
, m_gridFileName( gridFileName )
, m_failOnSummaryFileImportError( false )
, m_fileType( fileType )
{
}
@@ -424,9 +427,18 @@ void RifSummaryCaseFileImportInfo::setFailOnSummaryFileError( bool failOnSummary
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RifSummaryCaseFileResultInfo::RifSummaryCaseFileResultInfo( const QString& summaryFileName, bool includeRestartFiles )
RiaDefines::FileType RifSummaryCaseFileImportInfo::fileType() const
{
return m_fileType;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RifSummaryCaseFileResultInfo::RifSummaryCaseFileResultInfo( const QString& summaryFileName, bool includeRestartFiles, RiaDefines::FileType fileType )
: m_summaryFileName( summaryFileName )
, m_includeRestartFiles( includeRestartFiles )
, m_fileType( fileType )
{
CVF_ASSERT( !m_summaryFileName.isEmpty() );
}
@@ -447,6 +459,14 @@ bool RifSummaryCaseFileResultInfo::includeRestartFiles() const
return m_includeRestartFiles;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
RiaDefines::FileType RifSummaryCaseFileResultInfo::fileType() const
{
return m_fileType;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -18,6 +18,8 @@
#pragma once
#include "RiaSummaryDefines.h"
#include "RicSummaryCaseRestartDialog.h"
#include <QString>
@@ -70,17 +72,21 @@ private:
class RifSummaryCaseFileImportInfo
{
public:
RifSummaryCaseFileImportInfo( const QString& summaryFileName, const QString& gridFileName );
RifSummaryCaseFileImportInfo( const QString& summaryFileName,
const QString& gridFileName,
RiaDefines::FileType fileType = RiaDefines::FileType::SMSPEC );
const QString& summaryFileName() const;
const QString& gridFileName() const;
bool failOnSummaryFileError() const;
void setFailOnSummaryFileError( bool failOnSummaryFileImportError );
const QString& summaryFileName() const;
const QString& gridFileName() const;
bool failOnSummaryFileError() const;
void setFailOnSummaryFileError( bool failOnSummaryFileImportError );
RiaDefines::FileType fileType() const;
private:
QString m_summaryFileName;
QString m_gridFileName;
bool m_failOnSummaryFileImportError;
QString m_summaryFileName;
QString m_gridFileName;
bool m_failOnSummaryFileImportError;
RiaDefines::FileType m_fileType;
};
//==================================================================================================
@@ -89,15 +95,19 @@ private:
class RifSummaryCaseFileResultInfo
{
public:
RifSummaryCaseFileResultInfo( const QString& summaryFileName, bool includeRestartFiles );
RifSummaryCaseFileResultInfo( const QString& summaryFileName,
bool includeRestartFiles,
RiaDefines::FileType fileType = RiaDefines::FileType::SMSPEC );
const QString& summaryFileName() const;
bool includeRestartFiles() const;
const QString& summaryFileName() const;
bool includeRestartFiles() const;
RiaDefines::FileType fileType() const;
bool operator<( const RifSummaryCaseFileResultInfo& other ) const;
bool operator==( const RifSummaryCaseFileResultInfo& other ) const;
private:
QString m_summaryFileName;
bool m_includeRestartFiles;
QString m_summaryFileName;
bool m_includeRestartFiles;
RiaDefines::FileType m_fileType;
};