Compiling COAWST_v3.6 errror
Compiling COAWST_v3.6 errror
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.
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 329 times
-
- build.log
- (1.81 MiB) Downloaded 369 times
Re: Compiling COAWST_v3.6 errror
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.
-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.
Re: Compiling COAWST_v3.6 errror
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).
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.
At the beginning of your ROMS build the Intel compiled version of NetCDF is used to retrieve netcdf.mod and typesizes.mod:/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
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.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
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.
Re: Compiling COAWST_v3.6 errror
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
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
Re: Compiling COAWST_v3.6 errror
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.
Two files, including coash.bash and build.log, which are attached in attachment.
Please help me to solve this problem.
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
Please help me to solve this problem.
- Attachments
-
- coawst.bash
- (20.96 KiB) Downloaded 363 times
-
- build.log
- (1.75 MiB) Downloaded 383 times
Re: Compiling COAWST_v3.6 errror
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
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
Re: Compiling COAWST_v3.6 errror
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:
Can you kindly help me address this problem.
Many thank!
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.
Many thank!
Re: Compiling COAWST_v3.6 errror
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/
https://forum.wrfforum.com/
Re: Compiling COAWST_v3.6 errror
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:
Do you have any suggestions to address this?
Thank you!
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
Thank you!
Re: Compiling COAWST_v3.6 errror
lets move this conversation over here. put a post here:
https://github.com/jcwarner-usgs/COAWST/issues
https://github.com/jcwarner-usgs/COAWST/issues