Well allocation over time plot (#9655)

- Plot for showing well allocation over time. 
- Select time range
- Option to exclude time steps in selected range
- Possible value types: Flow rate, flow rate percentage, flow volume, accumulated flow volume, accumulated flow volume percentage
- Group small contributors into group "Others"
This commit is contained in:
Jørgen Herje
2023-01-18 09:18:00 +01:00
committed by GitHub
parent 128df2ada4
commit 95202ad36a
17 changed files with 1503 additions and 120 deletions

View File

@@ -886,6 +886,88 @@ QString RimWellPlotTools::flowUnitText( RimWellLogFile::WellFlowCondition condit
return unitText;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RimWellPlotTools::flowVolumePlotAxisTitle( RimWellLogFile::WellFlowCondition condition,
RiaDefines::EclipseUnitSystem unitSystem )
{
QString axisTitle;
if ( condition == RimWellLogFile::WELL_FLOW_COND_RESERVOIR )
{
QString unitText = RimWellPlotTools::flowVolumeUnitText( condition, unitSystem );
axisTitle = "Reservoir Flow Volume " + unitText;
}
else
{
QString unitText = RimWellPlotTools::flowVolumeUnitText( condition, unitSystem );
axisTitle = "Surface Flow Volume " + unitText;
}
return axisTitle;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString flowVolumeConditionReservoirUnitText( RiaDefines::EclipseUnitSystem unitSystem )
{
QString unitText;
switch ( unitSystem )
{
case RiaDefines::EclipseUnitSystem::UNITS_METRIC:
unitText = "[m<sup>3</sup>]";
break;
case RiaDefines::EclipseUnitSystem::UNITS_FIELD:
unitText = "[Brl]";
break;
case RiaDefines::EclipseUnitSystem::UNITS_LAB:
unitText = "[cm<sup>3</sup>]";
break;
default:
break;
}
return unitText;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RimWellPlotTools::flowVolumeUnitText( RimWellLogFile::WellFlowCondition condition,
RiaDefines::EclipseUnitSystem unitSystem )
{
QString unitText;
if ( condition == RimWellLogFile::WELL_FLOW_COND_RESERVOIR )
{
unitText = flowVolumeConditionReservoirUnitText( unitSystem );
}
else
{
switch ( unitSystem )
{
case RiaDefines::EclipseUnitSystem::UNITS_METRIC:
unitText = "[Liquid Sm<sup>3</sup>], [Gas kSm<sup>3</sup>]";
break;
case RiaDefines::EclipseUnitSystem::UNITS_FIELD:
unitText = "[Liquid BBL], [Gas BOE]";
break;
case RiaDefines::EclipseUnitSystem::UNITS_LAB:
unitText = "[cm<sup>3</sup>]";
break;
default:
break;
}
}
return unitText;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------