ert 16.0.10__py3-none-any.whl → 16.0.13__py3-none-any.whl
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.
- ert/dark_storage/endpoints/parameters.py +8 -0
- ert/gui/tools/plot/plot_window.py +4 -1
- ert/run_models/_create_run_path.py +23 -3
- ert/shared/version.py +3 -3
- {ert-16.0.10.dist-info → ert-16.0.13.dist-info}/METADATA +1 -1
- {ert-16.0.10.dist-info → ert-16.0.13.dist-info}/RECORD +10 -10
- {ert-16.0.10.dist-info → ert-16.0.13.dist-info}/WHEEL +0 -0
- {ert-16.0.10.dist-info → ert-16.0.13.dist-info}/entry_points.txt +0 -0
- {ert-16.0.10.dist-info → ert-16.0.13.dist-info}/licenses/COPYING +0 -0
- {ert-16.0.10.dist-info → ert-16.0.13.dist-info}/top_level.txt +0 -0
|
@@ -125,8 +125,16 @@ def _extract_parameter_group_and_key(key: str) -> tuple[str, str] | tuple[None,
|
|
|
125
125
|
|
|
126
126
|
def data_for_parameter(ensemble: Ensemble, key: str) -> pd.DataFrame:
|
|
127
127
|
group, _ = _extract_parameter_group_and_key(key)
|
|
128
|
+
if group is None:
|
|
129
|
+
logger.warning(
|
|
130
|
+
f"Parameter with key '{key}' does not have a group, "
|
|
131
|
+
"fetching data for all parameters"
|
|
132
|
+
)
|
|
128
133
|
try:
|
|
129
134
|
df = ensemble.load_scalars(group)
|
|
135
|
+
if df.is_empty():
|
|
136
|
+
logger.warning(f"No data found for parameter '{group}:{key}'")
|
|
137
|
+
return pd.DataFrame()
|
|
130
138
|
except KeyError as e:
|
|
131
139
|
logger.error(e)
|
|
132
140
|
return pd.DataFrame()
|
|
@@ -269,7 +269,10 @@ class PlotWindow(QMainWindow):
|
|
|
269
269
|
response_key=key_def.response_metadata.response_key,
|
|
270
270
|
filter_on=key_def.filter_on,
|
|
271
271
|
)
|
|
272
|
-
elif
|
|
272
|
+
elif (
|
|
273
|
+
key_def.parameter_metadata is not None
|
|
274
|
+
and "GEN_KW" in key_def.metadata["data_origin"]
|
|
275
|
+
):
|
|
273
276
|
ensemble_to_data_map[ensemble] = self._api.data_for_parameter(
|
|
274
277
|
ensemble_id=ensemble.id,
|
|
275
278
|
parameter_key=key_def.parameter_metadata.key,
|
|
@@ -3,6 +3,7 @@ from __future__ import annotations
|
|
|
3
3
|
import json
|
|
4
4
|
import logging
|
|
5
5
|
import os
|
|
6
|
+
import time
|
|
6
7
|
from collections.abc import Iterable, Mapping
|
|
7
8
|
from datetime import UTC, datetime
|
|
8
9
|
from pathlib import Path
|
|
@@ -116,6 +117,7 @@ def _generate_parameter_files(
|
|
|
116
117
|
# model has completed.
|
|
117
118
|
if param.forward_init and iteration == 0:
|
|
118
119
|
continue
|
|
120
|
+
|
|
119
121
|
export_values = param.write_to_runpath(Path(run_path), iens, fs)
|
|
120
122
|
if export_values:
|
|
121
123
|
for group, vals in export_values.items():
|
|
@@ -168,12 +170,18 @@ def create_run_path(
|
|
|
168
170
|
if context_env is None:
|
|
169
171
|
context_env = {}
|
|
170
172
|
runpaths.set_ert_ensemble(ensemble.name)
|
|
171
|
-
|
|
173
|
+
timings = {
|
|
174
|
+
"generate_parameter_files": 0.0,
|
|
175
|
+
"substitute_parameters": 0.0,
|
|
176
|
+
"substitute_real_iter": 0.0,
|
|
177
|
+
"result_file_to_target": 0.0,
|
|
178
|
+
}
|
|
172
179
|
substituter = Substitutions(substitutions)
|
|
173
180
|
for run_arg in run_args:
|
|
174
181
|
run_path = Path(run_arg.runpath)
|
|
175
182
|
if run_arg.active:
|
|
176
183
|
run_path.mkdir(parents=True, exist_ok=True)
|
|
184
|
+
start_time = time.perf_counter()
|
|
177
185
|
param_data = _generate_parameter_files(
|
|
178
186
|
ensemble.experiment.parameter_configuration.values(),
|
|
179
187
|
parameters_file,
|
|
@@ -182,10 +190,12 @@ def create_run_path(
|
|
|
182
190
|
ensemble,
|
|
183
191
|
ensemble.iteration,
|
|
184
192
|
)
|
|
193
|
+
timings["generate_parameter_files"] += time.perf_counter() - start_time
|
|
185
194
|
for (
|
|
186
195
|
source_file_content,
|
|
187
196
|
target_file,
|
|
188
197
|
) in ensemble.experiment.templates_configuration:
|
|
198
|
+
start_time = time.perf_counter()
|
|
189
199
|
target_file = substituter.substitute_real_iter(
|
|
190
200
|
target_file, run_arg.iens, ensemble.iteration
|
|
191
201
|
)
|
|
@@ -194,10 +204,14 @@ def create_run_path(
|
|
|
194
204
|
run_arg.iens,
|
|
195
205
|
ensemble.iteration,
|
|
196
206
|
)
|
|
207
|
+
timings["substitute_real_iter"] += time.perf_counter() - start_time
|
|
208
|
+
start_time = time.perf_counter()
|
|
197
209
|
result = substituter.substitute_parameters(
|
|
198
210
|
result,
|
|
199
211
|
param_data,
|
|
200
212
|
)
|
|
213
|
+
timings["substitute_parameters"] += time.perf_counter() - start_time
|
|
214
|
+
start_time = time.perf_counter()
|
|
201
215
|
target = run_path / target_file
|
|
202
216
|
if not target.parent.exists():
|
|
203
217
|
os.makedirs(
|
|
@@ -205,10 +219,13 @@ def create_run_path(
|
|
|
205
219
|
exist_ok=True,
|
|
206
220
|
)
|
|
207
221
|
target.write_text(result)
|
|
222
|
+
timings["result_file_to_target"] += time.perf_counter() - start_time
|
|
208
223
|
|
|
209
224
|
path = run_path / "jobs.json"
|
|
225
|
+
start_time = time.perf_counter()
|
|
210
226
|
_backup_if_existing(path)
|
|
211
|
-
|
|
227
|
+
timings["backup_if_existing"] = time.perf_counter() - start_time
|
|
228
|
+
start_time = time.perf_counter()
|
|
212
229
|
forward_model_output = create_forward_model_json(
|
|
213
230
|
context=substitutions,
|
|
214
231
|
forward_model_steps=forward_model_steps,
|
|
@@ -225,12 +242,15 @@ def create_run_path(
|
|
|
225
242
|
option=orjson.OPT_NON_STR_KEYS | orjson.OPT_INDENT_2,
|
|
226
243
|
)
|
|
227
244
|
)
|
|
245
|
+
timings["jobs_to_json"] = time.perf_counter() - start_time
|
|
228
246
|
# Write MANIFEST file to runpath use to avoid NFS sync issues
|
|
247
|
+
start_time = time.perf_counter()
|
|
229
248
|
data = _manifest_to_json(ensemble, run_arg.iens, run_arg.itr)
|
|
230
249
|
Path(run_path / "manifest.json").write_bytes(
|
|
231
250
|
orjson.dumps(data, option=orjson.OPT_NON_STR_KEYS | orjson.OPT_INDENT_2)
|
|
232
251
|
)
|
|
233
|
-
|
|
252
|
+
timings["manifest_to_json"] = time.perf_counter() - start_time
|
|
253
|
+
logger.info(f"_create_run_path durations: {timings}")
|
|
234
254
|
runpaths.write_runpath_list(
|
|
235
255
|
[ensemble.iteration], [real.iens for real in run_args if real.active]
|
|
236
256
|
)
|
ert/shared/version.py
CHANGED
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '16.0.
|
|
32
|
-
__version_tuple__ = version_tuple = (16, 0,
|
|
31
|
+
__version__ = version = '16.0.13'
|
|
32
|
+
__version_tuple__ = version_tuple = (16, 0, 13)
|
|
33
33
|
|
|
34
|
-
__commit_id__ = commit_id = '
|
|
34
|
+
__commit_id__ = commit_id = 'g2ae29e14d'
|
|
@@ -122,7 +122,7 @@ ert/dark_storage/endpoints/ensembles.py,sha256=7dbikqPyNi0MhNeVCfhAhXAldxPxl81TY
|
|
|
122
122
|
ert/dark_storage/endpoints/experiment_server.py,sha256=fekQwzpaIQzukMoCyLXXVV_iBXZOlrQRaHXf5RxT4uo,13739
|
|
123
123
|
ert/dark_storage/endpoints/experiments.py,sha256=7z4-V2SqxFXrCzt73GWblvaE5oCSvuJmIalFJgYZGCQ,3457
|
|
124
124
|
ert/dark_storage/endpoints/observations.py,sha256=v7LMm5ANu9wlCE5qnH4ArgKp_rnb4-_4CQKvzdWE8hk,4542
|
|
125
|
-
ert/dark_storage/endpoints/parameters.py,sha256=
|
|
125
|
+
ert/dark_storage/endpoints/parameters.py,sha256=KNoS0_XdasrhLe7jH-VtaUfUlWWE8VrJcxKB4JGM9xs,4947
|
|
126
126
|
ert/dark_storage/endpoints/responses.py,sha256=Rg0_KhPPOMrzsykwQfAY8VVPFcztaAJ7hH_l2lM1xYI,5586
|
|
127
127
|
ert/dark_storage/endpoints/updates.py,sha256=BWEh2XUTqdsPPEtiSE8bJtXcFVzw-GlbKIK3vvc_Cu8,142
|
|
128
128
|
ert/dark_storage/endpoints/version.py,sha256=sEgwRIgPGJHztacjhbQKT3btiEQCe9PPQghZAtlZhh0,364
|
|
@@ -275,7 +275,7 @@ ert/gui/tools/plot/data_type_proxy_model.py,sha256=epTpTsdprL23jDBDFk2B1uEbKIYnb
|
|
|
275
275
|
ert/gui/tools/plot/plot_api.py,sha256=PhS-6osCq_ErzwoSPWpcAbwU_2QcJd2wCHM3KWULK0s,15249
|
|
276
276
|
ert/gui/tools/plot/plot_ensemble_selection_widget.py,sha256=VgB-PRC2iADdydSOWTG39r-AqgmY76QsZ8a6rWwkj2E,7457
|
|
277
277
|
ert/gui/tools/plot/plot_widget.py,sha256=o_ZQg8nKu_AhAH9nW8YnpMBzKK_P0Wdhva2WAQ7WltE,7165
|
|
278
|
-
ert/gui/tools/plot/plot_window.py,sha256=
|
|
278
|
+
ert/gui/tools/plot/plot_window.py,sha256=nGJT9Q4xF0R0UG-SY-aQUnH17aQIg4X0UchXNw9JQZY,16581
|
|
279
279
|
ert/gui/tools/plot/customize/__init__.py,sha256=spAW99ubzOmWuScii_idW0frGDttKCcT4XQegF3vOSU,151
|
|
280
280
|
ert/gui/tools/plot/customize/color_chooser.py,sha256=GS1RSzT9Z_GqJdicvMho_BWjeTBZEWce6IvyfgytFLk,2509
|
|
281
281
|
ert/gui/tools/plot/customize/customization_view.py,sha256=er1PQnhePTs43dsB9gDV7nkMDV0tDmqFneHG7R5UDkM,5093
|
|
@@ -368,7 +368,7 @@ ert/resources/workflows/jobs/shell/MOVE_DIRECTORY,sha256=Lh_u0-eCr5Usa8Xien44d6q
|
|
|
368
368
|
ert/resources/workflows/jobs/shell/MOVE_FILE,sha256=MET6aPtDTVaoEDiTZqKqx_hRayJP3Gn-yubdwrJqpjw,48
|
|
369
369
|
ert/resources/workflows/jobs/shell/SYMLINK,sha256=P6wYoLM6y7IqzJQE5ZWkKEj7ERfK9VTRJa6N1pKigeg,46
|
|
370
370
|
ert/run_models/__init__.py,sha256=ALREGbLZrrJpK3veepVK4Qsb9Aw7sQoc_qssMspILuw,915
|
|
371
|
-
ert/run_models/_create_run_path.py,sha256=
|
|
371
|
+
ert/run_models/_create_run_path.py,sha256=5MKl5ktBP_g6Nb1bMz6XzigUNZiFZ7I9NLr8O-F2K2U,9148
|
|
372
372
|
ert/run_models/ensemble_experiment.py,sha256=dUOSNh8a8jKNoBesirvQU0qUUvZ1jcaCTCS1T4s0KCY,2833
|
|
373
373
|
ert/run_models/ensemble_information_filter.py,sha256=CN-yX3DJlRI7qMaLcEdTgpJMptVjU8d4c7o9HX61PQ0,1039
|
|
374
374
|
ert/run_models/ensemble_smoother.py,sha256=CEdcGSAo_yW3Sfvh3OjQjnhGcwwErDkq7aFZBkKsNOo,3623
|
|
@@ -398,7 +398,7 @@ ert/services/storage_service.py,sha256=3hiQ5MVDD1ozFgndcy6HadK0qPVS1FAmL4P5p2LFf
|
|
|
398
398
|
ert/services/webviz_ert_service.py,sha256=J5vznqb_-DjlDMOze7tdvuBE4GWEPgJ5dIIXvRLKd0Y,650
|
|
399
399
|
ert/shared/__init__.py,sha256=OwgL-31MxA0fabETJ5Svw0tqJpHi569CZDRFHdHiqA0,644
|
|
400
400
|
ert/shared/net_utils.py,sha256=DDHIZLHdBnh7ZZ--1s-FUlsoNTSJJsfHmLQE44E2JqU,5324
|
|
401
|
-
ert/shared/version.py,sha256=
|
|
401
|
+
ert/shared/version.py,sha256=W1llhgDUNvoh6bijmPXxSj7zpCWNWOrOHHB5hYkf3I4,716
|
|
402
402
|
ert/shared/_doc_utils/__init__.py,sha256=zSl-NUpWLF167PVTvfjn0T50gExjvyWPw5OGq5Bt2Dc,983
|
|
403
403
|
ert/shared/_doc_utils/ert_jobs.py,sha256=425Ol3pk-rIjyQxoopAijKV-YiAESJy3yyoukBQle4s,8116
|
|
404
404
|
ert/shared/_doc_utils/everest_jobs.py,sha256=uBDN7tIwlBJIZVZ6ZFL1tkewEJJGDLoeVrFIIrJznvM,2081
|
|
@@ -447,7 +447,7 @@ ert/validation/validation_status.py,sha256=f47_B7aS-9DEh6uaVzKxD97pXienkyTVVCqTy
|
|
|
447
447
|
ert/warnings/__init__.py,sha256=IBwQVkdD7Njaad9PAB-9K-kr15wnA4EBKboxyqgu9NA,214
|
|
448
448
|
ert/warnings/_warnings.py,sha256=7qhNZ0W4nnljzoOx6AXX7VlMv5pa34Ek5M5n1Ep0Kak,189
|
|
449
449
|
ert/warnings/specific_warning_handler.py,sha256=5dVXtOhzcMmtPBGx4AOddXNPfzTFOPA7RVtdH8hLv68,932
|
|
450
|
-
ert-16.0.
|
|
450
|
+
ert-16.0.13.dist-info/licenses/COPYING,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
|
|
451
451
|
everest/__init__.py,sha256=8_f50f6H3-onqaiuNCwC0Eiotdl9JuTxhwyF_54MVvU,306
|
|
452
452
|
everest/config_file_loader.py,sha256=hnwsdrj-HWZb8h5gaCaZEt0uEy4_5n9j9_pC17USbCQ,5359
|
|
453
453
|
everest/everest_storage.py,sha256=-AcCQrBYZWvo0ZtNTgMcgH4lSrHY_bQoxe5In2extBk,42477
|
|
@@ -514,8 +514,8 @@ everest/templates/well_drill.tmpl,sha256=9iLexmBHMsMQNXyyRK4GlmVuVpVIxRcCHpy1av5
|
|
|
514
514
|
everest/templates/well_order.tmpl,sha256=XJ1eVRkeyTdLu5sLsltJSSK6BDLN7rFOAqLdM3ZZy3w,75
|
|
515
515
|
everest/util/__init__.py,sha256=RNXpUtHIuDVrIKzi71E6Ui90amJ7o5DmTTFTeJlrXOs,1269
|
|
516
516
|
everest/util/forward_models.py,sha256=JPxHhLI6TrmQJwW50wwGBmw57TfRd8SG2svYhXFHrc8,1617
|
|
517
|
-
ert-16.0.
|
|
518
|
-
ert-16.0.
|
|
519
|
-
ert-16.0.
|
|
520
|
-
ert-16.0.
|
|
521
|
-
ert-16.0.
|
|
517
|
+
ert-16.0.13.dist-info/METADATA,sha256=gPNBC8hZbnr6dT5XhEsOUNutti3dD26a8tEc2BGjFL0,9758
|
|
518
|
+
ert-16.0.13.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
519
|
+
ert-16.0.13.dist-info/entry_points.txt,sha256=ChZ7vn8Qy9v9rT8GM2JtAvWDN3NVoy4BIcvVRtU73CM,189
|
|
520
|
+
ert-16.0.13.dist-info/top_level.txt,sha256=LRh9GfdfyDWfAGmrQgp_XdoMHA4v6aotw8xgsy5YyHE,17
|
|
521
|
+
ert-16.0.13.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|