OpenIFS 40r1v1 need a small code change to work with the ECMWF ecCodes library. This is because of the use of a deprecated grib related subroutine that was replaced in ecCodes.
The compilation will fail with a message similar to:
[FAIL] CALL GRIB_NEW_FROM_TEMPLATE(KHANDLE,TRIM(CDNAME),STATUS=IRET)
[FAIL] Error: Keyword argument requires explicit interface for procedure ‘grib_new_from_template’ at (1)
[FAIL] compile 0.0 ! grib_api_interface.o <- ifsaux/module/grib_api_interface.F90
For these versions, make the following change to the code.
Edit ifsaux/module/grib_api_interface.F90
Change line 671 (in subroutine IGRIB_NEW_FROM_TEMPLATE)
from:
CALL GRIB_NEW_FROM_TEMPLATE(KHANDLE,TRIM(CDNAME),STATUS=IRET)
to
CALL GRIB_NEW_FROM_SAMPLES(KHANDLE,TRIM(CDNAME),STATUS=IRET)
This change has been tested against grib-api and eccodes libraries and gives bit identical results.