Source code for wmtexe.cmd.script
"""Launch a WMT simulation using `bash` or `qsub`."""
from __future__ import print_function
import sys
import os
from ..launcher import BashLauncher, QsubLauncher, SbatchLauncher
from ..config import load_configuration
_LAUNCHERS = {
'bash': BashLauncher,
'qsub': QsubLauncher,
'sbatch': SbatchLauncher,
}
[docs]def main():
import argparse
parser = argparse.ArgumentParser(description=__doc__)
parser.add_argument('uuid', type=str,
help='Unique identifier for simulation')
parser.add_argument('--extra-args', default='',
help='Extra arguments for wmt-slave command')
parser.add_argument('--server-url', default='',
help='WMT API server URL')
parser.add_argument('--launcher', choices=_LAUNCHERS.keys(),
default='bash', help='Launch method')
parser.add_argument('--config', default='',
help='WMT site configuration file')
parser.add_argument('--run', action='store_true',
help='Launch simulation')
args = parser.parse_args()
config = load_configuration(args.config)
launch_dir = config.get('paths', 'launch_dir')
exec_dir = config.get('paths', 'exec_dir')
extra_args = []
extra_args.append('--exec-dir={}'.format(os.path.expandvars(exec_dir)))
if args.extra_args:
extra_args.append(args.extra_args)
launcher = _LAUNCHERS[args.launcher](args.uuid,
server_url=args.server_url,
launch_dir=launch_dir,
extra_args=extra_args)
if args.run:
launcher.run()
else:
print(launcher.script().strip())