las_reader 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|