Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Panel
titleOpenIFS questions
Expand
titleClick here to expand for questions and answers...

Q. What does the 'T' mean in 'T511', 'T1279' etc?

A. The 'T' refers to the spectral truncation of the model and the number after is the highest retained wavenumber. A spectral method, based on spherical harmonic expansion is used in the model, for example to compute some horizontal derivatives. The 'T' means the model uses a 'triangular' truncation in spectral space to decide the retained spherical harmonics. The number following the 'T' is the highest retained wave number. For more information on the spectral truncation and resolution of the model, the IFS documentation is recommended reading.

T159 is approximately 125km resolution, T255 - 80km, T511 - 40km, T1279 - 25km.

Q. How do I know the grid from from the 'T' number?

A. This depends on the grid used. For medium and high resolutions, the model uses a 'reduced Gaussian grid' with reduced numbers of gridpoints along a latitude circle towards the poles. Full quadratic and linear grids are also possible. This table shows the correspondence between spectral resolution and lat/lon resolution.

Q. What is the difference between IFS/OpenIFS model versions?

A. The OpenIFS model is based on the main IFS code though without some functionality such as data assimilation. The first OpenIFS version was based on cycle 38 release 1 (known as CY38R1). More information is found on the page comparing OpenIFS .v. IFS.

Information on scientific & technical changes between cycles releases is available on the main ECMWF website.

Q. What format is the model output?

A. The model writes its output in GRIB format using WMO FM-92 GRIB edition 1 and edition 2 messages. ECMWF provides the GRIB_API software for handling and manipulating grib data using either command line tools and a programming library for C, Fortran and Python.

For plotting GRIB data, ECMWF provides the MetView software, which is freely available under the Apache license.

Note that the OpenIFS model outputs a mix of GRIB edition 1 & 2 messages in a single file. Unlike MetView, not all GRIB software available on the Internet can read such files and extra steps may be necessary to separate the messages before use.

Q. OpenIFS fails with an error message from GRIB_API.

A. This usually indicates an error in the GRIB file or GRIB_API configuration rather than the model. See the GRIB FAQ on this page, or email openifs-support@ecmwf.int and include the model output file (NODE_001.01) and the job log.

Q. OpenIFS fails (segmentation violation) when compiled with optimized compiler options ('opt' configuration) but works without any optimization ('noopt' configuration).

A. This could be for a number of reasons. However, a common one is that with when compiled optimized the model requires more memory.  With the optimized settings OpenMP is enabled. This causes the model to require more memory from what's known as 'stack memory'. To increase your stack memory to the maximum allowed on your system, use the command 'ulimit -s unlimited'. If that does not solve your problem, email openifs-support@ecmwf.int.

Panel
titleGRIB/GRIB_API related questions

Also see: GRIB_API Frequently Asked Questions.

Expand
titleClick here to expand for questions and answers...

Q. I get an error message from GRIB_API when I run the model saying 'boot.def' not found?

The 'boot.def' file is the GRIB definitions file. The location of the boot.def file is hardcoded into the GRIB_API library when it is compiled. Make sure that the directory where GRIB_API was installed has not moved. If it has, this hardcoded location will be wrong. You can override this location by using the environment variable: GRIB_DEFINITION_PATH and set this to the directory containing the boot.def file.

Q. OpenIFS fails with an error message from GRIB_API.

A. This usually indicates an error in the GRIB file rather than the model. Please email openifs-support@ecmwf.int and include the model output file (NODE_001.01) and the job log.

Q. What are the GRIB_API environment variables and what do they mean?

A. The environment variables for GRIB_API are described on the GRIB_API software support page.

Q. How do I convert from GRIB to netCDF?

Q.What software will read/write GRIB files?

Panel
titleCompiling OpenIFS / FCM related questions
Expand
titleClick to expand for questions and answers...

Q. The command 'fcm make' gives the error: mpif90: command not found?

A. This is because the FCM configuration files assume the use of a 'compiler wrapper' which is typically provided by OpenMPI or MPICH installations. Make sure you have OpenMPI installed and you have the OpenMPI 'bin' directory included on your PATH environment variable. For linux use 'apt-get install libopenmpi-dev'. HPC machines may require you to use a 'module' command e.g 'module load openmpi'. Check your local help information.

Q. I get this error, what does it mean? "[FAIL] cpg1c.intfb.h: missing dependency (type=include)"

A. FCM has found an include statement: "#include cpg1c.intfb.h" in the source code but can't find the source file cpg1c.F90. Make sure the file exists or FCM is configured to look at all the sources.

Q. How do I change where FCM builds the library archive (.a) file before the link stage?

A. FCM queries the TMPDIR environment variable. If set it uses that location, otherwise it defaults to /tmp. On HPC systems, /tmp may not be the best choice if it is in memory.

Q. What does the $HERE variable in FCM configuration files mean?

A. The $HERE variable is a special variable that FCM interprets as the directory in which the configuration file resides.

Q. How do I change the compiler used by my MPI compiler wrappers?

A. This varies depending on your MPI implementation and your local environment. As an example, for OpenMPI, set the environment variables:
export OMPI_FC=pgf90
export OMPI_CC=pgcc
to use the Portland compilers instead of the default GNU (gfortran) compilers. Check the 'man page' of the mpif90 command to see what other options are possible. Some implementations allow you to use an option -fc to set the underlying compilers. Lastly, some HPC centres provide the 'module' command for loading and unloading particular compiler suites. Consult your local documentation for more details.

Q. I get an error about missing shared object file: error while loading shared libraries: libmkl_intel_lp64.so: cannot open shared object file: No such file or directory.

A. This can arise with the Intel compiler. The MKL library is Intel's version of the LAPACK and BLAS libraries which should be supplied with the compiler. The .so file extension means this is a shared library found at runtime. In order to find this library, the environment variable LD_LIBRARY_PATH must be set correctly. You will need to find the location of this library and add the directory to the LD_LIBRARY_PATH. Normally this is done for you by a small script supplied with the Intel compiler script. Please check your support information.

Panel
titleMac OS X specific questions
Expand
titleClick to expand for questions and answers

Q. When compiling GRIB_API on Mac OS X I get an error: ld: duplicate symbol _grib_file_not_found in .libs/action_class_alias.o and .libs/action.o

A. This is a known issue with compiling on Mac OS X. See this page on the GRIB_API Installation FAQ for the workaround.

Q. I'm using the Intel compiler and the MKL library but get this error: dyld: Library not loaded: libmkl_intel_lp64.dylib when I run OpenIFS.

A. On Mac OS X, the MKL library is a dynamic (shared) library which is loaded at runtime and not when the model is compiled. To ensure the library is found you need to add the directory containing the library to your dynamic library path environment variable (DYLD_LIBRARY_PATH). The Intel compiler supplies a script that correctly sets the compile environment for you which should be run. This is normally found in the Intel compiler install directory: /opt/intel/Compiler/11.0/054/Frameworks/mkl/tools/environment/mklvars.sh.

...