ResSimpy.Nexus.NexusWells.NexusWells
- class ResSimpy.Nexus.NexusWells.NexusWells(model: 'NexusSimulator')[source]
Bases:
WellsPublic Data Attributes:
table_headertable_footerInherited from
Wellswellstable_headertable_footerMethods:
__init__(model)get_wells()get_well(well_name)Returns a specific well requested, or None if that well cannot be found.
get_wells_df()load_wells()get_wells_overview()Returns a set of the unique dates in the wellspec file over all wells.
modify_well(well_name, ...[, how])Modify the existing wells in memory using a dictionary of properties.
add_completion(well_name, completion_properties)Adds a completion to an existing wellspec file.
remove_completion(well_name[, ...])modify_completion(well_name, ...[, ...])Modify an existing matching completion, preserves attributes and modifies only additional properties found within the provided properties to modify dictionary.
__repr__()Return repr(self).
__eq__(other)Return self==value.
Inherited from
Wellsget_wells()get_well(well_name)get_wells_df()get_wells_overview()__init__(*[, _Wells__wells])__repr__()Return repr(self).
__eq__(other)Return self==value.
- __init__(model: NexusSimulator) None[source]
- get_well(well_name: str) NexusWell | None[source]
Returns a specific well requested, or None if that well cannot be found.
- get_wells_dates() set[str][source]
Returns a set of the unique dates in the wellspec file over all wells.
- modify_well(well_name: str, completion_properties_list: list[dict[str, None | float | int | str]], how: OperationEnum = OperationEnum.ADD) None[source]
Modify the existing wells in memory using a dictionary of properties.
Args:
well_name (str): name of the well to modify completion_properties_list (list[InputDict]): a dictionary containing the properties to modify with the attribute as keys and the values as the updated property value. If remove will remove perforation that matches the values in the dictionary. how (OperationEnum): operation enum taking the values OperationEnum.ADD, OperationEnum.REMOVE. Specifies how to modify the existing wells perforations. remove_all_that_match (bool): If True will remove all wells that partially match the completion_properties provided. If False will remove perforation if only one matches, if several match throws a warning and does not remove them. write_to_file (bool): If True writes directly to file. (Currently not in use)
- add_completion(well_name: str, completion_properties: dict[str, None | float | int | str], preserve_previous_completions: bool = True, comments: str | None = None) None[source]
Adds a completion to an existing wellspec file.
Args:
well_name (str): well name to update completion_properties (dict[str, float | int | str): properties of the completion you want to update. Must contain date of the completion to be added. preserve_previous_completions (bool): if true a new perforation added on a TIME card without a wellspec card for that well will preserve the previous completions from the closest TIME card in addition to the new completion
- modify_completion(well_name: str, properties_to_modify: dict[str, None | float | int | str], completion_to_change: dict[str, None | float | int | str] | None = None, completion_id: UUID | None = None, comments: str | None = None) None[source]
Modify an existing matching completion, preserves attributes and modifies only additional properties found within the provided properties to modify dictionary.
- Parameters:
well_name (str) – Name of the well with the completion to be modified.
properties_to_modify (dict[str, None | float | int | str]) – attributes to change to.
completion_to_change (Optional[dict[str, None | float | int | str]]) – properties of the existing completion.
completion. (User must provide enough to uniquely identify the) –
completion_id (Optional[UUID]) – If provided will match against a known UUID for the completion.