...
From version 4.5, Metview uses CMake for its compilation and installation. This is part of the process of homogenising the installation procedures for all ECMWF packages.
As with configure, CMake will run some tests on the system to find out if required third-party software libraries are available and notes their locations (paths). Based on this information it will produce the Makefiles needed to compile and install Metview.
CMake is a cross-platform free software program for managing the build process of software using a compiler-independent method.
Requirements
Platforms
At ECMWF, openSUSE 11.3, openSUSE 13.1, SLES 11 and Red Hat 6 Linux systems (64bit) were used for the regular usage and testing of Metview. Other Linux platforms are used for occasional testing.
ECMWF support libraries
All required support libraries from ECMWF are available without charge from the Software Services web page:
To produce plots, Magics must be installed:
Magics++ (2.24.0 or higher is required)
...
for a 'pure batch' installation of Metview with no user interface, it is possible to supply Magics with the option -DENABLE_METVIEW_NO_QT=ON
The following two libraries need to be installed (both are required, even if you will not handle GRIB or BUFR data):
GRIB_API (1.9.9 or higher is required)
see the Installation FAQ for details of building GRIB_API for Metview, as this contains some important information
version 392:
compiled with double floating point precision (answer “y” to “Do you want 64-bit reals? [y,n]”)
must be built with GRIB_API support
64-bit versions should be built with -fPIC compilation flag
- Remember to set the ARCH environment variable before building Emoslib, e.g.
export ARCH=linux
.
- OR
- version 400 or above:
- compiled with double floating point precision (this is the default)
- compiled with double floating point precision (this is the default)
Info |
---|
The latest versions of EmosLib depend on GRIB_API, therefore GRIB_API must be installed before EmosLib. |
Required third-party software
First, ensure that all third-party libraries required by Magics and GRIB_API are installed (this is likely to have been fulfilled already unless Magics was built on another system and copied across).
Additionally, the following list of software should be installed on your system before you try to install Metview. If you use a package manager, such as RPM, to install software make sure to include the corresponding development packages with the header files. CMake will test for these libraries and give error messages if an essential one is missing.
...
Include Page | ||||
---|---|---|---|---|
|
Requirements to build Metview
The following table lists the dependencies Metview requires to be built from source. Please note, if you install these package from source you also might have to install the respective "-devel" packages.
Compilers | |||
---|---|---|---|
C++ | http://gcc.gnu.org/ | ||
Fortran | http://gcc.gnu.org/fortran/ | If Fortran or BUFR support needed | |
Utilities | |||
make | http://www.gnu.org/software/make/ | ||
Third party libraries | |||
Qt | http://www.qt.io/ | if Metview's user interface is required (version 4.6.2 or later of Qt is needed). Note that on some systems it is also necessary to install the libQtWebKit-devel development package (it may have different names on different systems) |
...
gdbm | http://www. |
...
...
...
...
OpenMotif (if enabling the old user interface with -DENABLE_MOTIF=ON, but OFF is the default)
...
gdbm
...
gdbm/ | |||
ksh | http://www.kornshell.com/ | ||
ImageMagick | http://www.imagemagick.org/script/index.php | if Metview's user interface is required | |
proj | http://trac.osgeo.org/proj/ | if OPERA radar data support is required | |
netcdf | http://www.unidata.ucar.edu/software/netcdf/ | Please note: You also need to install the legacy C++ interface and HDF5 | |
ECMWF libraries | |||
---|---|---|---|
grib-api | GRIB-API Home | ||
emoslib | EMOS | ||
odb-api | ODB-API Home | if ODB support needed | |
magics | Magics | if plotting support is needed. Note that Magics should be configured with the -DENABLE_METVIEW=ON option.
For a 'pure batch' installation of Metview with no user interface, it is possible to supply Magics with the option -DENABLE_METVIEW_NO_QT=ON
|
If you wish to access OPERA radar BUFR data, then you will need to also install the proj4 development libraries.
Compilation environment
...
Notes for installers of Metview 3
...
so make sure this will not clash with an existing installation. See the table of CMake options for the flag which will allow you to change this.
Compilation, testing and installation
It is advisable to perform an 'out-of-source build', meaning that the build should take place in a directory separate from where the source code is. Here is an example set of commands to set up and build Metview using default settings:
...
language | bash |
---|
...
.
...
Info | |||||
---|---|---|---|---|---|
Note that Metview supports parallel builds, meaning that on machines with multiple cores it is possible to compile much more quickly using all the available cores, for example:
|
The Metview distribution includes a small set of tests which can help ensure that the build was successful. To start the tests, type:
Code Block |
---|
make test |
Although it is possible to run Metview directly from the build directory, it is best to install it. The installation directory is /usr/local
by default, but can be changed by adding the -DCMAKE_INSTALL_PREFIX flag to the cmake
command. In this case, the configure, build, test and install step would look like this:
...
language | bash |
---|
...
CMake options used in Metview
...
CMake option | Description | Default | |||
---|---|---|---|---|---|
CMAKE_INSTALL_PREFIX | where you want to install Metview | /usr/local | |||
CMAKE_BUILD_TYPE | to select the type of compilation:
In most cases Release is preferable for an optimised version with no debug information | RelWithDebInfo | |||
CMAKE_CXX_FLAGS | additional flags for the C++ compiler, e.g. -DCMAKE_CXX_FLAGS= "-O2 -march=native" | ||||
CMAKE_C_FLAGS | additional flags for the C compiler | ||||
CMAKE_Fortran_FLAGS | additional flags for the Fortran compiler | ||||
ENABLE_UI | enables the Qt-based user interface | ON | |||
ENABLE_MOTIF | enables the deprecated Motif-based user interface
| OFF | ENABLE_PLOTTING | enables plotting capabilities using Magics MAGP | ON |
ENABLE_OPERA_RADAR | enables the Opera Radar Filter module (requires the proj4 library and headers) | OFF | |||
ENABLE_MARS | enables MARS access (not required if using through the Web API) | OFF | |||
MARS_LOCAL_HOME | sets the path to where local MARS is installed | ||||
ENABLE_ODB | enables processing and plotting of ODB data | OFF | |||
ENABLE_MARS_ODB | enables ODB capabilities in MARS client | OFF | |||
ENABLE_USAGE_LOG | enables logging of Metview startup calls | OFF | |||
LOG_DIR | path to where to log the Metview startup calls | ||||
METVIEW_SCRIPT | name of the generated Metview startup script | metview | |||
EXTRA_CONFIG_PATH | path to optional directory containing metview_local* script files | ||||
ENABLE_QT_DEBUG | outputs additional log messages from Qt-based modules | OFF | |||
EXTRA_TITLE | build-specific title to add to the log entries | ||||
ENABLE_MOTIF | enables the deprecated Motif-based user interface
| OFF | |||
ENABLE_INPE | enables INPE modules | ON | |||
Path options - only required when support libraries are not installed in default locations | |||||
CMake Option | Description | Notes | |||
GRIB_API_PATH | path to where GRIB_API has been installed | ||||
MAGICS_PATH | path to where Magics has been installed | Only required if plotting is enabled | |||
NETCDF4_PATH | path to where netCDF has been installed | ||||
ODB_API_PATH | path to where ODB_API has been installed | Only required if ODB is enabled | |||
ODB_PATH | path to where the original ODB has been installed | Optional if ODB is enabled | |||
EMOS_PATH | path to where Emoslib has been installed | Also set EMOS_LIB_NAME | |||
FDB_PATH | path to where fdb has been installed | Only required if MARS is enabled | |||
PROJ4_PATH | path to where proj4 has been installed | Only required if OPERA Radar is enabled | |||
FLEXTRA_PATH | path to where the FLEXTRA executable has been installed | See Tutorials for more on FLEXTRA |
...
See also the Installation FAQ.