flownet.data.perforation_strategy module

flownet.data.perforation_strategy.bottom_point(df: pandas.core.frame.DataFrame) pandas.core.frame.DataFrame

This function returns the bottom point of the well (assuming it is the last open connection specified, anywhere in time).

Parameters

df – connection DataFrame

Returns

bottom point connections

flownet.data.perforation_strategy.multiple(df: pandas.core.frame.DataFrame) pandas.core.frame.DataFrame

This strategy creates multiple connections per well, as many as there is data available. Connections that repeatedly have the same state through time are reduced to only having records for state changes.

NB. This may lead to a lot of connections in the FlowNet with potentially numerical issues as a result. When

generating a FlowNet that is not aware of geological layering, it is questionable whether having many connections per well will lead to useful results.

Parameters

df – Dataframe with all well connections, through time, including state.

Returns

DataFrame with all connections

flownet.data.perforation_strategy.multiple_based_on_workovers(df: pandas.core.frame.DataFrame) pandas.core.frame.DataFrame

This strategy creates multiple connections per well when the well during the historic production period has been straddled or plugged (i.e., individual connections have been shut).

The following steps are performed per layer:

  1. Split connections into groups of connections per well, based on their open/closing history. That is, connections that have seen opening or closure at the same moment in time are considered a group. This is done by generating a hash value based on opening state booleans through time.

  2. For each group a bounding box will be created and it will be verified that no foreign connections (i.e., connections from other groups) are inside of the bounding box.

  3. If connections of other groups are found inside of the bounding box a line will be fitted through the connections of the group being checked and a perpendicular splitting plane will be created at the center of foreign connections. Two new groups now exist that both will be checked via step 2.

  4. When all groups have no foreign connections in their bounding boxes the average location of the groups are returned, including their respective open/closing times.

Parameters

df – Dataframe with all well connections, through time, including state.

Returns

Dataframe with 1 or more connections per well depending on the historic straddles / plugs.

flownet.data.perforation_strategy.time_avg_open_location(df: pandas.core.frame.DataFrame) pandas.core.frame.DataFrame
Parameters

df

Returns:

flownet.data.perforation_strategy.top_point(df: pandas.core.frame.DataFrame) pandas.core.frame.DataFrame

This function returns the top point of the well (assuming it is the first open connection specified, anywhere in time).

Parameters

df – connection DataFrame

Returns

bottom point connections