ert 18.0.3__py3-none-any.whl → 18.0.4__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.
@@ -217,15 +217,4 @@ deprecated_keywords_list = [
217
217
  ),
218
218
  check=lambda line: line[0] == "DESIGN2PARAMS",
219
219
  ),
220
- DeprecationInfo(
221
- keyword="FORWARD_MODEL",
222
- message=(
223
- "FORWARD_MODEL DESIGN_KW will be replaced with RUN_TEMPLATE. "
224
- "DESIGN2PARAMS has been replaced by DESIGN_MATRIX, so the "
225
- "parameters are already available for magic string replacement "
226
- "with the RUN_TEMPLATE keyword. Please use this format: "
227
- "'RUN_TEMPLATE my_text_file_template.txt my_text_output_file.txt'"
228
- ),
229
- check=lambda line: line[0] == "DESIGN_KW",
230
- ),
231
220
  ]
@@ -5,6 +5,7 @@ import logging
5
5
  import math
6
6
  import os
7
7
  import time
8
+ from collections import defaultdict
8
9
  from collections.abc import Iterable, Mapping
9
10
  from copy import deepcopy
10
11
  from datetime import UTC, datetime
@@ -102,7 +103,7 @@ def _generate_parameter_files(
102
103
  iens: int,
103
104
  fs: Ensemble,
104
105
  iteration: int,
105
- ) -> Mapping[str, Mapping[str, float | str]]:
106
+ ) -> tuple[Mapping[str, Mapping[str, float | str]], Mapping[str, float]]:
106
107
  """
107
108
  Generate parameter files that are placed in each runtime directory for
108
109
  forward-model jobs to consume.
@@ -117,8 +118,9 @@ def _generate_parameter_files(
117
118
  fs: Ensemble from which to load parameter data
118
119
 
119
120
  Returns:
120
- Returns the union of parameters returned by write_to_runpath for each
121
- parameter_config.
121
+ Returns a tuple containing: the union of parameters returned by
122
+ write_to_runpath for each parameter_config, and a dict with
123
+ timings/durations for each parameter type.
122
124
  """
123
125
  # preload scalar parameters for this realization
124
126
  keys = [
@@ -126,18 +128,23 @@ def _generate_parameter_files(
126
128
  for p in parameter_configs
127
129
  if p.cardinality == ParameterCardinality.multiple_configs_per_ensemble_dataset
128
130
  ]
131
+ export_timings: defaultdict[str, float] = defaultdict(float)
129
132
  scalar_data: dict[str, float | str] = {}
130
133
  if keys:
134
+ start_time = time.perf_counter()
131
135
  df = fs._load_scalar_keys(keys=keys, realizations=iens, transformed=True)
132
136
  scalar_data = df.to_dicts()[0]
137
+ export_timings["load_scalar_keys"] = time.perf_counter() - start_time
133
138
  exports: dict[str, dict[str, float | str]] = {}
134
139
  log_exports: dict[str, dict[str, float | str]] = {}
140
+
135
141
  for param in parameter_configs:
136
142
  # For the first iteration we do not write the parameter
137
143
  # to run path, as we expect to read if after the forward
138
144
  # model has completed.
139
145
  if param.forward_init and iteration == 0:
140
146
  continue
147
+ start_time = time.perf_counter()
141
148
  export_values: dict[str, dict[str, float | str]] | None = None
142
149
  log_export_values: dict[str, dict[str, float | str]] | None = {}
143
150
  if param.name in scalar_data:
@@ -164,11 +171,15 @@ def _generate_parameter_files(
164
171
  if log_export_values:
165
172
  for group, vals in log_export_values.items():
166
173
  log_exports.setdefault(group, {}).update(vals)
174
+ export_timings[param.type] += time.perf_counter() - start_time
167
175
  continue
168
-
176
+ start_time = time.perf_counter()
169
177
  _value_export_txt(run_path, export_base_name, exports | log_exports)
178
+ export_timings["value_export_txt"] = time.perf_counter() - start_time
179
+ start_time = time.perf_counter()
170
180
  _value_export_json(run_path, export_base_name, exports)
171
- return exports
181
+ export_timings["value_export_json"] = time.perf_counter() - start_time
182
+ return (exports, dict(export_timings))
172
183
 
173
184
 
174
185
  def _manifest_to_json(ensemble: Ensemble, iens: int, iter_: int) -> dict[str, Any]:
@@ -239,7 +250,7 @@ def create_run_path(
239
250
  if run_arg.active:
240
251
  run_path.mkdir(parents=True, exist_ok=True)
241
252
  start_time = time.perf_counter()
242
- param_data = _generate_parameter_files(
253
+ (param_data, detailed_parameter_timings) = _generate_parameter_files(
243
254
  ensemble.experiment.parameter_configuration.values(),
244
255
  parameters_file,
245
256
  run_path,
@@ -247,6 +258,11 @@ def create_run_path(
247
258
  ensemble,
248
259
  ensemble.iteration,
249
260
  )
261
+ for parameter_type, duration in detailed_parameter_timings.items():
262
+ if parameter_type not in timings:
263
+ timings[parameter_type] = 0.0
264
+ timings[parameter_type] += duration
265
+
250
266
  timings["generate_parameter_files"] += time.perf_counter() - start_time
251
267
  real_iter_substituter = substituter.real_iter_substituter(
252
268
  run_arg.iens, ensemble.iteration
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 = '18.0.3'
32
- __version_tuple__ = version_tuple = (18, 0, 3)
31
+ __version__ = version = '18.0.4'
32
+ __version_tuple__ = version_tuple = (18, 0, 4)
33
33
 
34
- __commit_id__ = commit_id = 'g211bdcd43'
34
+ __commit_id__ = commit_id = 'gbe2423cee'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ert
3
- Version: 18.0.3
3
+ Version: 18.0.4
4
4
  Summary: Ensemble based Reservoir Tool (ERT)
5
5
  Author-email: Equinor ASA <fg_sib-scout@equinor.com>
6
6
  License-Expression: GPL-3.0-only
@@ -89,7 +89,7 @@ ert/config/parsing/config_dict.py,sha256=yyBb-NeaFnIjENrcziVA11Bq43uGguUiPECcKWL
89
89
  ert/config/parsing/config_errors.py,sha256=p3lAcRPXTm4okupdVyLwRCVWJ_86a7rgCohkDaLRM10,4806
90
90
  ert/config/parsing/config_keywords.py,sha256=J8kgzDVhuM8jvCwzO1kfOxvOH_DnDASOZPaJZujcIgQ,1860
91
91
  ert/config/parsing/config_schema.py,sha256=9ws2C3Oc-eT5uB_Xy2IEvPWON7b9rZnIc2FpID7hhWc,9614
92
- ert/config/parsing/config_schema_deprecations.py,sha256=fmzyxUBxR9GtDNIkP0ozHWU2SH1TvyhBFFyFhG8vZjA,9125
92
+ ert/config/parsing/config_schema_deprecations.py,sha256=xUkbe-_UA8UawNcUF58YwHHpHTAfC6XO2ZBN97jchKc,8611
93
93
  ert/config/parsing/config_schema_item.py,sha256=jjHT1KqobQvpLxh9gZ0rR8x_YylV29pvvP7oUASFwtA,14448
94
94
  ert/config/parsing/context_values.py,sha256=S_j_BKuwqSm8RZNnw6Ki2ZQ4jz0VFXXmh0MZA2OstmQ,2288
95
95
  ert/config/parsing/deprecation_info.py,sha256=E31LBTiG1qNeqACU8lTxp54bESIeuuVHgFim8j8uVjg,663
@@ -369,7 +369,7 @@ ert/resources/workflows/jobs/shell/MOVE_DIRECTORY,sha256=Lh_u0-eCr5Usa8Xien44d6q
369
369
  ert/resources/workflows/jobs/shell/MOVE_FILE,sha256=MET6aPtDTVaoEDiTZqKqx_hRayJP3Gn-yubdwrJqpjw,48
370
370
  ert/resources/workflows/jobs/shell/SYMLINK,sha256=P6wYoLM6y7IqzJQE5ZWkKEj7ERfK9VTRJa6N1pKigeg,46
371
371
  ert/run_models/__init__.py,sha256=PzLAD_gFRm_oUq_zDByAlQ05zShrBRoCR8oCn2qg43I,1348
372
- ert/run_models/_create_run_path.py,sha256=kcjx-Q1RqswzI-lx0Y-3dApZMCNSEZHq7y2xs9BxjrE,11734
372
+ ert/run_models/_create_run_path.py,sha256=fnHCRQaGtTYpQy2garIGF7qrTQsfXMZmcOCoFZoFVu4,12691
373
373
  ert/run_models/ensemble_experiment.py,sha256=bbwZtuQQy-3V5VKK8WpGnGe4rDd9A8A4B0skt70ds3Q,2968
374
374
  ert/run_models/ensemble_information_filter.py,sha256=WecqKB9XlN0Ktxu43jTftjSkw0Kp_GfxSUh-tPrT0_E,1297
375
375
  ert/run_models/ensemble_smoother.py,sha256=zGEG6DvASDaz_XsXrUT8Vbv7bxWIWw-wR4b1DGx6H3I,3802
@@ -400,7 +400,7 @@ ert/services/ert_server.py,sha256=geh5mkdAKqNKgG56DcwSnEpvf0wcUc7vuw4feG1ykEI,10
400
400
  ert/services/webviz_ert_service.py,sha256=J5vznqb_-DjlDMOze7tdvuBE4GWEPgJ5dIIXvRLKd0Y,650
401
401
  ert/shared/__init__.py,sha256=OwgL-31MxA0fabETJ5Svw0tqJpHi569CZDRFHdHiqA0,644
402
402
  ert/shared/net_utils.py,sha256=DDHIZLHdBnh7ZZ--1s-FUlsoNTSJJsfHmLQE44E2JqU,5324
403
- ert/shared/version.py,sha256=llZW1syJ0X_XI90_uTsjvEQ5V9UY3Fxv-4JUtLFBSRc,714
403
+ ert/shared/version.py,sha256=sHyQpOJPAhRw_LFevtB2d0hrVnwOgd9JQmCvacV5LwI,714
404
404
  ert/shared/_doc_utils/__init__.py,sha256=zSl-NUpWLF167PVTvfjn0T50gExjvyWPw5OGq5Bt2Dc,983
405
405
  ert/shared/_doc_utils/ert_jobs.py,sha256=uHP8ozhKwCHG6BkyhAgCGoy59JEFb102pHKot-5ZEys,8054
406
406
  ert/shared/_doc_utils/everest_jobs.py,sha256=uBDN7tIwlBJIZVZ6ZFL1tkewEJJGDLoeVrFIIrJznvM,2081
@@ -453,7 +453,7 @@ ert/validation/validation_status.py,sha256=f47_B7aS-9DEh6uaVzKxD97pXienkyTVVCqTy
453
453
  ert/warnings/__init__.py,sha256=IBwQVkdD7Njaad9PAB-9K-kr15wnA4EBKboxyqgu9NA,214
454
454
  ert/warnings/_warnings.py,sha256=7qhNZ0W4nnljzoOx6AXX7VlMv5pa34Ek5M5n1Ep0Kak,189
455
455
  ert/warnings/specific_warning_handler.py,sha256=5dVXtOhzcMmtPBGx4AOddXNPfzTFOPA7RVtdH8hLv68,932
456
- ert-18.0.3.dist-info/licenses/COPYING,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
456
+ ert-18.0.4.dist-info/licenses/COPYING,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
457
457
  everest/__init__.py,sha256=8_f50f6H3-onqaiuNCwC0Eiotdl9JuTxhwyF_54MVvU,306
458
458
  everest/config_file_loader.py,sha256=q_rmxk778uDrNxdQQW0tBs9R3hU4az6yGCJwuY_5xww,5698
459
459
  everest/everest_storage.py,sha256=Xg2CuRdhZOqljm0i6H5o-pejcMeCwncSGw7Q6beZRgY,42173
@@ -517,8 +517,8 @@ everest/templates/well_drill.tmpl,sha256=9iLexmBHMsMQNXyyRK4GlmVuVpVIxRcCHpy1av5
517
517
  everest/templates/well_order.tmpl,sha256=XJ1eVRkeyTdLu5sLsltJSSK6BDLN7rFOAqLdM3ZZy3w,75
518
518
  everest/util/__init__.py,sha256=xEYLz6pUtgkH8VHer1RfoCwKiO70dBnuhHonsOPaOx0,1359
519
519
  everest/util/forward_models.py,sha256=JPxHhLI6TrmQJwW50wwGBmw57TfRd8SG2svYhXFHrc8,1617
520
- ert-18.0.3.dist-info/METADATA,sha256=6VtOgk7bU0tXesTYDU64W3uB5doNHepwgh2Zsc31cMQ,10013
521
- ert-18.0.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
522
- ert-18.0.3.dist-info/entry_points.txt,sha256=ChZ7vn8Qy9v9rT8GM2JtAvWDN3NVoy4BIcvVRtU73CM,189
523
- ert-18.0.3.dist-info/top_level.txt,sha256=LRh9GfdfyDWfAGmrQgp_XdoMHA4v6aotw8xgsy5YyHE,17
524
- ert-18.0.3.dist-info/RECORD,,
520
+ ert-18.0.4.dist-info/METADATA,sha256=eSyzD9hbt1j8gVmplb7QiqFVxBXbx9k_tivxwopG2E8,10013
521
+ ert-18.0.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
522
+ ert-18.0.4.dist-info/entry_points.txt,sha256=ChZ7vn8Qy9v9rT8GM2JtAvWDN3NVoy4BIcvVRtU73CM,189
523
+ ert-18.0.4.dist-info/top_level.txt,sha256=LRh9GfdfyDWfAGmrQgp_XdoMHA4v6aotw8xgsy5YyHE,17
524
+ ert-18.0.4.dist-info/RECORD,,
File without changes