pofff.utils.mapproperties module

Utility functions for grid generation and spatial indexing in geological FluidFlower-style models.

pofff.utils.mapproperties.classify_boxes(cfg: PofffConfig, x: NDArray[float64], z: NDArray[float64], flux: list[str]) list[str]

Assign box-specific FIP numbers based on spatial regions.

pofff.utils.mapproperties.corner(cfg: PofffConfig, points: list[list[float]]) tuple[NDArray[float64], NDArray[float64], NDArray[float64]]

Build corner-point grid coordinates and compute cell centroids.

pofff.utils.mapproperties.corner_point_handling_fluidflower(cfg: PofffConfig, xyz: NDArray[float64], polygons: list[Polygon], xcoord: NDArray[float64], zcoord: NDArray[float64]) None

Assign facies, boxes, sensors, and wells for corner-point grids.

pofff.utils.mapproperties.get_cellmaps(cfg: PofffConfig, simxcent: NDArray[float64], simzcent: NDArray[float64]) None

Construct mapping from structured grid to reference grid.

pofff.utils.mapproperties.get_lines(cfg: PofffConfig, points: list[list[float]]) list[list[list[float]]]

Read geological horizon lines.

pofff.utils.mapproperties.getpolygons(cfg: PofffConfig) tuple[list[Polygon], list[list[float]]]

Read geological polygons and facies definitions.

pofff.utils.mapproperties.grid_and_properties(cfg: PofffConfig) None

Dispatch grid generation and spatial property assignment based on the selected grid type.

pofff.utils.mapproperties.handle_thickness_map(cfg: PofffConfig) tuple[float, NDArray, NDArray, NDArray]

Load and normalize thickness map and corresponding multipliers.

pofff.utils.mapproperties.positions(cfg: PofffConfig, polygons: list[Polygon], xcent: NDArray[float64] | None = None, zcent: NDArray[float64] | None = None, xyz: NDArray[float64] | None = None, xcoord: NDArray[float64] | None = None, zcoord: NDArray[float64] | None = None) None

Dispatch spatial indexing for either grid type.

pofff.utils.mapproperties.refinement_z(xci: NDArray[float64], zci: NDArray[float64], ncz: int, znr: NDArray[float64]) tuple[NDArray[float64], NDArray[float64], int, int]

Refine grid vertically according to znr refinement factors.

pofff.utils.mapproperties.sensors_corner_point(cfg: PofffConfig, x: NDArray[float64], ztop: NDArray[float64]) tuple[int, int]

Determine corner-point sensor indices.

pofff.utils.mapproperties.sensors_structured(cfg: PofffConfig, xcent: NDArray[float64], zcent: NDArray[float64]) tuple[int, int]

Determine structured-grid sensor indices.

pofff.utils.mapproperties.structured_handling_fluidflower(cfg: PofffConfig, xcent: NDArray[float64], zcent: NDArray[float64], polygons: list[Polygon]) None

Assign facies, boxes, sensors, and wells on structured grids.

pofff.utils.mapproperties.wells_corner_point(cfg: PofffConfig, x: NDArray[float64], ztop: NDArray[float64]) None

Determine corner-point well indices.

pofff.utils.mapproperties.wells_structured(cfg: PofffConfig, xcent: NDArray[float64], zcent: NDArray[float64]) None

Determine structured-grid well indices.