Skip to content

Commit

Permalink
Per #2949, updating installation instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
jprestop committed Sep 16, 2024
1 parent dc27522 commit 9463035
Showing 1 changed file with 47 additions and 11 deletions.
58 changes: 47 additions & 11 deletions docs/Users_Guide/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.<machine_name>**). 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.<machine_name>**). 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 <https://github.com/dtcenter/MET>`_ in the
`scripts/installation/config <https://github.com/dtcenter/MET/tree/main_v12.0/internal/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
---------------------------------

Expand Down Expand Up @@ -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
Expand All @@ -226,6 +244,7 @@ Environment Variable Descriptions

| For oneAPI Intel compilers:
|
| export FC=ifx
| export F77=ifx
| export F90=ifx
Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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:

Expand All @@ -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
Expand Down

0 comments on commit 9463035

Please sign in to comment.