You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »


This page has a list of known issues related to the GNU compilers, gfortran and gcc (all versions).

OpenIFS 43r3


OpenIFS 43r3 compilation fails with gfortran 7.1 & 7.2

OpenIFS 43r3 compilation with gnu compilers 7.1 & 7.2 is known to fail with errors in the fcm-make.log as shown below.  The model is known to compile and work correctly with version 7.3 or later versions of the GNU compilers.

[FAIL] mpifort -oo/su_surf_flds.o -c -DBLAS -DLITTLE -DLINUX -DINTEGER_IS_INT -DECMWF -I./include -g -O2 -m64 -fconvert=big-endian -fopenmp -ffree-line-length-none -I /gpfs/projects/bsc32/bsc32544/libs/mn4/eccodes/2.14.1/gcc-7.1.0/include -I /gpfs/projects/bsc32/bsc32544/libs/mn4/netcdf-parallel/4.6.1/gcc-7.1.0/include -I /gpfs/projects/bsc32/bsc32544/libs/mn4/netcdf-fortran-parallel/4.4.4/gcc-7.1.0/include /gpfs/projects/bsc32/bsc32544/models/oifs43r3/src.ORIG/ifs/setup/su_surf_flds.F90 # rc=1
[FAIL] /gpfs/projects/bsc32/bsc32544/models/oifs43r3/src.ORIG/ifs/setup/su_surf_flds.F90:411:2:
[FAIL] 
[FAIL]    CXTRP2(1) = 'SURFPREC.EAU.CON'
[FAIL]   1
[FAIL] Error: Unclassifiable statement at (1)


OpenIFS 40r1 / 38r1

OpenIFS 38r1 and 40r1 fail in CODEPS with gfortran

Both OpenIFS 38r1 and 40r1 are known to fail with the gfortran compiler (all tested versions) using the 'optimized' build type (gnu-opt.cfg) with this error:

10:06:30 STEP        0 H=        0:00 +CPU= 18.761
 WRPGR: ERROR IN CODEPS - IERR=           -5
 ABORT!    1 WRPGR: ERROR IN CODEPS
 CODEPS: Integer larger than field specified
 MPL_ABORT: CALLED FROM PROCESSOR      1 THRD     1
 MPL_ABORT: THRD           1   WRPGR: ERROR IN CODEPS
[myproc#1,tid#1,pid#6504]:  MASTER 
[myproc#1,tid#1,pid#6504]:   CNT0<1> 
[myproc#1,tid#1,pid#6504]:    CNT1 
[myproc#1,tid#1,pid#6504]:     CNT2 
[myproc#1,tid#1,pid#6504]:      CNT3 
[myproc#1,tid#1,pid#6504]:       CNT4 
[myproc#1,tid#1,pid#6504]:        STEPO 
[myproc#1,tid#1,pid#6504]:         POSDDH 
[myproc#1,tid#1,pid#6504]:          WRPGR 
 SDL_TRACEBACK: Calling LINUX_TRBK, THRD =            1

The model works with the unoptimized settings (gnu-noopt.cfg) and with all configurations of the Intel and Cray compilers.

A possible workaround is to alter the configuration so that that the optimization level for ifs/dia/wrpgr.F90 and src/openifs/emos/gribex/codeps.F is reduced to -O0. To do this add a line to the configuration file:

Edit oifs.cfg
oifs.prop{fc.flags}[ifs/dia/wrpgr.F90] = $OIFS_FFLAGS -O0
oifs.prop{fc.flags}[openifs/emos]               = $OIFS_FFIXED $OIFS_FFLAGS -O0

OpenIFS 38r1 fails with gfortran version 5 compiler

OpenIFS 38r1 is known to fail when using the gfortran/gcc version 5.2 compiler. The error is:

SUDIM1; after call to read(namgfl), nmfdiaglev =            0
		Error in `../make/gnu-noopt/oifs/bin/master.exe': double free or corruption (out): 0x0000000009fafd90 ***

If this occurs we recommend using 4.8.x versions of the gnu compilers. There is currently no fix for this issue with OpenIFS based on the 38r1 release.

Later versions of OpenIFS (40r1+) do not fail.





  • No labels