Known Issues and Fixes for METv3.0.1

All Recommended Updates (Last Updated 12/09/2011)

Retrieve all of the recommended updates for METv3.0.1 in a tarfile:
  • Download the tarfile METv3.0.1_patches_20111209.tar.gz
  • Copy it into the top-level METv3.0.1 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

  • 09/30/2010: Users compiling BUFRLIB with the GNU gfortran compiler should replace "BUFRLIB/nvnwin.f" with nvnwin.f
  • 03/25/2011: Fix for bilinear interpolation for observations falling just off the grid.
  • 03/28/2011: Fix for handling the GRIB bitmap section for all settings of the scanning mode flags in the grid description section.
  • 03/30/2011: Bugfix for probabilistic output in the PJC and PRC line types.
  • 04/19/2011: Bugfix for pcp_combine -add option.
  • 06/01/2011: Bugfix for pb2nc -pbfile command line option when compiled with PGI compilers.
  • 06/09/2011: Bugfix for computing standard deviation for values very close to zero.
  • 06/09/2011: Bugfix for parsing MET output from pinterp in the analysis tools.
  • 07/15/2011: Precision error bugfix for thresholding data using strict inequalities, like < and >, when the value and the threshold are exactly equal.
  • 08/15/2011: Bugfix for stat_analysis config file alpha values parsing.
  • 08/25/2011: Change tolerance used to determine when two numbers are equal.
  • 09/27/2011: BUFRLIB version 10.0.1 includes important bug fixes applicable to MET code.
  • 11/14/2011: Bugfix for the pcp_combine -add option in the handling of missing data.
  • 12/05/2011: Enhancements when parsing probabilistic limits and error handling when deriving winds.
  • 12/09/2011: Change Ensemble-Stat error for missing observation data to a warning.
  • 12/09/2011: Minor bugfix for Grid-Stat logging information.

External Libraries

Bug in BUFRLIB version 10.0.0
Posted 09/27/2011

Problem: A bug was discovered in BUFRLIB version 10.0.0 which causes the first PREPBUFR message to be skipped when read by the PB2NC tool. When MET is compiled against BUFRLIB version 10.0.0, PB2NC processes one fewer PREPBUFR message than it should.
Solution: The fix is to upgrade to BUFRLIB version 10.0.1 which contains the fix and recompile MET. Please refer to the BUFRLIB version 10.0.1 release notes for more details.

MET Libraries

Bilinear interpolation problem for observations falling just off the grid.
Posted 03/25/2011

Problem: When using biliear interpolation to interpolate forecast values to an observation falling just off the grid, MET errors out rather than correctly skipping the observation.
Solution: The fix is to add more bounds checking so that MET skips the observation rather than erroring out.
Update: METv3.0.1/lib/vx_wrfdata/vx_wrfdata.cc
And then recompile MET.

Handling the GRIB bitmap section for all settings of the scanning mode flags in the grid description section.
Posted 03/28/2011

Problem: When a bitmap section is present in a GRIB record, MET was not reading the data correctly for all possible combinations of the scanning mode flags which are set in the grid description section.
Solution: The fix is to handle the bitmap section by parsing the GRIB data values into a temporary array prior to handling the scanning mode flags.
Update: METv3.0.1/lib/vx_met_util/read_grib.cc
And then recompile MET.

Bug for the probabilistic output in the PJC and PRC line types.
Posted 03/30/2011

Problem: Two problems were found in the probabilistic output computed by the Point-Stat and Grid-Stat tools. First, in the PJC line type, the columns of data for CALIBRATION and REFINEMENT were transposed in the output. Second, in the PRC line type, the values listed for PODY and POFD were incorrect. The correct values are really 1 minus the values listed.
Solution: The fix is to update a single file in the vx_contable library.
Update: METv3.0.1/lib/vx_contable/vx_nx2.cc
And then recompile MET.

Bug when computing standard deviation for values very close to zero.
Posted 06/09/2011

Problem: When computing the standard deviation for values very close to zero, MET was writing out a standard deviation value of 0 rather than the actual value.
Solution: The fix is to remove the unnecessary check for closeness to zero from the computation of standard deviation.
Update: METv3.0.1/lib/vx_met_util/met_stats.cc
And then recompile MET.

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.
Update: METv3.0.1/lib/vx_util/threshold.cc
And then recompile MET.

Change tolerance used to determine when two numbers are equal.
Posted 08/25/2011

Problem: The bugfix posted on 20110715 revealed the use of a tolerance value that is too generous when considering whether two values are equal or not. This caused the improper handling thresholding of some data when applying <= or >= threshold types.
Solution: The fix is to tighten down that tolerance to require that two numbers be within 10E-10 of eachother to be considered equal, rather than 10E-5, as was used previously.
Update: METv3.0.1/lib/vx_math/is_bad_data.h
And then recompile MET.

Enhancements when parsing probabilistic limits and error handling when deriving winds.
Posted 12/05/2011

Problem: When searching for probabilistic data in GRIB files checking too strict checking of limits resulted in no matches. Also, failures in the derivation of winds results in an error, when a warning is preferable.
Solution: The fix is to loosen the limit checking for probabilistic data and change the logic so that failures in wind deriviation result in a warning rather than an error.
Update: METv3.0.1/lib/vx_met_util/read_grib.h
Update: METv3.0.1/lib/vx_met_util/read_grib.cc
And then recompile MET.

PCP-Combine Tool

Bug when using the -add command line option.
Posted 04/19/2011

Problem: When passing multiple input files to PCP-Combine using the -add command line option, the output only contains the values for the last input file listed.
Solution: An incorrectly placed bracket is the source of this bug. The fix is to move the section of code that does the summation inside the loop for the input files.
Update: METv3.0.1/src/pcp_combine/pcp_combine.cc
And then recompile MET.

Bug in the handling of missing data when using the -add command line option.
Posted 11/14/2011

Problem: When adding values together, PCP-Combine was checking to see if the new value was bad data but failing to check if the existing value was bad data. This led to spurious values in the output close to -9999, which is the internal storage value for missing data.
Solution: The fix is to add in that missing check for bad data.
Update: METv3.0.1/src/pcp_combine/pcp_combine.cc
And then recompile MET.

Grid-Stat Tool

Minor bug in logging information printed to the screen.
Posted 12/09/2011

Problem: When Grid-Stat finds zero matched pairs for a given verification task, it fails to print out that information before proceeding to the next verification task.
Solution: The fix is to move the continue statement below the printing of the status.
Update: METv3.0.1/src/grid_stat/grid_stat.cc
And then recompile MET.

Ensemble-Stat Tool

Change Ensemble-Stat error for missing observation data to a warning.
Posted 12/09/2011

Problem: When data is missing from the gridded observation data file passed to Ensemble-Stat, the tool errors out rather than printing a warning and continuing.
Solution: Change the error to a warning and continue to the next verification task.
Update: METv3.0.1/src/ensemble_stat/ensemble_stat.cc
And then recompile MET.

PB2NC Tool

Bug when using the -pbfile command line option for PB2NC compiled with PGI compilers.
Posted 06/01/2011

Problem: When passing multiple input PREPBUFR files to PB2NC compiled with PGI using the -pbfile command line option, PB2NC errors out with the following message:
PGFIO-F-207/OPEN/unit=12/file is already connected to another unit.
Solution: Prior to reading additional PREPBUFR files, add in a call to close the open file descriptor.
Update: METv3.0.1/src/pb2nc/Makefile
Update: METv3.0.1/src/pb2nc/pb2nc.cc
ADD NEW: METv3.0.1/src/pb2nc/closepb.f
And then recompile MET.

STAT-Analysis and MODE-Analysis Tools

Bug parsing MET output from pinterp in the analysis tools.
Posted 06/09/2011

Problem: The code that parses variable names from the MET output files attempts to convert those variable names to GRIB codes. This step often fails when reading the MET output from pinterp data.
Solution: The fix is to no longer exit when the string cannot be converted.
Update: METv3.0/lib/vx_grib_classes/grib_strings.cc
And then recompile MET.

Bug parsing stat_analysis config file alpha values list.
Posted 08/15/2011

Problem: The code that parses stat_analysis config file alpha values converts them to integers instead of floating point values.
Solution: Parse alpha values as floating point values.
Update: METv3.0.1/src/stat_analysis/stat_analysis.cc
And then recompile MET.