ert 18.0.6__py3-none-any.whl → 18.0.8__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.
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import functools
4
4
  import logging
5
+ import re
5
6
  import time
6
7
  import warnings
7
8
  from collections.abc import Callable, Iterable, Sequence
@@ -441,6 +442,12 @@ def smoother_update(
441
442
  with warnings.catch_warnings():
442
443
  original_showwarning = warnings.showwarning
443
444
 
445
+ ILL_CONDITIONED_RE = re.compile(
446
+ r"^LinAlgWarning:.*ill[- ]?conditioned\s+matrix", re.IGNORECASE
447
+ )
448
+ LIMIT_ILL_CONDITIONED_WARNING = 1000
449
+ illconditioned_warn_counter = 0
450
+
444
451
  def log_warning(
445
452
  message: Warning | str,
446
453
  category: type[Warning],
@@ -449,12 +456,18 @@ def smoother_update(
449
456
  file: TextIO | None = None,
450
457
  line: str | None = None,
451
458
  ) -> None:
452
- logger.warning(
453
- f"{category.__name__}: {message} (from {filename}:{lineno})"
454
- )
455
- original_showwarning(
456
- message, category, filename, lineno, file=file, line=line
457
- )
459
+ nonlocal illconditioned_warn_counter
460
+
461
+ if ILL_CONDITIONED_RE.search(str(message)):
462
+ illconditioned_warn_counter += 1
463
+
464
+ if illconditioned_warn_counter < LIMIT_ILL_CONDITIONED_WARNING:
465
+ logger.warning(
466
+ f"{category.__name__}: {message} (from {filename}:{lineno})"
467
+ )
468
+ original_showwarning(
469
+ message, category, filename, lineno, file=file, line=line
470
+ )
458
471
 
459
472
  warnings.showwarning = log_warning
460
473
  analysis_ES(
ert/config/ert_config.py CHANGED
@@ -686,6 +686,14 @@ def log_observation_keys(
686
686
  if key not in {"name", "type"}
687
687
  )
688
688
 
689
+ if "HISTORY_OBSERVATION" in observation_type_counts:
690
+ msg = (
691
+ "HISTORY_OBSERVATION is deprecated and will be removed. "
692
+ "Please use SUMMARY_OBSERVATION instead."
693
+ )
694
+ ConfigWarning.warn(msg)
695
+ logger.warning(msg)
696
+
689
697
  logger.info(
690
698
  f"Count of observation types:\n\t{dict(observation_type_counts)}\n"
691
699
  f"Count of observation keywords:\n\t{dict(observation_keyword_counts)}"
@@ -354,6 +354,10 @@ class ExperimentPanel(QWidget):
354
354
  return
355
355
  QApplication.restoreOverrideCursor()
356
356
 
357
+ self.configuration_summary.log_summary(
358
+ args.mode, model.get_number_of_active_realizations()
359
+ )
360
+
357
361
  self._dialog = RunDialog(
358
362
  f"Experiment - {self._config_file} {find_ert_info()}",
359
363
  model.api,
ert/gui/summarypanel.py CHANGED
@@ -1,5 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import logging
3
4
  from typing import TYPE_CHECKING, Any
4
5
 
5
6
  from PyQt6.QtCore import Qt
@@ -18,6 +19,8 @@ from ert.gui.ertwidgets import ErtSummary
18
19
  if TYPE_CHECKING:
19
20
  from ert.config import ErtConfig
20
21
 
22
+ logger = logging.getLogger(__name__)
23
+
21
24
 
22
25
  class SummaryTemplate:
23
26
  def __init__(self, title: str) -> None:
@@ -123,6 +126,22 @@ class SummaryPanel(QFrame):
123
126
 
124
127
  self._layout.addLayout(layout)
125
128
 
129
+ def log_summary(self, run_model: str, num_realizations: int) -> None:
130
+ summary = ErtSummary(self.config)
131
+
132
+ observations = summary.getObservations()
133
+ observations_count = sum(e["count"] for e in observations)
134
+
135
+ _, parameter_count = summary.get_parameters()
136
+
137
+ logger.info(
138
+ f"Experiment summary:\n"
139
+ f"Runmodel: {run_model}\n"
140
+ f"Realizations: {num_realizations}\n"
141
+ f"Parameters: {parameter_count}\n"
142
+ f"Observations: {observations_count}"
143
+ )
144
+
126
145
  @staticmethod
127
146
  def _runlength_encode_list(strings: list[str]) -> list[tuple[str, int]]:
128
147
  """Runlength encode a list of strings.
@@ -248,28 +248,8 @@ class RunModel(RunModelConfig, ABC):
248
248
  for key, value in self.__dict__.items()
249
249
  if key not in keys_to_drop
250
250
  }
251
- settings_summary = {
252
- "run_model": self.name(),
253
- "num_realizations": self.runpath_config.num_realizations,
254
- "num_active_realizations": self.active_realizations.count(True),
255
- "num_parameters": (
256
- sum(
257
- len(param_config.parameter_keys)
258
- for param_config in self.parameter_configuration
259
- )
260
- if hasattr(self, "parameter_configuration")
261
- else "NA"
262
- ),
263
- "localization": getattr(
264
- settings_dict.get("analysis_settings", {}), "localization", "NA"
265
- ),
266
- }
267
251
 
268
- logger.info(
269
- f"Running '{self.name()}'\n\n"
270
- f"Settings summary: {settings_summary}\n\n"
271
- f"Settings: {settings_dict}"
272
- )
252
+ logger.info(f"Running '{self.name()}'\n\nSettings: {settings_dict}")
273
253
 
274
254
  @field_validator("env_vars", mode="after")
275
255
  @classmethod
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.6'
32
- __version_tuple__ = version_tuple = (18, 0, 6)
31
+ __version__ = version = '18.0.8'
32
+ __version_tuple__ = version_tuple = (18, 0, 8)
33
33
 
34
- __commit_id__ = commit_id = 'g11538d255'
34
+ __commit_id__ = commit_id = 'g5b857b415'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ert
3
- Version: 18.0.6
3
+ Version: 18.0.8
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
@@ -32,7 +32,7 @@ ert/trace.py,sha256=m2ZjKd1nf7LjBM2lL0fk1cNF04HnQs8blZhQbTXgcB0,1274
32
32
  ert/workflow_runner.py,sha256=veKEZBRnyMoErFpABRKLreMJvgVoN7UENbJssqmKW7w,7298
33
33
  ert/analysis/__init__.py,sha256=NNLGQG9gex6lJ8IZjEg_tXTfSeJceRA9zjOek-UeY0Y,591
34
34
  ert/analysis/_enif_update.py,sha256=Oh9oUiMLbBT8o3TPl9x3ZR24gqBpIn6nFPwrOjMNtnY,7654
35
- ert/analysis/_es_update.py,sha256=tav1ku3uqPBPDqDfVzsMS1gi5Zn0lRk_oXqt2LZolPs,16592
35
+ ert/analysis/_es_update.py,sha256=cKwkJu-iTeQArQcW5NrAGhSASTBQJHMCieuLj5_p9ho,17107
36
36
  ert/analysis/_update_commons.py,sha256=y2MYW_B02TDBcnuPJBh3WWqBCUmL0f9JoZ8nB_-K0pQ,12375
37
37
  ert/analysis/event.py,sha256=vBYqtTl5DXePPWHTLX9bROmGTD2ixcrQh4K07g-UikM,2248
38
38
  ert/analysis/misfit_preprocessor.py,sha256=2MjlL2yIg5KQpqWiD3675-hoy_5QM49pWQ7VXK4rous,8001
@@ -54,7 +54,7 @@ ert/config/capture_validation.py,sha256=8HGEbJ2z9FXeEaxSewejP7NtEh4LLomPwcdpC0CJ
54
54
  ert/config/design_matrix.py,sha256=yyAFBppTwZXt4OeN6kxRmLk16jF8bntQWLHU_-rDQn4,17236
55
55
  ert/config/distribution.py,sha256=MdLQEnWZqDaAwbKI1maXxlurYousirlZbA8AIk6GITw,12734
56
56
  ert/config/ensemble_config.py,sha256=wI2wDWXpblUzFPaRQRpm9ZYgExGIs6DnT4fLmD5vWJ0,7323
57
- ert/config/ert_config.py,sha256=FSl7XHkK94slKmKrUj-rMmkDRe-C4ehDzc_iLb02I34,54853
57
+ ert/config/ert_config.py,sha256=HRXfKPoecapHtTM5dLe-dDAO_p4-vX0QnulmcOuYB9g,55121
58
58
  ert/config/ert_plugin.py,sha256=hENwrc9FfhqUYjVpFYcmy66jDLgU_gagOJFBcYjxe6A,458
59
59
  ert/config/ert_script.py,sha256=64FZ-dMI8DZtRLHWReC19KY-ZOsBhdgYkwAe9ZWLc_I,8405
60
60
  ert/config/everest_response.py,sha256=NURh-JPQwEm6kQgsw7_PkcXaUYOMSZoUA3x2yQKPTOM,3530
@@ -160,7 +160,7 @@ ert/gui/ertnotifier.py,sha256=u3jWGjuS75Ml7hAOT6FjBIksB3NLrWNIoH0_WLT3gCE,3031
160
160
  ert/gui/find_ert_info.py,sha256=hwqiCa5rDZEL_25QVsx920d9NOaVM2PyUor89_-70-Q,301
161
161
  ert/gui/main.py,sha256=h27FWct4C7R6uYRPa3b5stZbF1QuDr_2zXGCNjJEh4E,8980
162
162
  ert/gui/main_window.py,sha256=ukP7OFIB23luoNIsKNTEts_yMaIlY0Qamcvn-Rfeu4E,14995
163
- ert/gui/summarypanel.py,sha256=t12-A7Xx9ASoHa90VBZAISpSOVWvOYFb4GDTUpXkeSc,4235
163
+ ert/gui/summarypanel.py,sha256=pIMCUyEulNB-TzC1d6NBSUv4dzmM3RzDKiDRc6HuUe4,4832
164
164
  ert/gui/ertwidgets/__init__.py,sha256=LtwHe4wpA0YpbealTrukMb7rDSSTxSyGkVaM8IvlI8A,1878
165
165
  ert/gui/ertwidgets/analysismoduleedit.py,sha256=Ff9gzaQHrEH1yQ2tWg15fZrUN0mr_rJEUMciatOjlLc,1444
166
166
  ert/gui/ertwidgets/analysismodulevariablespanel.py,sha256=xL_UHZsTkETF1hovkLa9ax58ofBVpa-jO0fhnL6ZyA4,4954
@@ -239,7 +239,7 @@ ert/gui/simulation/ensemble_information_filter_panel.py,sha256=GafKsROmB2AmzvuR4
239
239
  ert/gui/simulation/ensemble_smoother_panel.py,sha256=kZ1i6BXQB7e1MnUp8dSmXCSPO9d_4r8_jARlDzUqVNI,6489
240
240
  ert/gui/simulation/evaluate_ensemble_panel.py,sha256=o5enKuNViMWRKUtEtzUqumcS8FHhGNkheYF3wji5EJs,4978
241
241
  ert/gui/simulation/experiment_config_panel.py,sha256=wDFwfJ6JtFZrQVd66qwakzsbSR3uhPOLfFszwg-bAXQ,850
242
- ert/gui/simulation/experiment_panel.py,sha256=ZP1k9CJedVvsu2rqkrbh9NfZVGZdLe8WotPX43n9A3E,15123
242
+ ert/gui/simulation/experiment_panel.py,sha256=aJZwsUH7E-pEIGMPWFOugg4KIEP0TxSaD8Q-cfyy5wE,15247
243
243
  ert/gui/simulation/manual_update_panel.py,sha256=mhXKnNGJqR8NtXHFvWtDHRsrDA_SCwBbRsB38kIX1OU,6955
244
244
  ert/gui/simulation/multiple_data_assimilation_panel.py,sha256=O3sCbHFfzaVft2kSWcs3gVHeWa5DXhUvdhUBZM0xv_Y,14951
245
245
  ert/gui/simulation/queue_emitter.py,sha256=Rse2W2mL7NQBiYM3iYunRWN7hCCD_kHb1ThuO5ixxZQ,1916
@@ -381,7 +381,7 @@ ert/run_models/manual_update.py,sha256=CjuoWjtVeyo4fT7HmKqtmiQflKJtcoQVJWrf6BXTB
381
381
  ert/run_models/manual_update_enif.py,sha256=79l_hSrNN-6gvuBQBFiEYYbKOAdLLI0UwyMbzVlFSTU,995
382
382
  ert/run_models/model_factory.py,sha256=DzRIIlSOWOn2VpUFAoThiKVDohNgT2a804qcw-RYcrY,21166
383
383
  ert/run_models/multiple_data_assimilation.py,sha256=Mg6OoR3ncNgOm7bNeV-5FdBRRljEs7Nyef4W48yPVks,8471
384
- ert/run_models/run_model.py,sha256=X2H2ElEbFjADkfFnqs3FaxYIBTTvj7O4E3TjHIhgunU,30668
384
+ ert/run_models/run_model.py,sha256=H9spbqINK1rbsDUpVLip-9K_jRzUsWwr75fJIlb4Q1Q,29923
385
385
  ert/run_models/single_test_run.py,sha256=-5Z-JB_VYlR4p4PAtKTcj5QzYjdj7EFn6_6odjlPJH0,1069
386
386
  ert/run_models/update_run_model.py,sha256=nWTnLVnXN_1Si55v_ZJaKYhDgo_G1JgZ-bz6JFjbvOg,5407
387
387
  ert/scheduler/__init__.py,sha256=Swxw-mDWEUr6jD8LLfF2tWDJnMv3oEVSbRrOh9DtZwE,1368
@@ -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=UbS5A3ggo0qvlCwZwDIDBHmSiajgVMJK6jCVrBMWqzc,714
403
+ ert/shared/version.py,sha256=rv0sO23_crLJpR4moOso72WUv0qW0oySUShhRzf8sIQ,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.6.dist-info/licenses/COPYING,sha256=jOtLnuWt7d5Hsx6XXB2QxzrSe2sWWh3NgMfFRetluQM,35147
456
+ ert-18.0.8.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.6.dist-info/METADATA,sha256=a7oF4txAllq9AXi-4ulfjq1Fzr5j5gEQqMi0wNqQYbw,10012
521
- ert-18.0.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
522
- ert-18.0.6.dist-info/entry_points.txt,sha256=ChZ7vn8Qy9v9rT8GM2JtAvWDN3NVoy4BIcvVRtU73CM,189
523
- ert-18.0.6.dist-info/top_level.txt,sha256=LRh9GfdfyDWfAGmrQgp_XdoMHA4v6aotw8xgsy5YyHE,17
524
- ert-18.0.6.dist-info/RECORD,,
520
+ ert-18.0.8.dist-info/METADATA,sha256=Kjn_2_u3v7WBOKanFUbqLg4vfa3pgxXV08xR4vhPwBE,10012
521
+ ert-18.0.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
522
+ ert-18.0.8.dist-info/entry_points.txt,sha256=ChZ7vn8Qy9v9rT8GM2JtAvWDN3NVoy4BIcvVRtU73CM,189
523
+ ert-18.0.8.dist-info/top_level.txt,sha256=LRh9GfdfyDWfAGmrQgp_XdoMHA4v6aotw8xgsy5YyHE,17
524
+ ert-18.0.8.dist-info/RECORD,,
File without changes