Skip to content

Commit ec50bf1

Browse files
authored
disable runtime vis by default when using the Pyro class directly (#220)
this makes the Jupyter usage easier, since we don't fill up the notebook with looks of plots. Runtime vis is still on by default when run via the commandline (using pyro_sim.py)
1 parent e9df7b2 commit ec50bf1

3 files changed

Lines changed: 40 additions & 50 deletions

File tree

examples/examples.ipynb

Lines changed: 10 additions & 48 deletions
Large diffs are not rendered by default.

pyro/pyro_sim.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,21 +36,26 @@ class Pyro:
3636
The main driver to run pyro.
3737
"""
3838

39-
def __init__(self, solver_name):
39+
def __init__(self, solver_name, from_commandline=False):
4040
"""
4141
Constructor
4242
4343
Parameters
4444
----------
4545
solver_name : str
4646
Name of solver to use
47+
from_commandline : bool
48+
True if we are running from the commandline -- this enables
49+
runtime vis by default.
4750
"""
4851

4952
msg.bold('pyro ...')
5053

5154
if solver_name not in valid_solvers:
5255
msg.fail(f"ERROR: {solver_name} is not a valid solver")
5356

57+
self.from_commandline = from_commandline
58+
5459
self.pyro_home = os.path.dirname(os.path.realpath(__file__)) + '/'
5560
if not solver_name.startswith("pyro."):
5661
solver_import = "pyro." + solver_name
@@ -70,6 +75,13 @@ def __init__(self, solver_name):
7075
self.rp.load_params(self.pyro_home + "_defaults")
7176
self.rp.load_params(self.pyro_home + self.solver_name + "/_defaults")
7277

78+
# manually override the dovis default
79+
# for Jupyter, we want runtime vis disabled by default
80+
if self.from_commandline:
81+
self.rp.set_param("vis.dovis", 1)
82+
else:
83+
self.rp.set_param("vis.dovis", 0)
84+
7385
self.tc = profile.TimerCollection()
7486

7587
self.is_initialized = False
@@ -378,7 +390,7 @@ def main():
378390
comp_bench=args.compare_benchmark,
379391
make_bench=args.make_benchmark)
380392
else:
381-
pyro = Pyro(args.solver[0])
393+
pyro = Pyro(args.solver[0], from_commandline=True)
382394

383395
pyro.initialize_problem(problem_name=args.problem[0],
384396
inputs_file=args.param[0],

pyro/util/runparams.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,22 @@ def get_param(self, key):
209209

210210
if key in self.params:
211211
return self.params[key]
212+
213+
raise KeyError(f"ERROR: runtime parameter {key} not found")
214+
215+
def set_param(self, key, value):
216+
"""
217+
manually set one of the existing runtime parameters
218+
"""
219+
220+
if not self.params:
221+
msg.warning("WARNING: runtime parameters not yet initialized")
222+
self.load_params("_defaults")
223+
224+
if key in self.params:
225+
self.params[key] = value
226+
return
227+
212228
raise KeyError(f"ERROR: runtime parameter {key} not found")
213229

214230
def print_unused_params(self):

0 commit comments

Comments
 (0)