5.2.11.1. Cyclone Plotter: From TC-Pairs Output

model_applications/tc_and_extra_tc/Plotter_fcstGFS _obsGFS_ExtraTC.conf

Scientific Objective

Provide visualization of storm tracks using output from the MET TC-Pairs tool. The date and hour associated with each storm track indicates the first time the storm was tracked in the model.

Datasets

  • Forecast dataset: ADeck modified-ATCF tropical cyclone data

  • Observation dataset: BDeck modified-ATCF “best-track” tropical cyclone data

METplus Components

This use case first runs TCPairs and then generates the storm track plot for all storm tracks found in the .tcst output file created by the MET TC-Pairs tool.

METplus Workflow

The following tools are used for each run time:

TCPairs

To generate TCPairs output, this example loops by initialization time for every 6 hour period that is available in the data set for 20150301. The output is then used to generate the plot of all cyclone tracks.

METplus Configuration

METplus first loads all of the configuration files found in parm/metplus_config, then it loads any configuration files passed to METplus via the command line with the -c option, i.e. -c parm/use_cases/model_applications/tc_and_extra_tc/Plotter_fcstGFS_obsGFS_ExtraTC.conf

[dir]
## Dirs below used by tc_pairs_wrapper module.
# --------------------------------------------
# track data, set to your data source

TC_PAIRS_ADECK_INPUT_DIR = {INPUT_BASE}/model_applications/tc_and_extra_tc/track_data
TC_PAIRS_BDECK_INPUT_DIR = {TC_PAIRS_ADECK_INPUT_DIR}

# Where modified track files are saved
TC_PAIRS_REFORMAT_DIR = {OUTPUT_BASE}/track_data_atcf
TC_PAIRS_OUTPUT_DIR = {OUTPUT_BASE}/tc_pairs

## Dirs below used by cyclone_plotter_wrapper module.
# --------------------------------------------------
CYCLONE_PLOTTER_INPUT_DIR = {OUTPUT_BASE}/tc_pairs
CYCLONE_PLOTTER_OUTPUT_DIR = {OUTPUT_BASE}/cyclone

[filename_templates]
TC_PAIRS_ADECK_TEMPLATE = {date?fmt=%Y%m}/a{basin?fmt=%s}q{date?fmt=%Y%m}*.gfso.{cyclone?fmt=%s}
TC_PAIRS_BDECK_TEMPLATE = {date?fmt=%Y%m}/b{basin?fmt=%s}q{date?fmt=%Y%m}*.gfso.{cyclone?fmt=%s}
TC_PAIRS_OUTPUT_TEMPLATE = {date?fmt=%Y%m}/{basin?fmt=%s}q{date?fmt=%Y%m%d%H}.gfso.{cyclone?fmt=%s}

[config]
# ================================================
##
# EXTRA TROPICAL CYCLONE PLOT OPTIONS...
#
PROCESS_LIST = TCPairs, CyclonePlotter


## Config options below used by tc_pairs_wrapper module.
# -------------------------------------------------------
##
#
# MET TC-Pairs
#
#
##

#
# Generate the tc-pairs data of interest
#
# Configuration files
TC_PAIRS_CONFIG_FILE = {PARM_BASE}/met_config/TCPairsConfig_wrapped

INIT_TIME_FMT = %Y%m%d
INIT_BEG = 20150301
INIT_END = 20150330
INIT_INCREMENT = 21600     ;; 6 hours

# A list of times to include, in format YYYYMMDD_hh
INIT_INCLUDE =

# A list of times to exclude, in format YYYYMMDD_hh
INIT_EXCLUDE =

#
# Specify model valid time window in format YYYYMM[DD[_hh]].  
# Only tracks that fall within the valid time window will
# be used.
#
VALID_BEG =
VALID_END =

#
# Run MET tc_pairs by indicating the top-level directories for the A-deck and B-deck files. Set to 'yes' to
# run using top-level directories, 'no' if you want to run tc_pairs on files paired by the wrapper.
TC_PAIRS_READ_ALL_FILES = no

#
# MET TC-Pairs
#
# List of models to be used (white space or comma separated) eg: DSHP, LGEM, HWRF
# If no models are listed, then process all models in the input file(s).
MODEL =

# List of storm ids of interest (space or comma separated) e.g.: AL112012, AL122012
# If no storm ids are listed, then process all storm ids in the input file(s).
TC_PAIRS_STORM_ID =

# Basins (of origin/region).  Indicate with space or comma-separated list of regions, eg. AL: for North Atlantic,
# WP: Western North Pacific, CP: Central North Pacific, SH: Southern Hemisphere, IO: North Indian Ocean, LS: Southern
# Hemisphere
TC_PAIRS_BASIN =

# Cyclone, a space or comma-separated list of cyclone numbers. If left empty, all cyclones will be used.
TC_PAIRS_CYCLONE =

# Storm name, a space or comma-separated list of storm names to evaluate.  If left empty, all storms will be used.
TC_PAIRS_STORM_NAME =


# DLAND file, the full path of the file that contains the gridded representation of the
# minimum distance from land.
# Setting this causes tc_pairs to run approx 4x slower
TC_PAIRS_DLAND_FILE = {MET_INSTALL_DIR}/share/met/tc_data/dland_global_tenth_degree.nc

## tc-pairs filtering options
TC_PAIRS_REFORMAT_DECK = yes
TC_PAIRS_REFORMAT_TYPE = SBU

TC_PAIRS_MISSING_VAL_TO_REPLACE = -99
TC_PAIRS_MISSING_VAL = -9999

# SKIP OPTIONS
# Skip processing files if the output already exists.
# Set to yes if you do NOT want to override existing files
# Set to no if you do want to override existing files
TC_PAIRS_SKIP_IF_REFORMAT_EXISTS = yes
TC_PAIRS_SKIP_IF_OUTPUT_EXISTS = yes

##
# CYCLONE PLOTTER
#
## Config options below used by cyclone_plotter_wrapper module.
# -------------------------------------------------------------
##

#
# Specify the YMD of tracks of interest
#
CYCLONE_PLOTTER_INIT_DATE = 20150301

##
# only 00, 06, 12, and 18z init times are supported in NOAA website,
# so for consistency, these are the only options for METplus.
#
CYCLONE_PLOTTER_INIT_HR = 12 ;; hh format
CYCLONE_PLOTTER_MODEL = GFSO
CYCLONE_PLOTTER_PLOT_TITLE = Model Forecast Storm Tracks

##
#  Indicate the size of symbol (point size)
CYCLONE_PLOTTER_CIRCLE_MARKER_SIZE = 41
CYCLONE_PLOTTER_CROSS_MARKER_SIZE = 51

##
#  Turn on/off the generation of an ASCII output file listing all the
#  tracks that are in the plot.  This can be helpful in debugging or verifying
#  that what is plotted is consistent with the data.
#
CYCLONE_PLOTTER_GENERATE_TRACK_ASCII = yes

MET Configuration

METplus sets environment variables based on user settings in the METplus configuration file. See How METplus controls MET config file settings for more details.

YOU SHOULD NOT SET ANY OF THESE ENVIRONMENT VARIABLES YOURSELF! THEY WILL BE OVERWRITTEN BY METPLUS WHEN IT CALLS THE MET TOOLS!

If there is a setting in the MET configuration file that is currently not supported by METplus you’d like to control, please refer to: Overriding Unsupported MET config file settings

Note

See the TCPairs MET Configuration section of the User’s Guide for more information on the environment variables used in the file below:

////////////////////////////////////////////////////////////////////////////////
//
// Default TCPairs configuration file
//
////////////////////////////////////////////////////////////////////////////////

//
// ATCF file format reference:
//   http://www.nrlmry.navy.mil/atcf_web/docs/database/new/abrdeck.html
//

//
// Models
//
${METPLUS_MODEL}

//
// Description
//
${METPLUS_DESC}

//
// Storm identifiers
//
${METPLUS_STORM_ID}

//
// Basins
//
${METPLUS_BASIN}

//
// Cyclone numbers
//
${METPLUS_CYCLONE}

//
// Storm names
//
${METPLUS_STORM_NAME}

//
// Model initialization time windows to include or exclude
//
${METPLUS_INIT_BEG}
${METPLUS_INIT_END}
${METPLUS_INIT_INCLUDE}
${METPLUS_INIT_EXCLUDE}

//
// Valid model time window
//
${METPLUS_VALID_BEG}
${METPLUS_VALID_END}

//
// Model initialization hours
//
init_hour = [];

//
// Required lead time in hours
//
lead_req = [];

//
// lat/lon polylines defining masking regions
//
init_mask  = "";
valid_mask = "";

//
// Specify if the code should check for duplicate ATCF lines
//
check_dup = FALSE;

//
// Specify special processing to be performed for interpolated models.
// Set to NONE, FILL, or REPLACE.
//
interp12 = REPLACE;

//
// Specify how consensus forecasts should be defined
//
consensus = [];

//
// Forecast lag times
//
lag_time = [];

//
// CLIPER/SHIFOR baseline forecasts to be derived from the BEST
// and operational (CARQ) tracks.
//
best_technique = [ "BEST" ];
best_baseline  = [];
oper_technique = [ "CARQ" ];
oper_baseline  = [];

//
// Specify the datasets to be searched for analysis tracks (NONE, ADECK, BDECK,
// or BOTH).
//
anly_track = BDECK;

//
// Specify if only those track points common to both the ADECK and BDECK
// tracks be written out.
//
match_points = TRUE;

//
// Specify the NetCDF output of the gen_dland tool containing a gridded
// representation of the minimum distance to land.
//
${METPLUS_DLAND_FILE}

//
// Specify watch/warning information:
//   - Input watch/warning filename
//   - Watch/warning time offset in seconds
//
watch_warn = {
   file_name   = "MET_BASE/tc_data/wwpts_us.txt";
   time_offset = -14400;
}

//
// Indicate a version number for the contents of this configuration file.
// The value should generally not be modified.
//
//version = "V9.0";

${METPLUS_MET_CONFIG_OVERRIDES}

Running METplus

This use case can be run two ways:

  1. Passing in Plotter_fcstGFS_obsGFS_ExtraTC.conf then a user-specific system configuration file:

    run_metplus.py -c /path/to/METplus/parm/use_cases/model_applications/tc_and_extra_tc/Plotter_fcstGFS_obsGFS_ExtraTC.conf -c /path/to/user_system.conf
    
  2. Modifying the configurations in parm/metplus_config, then passing in Plotter_fcstGFS_obsGFS_ExtraTC.conf:

    run_metplus.py -c /path/to/METplus/parm/use_cases/model_applications/tc_and_extra_tc/Plotter_fcstGFS_obsGFS_ExtraTC.conf
    

The former method is recommended. Whether you add them to a user-specific configuration file or modify the metplus_config files, the following variables must be set correctly:

  • INPUT_BASE - Path to directory where sample data tarballs are unpacked (See Datasets section to obtain tarballs). This is not required to run METplus, but it is required to run the examples in parm/use_cases

  • OUTPUT_BASE - Path where METplus output will be written. This must be in a location where you have write permissions

  • MET_INSTALL_DIR - Path to location where MET is installed locally

Example User Configuration File:

[dir]
INPUT_BASE = /path/to/sample/input/data
OUTPUT_BASE = /path/to/output/dir
MET_INSTALL_DIR = /path/to/met-X.Y

NOTE: All of these items must be found under the [dir] section.

Expected Output

A successful run will generate the following output to both the screen and to the logfile:

INFO: METplus has successfully finished running.

Additionally, two output files are created. Refer to the value set for OUTPUT_BASE to find where the output data was generated. TCPairs output for this use case will be found in tc_pairs/201503 (relative to OUTPUT_BASE) and will contain files with the following format:

  • mlq2015030100.gfso.<nnnn>.tcst

where nnnn is a zero-padded 4-digit number

A plot (in .png format) will be found in the cyclone directory (relative to OUTPUT_BASE) along with a text file containing data corresponding to the plotted storm tracks:

  • 20150301.png

  • 20150301.txt

Keywords

sphinx_gallery_thumbnail_path = ‘_static/tc_and_extra_tc-Plotter_fcstGFS_obsGFS_ExtraTC.png’

Total running time of the script: ( 0 minutes 0.000 seconds)

Gallery generated by Sphinx-Gallery