def schur_test(): import os import numpy as np from pyemu import Schur, Cov, Pst w_dir = os.path.join("..", "verification", "henry") forecasts = ["pd_ten", "c_obs10_2"] pst = Pst(os.path.join(w_dir, "pest.pst")) cov = Cov.from_parameter_data(pst) cov.to_uncfile(os.path.join("temp", "pest.unc"), covmat_file=None) cov2 = Cov.from_uncfile(os.path.join("temp", "pest.unc")) sc = Schur(jco=os.path.join(w_dir, "pest.jcb"), forecasts=forecasts, parcov=cov2) print(sc.prior_forecast) print(sc.posterior_forecast) print(sc.get_par_group_contribution()) df = sc.get_par_group_contribution(include_prior_results=True) levels = list(df.columns.levels[1]) assert "prior" in levels, levels assert "post" in levels, levels print(sc.get_parameter_summary(include_map=True)) print(sc.get_forecast_summary(include_map=True)) print(sc.get_removed_obs_importance(reset_zero_weight=True)) sc = Schur(jco=os.path.join(w_dir, "pest.jcb"), forecasts=forecasts, sigma_range=6.0) cov = Cov.from_parameter_data(pst, sigma_range=6.0) assert np.abs((sc.parcov.x - cov.x).sum()) == 0.0 sc = Schur(jco=os.path.join(w_dir, "pest.jcb"), forecasts=forecasts, sigma_range=6.0, scale_offset=False) assert np.abs((sc.parcov.x - cov.x).sum()) == 0.0 pst.parameter_data.loc[:, "offset"] = 100.0 cov = Cov.from_parameter_data(pst) sc = Schur(jco=os.path.join(w_dir, "pest.jcb"), pst=pst, forecasts=forecasts, sigma_range=6.0, scale_offset=False) assert np.abs((sc.parcov.x - cov.x).sum()) != 0.0 cov = Cov.from_parameter_data(pst, scale_offset=False, sigma_range=6.0) assert np.abs((sc.parcov.x - cov.x).sum()) == 0.0
def schur_test(): import os from pyemu import Schur, Cov, Pst w_dir = os.path.join("..","..","verification","henry") forecasts = ["pd_ten","c_obs10_2"] pst = Pst(os.path.join(w_dir,"pest.pst")) cov = Cov.from_parameter_data(pst) cov.to_uncfile(os.path.join("temp","pest.unc"),covmat_file=None) cov2 = Cov.from_uncfile(os.path.join("temp","pest.unc")) sc = Schur(jco=os.path.join(w_dir,"pest.jcb"), forecasts=forecasts, parcov=cov2) print(sc.prior_forecast) print(sc.posterior_forecast) print(sc.get_par_group_contribution()) print(sc.get_removed_obs_group_importance())
def schur_test(): import os from pyemu import Schur, Cov, Pst w_dir = os.path.join("..", "verification", "henry") forecasts = ["pd_ten", "c_obs10_2"] pst = Pst(os.path.join(w_dir, "pest.pst")) cov = Cov.from_parameter_data(pst) cov.to_uncfile(os.path.join("temp", "pest.unc"), covmat_file=None) cov2 = Cov.from_uncfile(os.path.join("temp", "pest.unc")) sc = Schur(jco=os.path.join(w_dir, "pest.jcb"), forecasts=forecasts, parcov=cov2) print(sc.prior_forecast) print(sc.posterior_forecast) print(sc.get_par_group_contribution()) print(sc.get_removed_obs_group_importance())
def schur_test(): import os import numpy as np from pyemu import Schur, Cov, Pst w_dir = os.path.join("..","verification","henry") forecasts = ["pd_ten","c_obs10_2"] pst = Pst(os.path.join(w_dir,"pest.pst")) cov = Cov.from_parameter_data(pst) cov.to_uncfile(os.path.join("temp","pest.unc"),covmat_file=None) cov2 = Cov.from_uncfile(os.path.join("temp","pest.unc")) sc = Schur(jco=os.path.join(w_dir,"pest.jcb"), forecasts=forecasts, parcov=cov2) print(sc.prior_forecast) print(sc.posterior_forecast) print(sc.get_par_group_contribution()) print(sc.get_parameter_summary(include_map=True)) print(sc.get_forecast_summary(include_map=True)) print(sc.get_removed_obs_importance(reset_zero_weight=True)) sc = Schur(jco=os.path.join(w_dir,"pest.jcb"), forecasts=forecasts, sigma_range=6.0) cov = Cov.from_parameter_data(pst,sigma_range=6.0) assert np.abs((sc.parcov.x - cov.x).sum()) == 0.0 sc = Schur(jco=os.path.join(w_dir, "pest.jcb"), forecasts=forecasts, sigma_range=6.0,scale_offset=False) assert np.abs((sc.parcov.x - cov.x).sum()) == 0.0 pst.parameter_data.loc[:,"offset"] = 100.0 cov = Cov.from_parameter_data(pst) sc = Schur(jco=os.path.join(w_dir, "pest.jcb"), pst=pst, forecasts=forecasts, sigma_range=6.0, scale_offset=False) assert np.abs((sc.parcov.x - cov.x).sum()) != 0.0 cov = Cov.from_parameter_data(pst,scale_offset=False,sigma_range=6.0) assert np.abs((sc.parcov.x - cov.x).sum()) == 0.0