2. MET Release Information

2.1. 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.

2.1.1. MET Version 11.1.1 release notes (20240621)

Bugfixes
  • Bugfix: Refine support for coordinate dimensions in CF-compliant NetCDF files (#2638).

  • Bugfix: Fix support for NSIDC v4 Climate Data Record data on Polar Stereographic grids in CF-compliant NetCDF files (#2652).

  • Bugfix: Fix the Point-Stat CNT header line typo causing duplicate SI_BCL column names (#2730).

  • Bugfix: Fix MET to compile without the optional –enable-python configuration option (#2760).

  • Bugfix: Fix the parsing of level values for GRIB2 template 4.48 data (#2782).

  • Bugfix: Fix the TC-Diag and TC-RMW tools to correctly handle the range and azimuth settings in range/azimuth grids (#2833).

  • Bugfix: Fix TC-RMW to correct the tangential and radial wind computations (#2841).

  • Bugfix: Fix Ensemble-Stat’s handling of climo data when verifying ensemble-derived probabilities (#2856).

  • Bugfix: Update the logic of -qc option for ADP at point2grid (#2867).

  • Bugfix: Some AOD data was filtered out without -qc option with point2grid (#2884).

  • Bugfix: Fix inconsistent handling of point observation valid times processed through Python embedding (#2897).

  • Bugfix: Fix PBL derivation bug in main_v11.1 by porting over fix from develop (#2902).

Enhancements
  • Eliminate the use of temporary files in the vx_config library (#2691).

  • Enhance Point2Grid to support modified quality control settings for smoke/dust AOD data in GOES-16/17 as of April 16, 2024 (#2853).

2.1.2. MET Version 11.1.0 release notes (20230731)

Repository, build, and test
  • Add modulefiles for supported systems to the repository (#2415).

  • Add LICENSE.md to the repository (#2461).

  • Update the copyright year to 2023 and increase the version number to 11.1.0 (#2469).

  • Enhance compile_MET_all.sh to allow the user to specify the compiler and Python versions to load (#2485).

  • Enhance compile_MET_all.sh to include the library/app name in the log filename (#2540).

  • Add free_disk_space.sh script to the MET repository (#2597).

Documentation
  • Enhance the Release Notes by adding dropdown menus (#2146).

  • Improve documentation on Python Embedding for point observations (#2303).

  • Create dropdown menus for Appendix A (#2460).

  • Clarify MET Compile Time Python requirements (#2490).

  • Update the documentation for the HSS and HSS_EC statistics (#2492).

  • Update the documentation for the ens, NEP, and NMEP configuration options (#2513).

  • Revise TC-Diag documentation for version 11.1.0 (#2558).

Bugfixes
  • Bugfix: Fix the MET CF-Compliant NetCDF library code to Polar Stereographic data from NSIDC Sea Ice Edge NetCDF files (#2218).

  • Bugfix: Remove override keyword to avoid C++11 dependency (#2380).

  • Bugfix: Fix ASCII2NC to not compute AOD 550 if other inputs are negative values (#2383).

  • Bugfix: Fix PB2NC to report accurate total observation counts in log messages (#2387).

  • Bugfix: Update the MET flowchart for version 11.0.0 (#2389).

  • Bugfix: Fix issues with the met_compile_all.sh script and associated tar files (#2390).

  • Bugfix: Correct definitions of NCEP grid numbers 172 and 220 (#2399).

  • Bugfix: Correct the branch name for the SonarQube scanning nightly (#2401).

  • Bugfix: Address MET-11.0.0 SonarQube Blocker Bugs (#2402).

  • Bugfix: Refine fix for handling empty configuration files (#2408).

  • Bugfix: Fix time interpolation of monthly climatology data between December 15 and January 15 (#2412).

  • Bugfix: Fix ASCII2NC to handle missing NDBC buoy location information (#2426).

  • Bugfix: Fix the MET vx_pointdata_python library to handle MET_PYTHON_EXE for python embedding of point observations (#2428).

  • Bugfix: Refine the regrid dictionary’s data conversion and censoring operations and fix climo time matching logic for a single monthly climo file (#2437).

  • Bugfix: Fix the creation of the MET User’s Guide PDF (#2449).

  • Bugfix: Fix inconsistent ASCII2NC AIRNOW location lookup logic (#2452).

  • Bugfix: Fix support for the YYYYMMDD format in NetCDF level timestrings (#2482).

  • Bugfix: AERONET the lat/lon is not changed with different station ID (#2493).

  • Bugfix: Fix the Clang compilation of MET version 11 (#2514).

  • Bugfix: dtype in Python embedding example script and appendixF correction (#2518).

  • Bugfix: Fix the fill value setting used in the write_tmp_dataplane internal Python embedding script (#2525).

  • Bugfix: Resolve compilation problems due to need for -std=c++11 (#2531).

  • Bugfix: Fix the TC-Stat RIRW runtime error when computing CTS statistics from an empty contingency table (#2542).

  • Bugfix: Refine support for LAEA grids via NetCDF and GRIB2 files (#2565).

  • Bugfix: Fix logic for Python embedding with data censoring and/or conversion (#2575).

  • Bugfix: Fix reading of upside-down CF-compliant NetCDF Rotated Lat/Lon data (#2578).

  • Bugfix: Unknown ld Flag on Macos causes MET compilation to fail (#2596).

  • Bugfix: Problem compiling MET on MacOS using GCC 12.3.0 (#2615).

Enhancements
SonarQube
  • SonarQube: Further reduce bugs for MET-11.1.0-beta2 (#2474).

  • SonarQube: Replace all instances of NULL with nullptr (#2504).

  • SonarQube: Remove code that will never be executed (#2506).

  • SonarQube: Further reduce findings for MET-11.1.0-rc1 (#2521).

Python Embedding
  • Convert the python list to the numpy array for the python embedding at the base class (#2386).

  • Refine Python runtime environment (#2388).

  • Upgrade to using Python 3.10.4 (#2421).

  • Enhance the MET point processing tools to read the Python ‘point_data’ variable instead of just ‘met_point_data’ (#2285).

Common Libraries
  • Add support for the Lambert Azimuthal Equal Area grids (#1693).

  • Update the default ASCII2NC message_type_map configuration option for Little R input data (#2487).

  • Merge older and newer MRMS GRIB2 table files (#2508).

Application Code
  • Enhance Gen-Vx-Mask shapefile masking to support multiple shapes and specify shape metadata (#1060).

  • Enhance Multivariate MODE to generate object statistics for each input field requested by the user (#1283).

  • Update NDBC locations prior to the MET-11.1.0 release (#2511).

  • Enhance MODE to bound check interest_function corner points in the range 0 to 1 (#2545).

Tropical Cyclone Tools
  • Create an initial development version of a new TC-Diag tool to support the computation of tropical cyclone diagnostics (#2168).

  • Enhance TC-Stat to write the RIRW job CTC/CTS output to a .stat output file (#2425).

  • Enhance TC-Pairs to disable the output of consensus track members (#2429).

  • Enhance TC-RMW to reorder the dimensions of the NetCDF output to store the gridded dimensions last (#2523).

  • Enhance TC-Pairs to derive the full circle wind radius from the wind radius quadrants (#2532).

  • Enhance TC-Gen to parse GTWO shapefile lead times from the data rather than assuming them to be 2, 5, and 7 days (#2552).

2.1.3. MET Version 11.0.0 release notes (20221209)

Repository, build, and test
  • Restructure the contents of the MET repository so that it matches the existing release tarfiles (#1920).

  • Add initial files to create the MET compilation environment in the dtcenter/met-base Docker image (dtcenter/METbaseimage#1).

  • Restructure the MET Dockerfiles to create images based on the new METbaseimage (#2196).

  • Enhance METbaseimage to support NetCDF files using groups in the enhanced data model (dtcenter/METbaseimage#6).

  • Add .zenodo.json file to add metadata about releases (#2198).

  • Update the SonarQube version used for routine software scans (#2270).

  • Fix OpenMP compilation error for GCC 9.3.0/9.4.0 (#2106).

  • Fix oom() compile time linker error (#2238).

  • Fix MET-11.0.0-beta3 linker errors (#2281).

  • Fix GHA documentation workflow (#2282).

  • Fix GHA warnings and update the version of actions (i.e. actions/checkout@v3) (#2297).

Documentation
  • Create outline for the MET Contributor’s Guide (#1774).

  • Document PB2NC’s handling of quality markers (#2278).

  • Move release notes into its own chapter in the User’s Guide (#2298).

Bugfixes
  • Fix regression test differences in pb2nc and ioda2nc output (#2102).

  • 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).

  • Fix Stat-Analysis to aggregate the ECNT ME and RMSE values correctly (#2170).

  • Fix NetCDF library code to process scale_factor and add_offset attributes independently (#2187).

  • Fix Ensemble-Stat to work with different missing members for two or more variables (#2208).

  • Fix truncated station_id name in the output from IODA2NC (#2216).

  • Fix Stat-Analysis aggregation of the neighborhood statistics line types (#2271).

  • Fix Point-Stat and Ensemble-Stat GRIB table lookup logic for python embedding of point observations (#2286).

  • Fix ascii2nc_airnow_hourly test in unit_ascii2nc.xml (#2306).

  • Fix TC-Stat parsing of TCMPR lines (#2309).

  • Fix ASCII2NC logic for reading AERONET v3 data (#2370).

Enhancements
NetCDF
  • Enhance MET’s NetCDF library interface to support level strings that include coordinate variable values instead of just indexes (#1815).

  • Enhance MET to handle NC strings when processing CF-Compliant NetCDF files (#2042).

  • Enhance MET to handle CF-compliant time strings with an offset defined in months or years (#2155).

  • Refine NetCDF level string handling logic to always interpret @ strings as values (#2225).

GRIB
  • Add support for reading National Blend Model GRIB2 data (#2055).

  • Update the GRIB2 MRMS table in MET (#2081).

METplus-Internal
Common Libraries
  • Define new grid class to store semi-structured grid information (e.g. lat or lon vs level or time) (#1954).

  • Refine warning/error messages when parsing thresholds (#2211).

  • Remove namespace specification from header files (#2227).

  • Update MET version number to 11.0.0 (#2132).

  • Store unspecified accumulation interval as 0 rather than bad data (#2250).

  • Add sanity check to error out when both is_u_wind and is_v_wind are set to true (#2357).

Statistics
  • Add Anomaly Correlation Coefficient to VCNT Line Type (#2022).

  • Allow 2x2 HSS calculations to include user-defined EC values (#2147).

  • Add the fair CRPS statistic to the ECNT line type in a new CRPS_EMP_FAIR column (#2206).

  • Add MAE to the ECNT line type from Ensemble-Stat and for HiRA (#2325).

  • Add the Mean Absolute Difference (SPREAD_MD) to the ECNT line type (#2332).

  • Add new bias ratio statistic to the ECNT line type from Ensemble-Stat and for HiRA (#2058).

Configuration and masking
  • Define the Bukovsky masking regions for use in MET (#1940).

  • Enhance Gen-Vx-Mask by adding a new poly_xy masking type option (#2152).

  • Add M_to_KFT and KM_to_KFT functions to ConfigConstants (#2180).

  • Update map data with more recent NaturalEarth definitions (#2207).

Point Pre-Processing Tools
  • Enhance IODA2NC to support IODA v2.0 format (#2068).

  • Add support for EPA AirNow ASCII data in ASCII2NC (#2142).

  • Add a sum option to the time summaries computed by the point pre-processing tools (#2204).

  • Add “station_ob” to metadata_map as a message_type metadata variable for ioda2nc (#2215).

  • Enhance ASCII2NC to read NDBC buoy data (#2276).

  • Print ASCII2NC warning message about python embedding support not being compiled (#2277).

Point-Stat, Grid-Stat, Stat-Analysis
  • Add support for point-based climatologies for use in SEEPS (#1941).

  • Enhance Point-Stat to compute SEEPS for point observations and write new SEEPS and SEEPS_MPR STAT line types (#1942).

  • Enhance Grid-Stat to compute SEEPS for gridded observations and write the SEEPS STAT line type (#1943).

  • Sort mask.sid station lists to check their contents more efficiently (#1950).

  • Enhance Stat-Analysis to aggregate SEEPS_MPR and SEEPS line types (#2339).

  • Relax Point-Stat and Ensemble-Stat logic for the configuration of message_type_group_map (#2362).

  • Fix Point-Stat and Grid-Stat logic for processing U/V winds with python embedding (#2366).

Ensemble Tools
  • Remove ensemble post-processing from the Ensemble-Stat tool (#1908).

  • Eliminate Gen-Ens-Prod warning when parsing the nbhrd_prob dictionary (#2224).

Tropical Cyclone Tools
  • Enhance TC-Pairs to read hurricane model diagnostic files (e.g. SHIPS) and TC-Stat to filter the new data (#392).

  • Enhance TC-Pairs consensus logic to compute the spread of the location, wind speed, and pressure (#2036).

  • Enhance TC-RMW to compute tangential and radial winds (#2072).

  • Refine TCDIAG output from TC-Pairs as needed (#2321).

  • Rename the TCDIAG SOURCE column as DIAG_SOURCE (#2337).

Miscellaneous
  • Enhance MTD to process time series with non-uniform time steps, such as monthly data (#1971).

  • Refine Grid-Diag output variable names when specifying two input data sources (#2232).

  • Add tmp_dir configuration option to the Plot-Point-Obs tool (#2237).

2.2. MET Upgrade Instructions

2.2.1. MET Version 11.1.0 upgrade instructions

  • If compiling support for PYTHON (Section 37.2), in addition to $MET_PYTHON_CC and $MET_PYTHON_LD, set $MET_PYTHON_BIN_EXE to specify the desired python executable to be used (#2428).

  • If running TC-Pairs to generate consensus tracks, update your TC-Pairs configuration file to include the new write_members option (#2429).

  • If using Python embedding for point observations, and the following lines of code are in your Python script please remove them and refactor your Python script following the instructions in the User’s Guide for Python embedding for point observations:

    from met_point_obs import convert_point_data
    ...
    met_point_data = convert_point_data(point_data)
    

2.2.2. MET Version 11.0.0 upgrade instructions

  • Ensemble post-processing has been fully removed from Ensemble-Stat in version 11.0.0. It can be performed using the Gen-Ens-Prod tool.