Versions Compared

Key

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

...

Panel
bgColorwhite
titleBGColorlightgrey

OpenIFS fails writing GRIB if grib_api compiled with Intel and -O2

We are aware of a problem in grib_api when using the Intel compiler that seems to affect different versions of grib_api and causes the model to fail with a floating point exception (SIGFPE). This is known to happen in the routine PRESET_GRIB_TEMPLATE or in the GRIB_F_SET_REAL8_ARRAY in the grib_api library. The advice is to reduce the optimization level when compiling grib_api to -O1 rather than -O2 or try a more recent version of the Intel compiler.

The error message that typifies this problem is:

Code Block
titleOpenIFS log file
collapsetrue
***Received signal = 8 and ActivatED SIGALRM=14 and calling alarm(10), time =    3.10
JSETSIG: sl->active = 0
signal_harakiri(SIGALRM=14): New handler installed at 0xabfa00; old preserved at 0x0
***Received signal = 8 and ActivatED SIGALRM=14 and calling alarm(10), time =    3.10
[myproc#1,tid#1,pid#14063]:  MASTER
[myproc#1,tid#1,pid#14063]:   CNT0<1>
[myproc#1,tid#1,pid#14063]:    SU0YOMB
[myproc#1,tid#1,pid#14063]:     SU_GRIB_API
[myproc#1,tid#1,pid#14063]:      PRESET_GRIB_TEMPLATE
JSETSIG: sl->active = 0
signal_harakiri(SIGALRM=14): New handler installed at 0xabfa00; old preserved at 0x0

or a traceback like this:

Code Block
languagetext
titleTraceback
collapsetrue
[gdb__sigdump] : Received signal#8(SIGFPE), pid=-1
[LinuxTraceBack]: Backtrace(s) for program 'oifs38r1/make/intel_mkl-opt_conv/oifs/bin/master.exe' (pid=38451) :
(pid=38451): oifs38r1/src_conv/ifsaux/utilities/linuxtrbk.c:109  :  master.exe() [0xc14a2d]
(pid=38451):      oifs38r1/src_conv/ifsaux/support/drhook.c:884  :  master.exe() [0xac8ddb]
(pid=38451):                                          <Unknown>  :  libpthread.so.0(+0xf7e0) [0x7f59e215b7e0]
(pid=38451):                                          <Unknown>  :  libgrib_api.so.0(log.L+0x23c) [0x7f59e60db98c]
(pid=38451):                                          <Unknown>  :  libgrib_api.so.0(+0xa7de4) [0x7f59e60a7de4]
(pid=38451):                                          <Unknown>  :  libgrib_api.so.0(+0x9c6d4) [0x7f59e609c6d4]
(pid=38451):                                          <Unknown>  :  libgrib_api.so.0(grib_pack_double+0x18) [0x7f59e6079847]
(pid=38451):                                          <Unknown>  :  libgrib_api.so.0(+0xc4814) [0x7f59e60c4814]
(pid=38451):                                          <Unknown>  :  libgrib_api.so.0(+0xc4890) [0x7f59e60c4890]
(pid=38451):                                          <Unknown>  :  libgrib_api.so.0(grib_set_double_array_internal+0x68) [0x7f59e60c4921]
(pid=38451):                                          <Unknown>  :  libgrib_api.so.0(+0xa3a4a) [0x7f59e60a3a4a]
(pid=38451):                                          <Unknown>  :  libgrib_api.so.0(grib_pack_double+0x18) [0x7f59e6079847]
(pid=38451):                                          <Unknown>  :  libgrib_api.so.0(+0xc4814) [0x7f59e60c4814]
(pid=38451):                                          <Unknown>  :  libgrib_api.so.0(+0xc4890) [0x7f59e60c4890]
(pid=38451):                                          <Unknown>  :  libgrib_api.so.0(+0xc4b3f) [0x7f59e60c4b3f]
(pid=38451):                                          <Unknown>  :  libgrib_api_f90.so.0(grib_f_set_real8_array_+0x51) [0x7f59e6380aea]
(pid=38451):                                          <Unknown>  :  libgrib_api_f90.so.0(grib_api_mp_grib_set_real8_array_+0x8a) [0x7f59e63858af]
(pid=38451): oifs38r1/src_conv/ifsaux/module/grib_api_interface.F90:358  :  master.exe() [0xb03bbd]

Note that the grib packing can also fail if the model has produced fields with a very large range of values, such that the grib library can't pack the values into a smaller bit range. For further help, please contact openifs-support@ecmwf.int.

 

 

Panel
bgColorlightblue
borderStylenone

GNU compilers

...