HWRF  trunk@4391
exhwrf_ensda_relocate.py
1 #! /usr/bin/env python
2 
3 import logging, os, sys, produtil.log, produtil.setup
4 from produtil.log import jlogger
5 import hwrf_wcoss
6 
7 def fail(msg):
8  jlogger.error(msg)
9  sys.exit(2)
10 
11 def set_vars(logger=None):
12  if produtil.cluster.name() in ['gyre','tide']:
14  else:
15  logger.info('Not on WCOSS, so not setting WCOSS-specific vars.')
16 
17 def main():
18  logger=logging.getLogger('exhwrf_ensda')
19  ENV=os.environ
20  memb=ENV.get('ENSDA_MEMB','NOPE').lower()
21  if memb=='nope':
22  fail('Aborting: you must specify ENSDA_MEMB')
23  imemb=int(memb,10)
24  jlogger.info('HWRF ensda member %03d starting'%imemb)
25 
26  set_vars(logger)
27 
28  import hwrf_expt
29  hwrf_expt.init_module(make_ensemble_da=True)
30  omemb=hwrf_expt.ensda.member(hwrf_expt.conf.cycle,imemb)
31  omemb.run_relocate()
32 
33  jlogger.info('HWRF ensda member %03d has completed'%imemb)
34 
35 if __name__=='__main__':
36  try:
38  main()
39  except Exception as e:
40  jlogger.critical('HWRF ensda is aborting: '+str(e),exc_info=True)
41  sys.exit(2)
def main()
Based on the configuration, write an ensda flag file that will either request, or not request...
Contains setup(), which initializes the produtil package.
Definition: setup.py:1
def init_module
Initializes the HWRF object structure.
Definition: hwrf_expt.py:384
def setup(ignore_hup=False, dbnalert_logger=None, jobname=None, cluster=None, send_dbn=None, thread_logger=False, thread_stack=2 **24, kwargs)
Initializes the produtil package.
Definition: setup.py:15
def set_vars_for_ensda_hwrf(logger)
Sets variables that seem to speed up the H15B (2015 pre-baseline) version of HWRF on Phase 2 WCOSS wh...
Definition: hwrf_wcoss.py:101
Configures logging.
Definition: log.py:1
def name()
Synonym for here.name.
Definition: cluster.py:109