unable to compile files under - WRFV3/external/atm_ocn

All things involving the setup (compiling, NetCDF, etc.) of the WRF Model itself.

unable to compile files under - WRFV3/external/atm_ocn

Postby puneet336 » Thu Mar 22, 2018 2:26 am

Dear All,

I am trying to compile wrf 3.8 for nmm_real case using intel -17x compilers.
the error message i am getting -

Code: Select all
time mpiifort -f90=ifort -o wrf.exe  -O3 -ip -fp-model precise -w -ftz -align all -fno-alias -FR -convert big_endian    -ip    wrf.o ../main/module_wrf_top.o libwrflib.a /home/user/MySoftwares/intel/WRF/3.8/H217rtofs/WRFV3/external/fftpack/fftpack5/libfftpack.a /home/user/MySoftwares/intel/WRF/3.8/H217rtofs/WRFV3/external/io_grib1/libio_grib1.a /home/user/MySoftwares/intel/WRF/3.8/H217rtofs/WRFV3/external/io_grib_share/libio_grib_share.a /home/user/MySoftwares/intel/WRF/3.8/H217rtofs/WRFV3/external/io_int/libwrfio_int.a -L/home/user/MySoftwares/intel/WRF/3.8/H217rtofs/WRFV3/external/esmf_time_f90 -lesmf_time /home/user/MySoftwares/intel/WRF/3.8/H217rtofs/WRFV3/external/RSL_LITE/librsl_lite.a /home/user/MySoftwares/intel/WRF/3.8/H217rtofs/WRFV3/frame/module_internal_header_util.o /home/user/MySoftwares/intel/WRF/3.8/H217rtofs/WRFV3/frame/pack_utils.o  -L/home/user/MySoftwares/intel/WRF/3.8/H217rtofs/WRFV3/external/io_netcdf -lwrfio_nf -L/home/apps/SiteSoftwares/intel/NETCDF_C_F_CXX/4.6.0_4.4.4_4.3.0/lib -lnetcdff -lnetcdf
libwrflib.a(module_dm.o): In function `module_dm_mp_hwrf_coupler_init_':
module_dm.f90:(.text+0xaa729): undefined reference to `atm_cmp_start_'
libwrflib.a(solve_nmm.o): In function `solve_nmm_':
solve_nmm.f90:(.text+0x7c61): undefined reference to `atm_tstep_init_'
solve_nmm.f90:(.text+0x14ed9): undefined reference to `atm_getsst_'
solve_nmm.f90:(.text+0x16629): undefined reference to `atm_getcur_'
solve_nmm.f90:(.text+0x17d29): undefined reference to `atm_getwstate_'
solve_nmm.f90:(.text+0x1fc7d): undefined reference to `atm_dofluxes_'
solve_nmm.f90:(.text+0x24bc7): undefined reference to `atm_prepwindp_'
solve_nmm.f90:(.text+0x3dac8): undefined reference to `atm_sendfluxes_'
solve_nmm.f90:(.text+0x3dacf): undefined reference to `atm_sendwindp_'
libwrflib.a(module_io_quilt.o): In function `module_wrf_quilt_mp_init_module_wrf_quilt_':
module_io_quilt.f90:(.text+0xda9f): undefined reference to `atm_set_comm_'
module_io_quilt.f90:(.text+0xdaa8): undefined reference to `atm_leave_coupling_'


on some searching in code, i found the missing symbols in source files under - WRFV3/external/atm_ocn.
I manually tried manual compilation and got errors-
Code: Select all
user@machine1:~/MySoftwares/intel/WRF/3.8/H217rtofs/WRFV3/external/atm_ocn> FC='mpiifort' make
cc -E  -DDM_PARALLEL  cmpcomm.F  > cmpcomm.f90
No supported cpu target is set, CRAY_CPU_TARGET=x86-64 will be used.
Load a valid targeting module or set CRAY_CPU_TARGET
mpiifort -o cmpcomm.o -c -I../io_int  cmpcomm.f90
cmpcomm.F(89): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: , :: : )
     &  'CMP_INIT: illegal value of kind_REAL='
-----------------------------------------------^
cmpcomm.F(94): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: , :: : )
     &  'CMP_INIT: illegal value of kind_INTEGER='
--------------------------------------------------^
cmpcomm.F(154): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: , :: : )
     &
---------------^
cmpcomm.F(352): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: , )
     &
----------^
cmpcomm.F(354): error #5082: Syntax error, found ',' when expecting one of: => = . [ % ( :
     &    process_rank_local,component_master_rank_local
----------------------------^
cmpcomm.F(366): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: , )
     &
----------^
cmpcomm.F(351): error #7094: Unmatched parentheses within a character format specifier.   ['("*** CMP_SEND: process_rank_local=",i4," ]
     &    '("*** CMP_SEND: process_rank_local=",i4,"  ***"/'            &
----------------------------------------------------------^
cmpcomm.F(354): error #6793: The POINTER attribute is required.   [PROCESS_RANK_LOCAL]
     &    process_rank_local,component_master_rank_local
----------^
cmpcomm.F(365): error #7094: Unmatched parentheses within a character format specifier.   ['("*** CMP_SEND: illegal value of FlexLev",]
     &     '("*** CMP_SEND: illegal value of FlexLev",i9/'              &
--------------------------------------------------------^
cmpcomm.F(410): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: , )
     &
----------^
cmpcomm.F(412): error #5082: Syntax error, found ',' when expecting one of: => = . [ % ( :
     &    process_rank_local,component_master_rank_local
----------------------------^
cmpcomm.F(424): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: , )
     &
----------^
cmpcomm.F(409): error #7094: Unmatched parentheses within a character format specifier.   ['("*** CMP_SEND: process_rank_local=",i4," ]
     &      '("*** CMP_SEND: process_rank_local=",i4,"  ***"/'          &
------------------------------------------------------------^
cmpcomm.F(412): error #6793: The POINTER attribute is required.   [PROCESS_RANK_LOCAL]
     &    process_rank_local,component_master_rank_local
----------^
cmpcomm.F(423): error #7094: Unmatched parentheses within a character format specifier.   ['("*** CMP_SEND: illegal value of FlexLev",]
     &    '("*** CMP_SEND: illegal value of FlexLev",i9/ '              &
-------------------------------------------------------^
cmpcomm.F(471): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: , )
     &
----------^
cmpcomm.F(473): error #5082: Syntax error, found ',' when expecting one of: => = . [ % ( :
     &    process_rank_local,component_master_rank_local
----------------------------^
cmpcomm.F(485): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: , )
     &
----------^
cmpcomm.F(470): error #7094: Unmatched parentheses within a character format specifier.   ['("*** CMP_SEND: process_rank_local=",i4," ]
     &    '("*** CMP_SEND: process_rank_local=",i4,"  ***"/ '           &
----------------------------------------------------------^
cmpcomm.F(473): error #6793: The POINTER attribute is required.   [PROCESS_RANK_LOCAL]
     &    process_rank_local,component_master_rank_local
----------^
cmpcomm.F(484): error #7094: Unmatched parentheses within a character format specifier.   ['("*** CMP_SEND: illegal value of FlexLev",]
     &    '("*** CMP_SEND: illegal value of FlexLev",i9/ '              &
-------------------------------------------------------^
cmpcomm.F(530): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: , )
     &
----------^
cmpcomm.F(532): error #5082: Syntax error, found ',' when expecting one of: => = . [ % ( :
     &    process_rank_local,component_master_rank_local
----------------------------^
cmpcomm.f90(1165): catastrophic error: Too many errors, exiting
compilation aborted for cmpcomm.f90 (code 1)
Makefile:19: recipe for target 'cmpcomm.o' failed
make: *** [cmpcomm.o] Error 1


for a start , i did
user1@machine1:~/MySoftwares/intel/WRF/3.8/H217rtofs/WRFV3/external/atm_ocn> cc -E -DDM_PARALLEL cmpcomm.F > cmpcomm.f90

now, on attempting compilation:
Code: Select all
user1@machine1:~/MySoftwares/intel/WRF/3.8/H217rtofs/WRFV3/external/atm_ocn> mpiifort -c cmpcomm.f90
cmpcomm.F(89): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: , :: : )
     &  'CMP_INIT: illegal value of kind_REAL='
-----------------------------------------------^
cmpcomm.F(94): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: , :: : )
     &  'CMP_INIT: illegal value of kind_INTEGER='
--------------------------------------------------^
cmpcomm.F(154): error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: , :: : )
     &
---------------^


I made some changes in the original source code, now with modified code -

user1@machine1:~/MySoftwares/intel/WRF/3.8/H217rtofs/WRFV3/external/atm_ocn_modified> cc -E -DDM_PARALLEL cmpcomm.F > cmpcomm.f90
No supported cpu target is set, CRAY_CPU_TARGET=x86-64 will be used.
Load a valid targeting module or set CRAY_CPU_TARGET
user1@machine1:~/MySoftwares/intel/WRF/3.8/H217rtofs/WRFV3/external/atm_ocn_modifies> mpiifort -c cmpcomm.f90
user1@machine1:~/MySoftwares/intel/WRF/3.8/H217rtofs/WRFV3/external/atm_ocn_modifies> echo $?
0

I am unable to upload attachment, so unable to share the list of changes, but in short - changing

call wrf_debug(2,'CMP_INIT: stopped, rcvd ibuffer(1) value ' &
& 'is not C id: ',ibuffer(1))
to
call wrf_debug(2,'CMP_INIT: stopped, rcvd ibuffer(1) value &
& is not C id: ',ibuffer(1))
sorted out the compilation issue for this file.

Q: Am i missing out on some compilation flags - which are creating compilation issues with the original code ?.

Eagerly awaiting your reply.
puneet336
 
Posts: 8
Joined: Thu Mar 22, 2018 2:02 am

Return to Installation

Who is online

Users browsing this forum: No registered users and 3 guests

cron