Error in compiling WRF

AliceCRAES

New member
Hi there, I got error in compiling WRF with GNU 13.1.0.

These are the errors I have:

Error: Dummy argument ‘datasetname’ with INTENT(IN) in variable definition context (actual argument to INTENT = OUT/INOUT) at (1)
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (rank-1 and scalar)
Error: Type mismatch in argument ‘field’ at (1); passed INTEGER(4) to REAL(8)
Error: Type mismatch in argument ‘xfield’ at (1); passed INTEGER(4) to REAL(4)
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (rank-1 and scalar)
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (rank-1 and scalar)
make[3]: [makefile:28: wrf_io.o] Error 1 (ignored)
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-3)
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-3)
make[3]: [makefile:66: field_routines.o] Error 1 (ignored)
make[3]: [makefile:19: libwrfio_nf.a] Error 1 (ignored)
make[3]: [makefile:20: libwrfio_nf.a] Error 1 (ignored)
Error: Rank mismatch in argument ‘fileindex’ at (1) (scalar and rank-1)
Error: Rank mismatch in argument ‘grib_tables’ at (1) (scalar and rank-1)
Error: Rank mismatch in argument ‘fileindex’ at (1) (scalar and rank-1)
Error: Rank mismatch in argument ‘grib_tables’ at (1) (scalar and rank-1)
make[4]: [../io_grib_share/build/compile_rules.mk:43: io_grib1.o] Error 1 (ignored)
make[4]: [../io_grib_share/build/library_rules.mk:106: thisdir_archive] Error 1 (ignored)
../../frame/pack_utils.o ../../frame/module_internal_header_util.o ../../frame/module_driver_constants.o ../../frame/module_machine.o ../../frame/module_wrf_error.o ../../frame/wrf_debug.o libwrfio_int.a ; \
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(4)/COMPLEX(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(4)/REAL(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(4)/COMPLEX(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/COMPLEX(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(4)/REAL(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(8)/REAL(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(4)/COMPLEX(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/COMPLEX(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(4)/REAL(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(8)/REAL(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(4)/COMPLEX(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(4)/REAL(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/COMPLEX(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(8)/REAL(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(4)/COMPLEX(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(4)/COMPLEX(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/COMPLEX(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(4)/REAL(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(8)/REAL(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(4)/REAL(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/COMPLEX(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/COMPLEX(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(8)/REAL(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(8)/REAL(8)).
make[3]: [Makefile:28: cmfm1b.o] Error 1 (ignored)
make[3]: [Makefile:29: zmfm1b.o] Error 1 (ignored)

I have tried several solutions posted online, but none of them worked. Could you help me please?
 

Attachments

Hi,
We are typically interested in the first "Error" (with a capital 'E') listed in your log file. The first one I see is

Code:
gfortran   -O2 -ftree-vectorize -funroll-loops -w -ffree-form -ffree-line-length-none -fconvert=big-endian -frecord-marker=4  -o wrf_io.o  -I/home/user/Build_WRF/LIBRARIES/netcdf/include -I../ioapi_share -c wrf_io.f
wrf_io.f:1498:36:

 1498 |   CALL ext_ncd_open_for_read_begin( DatasetName, Comm1, Comm2, SysDepInfo, DataHandle, Status )
      |                                    1
Error: Dummy argument ‘datasetname’ with INTENT(IN) in variable definition context (actual argument to INTENT = OUT/INOUT) at (1)

This is a known issue with versions of WRF prior to 4.4.1 and with GNU V10+ compilers. The code modifications to resolve the issue are listed in this code commit. Make sure to clean, reconfigure, and recompile the code after making the changes.

An alternative would be to use the latest version of WRF (V4.5.1), if that's an option for you.
 
Hi there, I got error in compiling WRF with GNU 13.1.0.

These are the errors I have:

Error: Dummy argument ‘datasetname’ with INTENT(IN) in variable definition context (actual argument to INTENT = OUT/INOUT) at (1)
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (rank-1 and scalar)
Error: Type mismatch in argument ‘field’ at (1); passed INTEGER(4) to REAL(8)
Error: Type mismatch in argument ‘xfield’ at (1); passed INTEGER(4) to REAL(4)
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (rank-1 and scalar)
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (rank-1 and scalar)
make[3]: [makefile:28: wrf_io.o] Error 1 (ignored)
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-3)
Error: Rank mismatch between actual argument at (1) and actual argument at (2) (scalar and rank-3)
make[3]: [makefile:66: field_routines.o] Error 1 (ignored)
make[3]: [makefile:19: libwrfio_nf.a] Error 1 (ignored)
make[3]: [makefile:20: libwrfio_nf.a] Error 1 (ignored)
Error: Rank mismatch in argument ‘fileindex’ at (1) (scalar and rank-1)
Error: Rank mismatch in argument ‘grib_tables’ at (1) (scalar and rank-1)
Error: Rank mismatch in argument ‘fileindex’ at (1) (scalar and rank-1)
Error: Rank mismatch in argument ‘grib_tables’ at (1) (scalar and rank-1)
make[4]: [../io_grib_share/build/compile_rules.mk:43: io_grib1.o] Error 1 (ignored)
make[4]: [../io_grib_share/build/library_rules.mk:106: thisdir_archive] Error 1 (ignored)
../../frame/pack_utils.o ../../frame/module_internal_header_util.o ../../frame/module_driver_constants.o ../../frame/module_machine.o ../../frame/module_wrf_error.o ../../frame/wrf_debug.o libwrfio_int.a ; \
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(4)/COMPLEX(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(4)/REAL(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(4)/COMPLEX(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/COMPLEX(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(4)/REAL(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(8)/REAL(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(4)/COMPLEX(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/COMPLEX(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(4)/REAL(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(8)/REAL(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(4)/COMPLEX(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(4)/REAL(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/COMPLEX(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(8)/REAL(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(4)/COMPLEX(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(4)/COMPLEX(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/COMPLEX(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(4)/REAL(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(8)/REAL(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(4)/REAL(4)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/COMPLEX(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/COMPLEX(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(8)/REAL(8)).
Error: Type mismatch between actual argument at (1) and actual argument at (2) (COMPLEX(8)/REAL(8)).
make[3]: [Makefile:28: cmfm1b.o] Error 1 (ignored)
make[3]: [Makefile:29: zmfm1b.o] Error 1 (ignored)

I have tried several solutions posted online, but none of them worked. Could you help me please?
You'll need some extra cflags and recompile all your libraries again.

I believe if I remember correctly it's
--fallow-argument-mismatch and --fallow-invalid-boz
 
Back
Top