diff --git a/benchmarks/basic_tests.py b/benchmarks/basic_tests.py
index 1be7eb11..7f708466 100644
--- a/benchmarks/basic_tests.py
+++ b/benchmarks/basic_tests.py
@@ -1049,14 +1049,16 @@ def mf6_v5_sen_test():
t_d = os.path.join(model_d,"template")
m_d = os.path.join(model_d,"master_sen")
- #if os.path.exists(m_d):
- # shutil.rmtree(m_d)
+ if os.path.exists(m_d):
+ shutil.rmtree(m_d)
pst = pyemu.Pst(os.path.join(t_d,"freyberg6_run_sen.pst"))
+ pst.pestpp_options["gsa_morris_p"] = 4
+ pst.pestpp_options["gsa_morris_r"] = 4
pst.pestpp_options["panther_transfer_on_finish"] = ["freyberg6_freyberg.cbc","freyberg6.lst","ies_prior.jcb"]
pst.write(os.path.join(t_d,"freyberg6_run_sen_trn.pst"))
m_d = os.path.join(model_d,"master_sen")
pyemu.os_utils.start_workers(t_d, exe_path.replace("-ies","-sen"), "freyberg6_run_sen_trn.pst",
- num_workers=15, worker_root=model_d,
+ num_workers=50, worker_root=model_d,
port=4004,verbose=True,master_dir=m_d)
pst = pyemu.Pst(os.path.join(m_d,"freyberg6_run_sen_trn.pst"))
@@ -1798,7 +1800,8 @@ def tenpar_uniform_invest():
if __name__ == "__main__":
- tenpar_uniform_invest()
+ mf6_v5_sen_test()
+ #tenpar_uniform_invest()
#tenpar_collapse_invest()
#plot_collapse_invest()
diff --git a/documentation/pestpp_users_guide_v5.2.15.docx b/documentation/pestpp_users_guide_v5.2.15.docx
new file mode 100644
index 00000000..92a60ec9
Binary files /dev/null and b/documentation/pestpp_users_guide_v5.2.15.docx differ
diff --git a/documentation/pestpp_users_manual.md b/documentation/pestpp_users_manual.md
index 47fe7dd4..42c3e78f 100644
--- a/documentation/pestpp_users_manual.md
+++ b/documentation/pestpp_users_manual.md
@@ -1,7 +1,7 @@
-# Version 5.2.14
+# Version 5.2.15
@@ -70,7 +70,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
# Table of Contents
-- [Version 5.2.14](#s1)
+- [Version 5.2.15](#s1)
- [Acknowledgements](#s2)
- [Preface](#s3)
- [License](#s4)
diff --git a/src/libs/common/config_os.h b/src/libs/common/config_os.h
index c55ffe16..2b1d663a 100644
--- a/src/libs/common/config_os.h
+++ b/src/libs/common/config_os.h
@@ -2,7 +2,7 @@
#define CONFIG_OS_H_
-#define PESTPP_VERSION "5.2.14";
+#define PESTPP_VERSION "5.2.15";
#if defined(_WIN32) || defined(_WIN64)
#define OS_WIN
diff --git a/src/libs/pestpp_common/EnsembleMethodUtils.cpp b/src/libs/pestpp_common/EnsembleMethodUtils.cpp
index 106e87ca..9756f1bf 100644
--- a/src/libs/pestpp_common/EnsembleMethodUtils.cpp
+++ b/src/libs/pestpp_common/EnsembleMethodUtils.cpp
@@ -1538,7 +1538,6 @@ void MmUpgradeThread::work(int thread_id, int iter, double cur_lam, bool use_glm
if (verbose_level < 3)
return;
- //cout << "thread: " << tid << ", " << t_count << ", " << prefix << " rows:cols" << mat.rows() << ":" << mat.cols() << endl;
stringstream ss;
ss << "thread_" << tid << ".count_ " << t_count << ".iter_" << iter << "." << prefix << ".dat";
@@ -3686,7 +3685,7 @@ void L2PhiHandler::apply_ineq_constraints(Eigen::MatrixXd &resid, Eigen::MatrixX
for (int i = 0; i < resid.rows(); i++)
col(i) = ((scol(i) > val) && (scol(i) < val2)) ? 0.0 : col(i);
//cout << resid.col(idx) << endl;
- cout << col << endl << endl;
+ //cout << col << endl << endl;
resid.col(idx) = col;
//cout << resid.col(idx) << endl;
}
@@ -3715,7 +3714,7 @@ void L2PhiHandler::apply_ineq_constraints(Eigen::MatrixXd &resid, Eigen::MatrixX
for (int i = 0; i < resid.rows(); i++)
col(i) = (scol(i) < val) ? 0.0 : col(i);
//cout << resid.col(idx) << endl;
- cout << col << endl << endl;
+ //cout << col << endl << endl;
resid.col(idx) = col;
//cout << resid.col(idx) << endl;
}
@@ -4319,7 +4318,7 @@ vector run_ensemble_util(PerformanceLog* performance_log, ofstream& frec,Pa
}
if (failing_reals.size() > 0)
{
- cout << "parameter ensemble consisteny check failed for " << failing_reals.size() << ", see .rec file for listing" << endl;
+ cout << "parameter ensemble consistency check failed for " << failing_reals.size() << ", see .rec file for listing" << endl;
frec << "ERROR: the following realizations failed consistency check:" << endl;
for (auto fr : failing_reals)
frec << fr << ",";
@@ -5042,6 +5041,8 @@ void EnsembleMethod::initialize(int cycle, bool run, bool use_existing)
map> tt = ph.get_double_obs_bounds();
if (!tt.empty())
{
+ ss.str("");
+ ss << "double inequality defined through 'greater_than' and 'less_than' data for " << tt.size() << " observations" << endl;
ss.str("");
ss << "double inequality defined through 'greater_than' and 'less_than' data for observations:" << endl;
for (const auto it : tt)
@@ -5049,7 +5050,8 @@ void EnsembleMethod::initialize(int cycle, bool run, bool use_existing)
ss << it.first << "," << it.second.first << " to " << it.second.second << endl;
}
ss << endl;
- message(1,ss.str());
+ message(1,ss.str(),false);
+
}
diff --git a/src/libs/run_managers/abstract_base/model_interface.cpp b/src/libs/run_managers/abstract_base/model_interface.cpp
index 2702ea73..285a7002 100644
--- a/src/libs/run_managers/abstract_base/model_interface.cpp
+++ b/src/libs/run_managers/abstract_base/model_interface.cpp
@@ -639,7 +639,7 @@ void ModelInterface::remove_existing()
if (failed_file_op)
{
++n_tries;
- w_sleep(1000);
+ w_sleep(500);
if (n_tries > 5)
{
ostringstream str;
diff --git a/src/libs/run_managers/yamr/PantherAgent.cpp b/src/libs/run_managers/yamr/PantherAgent.cpp
index b77585bb..702af11e 100644
--- a/src/libs/run_managers/yamr/PantherAgent.cpp
+++ b/src/libs/run_managers/yamr/PantherAgent.cpp
@@ -151,7 +151,7 @@ void PANTHERAgent::process_ctl_file(const string &ctl_filename)
mi.set_fill_tpl_zeros(pest_scenario.get_pestpp_options().get_fill_tpl_zeros());
mi.set_tpl_force_decimal(pest_scenario.get_pestpp_options().get_tpl_force_decimal());
mi.set_num_threads(pest_scenario.get_pestpp_options().get_num_tpl_ins_threads());
- mi.set_sleep_ms(500);
+ mi.set_sleep_ms(100);
restart_on_error = pest_scenario.get_pestpp_options().get_panther_agent_restart_on_error();
max_time_without_master_ping_seconds = pest_scenario.get_pestpp_options().get_panther_agent_no_ping_timeout_secs();
FileManager fm("panther_agent");
@@ -538,7 +538,7 @@ std::pair PANTHERAgent::run_model(Parameters &
void PANTHERAgent::run_async(pest_utils::thread_flag* terminate, pest_utils::thread_flag* finished, exception_ptr& run_exception,
Parameters* pars, Observations* obs)
{
- mi.set_sleep_ms(300);
+ mi.set_sleep_ms(100);
mi.run(terminate,finished,run_exception, pars, obs);
}
diff --git a/src/libs/run_managers/yamr/RunManagerPanther.cpp b/src/libs/run_managers/yamr/RunManagerPanther.cpp
index 5aa36051..00c17552 100644
--- a/src/libs/run_managers/yamr/RunManagerPanther.cpp
+++ b/src/libs/run_managers/yamr/RunManagerPanther.cpp
@@ -560,7 +560,7 @@ RunManagerAbstract::RUN_UNTIL_COND RunManagerPanther::run_until(RUN_UNTIL_COND c
}
}
- w_sleep(2000);
+ w_sleep(100);
n_no_ops = 0;
while (true)
{
@@ -726,7 +726,7 @@ void RunManagerPanther::run_idle_async()
idling.set(false);
// Sleep 1s to avoid spinlock
- w_sleep(1000);
+ w_sleep(100);
continue;
}
@@ -2132,7 +2132,7 @@ RunManagerPanther::~RunManagerPanther(void)
err = w_close(listener);
FD_CLR(listener, &master);
// this is needed to ensure that the first slave closes properly
- w_sleep(2000);
+ w_sleep(500);
for (int i = 0; i <= fdmax; i++)
{
if (FD_ISSET(i, &master))
@@ -2248,10 +2248,10 @@ void RunManagerYAMRCondor::cleanup(int cluster)
stringstream ss;
ss << "condor_rm " << cluster << " 1>cr_temp.stdout 2>cr_temp.stderr";
system(ss.str().c_str());
- w_sleep(2000);
+ w_sleep(500);
ss.str(string());
ss << "condor_rm " << cluster << " -forcex 1>cr_temp.stdout 2>cr_temp.stderr";
- w_sleep(2000);
+ w_sleep(500);
system(ss.str().c_str());
RunManagerPanther::close_agents();
cout << " all agents freed " << endl << endl;