HWRF
trunk@4391
|
Generates the object structure of the HWRF system for use by the scripts. More...
Generates the object structure of the HWRF system for use by the scripts.
This module is the part of the HWRF Experiment Layer that creates an object structure from classes in the hwrf and pom packages. It defines what the HWRF experiment will run, and how the various parts of the HWRF system connect to one another. As this module has gotten more complex, some of its implementation has been moved to the hwrf.hwrfsystem module, which contains helper functions for defining parts of the workflow.
Functions | |
def | prelaunch (conf, logger, cycle) |
This function makes per-cycle modifications to the configuration file storm1.conf. More... | |
def | sanity_check (logger) |
Runs a sanity check on this module's contents. More... | |
def | inputiter () |
Iterates over all inputs required by this configuration. More... | |
def | init_module |
Initializes the HWRF object structure. More... | |
Variables | |
list | __all__ = [] |
Ensures that accidental "from hwrf_expt import *" does nothing. More... | |
ww3init = None | |
An hwrf.ww3.WW3Init that initializes wavewatch3, or None if wave coupling is disabled. | |
hycominit = None | |
An hwrf.hycom.HYCOMInit that initializes hycom, or None if hycom coupling is not in use. More... | |
ww3post = None | |
An hwrf.ww3.WW3Post that post-processes wavewatch3 output, or None if wave coupling is disabled. More... | |
hycompost = None | |
An hwrf.hycom.HYCOMPost that post-processes hycom output, or None if hycom coupling is not in use. | |
conf = None | |
An hwrf.launcher.HWRFLauncher for configuration information. More... | |
ds = None | |
A produtil.datstore.Datastore for product and task information storage. More... | |
moad = None | |
The hwrf.wrf.WRFDomain for the Mother Of All Domains (MOAD) | |
storm1outer = None | |
The hwrf.wrf.WRFDomain for the intermediate resolution domain. | |
storm1inner = None | |
The hwrf.wrf.WRFDomain for the innermost resolution domain. | |
wrf = None | |
The hwrf.wrf.WRFSimulation describing the simulation to run. | |
runwrf = None | |
The hwrf.fcsttask.WRFAtmos or hwrf.mpipomtc.WRFCoupledPOM that runs the full-length forecast. More... | |
nonsatpost = None | |
The hwrf.post.PostManyWRF for generating non-satellite, native E grid GRIB1 files from the runwrf object. More... | |
satpost = None | |
The hwrf.post.PostManyWRF for generating synthetic satellite, native E grid GRIB1 files from the runwrf object. More... | |
gfs_init = None | |
The hwrf.init.HWRFInit that runs initialization tasks such as WPS and real_nmm on the parent global model analysis. More... | |
gribber = None | |
The hwrf.gribtask.GRIBTask that takes satpost and nonsatpost output, regrids it and converts to GRIB2 format. More... | |
tracker = None | |
The hwrf.tracker.TrackerTask that runs the tracker on output from the gribber. More... | |
pominit = None | |
The initialization for the MPIPOMTC ocean model that is coupled to WRF in the runwrf object. More... | |
nhcp = None | |
The hwrf.nhc_products.NHCProducts object that generates custom products for the National Hurricane Center. More... | |
wrfcopier = None | |
An object that copies WRF inputs and outputs to the COM directory. More... | |
WORKhwrf = None | |
The scrub directory for this job. | |
HOMEhwrf = None | |
The HWRF installation location. | |
fgat_init = None | |
The FGAT initialization, which interpolates parent global model forecasts to the HWRF grid and runs other initialization jobs to prepare inputs to the GSI. More... | |
non_ocean_basins = None | |
A list of one-letter basin IDs that are not supported by the selected ocean model. More... | |
bufrprep = None | |
An hwrf.bufrprep.Bufrprep object that turns data tanks into bufr files for input to GSI. More... | |
gsi_d02 = None | |
The intermediate resolution GSI, an hwrf.gsi.FGATGSI, which knows how to run the GSI data assimilation system on output from the fgat_init, bufrprep and other objects. More... | |
gsi_d03 = None | |
The innermost domain resolution GSI, an hwrf.gsi.FGATGSI, which knows how to run the GSI data assimilation system on output from the fgat_init, bufrprep and other objects. More... | |
gsid03_flag = None | |
A boolean value, True if gsi_d03 should be run and False otherwise. | |
gdas_merge = None | |
An hwrf.relocate.Merge object that merges output from GSI and the fgat_init's hwrf.relocate.Stage3 to create the final input fields to the runwrf. | |
cycle = None | |
A synonym of conf.cycle: the cycle being run. | |
ensda = None | |
An hwrf.ensda.DAEnsemble filled with hwrf.ensda.FromGFSENKF objects that run six hour forecasts based on the GFS ENKF. | |
prior_ensda = None | |
An hwrf.ensda.DAEnsemble filled with hwrf.ensda.FromPriorCycle objects that provide access to the prior cycle's ENSDA six hour forecasts. More... | |
entest = None | |
An hwrf.ensda.FromGFSENKF for testing. More... | |
da_ensemble_size = None | |
Number of members in the ensda. | |
trackerd01 = None | |
If enabled, an hwrf.tracker.TrackerTask that only uses the moad data to generate the track. More... | |
trackerd02 = None | |
If enabled, an hwrf.tracker.TrackerTask that only uses the moad and intermediate resolution domains' data to generate the track. More... | |
gsipost = None | |
An hwrf.gsipost.GSIPost that post-processes inputs and outputs to the gsi_d02 and gsi_d03 to create native E grid GRIB files input to the gsigribber. | |
gsigribber = None | |
An hwrf.gribtask.GRIBTask that takes the gsipost output and turns it into lat-lon GRIB2 files suitable for analysis of the effect of GSI. More... | |
ensda_pre = None | |
Output from hwrf.ensda.ensda_pre_object_for(), the object that determines whether the data assimiltation ensemble should be run. More... | |
def hwrf_expt.init_module | ( | CONFhwrf = None , |
|
make_ensemble_da = True , |
|||
make_post = True |
|||
) |
Initializes the HWRF object structure.
This function is called from all scripts and the hwrf.launcher.HWRFLauncher to initialize the HWRF object structure. The created objects know how to run various parts of the system, and this function connects those objects to one another.
CONFhwrf | the configuration filename |
make_ensemble_da | if True, the ensemble data assimilation objects are created |
make_post | if True, the post-processing objects are created |
Definition at line 384 of file hwrf_expt.py.
Referenced by scripts.exhwrf_forecast.doit(), scripts.exhwrf_products.doit(), scripts.exhwrf_ensda_pre.main(), scripts.exhwrf_unpost.main(), scripts.exhwrf_ensda_output.main(), scripts.exhwrf_ocean_init.main(), scripts.exhwrf_bufrprep.main(), scripts.exhwrf_gsi_post.main(), scripts.exhwrf_input.main(), scripts.exhwrf_merge.main(), scripts.exhwrf_gsi.main(), scripts.exhwrf_ensda.main(), scripts.exhwrf_relocate.main(), scripts.exhwrf_init.main(), scripts.exhwrf_check_init.main(), scripts.exhwrf_output.main(), scripts.exhwrf_para_archive.main_tape(), scripts.exhwrf_post.post(), hwrf.launcher.HWRFLauncher.sanity_check_expt(), setup_hurricane.StormCurses.setup(), and scripts.exhwrf_products.slave_main().
def hwrf_expt.inputiter | ( | ) |
Iterates over all inputs required by this configuration.
Calls the inputiter() function on all tasks in the module scope that are expected to have input data. The result can be passed into the "data" argument of hwrf.input.InputSource.get. Iterates over dicts that contain the following:
Definition at line 148 of file hwrf_expt.py.
Referenced by scripts.exhwrf_input.main().
def hwrf_expt.prelaunch | ( | conf, | |
logger, | |||
cycle | |||
) |
This function makes per-cycle modifications to the configuration file storm1.conf.
This is called in scripts.exhwrf_launch and run_hwrf.py by hwrf.launcher.launch() on the configuration object (hwrf.launcher.HWRFLauncher, a subclass of hwrf.config.HWRFConfig), before the per-cycle storm1.conf configuration file is written. Any changes made to the conf object will be stored in storm1.conf file and used in later jobs. This allows modifications to the configuration on a per-cycle basis. Note that cycle=None and conf.cycle is unavailable when run_hwrf.py calls prelaunch.
conf | the hwrf.launcher.HWRFLauncher to modify |
logger | a logging.Logger for log messages |
cycle | the cycle to run, or None if this is being run from run_hwrf.py or the ush.psychoanalyst |
Definition at line 55 of file hwrf_expt.py.
def hwrf_expt.sanity_check | ( | logger | ) |
Runs a sanity check on this module's contents.
This should be called after init_module.
This sanity check routine is called automatically by hwrf.launcher.HWRFLauncher.sanity_check_expt() as part of the standard sanity checks in the scripts.exhwrf_launch job. It checks to see if all expected module-scope variables are present and initialized correctly.
logger | a logging.Logger for log messages |
Definition at line 83 of file hwrf_expt.py.
Referenced by hwrf.launcher.HWRFLauncher.sanity_check_expt().
hwrf_expt.__all__ = [] |
Ensures that accidental "from hwrf_expt import *" does nothing.
Definition at line 34 of file hwrf_expt.py.
hwrf_expt.bufrprep = None |
An hwrf.bufrprep.Bufrprep object that turns data tanks into bufr files for input to GSI.
Definition at line 311 of file hwrf_expt.py.
hwrf_expt.conf = None |
An hwrf.launcher.HWRFLauncher for configuration information.
Definition at line 221 of file hwrf_expt.py.
hwrf_expt.ds = None |
A produtil.datstore.Datastore for product and task information storage.
Definition at line 225 of file hwrf_expt.py.
hwrf_expt.ensda_pre = None |
Output from hwrf.ensda.ensda_pre_object_for(), the object that determines whether the data assimiltation ensemble should be run.
Definition at line 382 of file hwrf_expt.py.
hwrf_expt.entest = None |
An hwrf.ensda.FromGFSENKF for testing.
Definition at line 352 of file hwrf_expt.py.
hwrf_expt.fgat_init = None |
The FGAT initialization, which interpolates parent global model forecasts to the HWRF grid and runs other initialization jobs to prepare inputs to the GSI.
This is an hwrf.init.FGATInit object.
Definition at line 299 of file hwrf_expt.py.
hwrf_expt.gfs_init = None |
The hwrf.init.HWRFInit that runs initialization tasks such as WPS and real_nmm on the parent global model analysis.
Definition at line 261 of file hwrf_expt.py.
hwrf_expt.gribber = None |
The hwrf.gribtask.GRIBTask that takes satpost and nonsatpost output, regrids it and converts to GRIB2 format.
Definition at line 266 of file hwrf_expt.py.
hwrf_expt.gsi_d02 = None |
The intermediate resolution GSI, an hwrf.gsi.FGATGSI, which knows how to run the GSI data assimilation system on output from the fgat_init, bufrprep and other objects.
Definition at line 317 of file hwrf_expt.py.
hwrf_expt.gsi_d03 = None |
The innermost domain resolution GSI, an hwrf.gsi.FGATGSI, which knows how to run the GSI data assimilation system on output from the fgat_init, bufrprep and other objects.
Definition at line 323 of file hwrf_expt.py.
hwrf_expt.gsigribber = None |
An hwrf.gribtask.GRIBTask that takes the gsipost output and turns it into lat-lon GRIB2 files suitable for analysis of the effect of GSI.
Definition at line 377 of file hwrf_expt.py.
hwrf_expt.hycominit = None |
An hwrf.hycom.HYCOMInit that initializes hycom, or None if hycom coupling is not in use.
Definition at line 207 of file hwrf_expt.py.
hwrf_expt.nhcp = None |
The hwrf.nhc_products.NHCProducts object that generates custom products for the National Hurricane Center.
Definition at line 280 of file hwrf_expt.py.
hwrf_expt.non_ocean_basins = None |
A list of one-letter basin IDs that are not supported by the selected ocean model.
This is used by the scripts.exhwrf_check_init to determine if the ocean initialization incorrectly decided not to run the ocean.
Definition at line 306 of file hwrf_expt.py.
hwrf_expt.nonsatpost = None |
The hwrf.post.PostManyWRF for generating non-satellite, native E grid GRIB1 files from the runwrf object.
Definition at line 251 of file hwrf_expt.py.
hwrf_expt.pominit = None |
The initialization for the MPIPOMTC ocean model that is coupled to WRF in the runwrf object.
This is an hwrf.mpipomtc.POMInit object.
Definition at line 275 of file hwrf_expt.py.
hwrf_expt.prior_ensda = None |
An hwrf.ensda.DAEnsemble filled with hwrf.ensda.FromPriorCycle objects that provide access to the prior cycle's ENSDA six hour forecasts.
Definition at line 347 of file hwrf_expt.py.
hwrf_expt.runwrf = None |
The hwrf.fcsttask.WRFAtmos or hwrf.mpipomtc.WRFCoupledPOM that runs the full-length forecast.
Definition at line 246 of file hwrf_expt.py.
hwrf_expt.satpost = None |
The hwrf.post.PostManyWRF for generating synthetic satellite, native E grid GRIB1 files from the runwrf object.
Definition at line 256 of file hwrf_expt.py.
hwrf_expt.tracker = None |
The hwrf.tracker.TrackerTask that runs the tracker on output from the gribber.
Definition at line 270 of file hwrf_expt.py.
hwrf_expt.trackerd01 = None |
If enabled, an hwrf.tracker.TrackerTask that only uses the moad data to generate the track.
Definition at line 361 of file hwrf_expt.py.
hwrf_expt.trackerd02 = None |
If enabled, an hwrf.tracker.TrackerTask that only uses the moad and intermediate resolution domains' data to generate the track.
Definition at line 366 of file hwrf_expt.py.
hwrf_expt.wrfcopier = None |
An object that copies WRF inputs and outputs to the COM directory.
This is an hwrf.copywrf.WRFCopyTask object.
Definition at line 285 of file hwrf_expt.py.
hwrf_expt.ww3post = None |
An hwrf.ww3.WW3Post that post-processes wavewatch3 output, or None if wave coupling is disabled.
Definition at line 212 of file hwrf_expt.py.