Rogii Solo.Topset¶
attribute well |
The well object that contains this topset |
attribute uuid |
Unique identifier of the |
attribute name |
Name of the |
property tops |
Get the Tops (MD/TVD points) associated with this |
property starred_top_top |
Get the top starred Top of the |
property starred_top_center |
Get the center starred Top of the |
property starred_top_bottom |
Get the bottom starred Top of the |
method to_dict(get_converted) |
Convert the |
method to_df(get_converted) |
Convert the |
method create_top(name, md) |
attribute topset |
The |
attribute measure_units |
The measurement units used for this top |
attribute uuid |
Unique identifier of the |
attribute name |
Name of the |
attribute md |
Measured depth (MD) of the |
method to_dict(get_converted) |
Convert the |
method to_df(get_converted) |
Convert the |
method update_meta(name, md) |
Update the metadata of this |
Module Contents¶
- class Topset(papi_client: rogii_solo.papi.client.PapiClient, well: WellType, **kwargs)¶
Bases:
rogii_solo.base.ComplexObjectRepresent a
Topsetwithin aWell,Typewell, orNestedWell. ATopsetis a collection ofTopobjects that mark specific measured depths (MD) in a well, typically used to identify formation boundaries or other significant points.- Example:
from rogii_solo import SoloClient client_id = ... # Input your client ID client_secret = ... # Input your client secret solo_client = SoloClient(client_id=client_id, client_secret=client_secret) project = solo_client.set_project_by_name('Project1') well = project.wells.find_by_name('Well1') # Get TopSets of the Well topsets = well.topsets # Get a TopSet name topset = topsets.find_by_name('TopSet1') print(topset.name) # Get a TopSet id topset = topsets.find_by_id('TopSetID') print(topset.comment_id)
- well: WellType¶
The well object that contains this topset
- property tops: rogii_solo.base.ObjectRepository[Top]¶
Get the Tops (MD/TVD points) associated with this
Topset.- Returns:
ObjectRepositorycontainingTopinstances.- Example:
from rogii_solo import SoloClient client_id = ... # Input your client ID client_secret = ... # Input your client secret solo_client = SoloClient(client_id=client_id, client_secret=client_secret) project = solo_client.set_project_by_name('Project1') well = project.wells.find_by_name('Well1') topset = well.topsets.find_by_name('Topset1') # Get all tops in the topset tops = topset.tops # Find a specific top by name formation_top = tops.find_by_name('Formation1') # Convert all tops to a dictionary tops_data = tops.to_dict() # Convert all tops to a DataFrame tops_df = tops.to_df()
- property starred_top_top: Top | None¶
Get the top starred Top of the
Topset.- Returns:
The top
Topinstance.- Example:
from rogii_solo import SoloClient client_id = ... # Input your client ID client_secret = ... # Input your client secret solo_client = SoloClient(client_id=client_id, client_secret=client_secret) project = solo_client.set_project_by_name('Project1') well = project.wells.find_by_name('Well1') topset = well.topsets.find_by_name('Topset1') # Get the top starred Top top = topset.starred_top_top if top: print(f'Top marker: {top.name} at MD {top.md}')
- property starred_top_center: Top | None¶
Get the center starred Top of the
Topset.- Returns:
The center
Topinstance.- Example:
from rogii_solo import SoloClient client_id = ... # Input your client ID client_secret = ... # Input your client secret solo_client = SoloClient(client_id=client_id, client_secret=client_secret) project = solo_client.set_project_by_name('Project1') well = project.wells.find_by_name('Well1') topset = well.topsets.find_by_name('Topset1') # Get the center starred Top top = topset.starred_top_center if top: print(f'Center marker: {top.name} at MD {top.md}')
- property starred_top_bottom: Top | None¶
Get the bottom starred Top of the
Topset.- Returns:
The bottom
Topinstance.- Example:
from rogii_solo import SoloClient client_id = ... # Input your client ID client_secret = ... # Input your client secret solo_client = SoloClient(client_id=client_id, client_secret=client_secret) project = solo_client.set_project_by_name('Project1') well = project.wells.find_by_name('Well1') topset = well.topsets.find_by_name('Topset1') # Get the bottom starred Top top = topset.starred_top_bottom if top: print(f'Bottom marker: {top.name} at MD {top.md}')
- to_dict(get_converted: bool = True) Dict[str, Any]¶
Convert the
Topsetinstance to a dictionary.- Parameters:
get_converted – (Optional) Whether to convert values to project units. Default is True.
- Returns:
Dictionary representation of the
Topset.- Example:
from rogii_solo import SoloClient client_id = ... # Input your client ID client_secret = ... # Input your client secret solo_client = SoloClient(client_id=client_id, client_secret=client_secret) project = solo_client.set_project_by_name('Project1') well = project.wells.find_by_name('Well1') topset = well.topsets.find_by_name('Topset1') # Convert the Topset to a dictionary topset_dict = topset.to_dict() print(topset_dict)
- to_df(get_converted: bool = True) pandas.DataFrame¶
Convert the
Topsetinstance to a Pandas DataFrame.- Parameters:
get_converted – (Optional) Whether to convert values to project units. Default is True.
- Returns:
DataFrame representation of the
Topset.- Example:
from rogii_solo import SoloClient client_id = ... # Input your client ID client_secret = ... # Input your client secret solo_client = SoloClient(client_id=client_id, client_secret=client_secret) project = solo_client.set_project_by_name('Project1') well = project.wells.find_by_name('Well1') topset = well.topsets.find_by_name('Topset1') # Convert the TopSet to a DataFrame topset_df = topset.to_df() print(topset_df)
- create_top(name: str, md: float)¶
Create a new
Topin thisTopset.- Parameters:
name – Name of the new top
md – Measured depth (MD) of the new top
- Raises:
InvalidTopDataException – If the MD value is outside the valid range (0-100000)
- Example:
from rogii_solo import SoloClient client_id = ... # Input your client ID client_secret = ... # Input your client secret solo_client = SoloClient(client_id=client_id, client_secret=client_secret) project = solo_client.set_project_by_name('Project1') well = project.wells.find_by_name('Well1') topset = well.topsets.find_by_name('Topset1') # Create a new top at MD 1000.0 topset.create_top(name='Formation1', md=1000.0)
- class Top(papi_client: rogii_solo.papi.client.PapiClient, topset: Topset, **kwargs)¶
Bases:
rogii_solo.base.ComplexObjectRepresent a
Topwithin aTopset. ATopmarks a specific measured depth (MD) in a well, typically used to identify formation boundaries or other significant points.- Example:
from rogii_solo import SoloClient client_id = ... # Input your client ID client_secret = ... # Input your client secret solo_client = SoloClient(client_id=client_id, client_secret=client_secret) project = solo_client.set_project_by_name('Project1') well = project.wells.find_by_name('Well1') topset = well.topsets.find_by_name('Topset1') # Create a new top topset.create_top(name='Formation1', md=1000.0) # Get the top by name top = topset.tops.find_by_name('Formation1')
- to_dict(get_converted: bool = True) Dict[str, Any]¶
Convert the
Topinstance to a dictionary.- Parameters:
get_converted – (Optional) Whether to convert values to project units. Default is True.
- Returns:
Dictionary representation of the
Top.- Example:
from rogii_solo import SoloClient client_id = ... # Input your client ID client_secret = ... # Input your client secret solo_client = SoloClient(client_id=client_id, client_secret=client_secret) project = solo_client.set_project_by_name('Project1') well = project.wells.find_by_name('Well1') topset = well.topsets.find_by_name('Topset1') top = topset.tops.find_by_name('Formation1') # Convert the Top to a dictionary in project units top_dict = top.to_dict() print(top_dict) # Convert the Top to a dictionary without unit conversion top_dict = top.to_dict(get_converted=False) print(top_dict)
- to_df(get_converted: bool = True) pandas.DataFrame¶
Convert the
Topinstance to a Pandas DataFrame.- Parameters:
get_converted – (Optional) Whether to convert values to project units. Default is True.
- Returns:
DataFrame representation of the
Top.- Example:
from rogii_solo import SoloClient client_id = ... # Input your client ID client_secret = ... # Input your client secret solo_client = SoloClient(client_id=client_id, client_secret=client_secret) project = solo_client.set_project_by_name('Project1') well = project.wells.find_by_name('Well1') topset = well.topsets.find_by_name('Topset1') top = topset.tops.find_by_name('Formation1') # Convert the Top to a DataFrame top_df = top.to_df() print(top_df)
- update_meta(name: str, md: float)¶
Update the metadata of this
Top.- Parameters:
- Raises:
InvalidTopDataException – If the MD value is outside the valid range (0-100000)
- Returns:
updated
Top- Example:
from rogii_solo import SoloClient client_id = ... # Input your client ID client_secret = ... # Input your client secret solo_client = SoloClient(client_id=client_id, client_secret=client_secret) project = solo_client.set_project_by_name('Project1') well = project.wells.find_by_name('Well1') topset = well.topsets.find_by_name('Topset1') top = topset.tops.find_by_name('Formation1') try: # Update the Top name and MD top.update_meta(name='Formation2', md=1100.0) except InvalidTopDataException: print('Invalid MD value. Must be between 0 and 100000.')