MET Release Notes

When applicable, release notes are followed by the GitHub issue number which describes the bugfix, enhancement, or new feature (MET GitHub issues). Important issues are listed in bold for emphasis.

MET Version 10.1.2 release notes (20220516)

  • Bugfixes:

    • Update static arrays with hard-coded size (METplus-Internal #14).

    • Fix TC-Gen to only count misses from requested initialization hours and lead times (#2148).

MET Version 10.1.1 release notes (20220419)

  • Bugfixes:

    • Fix support for reading rotated lat/lon grids from CF-compliant NetCDF files (#2115).

    • Fix support for reading rotated lat/lon grids from GRIB1 files (grid type 10) (#2118).

    • Fix support for int64 NetCDF variable types (#2123).

MET Version 10.1.0 release notes (20220314)

  • Repository and build:

    • Installation:

      • Enhance the MET compilation script and its documentation (#1395).

    • Static Code Analysis:

      • Automate calls to the SonarQube static code analysis tool in the nightly build (#2020).

      • Fix Fortify High finding for src/libcode/vx_data2d_nccf/nccf_file.cc (#1795).

      • Fix the findings from SonarQube (#1855).

      • Reduce the Security hotspots from SonarQube (#1903).

      • Address findings from the Cppcheck code analysis tool (#1996).

    • Testing:

      • Review and revise the warning messages when running the MET unit tests (#1921).

      • Investigate nightly build output wind direction differences caused by machine precision (#2027).

      • Modify plot_tcmpr.R script to support plotting of extra-tropical cyclone tracks not verified against BEST tracks (#1801).

      • Fix failure in plot_tcmpr.R script when a directory is passed in with -lookin (#1872).

    • Continuous Integration:

      • Implement Continuous Integration with GitHub Actions in MET (#1546).

      • Treat warnings from the documentation as errors to facilitate continuous integration with GHA (#1819).

  • Documentation:

    • Create and publish a PDF of the MET User’s Guide via Read-The-Docs (#1453).

    • Enhance the MET documentation to follow the standard for sections (#1998).

    • Add anchors to link directly to configuration items in the MET User’s Guide (#1811).

    • Update FAQ in User’s Guide with info from webpage FAQ (#1834).

    • Document the statistics from the RPS line type in Appendix C (#1853).

    • Enhance the documentation with meta-data that is expected by MET for netCDF (#1949).

    • Update documentation to reference GitHub Discussions instead of MET Help (#1833).

    • Fix broken URLs in default MET config files (#1864).

  • Library code:

    • Bugfixes:

      • Add check for the start offset and data count are valid before calling NetCDF API (#1852).

      • Fix the MET library code to correclty parse timing information from Grid-Stat NetCDF matched pairs output files (#2040).

      • Fix bug with the incrementing of numbers in temporary file names (#1906).

    • Python embedding enhancements:

      • Enhance Ensemble-Stat, Point-Stat, Plot-Point-Obs, and Point2Grid to support python embedding of point observations (#1844).

      • Fix python embedding when using a named grid with MET_PYTHON_EXE set (#1798).

    • Miscellaneous:

      • Enhance MET to use point observations falling between the first and last columns of a global grid (#1823).

      • Support percentile thresholds for frequency bias not equal to 1 (e.g. ==FBIAS0.9) (#1761).

      • Reimplement the NumArray class based on an STL template (#1899).

      • Modify the interpretation of the message_type_group_map values to support the use of regular expressions (#1974).

      • Sort files read from directories to provide consistent behavior across platforms (#1989).

      • Print warning message for fields that contain no valid data (#1912).

      • Update error messages to redirect users from the MET-Help desk to METplus Discussions (#2054).

      • Update the copyright year of the source code to 2022 (#2013).

    • NetCDF library:

      • Implement a common API for reading and writing the common NetCDF point observation file format (#1402 and #1581).

      • Enhance the MET library code to read Rotated Lat/Lon data from CF-compliant NetCDF files (#1055).

    • Statistics computations:

      • Add Scatter Index to the CNT line type (#1843).

      • Add the HSS_EC statistic to the MCTS line type and a configurable option for its computation (#1749).

  • Application code:

    • ASCII2NC Tool:

      • Fix ASCII2NC to check the return status when reading ASCII input files (#1957).

    • Ensemble-Stat Tool:

      • Enhance Ensemble-Stat to compute probabilistic statistics for user-defined or climatology-based thresholds (#1259).

      • Enhance Ensemble-Stat to apply the HiRA method to ensembles (#1583 and #2045).

      • Enhance Ensemble-Stat and Gen-Ens-Prod to read all ensemble members from a single input file (#1695).

      • Add logic to Ensemble-Stat to handle an ensemble control member (#1905).

      • Enhance Ensemble-Stat and Gen-Ens-Prod to error out if the control member also appears in the list of ensemble members (#1968).

      • Add Point-Stat and Ensemble-Stat obs_quality_exc configuration option to specify which quality flags should be excluded (#1858).

      • Print a warning message about switching from Ensemble-Stat to Gen-Ens-Prod (#1907).

      • Fix failure of Ensemble-Stat when verifying against gridded ECMWF GRIB1 files (#1879).

    • Gen-Ens-Prod Tool (NEW):

      • Create the new Gen-Ens-Prod tool for ensemble product generation (#1904).

      • Enhance Ensemble-Stat and Gen-Ens-Prod to read all ensemble members from a single input file (#1695).

      • Enhance Gen-Ens-Prod to standardize ensemble members relative to climatology (#1918).

    • Gen-Vx-Mask Tool:

      • Refine logic to prevent rounding shapefile points to the nearest grid point (affects GenVxMask -type shape masks) (#1810).

      • Change -type for Gen-Vx-Mask from an optional argument to a required one (#1792).

      • Fix Gen-Vx-Mask to handle named grids and grid specification strings for -type grid (#1993).

      • Fix Gen-Vx-Mask so that the -input_field and -mask_field options are processed independently (#1891).

    • Grid-Diag Tool:

      • Fix integer overflow in Grid-Diag (#1886).

    • Grid-Stat Tool:

      • Enhance Grid-Stat to use OpenMP for efficient computation of neighborhood statistics by setting $OMP_NUM_THREADS (#1926).

      • Add G and G-Beta to the DMAP line type from Grid-Stat (#1673).

      • Fix Point-Stat and Grid-Stat to write VCNT output even if no VL1L2 or VAL1L2 output is requested (#1991).

    • IODA2NC Tool:

      • Fix IODA2NC to handle the same input file being provided multiple times (#1965).

      • Fix IODA2NC bug rejecting all input observations in unit tests (#1922).

    • MADIS2NC Tool:

      • Enhance MADIS2NC to handle the 2016 updates to its format (#1936).

      • Fix MADIS2NC to correctly parse MADIS profiler quality flag values (#2028).

    • MODE Tool:

      • Add support for Multi-Variate MODE (#1184).

    • MTD Tool:

      • Fix MTD to compute the CDIST_TRAVELLED value correctly (#1976).

    • PB2NC Tool:

      • Enhance PB2NC to derive Mixed-Layer CAPE (MLCAPE) (#1824).

      • Enhance the PBL derivation logic in PB2NC (#1913).

      • Update the PB2NC configuration to correct the obs_prefbufr_map name as obs_prepbufr_map (#2044).

      • Add entries to the default obs_prepbufr_map setting (#2070).

      • Fix PB2NC to better inventory BUFR input data when processing all variables (#1894).

      • Fix PB2NC to reduce redundant verbosity level 3 log messages (#2015).

      • Resolve PB2NC string truncation warning messages (#1909).

    • Point2Grid Tool:

      • Enhance Point2Grid to support double type latitude/longitude variables (#1838).

      • Fix the output of Point2Grid which is flipped and rotated with lat/lon to lat/lon conversion (#1817).

    • Point-Stat Tool:

      • Add ORANK line type to the HiRA output from Point-Stat (#1764).

      • Add Point-Stat and Ensemble-Stat obs_quality_exc configuration option to specify which quality flags should be excluded (#1858).

      • Fix Point-Stat and Grid-Stat to write VCNT output even if no VL1L2 or VAL1L2 output is requested (#1991).

    • Series-Analysis Tool:

      • Enhance Series-Analysis to compute the BRIERCL statistic from the PSTD line type (#2003).

    • Stat-Analysis Tool:

      • Enhance Stat-Analysis to compute the CBS Index (#1031).

      • Enhance Stat-Analysis to write the GO Index and CBS Index into a new SSIDX STAT line type (#1788).

      • Modify the STAT-Analysis GO Index configuration file (#1945).

      • Fix Stat-Analysis skill score index job which always writes a dump row output file (#1914).

      • Fix consumption of too much memory by Stat-Analysis (#1875).

    • TC-Gen Tool:

      • Enhance TC-Gen to verify genesis probabilities from ATCF e-deck files (#1809).

      • Enhance TC-Gen to verify NHC tropical weather outlook shapefiles (#1810).

    • TC-Pairs Tool:

      • Enhance TC-Pairs to only write output for a configurable list of valid times (#1870).

    • TC-Stat Tool:

      • Fix TC-Stat event equalization logic to include any model name requested using -amodel (#1932).

    • Wavelet-Stat Tool:

      • Make the specification of a binary threshold in Wavelet-Stat optional (#1746).

MET Version 10.0.0 release notes (20210510)

  • Repository and build:

    • Migrate GitHub respository from the NCAR to DTCenter organization (#1462).

    • Switch to consistent vX.Y.Z version numbering, from v10.0 to v10.0.0 (#1590).

    • Switch from tagging releases as met-X.Y.Z to vX.Y.Z instead (#1541).

    • Add a GitHub pull request template (#1516).

    • Resolve warnings from autoconf (#1498).

    • Restructure nightly builds (#1510).

    • Update the MET unit test logic by unsetting environment variables after each test to provide a clean environment for the next (#1624).

    • Run the nightly build as the shared met_test user (#1116).

    • Correct the time offset for tests in unit_plot_data_plane.xml (#1677).

    • Enhance the sample plotting R-script to read output from different versions of MET (#1653).

    • Update the default configuration options to compile the development code with the debug (-g) option and the production code without it (#1778).

    • Update MET to compile using GCC version 10 (#1552).

    • Update MET to compile using PGI version 20 (#1317).

  • Documentation:

    • Migrate the MET documentation to Read the Docs (#1649).

    • Enhance and update documentation (#1459 and #1460, and #1731).

    • Enhance the python embedding documentation (#1468).

    • Document the supported grid definition templates (#1469).

    • Update comments at the top of each MET config file directing users to the MET User’s Guide (#1598).

    • Migrate content from README and README_TC in data/config to the MET User’s Guide (#1474).

    • Add version selector to the Sphinx documentation page (#1461).

    • Make bolding consistent across the documentation (#1458).

    • Implement hanging indents for references (#1457).

    • Correct typos and spelling errors (#1456).

    • Update the Grid-Diag documentation to clarify the -data command line option (#1611).

    • Documentation updates to correct typos and apply consistent formatting (#1455).

    • Correct the definition of H_RATE and PODY in MET User’s Guide Appendix C (#1631).

  • Library code:

    • Bugfixes:

      • Apply the GRIB ensemble filtering option (GRIB_ens) whenever specified by the user (#1604).

      • Fix the set_attr_accum option to set the accumulation time instead of the lead time (#1646).

      • Fix ASCII file list parsing logic (#1484 and #1508).

      • Fix parsing error for floating point percentile thresholds, like “>SFP33.3” (#1716).

    • Python embedding enhancements:

      • Note that the netCDF4 Python package is now required in place of the pickle package!

      • Replace the pickle format for temporary python files with NetCDF for gridded data (#1319, #1697).

      • Replace the pickle format for temporary python files with ASCII for point observations in ascii2nc and matched pair data in Stat-Analysis (#1319, #1700).

      • Complete support for Python XArray embedding (#1534).

      • Treat gridded fields of entirely missing data as missing files and fix python embedding to call common data processing code (#1494).

      • Clarify error messages for Xarray python embedding (#1472).

      • Add support for Gaussian grids with python embedding (#1477).

      • Correct error messages from python embedding (#1473).

      • Enhance to support the “grid” being defined as a named grid or specification string (#1471).

      • Enhance to parse python longlong variables as integers to make the python embedding scripts less particular (#1747).

      • Fix the read_ascii_mpr.py python embedding script to pass all 37 columns of MPR data to Stat-Analysis (#1620).

      • Fix the read_tmp_dataplane.py python embedding script to handle the fill value correctly (#1753).

    • Miscellaneous:

      • Enhance support for rotated latlon grids and update related documentation (#1574).

      • Parse the -v and -log options prior to application-specific command line options (#1527).

      • Update GRIB1/2 table entries for the MXUPHL, MAXREF, MAXUVV, and MAXDVV variables (#1658).

      • Update the Air Force GRIB tables to reflect current AF usage (#1519).

      • Enhance the DataLine::get_item() error message to include the file name, line number, and column (#1429). * Add support for climatological probabilities for complex CDP thresholds, like >=CDP33&&<=CDP67 (#1705).

      • Update the NCL-derived color tables (#1568).

    • NetCDF library:

      • Enhance to support additional NetCDF data types (#1492 and #1493).

      • Add support for the NetCDF-CF conventions time bounds option (#1657).

      • Extend CF-compliant NetCDF file support when defining the time dimension as a time string (#1755).

      • Error out when reading CF-compliant NetCDF data with incomplete grid definition (#1454).

      • Reformat and simplify the magic_str() printed for NetCDF data files (#1655).

      • Parse the “init_time” and “valid_time” attributes from MET NetCDF input files (#1346).

    • Statistics computations:

      • Modify the climatological Brier Score computation to match the NOAA/EMC VSDB method (#1684).

      • Add support for the Hersbach CRPS algorithm by add new columns to the ECNT line type (#1450).

      • Enhance MET to derive the Hersbach CRPSCL_EMP and CRPSS_EMP statistics from a single deterministic reference model (#1685).

      • Correct the climatological CRPS computation to match the NOAA/EMC VSDB method (#1451).

      • Refine log messages when verifying probabilities (#1502).

  • Application code:

    • ASCII2NC Tool:

      • Fix to handle bad records in little_r format (#1737).

      • Create empty output files for zero input observations instead of erroring out (#1630).

    • GIS Tools:

      • Fix memory corruption bug in the gis_dump_dbf utility which causes it to abort at runtime (#1777).

    • Grid-Diag Tool:

      • Fix bug when reading the same variable name from multiple data sources (#1694).

    • Grid-Stat Tool:

      • Add mpr_column and mpr_thresh configuration options to filter out matched pairs based on large fcst, obs, and climo differences (#1575).

      • Correct the climatological CDF values in the NetCDF matched pairs output files and correct the climatological probability values for climatgological distribution percentile (CDP) threshold types (#1638).

    • IODA2NC Tool (NEW):

      • Add the new ioda2nc tool (#1355).

    • MADIS2NC Tool:

      • Clarify various error messages (#1409).

    • MODE Tool:

      • Update the MODE AREA_RATIO output column to list the forecast area divided by the observation area (#1643).

      • Incremental development toward the Multivariate MODE tool (#1282, #1284, and #1290).

    • PB2NC Tool:

      • Fix intermittent segfault when deriving PBL (#1715).

    • Plot-Point-Obs Tool:

      • Overhaul Plot-Point-Obs to make it highly configurable (#213, #1528, and #1052).

      • Support regridding option in the config file (#1627).

    • Point2Grid Tool:

      • Support additional NetCDF point observation data sources (#1345, #1509, and #1511).

      • Support the 2-dimensional time variable in Himawari data files (#1580).

      • Create empty output files for zero input observations instead of erroring out (#1630).

      • Improve the Point2Grid runtime performance (#1421).

      • Process point observations by variable name instead of GRIB code (#1408).

    • Point-Stat Tool:

      • Add mpr_column and mpr_thresh configuration options to filter out matched pairs based on large fcst, obs, and climo differences (#1575).

      • Print the rejection code reason count log messages at verbosity level 2 for zero matched pairs (#1644).

      • Add detailed log messages when discarding observations (#1588).

      • Update log messages (#1514).

      • Enhance the validation of masking regions to check for non-unique masking region names (#1439).

      • Fix Point-Stat runtime error for some CF-complaint NetCDF files (#1782).

    • Stat-Analysis Tool:

      • Process multiple output thresholds and write multiple output line types in a single aggregate_stat job (#1735).

      • Skip writing job output to the logfile when the -out_stat option is provided (#1736).

      • Add -fcst_init_inc/_exc and -fcst_valid_inc/_exc job command filtering options to Stat-Analysis (#1135).

      • Add -column_exc job command option to exclude lines based on string values (#1733).

      • Fix Stat-Analysis failure when aggregating ECNT lines (#1706).

    • TC-Gen Tool:

      • Overhaul the genesis matching logic, add the development and operational scoring algorithms, and add many config file options (#1448).

      • Add config file options to filter data by initialization time (init_inc and init_exc) and hurricane basin (basin_mask) (#1626).

      • Add the genesis matched pair (GENMPR) output line type (#1597).

      • Add a gridded NetCDF output file with counts for genesis events and track points (#1430).

      • Enhance the matching logic and update several config options to support its S2S application (#1714).

      • Fix lead window filtering option (#1465).

    • TC-Pairs Tool:

      • Fix to report the correct number of lines read from input track data files (#1725).

      • Fix to read supported RI edeck input lines and ignore unsupported edeck probability line types (#1768).

    • TC-Stat Tool:

      • Add -column_exc job command option to exclude lines based on string values (#1733).