Retrieve all of the recommended updates for METv5.1 in a tarfile:
Problem:The Brier Skill Score included in the PSTD line type is being computed incorrectly. The equation, (BSf - BSc)/BSc, where BSf and BSc are the forecast and climatological Brier Scores, is missing a negative sign in the denominator.
Solution: The fix is to correct the equation as 1.0 - (BSf / BSc).
Update: met-5.1/src/libcode/vx_statistics/met_stats.cc
Problem:When both PostScript (ps_plot_flag) and NetCDF (nc_pairs_flag) output from MODE are disabled is the configuration file, the matching/merging logic is not applied. The result is an output object statistics file filled with 0 and NA values. This issue is caused by a spurious check in the processing logic.
Solution: The fix is to remove this check and apply the matching/merging logic requested by the user in the configuraiton file.
Update: met-5.1/src/tools/core/mode/mode_exec.cc
Problem: Passing a negative number for the -value command line option results in a parsing error from the CommandLine class.
Solution: The fix is to set a flag which enables the use of numbers on the command line.
Update: met-5.1/src/tools/other/gen_vx_mask/gen_vx_mask.cc
Problem: The MET vx_config library fails to close the input configuration file after parsing its contents. If called too many times, the maximum number of open files limit is eventually reached resulting in a runtime error. For example, using the -fcst_thresh, -obs_thresh, or -cov_thresh job filtering options for STAT-Analysis and passing it 66,000 lines to process will likely cause this error to occur.
Solution: The fix is to close each configuration file after it has been parsed.
Update: met-5.1/src/basic/vx_config/config_file.cc
Problem: STAT-Analysis writes equality-type thresholds to its output using a single equal sign (=) when it should use a double equal sign (==). The single equal sign (=) results in a parsing error if passed back to STAT-Analysis as input.
Solution: The fix is to update the equality-type string constant.
Update: met-5.1/src/basic/vx_config/threshold.h
Problem: When using the fcst_thresh, obs_thresh, or cov_thresh filtering options for STAT-Analysis, passing input data which contains a comma-separated list of thresholds in the corresponding header columns results in a parsing error. The implementation of thresholds was updated in version 5.1 to support much more flexible thresholding logic but this use case was overlooked.
Solution: The fix is to update STAT-Analysis as follows. First, parse the contents of the FCST_THRESH, OBS_THRESH, and COV_THRESH columns into arrays of thresholds rather than using the single threshold data type. Parse the columns as comma-separated lists of thresholds. Second, if the column contains a single threshold, check that the threshold is in the list specified by the user. If the column contains multiple thresholds, check that it exactly matches the list specified by the user. Third, update the threshold equality logic to check that both the threshold type and values match.
Update: met-5.1/src/libcode/vx_analysis_util/stat_line.h
Update: met-5.1/src/libcode/vx_analysis_util/stat_line.cc
Update: met-5.1/src/libcode/vx_analysis_util/stat_job.cc
Update: met-5.1/src/basic/vx_config/threshold.cc
Problem: The definitions of NCEP grids 236 and 237 were incorrect in the vx_grid library. Reference longitude values were defined in degrees east while the vx_grid library was expecting degrees west. This caused the grids to be defined on the wrong side of the globe.
Solution: The fix is to updated the definition of grids 236 and 237.
Update: met-5.1/src/libcode/vx_grid/find_grid_by_name.cc
Problem: The vx_grid library fails to rescale one of the reference longitude values prior to using it in the Lambert Conformal grid computations.
Solution: The fix is to put all longitude values into a standard prior to computing the Lambert Conformal grid parameters.
Update: met-5.1/src/libcode/vx_grid/lc_grid.cc
Problem: The code which computes along and cross-track errors does not handle tracks straddling the international date line correctly. The resulting errors can be extremly large.
Solution: The fix is to check for this condition and rescale the longitudes from (-180, 180) to (0, 360) which results in correct along and cross-track error values.
Update: met-5.1/src/tools/tc_utils/tc_pairs/tc_pairs.cc
Problem: Code streamlining in the met-5.1 release inadventently broke the ability of MODE-Analysis to search directories specified using the "-lookin" command line option for MODE output files ending with "_obj.txt".
Solution: The fix is to update the logic in the MET library code to successfully find files ending with "_obj.txt".
Update: met-5.1/src/basic/vx_util/get_filenames.cc
Problem: When processing gridded NetCDF data, the MET tools write the level information in the output FCST_LEV and/or OBS_LEV columns as strings containg commas, such as "0,*,*". Passing these files to STAT-Analysis and using the -fcst_lev and/or -obs_lev options to specify values for these columns is problematic since STAT-Analysis processes strings as comma-separated lists. Multiple values are separated by commas.
Solution: When processing strings as a comma-separated lists, add a special case to check for the presence of the string "*,*". If present, do not split the string by commas.
Update: met-5.1/src/basic/vx_log/string_array.cc
Problem: For CF-compliant NetCDF files, MET parses the model initialization time from the "forecast_reference_time" variable. However, it assumes the units to be unixtime (seconds since January 1, 1970).
Solution: Parse the "units" attribute from the "forecast_reference_time" variable and use them to set the model initialization time correctly.
Update: met-5.1/src/libcode/vx_data2d_nccf/nccf_file.cc
Problem: The definition of NCEP Grid 224 (65 x 65 Southern Polar Sterographic) in the MET software is not correct.
Solution: Correct the definition to match NCEP's usage.
Update: met-5.1/src/libcode/vx_grid/find_grid_by_name.cc
Problem: The Ensemble-Stat tool is computing CRPSS incorrectly. It is computing the forecast CRPS value correctly but computing the climatological CRPS value wrong which results in an incorrect CRPSS value. Also, the Stat-Analysis tool is not aggregating CRPSS across multiple cases and just writes NA to the output. It fails to compute CRPSS when aggregating multiple RHIST lines together and when converting input ORANK lines to an output RHIST line.
Solution: Correct the computataion of the climatological CRPS value and thus CRPSS. Also enhance Stat-Analysis to parse CRPS and CRPSS from each RHIST line. Use those values to back out the climatological CRPS value and aggregate both the forecast and climatological CRPS values over multiple RHIST lines as weighted averages. Lastly, compute an aggregated CRPSS value using those weighted averages. The fixes for this bug affect many files.
Update: met-5.1/src/tools/core/ensemble_stat/ensemble_stat.cc
Update: met-5.1/src/libcode/vx_stat_out/stat_columns.cc
Update: met-5.1/src/libcode/vx_statistics/pair_data_ensemble.h
Update: met-5.1/src/libcode/vx_statistics/pair_data_ensemble.cc
Update: met-5.1/src/tools/core/stat_analysis/stat_analysis_job.cc
Update: met-5.1/src/tools/core/stat_analysis/parse_stat_line.cc
Update: met-5.1/src/tools/core/stat_analysis/aggr_stat_line.h
Update: met-5.1/src/tools/core/stat_analysis/aggr_stat_line.cc
Problem: The user's guide incorrectly describes this value as the object intersection area divided by the union area.
Solution: Correct the definition as the intersection area divided by the minimum of the forecast and observation object areas.
Update: met-5.1/doc/MET_Users_Guide.pdf
Problem: The output of the modis_regrid tool is computed as the average of the input MODIS values falling within each grid box. However, it fails to check for bad data values (-9999) and includes them in the computation of the average. This produces incorrect results along the edge of the valid MODIS data.
Solution: The fix is to check for bad data and only compute output values when all MODIS values falling within the grid box are valid.
Update: met-5.1/src/tools/other/modis_regrid/data_averager.cc
Problem: MET currently only supports Lambert Conformal and Polar Stereographic grids with identical X and Y spacing. When passed a GRIB1 or GRIB2 file where Dx != Dy, MET silently uses the Dx value which produces unexpected results.
Solution: The temporary fix is adding a warning message when this situation is detected. However, support for Lambert Conformal and Polar Stereographic grids with Dx != Dy will be added in the next release.
Update: met-5.1/src/libcode/vx_data2d_grib/grib_utils.cc
Update: met-5.1/src/libcode/vx_data2d_grib2/data2d_grib2.cc
Problem: The madis2nc tool is not checking the fill value when reading observation valid times. Running certain MESONET files which use the fill value through madis2nc results in this error:
NetCDF: Start+count exceeds dimension bound
Solution: The fix is the check the fill value and skip any observations whose time is set to that value.
Update: met-5.1/src/tools/other/madis2nc/madis2nc.cc
Problem: When creating PostScript output, MODE assigns colors to indicate matching objects between the forecast and observed fields. When the number of colors required exceeds the number of object colors defined in the object color table, MODE should print a warning message and wrap the color table. Instead, it is printing an erroneous warning message and not properly wrapping the colors.
Solution: The fix is to apply the correct color wrapping logic.
Update: met-5.1/src/libcode/vx_shapedata/engine.cc
Update: met-5.1/src/tools/core/mode/mode_ps_file.cc
Copyright © 2024. All rights reserved.