HWRF  trunk@4391
exhwrf_wave_init.py
1 #! /bin/env python
2 
3 import os, sys
6 from produtil.log import jlogger
7 
8 def main():
9  import hwrf_expt
11  conf=hwrf_expt.conf
12  wave=conf.getstr('config','wave_model')
13  logger=conf.log('exhwrf_wave_init')
14  wvstatus=hwrf_expt.wvstatus
15  wvstatus.unset(logger)
16  try:
17  if not conf.getbool('config','run_wave'):
18  jlogger.info('Wave is disabled. This job need not be run.')
19  wvstatus.set(False,logger)
20  return
21  if wave=='WW3':
22  hwrf_expt.ww3init.run()
23  wvstatus.set(True,logger)
24  else:
25  jlogger.critical('Config file error: unsupported wave model '
26  '%s. Will run without wave.'%(repr(ocean),))
27  wvstatus.set(False,logger)
28  except Exception as e:
29  if conf.getbool('config','allow_fallbacks',False):
30  logger.error('Could not run wave init: will run without wave.'
31  ' Unhandled exception: '+str(e),exc_info=True)
32  wvstatus.set(False,logger)
33  return
34  raise
35 
36 if __name__=='__main__':
37  try:
39  main()
40  except Exception as e:
41  jlogger.critical('HWRF Wave Initialization is aborting: '
42  +str(e),exc_info=True)
43  sys.exit(2)
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
Definition: ww3.py:1
def main()
Undoes the effect of the exhwrf_post and exhwrf_products scripts.
Configures logging.
Definition: log.py:1