pyopmspe11.utils.writefile module#

Write OPM grid, property, deck, and saturation-function files.

The module serializes COORD and ZCORN geometry, compact keyword arrays, boundary pore-volume edits, rendered DATA files, and generated saturation tables for the selected SPE11 configuration.

_calculate_spe11c_z_offset(cfg, y)[source]#

Calculate SPE11C corner elevations along the y axis.

Parameters:
cfgConfig

Initialized runtime configuration.

yNDArray

Coordinates along the y axis.

Returns:
NDArray

Calculated numeric values.

Parameters:
Return type:

NDArray

_round_significant(v)[source]#

Round numeric values to eight significant digits.

Parameters:
vNDArray

Numeric values to format.

Returns:
NDArray

Calculated numeric values.

Parameters:

v (NDArray)

Return type:

NDArray

_build_surface_values(off, nx, ny, stride_z, yc, zcoord)[source]#

Build one rounded ZCORN surface block.

Parameters:
offint

Vertical surface offset.

nxint

Number of cells along x.

nyint

Number of cells along y.

stride_zint

Number of pillar points along z.

ycNDArray

SPE11C vertical offsets at y vertices.

zcoordNDArray

Corner-point pillar z coordinates.

Returns:
NDArray

Calculated numeric values.

Parameters:
  • off (int)

  • nx (int)

  • ny (int)

  • stride_z (int)

  • yc (NDArray)

  • zcoord (NDArray)

Return type:

NDArray

write_corner_point_grid(cfg, xcoord, ycoord, zcoord)[source]#

Write COORD and ZCORN for a corner-point grid.

Parameters:
cfgConfig

Initialized runtime configuration.

xcoordNDArray

Corner-point pillar x coordinates.

ycoordNDArray

Grid vertices along y.

zcoordNDArray

Corner-point pillar z coordinates.

Parameters:
  • cfg (Config)

  • xcoord (NDArray)

  • ycoord (NDArray)

  • zcoord (NDArray)

Return type:

None

write_keywords(cfg, fipnum, fluxnum, xmx, zmz=None, porv=None)[source]#

Write grid property include files required by the selected case.

Parameters:
cfgConfig

Initialized runtime configuration.

fipnumNDArray

FIPNUM values in global cell order.

fluxnumNDArray

Facies identifiers in global cell order.

xmxNDArray

Grid vertices along the x axis.

zmzNDArray | None, optional

Grid vertices along the z axis.

porvlist | None, optional

Boundary pore-volume edit records.

Returns:
list[str]

Names of the generated property include files.

Parameters:
  • cfg (Config)

  • fipnum (NDArray)

  • fluxnum (NDArray)

  • xmx (NDArray)

  • zmz (NDArray | None)

  • porv (list | None)

Return type:

list[str]

_write_boundary_pore_volume(cfg, porv)[source]#

Write boundary pore-volume modifications to an include file.

Parameters:
cfgConfig

Initialized runtime configuration.

porvlist

Boundary pore-volume edit records.

Parameters:
Return type:

None

_write_keyword(cfg, name, values)[source]#

Write one numeric OPM keyword to an include file.

Parameters:
cfgConfig

Initialized runtime configuration.

namestr

OPM keyword name.

valuesNDArray

Numeric keyword values.

Parameters:
Return type:

None

_format_compact_keyword_values(v)[source]#

Format numeric values using OPM repeat notation.

Parameters:
vNDArray

Numeric values to format.

Returns:
list[str]

Values formatted with OPM repeat notation and trailing separators.

Parameters:

v (NDArray)

Return type:

list

write_opm_input_files(cfg)[source]#

Render the main DATA file and saturation-function tables.

Parameters:
cfgConfig

Initialized runtime configuration.

Returns:
list[str]

Names of the generated DATA file and saturation-table include file.

Raises:
subprocess.CalledProcessError

If an invoked process exits with a nonzero status.

Parameters:

cfg (Config)

Return type:

list[str]

write_regular_spe11c_grid(cfg, xmx, ymy, zmz)[source]#

Write COORD and ZCORN for a structured SPE11C grid.

Parameters:
cfgConfig

Initialized runtime configuration.

xmxNDArray

Grid vertices along the x axis.

ymyNDArray

Grid vertices along the y axis.

zmzNDArray

Grid vertices along the z axis.

Parameters:
  • cfg (Config)

  • xmx (NDArray)

  • ymy (NDArray)

  • zmz (NDArray)

Return type:

None