Rogii Solo.Trace¶
attribute well |
|
attribute uuid |
Unique identifier of the |
attribute name |
Name of the |
property points |
Abstract method to get the points of the |
method to_dict() |
Convert the |
method to_df() |
Convert the |
attribute hash |
Hash value of the |
attribute unit |
Unit of measurement for the |
attribute start_date_time_index |
Start time of the |
attribute last_date_time_index |
End time of the |
property points |
Get the points associated with this |
method to_dict() |
Convert the |
attribute index |
Time index of the measurement of this |
attribute value |
Value of the measurement of this |
method to_dict() |
Convert the this |
method to_df() |
Convert the this |
attribute hash |
Hash value of the |
attribute start_date_time_index |
Start time of the |
attribute last_date_time_index |
End time of the |
property points |
Get the points associated with this |
property rac_codes |
Get the RAC (Rotary Activity Code) codes associated with this |
method to_dict() |
Convert the |
attribute start |
Start time of the interval. |
attribute end |
End time of the interval. |
attribute value |
Value calculated for this interval. |
method to_dict() |
Convert the |
method to_df() |
Convert the |
attribute code |
Numeric code of the |
attribute status |
Description of the |
method to_dict() |
Convert the |
method to_df() |
Convert the |
attribute start_date_time_index |
Start time of the trace data. |
attribute last_date_time_index |
End time of the trace data. |
method to_dict(time_from, time_to) |
- |
method to_df(time_from, time_to) |
Convert the |
method to_dict(time_from, time_to) |
Converts the |
method to_dict(time_from, time_to) |
Convert the |
Module Contents¶
- class Trace(papi_client: rogii_solo.papi.client.PapiClient, well: rogii_solo.well.Well, **kwargs)¶
Bases:
rogii_solo.base.ComplexObjectBase class for Traces in a
Well. A trace represents a series of measurements or calculations over time or depth.- 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 a time Trace name trace = well.time_traces.find_by_name('Trace1') print(trace.name) # Get a time Trace ID trace = well.time_traces.find_by_id('TraceID') print(trace.uuid)
- well: rogii_solo.well.Well¶
- property points: TracePointRepository¶
- Abstractmethod:
Abstract method to get the points of the
Trace.
- to_dict() Dict¶
Convert the
Traceinstance to a dictionary.- Returns:
Dictionary representation of the
Trace.- 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') trace = well.calc_traces.find_by_name('Trace1') # Convert the calculated Trace to a dictionary trace_dict = trace.to_dict() print(trace_dict)
- to_df() pandas.DataFrame¶
Convert the
Traceinstance to a Pandas DataFrame.- Returns:
DataFrame representation of the
Trace.- 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') trace = well.calc_traces.find_by_name('Trace1') # Convert the calculated Trace to a DataFrame trace_df = trace.to_df() print(trace_df)
- class TimeTrace(papi_client: rogii_solo.papi.client.PapiClient, well: rogii_solo.well.Well, **kwargs)¶
Bases:
TraceRepresent a time-based
Tracein aWell.- 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') time_trace = well.time_traces.find_by_name('TimeTrace1') # Get the hash of the time trace trace_hash = time_trace.hash print(trace_hash) # Get the unit of measurement trace_unit = time_trace.unit print(trace_unit) # Get the start and end time indices start_time = time_trace.start_date_time_index end_time = time_trace.last_date_time_index print(f'From {start_time} to {end_time}')
- property points: TimeTracePointRepository¶
Get the points associated with this
TimeTrace.- Returns:
A
TimeTracePointRepositorycontaining theTimeTracepoints.- 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') time_trace = well.time_traces.find_by_name('TimeTrace1') # Get the points of the time Trace points = time_trace.points print(points.to_dict())
- to_dict() Dict¶
Convert the
TimeTraceinstance to a dictionary.- Returns:
Dictionary representation of the
TimeTrace.- 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') time_trace = well.time_traces.find_by_name('TimeTrace1') # Convert the time Trace to a dictionary time_trace_dict = time_trace.to_dict() print(time_trace_dict)
- class TimeTracePoint(**kwargs)¶
Bases:
rogii_solo.base.BaseObjectRepresent a single point in a
TimeTrace, containing a time index and value.- 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') time_trace = well.time_traces.find_by_name('TimeTrace1') # Get the first point of the time trace point = time_trace.points[0] # Get the time index of the point time_index = point.index print(time_index) # Get the value at this time point value = point.value print(value)
- index: str | None = None¶
Time index of the measurement of this
TimeTracePoint.
- value: float | None = None¶
Value of the measurement of this
TimeTracePoint.
- to_dict() Dict¶
Convert the this
TimeTracePointto a dictionary.- Returns:
Dictionary representation of the
TimeTracePoint.- 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') time_trace = well.time_traces.find_by_name('TimeTrace1') time_trace_point = time_trace.points[0] # Convert the time trace point to a dictionary time_trace_point_dict = time_trace_point.to_dict() print(time_trace_point_dict)
- to_df() pandas.DataFrame¶
Convert the this
TimeTracePointto a Pandas DataFrame.- Returns:
DataFrame representation of the this
TimeTracePoint.- 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') time_trace = well.time_traces.find_by_name('TimeTrace1') time_trace_point = time_trace.points[0] # Convert the time trace point to a DataFrame time_trace_point_df = time_trace_point.to_df() print(time_trace_point_df)
- class CalcTrace(papi_client: rogii_solo.papi.client.PapiClient, well: rogii_solo.well.Well, **kwargs)¶
Bases:
TraceRepresent a calculated
Tracein aWell. Calculated traces contain derived values computed over time intervals.- 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') calc_trace = well.calc_traces.find_by_name('CalcTrace1') # Get the hash of the calculated trace trace_hash = calc_trace.hash print(trace_hash) # Get the start and end time indices start_time = calc_trace.start_date_time_index end_time = calc_trace.last_date_time_index print(f'From {start_time} to {end_time}') # Get available RAC codes rac_codes = calc_trace.rac_codes print(rac_codes.to_dict())
- property points: CalcTracePointRepository¶
Get the points associated with this
CalcTrace.- Returns:
A
CalcTracePointRepositorycontaining theCalcTracepoints.- 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') calc_trace = well.calc_traces.find_by_name('CalcTrace1') # Get the points of the calculated trace points = calc_trace.points print(points.to_dict())
- property rac_codes: rogii_solo.base.ObjectRepository[RacCode]¶
Get the RAC (Rotary Activity Code) codes associated with this
CalcTrace.- Returns:
An
ObjectRepositorycontainingRacCodeinstances.- 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') calc_trace = well.calc_traces.find_by_name('CalcTrace1') # Get the RAC codes rac_codes = calc_trace.rac_codes print(rac_codes.to_dict())
- to_dict() Dict¶
Convert the
CalcTraceinstance to a dictionary.- Returns:
Dictionary representation of the
CalcTrace.- 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') calc_trace = well.calc_traces.find_by_name('CalcTrace1') # Convert the calculated trace to a dictionary calc_trace_dict = calc_trace.to_dict() print(calc_trace_dict)
- class CalcTracePoint(**kwargs)¶
Bases:
rogii_solo.base.BaseObjectRepresent a single point in a
CalcTrace, containing start time, end time, and value.- 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') calc_trace = well.calc_traces.find_by_name('CalcTrace1') # Get the first point of the calculated trace point = calc_trace.points[0] # Get the start and end times of the point start_time = point.start end_time = point.end print(f'From {start_time} to {end_time}') # Get the value for this time interval value = point.value print(value)
- to_dict() Dict¶
Convert the
CalcTracePointto a dictionary.- Returns:
Dictionary representation of the
CalcTracePoint.- 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') calc_trace = well.calc_traces.find_by_name('CalcTrace1') calc_trace_point = calc_trace.points[0] # Convert the calculated trace point to a dictionary calc_trace_point_dict = calc_trace_point.to_dict() print(calc_trace_point_dict)
- to_df() pandas.DataFrame¶
Convert the
CalcTracePointto a Pandas DataFrame.- Returns:
DataFrame representation of the
CalcTracePoint.- 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') calc_trace = well.calc_traces.find_by_name('CalcTrace1') calc_trace_point = calc_trace.points[0] # Convert the calculated trace point to a DataFrame calc_trace_point_df = calc_trace_point.to_df() print(calc_trace_point_df)
- class RacCode(**kwargs)¶
Bases:
rogii_solo.base.BaseObjectRepresent a RAC (Rotary Activity Code) code and its associated status.
- 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') calc_trace = well.calc_traces.find_by_name('CalcTrace1') # Get all RAC codes rac_codes = calc_trace.rac_codes # Get a specific RAC code drilling_code = rac_codes.find_by_code(21) print(f'Code {drilling_code.code}: {drilling_code.status}')
- to_dict() Dict¶
Convert the
RacCodeto a dictionary.- Returns:
Dictionary representation of the
RacCode.- 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') calc_trace = well.calc_traces.find_by_name('CalcTrace1') rac_code = calc_trace.rac_codes[0] # Convert the RAC code to a dictionary rac_code_dict = rac_code.to_dict() print(rac_code_dict)
- to_df() pandas.DataFrame¶
Convert the
RacCodeto a Pandas DataFrame.- Returns:
DataFrame representation of the
RacCode.- 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') calc_trace = well.calc_traces.find_by_name('CalcTrace1') rac_code = calc_trace.rac_codes[0] # Convert the RAC code to a DataFrame rac_code_df = rac_code.to_df() print(rac_code_df)
- class TracePointRepository(start_date_time_index: str, last_date_time_index: str, objects: List[TimeTracePoint | CalcTracePoint] = None)¶
Bases:
listBase class for repositories of trace points. Provides common functionality for managing collections of trace 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') time_trace = well.time_traces.find_by_name('TimeTrace1') # Get instance of the TracePointRepository points = time_trace.points # Get start date time index of the points start_index = points.start_date_time_index print(start_index) # Get last date time index of the points last_index = points.last_date_time_index print(last_index)
- to_df(time_from: str = None, time_to: str = None) pandas.DataFrame¶
Convert the
TracePointRepositoryto a Pandas DataFrame.- Parameters:
time_from – (Optional) Start time for filtering points
time_to – (Optional) End time for filtering points
- Returns:
DataFrame representation of the filtered 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') calc_trace = well.calc_traces.find_by_name('CalcTrace1') points = calc_trace.points # Convert the points to a DataFrame points_df = points.to_df(time_from='2023-01-01T00:00:00', time_to='2023-01-02T00:00:00') print(points_df)
- class TimeTracePointRepository(start_date_time_index: str, last_date_time_index: str, objects: List[TimeTracePoint | CalcTracePoint] = None)¶
Bases:
TracePointRepositoryRepository for
TimeTracePointobjects with time-based filtering capabilities.- to_dict(time_from: str = None, time_to: str = None)¶
Converts the
TimeTracePointRepositoryto a list of dictionaries, filtered by time range.- Parameters:
time_from – (Optional) Start time for filtering points
time_to – (Optional) End time for filtering points
- Returns:
List of dictionaries representing the filtered 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') time_trace = well.time_traces.find_by_name('TimeTrace1') # Get all points points = time_trace.points # Get points within a specific time range filtered_points = points.to_dict(time_from='2023-01-01T00:00:00', time_to='2023-01-02T00:00:00') print(filtered_points)
- class CalcTracePointRepository(start_date_time_index: str, last_date_time_index: str, objects: List[TimeTracePoint | CalcTracePoint] = None)¶
Bases:
TracePointRepositoryRepository for
CalcTracePointobjects with time-based filtering capabilities.- to_dict(time_from: str = None, time_to: str = None)¶
Convert the
CalcTracePointRepositoryto a list of dictionaries, filtered by time range. Points that overlap with the specified time range are included.- Parameters:
time_from – (Optional) Start time for filtering points
time_to – (Optional) End time for filtering points
- Returns:
List of dictionaries representing the filtered 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') calc_trace = well.calc_traces.find_by_name('CalcTrace1') # Get all points points = calc_trace.points # Get points within a specific time range filtered_points = points.to_dict(time_from='2023-01-01T00:00:00', time_to='2023-01-02T00:00:00') print(filtered_points)