Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/CHARACTER(*))

Where is this error coming from? I can’t find a workaorund for this one.

mpif90 -c -cpp -o trc_oce.o -I/home/sustain-biome/Desktop/nemo_4.2.2/cfgs/MY_GYRE/BLD/inc -fdefault-real-8 -O3 -funroll-all-loops -fcray-pointer -ffree-line-length-none -I/home/sustain-biome/Desktop/XIOS/xios-2/inc -I/usr/include -I/usr/include/hdf5/serial -c /home/sustain-biome/Desktop/nemo_4.2.2/cfgs/MY_GYRE/BLD/ppsrc/nemo/trc_oce.f90
/home/sustain-biome/Desktop/nemo_4.2.2/cfgs/MY_GYRE/BLD/ppsrc/nemo/timing.f90:526:25:

523 |          CALL MPI_GATHER(s_timer%cname     , 20, MPI_CHARACTER,   &
|                         2
…
526 |          CALL MPI_GATHER(s_timer%tsum_clock     , 1, MPI_DOUBLE_PRECISION,   &
|                         1
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/CHARACTER(*)).
/home/sustain-biome/Desktop/nemo_4.2.2/cfgs/MY_GYRE/BLD/ppsrc/nemo/timing.f90:527:25:

524 |                          sl_timer_glob%cname, 20, MPI_CHARACTER,   &
|                         2
…
527 |                          sl_timer_glob%tsum_clock, 1, MPI_DOUBLE_PRECISION,   &
|                         1
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/CHARACTER(*)).
/home/sustain-biome/Desktop/nemo_4.2.2/cfgs/MY_GYRE/BLD/ppsrc/nemo/timing.f90:529:25:

523 |          CALL MPI_GATHER(s_timer%cname     , 20, MPI_CHARACTER,   &
|                         2
…
529 |          CALL MPI_GATHER(s_timer%tsum_cpu     , 1, MPI_DOUBLE_PRECISION,   &
|                         1
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/CHARACTER(*)).
/home/sustain-biome/Desktop/nemo_4.2.2/cfgs/MY_GYRE/BLD/ppsrc/nemo/timing.f90:530:25:

524 |                          sl_timer_glob%cname, 20, MPI_CHARACTER,   &
|                         2
…
530 |                          sl_timer_glob%tsum_cpu, 1, MPI_DOUBLE_PRECISION,   &
|                         1
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/CHARACTER(*)).
/home/sustain-biome/Desktop/nemo_4.2.2/cfgs/MY_GYRE/BLD/ppsrc/nemo/timing.f90:532:25:

523 |          CALL MPI_GATHER(s_timer%cname     , 20, MPI_CHARACTER,   &
|                         2
…
532 |          CALL MPI_GATHER(s_timer%niter     , 1, MPI_INTEGER,   &
|                         1
Error: Type mismatch between actual argument at (1) and actual argument at (2) (INTEGER(4)/CHARACTER(*)).
/home/sustain-biome/Desktop/nemo_4.2.2/cfgs/MY_GYRE/BLD/ppsrc/nemo/timing.f90:533:25:

524 |                          sl_timer_glob%cname, 20, MPI_CHARACTER,   &
|                         2
…
533 |                          sl_timer_glob%niter, 1, MPI_INTEGER,   &
|                         1
Error: Type mismatch between actual argument at (1) and actual argument at (2) (INTEGER(4)/CHARACTER(*)).
/home/sustain-biome/Desktop/nemo_4.2.2/cfgs/MY_GYRE/BLD/ppsrc/nemo/timing.f90:373:23:

373 |       CALL MPI_GATHER( (/compute_time, waiting_time(1), waiting_time(2), elapsed_time/),   &
|                       1
…
523 |          CALL MPI_GATHER(s_timer%cname     , 20, MPI_CHARACTER,   &
|                         2
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/CHARACTER(*)).
/home/sustain-biome/Desktop/nemo_4.2.2/cfgs/MY_GYRE/BLD/ppsrc/nemo/timing.f90:374:48:

374 |          &             4, MPI_DOUBLE_PRECISION, timing_glob, 4, MPI_DOUBLE_PRECISION, 0, MPI_COMM_OCE, icode)
|                                                1
…
524 |                          sl_timer_glob%cname, 20, MPI_CHARACTER,   &
|                         2
Error: Type mismatch between actual argument at (1) and actual argument at (2) (REAL(8)/CHARACTER(*)).
fcm_internal compile failed (256)

Hello!
You can add -fallow-argument-mismatch flag to %FCFLAGS in your arch file. It helped me.

1 Like

Thank you for this! It worked. I wonder if the template didn’t include this line? But yes, the configuration already ran