Add a command-line argument for output verbosity (#3680)

Co-authored-by: Paul Romano <paul.k.romano@gmail.com>
This commit is contained in:
Kevin Sawatzky 2025-12-12 03:29:43 -06:00 committed by GitHub
parent 1b5033dab4
commit bbfa18d72c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 22 additions and 4 deletions

View file

@ -48,6 +48,7 @@ flags:
restart file
-s, --threads N Run with *N* OpenMP threads
-t, --track Write tracks for all particles (up to max_tracks)
-q, --verbosity V Set the output verbosity to *V*
-v, --version Show version information
-h, --help Show help message

View file

@ -39,6 +39,9 @@ Use \fIN\fP OpenMP threads.
.B "\-t\fR, \fP\-\-track"
Write tracks for all particles (up to max_tracks).
.TP
.BI \-q " V" "\fR,\fP \-\-verbosity" " V"
Set the output verbosity to \fIV\fP.
.TP
.B "\-v\fR, \fP\-\-version"
Show version information.
.TP

View file

@ -142,7 +142,7 @@ int openmc_finalize()
settings::uniform_source_sampling = false;
settings::ufs_on = false;
settings::urr_ptables_on = true;
settings::verbosity = 7;
settings::verbosity = -1;
settings::weight_cutoff = 0.25;
settings::weight_survive = 1.0;
settings::weight_windows_file.clear();

View file

@ -226,6 +226,15 @@ int parse_command_line(int argc, char* argv[])
i += 1;
settings::n_particles = std::stoll(argv[i]);
} else if (arg == "-q" || arg == "--verbosity") {
i += 1;
settings::verbosity = std::stoi(argv[i]);
if (settings::verbosity > 10 || settings::verbosity < 1) {
auto msg = fmt::format("Invalid verbosity: {}.", settings::verbosity);
strcpy(openmc_err_msg, msg.c_str());
return OPENMC_E_INVALID_ARGUMENT;
}
} else if (arg == "-e" || arg == "--event") {
settings::event_based = true;
} else if (arg == "-r" || arg == "--restart") {
@ -376,8 +385,10 @@ bool read_model_xml()
auto settings_root = root.child("settings");
// Verbosity
if (check_for_node(settings_root, "verbosity")) {
if (check_for_node(settings_root, "verbosity") && settings::verbosity == -1) {
settings::verbosity = std::stoi(get_node_value(settings_root, "verbosity"));
} else if (settings::verbosity == -1) {
settings::verbosity = 7;
}
// To this point, we haven't displayed any output since we didn't know what

View file

@ -281,6 +281,7 @@ void print_usage()
" -t, --track Write tracks for all particles (up to "
"max_tracks)\n"
" -e, --event Run using event-based parallelism\n"
" -q, --verbosity Output verbosity\n"
" -v, --version Show version information\n"
" -h, --help Show this message\n");
}

View file

@ -145,7 +145,7 @@ int trace_gen;
int64_t trace_particle;
vector<array<int, 3>> track_identifiers;
int trigger_batch_interval {1};
int verbosity {7};
int verbosity {-1};
double weight_cutoff {0.25};
double weight_survive {1.0};
@ -396,8 +396,10 @@ void read_settings_xml()
xml_node root = doc.document_element();
// Verbosity
if (check_for_node(root, "verbosity")) {
if (check_for_node(root, "verbosity") && verbosity == -1) {
verbosity = std::stoi(get_node_value(root, "verbosity"));
} else if (verbosity == -1) {
verbosity = 7;
}
// To this point, we haven't displayed any output since we didn't know what