Reformat MET Point Stat Data
=============================
Description
___________
The *METreformat* module is used to reformat MET point_stat .stat files into a format that can be read by
METplotpy. The reformatted data contains additional columns:
Two columns for statistics
- stat_name
- stat_value
Four columns for confidence levels (normal and bootstrap)
- stat_bcl
- upper level bootstrap confidence limit
- stat_bcu
- lower level bootstrap confidence limit
- stat_ncl
- lower level normal confidence limit
- stat_ncu
- upper level normal confidence limit
These columns are needed for the *METplotpy* plots that are
used by METviewer (these plots can also be generated from the command line).
The following MET line types* can be reformatted:
- FHO
- CNT
- CTC
- CTS
- SL1L2
*Other line types will be supported in the future*.
Required Components
___________________
Some METdbLoad modules are used to find and collect data from the individual .stat files into
one data structure.
Two files are required:
- an XML specification file (a simplified version of what is used by METdbLoad to read in the .stat files)
- a YAML configuration file
The XML specification file is used to indicate the directory where the .stat file(s) are
located and the type of MET files to read. The YAML configuration file is used to indicate the name and
location of the output file, and the location of the XML specification file.
Example
_______
- set up a base directory, where the METdataio source code is located
.. code-block:: ini
bash:
export BASE_DIR=/path/to/METdataio
csh:
setenv BASE_DIR /path/to/METdataio
- replace /path/to with an actual path
- set up a working directory, where the XML and YAML config files will be located
.. code-block:: ini
bash:
export WORKING_DIR=/path/to/working_dir
csh:
setenv WORKING_DIR /path/to/working_dir
- copy the point_stat.xml and point_stat.yaml files to the WORKING_DIR
.. code-block:: ini
cp $BASE_DIR/METdataio/METreformat/point_stat.xml $WORKING_DIR/
cp $BASE_DIR/METdataio/METreformat/point_stat.yaml $WORKING_DIR/
- modify the XML specification file
replace the content between the tags with the full path to the .stat files to be reformatted:
for example:
.. code-block:: ini
/path/to/METdataio/METreformat/test/data/point_stat
- replacing the /path/to with the directory where you saved the source code (**NOTE**: Do NOT use environment variables, you must specify the full path to the METdataio source code).
- this example uses the sample data in the METdataio/METreformat/test/data/point_stat
- the following code does not need to be modified, it is used by METdbLoad to determine what types
of files to look for and process. Currently, only point_stat is supported, with support for the other
MET tools to be added in the future.
.. code-block:: ini
ensemble_stat
grid_stat
mode
point_stat
stat_analysis
wavelet_stat
- modify the point_stat.yaml file to specify the output directory, output filename, and location of the
XML specification file:
.. code-block:: ini
output_dir: /path/to/output_dir
output_filename: point_stat_reformatted.txt
xml_spec_file: /path/to/xml_spec_file/.xml
- For *output_dir*, replace /path/to with the full path to the outputdir
- For *xml_spec_file*, replace /path/to with the full path to the XML spec file you edited in the step above and replace the with *point_stat*.
- **NOTE**: Do NOT use environment variables for /path/to, specify the actual path.
- set the PYTHONPATH:
.. code-block:: ini
bash
export PYTHONPATH=$BASE_DIR:/$BASE_DIR/METdbLoad:$BASE_DIR/METdbLoad/ush:$BASE_DIR/METreformat
csh
setenv PYTHONPATH $BASE_DIR:/$BASE_DIR/METdbLoad:$BASE_DIR/METdbLoad/ush:$BASE_DIR/METreformat
- Generate the reformatted file:
- from the command line (from any directory):
.. code-block:: ini
python $BASE_DIR/METreformat/write_stat_ascii.py $WORKING_DIR/point_stat.yaml
- A text file will be created in the output directory with the file name as specified in the yaml file.