Compiling COAWST_v3.6 errror

Discussion on computers, ROMS installation and compiling

Moderators: arango, robertson

Post Reply
Message
Author
agpc
Posts: 63
Joined: Mon Jul 27, 2020 7:44 pm
Location: Applied Geophysics Center (AGPC)

Compiling COAWST_v3.6 errror

#1 Unread post by agpc »

Dear all,
I've been installing COAWST model followed COAWST_User_Manual with Sandy Project, details are described in the attach files (coawst.bash). However, this process has some problems:
get_sparse_matrix.f90:(.text+0xd5): undefined reference to `netcdf_mp_nf90_open_'
and these errors are displayed in the log file which I have attached below.
Please help me or give me some suggestions to solve it.
Thank all.
Attachments
coawst.bash
(20.84 KiB) Downloaded 215 times
build.log
(1.81 MiB) Downloaded 232 times

jcwarner
Posts: 1172
Joined: Wed Dec 31, 2003 6:16 pm
Location: USGS, USA

Re: Compiling COAWST_v3.6 errror

#2 Unread post by jcwarner »

i think your problem is a general roms issue, and i think it has to do with the final link at the end. it is having trouble with the netcdf f90 libs. i see:

-L/work/apps/gnu_4.8.5/netcdf/4.3.3.1/lib -lnetcdff -L/work/apps/gnu_4.8.5/netcdf/4.3.3.1/lib -lnetcdf -lnetcdf

try to clean this up, remove the extra -lnetcdf. see if that helps. i have also seen the order be important.

User avatar
robertson
Site Admin
Posts: 219
Joined: Wed Feb 26, 2003 3:12 pm
Location: IMCS, Rutgers University

Re: Compiling COAWST_v3.6 errror

#3 Unread post by robertson »

It also looks like you're compiling with the Intel Fortran compiler but trying to link with a NetCDF compiled with GNU (highlighted in red).
/work/apps/intel/mvapich2/2.3.2/bin/mpif90 -fp-model precise -ip -O3 -traceback -check uninit -assume byterecl -I/work/users/weather/user/manh/COAWST/Lib/MCT/include -I/work/users/weather/user/manh/COAWST//WRF/main -I/work/users/weather/user/manh/COAWST//WRF/external/esmf_time_f90 -I/work/users/weather/user/manh/COAWST//WRF/frame -I/work/users/weather/user/manh/COAWST//WRF/share -fp-model precise -ip -O3 -traceback -check uninit ./Build/roms_import.o ./Build/get_sparse_matrix.o ./Build/master.o ./Build/roms_export.o ./Build/read_coawst_par.o ./Build/get_wrf_moving_grids.o ./Build/get_numswan_grids.o ./Build/mct_coupler_utils.o ./Build/propagator.o ./Build/read_model_inputs.o ./Build/ocean_coupler.o ./Build/coupler.o ./Build/mod_coupler_iounits.o ./Build/esmf_roms.o ./Build/ocean_control.o ./Build/ww3_iounits.o -o coawstM ./Build/libNLM.a ./Build/libNLM_bio.a ./Build/libNLM_sed.a ./Build/libNLM_wec.a ./Build/libNLM_veg.a ./Build/libANA.a ./Build/libUTIL.a ./Build/libMODS.a ./Build/libSWAN.a ./Build/libNLM.a -L/work/apps/gnu_4.8.5/netcdf/4.3.3.1/lib -lnetcdff -L/work/apps/gnu_4.8.5/netcdf/4.3.3.1/lib -lnetcdf -lnetcdf /work/users/weather/user/manh/COAWST/Build/mct_coupler_params.o -L/work/users/weather/user/manh/COAWST/Lib/MCT/lib -lmct -lmpeu WRF/main/module_wrf_top.o WRF/main/libwrflib.a WRF/external/fftpack/fftpack5/libfftpack.a WRF/external/io_grib1/libio_grib1.a WRF/external/io_grib_share/libio_grib_share.a WRF/external/io_int/libwrfio_int.a WRF/external/esmf_time_f90/libesmf_time.a WRF/external/RSL_LITE/librsl_lite.a WRF/frame/module_internal_header_util.o WRF/frame/pack_utils.o WRF/external/io_netcdf/libwrfio_nf.a
At the beginning of your ROMS build the Intel compiled version of NetCDF is used to retrieve netcdf.mod and typesizes.mod:
cp -f /work/apps/intel_2016/netcdf/4.3.3.1/include/netcdf.mod ./Build
cp -f /work/apps/intel_2016/netcdf/4.3.3.1/include/typesizes.mod ./Build
but when you get to the ROMS linking stage the GNU versions are listed but also don't seem to include any hdf5 libraries that are typically needed with NetCDF-4. The stranger thing is that the WRF compile seems to include the correct libraries in its link lines.

However, there is an error at the linking stage for em_wrf (wrf.exe) that is complaining about an undefined reference to MAIN__. This often means that the wrf.o (or whatever object contains the main program) either hasn't been compiled yet or failed compilation. It looks like, in this case, it wasn't compiled yet. In my experience WRF often fails to build in parallel (make -j 4) and requires a follow-up serial build to ensure everything is compiled.

My guess is that if you can fix your build script to link with the correct NetCDF libraries your undefined references will go away. If not, then your linker might need the order changed like jcwarner mentioned. I'm not sure what your best option is for your WRF error or if the WRF executable is even needed for the COAWST system; jcwarner would have a better idea on that one.

jcwarner
Posts: 1172
Joined: Wed Dec 31, 2003 6:16 pm
Location: USGS, USA

Re: Compiling COAWST_v3.6 errror

#4 Unread post by jcwarner »

Thanks David.
dont worry about the wrf.error. I do not let the system build a wrf.exe, i do not let swan build a swan.exe, nor a ww3.exe etc. I just make libraries, pull them all together as a coawstM.

i agree with your netcdf analysis. thanks,
-j

agpc
Posts: 63
Joined: Mon Jul 27, 2020 7:44 pm
Location: Applied Geophysics Center (AGPC)

Re: Compiling COAWST_v3.6 errror

#5 Unread post by agpc »

Hi Jcwarner and Robertson,
Thank you for your useful suggestions.
I followed your suggestions and recompiled COAWST model with netcdf-Intel libs, I did not see any errors in ROMS, however it couldn't produce a wrf.exe file.

Code: Select all

ls main/
convert_em.F   Makefile                    module_wrf_top.o  real_em.F    tc_em.F        wrf.F
depend.common  module_initialize_real.mod  ndown_em.F        real_em.f90  tc_em.f90      wrf.f90
ideal_em.F     module_wrf_top.F            ndown_em.f90      real_em.o    tc_em.o        wrf.o
ideal_nmm.F    module_wrf_top.f90          ndown_em.o        real.exe     tc.exe         wrf_SST_ESMF.F
libwrflib.a    module_wrf_top.mod          ndown.exe         real_nmm.F   wrf_ESMFMod.F
Two files, including coash.bash and build.log, which are attached in attachment.
Please help me to solve this problem.
Attachments
coawst.bash
(20.96 KiB) Downloaded 207 times
build.log
(1.75 MiB) Downloaded 218 times

jcwarner
Posts: 1172
Joined: Wed Dec 31, 2003 6:16 pm
Location: USGS, USA

Re: Compiling COAWST_v3.6 errror

#6 Unread post by jcwarner »

your build.log shows a coawstM. So you are good to go.
the ls command display is messy, but i see a coawstM in there.
As i said earlier, it will not create a wrf.exe, I make it create a libwrf.a and then i link with that file.
-j

agpc
Posts: 63
Joined: Mon Jul 27, 2020 7:44 pm
Location: Applied Geophysics Center (AGPC)

Re: Compiling COAWST_v3.6 errror

#7 Unread post by agpc »

Hi jcwarner,
I run test case with NAM and RTG_SST data (included in ftp://ftp.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/) from 2020-08-01-00 to 2020-08-02-00, however when I run ./metgrid.exe, my model displayed:

Code: Select all

[weather@igplogin WPS]$ ./metgrid.exe 
Processing domain 1 of 2
 Processing 2020-08-01_00
    NAM
    RTG
WARNING: Field PRES has missing values at level 200100 at (i,j)=(1,1)
WARNING: Field GHT has missing values at level 200100 at (i,j)=(1,1)
WARNING: Field SOILHGT has missing values at level 200100 at (i,j)=(1,1)
WARNING: Field PSFC has missing values at level 200100 at (i,j)=(1,1)
WARNING: Field PMSL has missing values at level 201300 at (i,j)=(1,1)
ERROR: Missing values encountered in interpolated fields. Stopping.
Can you kindly help me address this problem.
Many thank!

jcwarner
Posts: 1172
Joined: Wed Dec 31, 2003 6:16 pm
Location: USGS, USA

Re: Compiling COAWST_v3.6 errror

#8 Unread post by jcwarner »

looks like a WRF/ WPS issue. I am not sure this is the correct forum for a question like that. try the WRF forum
https://forum.wrfforum.com/

agpc
Posts: 63
Joined: Mon Jul 27, 2020 7:44 pm
Location: Applied Geophysics Center (AGPC)

Re: Compiling COAWST_v3.6 errror

#9 Unread post by agpc »

Hi jcwarner,
I run coawstM program to run the WRF model however when I submitted a job or ran with command mpirun the model system didn't work. The error was displayed below:  

Code: Select all

[weather@igplogin COAWST]$ mpirun -np 20 ./coawstM > wrf_run1.out 
./coawstM: symbol lookup error: ./coawstM: undefined symbol: __libm_expf_table_64
./coawstM: symbol lookup error: ./coawstM: undefined symbol: __libm_expf_table_64
Do you have any suggestions to address this?
Thank you!

jcwarner
Posts: 1172
Joined: Wed Dec 31, 2003 6:16 pm
Location: USGS, USA

Re: Compiling COAWST_v3.6 errror

#10 Unread post by jcwarner »

lets move this conversation over here. put a post here:
https://github.com/jcwarner-usgs/COAWST/issues

Post Reply