bgd

Creating a wellbore trajectory

well_profile.get(mdt, profile='V', build_angle=1, kop=0, eob=0, sod=0, eod=0, kop2=0, eob2=0, **kwargs)[source]

Generate a wellpath.

Parameters
  • mdt (num) – target depth, m or ft

  • profile (str) – ‘V’ for vertical, ‘J’ for J-type, ‘S’ for S-type, ‘H1’ for Horizontal single curve and ‘H2’ for Horizontal double curve

  • build_angle (num) – building angle, °

  • kop (num) – kick-off point, m or ft

  • eob (num) – end of build, m or ft

  • sod (num) – start of drop, m or ft

  • eod (num) – end of drop, m or ft

  • kop2 (num) – kick-off point 2, m or ft

  • eob2 (num) – end of build 2, m or ft

Keyword Arguments
  • points (int) – number of points

  • set_start (dict, None) – set initial point in m {‘north’: 0, ‘east’: 0}.

  • change_azimuth (float, int, None) – add specific degrees to azimuth values along the entire well.

  • set_info (dict, None) – dict, {‘dlsResolution’, ‘wellType’: ‘onshore’|’offshore’, ‘units’: ‘metric’|’english’}.

Returns

well – A wellpath object with 3D position

Return type

well object

Vertical well

>>> import well_profile as wp
>>> well = wp.get(3000,   # define target depth (md) in m or ft
>>>               profile='V',    # set Vertical well profile
>>>               set_info={'dlsResolution': 30, 'wellType': 'offshore', 'units': 'metric'},
>>>               # (optional) define the resolution for dls calculation, well type and 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
>>>               points=100,   # (optional) define number of points
>>> well.plot(names=['Wellbore ID']).show()

create_vertical

J-type well

>>> 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 °
>>>               set_info={'dlsResolution': 30, 'wellType': 'offshore', 'units': 'metric'},
>>>               # (optional) define the resolution for dls calculation, well type and 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
>>>               points=100,   # (optional) define number of points
>>> well.plot(names=['Wellbore ID']).show()

create_j

S-type well

>>> 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
>>>               set_info={'dlsResolution': 30, 'wellType': 'offshore', 'units': 'metric'},
>>>               # (optional) define the resolution for dls calculation, well type and 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
>>>               points=100,   # (optional) define number of points
>>> well.plot(names=['Wellbore ID']).show()

create_s

Horizontal single curve well

>>> 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 °
>>>               set_info={'dlsResolution': 30, 'wellType': 'offshore', 'units': 'metric'},
>>>               # (optional) define the resolution for dls calculation, well type and 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
>>>               points=100,   # (optional) define number of points
>>> well.plot(names=['Wellbore ID']).show()

create_h1

Horizontal double curve well

>>> 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 °
>>>               set_info={'dlsResolution': 30, 'wellType': 'offshore', 'units': 'metric'},
>>>               # (optional) define the resolution for dls calculation, well type and 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
>>>               points=100,   # (optional) define number of points
>>> well.plot(names=['Wellbore ID']).show()

create_h2

Using two points

This function allows to generate a wellbore trajectory by seeting kick-off point (KOP) and target.

well_profile.two_points(points, inner_points=20)[source]
Parameters
  • points – {‘kickoff’:{‘north’: num, ‘east’: num, ‘tvd’: num}, ‘target’: {‘north’: num, ‘east’: num, ‘tvd’: num}}

  • inner_points – number of points between curved zone

Returns

a wellpath object with 3D position

>>> import well_profile as wp
>>> well = wp.two_points({'kickoff': {'north': 0, 'east': 0, 'tvd': 100},
>>>                       'target': {'north': 500, 'east': 800, 'tvd': 800}})