Retrieve all of the recommended updates for METv6.0 in a tarfile:
Problem: Unable to select a GRIB layer that falls within a larger layer which preceeds it in the file.
Solution: Update logic to search for an exact match for the request layer.
Update: met-6.0/src/libcode/vx_data2d_grib/data2d_grib.cc
Problem: GRIB2 level type of 101 for mean sea level pressure should also be considered a fixed level type.
Solution: Update the bugfix posted on 07/21/2017 to include 101.
Update: met-6.0/src/libcode/vx_data2d_grib2/data2d_grib2.cc
Problem: The madis2nc tool produces a segfault when processing large numbers of observations, particularly from METAR files. The logic for resetting an interal buffer was incorrect.
Solution: Correct the logic for handling the buffer.
Update: met-6.0/src/tools/other/madis2nc/madis2nc.cc
Problem: MET was unable to recognize decimal level values, such as 0.35 meters below ground. The scaling factor is listed in the GRIB2 record but MET fails to process it.
Solution: Enhance MET's GRIB2 library to process the scaling factor when parsing level values.
Update: met-6.0/src/libcode/vx_data2d/var_info.cc
Update: met-6.0/src/libcode/vx_data2d_grib2/data2d_grib2.cc
Problem: MET was unable to filter GRIB2 records based on the statistical processing type specified by Table 4.10.
Solution: The GRIB2_stat_type option was added to filter records.
Update: met-6.0/src/basic/vx_config/config_constants.h
Update: met-6.0/src/libcode/vx_data2d_grib2/data2d_grib2.h
Update: met-6.0/src/libcode/vx_data2d_grib2/data2d_grib2.cc
Update: met-6.0/src/libcode/vx_data2d_grib2/var_info_grib2.h
Update: met-6.0/src/libcode/vx_data2d_grib2/var_info_grib2.cc
Problem: MET fails to parse polar stereographic projections from CF-compliant NetCDF files.
Solution: Update the vx_data2d_nccf library to parse polar stereographic projections. Users encountering additional problems should contact met_help@ucar.edu.
Update: met-6.0/src/libcode/vx_data2d_nccf/nccf_file.cc
Problem: MET fails to apply the GRIB_lvl_typ configuration file filtering option when processing GRIB1 records.
Solution: Update the vx_data2d_grib library to only keep records matching the GRIB_lvl_typ value.
Update: met-6.0/src/libcode/vx_data2d_grib/data2d_grib_utils.cc
Problem: MET inspects lat,lon grids from NetCDF files which are written from north to south and reorients them from south to north. While it is flipping the grid definition, it fails to actually flip the data values south to north.
Solution: The fix is to update the vx_data_nccf to correctly flip the data along with the grid definition.
Update: met-6.0/src/libcode/vx_grid/grid_base.h
Update: met-6.0/src/libcode/vx_grid/grid_base.cc
Update: met-6.0/src/libcode/vx_data2d_nccf/nccf_file.cc
Problem: MET does not properly handle Mercator grid which cover more than 180 degrees of longitude but do not cover the full globe.
Solution: Update the Mecator grid code in the vx_grid library to correctly convert between grid x,y and lat,lon.
Update: met-6.0/src/libcode/vx_grid/merc_grid.h
Update: met-6.0/src/libcode/vx_grid/merc_grid.cc
Problem: MET fails to apply the GRIB_lvl_typ configuration file filtering option when processing GRIB2 records. There is also an issue in specifying the level value for fixed level types, such as the surface or tropopause level.
Solution: Update the vx_data2d_grib2 library to only keep records matching the GRIB_lvl_typ value, if specfied. Also, for fixed GRIB level types 1 through 10 (http://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_table4-5.shtml) explicitly set the level value to 0. In GRIB2 files from the Air Force, for these fixed level types, the level values are not explicitly set and instead contain a fill value of -2147483647. This change effectively resets that fill value to 0.
Update: met-6.0/src/libcode/vx_data2d_grib2/data2d_grib2.cc
Problem: Passing to Grid-Stat a climatology field that contains missing data for probabilistic verification results in a runtime error. Missing climatology data may be the result of using the automated regridding feature.
Solution: Enhance Grid-Stat to skip points containing bad climatology values.
Update: met-6.0/src/tools/core/grid_stat/grid_stat.cc
Problem: Requesting an accumulation interval greater than 999 results in a parsing error from PCP-Combine.
Solution: When PCP-Combine parses a timestring, interpret a number with 1 to 5 digits as hours and a number with 6 to 9 digits as hours followed by 2-digit minutes and 2-digit seconds.
Update: met-6.0/src/basic/vx_cal/time_strings.cc
Problem: The MetNcFile::open() member function fails to store the number of dimensions defined in the file. This causes an error when processing NetCDF variables defined with more than 2 dimensions.
Solution: Storing the number of file dimensions enables the rest of the class to process the data correctly, regardless of the number of variable dimensions.
Update: met-6.0/src/libcode/vx_data2d_nc_met/met_file.cc
Problem: Setting prob = TRUE; to indicate that a GRIB2 data field should be processed as probabilities does not work.
Solution: Update the GRIB2 logic for processing probabilities to make it consistent with the logic of GRIB1. Add a check for the presence of the prob setting as a boolean value.
Update: met-6.0/src/libcode/vx_data2d_grib2/data2d_grib2.cc
Update: met-6.0/src/libcode/vx_data2d_grib2/var_info_grib2.cc
Problem: Previous versions of MET printed a status message to indicate when the test scripts had completed but this is missing from the met-6.0 release.
Solution: Add the message back in
*** Finished Testing the Model Evaluation Tools Project ***
Update: met-6.0/scripts/Makefile
Problem: The GRIB2 GALWEM table contains a duplicate entry for APCP.
Solution: Remove the duplicate.
Update: met-6.0/data/table_files/grib2_galwem.txt
Problem: The logic for how/when to execute GRIB table lookups differs for GRIB1 and GRIB2. GRIB2 executes a table lookup prior to opening the data file which often leads to warnings about multiple matches.
Solution: In version 6.1 of MET, the GRIB1 and GRIB2 table lookup logic will be consistent. For now, simply change the multiple matches warnings to debug(3) message.
Update: met-6.0/src/libcode/vx_data2d/table_lookup.cc
Problem: The bilinear interoplation logic in MET does not handle the edge of the grid the same way that copygb and wgrib2 do. MET creates a strip of bad data values where copygb and wgrib2 have valid data.
Solution: Update the bilinear interpolation algorithm to match the output of copygb and wgrib2. When at the end of the grid, only apply bound checks to corner points which have a non-zero weight.
Update: met-6.0/src/basic/vx_util/interp_util.cc
Problem: In version 6.0 of MET, PB2NC was enhanced to write blocks of data to the output NetCDF file rather than writing messages one at a time. While much more efficient, this change introduced a fixed upper limit (128*1024) for the number of messages it could process. This led to corrupted output for large (i.e. global) PREPBUFR files.
Solution: Update PB2NC to write and then reset the buffer when full.
Update: met-6.0/src/basic/vx_config/config_util.cc
Update: met-6.0/src/tools/other/pb2nc/pb2nc.cc
Problem: Version 6.0 of MET uses the NetCDF4 library instead of the NetCDF3 library but introduces a bug in the processing of dimensions in MET NetCDF files. Processing MET NetCDF files with more than 2 dimensions may result in the following error message:
star found in bad slot
Solution: Fix the dimension indexing bug.
Update: met-6.0/src/libcode/vx_data2d_nc_met/met_file.cc
Copyright © 2024. All rights reserved.