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.