Model Evaluation Tools (MET) | Download

Recommended - Components

Version Download Date

Development - Components

Version Download Date
MET 12.0.0-rc1 MET-12.0.0-rc1 User's Guide Existing Builds and Docker Release Notes

Other Releases

Accordion section

COMPONENTS

Version Download Date
MET 12.0.0-beta6 MET-12.0.0-beta6 User's Guide Existing Builds and Docker Release Notes
MET 12.0.0-beta5 MET-12.0.0-beta5 User's Guide Existing Builds and Docker Release Notes
MET 12.0.0-beta4 MET-12.0.0-beta4 User's Guide Existing Builds and Docker Release Notes
MET 12.0.0-beta3 MET-12.0.0-beta3 Users's Guide Existing Builds and Docker Release Notes
MET 12.0.0-beta2 MET-12.0.0-beta2 User's Guide Existing Builds and Docker Release Notes
MET 12.0.0-beta1 MET-12.0.0-beta1 User's Guide Existing Builds and Docker Release Notes
MET 11.0.3 MET-11.0.3 User's Guide Existing Builds and Docker Release Notes
MET 11.1.0 MET-11.1.0 User's Guide Existing Builds and Docker Release Notes
MET 11.0.2 MET-11.0.2 User's Guide Existing Builds and Docker Release Notes
MET 11.0.1 MET-11.0.1 User's Guide Existing Builds and Docker Release Notes
MET 11.0.0 MET-11.0.0 User's Guide Existing Builds and Docker Release Notes
MET 10.0.2 met-10.0.2.tar.gz User's Guide Existing Builds and Docker Release Notes
MET 10.1.2 met-10.1.2.tar.gz User's Guide Existing Builds and Docker Release Notes
MET 10.1.1 met-10.1.1.tar.gz User's Guide Existing Builds and Docker Release Notes
MET 10.1.0 met-10.1.0.tar.gz User's Guide Existing Builds and Docker Release Notes
MET 10.0.1 met-10.0.1.tar.gz User's Guide Existing Builds and Docker Release Notes
MET 10.0.0 met-10.0.0.tar.gz User's Guide Existing Builds and Docker Release Notes
MET 9.1.3 met-9.1.3.tar.gz User's Guide Existing Builds and Docker Release Notes
MET 9.1.2 met-9.1.2.tar.gz User's Guide Existing Builds and Docker Release Notes
MET 9.1.1 met-9.1.1.tar.gz User's Guide Existing Builds and Docker Release Notes
MET 9.1 met-9.1.tar.gz User's Guide Existing Builds and Docker Release Notes
9.0.3 met-9.0.3.tar.gz METplus-3.0.3 METviewer 3.0 MET User's Guide 9.0.3 Existing Builds and Docker Online Tutorial (v8.0) Release Notes
9.0.2 met-9.0.2.tar.gz METplus-3.0.2 METviewer 3.0 MET User's Guide 9.0.2 Existing Builds and Docker Online Tutorial (v8.0) Release Notes
9.0.1 met-9.0.1.tar.gz METplus-3.0 METviewer 3.0 MET User's Guide 9.0.1 Existing Builds Online Tutorial (v8.0) Release Notes
9.0 met-9.0.tar.gz METplus-3.0 METviewer 3.0 MET User's Guide 9.0 Existing Builds Online Tutorial (v8.0) Release Notes
8.1.2 met-8.1.2.tar.gz METplus-2.1.1 METviewer 2.10 MET User's Guide 8.1.2 Existing Builds Online Tutorial Release Notes
8.1.1 met-8.1.1.tar.gz METplus-2.1.1 METviewer 2.10 MET User's Guide 8.1.1 Existing Builds Online Tutorial Release Notes
8.1 met-8.1.tar.gz METplus-2.1 METviewer 2.10 MET User's Guide 8.1 Docker Container Existing Builds Online Tutorial Release Notes
8.0 met-8.0.tar.gz met-8.0_bugfix.tar.gz METplus-2.0.4 MET User's Guide 8.0 Docker Container Existing Builds Online Tutorial Release Notes | Known Issues
7.0 met-7.0.tar.gz met-7.0_bugfix.tar.gz MET User's Guide 7.0 Docker Container Existing Builds Online Tutorial Release Notes | Known Issues
6.1 met-6.1.tar.gz met-6.1_bugfix.tar.gz MET User's Guide 6.1 Docker Container Existing Builds Online Tutorial Release Notes | Known Issues
6.0 met-6.0.tar.gz met-6.0_bugfix.tar.gz MET User's Guide 6.0 Docker Container Existing Builds Online Tutorial Release Notes | Known Issues
5.2 met-5.2.tar.gz met-5.2_bugfix.tar.gz MET User's Guide 5.2 Existing Builds Online Tutorial Release Notes | Known Issues
5.1 met-5.1.tar.gz met-5.1_bugfix.tar.gz MET User's Guide 5.1 Release Notes | Known Issues
5.0 met-5.0.tar.gz MET User’s Guide 5.0 Online Tutorial Release Notes | Known Issues
4.1 METv4.1.tar.gz MET User’s Guide 4.1 Online Tutorial Release Notes | Known Issues
4.0 METv4.0.tar.gz MET User’s Guide 4.0 Online Tutorial Release Notes | Known Issues
3.1 METv3.1.tar.gz MET User’s Guide 3.1 Online Tutorial Release Notes | Known Issues
3.0.1 METv3.0.1.tar.gz MET User’s Guide 3.0.1 Online Tutorial Release Notes | Known Issues
3.0 METv3.0.tar.gz MET User’s Guide 3.0 Online Tutorial Release Notes | Known Issues
2.0 METv2.0.tar.gz MET User’s Guide 2.0 Online Tutorial Release Notes | Known Issues
1.1 METv1.1.tar.gz MET User’s Guide 1.1 Online Tutorial Release Notes | Known Issues

MET Software

Refer to the MET Existing Builds page (includes NCAR RAL machines and widely used HPCs at NCAR and NOAA). Alternatively, skip installing and building and access MET that is up and running in a Docker container.

If compiling from scratch, please see the compile scripts below.

Sample Script for Compiling External Libraries and MET

Create a directory to install this version of MET (e.g. MET-11.1.0).  Download the script, compile_MET_all.sh, and tar_files.tgz and place these files in the new directory.

Download compile_MET_all.sh and change the permissions to make it executable:

wget https://raw.githubusercontent.com/dtcenter/MET/main_v11.1/internal/scripts/installation/compile_MET_all.sh
chmod 775 compile_MET_all.sh

Download and unpack tar_files.tgz:

wget https://dtcenter.ucar.edu/dfiles/code/METplus/MET/installation/tar_files.tgz
tar -zxf tar_files.tgz

Change directories to enter the tar_files directory that was just created:

cd tar_files

Download the latest MET release (e.g. v11.1.0.tar.gz) from the Recommended download section above using a wget (or other) command and place it in the tar_files directory.

This compile_MET_all.sh script expects certain environment variables to be set: 
TEST_BASE, COMPILER, MET_SUBDIR, MET_TARBALL, and USE_MODULES.  

If compiling support for Python embedding, users will also need to set MET_PYTHON, MET_PYTHON_CC, and MET_PYTHON_LD.

An easy way to set these necessary environment variables is in an environment configuration file (for example, install_met_env.<machine_name>).  This script and example environment config files for various machines, including widely used HPCs at NCAR and NOAA, can be found in the MET GitHub repository in the scripts/installation directory.

USAGE:

compile_MET_all.sh install_met_env.<machine_name>

Environment variable descriptions:

TEST_BASE - Installation Directory (e.g. /d1/met/11.1.0)

COMPILER - format is compiler_version (e.g. gnu_8.3.0) (For the GNU family of compilers, use “gnu”; For the Intel family of compilers, use “intel”, “ics”, “ips” or other depending on your system; For the PGI family of compilers, use “pgi”)

MET_SUBDIR - location where top level MET subdir (MET-11.1.0) will be (e.g. ${TEST_BASE}/) installed

MET_TARBALL - name of MET tarball (e.g. v11.1.0.tar.gz))

USE_MODULES - set to FALSE if you’re on a machine that does not use modulefiles (https://en.wikipedia.org/wiki/Environment_Modules_(software)); set to TRUE if you’re on a machine that does use modulefiles

PYTHON_MODULE (only used if USE_MODULES=TRUE) - format is the name of the Python module to load followed by an underscore and then the version number (e.g. python_3.10.4, The script will then run "module load python/3.10.4")

MET_PYTHON - location containing the bin, include, lib and share directories for Python (e.g. /usr/local/python3)

MET_PYTHON_CC - -I followed by the directory containing Python includes (e.g. -I${MET_PYTHON}/include/python3.10) (You may be able to get this information by running python3-config --cflags)

MET_PYTHON_LD - -L followed by the directory containing Python library file, then a space and -l followed by the necessary Python libraries to link to (e.g. -L${MET_PYTHON}/lib/\ -lpython3.10\ -lpthread\ -ldl\ -lutil\ -lm or e.g. `python3-config --ldflags --embed`). The backslashes are necessary in the first example and the backticks are necessary in the second example. 

SET_D64BIT - set to FALSE if your version of the GRIB2C library was not compiled with the -D__64BIT__ option; set to TRUE if your version of the GRIB2C library was compiled with the -D__64BIT__ option; The __64BIT__ option should either be used for both or neither.  By default, compile_MET_all.sh will install the GRIB2C library without the -D__64BIT__ option.

MAKE_ARGS - users can speed up the compilation of MET and its dependent libraries by adding "export MAKE_ARGS=-j #" replacing the # with the number of cores to use (integer) or simply specifying "export MAKE_ARGS=-j" with no integer argument to start as many processes in parallel as possible.  

The compile_MET_all.sh script will compile and install MET and its external library dependencies, if needed, including: GSL, BUFRLIB, GRIB2C (with dependencies Z, PNG, JASPER), HDF5, NETCDF (C and CXX), HDF4 (optional for MODIS-Regrid and lidar2nc), HDFEOS (optional for MODIS-Regrid and lidar2nc), FREETYPE (optional for MODE Graphics), and CAIRO (optional  for MODE Graphics). 

If these libraries have already been installed and don’t need to be reinstalled, or if compiling on a machine that uses modulefiles and you’d like to make use of the existing dependent libraries on that machine, there are more environment variables that need to be set to let MET know where the library and header files are. Please supply values for the following environment variables in the input environment configuration file (install_met_env.<machine_name>): MET_GRIB2CLIB, MET_GRIB2CINC, GRIB2CLIB_NAME, MET_BUFRLIB, BUFRLIB_NAME, MET_HDF5, MET_NETCDF, MET_GSL, LIB_JASPER, LIB_PNG, LIB_Z.

For more information on the installation of MET, please see the Software Installation/Getting Started section of the User’s Guide.

External Libraries Needed To Build MET

  • BUFRLIB for reading PrepBufr Observation files
  • NetCDF4 for intermediate and output file formats
  • HDF5 is required to support NetCDF 4. HDF5 should be built with zlib.
  • GSL GNU Scientific Library Developer's Version for computing confidence intervals (use GSL-1.11 for PGI compilers)
  • GRIB2C Library, if compiling GRIB2 support.
  • HDF4 Library, if compiling the MODIS-Regrid tool.
  • HDF-EOS2 Library, if compiling the MODIS-Regrid tool.
  • Cairo Library, if compiling the MODE-Graphics tool.
  • FreeType Library, if compiling the MODE-Graphics tool.
  • f2c Library for interfacing between Fortran and C (Not required for most compilers)

Compiling GRIB2C with the -D__64BIT__ option requires that MET also be configured with CFLAGS="-D__64BIT__".

External Utilities Suggested For Use With MET

Additional Data That May Be Of Use

Prior to running Plot-MODE-Field, users must first download Ghostscript font data and set the MET_FONT_DIR environment variable to point to the directory containing those fonts.

Release Support Policy

For more information about the support provided for releases, see our Release Support Policy.

Please visit our Get Help page for direct comments and questions regarding MET.