#5936 Fix use of LAS for PP Non-Reservoir

This commit is contained in:
Gaute Lindkvist 2020-05-15 12:35:29 +02:00
parent 9be0e0ba59
commit ce5b88405b
2 changed files with 14 additions and 11 deletions

View File

@ -237,7 +237,8 @@ std::vector<RigGeoMechWellLogExtractor::WbsParameterSource>
return finalSourcesPerSegment; return finalSourcesPerSegment;
} }
bool isPPresult = parameter == RigWbsParameter::PP_Reservoir() || parameter == RigWbsParameter::PP_NonReservoir(); bool isPPResResult = parameter == RigWbsParameter::PP_Reservoir();
bool isPPresult = isPPResResult || parameter == RigWbsParameter::PP_NonReservoir();
std::vector<WbsParameterSource> allSources = parameter.sources(); std::vector<WbsParameterSource> allSources = parameter.sources();
auto primary_it = std::find( allSources.begin(), allSources.end(), primarySource ); auto primary_it = std::find( allSources.begin(), allSources.end(), primarySource );
@ -315,9 +316,11 @@ std::vector<RigGeoMechWellLogExtractor::WbsParameterSource>
{ {
if ( !lasFileValues.empty() ) if ( !lasFileValues.empty() )
{ {
double lasValue = getWellLogIntersectionValue( intersectionIdx, lasFileValues ); double lasValue = getWellLogIntersectionValue( intersectionIdx, lasFileValues );
if ( lasValue != std::numeric_limits<double>::infinity() && intersectionIdx < gridValues.size() && // Only accept las-values for reservoir if the result is PP Reservoir
gridValues[intersectionIdx] != std::numeric_limits<double>::infinity() ) bool invalidLasRegion = isPPResResult && intersectionIdx < gridValues.size() &&
gridValues[intersectionIdx] != std::numeric_limits<double>::infinity();
if ( lasValue != std::numeric_limits<double>::infinity() && !invalidLasRegion )
{ {
unscaledValues[intersectionIdx] = lasValue; unscaledValues[intersectionIdx] = lasValue;
finalSourcesPerSegment[intersectionIdx] = RigWbsParameter::LAS_FILE; finalSourcesPerSegment[intersectionIdx] = RigWbsParameter::LAS_FILE;

View File

@ -245,7 +245,7 @@ RigWbsParameter RigWbsParameter::PP_Reservoir()
{LAS_FILE, SourceAddress( "POR_RES_INP", "", RiaWellLogUnitTools<double>::gPerCm3UnitString() )}, {LAS_FILE, SourceAddress( "POR_RES_INP", "", RiaWellLogUnitTools<double>::gPerCm3UnitString() )},
{ELEMENT_PROPERTY_TABLE, SourceAddress( "POR_INP", "", RiaWellLogUnitTools<double>::pascalUnitString() )}, {ELEMENT_PROPERTY_TABLE, SourceAddress( "POR_INP", "", RiaWellLogUnitTools<double>::pascalUnitString() )},
{ELEMENT_PROPERTY_TABLE, SourceAddress( "PP_INP", "", RiaWellLogUnitTools<double>::sg_emwUnitString() )}}; {ELEMENT_PROPERTY_TABLE, SourceAddress( "PP_INP", "", RiaWellLogUnitTools<double>::sg_emwUnitString() )}};
return RigWbsParameter( "PP Reservoir", true, sources ); return RigWbsParameter( "PP_Reservoir", true, sources );
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -260,7 +260,7 @@ RigWbsParameter RigWbsParameter::PP_NonReservoir()
{ELEMENT_PROPERTY_TABLE, SourceAddress( "PP_NONRES_INP", "", RiaWellLogUnitTools<double>::sg_emwUnitString() )}, {ELEMENT_PROPERTY_TABLE, SourceAddress( "PP_NONRES_INP", "", RiaWellLogUnitTools<double>::sg_emwUnitString() )},
{HYDROSTATIC, SourceAddress( "Hydrostatic", "", RiaWellLogUnitTools<double>::barUnitString() )}}; {HYDROSTATIC, SourceAddress( "Hydrostatic", "", RiaWellLogUnitTools<double>::barUnitString() )}};
return RigWbsParameter( "PP Non-Reservoir", true, sources ); return RigWbsParameter( "PP_Non-Reservoir", true, sources );
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -268,7 +268,7 @@ RigWbsParameter RigWbsParameter::PP_NonReservoir()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RigWbsParameter RigWbsParameter::poissonRatio() RigWbsParameter RigWbsParameter::poissonRatio()
{ {
return RigWbsParameter( "Poisson Ratio", return RigWbsParameter( "Poisson_Ratio",
false, false,
{{LAS_FILE, SourceAddress( "POISSON_RATIO_INP" )}, {{LAS_FILE, SourceAddress( "POISSON_RATIO_INP" )},
{ELEMENT_PROPERTY_TABLE, SourceAddress( "POISSON_RATIO_INP" )}, {ELEMENT_PROPERTY_TABLE, SourceAddress( "POISSON_RATIO_INP" )},
@ -296,7 +296,7 @@ RigWbsParameter RigWbsParameter::OBG()
std::vector<std::pair<Source, SourceAddress>> sources = std::vector<std::pair<Source, SourceAddress>> sources =
{{GRID, SourceAddress( "ST", "S33", RiaWellLogUnitTools<double>::barUnitString() )}, {{GRID, SourceAddress( "ST", "S33", RiaWellLogUnitTools<double>::barUnitString() )},
{LAS_FILE, SourceAddress( "OBG_INP", "", RiaWellLogUnitTools<double>::barUnitString() )}}; {LAS_FILE, SourceAddress( "OBG_INP", "", RiaWellLogUnitTools<double>::barUnitString() )}};
return RigWbsParameter( "OBG Input", true, sources ); return RigWbsParameter( "OBG_Input", true, sources );
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -317,7 +317,7 @@ RigWbsParameter RigWbsParameter::SH()
{ {
std::vector<std::pair<Source, SourceAddress>> sources = { std::vector<std::pair<Source, SourceAddress>> sources = {
{GRID, SourceAddress( "ST", "S3", RiaWellLogUnitTools<double>::barUnitString() )}}; {GRID, SourceAddress( "ST", "S3", RiaWellLogUnitTools<double>::barUnitString() )}};
return RigWbsParameter( "SH Input", true, sources ); return RigWbsParameter( "SH_Input", true, sources );
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -361,7 +361,7 @@ RigWbsParameter RigWbsParameter::K0_SH()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RigWbsParameter RigWbsParameter::FG_Shale() RigWbsParameter RigWbsParameter::FG_Shale()
{ {
RigWbsParameter param( "FG Shale", RigWbsParameter param( "FG_Shale",
false, false,
{{DERIVED_FROM_K0FG, SourceAddress()}, {{DERIVED_FROM_K0FG, SourceAddress()},
{PROPORTIONAL_TO_SH, SourceAddress()}, {PROPORTIONAL_TO_SH, SourceAddress()},
@ -376,7 +376,7 @@ RigWbsParameter RigWbsParameter::FG_Shale()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
RigWbsParameter RigWbsParameter::waterDensity() RigWbsParameter RigWbsParameter::waterDensity()
{ {
RigWbsParameter param( "Density of Sea Water", RigWbsParameter param( "WaterDensity",
false, false,
{{USER_DEFINED, SourceAddress()}, {{USER_DEFINED, SourceAddress()},
{LAS_FILE, SourceAddress( "RHO_INP", "", RiaWellLogUnitTools<double>::gPerCm3UnitString() )}} ); {LAS_FILE, SourceAddress( "RHO_INP", "", RiaWellLogUnitTools<double>::gPerCm3UnitString() )}} );