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

Runs the prep_hybrid program on GFS spectral files. More...

Detailed Description

Runs the prep_hybrid program on GFS spectral files.

Tracks a sequence of GFS spectral files for a list of times. Runs prep_hybrid on them, one by one. This can be done by calling run(), which runs prep_hybrid for all of them before returning, or runpart() which runs only one before returning. If self.realtime is True, then this class will wait for data to appear.

Definition at line 23 of file prep.py.

Inheritance diagram for hwrf.prep.PrepHybrid:
hwrf.hwrftask.HWRFTask produtil.datastore.Task produtil.datastore.Datum

Public Member Functions

def __init__ (self, dstore, conf, section, wrf, geogdata, atime=None, ftime=None, taskname=None, times=None, inputs=None, in_item=None, in_dataset=None, one_time=False, in_anl_item=None, kwargs)
 PrepHybrid constructor. More...
 
def inputiter (self)
 Iterates over the list of data needed to run this class. More...
 
def input_at (self, when)
 Finds the input needed for the specified time. More...
 
def io_form_geogrid (self)
 Guesses the WRF I/O form that was used to run geogrid. More...
 
def init_namelist (self)
 Constructs the prep_hybrid namelist in the Conf2Namelist object in self.nl.
 
def make_products (self)
 Creates products objects for later file delivery. More...
 
def prep_init_file (self)
 Return the FileProduct for the prep_hybrid initial time output file. More...
 
def prep_bdy_files (self)
 Iterates over the FileProduct for the prep_hybrid boundary output files. More...
 
def products
 Iterates over all output products. More...
 
def unrun (self)
 Marks all products as unavailable, but does not delete delivered files. More...
 
def clean (self)
 Deletes all temporary files (the self.workdir). More...
 
def run
 Preps all times, even if they have already been prepped. More...
 
def runpart
 Preps one time that has not yet been prepped, and returns. More...
 
def run_ipiece
 This is the internal helper function that runs the prep_hybrid for self.run and self.runpart. 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

 times
 prep_hybrid input/output times
 
 in_dataset
 hwrf.input.DataCatalog Input dataset
 
 in_item
 hwrf.input.DataCatalog input item
 
 in_anl_item
 alternate input item for analysis time
 
 one_time
 If True, only one time is prepped but we lie and say should be used for all times. More...
 
 in_atime
 Analysis time. More...
 
 in_ftime
 Forecast time. More...
 
 geogdata
 the geogrid data product
 
 inputs
 the hwrf.input.DataCatalog with the input data
 
 bdyprod
 Mapping from time to boundary output product.
 
 logprod
 Mapping from time to prep.log log file product.
 
 initprod
 Prep initial state product. More...
 
 wrf
 the hwrf.wrf.WRFSimultion being run
 
 nl
 hwrf.namelist.Conf2Namelist with the prep_hybrid namelist
 
- 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.prep.PrepHybrid.__init__ (   self,
  dstore,
  conf,
  section,
  wrf,
  geogdata,
  atime = None,
  ftime = None,
  taskname = None,
  times = None,
  inputs = None,
  in_item = None,
  in_dataset = None,
  one_time = False,
  in_anl_item = None,
  kwargs 
)

PrepHybrid constructor.

Parameters
dstorethe produtil.datastore.Datastore database
confthe hwrf.config.HWRFConfig for config info
sectionthe section to use in conf
wrfthe hwrf.wrf.WRFSimultion being run
geogdatathe geogrid data product
atime,ftimeanalysis and forecast times
tasknametaskname in the dstore
timesprep_hybrid input/output times
inputsthe hwrf.input.DataCatalog with the input data
in_item,in_datasetInput item and dataset
in_anl_itemalternate input item for analysis time
one_timeIf True, only one time is prepped but we lie and say should be used for all times. This is used to trick the HWRF into running with the GDAS 9hr forecast even though a 12hr boundary condition would be needed
kwargsMore keyword arguments are passed to hwrf.hwrftask.HWRFTask.__init__

Definition at line 34 of file prep.py.

Member Function Documentation

def hwrf.prep.PrepHybrid.clean (   self)

Deletes all temporary files (the self.workdir).

Definition at line 238 of file prep.py.

def hwrf.prep.PrepHybrid.input_at (   self,
  when 
)

Finds the input needed for the specified time.

Parameters
whenthe time of interest
Returns
the spectral file at that time.

Definition at line 149 of file prep.py.

Referenced by hwrf.wps.Ungrib.get_grib(), hwrf.prep.PrepHybrid.run(), and hwrf.prep.PrepHybrid.run_ipiece().

def hwrf.prep.PrepHybrid.inputiter (   self)

Iterates over the list of data needed to run this class.

Definition at line 138 of file prep.py.

def hwrf.prep.PrepHybrid.io_form_geogrid (   self)

Guesses the WRF I/O form that was used to run geogrid.

Returns
the io_form for auxinput2

Definition at line 175 of file prep.py.

Referenced by hwrf.prep.PrepHybrid.run_ipiece().

def hwrf.prep.PrepHybrid.make_products (   self)

Creates products objects for later file delivery.

Creates the produtil.datastore.FileProduct objects for delivery of prep_hybrid output.

Definition at line 191 of file prep.py.

def hwrf.prep.PrepHybrid.prep_bdy_files (   self)

Iterates over the FileProduct for the prep_hybrid boundary output files.

Definition at line 211 of file prep.py.

def hwrf.prep.PrepHybrid.prep_init_file (   self)

Return the FileProduct for the prep_hybrid initial time output file.

Definition at line 208 of file prep.py.

def hwrf.prep.PrepHybrid.products (   self,
  time = None,
  name = None 
)

Iterates over all output products.

Iterates over all products meeting the requirements.

Parameters
timethe time of interest, or None for all times
name"init" for initial state, "bdy" for boundary information, or None for all.

Definition at line 215 of file prep.py.

Referenced by hwrf.wrf.ExternalWRFTask.__init__(), hwrf.tracker.TrackerTask.call_completed_callbacks(), hwrf.wps.WPSTask.deliver_products(), hwrf.relocate.RelocationTask.deliver_products(), hwrf.wps.WPSTask.undeliver_products(), hwrf.prep.PrepHybrid.unrun(), hwrf.wrf.ExternalWRFTask.unrun(), and hwrf.wrf.ExternalWRFTask.wrf_check().

def hwrf.prep.PrepHybrid.run (   self,
  keep = True 
)

Preps all times, even if they have already been prepped.

Parameters
keepif True, copy output files instead of moving them to the destination.

Definition at line 241 of file prep.py.

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

def hwrf.prep.PrepHybrid.run_ipiece (   self,
  ipiece,
  keep = True 
)

This is the internal helper function that runs the prep_hybrid for self.run and self.runpart.

Parameters
ipiecethe index of the output time to run
keepif True, copy output files instead of moving them to the destination.

Definition at line 276 of file prep.py.

Referenced by hwrf.prep.PrepHybrid.run(), and hwrf.prep.PrepHybrid.runpart().

def hwrf.prep.PrepHybrid.runpart (   self,
  keep = True 
)

Preps one time that has not yet been prepped, and returns.

Parameters
keepif True, copy output files instead of moving them to the destination.

Definition at line 253 of file prep.py.

def hwrf.prep.PrepHybrid.unrun (   self)

Marks all products as unavailable, but does not delete delivered files.

Definition at line 233 of file prep.py.

Member Data Documentation

hwrf.prep.PrepHybrid.in_atime
hwrf.prep.PrepHybrid.in_ftime

Forecast time.

Definition at line 79 of file prep.py.

Referenced by hwrf.prep.PrepHybrid.input_at(), hwrf.wps.Ungrib.input_at(), and hwrf.wps.Ungrib.inputiter().

hwrf.prep.PrepHybrid.initprod

Prep initial state product.

Definition at line 84 of file prep.py.

Referenced by hwrf.prep.PrepHybrid.make_products(), hwrf.prep.PrepHybrid.prep_init_file(), and hwrf.prep.PrepHybrid.products().

hwrf.prep.PrepHybrid.one_time

If True, only one time is prepped but we lie and say should be used for all times.

This is used to trick the HWRF into running with the GDAS 9hr forecast even though a 12hr boundary condition would be needed

Definition at line 77 of file prep.py.

Referenced by hwrf.prep.PrepHybrid.input_at(), hwrf.prep.PrepHybrid.inputiter(), and hwrf.wps.Ungrib.inputiter().


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