HWRF  trunk@4391
Public Member Functions | Public Attributes | List of all members
hwrf.ensda.CycleTDRCheck Class Reference

Determines if Tail Doppler Radar (TDR) data is available. More...

Detailed Description

Determines if Tail Doppler Radar (TDR) data is available.

This class checks to see if a specified cycle has Tail Doppler Radar data available. This is the condition used to decide whether to run the DA ensemble in the 2015 Operational HWRF.

Definition at line 644 of file ensda.py.

Inheritance diagram for hwrf.ensda.CycleTDRCheck:
hwrf.hwrftask.HWRFTask produtil.datastore.Task produtil.datastore.Datum hwrf.ensda.AlwaysRunENSDA

Public Member Functions

def __init__ (self, dstore, conf, section, cycle_rel, kwargs)
 CycleTDRCheck constructor. More...
 
def should_run_ensda (self)
 Should ENSDA be run? More...
 
def inputiter (self)
 Iterates over needed files from upstream workflows. More...
 
def run (self)
 creates the storm*.run_ensda file More...
 
def write_flag_file (self, run_ensda)
 Write the ensda flag file. More...
 
def tdr_this_cycle (self)
 Check if TDR data is available for this cycle. More...
 
def read_trigger_file (self)
 Read TDR trigger file for operational run. More...
 
def readensdatrigger (self, stmidin, tgtcycle)
 Runs the hwrf_readtdrtrigger program. More...
 
- Public Member Functions inherited from hwrf.hwrftask.HWRFTask
def __init__ (self, dstore, conf, section, taskname=None, workdir=None, outdir=None, storminfo=UNSPECIFIED, taskvars=UNSPECIFIED, kwargs)
 Creates an HWRFTask. More...
 
def isfakestorm (self)
 
def ismultistorm (self)
 
def get_workdir (self)
 Returns the directory the class should work in, as set by the "workdir" metadata value. More...
 
def set_workdir (self, val)
 Sets the directory the class should work in. More...
 
def get_outdir (self)
 Gets the directory that should receive output data. More...
 
def set_outdir (self, val)
 Sets the directory that should receive output data. More...
 
def realtime (self)
 Is this job a real-time forecast job? More...
 
def redirect (self)
 Should subprograms' outputs be redirected to separate files?
 
def scrub (self)
 Should temporary files be deleted as soon as they are not needed?
 
def tvset (self, opt, val)
 Sets a taskvar option's value. More...
 
def tvdel (self, opt)
 Deletes an object-local value set by tvset. More...
 
def tvget (self, opt)
 Gets a taskvar's value. More...
 
def tvhave
 Is a taskvar set? More...
 
def taskvars (self)
 The dict of object-local values used for string substitution. More...
 
def confint
 Alias for self.conf.getint for section self.section. More...
 
def confstr
 Alias for self.conf.getstr for section self.section. More...
 
def conffloat
 Alias for self.conf.getfloat for section self.section. More...
 
def confbool
 Alias for self.conf.getbool for section self.section. More...
 
def confget
 Alias for self.conf.get for section self.section. More...
 
def confitems
 Alias for self.conf.items for section self.section. More...
 
def confstrinterp (self, string, section=None, kwargs)
 Alias for self.icstr for backward compatibility. More...
 
def conftimestrinterp (self, string, ftime, atime=None, section=None, kwargs)
 Alias for self.timestr for backward comaptibility. More...
 
def confraw
 Get a raw configuration value before string expansion. More...
 
def icstr (self, string, section=None, kwargs)
 Expands a string in the given conf section. More...
 
def timestr (self, string, ftime, atime=None, section=None, kwargs)
 Expands a string in the given conf section, including time vars. More...
 
def getdir
 Alias for hwrf.config.HWRFConfig.get() for the "dir" section. More...
 
def getexe
 Alias for hwrf.config.HWRFConfig.get() for the "exe" section. More...
 
def getconf (self)
 Returns this HWRFTask's hwrf.config.HWRFConfig object. More...
 
def getsection (self)
 Returns this HWRFTask's section name in the HWRFConfig. More...
 
def log
 Obtain a logging domain. More...
 
def inputiter (self)
 Iterates over all inputs required by this task. More...
 
- Public Member Functions inherited from produtil.datastore.Task
def __init__ (self, dstore, taskname, logger=None, kwargs)
 Task constructor. More...
 
def jlogfile (self)
 returns the jlogfile logger. More...
 
def postmsg (self, message, args, kwargs)
 same as produtil.log.jlogger.info() More...
 
def setstate (self, val)
 Sets the state of this job. More...
 
def getstate (self)
 Returns the job state. More...
 
def strstate (self)
 A string representation of the job state. More...
 
def gettaskname (self)
 Returns the task name part of the database ID, which is the same as the prodname. More...
 
def products (self, args, kwargs)
 Iterate over the products this task produces. More...
 
def log (self)
 Returns the logger object for this task. More...
 
def clean (self)
 Cleans up any unneeded data used by this task. More...
 
def unrun (self)
 Undoes the effect of run(). More...
 
def run (self)
 Performs the work this Task should do and generates all products. More...
 
def is_completed (self)
 Is this task complete? More...
 
def completed (self)
 Read-only property: is this task completed? Same as is_completed() More...
 
def runpart (self)
 Run some of this task's work, deliver some products. More...
 
- Public Member Functions inherited from produtil.datastore.Datum
def __init__ (self, dstore, prodname, category, meta=None, cache=30, location=None, kwargs)
 Datum constructor. More...
 
def __enter__ (self)
 Acquires this object's thread lock. More...
 
def __exit__ (self, etype, evalue, traceback)
 Releases this object's thread lock. More...
 
def validate (self)
 Validates this object's Datastore, prodname and category. More...
 
def getid (self)
 Returns the database ID of this datum. More...
 
def getdatastore (self)
 Returns the datastore of this datum. More...
 
def transaction (self)
 Creates, but does not lock, a Transaction for this datum's datastore. More...
 
def getprodtype (self)
 Returns the product type of this Datum. More...
 
def getprodname (self)
 Returns the product name part of the database ID. More...
 
def getcategory (self)
 Returns the product category part of the database ID. More...
 
def getlocation (self)
 Returns the "location" field of this Datum's database entry. More...
 
def setlocation (self, v)
 Sets the "location" field of this Datum's database entry. More...
 
def __hash__ (self)
 Integer hash function. More...
 
def __str__ (self)
 Human-readable description of this Datum. More...
 
def __repr__ (self)
 Python code-like description of this Datum. More...
 
def __cmp__ (self, other)
 Compares two Datums' prodnames and categories. More...
 
def set_loc_avail (self, loc, avail)
 Sets the location and availability of this Datum in a single transaction. More...
 
def update (self)
 Discards all cached metadata and refreshes it from the Datastore. More...
 
def __getitem__ (self, k)
 Returns the value of the specified metadata key or raises KeyError. More...
 
def meta
 Return the value of a metadata key. More...
 
def get
 Alias for self.meta() Returns the value of the specified metadata key or returns default if it is unset. More...
 
def __setitem__ (self, k, v)
 Sets the value of the specified metadata key. More...
 
def __delitem__ (self, k)
 Deletes the specified metadata key, which must not be "available" or "location". More...
 
def __contains__ (self, k)
 Determines if a metadata key is set. More...
 
def iteritems (self)
 Iterates over all metadata (key,value) pairs for this Datum, including "available" and "location". More...
 

Public Attributes

 tgtcycle
 the cycle for whom TDR data is checked
 
- Public Attributes inherited from hwrf.hwrftask.HWRFTask
 storminfo
 The hwrf.storminfo.StormInfo describing the vitals information for the storm processed by this HWRFTask. More...
 

Additional Inherited Members

- Properties inherited from hwrf.hwrftask.HWRFTask
 workdir
 The directory in which this task should be run. More...
 
 outdir
 The directory in which this task should deliver its final output. More...
 
 conf
 This HWRFTask's hwrf.config.HWRFConfig object. More...
 
 section
 The confsection in self.section for this HWRFTask (read-only) More...
 
- Properties inherited from produtil.datastore.Task
 state
 Read-write property: the job state. More...
 
 taskname
 Read-only property: the name of this task. More...
 
- Properties inherited from produtil.datastore.Datum
 prodname = property(getprodname,None,None,)
 Read-only property, an alias for getprodname(): the product name part of the database ID. More...
 
 category = property(getcategory,None,None,)
 Read-only property, an alias for getcategory(), the category name part of the database ID. More...
 
 prodtype
 Read-only property, an alias for getprodtype(), the product type. More...
 
 did
 Read-only property, an alias for getid(). More...
 
 dstore
 Read-only property, an alias for getdatastore(), the Datastore in which this Datum resides. More...
 
 location
 Read-write property, an alias for getlocation() and setlocation(). More...
 

Constructor & Destructor Documentation

def hwrf.ensda.CycleTDRCheck.__init__ (   self,
  dstore,
  conf,
  section,
  cycle_rel,
  kwargs 
)

CycleTDRCheck constructor.

Create a new CycleTDRCheck which will look for TDR for the specified cycle. The cycle_rel is anything accepted by to_datetime_rel's second argument.

Parameters
dstorethe produtil.datastore.Datastore database object
confthe hwrf.config.HWRFConfig with configuration info
sectionthe section to use within conf
cycle_relspecifies the cycle. This must be a number of hours relative to the current cycle (conf.cycle) analysis time. For example, -6*3600 would be the prior cycle and 48*3600 would be two days from now.
kwargspassed to the superclass constructor

Definition at line 650 of file ensda.py.

Member Function Documentation

def hwrf.ensda.CycleTDRCheck.inputiter (   self)

Iterates over needed files from upstream workflows.

This iterator's purpose is to provide "all files external to this workflow" that are needed by the task. In this case, of course, it is only the TDR bufr_d file. Hence, there is a single "yield" statement that requests the TDR.

Definition at line 693 of file ensda.py.

def hwrf.ensda.CycleTDRCheck.read_trigger_file (   self)

Read TDR trigger file for operational run.

Reads the TDR trigger file sent by the Aircraft Operations Center (AOC) before a NOAA P3 Orion flight. This is used in NCEP Operations when running the operational HWRF, to determine if TDR is going to be available soon.

Definition at line 788 of file ensda.py.

Referenced by hwrf.ensda.CycleTDRCheck.tdr_this_cycle().

def hwrf.ensda.CycleTDRCheck.readensdatrigger (   self,
  stmidin,
  tgtcycle 
)

Runs the hwrf_readtdrtrigger program.

Runs the hwrf_readtdrtrigger program to decide if the TDR trigger file is for this storm or not.

Parameters
stmidinthe storm
tgtcyclethe cycle of interest

Definition at line 852 of file ensda.py.

Referenced by hwrf.ensda.CycleTDRCheck.read_trigger_file().

def hwrf.ensda.CycleTDRCheck.run (   self)

creates the storm*.run_ensda file

Creates the storm1.run_ensda flag file with RUN_ENSDA=YES if the TDR data is available, and RUN_ENSDA=NO otherwise.

Definition at line 702 of file ensda.py.

Referenced by produtil.datastore.Task.runpart().

def hwrf.ensda.CycleTDRCheck.should_run_ensda (   self)

Should ENSDA be run?

If self.run was called in this process, returns the cached result of that. Otherwise, reads the run_ensda flag file from COM. Uses hwrf.ensda.read_ensda_flag_file()

Definition at line 683 of file ensda.py.

def hwrf.ensda.CycleTDRCheck.tdr_this_cycle (   self)

Check if TDR data is available for this cycle.

Checks the on-disk input data to see if the TDR data is available.

Definition at line 724 of file ensda.py.

Referenced by hwrf.ensda.CycleTDRCheck.tdr_this_cycle().

def hwrf.ensda.CycleTDRCheck.write_flag_file (   self,
  run_ensda 
)

Write the ensda flag file.

Calls hwrf.ensda.write_ensda_flag_file to write the flag file.

Parameters
run_ensdaTrue means the ensemble should be run, False if it should not be run.

Definition at line 716 of file ensda.py.

Referenced by hwrf.ensda.CycleTDRCheck.run().


The documentation for this class was generated from the following file: