def main(): parser = ArgumentParser(description='Setup XML workflow and CRONTAB for a forecast only experiment.', formatter_class=ArgumentDefaultsHelpFormatter) parser.add_argument('--expdir',help='full path to experiment directory containing config files', type=str, required=False, default=os.environ['PWD']) parser.add_argument('--cdump',help='cycle to run forecasts', type=str, choices=['gdas', 'gfs'], default='gfs', required=False) args = parser.parse_args() configs = wfu.get_configs(args.expdir) _base = wfu.config_parser([wfu.find_config('config.base', configs)]) if not os.path.samefile(args.expdir,_base['EXPDIR']): print 'MISMATCH in experiment directories!' print 'config.base: EXPDIR = %s' % repr(_base['EXPDIR']) print 'input arg: --expdir = %s' % repr(args.expdir) sys.exit(1) dict_configs = wfu.source_configs(configs, taskplan) dict_configs['base']['CDUMP'] = args.cdump # First create workflow XML create_xml(dict_configs) # Next create the crontab wfu.create_crontab(dict_configs['base']) return
def main(): parser = ArgumentParser(description='Setup XML workflow and CRONTAB for a GFS parallel.', formatter_class=ArgumentDefaultsHelpFormatter) parser.add_argument('--expdir', help='full path to experiment directory containing config files', type=str, required=False, default=os.environ['PWD']) args = parser.parse_args() configs = wfu.get_configs(args.expdir) _base = wfu.config_parser([wfu.find_config('config.base', configs)]) if not os.path.samefile(args.expdir, _base['EXPDIR']): print 'MISMATCH in experiment directories!' print 'config.base: EXPDIR = %s' % repr(_base['EXPDIR']) print 'input arg: --expdir = %s' % repr(args.expdir) sys.exit(1) gfs_steps = ['prep', 'anal', 'fcst', 'postsnd', 'post', 'awips', 'gempak', 'vrfy', 'arch'] hyb_steps = ['eobs', 'eomg', 'eupd', 'ecen', 'efcs', 'epos', 'earc'] steps = gfs_steps + hyb_steps if _base.get('DOHYBVAR', 'NO') == 'YES' else gfs_steps dict_configs = wfu.source_configs(configs, steps) # Check and set gfs_cyc specific variables if dict_configs['base']['gfs_cyc'] != 0: dict_configs['base'] = get_gfs_cyc_dates(dict_configs['base']) # First create workflow XML create_xml(dict_configs) # Next create the crontab wfu.create_crontab(dict_configs['base']) return