Correlation: Sync depth range to tornado and use RFT curve depth values for filtering

This commit is contained in:
Magne Sjaastad committed 2026-04-29 10:16:24 +02:00
1 parent 97ed7121ed
commit 42a11da26b
5 files changed
+85 -11

No files matched your search

@@ -1220,6 +1220,28 @@ std::vector<double> RimWellLogRftCurve::measuredDepthValues( QString& prefixText
return {};
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
std::vector<double> RimWellLogRftCurve::rftCurveDepthValues( RifReaderRftInterface* reader,
const QString& wellName,
const QDateTime& timeStep,
RigEclipseWellLogExtractor* extractor )
{
if ( !reader ) return {};
auto mdAddress = RifEclipseRftAddress::createAddress( wellName, timeStep, RifEclipseRftAddress::RftWellLogChannelType::MD );
std::vector<double> depths;
reader->values( mdAddress, &depths );
if ( depths.empty() && extractor ) depths = reader->computeMeasuredDepth( wellName, timeStep, extractor );
if ( depths.empty() )
{
auto tvdAddress = RifEclipseRftAddress::createAddress( wellName, timeStep, RifEclipseRftAddress::RftWellLogChannelType::TVD );
reader->values( tvdAddress, &depths );
}
return depths;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -96,6 +96,14 @@ public:
void setScaleFactor( double factor );
// Returns the depth values an RFT curve uses for its depth axis for the given well/time step.
// Fallback chain: RFT MD channel, then extractor-derived MD, then TVD channel as a final
// fallback (the RFT plot displays TVD on the depth axis when MD is missing).
static std::vector<double> rftCurveDepthValues( RifReaderRftInterface* reader,
const QString& wellName,
const QDateTime& timeStep,
RigEclipseWellLogExtractor* extractor );
protected:
QString createCurveAutoName() override;
QString createCurveNameFromTemplate( const QString& templateText ) override;