Pywellgeo well trajectory files
================================
There are three formats for well trajectory files that can be used in the from_trajectory constructor in for the formats: "XYZGENERIC" and "DETAILEDTNO"
XYZGENERIC format
trajectory file as shown below (corresponding to a multilateral well with 3 legs for the injector and a horizontal producer):
format: "XYZGENERIC"
reservoir:
basic:
top_reservoir_depth_TVD: 2300.0 # m TVD
bottom_reservoir_depth_TVD: 2400 # m TVD
well_trajectories:
INJ1:
main_wellbore:
xyz: [ [0, 0, 0.0], [0, 0, 800.0],[800, 500, 2300], [1000,500,2400] ]
radius: 0.1
mindist: 25
branch1:
xyz: [ [800, 500, 2300], [1000,600,2400] ]
radius: 0.1
mindist: 25
branch2:
xyz: [ [ 800, 500, 2300 ], [ 1000,400,2400 ] ]
radius: 0.1
mindist: 25
PRD1:
main_wellbore:
xyz: [ [0, 0, 0.0], [0, 0, 800.0], [500, -500, 2300], [1500,-500,2400] ]
radius: 0.1
mindist: 25




DETAILEDTNO format
trajectory file as shown below (corresponding to a multilateral well with 3 legs for both injector and producer):
format: "DETAILEDTNO"
reservoir:
basic:
top_reservoir_depth_TVD: 2300 # m TVD
bottom_reservoir_depth_TVD: 2400 # m TVD
well_trajectories:
INJ1:
main_wellbore:
name: well1
wellhead:
x: 0
y: 0
BUR: 6.0 # deg/30m
radius: 0.1
subs:
sub1:
x: 300 # for x,y omission will take old x,y
y: 0 # (-TVD) to be reac
z: -2200
azim: 90.0
dip: 40.0
sub2:
dx: 190 # for x,y omission will take old x,y
y: 0 # (-TVD) to be reac
z: -2300
sub3:
L: 300
branch1:
startsub: sub1 # reference to a node in main_wellbore
subs:
subl1:
dx: 170 # for x,y omission will take old x,y
dy: 60 # (-TVD) to be reac
z: -2300
subl2:
L: 300
branch2:
startsub: sub1 # reference to a node in main_wellbore
subs:
subl3:
dx: 170 # for x,y omission will take old x,y
dy: -60 # (-TVD) to be reac
z: -2300
#azim: 100
subl4:
L: 300
PRD1:
main_wellbore:
name: well2
wellhead:
x: 0
y: 0
BUR: 6.0 # deg/30m
radius: 0.1
subs:
sub1:
x: -300 # for x,y omission will take old x,y
y: 0 # (-TVD) to be reac
z: -2200
azim: 270.0
dip: 40.0
sub2:
dx: -190 # for x,y omission will take old x,y
y: 0 # (-TVD) to be reac
z: -2300
sub3:
L: 300
branch1:
startsub: sub1 # reference to a node in main_wellbore
subs:
subl1:
dx: -170 # for x,y omission will take old x,y
dy: 60 # (-TVD) to be reac
z: -2300
subl2:
L: 300
branch2:
startsub: sub1 # reference to a node in main_wellbore
subs:
subl3:
dx: -170 # for x,y omission will take old x,y
dy: -60 # (-TVD) to be reac
z: -2300
#azim: 100
subl4:
L: 300
The figures generated by the above code will look like this: