mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
* #4732 Fix missing refresh for ensemble RFT * WIP * #4732 Fix missing refresh for ensemble RFT * WIP * Make sure Observed RFT data is loaded on startup * Make error bars work for RFT plots * #4761 Add labels with formation and value/error to observed data points * Changes after review
This commit is contained in:
@@ -46,7 +46,8 @@ public:
|
||||
PRESSURE_P10,
|
||||
PRESSURE_P50,
|
||||
PRESSURE_P90,
|
||||
PRESSURE_MEAN
|
||||
PRESSURE_MEAN,
|
||||
PRESSURE_ERROR
|
||||
};
|
||||
|
||||
public:
|
||||
@@ -83,4 +84,4 @@ private:
|
||||
|
||||
bool operator==( const RifEclipseRftAddress& first, const RifEclipseRftAddress& second );
|
||||
|
||||
bool operator<( const RifEclipseRftAddress& first, const RifEclipseRftAddress& second );
|
||||
bool operator<( const RifEclipseRftAddress& first, const RifEclipseRftAddress& second );
|
||||
|
||||
@@ -82,7 +82,8 @@ void RifReaderEnsembleStatisticsRft::values( const RifEclipseRftAddress& rftAddr
|
||||
rftAddress.wellLogChannel() == RifEclipseRftAddress::PRESSURE_MEAN ||
|
||||
rftAddress.wellLogChannel() == RifEclipseRftAddress::PRESSURE_P10 ||
|
||||
rftAddress.wellLogChannel() == RifEclipseRftAddress::PRESSURE_P50 ||
|
||||
rftAddress.wellLogChannel() == RifEclipseRftAddress::PRESSURE_P90 );
|
||||
rftAddress.wellLogChannel() == RifEclipseRftAddress::PRESSURE_P90 ||
|
||||
rftAddress.wellLogChannel() == RifEclipseRftAddress::PRESSURE_ERROR );
|
||||
|
||||
auto it = m_cachedValues.find( rftAddress );
|
||||
if ( it == m_cachedValues.end() )
|
||||
|
||||
@@ -138,6 +138,33 @@ bool RifReaderFmuRft::directoryContainsFmuRftData( const QString& filePath )
|
||||
return false;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<QString> RifReaderFmuRft::labels( const RifEclipseRftAddress& rftAddress )
|
||||
{
|
||||
std::vector<QString> formationLabels;
|
||||
|
||||
if ( m_allWellObservations.empty() )
|
||||
{
|
||||
load();
|
||||
}
|
||||
|
||||
auto it = m_allWellObservations.find( rftAddress.wellName() );
|
||||
if ( it != m_allWellObservations.end() )
|
||||
{
|
||||
const std::vector<Observation>& observations = it->second.observations;
|
||||
for ( const Observation& observation : observations )
|
||||
{
|
||||
formationLabels.push_back( QString( "%1 - Pressure: %2 +/- %3" )
|
||||
.arg( observation.formation )
|
||||
.arg( observation.pressure )
|
||||
.arg( observation.pressureError ) );
|
||||
}
|
||||
}
|
||||
return formationLabels;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
@@ -162,9 +189,11 @@ std::set<RifEclipseRftAddress> RifReaderFmuRft::eclipseRftAddresses()
|
||||
RifEclipseRftAddress tvdAddress( wellName, dateTime, RifEclipseRftAddress::TVD );
|
||||
RifEclipseRftAddress mdAddress( wellName, dateTime, RifEclipseRftAddress::MD );
|
||||
RifEclipseRftAddress pressureAddress( wellName, dateTime, RifEclipseRftAddress::PRESSURE );
|
||||
RifEclipseRftAddress pressureErrorAddress( wellName, dateTime, RifEclipseRftAddress::PRESSURE_ERROR );
|
||||
allAddresses.insert( tvdAddress );
|
||||
allAddresses.insert( mdAddress );
|
||||
allAddresses.insert( pressureAddress );
|
||||
allAddresses.insert( pressureErrorAddress );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -202,6 +231,9 @@ void RifReaderFmuRft::values( const RifEclipseRftAddress& rftAddress, std::vecto
|
||||
case RifEclipseRftAddress::PRESSURE:
|
||||
values->push_back( observation.pressure );
|
||||
break;
|
||||
case RifEclipseRftAddress::PRESSURE_ERROR:
|
||||
values->push_back( observation.pressureError );
|
||||
break;
|
||||
default:
|
||||
CAF_ASSERT( false && "Wrong channel type sent to Fmu RFT reader" );
|
||||
}
|
||||
|
||||
@@ -68,6 +68,8 @@ public:
|
||||
static QStringList findSubDirectoriesWithFmuRftData( const QString& filePath );
|
||||
static bool directoryContainsFmuRftData( const QString& filePath );
|
||||
|
||||
std::vector<QString> labels( const RifEclipseRftAddress& rftAddress );
|
||||
|
||||
std::set<RifEclipseRftAddress> eclipseRftAddresses() override;
|
||||
void values( const RifEclipseRftAddress& rftAddress, std::vector<double>* values ) override;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user