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:
chmod 775 compile_MET_all.sh
Download and unpack tar_files.tgz:
tar -zxf tar_files.tgz
Change directories to enter the tar_files directory that was just created:
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:
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
- Unified Post Processing System (UPP) for preparing model data to be verified
- copygb utility for re-gridding grib data (available with the WRF Post-Processor)
- Integrated Data Viewer (IDV) for displaying gridded data, including GRIB and NetCDF
- ncview utility for viewing gridded NetCDF data (e.g. the output of pcp_combine)
Additional Data That May Be Of Use
- Sample Analysis Scripts for MET output
- Input Data
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.