Please refer to the MET User's Guide for a more detailed description of these new additions:
Retrieve all of the recommended updates for METv3.0 in a tarfile:
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.
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.
Problem: MET has compilation errors when built with GNU versions 4.4.3 and later.
Solution: The fix is to add in a few more include files.
Update: METv3.0/lib/vx_met_util/grid_output.cc
Update: METv3.0/lib/vx_data_grids/latlon_grid.cc
Update: METv3.0/lib/vx_data_grids/lc_grid.cc
Update: METv3.0/lib/vx_data_grids/merc_grid.cc
And then recompile MET.
Problem: When running many instances of the Point-Stat tool simultaneously, one user reported potential conflicts caused by non-unique temporary file names. The MET tools embed the process id (pid) in each temporary file name but that logic may not be sufficient for uniqueness on all systems.
Solution: The solution requires a more robust naming convention that checks for uniqueness before creating new temporary files.
Update: METv3.0/src/pb2nc/pb2nc.cc
Update: METv3.0/src/stat_analysis/stat_analysis.cc
Update: METv3.0/lib/vx_met_util/compute_ci.cc
Update: METv3.0/lib/vx_util/Makefile
Update: METv3.0/lib/vx_util/vx_util.h
ADD NEW: METv3.0/lib/vx_util/temp_file.h
ADD NEW: METv3.0/lib/vx_util/temp_file.cc
And then recompile MET.
Problem: When deriving records for wind speed and direction from the U and V components, the command line arguments for requesting specific lead and/or valid times were being ignored.
Solution: The solution requires adding two additional arguments to specify the requested lead and/or valid time.
Update: METv3.0/lib/vx_met_util/read_grib.h
Update: METv3.0/lib/vx_met_util/read_grib.cc
And then recompile MET.
Problem: When verifying pressure, whose GRIB code value is 1, an abbreviation of MISSING was being used instead of PRES.
Solution: The solution requires updating a single file.
Update: METv3.0/lib/vx_grib_classes/grib_strings.cc
And then recompile MET.
Problem: When computing confidence intervals for categorical statistics over a large number of matched pairs, variable overflow may occur resulting in confidence limits of -inf and inf.
Solution: The solution requires updating a single file.
Update: METv3.0/lib/vx_met_util/compute_ci.cc
And then recompile MET.
Problem: When using GRIB files to perform data masking, an incorrect GRIB parameter table version number is used causing an error message.
Solution: The solution requires updating a single file.
Update: METv3.0/lib/vx_met_util/apply_mask.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 th e 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 scannin g mode flags.
Update: METv3.0/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/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/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/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 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/lib/vx_math/is_bad_data.h
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/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/src/pcp_combine/pcp_combine.cc
And then recompile MET.
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: METv3.0/src/pb2nc/pb2nc.cc
And then recompile MET.
Problem: When passing multiple input PREPBUFR files to PB2NC compiled with PGI using the -pbfile command line opti 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/src/pb2nc/Makefile
Update: METv3.0/src/pb2nc/pb2nc.cc
ADD NEW: METv3.0/src/pb2nc/closepb.f
And then recompile MET.
Problem: When verifying generic level type data (e.g. "RH/L1") against a surface observation message type (e.g. "ADPSFC"), Point-Stat was finding zero matched pairs.
Solution: The fix is to no longer enforce that the observation level value exactly match the forecast level value when verifying against surface observation message types. This makes the behavior in METv3.0 match that of METv2.0.
Update: METv3.0/lib/vx_met_util/pair_data.cc
And then recompile MET.
Problem: When Point-Stat is configured to read data for a single pressure level (e.g. "TT(0,5,*,*)") from the NetCDF output of the p_interp tool, it errors out.
Solution: The fix is to modify the library routine that extracts this data to allow a single field to be read.
Update: METv3.0/lib/vx_met_util/read_gridded_data.cc
And then recompile MET.
Problem: The code that parses model names from the MET output files is incorrectly interpreting model names beginning with "NA" (such as "NAM") as bad data values.
Solution: The fix is to modify the string comparison calls in several places.
Update: METv3.0/lib/vx_analysis_util/stat_line.cc
Update: METv3.0/lib/vx_analysis_util/mode_line.cc
Update: METv3.0/lib/vx_util/threshold.cc
Update: METv3.0/src/stat_analysis/stat_analysis_job.cc
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.
Copyright © 2024. All rights reserved.