improvements
This commit is contained in:
parent
3dc03cec4f
commit
e488275523
11 changed files with 640 additions and 125 deletions
|
@ -1,33 +1,25 @@
|
|||
def main_simbelmyne(parsed_args):
|
||||
from args_main import parse_arguments_main
|
||||
from low_level import print_starting_module, print_message, print_ending_module
|
||||
from low_level import print_starting_module, print_message, print_ending_module, progress_bar_from_logfile
|
||||
from os.path import isfile
|
||||
import subprocess
|
||||
|
||||
print_starting_module("simbelmyne", verbose=parsed_args.verbose)
|
||||
main_dict = parse_arguments_main(parsed_args)
|
||||
param_file=parsed_args.paramfile
|
||||
if param_file is None:
|
||||
param_file = main_dict["paramdir"]+"parameters_"+main_dict["simname"]+".sbmy"
|
||||
log_file = main_dict["logdir"]+main_dict["mode"]+".log"
|
||||
paramfile=parsed_args.paramfile
|
||||
if paramfile is None:
|
||||
paramfile = main_dict["paramdir"]+"parameters_"+main_dict["simname"]+".sbmy"
|
||||
log_file = main_dict["logdir"]+main_dict["simname"]+".log"
|
||||
|
||||
if parsed_args.execution == "local":
|
||||
print_message("Running Simbelyne in local mode.", 1, "simbelmyne", verbose=parsed_args.verbose)
|
||||
|
||||
|
||||
command_args = ["simbelmyne", param_file, log_file]
|
||||
command_args = ["simbelmyne", paramfile, log_file]
|
||||
|
||||
if parsed_args.verbose < 2:
|
||||
from io import BytesIO
|
||||
from low_level import stdout_redirector, stderr_redirector
|
||||
|
||||
f = BytesIO()
|
||||
g = BytesIO()
|
||||
with stdout_redirector(f):
|
||||
with stderr_redirector(g):
|
||||
subprocess.run(command_args)
|
||||
g.close()
|
||||
f.close()
|
||||
subprocess.Popen(command_args, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) # Use Popen instead of run to be able to display the progress bar
|
||||
progress_bar_from_logfile(log_file, desc=main_dict["simname"], verbose=parsed_args.verbose, leave=False)
|
||||
else:
|
||||
subprocess.run(command_args)
|
||||
|
||||
|
@ -39,7 +31,7 @@ def main_simbelmyne(parsed_args):
|
|||
print_message("Running simbelmyne in slurm mode.", 1, "simbelmyne", verbose=parsed_args.verbose)
|
||||
slurm_dict=parse_arguments_slurm(parsed_args)
|
||||
main_dict=parse_arguments_main(parsed_args)
|
||||
slurm_script = slurm_dict["scripts"]+"simbelmyne.sh"
|
||||
slurm_script = slurm_dict["scripts"]+"simbelmyne_"+main_dict["simname"]+".sh"
|
||||
|
||||
if not isfile(slurm_script):
|
||||
print_message(f"SLURM script {slurm_script} does not exist. Creating it.", 2, "simbelmyne", verbose=parsed_args.verbose)
|
||||
|
@ -47,7 +39,7 @@ def main_simbelmyne(parsed_args):
|
|||
slurm_template=slurm_dict["simbelmyne_template"],
|
||||
slurm_script=slurm_script,
|
||||
job="simbelmyne",
|
||||
job_config_file=param_file,
|
||||
job_config_file=paramfile,
|
||||
job_log=log_file,
|
||||
)
|
||||
print_message(f"SLURM script written to {slurm_script}.", 3, "simbelmyne", verbose=parsed_args.verbose)
|
||||
|
@ -59,20 +51,12 @@ def main_simbelmyne(parsed_args):
|
|||
command_args = ["sbatch", slurm_script]
|
||||
|
||||
if parsed_args.verbose < 2:
|
||||
from io import BytesIO
|
||||
from low_level import stdout_redirector, stderr_redirector
|
||||
|
||||
f = BytesIO()
|
||||
g = BytesIO()
|
||||
with stdout_redirector(f):
|
||||
with stderr_redirector(g):
|
||||
subprocess.run(command_args)
|
||||
g.close()
|
||||
f.close()
|
||||
subprocess.run(command_args, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
||||
else:
|
||||
subprocess.run(command_args)
|
||||
|
||||
print_message("Monofonic job submitted.", 2, "simbelmyne", verbose=parsed_args.verbose)
|
||||
print_message("Simbelmyne job submitted.", 2, "simbelmyne", verbose=parsed_args.verbose)
|
||||
progress_bar_from_logfile(log_file, desc=main_dict["simname"], verbose=parsed_args.verbose)
|
||||
|
||||
else:
|
||||
raise ValueError(f"Execution mode {parsed_args.execution} not recognized.")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue