pofff.visualization.everert module
Postprocess Everest (ERT) ensemble and optimization studies. Generates diagnostics, plots, and extracts best simulations.
- class pofff.visualization.everert.Config(path: Path, times: str, jobs: List[str], external: Path, run: str, maps: Path, min_saturation: float, min_concentration: float)
Bases:
objectRuntime configuration and paths.
- external: Path
- jobs: List[str]
- maps: Path
- min_concentration: float
- min_saturation: float
- path: Path
- run: str
- times: str
- class pofff.visualization.everert.EnsembleState(observations: ndarray, n_e: int, n_i: int, no_obs: int, no_para: int, simulations: List[List[list]] = <factory>, sim_ens: List[List[float]] = <factory>, miss_ens: List[List[float]] = <factory>, par_dis: List[List[float]] = <factory>, idrealisation: List[List[int]] = <factory>, num_ens: List[int] = <factory>, cumulative: List[List[List[float]]] = <factory>, para_file: Path | None = None, para_names: List[str] = <factory>)
Bases:
objectHolds ensemble simulations and diagnostics.
- cumulative: List[List[List[float]]]
- idrealisation: List[List[int]]
- miss_ens: List[List[float]]
- n_e: int
- n_i: int
- no_obs: int
- no_para: int
- num_ens: List[int]
- observations: ndarray
- par_dis: List[List[float]]
- para_file: Path | None = None
- para_names: List[str]
- sim_ens: List[List[float]]
- simulations: List[List[list]]
- class pofff.visualization.everert.OptimizationState(optimization: List[float] = <factory>, optimal_value: float = -inf, ind_batch: int = 0, ind_sim: int = 0, tot_eval: int = 0, s: List[List[int]] = <factory>, x: List[int] = <factory>)
Bases:
objectTracks optimization progress and outcomes.
- ind_batch: int = 0
- ind_sim: int = 0
- optimal_value: float = -inf
- optimization: List[float]
- s: List[List[int]]
- tot_eval: int = 0
- x: List[int]
- pofff.visualization.everert.copy_tree_contents(src: Path, dst: Path)
Copy contents of src into dst (cp -r src/. dst/).
- pofff.visualization.everert.ensure_dir(path: Path)
Create directory if missing.
- pofff.visualization.everert.extract_best_simulation(cfg: Config, state: EnsembleState)
Extract best-fitting ensemble realization.
- pofff.visualization.everert.extract_optimal_solution(cfg: Config, opt: OptimizationState)
Extract and postprocess optimal optimization result.
- pofff.visualization.everert.initialize_ensemble(cfg: Config) EnsembleState
Initialize ensemble from simulation folders.
- pofff.visualization.everert.main()
Entry point.
- pofff.visualization.everert.plot_cumulative_misfit(cfg: Config, state: EnsembleState, tab20)
Plot cumulative misfit contributions per observation.
- pofff.visualization.everert.plot_hm_mismatch(cfg: Config, state: EnsembleState)
Plot ensemble-mean misfit per iteration.
- pofff.visualization.everert.plot_misfit(cfg: Config, state: EnsembleState)
Plot ensemble misfit per iteration.
- pofff.visualization.everert.plot_observable_distribution(cfg: Config, state: EnsembleState)
Plot observable sum distributions.
- pofff.visualization.everert.plot_optimization(cfg: Config, opt: OptimizationState)
Plot optimization progress.
- pofff.visualization.everert.plot_optimization_details(cfg: Config, opt: OptimizationState)
Plot optimization success statistics.
- pofff.visualization.everert.plot_parameter_distributions(cfg: Config, state: EnsembleState)
Boxplots of parameter distributions.
- pofff.visualization.everert.plot_simulation_ensemble(cfg: Config, state: EnsembleState, tab20)
Plot initial and final ensemble simulations.
- pofff.visualization.everert.process_optimization(cfg: Config) OptimizationState
Process Everest optimization results.
- pofff.visualization.everert.read_realisation(cfg: Config, state: EnsembleState, i: int, j: int)
Read one realization and update ensemble statistics.
- pofff.visualization.everert.run(cmd: List[str]) None
Execute external command and abort on failure.
- pofff.visualization.everert.save_figure(fig, path: Path, dpi=300)
Save figure and release memory.
- pofff.visualization.everert.setup_matplotlib()
Apply consistent matplotlib styling.