MET Version 2.0

Release Date:

The MET Version 2.0 was released on April 7, 2009.

Release Notes

Build process

  • Add sample Makefile for building MET with Intel compilers.
  • Add support for compiling on Debian-Lenny release.

Library code

  • Several bug fixes.
  • Restructure and rename output ASCII file format from VSDB to STAT and add output columns to store data in a more straight-forward way.
  • Enable more sophisticated masking for the Point-Stat, Grid-Stat, and MODE tools by reading the output of the Gen-Poly-Mask tool or any other gridded data field and, optionally, thresholding that field to define a masking region.

ASCII2NC Tool

  • Fix bug so that observations values from the same observing location are assigned the same header id.

PB2NC Tool

  • Remove requirement that PrepBufr files be Fortran-blocked prior to running through PB2NC. The blocking is now done internally as specified in the ARCH_FLAGS in the top-level MET Makefile. The "-DBLOCK4" flag indicates that 4-byte blocking should be performed instead of the default 8-byte blocking. This is compiler-dependent. The sample Makefiles contain a best guess for each compiler, but if you experience runtime errors from the PB2NC tool try adding or removing the "-DBLOCK4" flag, recompiling, and rerunning.
  • Running the PB2NC tool, which links to the BUFRLIB library, on 64-bit machines continues to be problematic. Users may continue to build MET and the libraries on which it depends as 32-bit on 64-bit machines. MET users will be notified when the BUFRLIB 64-bit issues are resolved.

Gen-Poly-Mask Tool

  • New for this release.

PCP-Combine Tool

  • Add the "-ptv" command line argument to specify which GRIB parameter table version number should be used.

Grid-Stat Tool

  • Modify how the user specifies the forecast and observation fields to be selected, thresholded, and compared. The user can now select them independently and compare two different fields.
  • Add the option of specifying a level for a GRIB record as 'L', meaning any generic level type, as opposed to specifying a pressure level or vertical level.
  • Add 3 output line types related to neighborhood verification: Neighborhood Contingency Table Counts (NBRCTC)
    Neighborhood Contingency Table Statistics (NBRCTS)
    Neighborhood Continuous Statistics (NBRCNT)
  • Add support for verifying probabilistic forecasts and add new output line types to store the output. Probablistic data may have a range of values of [0, 1] or [0, 100]. However, probablistic data with a range of [0, 100] will first be rescaled to [0, 1] before verifying it.
  • Add configurable wind speed threshold parameters to specify which (U, V) points should be included in the VL1L2 partial sums.
  • Change the "ncep_defaults" configurable parameter to "grib_ptv" to specify which GRIB parameter table version number should be used.
  • Add an "output_prefix" configurable parameter to include a user-specified string in the output file names.

Point-Stat Tool

  • Same as Grid-Stat, see above.

Wavelet-Stat Tool

  • New for this release.

Stat-Analysis Tool

  • Rename the VSDB-Analysis tool to the STAT-Analysis tool and modify it to read the STAT output lines from the other MET tools.
  • Simplify names for jobs.
  • Add support for converting VL1L2 STAT lines into information about wind direction errors.
  • Add support for reading and aggregating the ISC STAT line from the Wavelet-Stat tool.
  • Add support for reading and aggregating the new probability STAT line types (PCT, PSTD, PJC, and PRC) from the Grid-Stat and Point-Stat tools.

MODE Tool

  • Change the "ncep_defaults" configurable parameter to "grib_ptv" to specify which GRIB parameter table version number should be used.
  • Add an "output_prefix" configurable parameter to include a user-specified string in the output file names.
  • Modify the output PostScript file to include new summary measures on the first page and add a page listing out the pairwise attributes of the matched cluster (formerly called "composite") objects.
  • Add a column to the MODE output files for the VERSION number of MODE that generated the file.
  • Add a column to the MODE output files for the AREA_THRESH value.

MODE-Analysis Tool

  • Modify to read the latest MODE output columns.


Known Issues and Fixes

All Recommended Updates (Last Updated 07/15/2011)

Retrieve all of the recommended updates for METv2.0 in a tarfile:

  • Download the tarfile METv2.0_patches_20110715.tar.gz
  • Copy it into the top-level METv2.0 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 perform a make clean first.

Summary of Recommended Updates

  • 07/15/2011:
    Please replace "METv2.0/lib/vx_util/threshold.cc" with the contents of this version: threshold.cc
  • 02/15/2011:
    Please replace "METv2.0/src/pb2nc/pb2nc.cc" with the contents of this version: pb2nc.cc
  • 12/23/2009:
    Please replace "METv2.0/lib/vx_cal/time_strings.cc" with the contents of this version: time_strings.cc
  • 08/05/2009:
    Please replace "METv2.0/lib/vx_cal/time_strings.cc" with the contents of this version: time_strings.cc
    Please replace "METv2.0/lib/vx_met_util/met_stats.cc" with the contents of this version: met_stats.cc
    Please replace "METv2.0/lib/vx_met_util/compute_ci.cc" with the contents of this version: compute_ci.cc
    Please replace "METv2.0/apps/grid_stat/grid_stat.cc" with the contents of this version: grid_stat.cc
    Please replace "METv2.0/lib/vx_met_util/apply_mask.cc" with the contents of this version: apply_mask.cc
  • 07/01/2009: Please replace "METv2.0/lib/vx_util/string_fxns.cc" with the contents of this version: string_fxns.cc
  • 05/27/2009: Users compiling BUFRLIB with the GNU gfortran compiler should replace "BUFRLIB/nvnwin.f" with the contents of this version: nvnwin.f
  • 05/07/2009: Please replace "METv2.0/lib/vx_met_util/met_stats.cc" with the contents of this version: met_stats.cc
  • 05/05/2009: Please replace "METv2.0/grid_stat/grid_stat_conf_info.cc" with the contents of this version: grid_stat_conf_info.cc
  • 04/29/2009: Please replace "METv2.0/lib/vx_met_util/read_grib.cc" with the contents of this version: read_grib.cc
  • 04/21/2009: Please replace "METv2.0/src/point_stat/point_stat.cc" with the contents of this version: point_stat.cc
  • 04/16/2009: Please replace "METv2.0/doc/MET_Users_Guide.pdf" with the contents of this version: MET_Users_Guide.pdf

External Libraries

Problems building GSL-1.12 with PGI 
Posted 07/29/2009

Problem: GSL-1.12 doesn't build correctly with the PGI compilers.
Solution: A bug report has been submitted to the GSL development team. In the meantime, PGI users should build GSL-1.11 which is also compatible with MET.

Documentation

Updates to the MET Users Guide 
Posted 04/16/2009

Problem: The MET Users Guide contains errors in some of the equations in Appendix C and and lacks a description of the wind direction output of the Stat-Analysis tool.
Solution: The MET Users Guide has been edited with these changes and included in the METv2.0 tar file. The revised version has also been posted to MET Documentation page or may be retrieved directly here: MET_Users_Guide.pdf

PB2NC Tool

Bug in handling the event_stack_flag.
Posted 02/15/2011

Problem: The logic for handling the event_stack_flag for the PB2NC config file is reversed. The comments in the config file indicate that the default value of 1 will yield the most recent, up to date observations at the top of the event stack. However, the opposite behavior is occurring.
Solution: The fix is to correct the logic in the PB2NC source code. Users verifying against PREPBUFR observations should rerun their data through PB2NC so that the intended observation values can be used.
Update: METv2.0/src/pb2nc/pb2nc.cc
And then recompile MET.

Point-Stat Tool

Bug when setting the OBS_VAR output column.
Posted 04/21/2009

Problem: The contents of the OBS_VAR output column is not being reset correctly for the UGRD and VGRD variables after computing VL1L2 vector partial sums.
Solution: The fix is updating the point_stat.cc source file. Please replace the file "METv2.0/src/point_stat/point_stat.cc" with the contents of point_stat.cc and rebuild MET.

Grid-Stat Tool

Bug when computing vector partial sums (VL1L2 lines)
Posted 05/05/2009

Problem: The fcst_wind_thresh list of threshold is not being parsed from the configuration file correctly, resulting in the computation of no VL1L2 lines.
Solution: The fix is updating the grid_stat_conf_info.cc source file. Please replace the file "METv2.0/src/grid_stat/grid_stat_conf_info.cc" with the contents of grid_stat_conf_info.cc and rebuild MET.

Bug in handling the output flag values
Posted 10/22/2009

Problem: The output_flag values were not being handled correctly for the neighborhood statistics output line types. The code was checking the value for NBRCNT when it should have been checking those for NBRCTS and NBRCTC.
Solution: The fix is updating the grid_stat.cc source file. Please replace the file "METv2.0/src/grid_stat/grid_stat.cc" with the contents of grid_stat.cc and rebuild MET.

STAT-Analysis Tool

Bug when specifying forecast lead times >= 100 hours.
Posted 12/23/2009

Problem: When specifying a forecast lead time >=100 hours for the STAT-Analysis and MODE-Analysis, the tools fail to correctly parse the values and error out.
Solution: The fix is to enhance the library code which parses the forecast lead times.
Please replace the file "METv2.0/lib/vx_cal/time_strings.cc" with the contents of time_strings.cc and rebuild MET.

STAT-Analysis tool is producing nan values.
Posted 08/05/2009, Updated 10/22/2009

Problem: A user found that for a particular set of data, the STAT-Analysis tool was writing out nan values instead of NA.
Solution: The fix is to add more error checking to the library code that computes continuous statistics.
Please replace the file "METv2.0/lib/vx_met_util/met_stats.cc" with the contents of met_stats.cc. Also replace the file "METv2.0/lib/vx_met_util/compute_ci.cc" with the contents of compute_ci.cc and rebuild MET.
Update: Additional error checking to prevent square roots of negative numbers.

MET Libraries

Precision error bug when thresholding using strict inequalities.
Posted 07/15/2011

Problem: When using strict inequalities, like < and >, to threshold data, if the value and the threshold are exactly equal, precision error can cause the strict inequality to evaluate to true when it should evaluate to false.
Solution: The fix is to add more checks into the routine that performs thresholding to ensure that strict inequalities evaluate to false when the two values being compared are within precision error of one another. Please replace the file "METv2.0/lib/vx_util/threshold.cc" with the contents of threshold.cc and rebuild MET.

Bug when verifiying over the FULL domain.
Posted 08/05/2009

Problem: When verifying over the FULL domain on Lambert Conformal grids, some grid points along the boundary are unintentionally excluded due to roundoff error.
Solution: The fix is to skip the masking step altogether when verifying over the FULLdomain. Please replace the file "METv2.0/lib/vx_met_util/apply_mask.cc" with the contents of apply_mask.cc and rebuild MET.

Memory leak when checking regular expressions.
Posted 07/01/2009

Problem: When checking to see if strings match regular expressions, the library routine fails to calling the free function, leading to a memory leak. This memory leak showed up when a user ran about 300,000+ observations through the ASCII2NC tool and ran out of memory.
Solution: The fix is updating the string_fxns.cc source file. Please replace the file "METv2.0/lib/vx_util/string_fxns.cc" with the contents of string_fxns.cc and rebuild MET.

Bug in BUFRLIB for the GNU gfortran compiler
Posted 05/27/2009

Problem: When compiling the external BUFRLIB library using the GNU gfortran compiler, there is a bug in one of the files that will lead to a compilation failure in MET. Users of gfortran should expect to see two warning messages when compiling BUFRLIB from the files nemock.f and stndrd.f. These warning messages cause no problems for MET. However, a third file, nvnwin.f, produces a compilation error in BUFRLIB which leads to a compilation failure in MET.
Solution: The fix is updating the BUFRLIB nvnwin.f source file. Please replace the file "BUFRLIB/nvnwin.f" with the contents of nvnwin.f, rebuild BUFRLIB, and rebuild MET.

Bug when computing continuous statistics from SL1L2 partial sums.
Posted 05/07/2009

Problem: The library code that computes continuous statistics from SL1L2 partial sums contains a bug. Specifically, the computation of the observation standard deviation and it's normal confidence limits is incorrect.
Solution: The fix is updating the met_stats.cc source file. Please replace the file "METv2.0/lib/vx_met_util/met_stats.cc" with the contents of met_stats.cc and rebuild MET.

Bug when parsing the model initialization time from GRIB files.
Posted 04/29/2009

Problem: The library code that parses the model initialization time from GRIB files incorrectly assumes all years to be in the 21st centurty rather than using the century information for the GRIB record.
Solution: The fix is updating the read_grib.cc source file. Please replace the file "METv2.0/lib/vx_met_util/read_grib.cc" with the contents of read_grib.cc and rebuild MET.