Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compile error with WC13 I4DVAR #259

Open
x1wu opened this issue May 20, 2024 · 2 comments
Open

Compile error with WC13 I4DVAR #259

x1wu opened this issue May 20, 2024 · 2 comments

Comments

@x1wu
Copy link

x1wu commented May 20, 2024

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 to wrt_ini_mod_mp_wrt_frc_'
i4dvar.f90:(.text+0xefd): undefined reference to wrt_ini_mod_mp_wrt_frc_' i4dvar.f90:(.text+0xf91): undefined reference to def_mod_'
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 function i4dvar_mod_mp_increment_':
i4dvar.f90:(.text+0x1a6f): undefined reference to tl_main3d_' i4dvar.f90:(.text+0x1abb): undefined reference to ad_initial_'
i4dvar.f90:(.text+0x1c77): undefined reference to def_hessian_' i4dvar.f90:(.text+0x1d2f): undefined reference to tl_initial_'
i4dvar.f90:(.text+0x1f6b): undefined reference to tl_wrt_ini_' i4dvar.f90:(.text+0x1fa7): undefined reference to tl_wrt_ini_'
i4dvar.f90:(.text+0x1fe3): undefined reference to tl_wrt_ini_' i4dvar.f90:(.text+0x249e): undefined reference to ad_main3d_'
i4dvar.f90:(.text+0x25f5): undefined reference to get_state_' i4dvar.f90:(.text+0x2676): undefined reference to get_state_'
i4dvar.f90:(.text+0x26f8): undefined reference to get_state_' i4dvar.f90:(.text+0x277d): undefined reference to get_state_'
i4dvar.f90:(.text+0x287c): undefined reference to ad_variability_mod_mp_ad_variability_' i4dvar.f90:(.text+0x2899): undefined reference to ad_convolution_mod_mp_ad_convolution_'
i4dvar.f90:(.text+0x28b6): undefined reference to cost_grad_mod_mp_cost_grad_' i4dvar.f90:(.text+0x2a36): undefined reference to get_state_'
i4dvar.f90:(.text+0x2bc4): undefined reference to cgradient_mod_mp_cgradient_' i4dvar.f90:(.text+0x2c89): undefined reference to get_state_'
i4dvar.f90:(.text+0x2d04): undefined reference to back_cost_mod_mp_back_cost_' i4dvar.f90:(.text+0x2e72): undefined reference to ad_wrt_his_'
i4dvar.f90:(.text+0x3509): undefined reference to tl_wrt_ini_' i4dvar.f90:(.text+0x35ba): undefined reference to get_state_'
i4dvar.f90:(.text+0x363c): undefined reference to get_state_' i4dvar.f90:(.text+0x36f6): undefined reference to tl_convolution_mod_mp_tl_convolution_'
i4dvar.f90:(.text+0x370c): undefined reference to tl_variability_mod_mp_tl_variability_' i4dvar.f90:(.text+0x375e): undefined reference to tl_wrt_ini_'

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

pre_step3d.f90:(.text+0x1c3d5): undefined reference to `mp_exchange_mod_mp_mp_exchange4d_'
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
Copy link
Collaborator

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
Copy link
Author

x1wu commented May 20, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants