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();
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;

View File

@@ -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;

View File

@@ -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();
}

View File

@@ -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 );

View File

@@ -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";
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------

View File

@@ -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,