Versions Compared

Key

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

...

Panel
titleBGColorlightgrey
titleOpenIFS questions: general and runtime
Expand
titleQ. What does the 'T' mean in 'T511', 'T1279' etc?

A. The 'T' refers to the spectral truncation of the model and the number following 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 and the model grid, the IFS documentation is recommended reading.

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

Expand
titleQ. 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. The grid definitions can also be found here: reduced gaussian grid definitions.

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

A. The OpenIFS model is based on the main IFS code though is only capable of forecasts. 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 cycle releases is available on the main ECMWF website.

Expand
titleQ. 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 if you want to use 3rd party software.

Expand
titleQ. How do I check the model is working correctly on my system after I've installed it?

A. The model can be run in 'reference' mode where it computes statistical numerical norms and compares against values calculated at ECMWF. Please see 'Testing the Installation' for more details.

Expand
titleQ. What timestep should I use?

A. The timestep depends on the horizontal and vertical resolution, the type of grid (full or reduced Gaussian), whether Eulerian or semi-Lagrangian (SL) transport is used and whether the 2 or 3 time-level SL scheme is used. The recommended default is the 2 time-level SL scheme. For this configuration suggested timesteps are: T21 - T159 : 60mins, T213 -T319 : 20mins, T511 and above : 10mins. If the 2 time-level scheme is not used, these timesteps should be halved. If Eulerian, not SL transport is used, these timesteps should be a quarter. For more details, see the code in the routine sudyn.F90 which has approximate values for the timestep (n.b. the NAMDYN namelist variable TSTEP is in units of secs).

Note the model will calculate the optimum timestep for its particular configuration. This value is written to the NODE_001.01 output file. Look for the line:
PTSTEP_OPT (optimal timestep computed in SUTSTEP) 0.36000000E+04
to see the recommended value in seconds.

Expand
titleQ. OpenIFS fails with ABORT! 1 SU_MCICA:ERROR OPENING FILE MCICA

A. The file 'MCICA' is a climatological input file the model needs. The model expects to read the climatological files from a sub-directory called 'ifsdata' in the directory containing the executable. Normally this is a link to where you installed the ifs data files. See Downloading OpenIFS for more details on how to download and install the data files.

Expand
titleQ. 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. Try using the 'grib_ls' or 'grib_dump' commands on the file causing the problem to try to reproduce the error. 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.

HTML
<!-- the same question is also below in grib_api section. make sure answers are the same -->
Expand
titleQ. OpenIFS fails (segmentation
Expand
titleQ. 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 when compiled optimized the model requires more memory.  With the optimized settings OpenMP is enabled. This causes the model to require more 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.

Expand
titleQ. OpenIFS fails with error: Dr.Hook has detected an invalid key-pointer/handle while leaving the routine 'RPASSF'

A. This normally means that the OpenMP stacksize is not large enough. The default per process stack size limit is too low and needs to be increased. Check the value of the OMP_STACKSIZE environment variable.

Expand
titleQ. I don't get any output from the model?

A. This could be for a number of reasons. One possibility is that the model is configured as if running at ECMWF where it writes file to a special database. Check that the NODE_001.01 output file and make sure that in namelist NAMCT0, the variable LFDBOP is .FALSE. and in namelist NAMPAR1, the variable NOUTTYPE=1. If this is the ok, then please see our HowTo on changing the model output or contact openifs-support@ecmwf.int.

...

Panel
titleBGColorlightgrey
titleGRIB/GRIB_API related questions
Expand
titleQ. I get an error message from GRIB_API when I run the model saying 'boot.def' not found?

A. 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. e.g.
export GRIB_DEFINITION_PATH=/usr/local/apps/grib_api/1.9.18/share/definitions

This error can arise when grib_api is compiled in HPC environments where it's compiled on the front-end but the batch system has different mount points for the frontend directories causing the path to the grib_api installation to be different.

Expand
titleQ. 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. Please . Try using the 'grib_ls' or 'grib_dump' commands on the file causing the problem to try to reproduce the error. 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.

Expand
titleQ. OpenIFS (or grib_api) reports: Wrong size for bitmap / passed array too small

A. When you run the model (or using the grib_ls/grib_dump tools on the GRIB file), you see this error:

GRIB_API ERROR   :  Wrong size for bitmap it contains 1373624 values
GRIB_API ERROR   :  unable to get bitmap as double array (Passed array is too small)

This occurs because sometimes GRIB files are incorrectly encoded for the property 'longitudeOfLastGridPoint'. This is known to happen for the 'stl1' field (surface temperature layer 1). grib_dump shows this:

  longitudeOfLastGridPointInDegrees = 340;

To correct it, use a command similar to:

grib_set -w shortName=stl1 -s longitudeOfLastGridPoint=359824 ICMCLabcdINIT ICMCLabcdINIT.fixed

where 'stl1' is the field to be corrected, 359824 is the last longitude point of (359.824degrees) of (in this case) the correct resolution, and ICMCLabcdINIT is the file to be corrected.

Email openifs-support@ecmwf.int for additional assistance.

Expand
titleQ. 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.

Expand
titleQ. How can I check that GRIB_API was installed correctly / How do I find out where GRIB_API installed the definitions and sample files?

A. If grib_api installed correctly, the command grib_info will print out the location of the sample files and definitions. If you get 'grib_info not found' make sure you have added the grib_api installation bin directory to your PATH environment variable.

Expand
titleQ. How do I convert from GRIB to netCDF?

A. Please see HowTo convert convert model output to netCDF.

Expand
titleQ. When I use grib_ls on OpenIFS output, I get an error: GRIB_API_ERROR : unable to represent the step in h

A. If you see this type of error:

Code Block
% grib_ls ICMGGepc8+000004
ICMGGepc8+000004
edition  centre typeOfLevel level  dataDate  stepRange dataType  shortName packingType

GRIB_API ERROR   :  unable to represent the step in h
1       ecmf    surface     0      20041015 Decoding invalid stepRange

it is most likely because the model step isn't expressible as an integer number of hours (for example if the model output is every timestep with a timestep less than 1hr). Change the units to either minutes or seconds:

Code Block
 grib_ls -s stepUnits=m ICMGGepc8+000004
 grib_ls -s stepUnits=s ICMGGepc8+000004

...