Skip to content

Commit 9635c2a

Browse files
authored
Merge pull request #151 from daavid00/dev
Removing asdict
2 parents f4e24e2 + 54d4482 commit 9635c2a

8 files changed

Lines changed: 348 additions & 279 deletions

File tree

src/pyopmspe11/templates/co2/spe11a.mako

Lines changed: 85 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@
44
RUNSPEC
55
----------------------------------------------------------------------------
66
DIMENS
7-
${dic['nxyz'][0]} ${dic['nxyz'][1]} ${dic['nxyz'][2]} /
7+
${nxyz[0]} ${nxyz[1]} ${nxyz[2]} /
88

99
EQLDIMS
1010
/
1111

1212
TABDIMS
13-
% if dic['model'] != 'convective':
13+
% if model != 'convective':
1414
7 /
1515
% else:
1616
7 7 /
@@ -19,21 +19,21 @@ TABDIMS
1919
WATER
2020
GAS
2121
CO2STORE
22-
% if dic['model'] != 'immiscible':
22+
% if model != 'immiscible':
2323
DISGASW
2424
VAPWAT
25-
${"DIFFUSE\n" if(dic["diffusion"][0] + dic["diffusion"][1]) > 0 else ""}\
25+
${"DIFFUSE\n" if(diffusion[0] + diffusion[1]) > 0 else ""}\
2626
% endif
27-
${"THERMAL\n" if dic["model"] in ["complete", "convective"] else ""}\
27+
${"THERMAL\n" if model in ["complete", "convective"] else ""}\
2828

2929
METRIC
3030

3131
START
3232
1 JAN 2025 /
33-
% if sum(dic['radius']) > 0:
33+
% if sum(radius) > 0:
3434

3535
WELLDIMS
36-
${len(dic['wellijk'])} ${dic['nxyz'][2]} ${len(dic['wellijk'])} ${len(dic['wellijk'])} /
36+
${len(wellijk)} ${nxyz[2]} ${len(wellijk)} ${len(wellijk)} /
3737
% endif
3838

3939
UNIFOUT
@@ -42,117 +42,117 @@ GRID
4242
----------------------------------------------------------------------------
4343
INIT
4444

45-
% if dic["grid"] == 'corner-point':
45+
% if grid == 'corner-point':
4646
INCLUDE
4747
GRID.INC /
48-
% elif dic["grid"] == 'tensor':
48+
% elif grid == 'tensor':
4949
INCLUDE
5050
DX.INC /
5151

5252
DY
53-
${dic['nxyz'][0]*dic['nxyz'][1]*dic['nxyz'][2]}*${dic['dims'][1]} /
53+
${nxyz[0]*nxyz[1]*nxyz[2]}*${dims[1]} /
5454

5555
INCLUDE
5656
DZ.INC /
5757

5858
TOPS
59-
% if dic["lower"]:
60-
${dic['nxyz'][0]}*${dic["dims"][2] - dic['cut']} /
59+
% if lower:
60+
${nxyz[0]}*${dims[2] - cut} /
6161
% else:
62-
${dic['nxyz'][0]}*0 /
62+
${nxyz[0]}*0 /
6363
% endif
6464
% else:
6565
DX
66-
${dic['nxyz'][0]*dic['nxyz'][1]*dic['nxyz'][2]}*${dic['dims'][0]/dic['nxyz'][0]} /
66+
${nxyz[0]*nxyz[1]*nxyz[2]}*${dims[0]/nxyz[0]} /
6767

6868
DY
69-
${dic['nxyz'][0]*dic['nxyz'][1]*dic['nxyz'][2]}*${dic['dims'][1]/dic['nxyz'][1]} /
69+
${nxyz[0]*nxyz[1]*nxyz[2]}*${dims[1]/nxyz[1]} /
7070

7171
DZ
72-
${dic['nxyz'][0]*dic['nxyz'][1]*dic['nxyz'][2]}*${dic['cut']/dic['nxyz'][2] if dic["lower"] else dic['dims'][2]/dic['nxyz'][2]} /
72+
${nxyz[0]*nxyz[1]*nxyz[2]}*${cut/nxyz[2] if lower else dims[2]/nxyz[2]} /
7373

7474
TOPS
75-
% if dic["lower"]:
76-
${dic['nxyz'][0]}*${dic["dims"][2] - dic['cut']} /
75+
% if lower:
76+
${nxyz[0]}*${dims[2] - cut} /
7777
% else:
78-
${dic['nxyz'][0]}*0 /
78+
${nxyz[0]}*0 /
7979
% endif
8080
% endif
8181

8282
INCLUDE
8383
FLUXNUM.INC /
84-
% if dic['model'] != 'immiscible' and sum(dic["dispersion"]) > 0:
84+
% if model != 'immiscible' and sum(dispersion) > 0:
8585

8686
DISPERC
87-
${dic['nxyz'][0]*dic['nxyz'][1]*dic['nxyz'][2]}*0 /
87+
${nxyz[0]*nxyz[1]*nxyz[2]}*0 /
8888
% endif
8989

9090
EQUALREG
9191
% for i in range(7):
92-
PORO ${f"{dic['rock'][i][1]:E}"} ${i+1} F /
92+
PORO ${f"{rock[i][1]:E}"} ${i+1} F /
9393
% endfor
9494
% for i in range(7):
95-
PERMX ${f"{dic['rock'][i][0]:E}"} ${i+1} F /
95+
PERMX ${f"{rock[i][0]:E}"} ${i+1} F /
9696
% endfor
9797
% for i in range(7):
98-
PERMY ${f"{dic['rock'][i][0]:E}"} ${i+1} F /
98+
PERMY ${f"{rock[i][0]:E}"} ${i+1} F /
9999
% endfor
100100
% for i in range(7):
101-
PERMZ ${f"{dic['rock'][i][0]*dic['kzMult']:E}"} ${i+1} F /
101+
PERMZ ${f"{rock[i][0]*kzMult:E}"} ${i+1} F /
102102
% endfor
103-
% if dic['model'] in ["complete", "convective"]:
103+
% if model in ["complete", "convective"]:
104104
% for i in range(7):
105-
THCONR ${f"{dic['rockCond'][i]:E}"} ${i+1} F /
105+
THCONR ${f"{rockCond[i]:E}"} ${i+1} F /
106106
% endfor
107107
% endif
108-
% if dic['model'] != 'immiscible' and sum(dic["dispersion"]) > 0:
108+
% if model != 'immiscible' and sum(dispersion) > 0:
109109
% for i in range(7):
110-
DISPERC ${f"{dic['dispersion'][i]:E}"} ${i+1} F /
110+
DISPERC ${f"{dispersion[i]:E}"} ${i+1} F /
111111
% endfor
112112
% endif
113113
/
114-
% if dic["spe11aBC"] == 0:
114+
% if spe11aBC == 0:
115115

116116
BCCON
117-
1 1 ${dic['nxyz'][0]} 1 1 1 1 Z- /
117+
1 1 ${nxyz[0]} 1 1 1 1 Z- /
118118
/
119119
% else:
120120
----------------------------------------------------------------------------
121121
EDIT
122122
----------------------------------------------------------------------------
123123
ADD
124-
PORV ${dic["spe11aBC"]} 4* 1 1 /
124+
PORV ${spe11aBC} 4* 1 1 /
125125
/
126126
% endif
127127
----------------------------------------------------------------------------
128128
PROPS
129129
----------------------------------------------------------------------------
130130
INCLUDE
131131
TABLES.INC /
132-
% if dic['model'] != 'immiscible':
133-
% if (dic["diffusion"][0] + dic["diffusion"][1]) > 0:
132+
% if model != 'immiscible':
133+
% if (diffusion[0] + diffusion[1]) > 0:
134134

135135
DIFFAWAT
136-
${dic["diffusion"][0]} ${dic["diffusion"][0]} /
137-
% if dic['model'] == 'convective':
136+
${diffusion[0]} ${diffusion[0]} /
137+
% if model == 'convective':
138138
% for i in range(6):
139139
/
140140
% endfor
141141
% endif
142142

143143
DIFFAGAS
144-
${dic["diffusion"][1]} ${dic["diffusion"][1]} /
145-
% if dic['model'] == 'convective':
144+
${diffusion[1]} ${diffusion[1]} /
145+
% if model == 'convective':
146146
% for i in range(6):
147147
/
148148
% endfor
149149
% endif
150150
% endif
151151

152-
% if dic['model'] in ["complete", "convective"]:
152+
% if model in ["complete", "convective"]:
153153
SPECROCK
154-
${min(dic["temperature"][0], dic["temperature"][1])} ${dic["rockExtra"][0]*dic["rockExtra"][1]}
155-
${max(dic["temperature"][0], dic["temperature"][1]) if dic["temperature"][0]!=dic["temperature"][1] else dic["temperature"][0]+1} ${dic["rockExtra"][0]*dic["rockExtra"][1]} / --Table 1
154+
${min(temperature[0], temperature[1])} ${rockExtra[0]*rockExtra[1]}
155+
${max(temperature[0], temperature[1]) if temperature[0]!=temperature[1] else temperature[0]+1} ${rockExtra[0]*rockExtra[1]} / --Table 1
156156
% for i in range(6):
157157
/ --Defaulted to table 1
158158
% endfor
@@ -170,7 +170,7 @@ FLUXNUM SATNUM /
170170

171171
INCLUDE
172172
FIPNUM.INC /
173-
% if dic['model'] == 'convective':
173+
% if model == 'convective':
174174

175175
COPY
176176
SATNUM PVTNUM /
@@ -180,14 +180,14 @@ SATNUM PVTNUM /
180180
SOLUTION
181181
---------------------------------------------------------------------------
182182
EQUIL
183-
${dic['dims'][2]-dic['datum']} ${dic['pressure']/1.E5} 0 0 0 0 1 1 0 /
183+
${dims[2]-datum} ${pressure/1.E5} 0 0 0 0 1 1 0 /
184184

185185
RPTRST
186-
BASIC=2 DEN PCGW ${f"RSWSAT /" if dic['model'] != 'immiscible' else "/"}
186+
BASIC=2 DEN PCGW ${f"RSWSAT /" if model != 'immiscible' else "/"}
187187

188188
RTEMPVD
189-
0 ${dic["temperature"][1]}
190-
${dic['dims'][2]} ${dic["temperature"][0]} /
189+
0 ${temperature[1]}
190+
${dims[2]} ${temperature[0]} /
191191
----------------------------------------------------------------------------
192192
SUMMARY
193193
----------------------------------------------------------------------------
@@ -200,9 +200,9 @@ RGKMO
200200
RGMDS
201201
/
202202
BWPR
203-
% for sensor in dic["sensorijk"]:
203+
% for sensor in sensorijk:
204204
${sensor[0]+1} ${sensor[1]+1} ${sensor[2]+1} /
205-
% if dic["lower"]:
205+
% if lower:
206206
<% break %>
207207
% endif
208208
% endfor
@@ -211,12 +211,12 @@ ${sensor[0]+1} ${sensor[1]+1} ${sensor[2]+1} /
211211
SCHEDULE
212212
----------------------------------------------------------------------------
213213
RPTRST
214-
BASIC=2 DEN PCGW RESIDUAL ${f"RSWSAT /" if dic['model'] != 'immiscible' else "/"}
215-
% if dic['model'] == 'convective':
214+
BASIC=2 DEN PCGW RESIDUAL ${f"RSWSAT /" if model != 'immiscible' else "/"}
215+
% if model == 'convective':
216216

217217
DRSDTCON
218-
% if dic['drsdtcon']:
219-
% for row in dic['drsdtcon']:
218+
% if drsdtcon:
219+
% for row in drsdtcon:
220220
${str([val for val in row])[1:-1]} /
221221
% endfor
222222
% else:
@@ -230,80 +230,80 @@ ${str([val for val in row])[1:-1]} /
230230
% endif
231231
/
232232
% endif
233-
% if sum(dic['radius']) > 0:
233+
% if sum(radius) > 0:
234234

235235
WELSPECS
236-
% for i in range(len(dic['wellijk'])):
237-
% if dic['radius'][i] > 0:
238-
INJ${i} G1 ${dic['wellijk'][i][0]} ${dic['wellijk'][i][1]} 1* GAS ${dic['radius'][i]} /
236+
% for i in range(len(wellijk)):
237+
% if radius[i] > 0:
238+
INJ${i} G1 ${wellijk[i][0]} ${wellijk[i][1]} 1* GAS ${radius[i]} /
239239
% endif
240-
% if dic["lower"]:
240+
% if lower:
241241
<% break %>
242242
% endif
243243
% endfor
244244
/
245245

246246
COMPDAT
247-
% for i in range(len(dic['wellijk'])):
248-
% if dic['radius'][i] > 0:
249-
INJ${i} ${dic['wellijk'][i][0]} ${dic['wellijk'][i][1]} ${dic['wellijk'][i][2]} ${dic['wellijk'][i][2]} OPEN 2* ${2.*dic['radius'][i]} /
247+
% for i in range(len(wellijk)):
248+
% if radius[i] > 0:
249+
INJ${i} ${wellijk[i][0]} ${wellijk[i][1]} ${wellijk[i][2]} ${wellijk[i][2]} OPEN 2* ${2.*radius[i]} /
250250
% endif
251-
% if dic["lower"]:
251+
% if lower:
252252
<% break %>
253253
% endif
254254
% endfor
255255
/
256256
% endif
257-
% if dic["spe11aBC"] == 0:
257+
% if spe11aBC == 0:
258258

259259
BCPROP
260-
1 DIRICHLET WATER 1* ${(dic['pressure']+dic["safu"][0][2])/1.E5} /
260+
1 DIRICHLET WATER 1* ${(pressure+safu[0][2])/1.E5} /
261261
/
262262
% endif
263-
% for j in range(len(dic['inj'])):
263+
% for j in range(len(inj)):
264264

265-
% if dic["tuning"]:
265+
% if tuning:
266266
TUNING
267-
${dic['inj'][j][8]+" " if len(dic['inj'][j])>8 else ""}/
268-
${dic['inj'][j][9]+" " if len(dic['inj'][j])>9 else ""}/
269-
${dic['inj'][j][10]+" " if len(dic['inj'][j])>10 else ""}/
267+
${inj[j][8]+" " if len(inj[j])>8 else ""}/
268+
${inj[j][9]+" " if len(inj[j])>9 else ""}/
269+
${inj[j][10]+" " if len(inj[j])>10 else ""}/
270270
% endif
271-
% if max(dic['radius']) > 0:
271+
% if max(radius) > 0:
272272
WCONINJE
273-
% for i in range(len(dic['wellijk'])):
274-
% if dic['radius'][i] > 0:
275-
INJ${i} ${'GAS' if dic['inj'][j][2+3*i] > 0 else 'WATER'} ${'OPEN' if dic['inj'][j][3+3*i] > 0 else 'SHUT'} RATE ${f"{dic['inj'][j][3+3*i] * 86400 / 1.86843:E}"} 1* 480 /
273+
% for i in range(len(wellijk)):
274+
% if radius[i] > 0:
275+
INJ${i} ${'GAS' if inj[j][2+3*i] > 0 else 'WATER'} ${'OPEN' if inj[j][3+3*i] > 0 else 'SHUT'} RATE ${f"{inj[j][3+3*i] * 86400 / 1.86843:E}"} 1* 480 /
276276
% endif
277-
% if dic["lower"]:
277+
% if lower:
278278
<% break %>
279279
% endif
280280
% endfor
281281
/
282282
% endif
283-
% if min(dic['radius']) == 0:
283+
% if min(radius) == 0:
284284
SOURCE
285-
% for i in range(len(dic['wellijk'])):
286-
% if dic['radius'][i] == 0:
287-
${dic['wellijk'][i][0]} ${dic['wellijk'][i][1]} ${dic['wellijk'][i][2]} ${'GAS' if dic['inj'][j][2+3*i] > 0 else 'WATER'} ${f"{dic['inj'][j][3+3*i] * 86400:E}"} ${f"1* {dic['inj'][j][4+3*i]:E} " if dic['model'] in ["complete", "convective"] else ""}/
285+
% for i in range(len(wellijk)):
286+
% if radius[i] == 0:
287+
${wellijk[i][0]} ${wellijk[i][1]} ${wellijk[i][2]} ${'GAS' if inj[j][2+3*i] > 0 else 'WATER'} ${f"{inj[j][3+3*i] * 86400:E}"} ${f"1* {inj[j][4+3*i]:E} " if model in ["complete", "convective"] else ""}/
288288
% endif
289-
% if dic["lower"]:
289+
% if lower:
290290
<% break %>
291291
% endif
292292
% endfor
293293
/
294294
% endif
295-
% if dic['model'] in ["complete", "convective"] and max(dic['radius']) > 0:
295+
% if model in ["complete", "convective"] and max(radius) > 0:
296296
WTEMP
297-
% for i in range(len(dic['wellijk'])):
298-
% if dic['radius'][i] > 0:
299-
INJ${i} ${dic['inj'][j][4+3*i]} /
297+
% for i in range(len(wellijk)):
298+
% if radius[i] > 0:
299+
INJ${i} ${inj[j][4+3*i]} /
300300
% endif
301-
% if dic["lower"]:
301+
% if lower:
302302
<% break %>
303303
% endif
304304
% endfor
305305
/
306306
% endif
307307
TSTEP
308-
${f"{round(dic['inj'][j][0]/dic['inj'][j][1])}*" if round(dic['inj'][j][0]/dic['inj'][j][1]) > 1 else ""}${dic['inj'][j][1] / 86400.} /
309-
% endfor
308+
${f"{round(inj[j][0]/inj[j][1])}*" if round(inj[j][0]/inj[j][1]) > 1 else ""}${inj[j][1] / 86400.} /
309+
% endfor

0 commit comments

Comments
 (0)