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[tuple[Any, ...], dtype[_ScalarT]])

Bases: object

Boundary variables

coords: List[List[float]]
ksfips: List[int]
sbound: List[str]
sopn: ndarray[tuple[Any, ...], dtype[_ScalarT]]
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[tuple[Any, ...], dtype[_ScalarT]], acoeff: ndarray[tuple[Any, ...], dtype[_ScalarT]], boundaries: List[int], nonregular: bool)

Bases: object

Config variables

acoeff: ndarray[tuple[Any, ...], dtype[_ScalarT]]
boundaries: List[int]
explicit: bool
fol: str
freq: ndarray[tuple[Any, ...], dtype[_ScalarT]]
fsit: str
nonregular: bool
zones: bool
class expreccs.utils.reg_sit_given_decks.InterpData(ri: List[ndarray[tuple[Any, ...], dtype[_ScalarT]]], rx: List[ndarray[tuple[Any, ...], dtype[_ScalarT]]], ry: List[ndarray[tuple[Any, ...], dtype[_ScalarT]]], rz: List[ndarray[tuple[Any, ...], dtype[_ScalarT]]], sx: List[List[float]], sy: List[List[float]], sz: List[List[float]], rf: List[ndarray[tuple[Any, ...], dtype[_ScalarT]]], rk: List[ndarray[tuple[Any, ...], dtype[_ScalarT]]], rt: List[ndarray[tuple[Any, ...], dtype[_ScalarT]]], 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[tuple[Any, ...], dtype[_ScalarT]]]
ri: List[ndarray[tuple[Any, ...], dtype[_ScalarT]]]
rk: List[ndarray[tuple[Any, ...], dtype[_ScalarT]]]
rkg: List[List[tuple[float, int]]]
rt: List[ndarray[tuple[Any, ...], dtype[_ScalarT]]]
rx: List[ndarray[tuple[Any, ...], dtype[_ScalarT]]]
ry: List[ndarray[tuple[Any, ...], dtype[_ScalarT]]]
rz: List[ndarray[tuple[Any, ...], dtype[_ScalarT]]]
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[tuple[Any, ...], dtype[_ScalarT]], act: ndarray[tuple[Any, ...], dtype[_ScalarT]], rdays: ndarray[tuple[Any, ...], dtype[_ScalarT]])

Bases: object

Regional variables

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

Bases: object

Regional variables

rf: List[ndarray[tuple[Any, ...], dtype[_ScalarT]]]
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[tuple[Any, ...], dtype[_ScalarT]], sdata: str)

Bases: object

Site variables

grid: EGrid
init: EclFile
rst: ERst
sdata: str
sfip: ndarray[tuple[Any, ...], dtype[_ScalarT]]
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[tuple[Any, ...], dtype[_ScalarT]], y_i: ndarray[tuple[Any, ...], dtype[_ScalarT]], z_i: ndarray[tuple[Any, ...], dtype[_ScalarT]], inds: List[int], fipr: ndarray[tuple[Any, ...], dtype[_ScalarT]], offset: List[float], oprn: ndarray[tuple[Any, ...], dtype[_ScalarT]], rtmin: float)

Bases: object

XYMaping variables

fipr: ndarray[tuple[Any, ...], dtype[_ScalarT]]
inds: List[int]
offset: List[float]
oprn: ndarray[tuple[Any, ...], dtype[_ScalarT]]
rtmin: float
x_i: ndarray[tuple[Any, ...], dtype[_ScalarT]]
y_i: ndarray[tuple[Any, ...], dtype[_ScalarT]]
z_i: ndarray[tuple[Any, ...], dtype[_ScalarT]]
expreccs.utils.reg_sit_given_decks.check_regional_neighbours(rgrid: EGrid, ract: ndarray[tuple[Any, ...], dtype[_ScalarT]], rfip: ndarray[tuple[Any, ...], dtype[_ScalarT]], 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[tuple[Any, ...], dtype[_ScalarT]], oprn: ndarray[tuple[Any, ...], dtype[_ScalarT]]) ndarray[tuple[Any, ...], dtype[_ScalarT]]

Check the regional neighbours

expreccs.utils.reg_sit_given_decks.compact_format_numeric(v: ndarray[tuple[Any, ...], dtype[_ScalarT]]) list[str]

To ‘n*x’ notation

expreccs.utils.reg_sit_given_decks.create_deck(fol: str, explicit: bool, zones: bool, freq: ndarray[tuple[Any, ...], dtype[_ScalarT]], nonregular: bool, acoeff: ndarray[tuple[Any, ...], dtype[_ScalarT]], 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[tuple[Any, ...], dtype[_ScalarT]], sinit: EclFile, srst: ERst, boundaries: List[int], explicit: bool, mly: int, mlx: int, sfip: ndarray[tuple[Any, ...], dtype[_ScalarT]]) 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[tuple[Any, ...], dtype[_ScalarT]], zones: bool, borders: Borders, ract: ndarray[tuple[Any, ...], dtype[_ScalarT]]) 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[tuple[Any, ...], dtype[_ScalarT]], dire: List[int], sopn: ndarray[tuple[Any, ...], dtype[_ScalarT]]) BCCon

Handle the boundary

expreccs.utils.reg_sit_given_decks.get_xymaps(regional: Regional, ufip: ndarray[tuple[Any, ...], dtype[_ScalarT]], 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[tuple[Any, ...], dtype[_ScalarT]], ndarray[tuple[Any, ...], dtype[_ScalarT]], ndarray[tuple[Any, ...], dtype[_ScalarT]], ndarray[tuple[Any, ...], dtype[_ScalarT]], ndarray[tuple[Any, ...], dtype[_ScalarT]], 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[tuple[Any, ...], dtype[_ScalarT]], explicit: bool, zones: bool, sopn: ndarray[tuple[Any, ...], dtype[_ScalarT]], i: int) tuple[List[tuple[int, float]], List[str]]

Project the pressures

expreccs.utils.reg_sit_given_decks.site_contour(grid: ndarray[tuple[Any, ...], dtype[_ScalarT]], start: List[int]) tuple[List[List[int]], List[int]]

Process the site contour

expreccs.utils.reg_sit_given_decks.temporal_interpolation(freq: ndarray[tuple[Any, ...], dtype[_ScalarT]], acoeff: ndarray[tuple[Any, ...], dtype[_ScalarT]], sdays: ndarray[tuple[Any, ...], dtype[_ScalarT]], isdays: ndarray[tuple[Any, ...], dtype[_ScalarT]], rdays: ndarray[tuple[Any, ...], dtype[_ScalarT]], rp: List[List[tuple[int, float]]], explicit: bool, spres: List[float]) tuple[ndarray[tuple[Any, ...], dtype[_ScalarT]], ndarray[tuple[Any, ...], dtype[_ScalarT]], List[str]]

Temporal interpolator

expreccs.utils.reg_sit_given_decks.write_files(fol: str, fsit: str, freq: ndarray[tuple[Any, ...], dtype[_ScalarT]], ddays: ndarray[tuple[Any, ...], dtype[_ScalarT]], sdata: str, sbound: List[str], sbc: List[str], sdays: ndarray[tuple[Any, ...], dtype[_ScalarT]], sopn: ndarray[tuple[Any, ...], dtype[_ScalarT]]) None

Write the deck and include files