las_reader 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +6 -2
- data/las_reader.gemspec +1 -0
- data/lib/las_reader.rb +94 -28
- data/lib/las_reader/version.rb +1 -1
- data/spec/fixtures/files/Shamar-1-iso-8859-15.las +476 -0
- data/spec/fixtures/files/Shamar-1.las +238 -0
- data/spec/fixtures/files/example24_check.las +63 -0
- data/spec/las_reader_spec.rb +128 -29
- metadata +44 -56
@@ -0,0 +1,238 @@
|
|
1
|
+
~Version
|
2
|
+
#MNEM .UNIT VALUE : DESCRIPTION
|
3
|
+
VERS . 2.0 : CWLS LOG ASCII STANDARD - VERSION 2.0
|
4
|
+
WRAP . NO : ONE LINE PER DEPTH STEP
|
5
|
+
~Well
|
6
|
+
#MNEM .UNIT VALUE : DESCRIPTION
|
7
|
+
STRT .F 3500 : Start Depth
|
8
|
+
STOP .F 3580 : Stop Depth
|
9
|
+
STEP .F 0.5 : Step
|
10
|
+
NULL . -999.25 : Null Value
|
11
|
+
COMP . Noble Petroleum, Inc. : Company
|
12
|
+
WELL . Shamar 1 : Well
|
13
|
+
FLD . WILDCAT : Field
|
14
|
+
SEC . 17 : Section
|
15
|
+
TOWN . 5S : Township (e.g. 42S)
|
16
|
+
RANG . 13E : Range (e.g. 25E)
|
17
|
+
LOC . 5S-13E-17 : Location (Sec Town Range)
|
18
|
+
LOC1 . 1515' FSL & 1195' FEL : Location 1 (quarter calls)
|
19
|
+
LOC2 . SWNESE : Location 2 (footages)
|
20
|
+
PROV . : Province
|
21
|
+
CTRY . US : Country
|
22
|
+
STAT . Kansas : State
|
23
|
+
CNTY . NEMAHA : County
|
24
|
+
API . 15-131-20205 : API-Number
|
25
|
+
UWI . : Unique Well ID
|
26
|
+
SRVC . Log Tech : Service Company
|
27
|
+
LIC . : Licence Number
|
28
|
+
DATE . 02/06/2012 : Date preferred format is MM/DD/YYYY
|
29
|
+
LATI .DEG 39.6137073 : Latitude
|
30
|
+
LONG .DEG -95.980802 : Longitude
|
31
|
+
GDAT . NAD27 : Geodetic Datum
|
32
|
+
X . 244102.82 : X or East-West coordinate
|
33
|
+
Y . 4388921.03 : Y or North South coordinate
|
34
|
+
HZCS . UTM : Horizontal Co-ordinate System
|
35
|
+
UTM . 15.0 : UTM Location
|
36
|
+
STUS . : Well Status
|
37
|
+
~Parameter
|
38
|
+
#MNEM .UNIT VALUE : DESCRIPTION
|
39
|
+
EGL .F 1294.0 : Ground Level Elevation
|
40
|
+
EKB .F 1303.0 : Kelly Bushing Elevation
|
41
|
+
EDF .F : Derrick Floor Elevation
|
42
|
+
ERT .F : Rotary Table Elevation
|
43
|
+
TDL .F 3837.0 : Total Depth Logger
|
44
|
+
TDD .F 3832.0 : Total Depth Drill
|
45
|
+
CSGL .F : Casing Bottom Logger
|
46
|
+
CSGD .F : Casing Bottom Driller
|
47
|
+
CSGS .IN : Casing Size
|
48
|
+
CSGW .LB : Casing Weight
|
49
|
+
BS .IN : Bit Size
|
50
|
+
DFT . Chemical : Mud type
|
51
|
+
MSS . : Mud Sample Source
|
52
|
+
DFD .gm/cc 9.0 : Mud Density
|
53
|
+
DFV .s/qt : Mud Viscosity (Funnel)
|
54
|
+
DFL .cc : Fluid Loss
|
55
|
+
PH . : PH
|
56
|
+
RM .OHM-M : Resistivity of Mud
|
57
|
+
MST .DEG-F : Temperature of Mud
|
58
|
+
RMF .OHM-M : Resistivity of Mud Filtrate
|
59
|
+
MFT .DEG-F : Temperature of Mud Filtrate
|
60
|
+
RMC .OHM-M : Resistivity of Mud Cake
|
61
|
+
MCST .DEG-F : Temperature of Mud Cake
|
62
|
+
BHT .DEG-F 116.0 : Maximum Recorded Temperature
|
63
|
+
RMB .OHM-M : Resitivity @ BHT
|
64
|
+
TIMC .DATE : Date/Time Circulation Stopped
|
65
|
+
TIML .DATE : Date/Time Logger Tagged Bottom
|
66
|
+
UNIT . : Logging Unit Number
|
67
|
+
BASE . : Home Base of Logging Unit
|
68
|
+
ENG . : Recording Engineer
|
69
|
+
WIT . : Witnessed By
|
70
|
+
~Curve
|
71
|
+
#MNEM .UNIT VALUE : DESCRIPTION
|
72
|
+
DEPT .F : Depth
|
73
|
+
GR .API : Gamma Ray
|
74
|
+
NPHI .PU : Neutron porosity
|
75
|
+
DPHI .PU : Density porosity
|
76
|
+
~ASCII
|
77
|
+
# DEPT GR NPHI DPHI
|
78
|
+
3500.0 30.0 12.855 3.165
|
79
|
+
3500.5 29.488 12.821 3.397
|
80
|
+
3501.0 28.976 12.787 3.629
|
81
|
+
3501.5 28.464 12.677 3.861
|
82
|
+
3502.0 27.952 12.373 3.699
|
83
|
+
3502.5 27.409 12.068 3.394
|
84
|
+
3503.0 26.64 11.766 3.09
|
85
|
+
3503.5 25.871 11.596 2.775
|
86
|
+
3504.0 26.042 11.427 2.451
|
87
|
+
3504.5 26.261 11.258 2.126
|
88
|
+
3505.0 26.481 11.013 1.892
|
89
|
+
3505.5 26.667 10.742 1.689
|
90
|
+
3506.0 26.667 10.471 1.486
|
91
|
+
3506.5 26.667 10.307 1.284
|
92
|
+
3507.0 26.667 10.256 1.34
|
93
|
+
3507.5 26.667 10.205 1.514
|
94
|
+
3508.0 26.667 10.154 1.688
|
95
|
+
3508.5 27.226 10.098 1.862
|
96
|
+
3509.0 27.995 10.008 2.053
|
97
|
+
3509.5 28.763 9.918 2.029
|
98
|
+
3510.0 30.867 9.828 1.775
|
99
|
+
3510.5 34.455 9.738 1.245
|
100
|
+
3511.0 37.605 9.622 0.129
|
101
|
+
3511.5 40.678 9.419 -0.851
|
102
|
+
3512.0 47.22 9.216 -1.003
|
103
|
+
3512.5 55.692 9.427 -1.155
|
104
|
+
3513.0 69.53 10.236 -0.415
|
105
|
+
3513.5 86.935 11.319 0.356
|
106
|
+
3514.0 116.218 12.882 1.335
|
107
|
+
3514.5 139.114 14.8 2.96
|
108
|
+
3515.0 141.493 17.852 3.839
|
109
|
+
3515.5 140.469 19.579 4.245
|
110
|
+
3516.0 138.056 21.306 4.651
|
111
|
+
3516.5 134.468 21.564 5.178
|
112
|
+
3517.0 136.629 21.646 5.933
|
113
|
+
3517.5 139.317 21.816 6.687
|
114
|
+
3518.0 139.618 22.425 7.441
|
115
|
+
3518.5 138.441 23.034 8.117
|
116
|
+
3519.0 132.291 23.051 8.38
|
117
|
+
3519.5 129.293 22.341 8.218
|
118
|
+
3520.0 129.549 21.87 8.055
|
119
|
+
3520.5 129.805 22.044 7.37
|
120
|
+
3521.0 131.371 22.218 6.528
|
121
|
+
3521.5 137.131 22.392 6.041
|
122
|
+
3522.0 142.361 22.31 5.554
|
123
|
+
3522.5 140.312 21.93 5.35
|
124
|
+
3523.0 138.264 21.549 5.621
|
125
|
+
3523.5 136.216 21.168 5.892
|
126
|
+
3524.0 134.167 20.854 6.162
|
127
|
+
3524.5 132.571 21.086 6.433
|
128
|
+
3525.0 132.955 21.318 6.511
|
129
|
+
3525.5 133.361 21.551 6.375
|
130
|
+
3526.0 135.09 21.626 5.908
|
131
|
+
3526.5 136.818 21.336 5.381
|
132
|
+
3527.0 138.547 21.046 4.917
|
133
|
+
3527.5 140.276 20.756 4.917
|
134
|
+
3528.0 143.263 20.807 4.917
|
135
|
+
3528.5 146.59 21.213 5.445
|
136
|
+
3529.0 145.053 21.619 6.003
|
137
|
+
3529.5 143.516 22.025 6.328
|
138
|
+
3530.0 141.98 21.547 6.581
|
139
|
+
3530.5 140.54 20.653 6.475
|
140
|
+
3531.0 139.388 19.76 6.12
|
141
|
+
3531.5 138.042 18.945 5.464
|
142
|
+
3532.0 134.583 18.133 4.38
|
143
|
+
3532.5 131.124 17.176 3.509
|
144
|
+
3533.0 111.797 15.54 2.696
|
145
|
+
3533.5 103.187 13.682 2.458
|
146
|
+
3534.0 94.577 12.464 2.593
|
147
|
+
3534.5 82.523 11.246 2.918
|
148
|
+
3535.0 76.888 11.177 3.248
|
149
|
+
3535.5 77.272 11.258 3.578
|
150
|
+
3536.0 82.078 11.537 3.908
|
151
|
+
3536.5 93.353 12.821 4.436
|
152
|
+
3537.0 103.503 15.578 5.085
|
153
|
+
3537.5 113.336 17.337 5.735
|
154
|
+
3538.0 122.761 19.064 5.756
|
155
|
+
3538.5 126.601 19.611 5.705
|
156
|
+
3539.0 130.441 19.78 5.817
|
157
|
+
3539.5 131.227 19.476 5.991
|
158
|
+
3540.0 131.666 19.171 6.165
|
159
|
+
3540.5 132.106 18.44 6.339
|
160
|
+
3541.0 132.004 17.71 6.192
|
161
|
+
3541.5 127.138 17.069 6.014
|
162
|
+
3542.0 122.272 16.663 5.836
|
163
|
+
3542.5 117.407 16.286 5.659
|
164
|
+
3543.0 117.97 16.17 5.504
|
165
|
+
3543.5 119.507 16.054 5.369
|
166
|
+
3544.0 121.043 15.938 5.234
|
167
|
+
3544.5 121.211 16.153 5.147
|
168
|
+
3545.0 120.443 16.828 5.178
|
169
|
+
3545.5 119.675 16.179 5.21
|
170
|
+
3546.0 121.506 15.529 5.241
|
171
|
+
3546.5 128.424 15.536 5.272
|
172
|
+
3547.0 133.682 16.247 5.303
|
173
|
+
3547.5 130.83 16.926 5.335
|
174
|
+
3548.0 127.977 17.536 5.337
|
175
|
+
3548.5 125.124 17.954 5.235
|
176
|
+
3549.0 123.496 17.092 5.141
|
177
|
+
3549.5 123.936 16.229 5.229
|
178
|
+
3550.0 124.375 17.01 5.316
|
179
|
+
3550.5 124.814 17.873 5.403
|
180
|
+
3551.0 122.048 18.171 5.508
|
181
|
+
3551.5 116.923 18.133 5.67
|
182
|
+
3552.0 117.543 17.05 5.832
|
183
|
+
3552.5 118.465 16.027 5.912
|
184
|
+
3553.0 119.01 15.062 5.912
|
185
|
+
3553.5 118.352 14.657 5.81
|
186
|
+
3554.0 117.694 15.368 5.506
|
187
|
+
3554.5 117.036 15.967 5.201
|
188
|
+
3555.0 117.682 15.967 4.922
|
189
|
+
3555.5 119.988 15.967 4.99
|
190
|
+
3556.0 120.834 16.498 5.218
|
191
|
+
3556.5 123.358 17.715 5.653
|
192
|
+
3557.0 127.97 17.603 6.087
|
193
|
+
3557.5 132.578 17.163 6.522
|
194
|
+
3558.0 137.187 16.722 6.452
|
195
|
+
3558.5 133.205 16.972 6.08
|
196
|
+
3559.0 128.597 17.813 5.708
|
197
|
+
3559.5 123.204 18.654 5.433
|
198
|
+
3560.0 118.646 19.495 5.332
|
199
|
+
3560.5 120.82 19.613 5.23
|
200
|
+
3561.0 120.564 19.46 5.129
|
201
|
+
3561.5 120.308 19.467 5.027
|
202
|
+
3562.0 120.052 19.602 4.925
|
203
|
+
3562.5 126.119 19.203 5.01
|
204
|
+
3563.0 133.8 18.756 5.112
|
205
|
+
3563.5 141.048 17.849 4.626
|
206
|
+
3564.0 143.611 15.076 3.936
|
207
|
+
3564.5 137.971 12.378 3.232
|
208
|
+
3565.0 121.088 9.738 1.81
|
209
|
+
3565.5 101.614 8.091 1.571
|
210
|
+
3566.0 68.847 6.517 1.418
|
211
|
+
3566.5 55.022 5.213 1.841
|
212
|
+
3567.0 41.51 4.819 2.451
|
213
|
+
3567.5 36.902 4.838 3.023
|
214
|
+
3568.0 32.294 4.856 2.567
|
215
|
+
3568.5 31.667 4.874 2.11
|
216
|
+
3569.0 31.667 4.893 1.653
|
217
|
+
3569.5 31.667 4.911 1.196
|
218
|
+
3570.0 31.583 4.796 0.791
|
219
|
+
3570.5 30.354 4.619 0.41
|
220
|
+
3571.0 29.125 4.441 0.029
|
221
|
+
3571.5 27.896 4.264 -0.351
|
222
|
+
3572.0 26.667 4.137 -0.515
|
223
|
+
3572.5 25.438 4.117 -0.231
|
224
|
+
3573.0 26.361 4.097 0.054
|
225
|
+
3573.5 28.474 4.076 0.494
|
226
|
+
3574.0 30.587 4.056 1.035
|
227
|
+
3574.5 32.7 4.035 0.853
|
228
|
+
3575.0 33.462 4.078 0.649
|
229
|
+
3575.5 31.158 4.129 0.726
|
230
|
+
3576.0 29.152 4.288 0.873
|
231
|
+
3576.5 29.042 4.491 1.021
|
232
|
+
3577.0 28.932 4.694 1.169
|
233
|
+
3577.5 28.823 4.762 1.316
|
234
|
+
3578.0 28.713 4.66 1.464
|
235
|
+
3578.5 28.603 4.559 1.903
|
236
|
+
3579.0 28.493 -999.25 2.41
|
237
|
+
3579.5 28.383 -999.25 2.597
|
238
|
+
3580.0 -999.25 -999.25 -999.25
|
@@ -0,0 +1,63 @@
|
|
1
|
+
~VERSION INFORMATION
|
2
|
+
VERS. 2.00: CWLS LOG ASCII STANDARD VERSION 2.00
|
3
|
+
WRAP. NO : ONE LINE PER DEPTH STEP
|
4
|
+
~WELL INFORMATION
|
5
|
+
#MNEM.UNIT DATA TYPE INFORMATION
|
6
|
+
#----------------------------------------------------------------------
|
7
|
+
STRT.F 316.00: START DEPTH
|
8
|
+
STOP.F 17750.00: STOP DEPTH
|
9
|
+
STEP.F 0.50: STEP VALUE
|
10
|
+
NULL. -999.00: NULL VALUE
|
11
|
+
COMP. ARCO ALASKA INC: COMPANY
|
12
|
+
WELL. NORTH FORELAND ST #1: WELL
|
13
|
+
FLD . Mid Grd Shoal/Trdng Bay: FIELD
|
14
|
+
LOC . 11N 10W 13 2242FNL 1240FWL: LOCATION
|
15
|
+
CNTY. KENAI: COUNTY
|
16
|
+
STAT. Alaska: STATE
|
17
|
+
CTRY. US: COUNTRY
|
18
|
+
SRVC. : SERVICE COMPANY
|
19
|
+
DATE. : LOG DATE
|
20
|
+
API . 50883200850000 : UNIQUE WELL IDENTIFIER
|
21
|
+
~PARAMETER INFORMATION
|
22
|
+
#MNEM.UNIT VALUE DESCRIPTION
|
23
|
+
#--------- -------- -----------
|
24
|
+
ELEV .F 104.8: KB ELEVATION
|
25
|
+
TDD .F 17774.0: TOTAL DEPTH DRILLED
|
26
|
+
~OTHER INFORMATION
|
27
|
+
LGD0 . 4/13/92
|
28
|
+
MT0 . SEAWATER GEL
|
29
|
+
LGD0 . 5/7/92
|
30
|
+
MT0 . GEL
|
31
|
+
LGD0 . 6/16/92
|
32
|
+
MT0 . GEL
|
33
|
+
LGD0 . 6/26/92
|
34
|
+
MT0 . FRESH BARITE
|
35
|
+
LGD0 . 7/25/92
|
36
|
+
MT0 . FRESH BARITE
|
37
|
+
LGD0 . 8/28/92
|
38
|
+
MT0 . FRESH BARITE
|
39
|
+
~CURVE INFORMATION
|
40
|
+
#MNEM.UNIT DESCRIPTION
|
41
|
+
#--------- -----------
|
42
|
+
DEPTH .F : 1 DEPTH
|
43
|
+
GR .GAPI 00: 2 GAMMA RAY
|
44
|
+
SFL .OHMM 00: 3 SPHER. OR SHAL. FOC. LOG
|
45
|
+
IMPH .OHMM 00: 4 INDUCTION MEDIUM PHASOR
|
46
|
+
IDPH .OHMM 00: 5 INDUCTION DB PHASOR
|
47
|
+
ILM .OHMM 00: 6 INDUCTION LOG MEDIUM
|
48
|
+
ILD .OHMM 00: 7 INDUCTION LOG DEEP
|
49
|
+
SP .MV 00: 8 SELF POTENTIAL
|
50
|
+
TENS .LB 00: 9 TENSION
|
51
|
+
TEMP .DEGF 00: 10 CALC TEMP CURVE
|
52
|
+
LLD .OHMM 00: 11 DEEP LATEROLOG
|
53
|
+
LLS .OHMM 00: 12 SHALLOW LATEROLOG
|
54
|
+
DT .US/F 00: 13 INTERV TRANSIT TIME
|
55
|
+
RHOB .G/C3 00: 14 BULK DENSITY
|
56
|
+
DRHO .G/C3 00: 15 DENSITY CORRECTN
|
57
|
+
PEF .B/E 00: 16 FOTO ELECTRO. XSCT
|
58
|
+
CALI .IN 00: 17 CALIPER
|
59
|
+
CNS .% 00: 18 COMPENSATED NEUT (-S)
|
60
|
+
~A DEPTH GR SFL IMPH IDPH ILM ILD SP TENS TEMP LLD LLS DT RHOB DRHO PEF CALI CNS
|
61
|
+
316.000 30.14063 10.34375 1.203125 2.257813 2.041016 1.945313 17.70313 5.000000 78.81250 -999.000 -999.000 -999.000 1.915636 -.067126 1.677734 18.46875 37.76402
|
62
|
+
316.500 31.48438 10.68750 1.150391 1.894531 2.478516 1.621094 17.64063 10.00000 78.81250 -999.000 -999.000 -999.000 2.001264 -.045286 1.866211 18.60938 38.18016
|
63
|
+
317.000 33.09375 14.43750 1.486328 2.376953 2.820313 2.367188 17.89063 5.000000 78.75000 -999.000 -999.000 -999.000 2.068689 -.029317 2.04101
|
data/spec/las_reader_spec.rb
CHANGED
@@ -1,71 +1,102 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
|
2
|
+
|
3
3
|
describe "CWLS LAS reader" do
|
4
4
|
|
5
5
|
file_path = File.expand_path(File.dirname(__FILE__) + '/fixtures/files/')
|
6
6
|
|
7
7
|
describe CWLSLas, "#load_file" do
|
8
|
+
|
9
|
+
before(:each) do
|
10
|
+
@las = CWLSLas.new
|
11
|
+
end
|
12
|
+
|
8
13
|
context "when loading a file that does not exist" do
|
9
|
-
las
|
10
|
-
it { expect { las.load_file('whatever.las') }.to raise_error("No such file or directory") }
|
14
|
+
it { expect { @las.load_file('whatever.las') }.to raise_error("No such file or directory") }
|
11
15
|
end
|
12
16
|
|
13
17
|
context "when loading a LAS file version other then 1.2 or 2.0" do
|
18
|
+
it { expect { @las.load_file(file_path+'/LAS_30a_Revised_2010.las') }.to raise_error("LAS version not supported") }
|
19
|
+
end
|
20
|
+
|
21
|
+
context "when loading a LAS file with an specific valid file encoding" do
|
14
22
|
las = CWLSLas.new
|
15
|
-
|
23
|
+
las.load_file(file_path+'/example1.las', encoding: "US-ASCII" )
|
24
|
+
it { expect(las).to be_truthy }
|
16
25
|
end
|
17
|
-
|
26
|
+
|
27
|
+
context "when loading a LAS file with an invalid file encoding" do
|
28
|
+
it { expect { @las.load_file(file_path+'/example1.las', encoding: "ImaginaryEncoding") }.to raise_error("Encoding not supported") }
|
29
|
+
end
|
30
|
+
|
31
|
+
context "when seting encoding with unsupported encoding" do
|
32
|
+
it { expect { @las.get_file_encoding("ImaginaryEncoding")}.to raise_error("Encoding not supported") }
|
33
|
+
end
|
34
|
+
|
35
|
+
context "when setting encoding with supported encoding" do
|
36
|
+
it { expect(@las.get_file_encoding("US-ASCII")).to be_truthy }
|
37
|
+
end
|
38
|
+
|
18
39
|
# LAS v1.2
|
19
40
|
context "when loading LAS v1.2 file: 'example1.las'" do
|
20
|
-
|
21
|
-
|
22
|
-
|
41
|
+
las = CWLSLas.new
|
42
|
+
las.load_file(file_path+'/example1.las')
|
43
|
+
it { expect(las).to be_truthy }
|
23
44
|
end
|
24
45
|
context "when loading LAS v1.2 file: 'example2.las'" do
|
25
|
-
|
26
|
-
|
27
|
-
|
46
|
+
las = CWLSLas.new
|
47
|
+
las.load_file(file_path+'/example2.las')
|
48
|
+
it { expect(las).to be_truthy }
|
28
49
|
end
|
29
50
|
context "when loading LAS v1.2 file: 'example3.las'" do
|
30
|
-
|
31
|
-
|
32
|
-
|
51
|
+
las = CWLSLas.new
|
52
|
+
las.load_file(file_path+'/example3.las')
|
53
|
+
it { expect(las).to be_truthy }
|
33
54
|
end
|
34
55
|
|
35
56
|
# LAS v2.0
|
36
57
|
context "when loading LAS v2.0 file: 'example21.las'" do
|
37
|
-
|
38
|
-
|
39
|
-
|
58
|
+
las = CWLSLas.new
|
59
|
+
las.load_file(file_path+'/example21.las')
|
60
|
+
it { expect(las).to be_truthy }
|
40
61
|
end
|
41
62
|
context "when loading LAS v2.0 file: 'example22.las'" do
|
42
|
-
|
43
|
-
|
44
|
-
|
63
|
+
las = CWLSLas.new
|
64
|
+
las.load_file(file_path+'/example22.las')
|
65
|
+
it { expect(las).to be_truthy }
|
45
66
|
end
|
46
67
|
context "when loading LAS v2.0 file: 'example23.las'" do
|
47
|
-
|
48
|
-
|
49
|
-
|
68
|
+
las = CWLSLas.new
|
69
|
+
las.load_file(file_path+'/example23.las')
|
70
|
+
it { expect(las).to be_truthy }
|
50
71
|
end
|
51
|
-
|
72
|
+
context "when loading LAS v2.0 file: 'example24_check.las'" do
|
73
|
+
las = CWLSLas.new
|
74
|
+
las.load_file(file_path+'/example24_check.las')
|
75
|
+
it { expect(las).to be_truthy }
|
76
|
+
end
|
77
|
+
|
52
78
|
end
|
53
|
-
|
79
|
+
|
54
80
|
describe CWLSLas, "#curve_names" do
|
55
81
|
context "number of curves in file example1.las" do
|
56
82
|
las = CWLSLas.new
|
57
83
|
las.load_file(file_path+'/example1.las')
|
58
|
-
it { las.curve_names.size.
|
84
|
+
it { expect(las.curve_names.size).to eq(8) }
|
59
85
|
end
|
60
86
|
context "number of curves in file example2.las" do
|
61
87
|
las = CWLSLas.new
|
62
88
|
las.load_file(file_path+'/example2.las')
|
63
|
-
it { las.curve_names.size.
|
89
|
+
it { expect(las.curve_names.size).to eq(8) }
|
64
90
|
end
|
65
91
|
context "number of curves in file example3.las" do
|
66
92
|
las = CWLSLas.new
|
67
93
|
las.load_file(file_path+'/example3.las')
|
68
|
-
it { las.curve_names.size.
|
94
|
+
it { expect(las.curve_names.size).to eq(36) }
|
95
|
+
end
|
96
|
+
context "number of curves in file example24_check.las" do
|
97
|
+
las = CWLSLas.new
|
98
|
+
las.load_file(file_path+'/example24_check.las')
|
99
|
+
it { expect(las.curve_names.size).to eq(18) }
|
69
100
|
end
|
70
101
|
end
|
71
102
|
|
@@ -109,6 +140,26 @@ describe "CWLS LAS reader" do
|
|
109
140
|
las.load_file(file_path+'/example21.las')
|
110
141
|
it { expect(las.well_name).to eq(well_name) }
|
111
142
|
end
|
143
|
+
context "get well name from las v2.0 file 'example24_check.las'" do
|
144
|
+
well_name = "NORTH FORELAND ST #1"
|
145
|
+
las = CWLSLas.new
|
146
|
+
las.load_file(file_path+'/example24_check.las')
|
147
|
+
it { expect(las.well_name).to eq(well_name) }
|
148
|
+
end
|
149
|
+
end
|
150
|
+
describe CWLSLas, "Different Encoding Handling" do
|
151
|
+
context "when loading file encoded in ISO-8859-15 but not specifying encoding" do
|
152
|
+
well_name = "Sh mar a 1"
|
153
|
+
las = CWLSLas.new
|
154
|
+
las.load_file(file_path+'/Shamar-1-iso-8859-15.las')
|
155
|
+
it { expect(las.well_name).to eq(well_name) }
|
156
|
+
end
|
157
|
+
context "when loading file encoded in ISO-8859-15 but specifying encoding" do
|
158
|
+
well_name = "Shámarça 1"
|
159
|
+
las = CWLSLas.new
|
160
|
+
las.load_file(file_path+'/Shamar-1-iso-8859-15.las', encoding: "ISO-8859-1")
|
161
|
+
it { expect(las.well_name).to eq(well_name) }
|
162
|
+
end
|
112
163
|
end
|
113
164
|
|
114
165
|
describe CWLSLas, "#company_name" do
|
@@ -124,6 +175,12 @@ describe "CWLS LAS reader" do
|
|
124
175
|
las.load_file(file_path+'/example21.las')
|
125
176
|
it { expect(las.company_name).to eq(company_name) }
|
126
177
|
end
|
178
|
+
context "get company name from las v2.0 file 'example24_check.las'" do
|
179
|
+
company_name = "ARCO ALASKA INC"
|
180
|
+
las = CWLSLas.new
|
181
|
+
las.load_file(file_path+'/example24_check.las')
|
182
|
+
it { expect(las.company_name).to eq(company_name) }
|
183
|
+
end
|
127
184
|
end
|
128
185
|
|
129
186
|
describe CWLSLas, "#field_name" do
|
@@ -138,6 +195,12 @@ describe "CWLS LAS reader" do
|
|
138
195
|
las = CWLSLas.new
|
139
196
|
las.load_file(file_path+'/example21.las')
|
140
197
|
it { expect(las.field_name).to eq(field_name) }
|
198
|
+
end
|
199
|
+
context "get company name from las v2.0 file 'example24_check.las'" do
|
200
|
+
field_name = "Mid Grd Shoal/Trdng Bay"
|
201
|
+
las = CWLSLas.new
|
202
|
+
las.load_file(file_path+'/example24_check.las')
|
203
|
+
it { expect(las.field_name).to eq(field_name) }
|
141
204
|
end
|
142
205
|
end
|
143
206
|
|
@@ -154,9 +217,15 @@ describe "CWLS LAS reader" do
|
|
154
217
|
las.load_file(file_path+'/example21.las')
|
155
218
|
it { expect(las.location).to eq(location) }
|
156
219
|
end
|
220
|
+
context "get location from las v2.0 file 'example24_check.las'" do
|
221
|
+
location = "11N 10W 13 2242FNL 1240FWL"
|
222
|
+
las = CWLSLas.new
|
223
|
+
las.load_file(file_path+'/example24_check.las')
|
224
|
+
it { expect(las.location).to eq(location) }
|
225
|
+
end
|
157
226
|
end
|
158
227
|
|
159
|
-
describe CWLSLas, "#province" do
|
228
|
+
describe CWLSLas, "#province/state" do
|
160
229
|
context "get province from las v1.2 file 'example1.las'" do
|
161
230
|
province = "SASKATCHEWAN"
|
162
231
|
las = CWLSLas.new
|
@@ -169,6 +238,12 @@ describe "CWLS LAS reader" do
|
|
169
238
|
las.load_file(file_path+'/example21.las')
|
170
239
|
it { expect(las.province).to eq(province) }
|
171
240
|
end
|
241
|
+
context "get state(American file) from las v2.0 file 'example24_check.las'" do
|
242
|
+
state = "Alaska"
|
243
|
+
las = CWLSLas.new
|
244
|
+
las.load_file(file_path+'/example24_check.las')
|
245
|
+
it { expect(las.state).to eq(state) }
|
246
|
+
end
|
172
247
|
end
|
173
248
|
|
174
249
|
describe CWLSLas, "#service_company" do
|
@@ -214,6 +289,30 @@ describe "CWLS LAS reader" do
|
|
214
289
|
las.load_file(file_path+'/example21.las')
|
215
290
|
it { expect(las.uwi).to eq(uwi) }
|
216
291
|
end
|
292
|
+
context "get unique well id (api for this file) from las v2.0 file 'example24_check.las'" do
|
293
|
+
uwi = "50883200850000"
|
294
|
+
las = CWLSLas.new
|
295
|
+
las.load_file(file_path+'/example24_check.las')
|
296
|
+
it { expect(las.uwi).to eq(uwi) }
|
297
|
+
end
|
298
|
+
end
|
299
|
+
|
300
|
+
describe CWLSLas, "#county" do
|
301
|
+
context "get county from las v2.0 file 'example24_check.las'" do
|
302
|
+
county = "KENAI"
|
303
|
+
las = CWLSLas.new
|
304
|
+
las.load_file(file_path+'/example24_check.las')
|
305
|
+
it { expect(las.county).to eq(county) }
|
306
|
+
end
|
307
|
+
end
|
308
|
+
|
309
|
+
describe CWLSLas, "#country" do
|
310
|
+
context "get country from las v2.0 file 'example24_check.las'" do
|
311
|
+
country = "US"
|
312
|
+
las = CWLSLas.new
|
313
|
+
las.load_file(file_path+'/example24_check.las')
|
314
|
+
it { expect(las.country).to eq(country) }
|
315
|
+
end
|
217
316
|
end
|
218
317
|
|
219
318
|
end
|