csdms

Source code for wmtexe.cmd.exe

"""Execute a WMT simulation."""

import os
import sys
import subprocess

from ..env import WmtEnvironment


[docs]def main(): import argparse import traceback parser = argparse.ArgumentParser(description=__doc__) parser.add_argument('id', help='run ID') parser.add_argument('--server-url', default='https://csdms.colorado.edu/wmt/api-dev', help='URL of WMT server') parser.add_argument('--exec-dir', default=os.path.expanduser('~/.wmt'), help='path to execution directory') parser.add_argument('--config', default=None, help='WMT site configuration file') parser.add_argument('--show-env', action='store_true', help='print execution environment and exit') parser.add_argument('--daemon', action='store_true', default=False, help='run in daemon mode') parser.add_argument('--with-wmt-slave', default='wmt-slave', help='path to wmt-slave executable') args = parser.parse_args() # env = WmtEnvironment.from_config(args.config) env = { 'PATH': os.pathsep.join([ os.path.join(sys.prefix, 'bin'), '/usr/local/bin', '/usr/bin', '/bin', ]) } cmd = [args.with_wmt_slave, args.id, '--server-url=%s' % args.server_url, '--exec-dir=%s' % args.exec_dir] if args.show_env: cmd.append('--show-env') if args.daemon: with open(args.id + '.o.txt', 'w') as stdout: with open(args.id + '.e.txt', 'w') as stderr: # pipe = subprocess.Popen(cmd, env=env.env, stdout=stdout, pipe = subprocess.Popen(cmd, env=env, stdout=stdout, stderr=stderr) print pipe.pid else: # subprocess.call(cmd, env=env.env) subprocess.call(cmd, env=env)