Versions Compared

Key

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

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

OpenIFS 43r3

Panel
bgColorlightblue

OpenIFS 43r3 compilation fails with gfortran 11.2.0


Panel

OpenIFS 43r3 compilation with gnu compilers 11.2.0 (also with other versions since version 10) is known to fail with errors in the fcm-make.log as shown below.  

Code Block
Multiple errors of this type will occur:

[FAIL] /home/damk/oifs/model/oifs43r3/src/algor/module/butterfly_alg_mod.F90:949:34:
[FAIL]
[FAIL]   949 |     CALL DGEMV('N',IM,IN,1.0_JPRB,YDNODE%PNONIM(1),IRANK,ZVECIN(IRANK+1),1,1.0_JPRB,PVECOUT,1)
[FAIL]       |                                  1
[FAIL] ......
[FAIL]  1013 |     CALL DGEMV('T',IM,IN,1.0_JPRB,YDNODE%PNONIM,IRANK,PVECIN,1,0.0_JPRB,ZVECOUT(IRANK+1),1)
[FAIL]       |                                  2
[FAIL] Error: Element of assumed-shape or pointer array as actual argument at (1) cannot correspond to actual argument at (2)
[ ... ]
[FAIL] /home/damk/oifs/model/oifs43r3/src/algor/module/butterfly_alg_mod.F90:762:17:
[FAIL]
[FAIL]   762 |                & YNODE%B,IROWS,PVECIN(IFR,1),IRIN,0.0_JPRB,&
[FAIL]       |                 1
[FAIL] ......
[FAIL]  1050 |      & YDNODE%PNONIM(1),IM,PVECIN,IM,0.0_JPRB,&
[FAIL]       |       2
[FAIL] Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-2)
[ ... ]

The following corrective action should be taken:

(1) in the fcm configuration file include additional compiler switches (the example below is given for gnu-opt.fcm, but the corresponding change should be made for gnu-noopt.fcm). 

Code Block
In file $OIFS_HOME/make/fcm/gnu-opt.fcm replace line 44:
$OIFS_FFLAGS{?} = -g -O2 -m64 -fconvert=big-endian -fopenmp -ffree-line-length-none

with this line:
$OIFS_FFLAGS{?} = -g -O2 -m64 -fconvert=big-endian -fopenmp -ffree-line-length-none -fallow-argument-mismatch -fallow-invalid-boz

(2) in setup routine sugfl1.F90 a namelist is included before some of its variables are declared. The inclusion of the namelist file should be moved below the following declaration block. This is actually a bug which is picked up by more recent compiler versions.
Note:  No more updated versions of OpenIFS 43r3 will be released after v2 and therefore this bug fix will need to be applied manually when more recent gfortran versions are used. 

Code Block
In file $OIFS_HOME/src/ifs/setup/sugfl1.F90 delete line 85:

-#include "namchem.nam.h"

Insert the deleted line below line 104:

 #include "namgfl.nam.h"
+#include "namchem.nam.h"



Panel
bgColorlightblue

OpenIFS 43r3 compilation fails with gfortran 7.1 & 7.2


Panel

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.

Code Block
[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

Panel
bgColorlightblue
borderStylenone

OpenIFS 38r1 and 40r1 fail in CODEPS with gfortran


Panel

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:

Code Block
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:

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



Panel
bgColorlightblue
borderStylenone

OpenIFS 38r1 fails with gfortran version 5 compiler


Panel
borderStyledotted

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

Code Block
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.




HTML
<script type="text/javascript" src="https://software.ecmwf.int/issues/s/en_UKet2vtj/787/12/1.2.5/_/download/batch/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector/com.atlassian.jira.collector.plugin.jira-issue-collector-plugin:issuecollector.js?collectorId=5fd84ec6"></script>

Excerpt Include
Credits
Credits
nopaneltrue


Panel
titleOn this page...

Table of Contents
maxLevel2



Panel
titleOpenIFS known issues

Children Display
depth1
styleh5
pageKnown issues
sorttitle