- Create a new wellbore trajectory.
- Load your own wellbore trajectory.
- Plot two or more wells.
- Set initial location.
- Change well direction (azimuth).
>>> import well_profile as wp
>>> well = wp.get(3000, # define target depth (md) in m or ft
cells_no=100, # (optional) define number of cells
units='metric', # (optional) define system of units 'metric' for meters or 'english' for feet
set_start={'north': 0, 'east': 0, 'depth': 0}) # (optional) set the location of initial point
>>> well.plot(names=['Wellbore ID']).show()
>>> import well_profile as wp
>>> well = wp.get(3000, # define target depth (md) in m or ft
profile='J', # set J-type well profile
kop=800, # set kick off point in m or ft
eob=2000, # set end of build in m or ft
build_angle=78, # set build angle in °
cells_no=100, # (optional) define number of cells
units='metric', # (optional) define system of units 'metric' for meters or 'english' for feet
set_start={'north': 0, 'east': 0, 'depth': 0}) # (optional) set the location of initial point
>>> well.plot(names=['Wellbore ID']).show()
>>> import well_profile as wp
>>> well = wp.get(3000, # define target depth (md) in m or ft
profile='S', # set S-type well profile
kop=800, # set kick off point in m or ft
eob=1500, # set end of build in m or ft
build_angle=45, # set build angle in °
sod=1800, # set start of drop in m or ft
eod=2800, # set end of drop in m or ft
cells_no=100, # (optional) define number of cells
units='metric', # (optional) define system of units 'metric' for meters or 'english' for feet
set_start={'north': 0, 'east': 0, 'depth': 0}) # (optional) set the location of initial point
>>> well.plot(names=['Wellbore ID']).show()
>>> import well_profile as wp
>>> well = wp.get(3000, # define target depth (md) in m or ft
profile='H1', # set horizontal single curve well profile
kop=800, # set kick off point in m or ft
eob=1500, # set end of build in m or ft
build_angle=45, # set build angle in °
cells_no=100, # (optional) define number of cells
units='metric', # (optional) define system of units 'metric' for meters or 'english' for feet
set_start={'north': 0, 'east': 0, 'depth': 0}) # (optional) set the location of initial point
>>> well.plot(names=['Wellbore ID']).show()
>>> import well_profile as wp
>>> well = wp.get(3000, # define target depth (md) in m or ft
profile='H2', # set horizontal double curve well profile
kop=800, # set kick off point in m or ft
eob=1500, # set end of build in m or ft
build_angle=45, # set build angle in °
cells_no=100, # (optional) define number of cells
units='metric', # (optional) define system of units 'metric' for meters or 'english' for feet
set_start={'north': 0, 'east': 0, 'depth': 0}) # (optional) set the location of initial point
>>> well.plot(names=['Wellbore ID']).show()
Example of a file is shown below. In case TVD is not included, the package calculates the values using the minimum curvature method. North and East coordinates also can be included.
>>> import well_profile as wp
>>> well = wp.load('trajectory1.xlsx', # define target depth (md) in m or ft
cells_no=100, # (optional) define number of cells
units='metric', # (optional) define system of units 'metric' for meters or 'english' for feet
set_start={'north': 0, 'east': 0, 'depth': 0}) # (optional) set the location of initial point
>>> well.plot(names=['loaded from excel']).show()
>>> import well_profile as wp
>>> well = wp.load('trajectory1.csv', # define target depth (md) in m or ft
cells_no=100, # (optional) define number of cells
units='metric', # (optional) define system of units 'metric' for meters or 'english' for feet
set_start={'north': 0, 'east': 0, 'depth': 0}) # (optional) set the location of initial point
>>> well.plot(names=['loaded from csv']).show()
>>> import well_profile as wp
>>> well_1 = wp.load('trajectory1.xlsx') # LOAD WELL 1
well_2 = wp.get(6000, profile='J', kop=2000, eob=4000, build_angle=85) # GET WELL 2
well_3 = wp.load('trajectory2.xlsx') # LOAD WELL 3
>>> well_1.plot(add_well=[well_2, well_3],
names=['first well name',
'second well name',
'third well name']).show() # Generate 3D plot for well 1 including wells 2 and 3
Define the initial surface location for the respective well.
>>> import well_profile as wp
>>> well_1 = wp.load('trajectory1.xlsx') # LOAD WELL 1
well_2 = wp.get(6000, profile='J', kop=2000, eob=4000, build_angle=85, set_start={'east':2000}) # GET WELL 2 --> North: 0 m, East: 2000 m
well_3 = wp.load('trajectory2.xlsx', set_start={'north':-4000}) # LOAD WELL 3 --> North: -4000 m, East: 0 m
>>> well_1.plot(add_well=[well_2, well_3],
names=['first well name',
'second well name',
'third well name']).show() # Generate 3D plot for well 1 including wells 2 and 3
Modififying the direction of the entire trajectory.
>>> import well_profile as wp
>>> well_1 = wp.load('trajectory1.xlsx', change_azimuth=180) # LOAD WELL 1 --> Azimuth: + 180°
well_2 = wp.get(6000, profile='J', kop=2000, eob=4000, build_angle=85,
set_start={'east':2000}, change_azimuth=42) # GET WELL 2 --> Azimuth: + 42°
well_3 = wp.load('trajectory2.xlsx', set_start={'north':-4000}) # LOAD WELL 3
>>> well_1.plot(add_well=[well_2, well_3],
names=['first well name',
'second well name',
'third well name']).show() # Generate 3D plot for well 1 including wells 2 and 3