pyscal.scalrecommendation

SCALrecommendation, container for low, base and high WaterOilGas objects

class pyscal.scalrecommendation.SCALrecommendation(low, base, high, tag=None, h=0.01)[source]

A SCAL recommendation consists of three OilWaterGas objects, tagged low, base and high.

This container exists in order to to interpolation from -1 (low), through 0 (base) and to 1 (high).

Parameters:
  • low (Union[WaterOilGas, GasWater]) – An object representing the low case

  • base (Union[WaterOilGas, GasWater]) – An object representing the base case

  • high (Union[WaterOilGas, GasWater]) – An object representing the high case

  • tag (Optional[str]) – A string that describes the recommendation. Optional.

add_simple_J(a=5.0, b=-1.5, poro_ref=0.25, perm_ref=100.0, drho=300.0, g=9.81)[source]

Add (identical) simplified J-function to all water-oil curves in the SCAL recommendation set

Return type:

None

interpolate(parameter, parameter2=None, h=None)[source]

Interpolate between low, base and high

Endpoints are located for input curves, and interpolated individually. Interpolation for the nonlinear part is done on a normalized interval between the endpoints

Interpolation is linear in relperm-direction, and will thus not be linear in log-relperm-direction

This method returns an WaterOilGas object which can be realized into printed tables. No attempt is made to parametrize the interpolant in L,E,T parameter space, or Corey-space.

Parameters:
  • parameter (float) – Between -1 and 1, inclusive. -1 reproduces low/ pessimistic curve, 0 gives base, 1 gives high/optimistic.

  • parameter2 (Optional[float]) – If not None, used for the gas-oil interpolation, enables having interpolation uncorrelated for WaterOil and GasOil. Ignored for GasWater (no warning).

  • h (Optional[float]) – Saturation step length in generated tables. Does not need to be the same as the tables interpolation is done from.

Return type:

Union[WaterOilGas, GasWater]