[MITgcm-support] Issue compiling offline model with TAF on ARCHER

Dan Jones dcjones.work at gmail.com
Wed Nov 4 18:32:30 EST 2015


Hi all,

I am trying to compile an offline adjoint configuration of MITgcm using TAF
on the ARCHER HPC system.  I received some errors that I don't know how to
address.  I was able to get a very similar set of errors compiling the
verification exercise "tutorial_dic_adjoffline", which I thought would be
easier to discuss an diagnose than my own configuration.

Here is the error:

addummy_in_stepping.o: In function `addummy_in_stepping_':

addummy_in_stepping.f:(.text+0x101a): undefined reference to
`adexch_uv_3d_rl_'

addummy_in_stepping.f:(.text+0x1033): undefined reference to
`adexch_uv_xy_rs_'

addummy_in_stepping.f:(.text+0x1042): undefined reference to `adexch_xy_rs_'

addummy_in_stepping.f:(.text+0x1051): undefined reference to `adexch_xy_rs_'

copy_ad_uv_outp.o: In function `copy_ad_uv_outp_':

copy_ad_uv_outp.f:(.text+0x36e): undefined reference to `adexch_uv_3d_rl_'

monitor_ad.o: In function `admonitor_':

monitor_ad.f:(.text+0xc0d): undefined reference to `adexch_uv_3d_rl_'

the_model_main.o: In function `the_model_main_':

the_model_main.f:(.text+0x147): undefined reference to `mdthe_main_loop_'

make[1]: *** [mitgcmuv_ad] Error 1

make[1]: Leaving directory
`/home1/n01/n01/dannes1/MITgcm_c65i/verification/tutorial_dic_adjoffline/build_ad'

make: *** [ad_exe_target] Error 2

It's true...some of the requested 'adexch' subroutines are not defined in
MITgcm.  For example, let's grep one of the function names in the
fully-linked build directory:

~/MITgcm_c65i/verification/tutorial_dic_adjoffline/build_ad> grep -i
adexch_uv_3d_rl *

ad_input_code.f:c$taf SUBROUTINE exch_uv_3d_rl   ADNAME = adexch_uv_3d_rl

addummy_in_stepping.F:         CALL ADEXCH_UV_3D_RL( aduVel,advVel, .TRUE.,
Nr, myThid )

addummy_in_stepping.f:         CALL ADEXCH_UV_3D_RL( aduVel,advVel, .TRUE.,
Nr, myThid )

Binary file addummy_in_stepping.o matches

copy_ad_uv_outp.F:        CALL ADEXCH_UV_3D_RL( wSign,nNz,myThid,
uFldOut,vFldOut )

copy_ad_uv_outp.F:        CALL ADEXCH_UV_3D_RL( uFldOut,vFldOut,
wSign,nNz,myThid )

copy_ad_uv_outp.f:        CALL ADEXCH_UV_3D_RL( uFldOut,vFldOut,
wSign,nNz,myThid )

Binary file copy_ad_uv_outp.o matches

exch1_ad.flow:c$taf SUBROUTINE exch_uv_3d_rl   ADNAME = adexch_uv_3d_rl

exch1_ad.flowdir:c$taf SUBROUTINE exch_uv_3d_rl   ADNAME = adexch_uv_3d_rl

monitor_ad.F:          CALL ADEXCH_UV_3D_RL( aduVel, advVel, .TRUE., Nr,
myThid )

monitor_ad.f:          CALL ADEXCH_UV_3D_RL( aduVel, advVel, .TRUE., Nr,
myThid )

Binary file monitor_ad.o matches

I see TAF directives and calls, but not subroutine definitions.  Why do
some of these definitions seem to be missing?

Note that these errors *only* show up if the 'offline' package is turned on
in code_ad/packages.conf.

A little configuration info:
- Source:  MITgcm c65i
- TAF version 2.9.13
- Tried with Intel ifort compiler 14.0.4 and current ARCHER default GNU
compiler
- Using default adjoint build options file
($ROOTDIR/tools/adjoint_options/adjoint_default)

Thanks,
Dan

----------------------------------------------------------
Dr Dan Jones

Oceanographer
British Antarctic Survey <http://www.bas.ac.uk/>, NERC

----------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mitgcm.org/pipermail/mitgcm-support/attachments/20151104/aed79618/attachment.htm>


More information about the MITgcm-support mailing list