HWRF
trunk@4391
|
Runs the prep_hybrid program on GFS spectral files. More...
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.
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... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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 | |
![]() | |
storminfo | |
The hwrf.storminfo.StormInfo describing the vitals information for the storm processed by this HWRFTask. More... | |
Additional Inherited Members | |
![]() | |
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... | |
![]() | |
state | |
Read-write property: the job state. More... | |
taskname | |
Read-only property: the name of this task. More... | |
![]() | |
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... | |
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.
dstore | the produtil.datastore.Datastore database |
conf | the hwrf.config.HWRFConfig for config info |
section | the section to use in conf |
wrf | the hwrf.wrf.WRFSimultion being run |
geogdata | the geogrid data product |
atime,ftime | analysis and forecast times |
taskname | taskname in the dstore |
times | prep_hybrid input/output times |
inputs | the hwrf.input.DataCatalog with the input data |
in_item,in_dataset | Input item and dataset |
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. This is used to trick the HWRF into running with the GDAS 9hr forecast even though a 12hr boundary condition would be needed |
kwargs | More keyword arguments are passed to hwrf.hwrftask.HWRFTask.__init__ |
def hwrf.prep.PrepHybrid.clean | ( | self | ) |
def hwrf.prep.PrepHybrid.input_at | ( | self, | |
when | |||
) |
Finds the input needed for the specified time.
when | the time of interest |
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 | ) |
def hwrf.prep.PrepHybrid.io_form_geogrid | ( | self | ) |
Guesses the WRF I/O form that was used to run geogrid.
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.
def hwrf.prep.PrepHybrid.prep_bdy_files | ( | self | ) |
def hwrf.prep.PrepHybrid.prep_init_file | ( | self | ) |
def hwrf.prep.PrepHybrid.products | ( | self, | |
time = None , |
|||
name = None |
|||
) |
Iterates over all output products.
Iterates over all products meeting the requirements.
time | the 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.
keep | if 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.
ipiece | the index of the output time to run |
keep | if 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 |
|||
) |
def hwrf.prep.PrepHybrid.unrun | ( | self | ) |
hwrf.prep.PrepHybrid.in_atime |
Analysis time.
Definition at line 78 of file prep.py.
Referenced by hwrf.prep.PrepHybrid.input_at(), hwrf.wps.Ungrib.input_at(), hwrf.prep.PrepHybrid.inputiter(), and hwrf.wps.Ungrib.inputiter().
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().