#5254 Support estimating RKB-diff from TVDMSL and MDRKB when first TVDMSL == 0

* Add warning when the RKB-diff cannot be estimated
This commit is contained in:
Gaute Lindkvist 2020-02-03 14:05:51 +01:00
parent a66a1bca22
commit a85745cb91
3 changed files with 21 additions and 2 deletions

View File

@ -178,8 +178,15 @@ void RicNewWellBoreStabilityPlotFeature::onActionTriggered( bool isChecked )
if ( !wellPath->wellPathGeometry() )
{
RiaLogging::warning( QString( "The well path %1 has no geometry. Cannot create a Well Bore Stability Plot" )
.arg( wellPath->name() ) );
RiaLogging::error( QString( "The well path %1 has no geometry. Cannot create a Well Bore Stability Plot" )
.arg( wellPath->name() ) );
return;
}
if ( wellPath->wellPathGeometry()->rkbDiff() == HUGE_VAL )
{
RiaLogging::error( QString( "The well path %1 has no datum elevation and we cannot estimate TVDRKB. Cannot "
"create a Well Bore Stability Plot" )
.arg( wellPath->name() ) );
return;
}

View File

@ -23,6 +23,7 @@
#include "RigGeoMechWellLogExtractor.h"
#include "RiaDefines.h"
#include "RiaLogging.h"
#include "RiaWeightedMeanCalculator.h"
#include "RigFemPart.h"
#include "RigFemPartCollection.h"
@ -126,6 +127,13 @@ QString RigGeoMechWellLogExtractor::curveData( const RigFemResultAddress& resAdd
if ( resAddr.resultPosType == RIG_WELLPATH_DERIVED )
{
if ( m_wellPath->rkbDiff() == HUGE_VAL )
{
RiaLogging::error( "Well path has an invalid datum elevation and we cannot estimate TVDRKB. No well bore "
"stability curves created." );
return "";
}
if ( resAddr.fieldName == RiaDefines::wbsFGResult().toStdString() )
{
wellBoreWallCurveData( resAddr, frameIndex, values );

View File

@ -77,6 +77,10 @@ double RigWellPath::rkbDiff() const
return diff;
}
else if ( cvf::Math::abs( m_wellPathPoints[0].z() ) < epsilon )
{
return m_measuredDepths[0]; // Assume a vertical drop before the first md point.
}
}
return HUGE_VAL;
}