Skip to content

Commit b9bea1c

Browse files
committed
feat: lithology track with pattern
1 parent 4d1070a commit b9bea1c

File tree

9 files changed

+755
-37
lines changed

9 files changed

+755
-37
lines changed
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
[
2+
{
3+
"header": {
4+
"name": "LIS1 .001",
5+
"well": "15/9-19A",
6+
"operator": "STATOIL",
7+
"source": "Converted from LIS by Log Studio 4.87 - Petroware AS",
8+
"startIndex": 2179,
9+
"endIndex": 4131,
10+
"step": 1
11+
},
12+
"curves": [
13+
{
14+
"name": "MD",
15+
"description": "continuous",
16+
"quantity": "m",
17+
"unit": "m",
18+
"valueType": "float",
19+
"dimensions": 1
20+
},
21+
{
22+
"name": "ZONELOG",
23+
"description": "discrete",
24+
"quantity": "DISC",
25+
"unit": "DISC",
26+
"valueType": "integer",
27+
"dimensions": 1
28+
},
29+
{
30+
"name": "FACIES",
31+
"description": "discrete",
32+
"quantity": "DISC",
33+
"unit": "DISC",
34+
"valueType": "integer",
35+
"dimensions": 1
36+
},
37+
{
38+
"name": "PORO_TOT",
39+
"description": "continuous",
40+
"quantity": "",
41+
"unit": "",
42+
"valueType": "float",
43+
"dimensions": 1
44+
}
45+
],
46+
"data": [
47+
[
48+
1400,
49+
2,
50+
2,
51+
0.247
52+
],
53+
[
54+
2179,
55+
2,
56+
1,
57+
0.247
58+
],
59+
[
60+
2180.6093750344276,
61+
3,
62+
2,
63+
0.137
64+
],
65+
[
66+
3541.6093750344276,
67+
3,
68+
3,
69+
0.237
70+
],
71+
[
72+
4000,
73+
4,
74+
5,
75+
0.337
76+
]
77+
]
78+
}
79+
]
Lines changed: 186 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,186 @@
1+
{
2+
"name": "Template 1",
3+
"scale": {
4+
"primary": "tvd",
5+
"allowSecondary": true
6+
},
7+
"tracks": [
8+
{
9+
"plots": [
10+
{
11+
"name": "ZONELOG",
12+
"style": "discrete"
13+
}
14+
]
15+
},
16+
{
17+
"plots": [
18+
{
19+
"name": "PORO"
20+
},
21+
{
22+
"name": "NTG"
23+
},
24+
{
25+
"name": "SW"
26+
}
27+
]
28+
},
29+
{
30+
"plots": [
31+
{
32+
"name": "FACIES",
33+
"style": "discretecanvas"
34+
}
35+
]
36+
},
37+
{
38+
"plots": [
39+
{
40+
"name": "MFOA"
41+
}
42+
]
43+
},
44+
{
45+
"plots": [
46+
{
47+
"name": "FACIES",
48+
"style": "discrete"
49+
}
50+
]
51+
},
52+
{
53+
"plots": [
54+
{
55+
"name": "DD_VOLUME"
56+
}
57+
]
58+
},
59+
{
60+
"plots": [
61+
{
62+
"name": "TEMP"
63+
}
64+
]
65+
},
66+
{
67+
"plots": [
68+
{
69+
"name": "BITSIZE"
70+
}
71+
]
72+
},
73+
{
74+
"plots": [
75+
{
76+
"name": "GRSIM"
77+
}
78+
]
79+
},
80+
{
81+
"plots": [
82+
{
83+
"name": "RACESHM"
84+
}
85+
]
86+
},
87+
{
88+
"plots": [
89+
{
90+
"name": "SW",
91+
"type": "line"
92+
}
93+
]
94+
},
95+
{
96+
"plots": [
97+
{
98+
"name": "MFIA",
99+
"type": "dot"
100+
}
101+
]
102+
},
103+
{
104+
"plots": [
105+
{
106+
"name": "MDIA",
107+
"style": "MD"
108+
}
109+
]
110+
},
111+
{
112+
"plots": [
113+
{
114+
"name": "MTOA"
115+
}
116+
]
117+
},
118+
{
119+
"plots": [
120+
{
121+
"name": "MTIA"
122+
}
123+
]
124+
},
125+
{
126+
"plots": [
127+
{
128+
"name": "ECDT"
129+
}
130+
]
131+
},
132+
{
133+
"plots": [
134+
{
135+
"name": "BDTI"
136+
}
137+
]
138+
},
139+
{
140+
"plots": [
141+
{
142+
"name": "BDDI"
143+
}
144+
]
145+
},
146+
{
147+
"plots": [
148+
{
149+
"name": "BRVC"
150+
}
151+
]
152+
},
153+
{
154+
"plots": [
155+
{
156+
"name": "TCTI"
157+
}
158+
]
159+
}
160+
],
161+
"styles": [
162+
{
163+
"name": "HKL",
164+
"type": "gradientfill",
165+
"colorTable": "Physics",
166+
"color": "green"
167+
},
168+
{
169+
"name": "MD",
170+
"scale": "linear",
171+
"type": "area",
172+
"color": "blue",
173+
"fill": "green"
174+
},
175+
{
176+
"name": "discretecanvas",
177+
"type": "canvas",
178+
"colorTable": "Stratigraphy"
179+
},
180+
{
181+
"name": "discrete",
182+
"type": "stacked",
183+
"colorTable": "Stratigraphy"
184+
}
185+
]
186+
}

react/src/lib/components/WellLogViewer/SyncLogViewer.stories.jsx

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,3 +359,80 @@ Default.args = {
359359
wellpickPatternFill: true,
360360
},
361361
};
362+
363+
const lithologyInfoTable = {
364+
codes: ["1", "2", "3", "4", "5"],
365+
names: patternNamesEnglish,
366+
images: patternImages,
367+
colors: [
368+
[255, 193, 0],
369+
[255, 155, 76],
370+
[255, 223, 161],
371+
[204, 153, 255],
372+
[101, 167, 64],
373+
[255, 243, 53],
374+
],
375+
};
376+
377+
export const LithofaciesTrack = Template.bind({});
378+
LithofaciesTrack.args = {
379+
id: "Sync-Log-Viewer-litho",
380+
syncTrackPos: true,
381+
syncContentDomain: true,
382+
syncContentSelection: true,
383+
syncTemplate: true,
384+
horizontal: false,
385+
386+
welllogs: [
387+
require("../../../demo/example-data/discrete-facies-test.json")[0],
388+
require("../../../demo/example-data/L916MUD.json")[0],
389+
require("../../../demo/example-data/Lis1.json")[0],
390+
],
391+
templates: [
392+
require("../../../demo/example-data/synclog_template_lithologytrack.json"),
393+
require("../../../demo/example-data/synclog_template.json"),
394+
require("../../../demo/example-data/synclog_template.json"),
395+
],
396+
colorTables: colorTables,
397+
lithologyInfoTable: lithologyInfoTable,
398+
wellpicks: [
399+
{
400+
wellpick: require("../../../demo/example-data/wellpicks.json")[0],
401+
name: "HORIZON",
402+
colorTables: require("../../../demo/example-data/wellpick_colors.json"),
403+
color: "Stratigraphy",
404+
},
405+
{
406+
wellpick: require("../../../demo/example-data/wellpicks.json")[1],
407+
name: "HORIZON",
408+
colorTables: require("../../../demo/example-data/wellpick_colors.json"),
409+
color: "Stratigraphy",
410+
},
411+
{
412+
wellpick: require("../../../demo/example-data/wellpicks.json")[0],
413+
name: "HORIZON",
414+
colorTables: require("../../../demo/example-data/wellpick_colors.json"),
415+
color: "Stratigraphy",
416+
},
417+
],
418+
wellpickFlatting: ["Hor_2", "Hor_4"],
419+
spacers: [312, 255],
420+
wellDistances: {
421+
units: "m",
422+
distances: [2048.3, 512.7],
423+
},
424+
425+
axisTitles: axisTitles,
426+
axisMnemos: axisMnemos,
427+
428+
viewTitles: true, // show default welllog view titles (a wellname from the welllog)
429+
430+
welllogOptions: {
431+
wellpickColorFill: false,
432+
wellpickPatternFill: false,
433+
},
434+
spacerOptions: {
435+
wellpickColorFill: false,
436+
wellpickPatternFill: false,
437+
},
438+
};

react/src/lib/components/WellLogViewer/SyncLogViewer.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ import { LogViewer } from "@equinor/videx-wellog";
3636
import { Info, InfoOptions } from "./components/InfoTypes";
3737

3838
import { isEqualRanges } from "./components/WellLogView";
39-
//import { boolean } from "mathjs";
39+
import { LithologyInfoTable } from "./components/LithologyTrack";
4040

4141
export function isEqualArrays(
4242
// eslint-disable-next-line @typescript-eslint/no-explicit-any
@@ -70,9 +70,14 @@ interface Props {
7070
* Prop containing color table data.
7171
*/
7272
colorTables: ColorTable[];
73+
/**
74+
* Table of codes, names, patterns and color for lithology (canvas) tracks
75+
*/
76+
lithologyInfoTable?: LithologyInfoTable;
7377
/**
7478
* Set to true for default titles or to array of individial welllog titles
7579
*/
80+
7681
viewTitles?: boolean | (boolean | string | JSX.Element)[];
7782

7883
/**
@@ -175,6 +180,9 @@ export const argTypesSyncLogViewerProp = {
175180
colorTables: {
176181
description: "Prop containing color table data.",
177182
},
183+
lithologyInfoTable: {
184+
description: "Code, name, color and image for lithology tracks",
185+
},
178186
wellpicks: {
179187
description: "Well Picks data array",
180188
},
@@ -851,6 +859,7 @@ class SyncLogViewer extends Component<Props, State> {
851859
viewTitle={viewTitle}
852860
template={template}
853861
colorTables={this.props.colorTables}
862+
lithologyInfoTable={this.props.lithologyInfoTable}
854863
wellpick={this.props.wellpicks?.[index]}
855864
patternsTable={this.props.patternsTable}
856865
patterns={this.props.patterns}

0 commit comments

Comments
 (0)