Merge pull request #4896 from OPM/add-error-message-to-fmu-import

Add error message to FMU import
This commit is contained in:
Magne Sjaastad
2019-10-18 18:16:58 +02:00
committed by GitHub
6 changed files with 55 additions and 9 deletions

View File

@@ -75,11 +75,15 @@ void RicImportFormationNamesFeature::onActionTriggered( bool isChecked )
{ {
RiaApplication* app = RiaApplication::instance(); RiaApplication* app = RiaApplication::instance();
QString defaultDir = app->lastUsedDialogDirectory( "BINARY_GRID" ); QString defaultDir = app->lastUsedDialogDirectory( "BINARY_GRID" );
QString filterText = QString(
"Formation Names description File (*.lyr);;FMU Layer Zone Table(%1);;All Files (*.*)" )
.arg( RimFormationNames::layerZoneTableFileName() );
QStringList fileNames = QFileDialog::getOpenFileNames( Riu3DMainWindowTools::mainWindowWidget(), QStringList fileNames = QFileDialog::getOpenFileNames( Riu3DMainWindowTools::mainWindowWidget(),
"Import Formation Names", "Import Formation Names",
defaultDir, defaultDir,
"Formation Names description File (*.lyr);;FMU Layer Zone " filterText );
"Table(layer_zone_table.txt);;All Files (*.*)" );
if ( fileNames.isEmpty() ) return; if ( fileNames.isEmpty() ) return;

View File

@@ -15,12 +15,18 @@
// for more details. // for more details.
// //
///////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////
#include "RicImportObservedFmuDataFeature.h" #include "RicImportObservedFmuDataFeature.h"
#include "RiaApplication.h" #include "RiaApplication.h"
#include "RiaGuiApplication.h"
#include "RiaLogging.h"
#include "RicImportFormationNamesFeature.h" #include "RicImportFormationNamesFeature.h"
#include "RifReaderFmuRft.h" #include "RifReaderFmuRft.h"
#include "RimFormationNames.h"
#include "RimObservedDataCollection.h" #include "RimObservedDataCollection.h"
#include "RimObservedFmuRftData.h" #include "RimObservedFmuRftData.h"
#include "RimObservedSummaryData.h" #include "RimObservedSummaryData.h"
@@ -53,7 +59,24 @@ void RicImportObservedFmuDataFeature::selectObservedDataPathInDialog()
QFileDialog::ShowDirsOnly ); QFileDialog::ShowDirsOnly );
QStringList subDirsWithFmuData = RifReaderFmuRft::findSubDirectoriesWithFmuRftData( directory ); 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(); RimProject* proj = app->project();
RimObservedDataCollection* observedDataCollection = proj->activeOilField() RimObservedDataCollection* observedDataCollection = proj->activeOilField()
@@ -66,7 +89,7 @@ void RicImportObservedFmuDataFeature::selectObservedDataPathInDialog()
{ {
importedData = observedDataCollection->createAndAddFmuRftDataFromPath( subDir ); importedData = observedDataCollection->createAndAddFmuRftDataFromPath( subDir );
QDir dir( subDir ); QDir dir( subDir );
QString layerZoneFile = dir.absoluteFilePath( "layer_zone_table.txt" ); QString layerZoneFile = dir.absoluteFilePath( RimFormationNames::layerZoneTableFileName() );
if ( QFileInfo::exists( layerZoneFile ) ) if ( QFileInfo::exists( layerZoneFile ) )
{ {
QStringList fileNames; QStringList fileNames;

View File

@@ -112,7 +112,7 @@ bool RifReaderFmuRft::directoryContainsFmuRftData( const QString& filePath )
} }
QDir dir( filePath ); QDir dir( filePath );
if ( !dir.exists( "well_date_rft.txt" ) ) if ( !dir.exists( RifReaderFmuRft::wellPathFileName() ) )
{ {
return false; return false;
} }
@@ -138,6 +138,14 @@ bool RifReaderFmuRft::directoryContainsFmuRftData( const QString& filePath )
return false; return false;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RifReaderFmuRft::wellPathFileName()
{
return "well_date_rft.txt";
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@@ -386,10 +394,10 @@ RifReaderFmuRft::WellObservationMap RifReaderFmuRft::loadWellDates( QDir& dir, Q
WellObservationMap validObservations; WellObservationMap validObservations;
QFileInfo wellDateFileInfo( dir.absoluteFilePath( "well_date_rft.txt" ) ); QFileInfo wellDateFileInfo( dir.absoluteFilePath( RifReaderFmuRft::wellPathFileName() ) );
if ( !( wellDateFileInfo.exists() && wellDateFileInfo.isFile() && wellDateFileInfo.isReadable() ) ) 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(); return WellObservationMap();
} }

View File

@@ -67,6 +67,7 @@ public:
static QStringList findSubDirectoriesWithFmuRftData( const QString& filePath ); static QStringList findSubDirectoriesWithFmuRftData( const QString& filePath );
static bool directoryContainsFmuRftData( const QString& filePath ); static bool directoryContainsFmuRftData( const QString& filePath );
static QString wellPathFileName();
std::vector<QString> labels( const RifEclipseRftAddress& rftAddress ); std::vector<QString> labels( const RifEclipseRftAddress& rftAddress );

View File

@@ -151,7 +151,7 @@ void RimFormationNames::readFormationNamesFile( QString* errorMessage )
QFileInfo fileInfo( m_formationNamesFileName() ); QFileInfo fileInfo( m_formationNamesFileName() );
if ( fileInfo.fileName() == "layer_zone_table.txt" ) if ( fileInfo.fileName() == RimFormationNames::layerZoneTableFileName() )
{ {
readFmuFormationNameFile( stream, errorMessage ); readFmuFormationNameFile( stream, errorMessage );
} }
@@ -174,6 +174,14 @@ void RimFormationNames::updateFilePathsFromProjectPath( const QString& newProjec
nullptr ); nullptr );
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RimFormationNames::layerZoneTableFileName()
{
return "layer_zone_table.txt";
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@@ -49,6 +49,8 @@ public:
void readFormationNamesFile( QString* errorMessage ); void readFormationNamesFile( QString* errorMessage );
void updateFilePathsFromProjectPath( const QString& newProjectPath, const QString& oldProjectPath ); void updateFilePathsFromProjectPath( const QString& newProjectPath, const QString& oldProjectPath );
static QString layerZoneTableFileName();
protected: protected:
void fieldChangedByUi( const caf::PdmFieldHandle* changedField, void fieldChangedByUi( const caf::PdmFieldHandle* changedField,
const QVariant& oldValue, const QVariant& oldValue,