你已经派生过 gprMax
镜像自地址
https://gitee.com/sunhf/gprMax.git
已同步 2025-08-07 23:14:03 +08:00
Add overrides to show or hide progress bars
这个提交包含在:
@@ -241,13 +241,19 @@ class SimulationConfig:
|
||||
# solver: cpu, cuda, opencl.
|
||||
# precision: data type for electromagnetic field output (single/double).
|
||||
# progressbars: progress bars on stdoout or not - switch off
|
||||
# progressbars when logging level is greater than
|
||||
# info (20)
|
||||
# progressbars when logging level is greater than info (20)
|
||||
# or when specified by the user.
|
||||
|
||||
if args.show_progress_bars and args.hide_progress_bars:
|
||||
logger.exception("You cannot both show and hide progress bars.")
|
||||
raise ValueError
|
||||
|
||||
self.general = {
|
||||
"solver": "cpu",
|
||||
"precision": "single",
|
||||
"progressbars": args.log_level <= 20,
|
||||
"progressbars": (
|
||||
args.show_progress_bars or (args.log_level <= 20 and not args.hide_progress_bars)
|
||||
),
|
||||
}
|
||||
|
||||
# Store information about host machine
|
||||
|
@@ -38,6 +38,8 @@ args_defaults = {
|
||||
"geometry_only": False,
|
||||
"geometry_fixed": False,
|
||||
"write_processed": False,
|
||||
"show_progress_bars": False,
|
||||
"hide_progress_bars": False,
|
||||
"log_level": 20, # Level DEBUG = 10; INFO = 20; BASIC = 25
|
||||
"log_file": False,
|
||||
}
|
||||
@@ -91,6 +93,14 @@ help_msg = {
|
||||
"(bool, opt): Writes another input file after any Python code (#python blocks) and in the"
|
||||
" original input file has been processed."
|
||||
),
|
||||
"show_progress_bars": (
|
||||
"(bool, opt): Forces progress bars to be displayed - by default, progress bars are"
|
||||
" displayed when the log level is info (20) or less."
|
||||
),
|
||||
"hide_progress_bars": (
|
||||
"(bool, opt): Forces progress bars to be hidden - by default, progress bars are hidden when"
|
||||
" the log level is greater than info (20)."
|
||||
),
|
||||
"log_level": "(int, opt): Level of logging to use.",
|
||||
"log_file": "(bool, opt): Write logging information to file.",
|
||||
}
|
||||
@@ -111,6 +121,8 @@ def run(
|
||||
geometry_only=args_defaults["geometry_only"],
|
||||
geometry_fixed=args_defaults["geometry_fixed"],
|
||||
write_processed=args_defaults["write_processed"],
|
||||
show_progress_bars=args_defaults["show_progress_bars"],
|
||||
hide_progress_bars=args_defaults["hide_progress_bars"],
|
||||
log_level=args_defaults["log_level"],
|
||||
log_file=args_defaults["log_file"],
|
||||
):
|
||||
@@ -159,6 +171,12 @@ def run(
|
||||
write_processed: optional boolean to write another input file
|
||||
after any #python blocks (which are deprecated) in the
|
||||
original input file has been processed.
|
||||
show_progress_bars: optional boolean to force progress bars to
|
||||
be displayed - by default, progress bars are displayed when
|
||||
the log level is info (20) or less.
|
||||
hide_progress_bars: optional boolean to force progress bars to
|
||||
be hidden - by default, progress bars are hidden when the
|
||||
log level is greater than info (20).
|
||||
log_level: optional int for level of logging to use.
|
||||
log_file: optional boolean to write logging information to file.
|
||||
"""
|
||||
@@ -179,6 +197,8 @@ def run(
|
||||
"geometry_only": geometry_only,
|
||||
"geometry_fixed": geometry_fixed,
|
||||
"write_processed": write_processed,
|
||||
"show_progress_bars": show_progress_bars,
|
||||
"hide_progress_bars": hide_progress_bars,
|
||||
"log_level": log_level,
|
||||
"log_file": log_file,
|
||||
}
|
||||
@@ -232,6 +252,18 @@ def cli():
|
||||
default=args_defaults["write_processed"],
|
||||
help=help_msg["write_processed"],
|
||||
)
|
||||
parser.add_argument(
|
||||
"--show-progress-bars",
|
||||
action="store_true",
|
||||
default=args_defaults["show_progress_bars"],
|
||||
help=help_msg["show_progress_bars"],
|
||||
)
|
||||
parser.add_argument(
|
||||
"--hide-progress-bars",
|
||||
action="store_true",
|
||||
default=args_defaults["hide_progress_bars"],
|
||||
help=help_msg["hide_progress_bars"],
|
||||
)
|
||||
parser.add_argument(
|
||||
"--log-level", type=int, default=args_defaults["log_level"], help=help_msg["log_level"]
|
||||
)
|
||||
|
@@ -91,7 +91,7 @@ class GprMaxRegressionTest(rfm.RunOnlyRegressionTest):
|
||||
is_antenna_model = variable(bool, value=False)
|
||||
# sourcesdir = required
|
||||
extra_executable_opts = variable(typ.List[str], value=[])
|
||||
executable = "time -p python -m gprMax --log-level 25"
|
||||
executable = "time -p python -m gprMax --log-level 10 --hide-progress-bars"
|
||||
|
||||
rx_outputs = variable(typ.List[str], value=Rx.defaultoutputs)
|
||||
h5diff_header = f"{'=' * 10} h5diff output {'=' * 10}"
|
||||
@@ -307,11 +307,13 @@ class GprMaxMPIRegressionTest(GprMaxRegressionTest):
|
||||
# TODO: Make this a variable
|
||||
serial_dependency: type[GprMaxRegressionTest]
|
||||
mpi_layout = parameter()
|
||||
_stdout = "rfm_job-%t.out"
|
||||
_stderr = "rfm_job-%t.err"
|
||||
|
||||
@run_after("setup", always_last=True)
|
||||
def configure_test_run(self):
|
||||
self.num_tasks = int(product(self.mpi_layout))
|
||||
self.extra_executable_opts = ["-mpi", " ".join(map(str, self.mpi_layout))]
|
||||
self.extra_executable_opts = ["-mpi", " ".join([str(i) for i in self.mpi_layout])]
|
||||
super().configure_test_run()
|
||||
|
||||
def _get_variant(self) -> str:
|
||||
|
在新工单中引用
屏蔽一个用户