mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Merge pull request #4896 from OPM/add-error-message-to-fmu-import
Add error message to FMU import
This commit is contained in:
@@ -75,11 +75,15 @@ void RicImportFormationNamesFeature::onActionTriggered( bool isChecked )
|
||||
{
|
||||
RiaApplication* app = RiaApplication::instance();
|
||||
QString defaultDir = app->lastUsedDialogDirectory( "BINARY_GRID" );
|
||||
QStringList fileNames = QFileDialog::getOpenFileNames( Riu3DMainWindowTools::mainWindowWidget(),
|
||||
|
||||
QString filterText = QString(
|
||||
"Formation Names description File (*.lyr);;FMU Layer Zone Table(%1);;All Files (*.*)" )
|
||||
.arg( RimFormationNames::layerZoneTableFileName() );
|
||||
|
||||
QStringList fileNames = QFileDialog::getOpenFileNames( Riu3DMainWindowTools::mainWindowWidget(),
|
||||
"Import Formation Names",
|
||||
defaultDir,
|
||||
"Formation Names description File (*.lyr);;FMU Layer Zone "
|
||||
"Table(layer_zone_table.txt);;All Files (*.*)" );
|
||||
filterText );
|
||||
|
||||
if ( fileNames.isEmpty() ) return;
|
||||
|
||||
|
||||
@@ -15,12 +15,18 @@
|
||||
// for more details.
|
||||
//
|
||||
/////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "RicImportObservedFmuDataFeature.h"
|
||||
|
||||
#include "RiaApplication.h"
|
||||
#include "RiaGuiApplication.h"
|
||||
#include "RiaLogging.h"
|
||||
|
||||
#include "RicImportFormationNamesFeature.h"
|
||||
|
||||
#include "RifReaderFmuRft.h"
|
||||
|
||||
#include "RimFormationNames.h"
|
||||
#include "RimObservedDataCollection.h"
|
||||
#include "RimObservedFmuRftData.h"
|
||||
#include "RimObservedSummaryData.h"
|
||||
@@ -53,7 +59,24 @@ void RicImportObservedFmuDataFeature::selectObservedDataPathInDialog()
|
||||
QFileDialog::ShowDirsOnly );
|
||||
|
||||
QStringList subDirsWithFmuData = RifReaderFmuRft::findSubDirectoriesWithFmuRftData( directory );
|
||||
if ( subDirsWithFmuData.empty() ) return;
|
||||
if ( subDirsWithFmuData.empty() )
|
||||
{
|
||||
QString message =
|
||||
QString(
|
||||
"Could not find the file %1 in any sub-folder of %2.\nThis file is required for import of FMU data." )
|
||||
.arg( RifReaderFmuRft::wellPathFileName() )
|
||||
.arg( directory );
|
||||
|
||||
RiaGuiApplication* guiApp = RiaGuiApplication::instance();
|
||||
if ( guiApp )
|
||||
{
|
||||
QMessageBox::warning( nullptr, "Import of Observed FMU Data", message );
|
||||
}
|
||||
|
||||
RiaLogging::warning( message );
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
RimProject* proj = app->project();
|
||||
RimObservedDataCollection* observedDataCollection = proj->activeOilField()
|
||||
@@ -66,7 +89,7 @@ void RicImportObservedFmuDataFeature::selectObservedDataPathInDialog()
|
||||
{
|
||||
importedData = observedDataCollection->createAndAddFmuRftDataFromPath( subDir );
|
||||
QDir dir( subDir );
|
||||
QString layerZoneFile = dir.absoluteFilePath( "layer_zone_table.txt" );
|
||||
QString layerZoneFile = dir.absoluteFilePath( RimFormationNames::layerZoneTableFileName() );
|
||||
if ( QFileInfo::exists( layerZoneFile ) )
|
||||
{
|
||||
QStringList fileNames;
|
||||
|
||||
@@ -112,7 +112,7 @@ bool RifReaderFmuRft::directoryContainsFmuRftData( const QString& filePath )
|
||||
}
|
||||
|
||||
QDir dir( filePath );
|
||||
if ( !dir.exists( "well_date_rft.txt" ) )
|
||||
if ( !dir.exists( RifReaderFmuRft::wellPathFileName() ) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@@ -138,6 +138,14 @@ bool RifReaderFmuRft::directoryContainsFmuRftData( const QString& filePath )
|
||||
return false;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RifReaderFmuRft::wellPathFileName()
|
||||
{
|
||||
return "well_date_rft.txt";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -386,10 +394,10 @@ RifReaderFmuRft::WellObservationMap RifReaderFmuRft::loadWellDates( QDir& dir, Q
|
||||
|
||||
WellObservationMap validObservations;
|
||||
|
||||
QFileInfo wellDateFileInfo( dir.absoluteFilePath( "well_date_rft.txt" ) );
|
||||
QFileInfo wellDateFileInfo( dir.absoluteFilePath( RifReaderFmuRft::wellPathFileName() ) );
|
||||
if ( !( wellDateFileInfo.exists() && wellDateFileInfo.isFile() && wellDateFileInfo.isReadable() ) )
|
||||
{
|
||||
*errorMsg = QString( "well_date_rft.txt cannot be found at '%s'" ).arg( m_filePath );
|
||||
*errorMsg = QString( "%1 cannot be found at '%s'" ).arg( RifReaderFmuRft::wellPathFileName() ).arg( m_filePath );
|
||||
return WellObservationMap();
|
||||
}
|
||||
|
||||
|
||||
@@ -67,6 +67,7 @@ public:
|
||||
|
||||
static QStringList findSubDirectoriesWithFmuRftData( const QString& filePath );
|
||||
static bool directoryContainsFmuRftData( const QString& filePath );
|
||||
static QString wellPathFileName();
|
||||
|
||||
std::vector<QString> labels( const RifEclipseRftAddress& rftAddress );
|
||||
|
||||
|
||||
@@ -151,7 +151,7 @@ void RimFormationNames::readFormationNamesFile( QString* errorMessage )
|
||||
|
||||
QFileInfo fileInfo( m_formationNamesFileName() );
|
||||
|
||||
if ( fileInfo.fileName() == "layer_zone_table.txt" )
|
||||
if ( fileInfo.fileName() == RimFormationNames::layerZoneTableFileName() )
|
||||
{
|
||||
readFmuFormationNameFile( stream, errorMessage );
|
||||
}
|
||||
@@ -174,6 +174,14 @@ void RimFormationNames::updateFilePathsFromProjectPath( const QString& newProjec
|
||||
nullptr );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
QString RimFormationNames::layerZoneTableFileName()
|
||||
{
|
||||
return "layer_zone_table.txt";
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -49,6 +49,8 @@ public:
|
||||
void readFormationNamesFile( QString* errorMessage );
|
||||
void updateFilePathsFromProjectPath( const QString& newProjectPath, const QString& oldProjectPath );
|
||||
|
||||
static QString layerZoneTableFileName();
|
||||
|
||||
protected:
|
||||
void fieldChangedByUi( const caf::PdmFieldHandle* changedField,
|
||||
const QVariant& oldValue,
|
||||
|
||||
Reference in New Issue
Block a user