From 1b67fa24deae70ee4addb306394f8452b03f55a2 Mon Sep 17 00:00:00 2001 From: Kristian Fossum Date: Tue, 30 Jul 2024 09:42:33 +0200 Subject: [PATCH 1/9] Ensure consistent results over numpy v1.24 to v1.25 update --- Quadratic/init_optim.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Quadratic/init_optim.toml b/Quadratic/init_optim.toml index d8c28ef..0ece369 100644 --- a/Quadratic/init_optim.toml +++ b/Quadratic/init_optim.toml @@ -23,7 +23,7 @@ transform = true [optim] maxiter = 50 tol = 1e-02 -alpha = 0.1 +alpha = 0.25 alpha_maxiter = 4 resample = 0 optimizer = 'GA' From 770b1104d73fd29ecd695c504e2138959610c675 Mon Sep 17 00:00:00 2001 From: Kristian Fossum Date: Tue, 30 Jul 2024 14:32:52 +0200 Subject: [PATCH 2/9] Geostat is seperate package --- 3SpotRobust/gen_geo_models.py | 2 +- 3dBox/data/setup.py | 2 +- LinearModel/run_script.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/3SpotRobust/gen_geo_models.py b/3SpotRobust/gen_geo_models.py index c85306e..a4fc2a2 100644 --- a/3SpotRobust/gen_geo_models.py +++ b/3SpotRobust/gen_geo_models.py @@ -1,5 +1,5 @@ from popt.misc_tools.basic_tools import * -from pipt.geostat.gaussian_sim import fast_gaussian +from geostat.gaussian_sim import fast_gaussian import numpy as np models = [] diff --git a/3dBox/data/setup.py b/3dBox/data/setup.py index ed9f250..327ce31 100644 --- a/3dBox/data/setup.py +++ b/3dBox/data/setup.py @@ -10,7 +10,7 @@ from subprocess import call,Popen,PIPE,DEVNULL from simulator.rockphysics.standardrp import elasticproperties from copy import deepcopy -from pipt.geostat import gaussian_sim +from geostat import gaussian_sim import mat73,shutil,glob diff --git a/LinearModel/run_script.py b/LinearModel/run_script.py index 1ed357e..6afde15 100644 --- a/LinearModel/run_script.py +++ b/LinearModel/run_script.py @@ -4,7 +4,7 @@ from pipt import pipt_init from ensemble.ensemble import Ensemble import matplotlib.pyplot as plt -from pipt.geostat.decomp import Cholesky +from geostat.decomp import Cholesky import numpy as np np.random.seed(10) From 5adf0911237bb6c840c49a5ee8f3f8654069f7e1 Mon Sep 17 00:00:00 2001 From: rolfjl Date: Mon, 5 Aug 2024 10:17:14 +0200 Subject: [PATCH 3/9] Modifiy the test to handle new keyword structure --- LinearModel/run_script.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LinearModel/run_script.py b/LinearModel/run_script.py index 6afde15..07c75a6 100644 --- a/LinearModel/run_script.py +++ b/LinearModel/run_script.py @@ -19,7 +19,7 @@ # en.calc_prediction(save_prediction='test1') np.random.seed(10) -analysis = pipt_init.init_da(kd, kf, sim) +analysis = pipt_init.init_da(kd, kd, sim) assimilation = Assimilate(analysis) assimilation.run() From fb45eb9db075aa49edfd43679392c4a95214272c Mon Sep 17 00:00:00 2001 From: rolo Date: Tue, 2 Dec 2025 15:16:42 +0100 Subject: [PATCH 4/9] Rename GA -> GD --- Quadratic/init_optim.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Quadratic/init_optim.toml b/Quadratic/init_optim.toml index 0ece369..684f8cd 100644 --- a/Quadratic/init_optim.toml +++ b/Quadratic/init_optim.toml @@ -26,7 +26,7 @@ tol = 1e-02 alpha = 0.25 alpha_maxiter = 4 resample = 0 -optimizer = 'GA' +optimizer = 'GD' restartsave = true restart = false hessian = false From e88b7815cd3cfc67c30ddf40c8bb51beb27f5627 Mon Sep 17 00:00:00 2001 From: "Rolf J. Lorentzen" Date: Thu, 15 Jan 2026 14:40:03 +0100 Subject: [PATCH 5/9] Update run_script.py --- LinearModel/run_script.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/LinearModel/run_script.py b/LinearModel/run_script.py index 88f6b56..c647843 100644 --- a/LinearModel/run_script.py +++ b/LinearModel/run_script.py @@ -50,7 +50,10 @@ Cd = np.diag(assimilation.ensemble.cov_data) else: Cd = assimilation.ensemble.cov_data - dobs = assimilation.ensemble.obs_data_vector + try: + dobs = assimilation.ensemble.obs_data_vector + except: + dobs = assimilation.ensemble.vecObs CxGT = np.dot(Cm, G.T) GCxGT = np.dot(G,CxGT) From 141a4368cffba7ecb3eaeb174449be73adb8692c Mon Sep 17 00:00:00 2001 From: "Rolf J. Lorentzen" Date: Fri, 16 Jan 2026 12:57:14 +0100 Subject: [PATCH 6/9] Update run_script.py --- LinearModel/run_script.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/LinearModel/run_script.py b/LinearModel/run_script.py index c647843..28bf88d 100644 --- a/LinearModel/run_script.py +++ b/LinearModel/run_script.py @@ -67,9 +67,9 @@ Sx_post = np.sqrt(np.diag(Cx_post)) # Plot the results -x_post_ens = assimilation.ensemble.state[param].mean(axis=1) +x_post_ens = assimilation.ensemble.enX.mean(axis=1) Sx_prior = np.sqrt(assimilation.ensemble.prior_info[param]['variance'])*np.ones(x_prior.size) -Sx_post_ens = assimilation.ensemble.state[param].std(ddof=1,axis=1) +Sx_post_ens = assimilation.ensemble.enX.std(ddof=1,axis=1) plt.figure();plt.plot(x_prior,'g');plt.plot(x_post_ens);plt.plot(x_post,'r'); plt.legend(['Prior','Posterior', 'Analytic']); plt.xlabel('Index'); plt.ylabel('State mean'); plt.figure();plt.plot(Sx_prior,'g');plt.plot(Sx_post_ens);plt.plot(Sx_post,'r'); From adc3363553d8d397b305166664ec814a20944057 Mon Sep 17 00:00:00 2001 From: "Rolf J. Lorentzen" Date: Fri, 16 Jan 2026 12:57:52 +0100 Subject: [PATCH 7/9] Update run_opt.py --- Quadratic/run_opt.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Quadratic/run_opt.py b/Quadratic/run_opt.py index a0c700f..fe0a0cf 100644 --- a/Quadratic/run_opt.py +++ b/Quadratic/run_opt.py @@ -37,7 +37,7 @@ def main(): bounds = ensemble.get_bounds() EnOpt(ensemble.function, x0, args=(cov,), jac=ensemble.gradient, hess=ensemble.hessian, bounds=bounds, **ko) - print('Final state: ' + str(ensemble.get_final_state())) + print('Final state: ' + str(ensemble.get_state())) if __name__ == '__main__': From 6cd29e7f1f5460c32f4b019bbd12ade382cde752 Mon Sep 17 00:00:00 2001 From: rolo Date: Fri, 27 Feb 2026 16:37:07 +0100 Subject: [PATCH 8/9] Update classname --- 3SpotEcalc/run_opt.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/3SpotEcalc/run_opt.py b/3SpotEcalc/run_opt.py index f70afe5..e508432 100644 --- a/3SpotEcalc/run_opt.py +++ b/3SpotEcalc/run_opt.py @@ -6,7 +6,7 @@ from glob import glob import numpy as np -from popt.loop.ensemble import Ensemble +from popt.loop.ensemble import GaussianEnsemble from popt.loop.optimize import Optimize from subsurface.multphaseflow.opm import flow from input_output import read_config From 0b1d44f560f02c227c47ca7752b30ce80f5fc176 Mon Sep 17 00:00:00 2001 From: "Rolf J. Lorentzen" Date: Fri, 27 Feb 2026 16:50:45 +0100 Subject: [PATCH 9/9] Update run_opt.py --- 3SpotEcalc/run_opt.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/3SpotEcalc/run_opt.py b/3SpotEcalc/run_opt.py index e508432..6b9b352 100644 --- a/3SpotEcalc/run_opt.py +++ b/3SpotEcalc/run_opt.py @@ -29,7 +29,7 @@ def main(): # Get variables sim = flow(kf) - ensemble = Ensemble(ke, sim, ecalc_npv) + ensemble = GaussianEnsemble(ke, sim, ecalc_npv) x0 = ensemble.get_state() cov = ensemble.get_cov() bounds = ensemble.get_bounds()