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) in the routine PRESET_GRIB_TEMPLATE. The advice is to reduce the optimization level when compiling grib_api to -O1 rather than -O2.
The error message that typifies this problem is:
OpenIFS log fileExpand source
***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
tail NODE.001_01
- Set up F-post processing, part 2----------------------------------
YDSL%CVER=FP YDSL%NASLB1= 1053 YDSL%NASLB1_TRUE= 79
*** YRFP%NASLB1 RESET TO NPROMA*NGPBLKS= 48
THE POST-PROCESSING RESOLUTION IS NEVER COARSER THAN THE MODEL RESOLUTION
ARRAY SSEC2 ALLOCATED 132 132
SUBFPOS: case LFPDISTRIB=F
NFPROMA=NFPROMA_DEP; NFPBLOCS=NFPBLOCS_DEP
NFPSTART=NFPSTART_DEP; NFPEND=NFPEND_DEP
NFPSORT=NFPSORT_DEP; NFPBLOFF=NFPBLOFF_DEP
SUFPIOS PRINTS OUT
NFPXFLD = -999
- Set up GRIB API usage----------------------------------
ABOR1 CALLED
Dr.Hook calls ABOR1 ...
Cray ATP does not work
This is caused by the way IFS creates its own signal handler. To enable Cray ATP set:
export DR_HOOK_IGNORE_SIGNALS=-1
in the job script to completely disable any signal trapping by DrHook.
This issue has been fixed in OpenIFS releases 38r1v05 and beyond. For previous releases, either use the fix above or contact openifs-support@ecmwf.int for assistance.
CrayPAT does not work
This is a result of the way in which the OpenIFS is compiled. More information on this and the resolution is described here.