Rogii Solo.Project

Project

attribute uuid

Unique identifier for the Project.

attribute name

Name of the Project.

attribute measure_unit

Measurement unit used in the Project.

attribute role

User’s role in the Project.

attribute geo_crs

Coordinate reference system used in the Project.

attribute accessed_on

Last accessed date of the Project.

attribute modified_on

Last modified date of the Project.

attribute parent_uuid

UUID of the global (parent) Project to which this Project belongs.

attribute parent_name

Name of the global (parent) Project to which this Project belongs.

attribute virtual

True if the Project is virtual.

property wells

Get Wells of the Project.

property typewells

Get Typewells of the Project.

method to_dict(get_converted)

Convert the Project instance to a dictionary.

method to_df(get_converted)

Convert the Project instance to a Pandas DataFrame.

method create_well(name, api, operator, convergence, azimuth, kb, tie_in_tvd, tie_in_ns, tie_in_ew, xsrf_real, ysrf_real)

Create well in the Project.

method create_typewell(name, operator, api, convergence, kb, tie_in_tvd, tie_in_ns, tie_in_ew, xsrf_real, ysrf_real)

Create typewell in the Project.

Module Contents

class Project(papi_client: rogii_solo.papi.client.PapiClient, **kwargs)

Bases: rogii_solo.base.ComplexObject

Represent a Project from the collection of projects in the SoloClient.

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')

# Get the unique ID of the Project
project_uuid = project.uuid
print(project_uuid)

# Get the name of the Project
project_name = project.name
print(project_name)

# Get the measurement unit of the Project
project_measure_unit = project.measure_unit
print(project_measure_unit)

# Get the role associated with the Project
project_role = project.role
print(project_role)

# Get the coordinate system of the Project
project_geo_crs = project.geo_crs
print(project_geo_crs)

# Get the last accessed date of the Project
project_accessed_on = project.accessed_on
print(project_accessed_on)

# Get the last modified date of the Project
project_modified_on = project.modified_on
print(project_modified_on)

# Get the UUID of the global (parent) Project
project_parent_uuid = project.parent_uuid
print(project_parent_uuid)

# Get the name of the global (parent) Project
project_parent_name = project.parent_name
print(project_parent_name)

# Check if the Project is virtual
project_is_virtual = project.virtual
print(project_is_virtual)
uuid: str | None = None

Unique identifier for the Project.

name: str | None = None

Name of the Project.

measure_unit: str | None = None

Measurement unit used in the Project.

role: str | None = None

User’s role in the Project.

geo_crs: str | None = None

Coordinate reference system used in the Project.

accessed_on: datetime.datetime | None = None

Last accessed date of the Project.

modified_on: datetime.datetime | None = None

Last modified date of the Project.

parent_uuid: str | None = None

UUID of the global (parent) Project to which this Project belongs.

parent_name: str | None = None

Name of the global (parent) Project to which this Project belongs.

virtual: bool | None = None

True if the Project is virtual.

property wells: rogii_solo.base.ObjectRepository[rogii_solo.well.Well]

Get Wells of the Project.

Returns:

ObjectRepository containing Well 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')

# Get Wells of the Project
wells = project.wells
print(wells.to_dict())
property typewells: rogii_solo.base.ObjectRepository[rogii_solo.well.Typewell]

Get Typewells of the Project.

Returns:

ObjectRepository containing Typewell 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')

# Get Typewells of the Project
typewells = project.typewells
print(typewells.to_dict())
to_dict(get_converted: bool = True) Dict[str, Any]

Convert the Project instance to a dictionary.

Returns:

Dictionary representation of the Project.

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')

# Convert the Project to a dictionary
project_dict = project.to_dict()
print(project_dict)
to_df(get_converted: bool = True) pandas.DataFrame

Convert the Project instance to a Pandas DataFrame.

Returns:

DataFrame representation of the Project.

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')

# Convert the Project to a DataFrame
project_df = project.to_df()
print(project_df)
create_well(name: str, api: str, operator: str, convergence: float, azimuth: float, kb: float, tie_in_tvd: float, tie_in_ns: float, tie_in_ew: float, xsrf_real: float, ysrf_real: float)

Create well in the Project.

Parameters:
  • name – Name of the well.

  • api – API of the well.

  • operator – Operator of the well.

  • convergence – Convergence of the well.

  • azimuth – Azimuth of the well.

  • kb – KB of the well.

  • tie_in_tvd – Tie in TVD of the well.

  • tie_in_ns – Tie in North-South direction coordinate of the well.

  • tie_in_ew – Tie in East-West direction coordinate of the well.

  • xsrf_real – Surface x-coordinate of the well.

  • ysrf_real – Surface y-coordinate of the well.

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')

# Create 'Well1' in the Project
project.create_well(
    name='Well1',
    api='001-123-1236',
    operator='Schl',
    convergence=0.1,
    azimuth=12,
    kb=132,
    tie_in_tvd=2456,
    tie_in_ns=145,
    tie_in_ew=1643,
    xsrf_real=643826,
    ysrf_real=83461678,
)
print(project.wells.find_by_name('Well1').to_dict())
create_typewell(name: str, operator: str, api: str, convergence: float, kb: float, tie_in_tvd: float, tie_in_ns: float, tie_in_ew: float, xsrf_real: float, ysrf_real: float)

Create typewell in the Project.

Parameters:
  • name – Name of the typewell.

  • operator – Operator of the typewell.

  • api – API of the typewell.

  • convergence – Convergence of the typewell.

  • kb – KB of the typewell.

  • tie_in_tvd – Tie in TVD of the typewell.

  • tie_in_ns – Tie in North-South direction coordinate of the typewell.

  • tie_in_ew – Tie in East-West direction coordinate of the typewell.

  • xsrf_real – Surface x-coordinate of the typewell.

  • ysrf_real – Surface y-coordinate of the typewell.

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')

# Create 'Typewell1' in the Project
project.create_typewell(
    name='Typewell1',
    api='001-123-1236',
    operator='Schl',
    convergence=0.1,
    azimuth=12,
    kb=132,
    tie_in_tvd=2456,
    tie_in_ns=145,
    tie_in_ew=1643,
    xsrf_real=643826,
    ysrf_real=83461678,
)
print(project.typewells.find_by_name('Typewell1').to_dict())