flownet.data.from_flow module

class flownet.data.from_flow.FlowData(input_case: Union[pathlib.Path, str], layers: Tuple = ())

Bases: flownet.data.from_source.FromSource

Flow data source class

Parameters
  • input_case – Full path to eclipse case to load data from

  • layers – List with definition of isolated layers, if present.

_abc_impl = <_abc_data object>
_faults() pandas.core.frame.DataFrame

Function to read fault plane data using ecl2df.

Returns

A dataframe with columns NAME, X, Y, Z with data for fault planes

_get_start_date()
_production_data() pandas.core.frame.DataFrame

Function to read production data for all producers and injectors from an Flow simulation. The simulation is required to write out the following vectors to the summary file: WOPR, WGPR, WWPR, WBHP, WTHP, WGIR, WWIR

Returns

  • date equal to index

  • WELL_NAME Well name as used in Flow

  • WOPR Well Oil Production Rate

  • WGPR Well Gas Production Rate

  • WWPR Well Water Production Rate

  • WOPT Well Cumulative Oil Production

  • WGPT Well Cumulative Gas Production

  • WWPT Well Cumulative Water Production

  • WBHP Well Bottom Hole Pressure

  • WTHP Well Tubing Head Pressure

  • WGIR Well Gas Injection Rate

  • WWIR Well Water Injection Rate

  • WSPR Well Salt Production Rate

  • WSIR Well Salt Injection Rate

  • WSPT Well Cumulative Salt Production

  • WSIT Well Cumulative Salt Injection

  • WTICHEA Well Injection Temperature

  • WTPCHEA Well Production Temperature

  • WSTAT Well status (OPEN, SHUT, STOP)

  • TYPE Well Type: “OP”, “GP”, “WI”, “GI”

  • PHASE Main producing/injecting phase fluid: “OIL”, “GAS”, “WATER”

Return type

A DataFrame with a DateTimeIndex and the following columns

_well_connections(perforation_handling_strategy: str) pandas.core.frame.DataFrame

Function to extract well connection coordinates from a Flow simulation including their opening and closure time. The output of this function will be filtered based on the configured perforation strategy.

Parameters
  • perforation_handling_strategy – Strategy to be used when creating perforations.

  • bottom_point (Valid options are) –

  • top_point

  • multiple

  • and (time_avg_open_location) –

  • multiple_based_on_workovers.

Returns

WELL_NAME, X, Y, Z, DATE, OPEN, LAYER_ID

Return type

columns

_well_logs() pandas.core.frame.DataFrame

Function to extract well log information from a Flow simulation.

Returns

WELL_NAME, X, Y, Z, PERM (mD), PORO (-)

Return type

columns

bulk_volume_per_flownet_cell_based_on_voronoi_of_input_model(network: flownet.network_model._network_model.NetworkModel) numpy.ndarray

Generate bulk volume distribution per grid cell in the FlowNet model based on the geometrical distribution of the volume in the original (full field) simulation model. I.e., the original model’s volume will be distributed over the FlowNet’s tubes by assigning original model grid cell volumes to the nearest FlowNet tube cell midpoint. Finally, the volume distributed to all cells in a tube will be summed and evenly redistributed over the tube.

Parameters

network – FlowNet network instance.

Returns

An array with volumes per flownetcell.

property faults: pandas.core.frame.DataFrame

dataframe with all fault data

get_unique_regions(name: str) numpy.ndarray

array with unique ‘name’ regions

get_well_connections(perforation_handling_strategy: str) pandas.core.frame.DataFrame

Function to get dataframe with all well connection coordinates, filtered based on the perforation_handling_strategy.

Parameters
  • perforation_handling_strategy – Strategy to be used when creating perforations.

  • bottom_point (Valid options are) –

  • top_point

  • multiple

:param : :param time_avg_open_location and multiple_based_on_workovers.:

Returns

Dataframe with all well connection coordinates, filtered based on the perforation_handling_strategy. Columns: WELL_NAME, X, Y, Z, DATE, OPEN, LAYER_ID

property grid: ecl.grid.ecl_grid.EclGrid

the simulation grid with properties

grid_cell_bounding_boxes(layer_id: int) numpy.ndarray

Function to get the bounding box (x, y and z min + max) for all grid cells

Parameters

layer_id – The FlowNet layer id to be used to create the bounding box.

Returns

A (active grid cells x 6) numpy array with columns [ xmin, xmax, ymin, ymax, zmin, zmax ] filtered on layer_id if not None.

init(name: str) numpy.ndarray

array with ‘name’ regions

property layers: Union[Tuple[Tuple[int, int]], Tuple]

Get the list of top and bottom k-indeces of a the orignal model that represents a FlowNet layer

property production: pandas.core.frame.DataFrame

dataframe with all production data

property well_logs: pandas.core.frame.DataFrame

dataframe with all well log