Perform a ThermoGIS Doublet performance simulation.
Perform a ThermoGIS Stochastic Doublet performance simulation.
This function computes doublet performance metrics across all dimensions of the input dataset.
The input can be scalar, 1D, or 2D gridded data. If no temperature values are provided, they
are estimated from a gradient defined in `input_params`. If a mask is provided, any non-NaN
values will result in zeroing the output values at those locations.
The input can be scalar, 1D, or 2D gridded data.
The ThermoGIS methodology works by simulating doublet performance across percentiles of transmissivity, which in turn is calcualted using probability distributions of thickness and permeability.
If no temperature values are provided, they are estimated from a gradient defined in `utc_properties`.
If a mask is provided, any non-NaN values in the mask datarray will result in zeroing the output values at those locations.
The ThermoGIS methodology works by simulating doublet performance across percentiles of transmissivity, which in turn is calculated using probability distributions of thickness and permeability.
The output results will always contain the dimension p_value; although by default only a P50 simulation is done.
Parameters
----------
reservoir_properties : xr.Dataset
An xarray Dataset containing the required input variables:
- "thickness_mean"
- "thickness_sd"
- "porosity"
- "ntg"
- "depth"
- "ln_permeability_mean"
- "ln_permeability_sd"
- thickness_mean
- thickness_sd
- porosity
- ntg
- depth
- ln_permeability_mean
- ln_permeability_sd
Optional variables:
- "temperature" : If not provided, temperature is estimated using the depth and a temperature gradient from `input_params`.
- "mask" : If provided, all non-NaN values will result in setting corresponding output values to zero.
- temperature : If not provided, temperature is estimated using the depth and a temperature gradient from `input_params`.
- mask : If provided, all non-NaN values will result in setting corresponding output values to zero.
utc_properties : dict
A dictionary of UTC (Underground Thermal Capacity) properties used for simulation.
utc_properties : JClass
A Java class specifying the properties of the doublet being simulated
rng_seed : int
Random seed used for stochastic components of the simulation.