MET Version 5.2

Release Date:

The MET Version 5.2 was released on August 15, 2016.

Release Notes

What's New?

  • METv5.2 includes several enhancements to existing tools, including improved GRIB1/2 table support, grid box area weighting, and usability features. Additional details on these changes are listed below.

Enhancements to Existing Tools

  • Distribute the latest set of bugfixes, details not listed here.
  • Update all tools to support "-version" and "-help" command line options.
  • Update map data used for plotting and provide both low (default) and high resolution verions. The data comes from a 2016 GIS database.
  • Add new "FORCE" interpolation method to compare gridded datasets whose grid dimensions match but full grid definitions do not.
  • GRIB1 and GRIB2 files
    • Enhance GRIB1/2 table support by updating GRIB table definitions and enhancing logic when reading GRIB files.
    • Support ${USER_GRIB_TABLES} environment variable to define the location of custom, user-defined GRIB tables.
    • Add configuration file support for "GRIB1_center" and "GRIB1_subcenter" to specify the GRIB1 center and sub-center values to be found.
    • Add configuration file support for "GRIB2_cntr", "GRIB2_ltab", and "GRIB2_mtab" to specify the GRIB2 center, local table, and master table values to be found.
    • Enhance MET to parse ensemble information from the extended PDS following NCEP's usage.
    • Add "GRIB_ens" configuration option to specify which ensemble member should be extracted.
    • Rename "GRIB1_rec" configuration option to "GRIB1_code" to more accurately reflect its function.
  • ASCII2NC
    • Add "vld_freq" and "vld_thresh" entries to the "time_summary" configuration option to specify the expected frequency of observations and omit output when not enough valid data is present.
  • Gen-Vx-Mask
    • Add support for "box" masking type to mask out a square of configurable width around each lat/lon location.
  • Grid-Stat
    • Add "grid_weight_flag" configuration option to apply grid box area weighting for grid-to-grid verification.
    • Add "weight" to the "nc_pairs_flag" configuration option to write out the grid box area weights.
    • Add "nbrhd" to the "nc_pairs_flag" configuration option to write out the fractional coverage fields computed for neighborhood verification.
  • Ensemble-Stat
    • Add "grid_weight_flag" configuration option to apply grid box area weighting for grid-to-grid verification.
    • Add "weight" to the "ensemble_flag" configuration option to write out the grid box area weights.
  • MODE
    • Enhance MODE to run multiple convolution radii and thresholds in a single call.
    • Enable the "conv_radius" and "conv_thresh" configuration options to be specified as single values or arrays.
    • Add "quilt" configuration option to specify whether all permutations of convolution radii and threshold should be run.
  • Series-Analysis
    • Add "-paired" command line option to enable missing data to result in a warning rather than an error.
  • WWMCA-Regrid
    • Enhance logic to read a many datasets written in the WWMCA binary format.
    • Add "init_time", "valid_time", and "accum_time" configuration options to override the default values parsed from the input filename.
    • Refactor tool to use regridding functionality common to many MET tools.
  • TC-Pairs
    • Refine Interp12 logic to also apply logic to models ending with '3'.
    • Add "best_technique" and "oper_technique" configuration options to specify the model names for BEST and operational tracks.
    • Add "anly_track" configuration options to specify whether model analysis tracks should be found in the ADECK, BDECK, or both.


Known Issues and Fixes

Fix typo in ECMWF GRIB1 table.

Posted: 2017-04-03
Problem: Problem: The center number in the ECMWF GRIB1 table in MET was incorrectly listed as 7.
Solution: Correct the center number value to be 98
Update:

Fix typo in ECMWF GRIB1 table.
Posted 04/03/2017

Problem: The center number in the ECMWF GRIB1 table in MET was incorrectly listed as 7.
Solution: Correct the center number value to be 98.
Update: met-5.2/data/table_files/grib1_ecmwf_128_98.txt

Add error checking to MADIS2NC.
Posted 04/03/2017

Problem: Passing a MADIS file to MADIS2NC which lacks some of the expected observation variables leads to a runtime error.
Solution: Improve the error checking of MADIS2NC to skip the processing of variables which are not present.
Update: met-5.2/src/tools/other/madis2nc/madis2nc.cc

Fix Series-Analysis with climatology data.
Posted 04/03/2017

Problem: Series-Analysis was not processing climatology data correctly leading to a runtime error.
Solution: Fix Series-Analysis to parse the climo.field settings properly.
Update: met-5.2/src/tools/core/series_analysis/series_analysis.cc

Define BEST track timestep in TC-Pairs as 6 hours.
Posted 04/03/2017

Problem: TC-Pairs inspects the ATCF track data and computes the time steps between track points. The most common time step is used in additional processing. This logic breaks down with very short and irregularly spaced tracks. Solution: For BEST tracks, assume the time step to fixed as 6 hours.
Update: met-5.2/src/tools/tc_utils/tc_pairs/tc_pairs.h
Update: met-5.2/src/tools/tc_utils/tc_pairs/tc_pairs.cc

Fix parsing of NetCDF grid definition.
Posted 02/08/2017

Problem: MET was unable to parse the grid information from a valid CF-compliant NetCDF file because it failed to examine enough variables.
Solution: The fix is to update the MET library code to continue searching variables for the grid definition.
Update: met-5.2/src/libcode/vx_data2d_nccf/nccf_file.cc

Fix memory allocation inefficiencies.
Posted 01/26/2017

Problem: Users reported very slow performance from Grid-Stat when computing continuous statistics on high resolution grids. Debugging revealed very inefficient memory allocation logic in the MET statistics libraries. Many small memory allocations and reallocations slowed down the code considerably.
Solution: The fix is to update the MET library and application code to allocate the expected amount of required memory in one big chunk. Updating this logic caused the runtime of one test case to improve from 36 minutes to 18 seconds.
Update: met-5.2/src/libcode/vx_statistics/pair_base.h
Update: met-5.2/src/libcode/vx_statistics/pair_base.cc
Update: met-5.2/src/libcode/vx_statistics/pair_data_point.h
Update: met-5.2/src/libcode/vx_statistics/pair_data_point.cc
Update: met-5.2/src/libcode/vx_statistics/pair_data_ensemble.h
Update: met-5.2/src/libcode/vx_statistics/pair_data_ensemble.cc
Update: met-5.2/src/libcode/vx_statistics/met_stats.cc
Update: met-5.2/src/basic/vx_util/data_plane_util.cc
Update: met-5.2/src/basic/vx_cal/time_array.h
Update: met-5.2/src/basic/vx_util/num_array.h
Update: met-5.2/src/tools/core/grid_stat/grid_stat.cc
Update: met-5.2/src/tools/core/ensemble_stat/ensemble_stat.cc

Fix problems parsing GRIB table files.
Posted 10/10/2016

Problem: There are two problems here. The MET code which parses GRIB table files fails to read the last line of files which lack a trailing newline. Also, eight GRIB table files contain one or more minor problems.
Solution: Update the parsing code to handle GRIB table files with or without a trailing newline and correct the problematic GRIB table files.
Update: met-5.2/src/basic/vx_log/concat_string.cc
Update: met-5.2/src/libcode/vx_data2d/table_lookup.cc
Update: met-5.2/data/table_files/grib1_dwd_201_146.txt
Update: met-5.2/data/table_files/grib1_dwd_201_78.txt
Update: met-5.2/data/table_files/grib1_ecmwf_130_98.txt
Update: met-5.2/data/table_files/grib1_ecmwf_151_98.txt
Update: met-5.2/data/table_files/grib1_ecmwf_172_98.txt
Update: met-5.2/data/table_files/grib1_ecmwf_190_98.txt
Update: met-5.2/data/table_files/grib1_ncep_129_7.txt
Update: met-5.2/data/table_files/grib1_ncep_141_7.txt

Fix GSI tools for recent conventional diagnostic files.
Posted 10/10/2016

Problem: The conventional diagnostic files produced by GSI versions 3.3 and 3.4 use a record header that is larger than in previous versions which causes a runtime error for the MET GSI tools.
Solution: The fix is to allow GSI diagnostic record headers to be 19 (previous size) or 23 (new size) bytes in length.
Update: met-5.2/src/tools/other/gsi_tools/conv_record.cc

Fix MODE merge_thresh option.
Posted 09/02/2016

Problem: The 5.2 release added support for defining multiple convolution radii and thresholds. However, support for multiple merge thresholds was not added, making the use of double threshold merging problematic.
Solution: The fix is to correct the MODE logic to support multiple merge thresholds. The number of merge thresholds must match the number of convolution thresholds.
Update: met-5.2/src/libcode/vx_shapedata/mode_conf_info.h
Update: met-5.2/src/libcode/vx_shapedata/mode_conf_info.cc
Update: met-5.2/src/tools/core/mode/mode.cc
Update: met-5.2/src/tools/core/mode/mode_exec.cc

Fix polyline masking in STAT-Analysis and TC-Stat.
Posted 09/02/2016

Problem: The -mask_poly option for STAT-Analysis and -out_init_mask and -out_valid_mask options for TC-Stat specify lat/lon polyline masking regions for filtering the input data. Those options are not working because of the sign of the longitude. While all MET input and output files define degrees east longitude as positive, the internal MET grid library assumes degrees west to be positive. Therefore, the longitude values need to be toggled in certain places.
Solution: The fix is to correct the sign of the longitudes in STAT-Analysis and TC-Stat.
Update: met-5.2/src/libcode/vx_analysis_util/stat_job.cc
Update: met-5.2/src/tools/core/stat_analysis/aggr_stat_line.cc
Update: met-5.2/src/tools/tc_utils/tc_stat/tc_stat_job.cc

All Recommended Updates (Last Updated 04/03/2017)

Retrieve all of the recommended updates for METv5.2 in a tarfile:

  • Download the tarfile met-5.2_patches_20170403.tar.gz
  • Copy it into the top-level met-5.2 directory.
  • Uncompress and untar the file. Please note that the new version of the files in the tarball will overwrite the original version of those files. Any changes you may have made will be lost.
  • Rebuild MET, being sure to run make clean and configure first.

Summary of Recommended Updates

  • 04/03/2017: Fix typo in ECMWF GRIB1 table.
  • 04/03/2017: Add error checking to MADIS2NC.
  • 04/03/2017: Fix Series-Analysis with climatology data.
  • 04/03/2017: Define BEST track timestep in TC-Pairs as 6 hours.
  • 02/08/2017: Fix parsing of NetCDF grid definition.
  • 01/26/2017: Fix memory allocation inefficiencies.
  • 10/10/2016: Fix problems parsing GRIB table files.
  • 10/10/2016: Fix GSI tools for recent conventional diagnostic files.
  • 09/02/2016: Fix MODE merge_thresh option.
  • 09/02/2016: Fix polyline masking in STAT-Analysis and TC-Stat.