|
HWRF
trunk@4391
|
a HWRFTask subclass that runs real_nmm More...
a HWRFTask subclass that runs real_nmm
This subclass of WRFTaskBase runs the real_nmm to generate inputs for the provided WRFSimulation.
Definition at line 1001 of file fcsttask.py.
Public Member Functions | |
| def | make_products (self) |
| prepares products for deliver_products() and products() More... | |
| def | add_prep_hybrid (self, p) |
| adds a prep_hybrid data source More... | |
| def | make_wrf (self, wrf) |
| creates a WRFSimulation object for this class More... | |
| def | need_all_metgrid (self) |
| returns True if all metgrid files are needed as input to this Task | |
| def | initial_prerun (self) |
| deletes the wrfinput_d01 and wrfbdy_d01. More... | |
| def | run_exe |
| runs the real_nmm program More... | |
| def | get_wrfinput (self) |
| returns the wrfinput file regardless of the time or domain | |
| def | wrfinput_at_time |
| returns the wrfinput file for a specified time and domain More... | |
| def | wrfbdy_at_time |
| returns the wrfbdy file for a specified time and domain More... | |
| def | fort65_at_time |
| returns the coupler fort.65 file for a specified time and domain More... | |
| def | deliver_products (self) |
| delivers products that were identified by make_products() | |
| def | products (self) |
| iterates over all products Iterates over all of this Task's products (produtil.datastore.FileProduct objects) created by make_products() | |
| def | make_namelist |
| Writes the namelist for real. More... | |
Public Member Functions inherited from hwrf.fcsttask.WRFTaskBase | |
| def | __init__ (self, dstore, conf, section, wrf, keeprun=True, kwargs) |
| constructor More... | |
| def | make_wrf (self, wrf) |
| creates a WRFSimulation object for this class More... | |
| def | add_geogrid (self, g) |
| adds a geogrid input source More... | |
| def | add_metgrid (self, m) |
| adds a metgrid input source More... | |
| def | add_prep_hybrid (self, p) |
| adds a prep_hybrid input source More... | |
| def | use_prep_hybrid (self) |
| returns True if prep_hybrid was requested, and False otherwise. More... | |
| def | add_wrfinput (self, r) |
| adds a wrfinput_d01 input source More... | |
| def | add_wrfbdy (self, r) |
| adds a wrfbdy_d01 input source More... | |
| def | add_fort65 (self, r) |
| adds a coupler fort.65 input source More... | |
| def | add_real (self, r) |
| add a fort.65, wrfinput_d01 and wrfbdy_d01 input source More... | |
| def | add_wrfanl (self, r, domain) |
| add a wrfanl input source for a specific domain More... | |
| def | make_products (self) |
| called from constructor, creates Products More... | |
| def | link_fix (self) |
| links or copies fixed data files More... | |
| def | check_all_inputs (self) |
| Checks to see if all needed input is available. More... | |
| def | link_all_inputs |
| Links all inputs provided by the various add_* member functions. More... | |
| def | need_all_metgrid (self) |
| Returns True if all metgrid files are needed as input to this Task. | |
| def | run_exe |
| runs the executable More... | |
| def | final_prerun (self) |
| last step before running executable More... | |
| def | initial_prerun (self) |
| called immediately after cding to a scrub directory More... | |
| def | run (self) |
| run the wrf or real_nmm More... | |
| def | postrun (self) |
| called just after run_exe() succeeds. More... | |
| def | deliver_products (self) |
| delivers products to their destinations More... | |
| def | make_namelist |
| generates the wrf namelist.input file More... | |
| def | wrf (self) |
| Returns the WRFSimulation object used by this task. More... | |
| def | sim (self) |
| Returns the WRFSimulation object used by this task. More... | |
Public Member Functions inherited from hwrf.fcsttask.FcstTask | |
| def | __init__ (self, dstore, conf, section, outdir=None, taskname=None, kwargs) |
| Creates a FcstTask object. More... | |
| def | has_input (self, typename) |
| is there any input data of this type to this task? More... | |
| def | add_input (self, typename, inobj) |
| add input of a specified type More... | |
| def | check_input (self, typenames, kwargs) |
| check if input data is available More... | |
| def | link_input (self, typenames, just_check=False, kwargs) |
| link or check for inputs 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 | |
| prod_wrfinput | |
| the wrfinput output product | |
| prod_wrfbdy | |
| the wrfbdy output product | |
| prod_log | |
| the rsl.out.0000 output file product | |
| prod_fort65 | |
| the output product for the coupler fort.65 input file | |
Public Attributes inherited from hwrf.fcsttask.WRFTaskBase | |
| dt_epsilon | |
| epsilon value for time equality comparisons | |
| keeprun | |
| if False, temporary files are deleted, otherwise they're kept | |
| location | |
Public Attributes inherited from hwrf.fcsttask.FcstTask | |
| inputs | |
| a mapping of typename to a list of input objects | |
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... | |
| def hwrf.fcsttask.RealNMM.add_prep_hybrid | ( | self, | |
| p | |||
| ) |
adds a prep_hybrid data source
Modifies the simulation namelist generator so that it specifies use_prep_hybrid=T. Calls WRFTaskBase.add_prep_hybrid(p) to add the specified object as a prep_hybrid data source.
| p | the src parameter to Prep2WRF.__init__() |
Definition at line 1020 of file fcsttask.py.
| def hwrf.fcsttask.RealNMM.fort65_at_time | ( | self, | |
| atime, | |||
domain = None |
|||
| ) |
returns the coupler fort.65 file for a specified time and domain
| atime | the time |
| domain | the WRF domain (an integer, string name or WRFDomain) |
Definition at line 1130 of file fcsttask.py.
| def hwrf.fcsttask.RealNMM.initial_prerun | ( | self | ) |
deletes the wrfinput_d01 and wrfbdy_d01.
Definition at line 1048 of file fcsttask.py.
| def hwrf.fcsttask.RealNMM.make_namelist | ( | self, | |
filename = 'namelist.input', |
|||
logger = None |
|||
| ) |
Writes the namelist for real.
Writes the namelist.input file for a call to real_nmm. This does the same as its parent class's implementation, except that the num_metgrid_levels is also overridden to match whatever WPS actually created (which may not match the original namelist).
| filename | the name of the namelist.input file |
| logger | the logging.Logger object |
Definition at line 1160 of file fcsttask.py.
Referenced by hwrf.namelist.Conf2Namelist.__str__(), hwrf.wps.Geogrid.run(), hwrf.wps.Ungrib.run(), hwrf.wps.Metgrid.run(), and hwrf.tracker.TrackerTask.run().
| def hwrf.fcsttask.RealNMM.make_products | ( | self | ) |
prepares products for deliver_products() and products()
Generates produtil.datastore.FileProduct objects for the files that should be delivered in deliver_products() and listed by products().
Definition at line 1006 of file fcsttask.py.
| def hwrf.fcsttask.RealNMM.make_wrf | ( | self, | |
| wrf | |||
| ) |
creates a WRFSimulation object for this class
Creates a copy of the specified WRFSimulation wrf. The copy has a simulation length of one minute or one physics timestep, whichever is larger. Also, it produces wrfanl files for all domains.
| wrf | the wrf argument to init |
Definition at line 1033 of file fcsttask.py.
| def hwrf.fcsttask.RealNMM.run_exe | ( | self, | |
exename = 'real_nmm', |
|||
sleeptime = 30 |
|||
| ) |
runs the real_nmm program
Tries several times to run the real_nmm. This is a workaround for problems encountered on Zeus when running the experimental 9:3:1 HWRF. The real_nmm would exit for no apparent reason about 50% of the time. Eventually that was tracked down to a memory error caused by NetCDF, which forced us to use intio for some files, NetCDF for others, and PNetCDF for yet more files.
| exename | the name of the real_nmm executable in the configuration file "exe" section. |
| sleeptime | passed to produtil.run.run to determine how often to check the child process. |
Definition at line 1057 of file fcsttask.py.
| def hwrf.fcsttask.RealNMM.wrfbdy_at_time | ( | self, | |
| atime, | |||
domain = None |
|||
| ) |
returns the wrfbdy file for a specified time and domain
| atime | the time |
| domain | the WRF domain (an integer, string name or WRFDomain) |
Definition at line 1117 of file fcsttask.py.
| def hwrf.fcsttask.RealNMM.wrfinput_at_time | ( | self, | |
atime = None, |
|||
domain = None |
|||
| ) |
returns the wrfinput file for a specified time and domain
| atime | the time |
| domain | the WRF domain (an integer, string name or WRFDomain) |
Definition at line 1104 of file fcsttask.py.
1.8.10