LZN's Blog CodePlayer

【NOT solved】GFDL atmosphere dycore porting

2015-09-28
LZN

Now we try to setup GFDL dycore model on our Neptune platform. Following steps has been used:

  1. We exec the ./exp/fv/fms_runscript, then got the netcdf and mpi error. It seems that the model does not recognize the environmental variables associated with these lib. We add the flags directly to the compile sentence.
L35: $mkmf -p fms.x -t $template -c "-Duse_libMPI -Duse_netCDF -DUSE_LIMA -DSPMD -DLAND_BND_TRACERS" -a $sourcedir $pathnames /usr/local/include $sourcedir/shared/mpp/include $sourcedir/shared/include /home/yangsong3/soft/mpich314-intel/include /usr/netcdf-4331/include

And mkmf.template.ia64 file

LDFLAGS = -L/usr/local/lib -L/usr/netcdf-4331/lib -L/home/yangsong3/soft/mpich314-intel/lib #-lsma

We comment the “-lsma” flag because it is a flag specific to Cray machine.

Next, we compile again, frequently got this

ifort:  '-i_dynamic' not supported

google it, got this

https://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/486830

Regarding 1: -i_dynamic (the underscore form) was a option spelling used many many releases ago that was later mapped to -i-dynamic (the hyphen form) and then that form was depreciated in more current releases and it now maps to -shared-intel

So, we change it to -shared-intel, no more warning.

However, when it compiles for a long time (5min), we got error again, lots of:

/home/yangsong3/soft/GFDL_atm_dycores/exp/fv/../../src/shared/mpp/include/mpp_transmit_mpi.h:79: undefined reference to `mpi_recv_'

Then we change the ifort compile flag into mpif90, we got this

/home/yangsong3/soft/GFDL_atm_dycores/exp/fv/../../src/shared/mpp/include/mpp_io_misc.inc:116: undefined reference to `nf_inq_libvers_'

It really sucks.

#Last Edited on 20151004#

We finally stop trying and turn to CAM dynamical core simulation and it works really smooth over the CESM construction.

#Last Edited on 20151114#

 


Similar Posts

Comments