Opened 2 years ago

Closed 2 years ago

#2655 closed help (fixed)

build-recon fails to find GRIB_API on ARCHER

Reported by: swr05npk Owned by: annette
Component: FCM Keywords: grib fcm-make
Cc: Platform: ARCHER
UM Version: 10.4



I have a 10.4 suite (u-az770) from NEXCS, which I am trying to port to ARCHER. The build fails to compile the reconfiguration with the error:

[FAIL] ftn -oo/ukmo_grib_mod.o -c -I./include -s default64 -e m -J ./include -I/work/y07/y07/umshared/gcom/cce8.4.1/gcom5.4/archer_xc30_cce_mpp/build/include -O2 -Ovector1 -hfp0 -hflex_mp=strict -h omp -g /home/n02/n02/pappas/cylc-run/u-az770/share/fcm_make_um/preprocess-recon/src/um/src/control/misc/ukmo_grib_mod.F90 # rc=1
[FAIL] ftn-1536 crayftn: WARNING in command line
[FAIL]   The optimization level will be vector0, because debugging option -g or -G0 is specified.
[FAIL] ftn-1535 crayftn: WARNING in command line
[FAIL]   Most optimizations will be turned off because debugging option -g or -G0 is specified.
[FAIL] ftn-855 crayftn: ERROR UKMO_GRIB_MOD, File = ../../../../cylc-run/u-az770/share/fcm_make_um/preprocess-recon/src/um/src/control/misc/ukmo_grib_mod.F90, Line = 21, Column = 8 
[FAIL]   The compiler has detected errors in module "UKMO_GRIB_MOD".  No module information file will be created for this module.
[FAIL] ftn-292 crayftn: ERROR UKMO_GRIB_MOD, File = ../../../../cylc-run/u-az770/share/fcm_make_um/preprocess-recon/src/um/src/control/misc/ukmo_grib_mod.F90, Line = 23, Column = 5 
[FAIL]   "GRIB_API" is specified as the module name on a USE statement, but the compiler cannot find it.

I have tried to load the grib_api module on ARCHER, but this does not resolve the issue. I think the problem might be related to the use of an uppercase module name (GRIB_API) in the UM, but a lowercase module name (grib_api) in the ARCHER module. I'm not sure about this, though.

Note that I had to update the 10.4 suite from NEXCS to 10.4.1 for ARCHER, because the NCAS xc30-cce FCM config file @ 10.4 was missing the path to Dr. Hook, which caused the build to fail.


Change History (4)

comment:1 Changed 2 years ago by annette

  • Owner changed from um_support to annette
  • Status changed from new to accepted

comment:2 Changed 2 years ago by annette

  • Component changed from UM Model to FCM
  • Keywords grib fcm-make added
  • Status changed from accepted to pending

Hi Nick,

We don't actually use Grib API on ARCHER, and the paths aren't set in the configuration files. However that "use grib_api" statement should be protected with an ifdef which checks whether we use it or not. This wasn't introduced until r22468 - after 10.4.1 but before r24119 where the ARCHER configs were updated in the trunk.

I can see you merged your metum-goml branch up to r24119 - so that should include the change. In the suite though, you are using 61169 and not 61170 (where the update is made), so maybe it didn't work for some other reason.

In which case you just need the change from this file, and hopefully it will work:

I am not sure why we didn't have this problem for other 10.4 suites though. Looking at a simple suite u-aa774@11173 I had config_root_path=fcm:um.xm-br/dev/annetteosprey/vn10.4_archer, which includes the changes that were added at r24119, but there aren't any other branches.


comment:3 Changed 2 years ago by annette

Hi Nick,

I have gone back a couple of steps to try and build from vn10.4, and if I set the following the build completes OK for me:


I think probably trying to build from an intermediate trunk version is just introducting too many inconsistencies. Using the ARCHER config branch ensures we are just pulling in the changes we need for the build to work.


comment:4 Changed 2 years ago by swr05npk

  • Resolution set to fixed
  • Status changed from pending to closed

Hi Annette,

Thanks! That works for me. I'm sure I tried something like that at one stage, but I think I was trying to pull the config file from the trunk at the revision at which your ~10.4.1 changes went in, rather than pulling from your branch.


Note: See TracTickets for help on using tickets.