8. Adding Use Cases¶
8.1. Use Case Category Directories¶
New use cases will be put in the repository under parm/use_cases/model_applications/<CATEGORY> where <CATEGORY> is one of the following:
medium_range
s2s (Subseasonal to Seasonal)
convection_allowing_models
space_weather
marine
cryosphere
coastal
air_quality
pbl
land_surface
extremes
climate
precipitation
tc_and_extra_tc (Tropcial Cyclone and Extra Tropical Cyclone)
miscellaneous
8.2. Use Case Content¶
In the category sub-directory, each use case should have the following:
- A METplus configuration file named <MET-TOOL>_fcst<FCST>_obs<OBS>_cilmo<CLIMO><DESCRIPTOR>.conf where
<MET-TOOL> is the MET tool that performs the final analysis, i.e. GridStat or SeriesAnalysis
<FCST> is the name of the forecast input data source
<OBS> is the name of the observation input data source
<CLIMO> is the optional climotology input data source
<DESCRIPTION> is an optional description that can include field category, number of fields, statistical types, and file formats
A Python Sphinx Documentation (.py) file with the same name as the METplus configuration file
0 or more MET configuration files named <MET-TOOL>Config
8.3. Input Data¶
Input data needed to run the use case should be provided. The data should go in the METplus Data directory with sub-directories matching the directory structure of the use cases, i.e. input data for use cases in parm/use_cases/model_applications/medium_range should go in (/d1/METplus_Data)/model_applications/medium_range
8.4. Use Case Rules¶
The name of the use case files should conform to the guidelines listed above in Use Case Content.
The use case METplus configuration file should not set any variables that specific to the user’s environment, such as INPUT_BASE, OUTPUT_BASE, and PARM_BASE.
A limited number of run times should be processed so that they use case runs in a reasonable amount of time. They are designed to demonstrate the functionality but not necessarily processed all of the data that would be processed for analysis. Users can take an example and modify the run times to produce more output as desired.
No errors should result from running the use case.
All data that is input to the use case (not generated by MET/METplus) should be referenced relative to {INPUT_BASE} and the directory structure of the use case. For example, if adding a new model application use case found under model_applications/precipitation, the input directory should be relative to {INPUT_BASE}/model_applications/precipitation.
The input data required to run the use case should be added to the METplus input data directory on the primary NCAR machine (kiowa as of this writing) so that it will be available for other engineers to test and to be included in the sample data tarballs for the next release.
All data written by METplus should be referenced relative to {OUTPUT_BASE}.
The Sphinx documentation file should be as complete as possible, listing as much relevant information about the use case as possible. Keyword tags should be used so that users can locate other use cases that exhibit common functionality/data sources/tools/etc. If a new keyword is used, it should be added to the Quick Search Guide (docs/Users_Guide/quicksearch.rst).
The use case should be run by someone other than the author to ensure that it runs smoothly outside of the development environment set up by the author.