#!/usr/bin/env python # Batch system directives #BSUB -n 1024 #BSUB -R "span[ptile=8]" #BSUB -N #BSUB -a poe #BSUB -o b.e20.B1850.f09_g16.pi_control.all.125.run.%J #BSUB -e b.e20.B1850.f09_g16.pi_control.all.125.run.%J #BSUB -J b.e20.B1850.f09_g16.pi_control.all.125.run # PE Layout Documentation: """ template to create a case run script. This should only ever be called by case.submit when on batch system. This script only exists as a way of providing batch directives. Use case.submit from the command line to run your case. """ import os, sys os.chdir( '/glade/p/cesmdata/cseg/runs/cesm2_0/b.e20.B1850.f09_g16.pi_control.all.125') _LIBDIR = os.path.join("/glade/p/work/hannay/cesm_tags/cesm2_0_beta04_CLUBB_reorder_n05_cam5_4_96/cime", "scripts", "Tools") sys.path.append(_LIBDIR) from standard_script_setup import * from CIME.case_run import case_run from CIME.case import Case logger = logging.getLogger(__name__) import argparse, doctest ############################################################################### def parse_command_line(args, description): ############################################################################### parser = argparse.ArgumentParser( usage="""\n%s [--verbose] OR %s --help OR %s --test \033[1mEXAMPLES:\033[0m \033[1;32m# case.run SMS\033[0m > %s """ % ((os.path.basename(args[0]), ) * 4), description=description, formatter_class=argparse.ArgumentDefaultsHelpFormatter ) parser = argparse.ArgumentParser() CIME.utils.setup_standard_logging_options(parser) parser.add_argument("--caseroot", help="Case directory to build") args = parser.parse_args() CIME.utils.handle_standard_logging_options(args) if args.caseroot is not None: os.chdir(args.caseroot) return args.caseroot ############################################################################### def _main_func(description): ############################################################################### if ("--test" in sys.argv): test_results = doctest.testmod(verbose=True) sys.exit(1 if test_results.failed > 0 else 0) caseroot = parse_command_line(sys.argv, description) with Case(caseroot, read_only=False) as case: success = case_run(case) sys.exit(0 if success else 1) if __name__ == "__main__": _main_func(__doc__)