-
Notifications
You must be signed in to change notification settings - Fork 1
/
target_line_plot_proto.py
63 lines (50 loc) · 1.5 KB
/
target_line_plot_proto.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
"""
TARGET LINE PLOT
Version: 0
Author: S Kerstetter
Last Update: 09/09/2020
Plot target line for directional drilling from input target line data and calculate
distance above/below line from input survey data.
"""
# *** IMPORT LIBRARIES ***
import math
import plotly.express as px
# *** DEFINE VARIABLES ***
# Target Line Inputs
tvd_0vs = 8811 # feet KB TVD
inc_degrees = 90.3 # degrees
inc_radians = math.radians(90.0 - inc_degrees)
# Survey Inputs
svy_tvd = 8760 # feet TVD
svy_vs = 8150 # feet VS
# Lateral Length
lat_len = 12500 # feet VS
# *** MAIN SCRIPT ***
tvd_target = math.tan(inc_radians) * svy_vs + tvd_0vs
dtvd = tvd_target - svy_tvd
if dtvd > 0:
location = 'above'
elif dtvd < 0:
location = 'below'
else:
location = 'on the'
print(f"Target line: {tvd_0vs}' KB TVD @ 0' VS, {inc_degrees} INC")
print(f"Survey: {svy_tvd}' TVD @ {svy_vs}' VS")
print(f"Target line depth at {svy_vs}' VS is {tvd_target:.2f}' TVD.")
print(f"Survey is {dtvd:.2f}' TVD {location} target line.")
# calculate target line TVD every 100' VS
tl_vs = []
tl_tvd = []
vs = 0
while vs <= lat_len:
tl_vs.append(vs)
tl_tvd.append(math.tan(inc_radians) * vs + tvd_0vs)
vs += 100
print("Target Line\nVS TVD")
for i in range(0,len(tl_vs)):
print(tl_vs[i], round(tl_tvd[i]))
# plot target line graph
fig = px.line(x=tl_vs, y=tl_tvd, title="Target Line Plot")
fig.update_xaxes(title_text='VS (feet)')
fig.update_yaxes(title_text='TVD (feet)', autorange='reversed')
fig.show()