Rogii Solo.Log

Log

attribute well

Well associated with this Log.

attribute uuid

Unique identifier of this Log.

attribute name

Name of this Log.

property points

Get the repository of LogPoint associated with this Log.

method to_dict()

Convert this Log instance to a dictionary representation.

method to_df()

Convert this Log instance to a pandas DataFrame representation.

method replace_points(points)

Replace existing points with the provided ones.

method update_meta(name)

Update metadata of this Log.

LogPoint

attribute measure_units

Measure units of the LogPoint.

attribute md

Measured depth (MD) of the LogPoint.

attribute value

Point value of the LogPoint.

method to_dict(get_converted)

Convert this LogPoint instance to a dictionary representation.

method to_df(get_converted)

Convert this LogPoint instance to a pandas DataFrame representation.

LogPointRepository

method to_dict(get_converted)

Convert the repository of LogPoint objects to a list of dictionaries.

method to_df(get_converted)

Convert the repository of LogPoint objects to a pandas DataFrame.

Module Contents

class Log(papi_client: rogii_solo.papi.client.PapiClient, well: WellType, **kwargs)

Bases: rogii_solo.base.ComplexObject

Represent a Log within a Well, containing log data and related operations.

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')
log = well.logs.find_by_name('Log1')

# Get the Well associated with this Log
well = log.well
print(well.name)

# Get the unique identifier of the Log
log_uuid = log.uuid
print(log_uuid)

# Get the name of the Log
log_name = log.name
print(log_name)
well

Well associated with this Log.

uuid: str | None = None

Unique identifier of this Log.

name: str | None = None

Name of this Log.

property points: LogPointRepository

Get the repository of LogPoint associated with this Log.

Returns:

A LogPointRepository containing the LogPoint instances.

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')
log = well.logs.find_by_name('Log1')

# Get the LogPoint repository associated with this Log
log_points = log.points
print(log_points.to_dict())
to_dict() Dict

Convert this Log instance to a dictionary representation.

Returns:

A dictionary containing the log data of the Log.

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')
log = well.logs.find_by_name('Log1')

# Convert the Log instance to a dictionary
log_dict = log.to_dict()
print(log_dict)
to_df() pandas.DataFrame

Convert this Log instance to a pandas DataFrame representation.

Returns:

A pandas DataFrame containing the log data of the Log.

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')
log = well.logs.find_by_name('Log1')

# Convert the Log instance to a pandas DataFrame
log_df = log.to_df()
print(log_df)
replace_points(points: rogii_solo.types.DataList)

Replace existing points with the provided ones.

This method replaces points with the same MD (measured depth), and appends new points with MDs higher than the last existing point. Project units are used as index units; value_units are not sent.

Parameters:

points – A list of points to replace the current 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')
log = well.logs.find_by_name('Log1')

# Replace the log points data with replace values
data = [
    {
        "value":  0,
        "index":  10
    },
    {
        "value": -999.25,
        "index": 20
    },
    {
        "value":  3,
        "index":  30
    }
]
log.replace_points(data)

# Update the Log metadata
updated_log = log.update_meta(name='NewLog1')
update_meta(name: str | None = None) Log

Update metadata of this Log.

Parameters:

name – (Optional) The new name for the Log.

Returns:

Updated Log instance.

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')
log = well.logs.find_by_name('Log1')

# Update the Log metadata
updated_log = log.update_meta(name='NewLog1')
print(updated_log.to_dict())
class LogPoint(measure_units: rogii_solo.calculations.enums.EMeasureUnits, md: float, value: float)

Bases: rogii_solo.base.BaseObject

Represent an individual LogPoint containing measured depth (MD) and log 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')
log = well.logs.find_by_name('Log1')

# Get the first LogPoint associated with this Log
log_point = log.points[0]

# Get the measure units of the LogPoint
measure_units = log_point.measure_units
print(measure_units)

# Get the measured depth (MD) of the LogPoint
md = log_point.md
print(md)

# Get the log value of the LogPoint
value = log_point.value
print(value)
measure_units

Measure units of the LogPoint.

md: float

Measured depth (MD) of the LogPoint.

value: float

Point value of the LogPoint.

to_dict(get_converted: bool = True) Dict

Convert this LogPoint instance to a dictionary representation.

Parameters:

get_converted – (Optional) Whether to convert measure units. Default is True.

Returns:

A dictionary containing the log point data of the LogPoint.

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')
log = well.logs.find_by_name('Log1')

# Get the first LogPoint associated with this Log
log_point = log.points[0]

# Convert the LogPoint instance to a dictionary
log_point_dict = log_point.to_dict()
print(log_point_dict)
to_df(get_converted: bool = True) pandas.DataFrame

Convert this LogPoint instance to a pandas DataFrame representation.

Parameters:

get_converted – (Optional) Whether to convert measure units. Default is True.

Returns:

A pandas DataFrame containing the log point data of the LogPoint.

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')
log = well.logs.find_by_name('Log1')

# Get the first LogPoint associated with this Log
log_point = log.points[0]

# Convert the LogPoint instance to a pandas DataFrame
log_point_df = log_point.to_df()
print(log_point_df)
class LogPointRepository(objects: List[LogPoint] = None)

Bases: list

A repository of LogPoint objects.

Parameters:

objects – (Optional) List of log points to initialize the repository with.

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')
log = well.logs.find_by_name('Log1')

# Get the LogPoint repository associated with this Log
log_points = log.points
print(log_points.to_dict())
to_dict(get_converted: bool = True) rogii_solo.types.DataList

Convert the repository of LogPoint objects to a list of dictionaries.

Parameters:

get_converted – (Optional) Whether to convert measure units. Default is True.

Returns:

A list of dictionaries representing the log points in the repository.

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')
log = well.logs.find_by_name('Log1')

# Get the LogPoint repository associated with this Log
log_points = log.points

# Convert the LogPoint repository to a list of dictionaries
log_points_dict = log_points.to_dict()
print(log_points_dict)
to_df(get_converted: bool = True) pandas.DataFrame

Convert the repository of LogPoint objects to a pandas DataFrame.

Parameters:

get_converted – (Optional) Whether to convert measure units. Default is True.

Returns:

A pandas DataFrame representing the log points in the repository.

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')
log = well.logs.find_by_name('Log1')

# Get the LogPoint repository associated with this Log
log_points = log.points

# Convert the LogPoint repository to a pandas DataFrame
log_points_df = log_points.to_df()
print(log_points_df)