Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

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

  • log.compile_1209.txt
    628.6 KB · Views: 2
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
 
Top