While METv3.0.1 primarily contains the bugfixes for METv3.0, some minor enhancements have been added. Please refer to the MET User's Guide for more detail on these additions:
Retrieve all of the recommended updates for METv3.0.1 in a tarfile:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Copyright © 2024. All rights reserved.