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();
|
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;
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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 );
|
||||||
|
|
||||||
|
|||||||
@@ -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";
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user