From 946303526a4a45673fb7d6fe26639b551655796d Mon Sep 17 00:00:00 2001 From: Julie Prestopnik Date: Mon, 16 Sep 2024 14:05:50 -0600 Subject: [PATCH] Per #2949, updating installation instructions --- docs/Users_Guide/installation.rst | 58 +++++++++++++++++++++++++------ 1 file changed, 47 insertions(+), 11 deletions(-) diff --git a/docs/Users_Guide/installation.rst b/docs/Users_Guide/installation.rst index 2494abe520..0592244a1e 100644 --- a/docs/Users_Guide/installation.rst +++ b/docs/Users_Guide/installation.rst @@ -162,18 +162,35 @@ Environment Variables to Run Script Before running the compilation script, there are five environment variables that are required: **TEST_BASE**, **COMPILER**, **MET_SUBDIR**, **MET_TARBALL**, and **USE_MODULES**. + If compiling support for Python embedding, the script will need the following additional environment variables: **MET_PYTHON**, **MET_PYTHON_CC**, and -**MET_PYTHON_LD**. All of these environment variables are discussed -in further detail in the Environment Variable Descriptions section below. -An easy way to set these environment variables is in an environment -configuration file (for example, **install_met_env.**). An -example environment configuration file to start from (**install_met_env.generic_gnu**), -as well as environment configuration files used on HPCs at NCAR and NOAA, +**MET_PYTHON_LD**. + +All of these environment variables are discussed in further detail in the +Environment Variable Descriptions section below. An easy way to set these +environment variables is in an environment configuration file +(for example, **install_met_env.**). An example environment +configuration file to start with (**install_met_env.generic_gnu**), +as well as the environment configuration files used on HPCs at NCAR and NOAA, can be found in the `MET GitHub repository `_ in the `scripts/installation/config `_ directory. +.. note: + + Starting with MET-12.0.0, the C++17 standard is the default standard for + MET, due to the C++17 standard being a requirement for the dependent + library, ATLAS, in versions 0.33.0 and greater. The ATLAS library is + conditionally required, if support for unstructured grids is desired. + + At this time, users with systems that do not yet support the C++17 + standard, can still compile MET with an older C++ standard, using an + older version of ATLAS, by adding the MET_CXX_STANDARD variable to + the environment configuration file as described in the **OPTIONAL** + section below. + + Environment Variable Descriptions --------------------------------- @@ -218,6 +235,7 @@ Environment Variable Descriptions following environment variables if using the Intel compilers: | For non-oneAPI Intel compilers: + | | export FC=ifort | export F77=ifort | export F90=ifort @@ -226,6 +244,7 @@ Environment Variable Descriptions | For oneAPI Intel compilers: + | | export FC=ifx | export F77=ifx | export F90=ifx @@ -289,13 +308,13 @@ Environment Variable Descriptions **export MET_CXX_STANDARD** - Specify the version of the supported C++ standard. Values may be 11, 14, or 17. The default value is 17. - (e.g. export MET_CXX_STANDARD=11). + (e.g. export MET_CXX_STANDARD=11) External Library Handling in compile_MET_all.sh ----------------------------------------------- -.. dropdown:: IF THE USER WANTS TO HAVE THE COMPILATION SCRIPT DOWNLOAD THE LIBRARY DEPENDENCIES +.. dropdown:: IF THE USER WANTS TO HAVE THE COMPILATION SCRIPT INSTALL THE LIBRARY DEPENDENCIES The **compile_MET_all.sh** script will compile and install MET and its :ref:`required_external_libraries_to_build_MET`, if needed. @@ -399,7 +418,21 @@ particular system’s needs, MET is ready for installation. The screenshot below contents of the installation directory followed by the tar_files subdirectory at this step on the machine ‘hera’. -.. image:: figure/installation_dir.png +.. code-block:: ini + + /contrib/met/12.0.0$ ls + compile_MET_all.sh install_met_env.hera tar_files + + /contrib/met/12.0.0$ ls tar_files + HDF-EOS2.16v1.00.tar.Z eckit-1.24.4.tar.gz netcdf-4.7.4.tar.gz + HDF4.2r3.tar.gz freetype-2.11.0.tar.gz netcdf-cxx4-4.3.1.tar.gz + atlas-0.30.0.tar.gz g2clib-1.6.4.tar.gz pixman-0.40.0.tar.gz + atlas-0.35.0.tar.gz gsl-1.11.tar.gz proj-7.1.0.tar.gz + bufr_v11.6.0.tar.gz gsl-2.7.1.tar.gz sqlite-autoconf-3430100.tar.gz + cairo-1.16.0.tar.xz hdf5-1.12.2.tar.gz tiff-4.6.0.tar.gz + ecbuild-3.5.0.tar.gz jasper-2.0.25.tar.gz zlib-1.2.11.tar.gz + ecbuild-3.7.0.tar.gz jpegsrc.v9e.tar.gz + eckit-1.20.2.tar.gz libpng-1.6.37.tar.gz Simply enter the following into the terminal to execute the script: @@ -409,13 +442,16 @@ Simply enter the following into the terminal to execute the script: The screenshot below shows the contents of the installation directory after installation: -.. image:: figure/installation_dir_after.png +.. code-block:: ini + + /contrib/met/12.0.0$ ls + MET-12.0.0 bin compile_MET_all.sh external_libs install_met_env.hera share tar_files To confirm that MET was installed successfully, run the following command from the installation directory to check for errors in the test file: .. code-block:: ini - grep -i error MET12.0.0/met.make_test.log + grep -i error MET-12.0.0/met.make_test.log If no errors are returned, the installation was successful. Due to the highly variable nature of hardware systems, users may encounter issues during