OpenIFS 38r1 (all versions) and 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: Code Block |
---|
[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: Code Block |
---|
CALL GRIB_NEW_FROM_TEMPLATE(KHANDLE,TRIM(CDNAME),STATUS=IRET) |
to Code Block |
---|
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. |