expreccs.utils.reg_sit_given_decks module

Utiliy script for creating a deck with projected pressures from given regional and site decks

class expreccs.utils.reg_sit_given_decks.BCCon(coords: list[list[float]], sbound: list[str], spres: list[float], ksfips: list[int], stmin: float, sopn: NDArray)

Bases: object

Boundary variables

coords: list[list[float]]
ksfips: list[int]
sbound: list[str]
sopn: NDArray
spres: list[float]
stmin: float
class expreccs.utils.reg_sit_given_decks.Borders(sx: list[list[float]], sy: list[list[float]], sz: list[list[float]], sf: list[list[int]], st: list[list[float]], sbound: list[str], sai: list[int])

Bases: object

Border variables

sai: list[int]
sbound: list[str]
sf: list[list[int]]
st: list[list[float]]
sx: list[list[float]]
sy: list[list[float]]
sz: list[list[float]]
class expreccs.utils.reg_sit_given_decks.Config(fol: str, fsit: str, explicit: bool, zones: bool, freq: NDArray, acoeff: NDArray, boundaries: list[int], nonregular: bool)

Bases: object

Config variables

acoeff: NDArray
boundaries: list[int]
explicit: bool
fol: str
freq: NDArray
fsit: str
nonregular: bool
zones: bool
class expreccs.utils.reg_sit_given_decks.InterpData(ri: list[NDArray], rx: list[NDArray], ry: list[NDArray], rz: list[NDArray], sx: list[list[float]], sy: list[list[float]], sz: list[list[float]], rf: list[NDArray], rk: list[NDArray], rt: list[NDArray], rkg: list[list[tuple[float, int]]], sf: list[list[int]], st: list[list[float]], sai: list[int], snum: list[int])

Bases: object

Interpolation variables

rf: list[NDArray]
ri: list[NDArray]
rk: list[NDArray]
rkg: list[list[tuple[float, int]]]
rt: list[NDArray]
rx: list[NDArray]
ry: list[NDArray]
rz: list[NDArray]
sai: list[int]
sf: list[list[int]]
snum: list[int]
st: list[list[float]]
sx: list[list[float]]
sy: list[list[float]]
sz: list[list[float]]
class expreccs.utils.reg_sit_given_decks.Regional(grid: EGrid, init: EclFile, rst: ERst, rfip: NDArray, act: NDArray, rdays: NDArray)

Bases: object

Regional variables

act: NDArray
grid: EGrid
init: EclFile
rdays: NDArray
rfip: NDArray
rst: ERst
class expreccs.utils.reg_sit_given_decks.RegionalCells(ri: list, rx: list, ry: list, rz: list, rf: list[NDArray], rt: list, rk: list, rkg: list[list[tuple[float, int]]], sbound: list[str])

Bases: object

Regional variables

rf: list[NDArray]
ri: list
rk: list
rkg: list[list[tuple[float, int]]]
rt: list
rx: list
ry: list
rz: list
sbound: list[str]
class expreccs.utils.reg_sit_given_decks.Site(grid: EGrid, init: EclFile, rst: ERst, sfip: NDArray, sdata: str)

Bases: object

Site variables

grid: EGrid
init: EclFile
rst: ERst
sdata: str
sfip: NDArray
class expreccs.utils.reg_sit_given_decks.SiteBorders(spres: list[float], sai: list[int], sbound: list[str], sxn: list[float], syn: list[float], szn: list[float], sfn: list[int], stn: list[float], sxw: list[float], syw: list[float], szw: list[float], sfw: list[int], stw: list[float], sxs: list[float], syl: list[float], szs: list[float], sfs: list[int], sts: list[float], sxe: list[float], sye: list[float], sze: list[float], sfe: list[int], ste: list[float])

Bases: object

Site variables

sai: list[int]
sbound: list[str]
sfe: list[int]
sfn: list[int]
sfs: list[int]
sfw: list[int]
spres: list[float]
ste: list[float]
stn: list[float]
sts: list[float]
stw: list[float]
sxe: list[float]
sxn: list[float]
sxs: list[float]
sxw: list[float]
sye: list[float]
syl: list[float]
syn: list[float]
syw: list[float]
sze: list[float]
szn: list[float]
szs: list[float]
szw: list[float]
class expreccs.utils.reg_sit_given_decks.XYMaps(x_i: NDArray, y_i: NDArray, z_i: NDArray, inds: list[int], fipr: NDArray, offset: list[float], oprn: NDArray, rtmin: float)

Bases: object

XYMaping variables

fipr: NDArray
inds: list[int]
offset: list[float]
oprn: NDArray
rtmin: float
x_i: NDArray
y_i: NDArray
z_i: NDArray
expreccs.utils.reg_sit_given_decks.check_regional_neighbours(rgrid: EGrid, ract: NDArray, rfip: NDArray, rnxy: int, ri: list[int], rx: list[float], ry: list[float], rz: list[float], rk: list[int], rf: list[int], rt: list[float], gind: int, n: int, d_z: NDArray, oprn: NDArray) NDArray

Check the regional neighbours

expreccs.utils.reg_sit_given_decks.compact_format_numeric(v: NDArray) list[str]

To ‘n*x’ notation

expreccs.utils.reg_sit_given_decks.create_deck(fol: str, explicit: bool, zones: bool, freq: NDArray, nonregular: bool, acoeff: NDArray, boundaries: list[int], reg: str, freg: str, sit: str, fsit: str) None

Main orchestration of the hirerchical expreccs approach

expreccs.utils.reg_sit_given_decks.extract_site_borders(sgrid: EGrid, sdim: NDArray, sinit: EclFile, srst: ERst, boundaries: list[int], explicit: bool, mly: int, mlx: int, sfip: NDArray) SiteBorders

Extract the site border

expreccs.utils.reg_sit_given_decks.find_ij_orientation(sgrid: EGrid) tuple[int, int]

Right or left grid oriented

expreccs.utils.reg_sit_given_decks.find_regional_cells(rgrid: EGrid, sgrid: EGrid, sinit: EclFile, rinit: EclFile, rfip: NDArray, zones: bool, borders: Borders, ract: NDArray) tuple[RegionalCells, list[int]]

Find the regional cells

expreccs.utils.reg_sit_given_decks.get_bccon(site: Site, regional: Regional, boundaries: list[int], explicit: bool, boundary: NDArray, dire: list[int], sopn: NDArray) BCCon

Handle the boundary

expreccs.utils.reg_sit_given_decks.get_xymaps(regional: Regional, ufip: NDArray, zones: bool, coords: list[list[float]]) XYMaps

Get the coordinates

expreccs.utils.reg_sit_given_decks.handle_grid_coord(sgrid: EGrid, rgrid: EGrid, sinit: EclFile, rinit: EclFile) tuple[NDArray, NDArray, NDArray, NDArray, NDArray, int, int, list[list[float]]]

Handle the grid coordinates

expreccs.utils.reg_sit_given_decks.project_pressures(rrst: ERst, rgrid: EGrid, sgrid: EGrid, data: InterpData, sbound: list[str], ufip: NDArray, explicit: bool, zones: bool, sopn: NDArray, i: int) tuple[list[tuple[int, float]], list[str]]

Project the pressures

expreccs.utils.reg_sit_given_decks.site_contour(grid: NDArray, start: list[int]) tuple[list[list[int]], list[int]]

Process the site contour

expreccs.utils.reg_sit_given_decks.temporal_interpolation(freq: NDArray, acoeff: NDArray, sdays: NDArray, isdays: NDArray, rdays: NDArray, rp: list[list[tuple[int, float]]], explicit: bool, spres: list[float]) tuple[NDArray, NDArray, list[str]]

Temporal interpolator

expreccs.utils.reg_sit_given_decks.write_files(fol: str, fsit: str, freq: NDArray, ddays: NDArray, sdata: str, sbound: list[str], sbc: list[str], sdays: NDArray, sopn: NDArray) None

Write the deck and include files