DOI-USGS / COAWST

COAWST modeling system git repository
Other
100 stars 48 forks source link

Compile error with WC13 I4DVAR #259

Open x1wu opened 1 month ago

x1wu commented 1 month ago

Hi, I am trying to compile WC13 I4DVAR from COAWST version 3.4. I have MPICH, netcdf and MCT installed using intel compiler. I also compiled libarpack.a and libparpack.a and these two files are under '/home/eb/COAWST/Lib/ARPACK_intel'. In the coawst.bash file, I provide the directories as:

export MCT_INCDIR=/home/eb/COAWST/Lib/MCT_intel/include export MCT_LIBDIR=/home/eb/COAWST/Lib/MCT_intel/lib

export NETCDF_INCDIR=/home/eb/apps/netcdf-ifort/netcdf/include export NETCDF_LIBDIR=/home/eb/apps/netcdf-ifort/netcdf/lib

export PARPACK_LIBDIR=/home/eb/COAWST/Lib/ARPACK_intel export ARPACK_LIBDIR=/home/eb/COAWST/Lib/ARPACK_intel

and the MPI and compiler are:

export USE_MPI=on # distributed-memory parallelism export USE_MPIF90=on # compile with mpif90 script export which_MPI=mpich # compile with MPICH library

export which_MPI=mpich2 # compile with MPICH2 library

export which_MPI=openmpi # compile with OpenMPI library

export USE_OpenMP=on # shared-memory parallelism

export FORT=ifort

export FORT=gfortran

export FORT=pgi

export USE_DEBUG= # use Fortran debugging flags export USE_LARGE=on # activate 64-bit compilation export USE_NETCDF4=on # compile with NetCDF-4 library

export USE_PARALLEL_IO=on # Parallel I/O with Netcdf-4/HDF5

export USE_MY_LIBS=on # use my library paths below

When I compile WC13 I4DVAR, I got the following error message:

ar: creating /home/eb/Projects/WC13/I4DVAR/compile/Build/libUTIL.a ranlib /home/eb/Projects/WC13/I4DVAR/compile/Build/libUTIL.a /home/eb/apps/mpich-3.4.2/bin/mpif90 -fp-model precise -ip -O3 -traceback -fp-model precise -ip -O3 -traceback /home/eb/Projects/WC13/I4DVAR/compile/Build/roms_import.o /home/eb/Projects/WC13/I4DVAR/compile/Build/get_sparse_matrix.o /home/eb/Projects/WC13/I4DVAR/compile/Build/get_wrf_moving_grids.o /home/eb/Projects/WC13/I4DVAR/compile/Build/master.o /home/eb/Projects/WC13/I4DVAR/compile/Build/roms_export.o /home/eb/Projects/WC13/I4DVAR/compile/Build/read_coawst_par.o /home/eb/Projects/WC13/I4DVAR/compile/Build/propagator.o /home/eb/Projects/WC13/I4DVAR/compile/Build/get_numswan_grids.o /home/eb/Projects/WC13/I4DVAR/compile/Build/mct_coupler_utils.o /home/eb/Projects/WC13/I4DVAR/compile/Build/read_model_inputs.o /home/eb/Projects/WC13/I4DVAR/compile/Build/ocean_coupler.o /home/eb/Projects/WC13/I4DVAR/compile/Build/coupler.o /home/eb/Projects/WC13/I4DVAR/compile/Build/mod_coupler_iounits.o /home/eb/Projects/WC13/I4DVAR/compile/Build/esmf_roms.o /home/eb/Projects/WC13/I4DVAR/compile/Build/ocean_control.o /home/eb/Projects/WC13/I4DVAR/compile/Build/ww3_iounits.o -o /home/eb/Projects/WC13/I4DVAR/compile/coawstM /home/eb/Projects/WC13/I4DVAR/compile/Build/libADM.a /home/eb/Projects/WC13/I4DVAR/compile/Build/libADM_bio.a /home/eb/Projects/WC13/I4DVAR/compile/Build/libTLM.a /home/eb/Projects/WC13/I4DVAR/compile/Build/libTLM_bio.a /home/eb/Projects/WC13/I4DVAR/compile/Build/libNLM.a /home/eb/Projects/WC13/I4DVAR/compile/Build/libNLM_bio.a /home/eb/Projects/WC13/I4DVAR/compile/Build/libNLM_sed.a /home/eb/Projects/WC13/I4DVAR/compile/Build/libNLM_wec.a /home/eb/Projects/WC13/I4DVAR/compile/Build/libNLM_veg.a /home/eb/Projects/WC13/I4DVAR/compile/Build/libANA.a /home/eb/Projects/WC13/I4DVAR/compile/Build/libUTIL.a /home/eb/Projects/WC13/I4DVAR/compile/Build/libDRIVER.a /home/eb/Projects/WC13/I4DVAR/compile/Build/libMODS.a /home/eb/Projects/WC13/I4DVAR/compile/Build/libNLM.a -L/home/eb/apps/netcdf-ifort/netcdf/lib -lnetcdff -L/home/eb/apps/netcdf-ifort/zlib/include -L/home/eb/apps/netcdf-ifort/szlib/lib -L/home/eb/apps/netcdf-ifort/hdf5/lib -L/home/eb/apps/netcdf-ifort/netcdf/lib -lnetcdf -lnetcdf -lm -L/home/eb/COAWST/Lib/ARPACK_intel -lparpack -L/home/eb/COAWST/Lib/ARPACK_intel -larpack /home/eb/Projects/WC13/I4DVAR/compile/Build/mct_coupler_params.o /home/eb/Projects/WC13/I4DVAR/compile/Build/libDRIVER.a(i4dvar.o): In function i4dvar_mod_mp_background_': i4dvar.f90:(.text+0xc33): undefined reference towrt_ini_mod_mp_wrtfrc' i4dvar.f90:(.text+0xefd): undefined reference to wrt_ini_mod_mp_wrt_frc_' i4dvar.f90:(.text+0xf91): undefined reference todefmod' i4dvar.f90:(.text+0x1029): undefined reference to wrt_ini_mod_mp_wrt_ini_' /home/eb/Projects/WC13/I4DVAR/compile/Build/libDRIVER.a(i4dvar.o): In functioni4dvar_mod_mpincrement': i4dvar.f90:(.text+0x1a6f): undefined reference to tl_main3d_' i4dvar.f90:(.text+0x1abb): undefined reference toadinitial' i4dvar.f90:(.text+0x1c77): undefined reference to def_hessian_' i4dvar.f90:(.text+0x1d2f): undefined reference totlinitial' i4dvar.f90:(.text+0x1f6b): undefined reference to tl_wrt_ini_' i4dvar.f90:(.text+0x1fa7): undefined reference totl_wrtini' i4dvar.f90:(.text+0x1fe3): undefined reference to tl_wrt_ini_' i4dvar.f90:(.text+0x249e): undefined reference toadmain3d' i4dvar.f90:(.text+0x25f5): undefined reference to get_state_' i4dvar.f90:(.text+0x2676): undefined reference togetstate' i4dvar.f90:(.text+0x26f8): undefined reference to get_state_' i4dvar.f90:(.text+0x277d): undefined reference togetstate' i4dvar.f90:(.text+0x287c): undefined reference to ad_variability_mod_mp_ad_variability_' i4dvar.f90:(.text+0x2899): undefined reference toad_convolution_mod_mp_adconvolution' i4dvar.f90:(.text+0x28b6): undefined reference to cost_grad_mod_mp_cost_grad_' i4dvar.f90:(.text+0x2a36): undefined reference togetstate' i4dvar.f90:(.text+0x2bc4): undefined reference to cgradient_mod_mp_cgradient_' i4dvar.f90:(.text+0x2c89): undefined reference togetstate' i4dvar.f90:(.text+0x2d04): undefined reference to back_cost_mod_mp_back_cost_' i4dvar.f90:(.text+0x2e72): undefined reference toad_wrthis' i4dvar.f90:(.text+0x3509): undefined reference to tl_wrt_ini_' i4dvar.f90:(.text+0x35ba): undefined reference togetstate' i4dvar.f90:(.text+0x363c): undefined reference to get_state_' i4dvar.f90:(.text+0x36f6): undefined reference totl_convolution_mod_mp_tlconvolution' i4dvar.f90:(.text+0x370c): undefined reference to tl_variability_mod_mp_tl_variability_' i4dvar.f90:(.text+0x375e): undefined reference totl_wrtini'

..............

pre_step3d.f90:(.text+0x1c3d5): undefined reference to `mp_exchange_mod_mp_mpexchange4d' make: *** [/home/eb/Projects/WC13/I4DVAR/compile/coawstM] Error 1

I have searched on the ROMS forum (https://www.myroms.org/forum/viewtopic.php?p=13179&hilit=libparpack&sid=c3c3d7f1680ff0414446878801e72e6c#p13179). But I still do not know which step goes wrong. The header file and 'ARmake.inc' file are attached. Any help will be appreciated!

Thanks!

ARmake.txt wc13.txt log_compile.txt

jcwarner-usgs commented 1 month ago

We are up to v3.8 COAWST now, and i cant go back to 3.4

If you are using the adjoint, i suggest you use the Rutgers version directly. they have the code on github now: https://github.com/myroms/roms

x1wu commented 1 month ago

thanks a lot, John! I just downloaded the Rutgers version and tested WC13 I4DVAR using the same compiler and the ARPACK library. It works well and the test runs successfully. I am going to update to COAWST v3.8 to see how it goes.