Hi, I am trying to run a test case of the Wavewatch III model. I compiled the routines with ifort and all of the programs run as they should, except for the last one (ww3_multi) that gives me this error:
MPI: Global rank 1 is aborting with error code 51.
Process ID: 21874, Host: r1i1n0, Program: /u/emilioe/WW3/exe/ww3_multi
MPI: --------stack traceback-------
MPI: Using host libthread_db library "/lib64/libthread_db.so.1".
MPI: Attaching to program: /proc/21874/exe, process 21874
MPI: [Thread debugging using libthread_db enabled]
MPI: [New Thread 47480284834560 (LWP 21874)]
MPI: 0x00002b2edcfb76f5 in waitpid () from /lib64/libpthread.so.0
MPI: (gdb) #0 0x00002b2edcfb76f5 in waitpid () from /lib64/libpthread.so.0
MPI: #1 0x00002b2edcb972dc in MPI_SGI_stacktraceback (
MPI: header=<value optimized out>) at sig.c:98
MPI: #2 0x00002b2edcb22872 in print_traceback (ecode=51) at abort.c:168
MPI: #3 0x00002b2edcb229e4 in PMPI_Abort (comm=<value optimized out>,
MPI: errorcode=51) at abort.c:59
MPI: #4 0x00002b2edcb22a29 in pmpi_abort__ () from /usr/lib64/libmpi.so
MPI: #5 0x00000000006b5573 in w3servmd_mp_extcde_ ()
MPI: #6 0x0000000000649cc3 in w3iogrmd_mp_w3iogr_ ()
MPI: #7 0x00000000005ac98d in w3initmd_mp_w3init_ ()
MPI: #8 0x00000000004c8fc5 in wminitmd_mp_wminit_ ()
MPI: #9 0x0000000000404750 in w3mlti () at ww3_multi.F90:134
MPI: #10 0x000000000040450c in main ()
MPI: (gdb) The program is running. Quit anyway (and detach it)? (y or n) [answered Y; input not from terminal]
MPI: Detaching from program: /proc/21874/exe, process 21874
MPI: -----stack traceback ends-----
MPI: MPI_COMM_WORLD rank 1 has terminated without calling MPI_Finalize()
MPI: aborting job
Does anyone have an idea of what is going on here? Any help/suggestion will be truly appreciated!
This is a guess....
Your program has (appears to have) a C main as opposed to Fortran PROGRAM entry.
ww3_multi.F90 is being called from the C main, which in turn appears to be initializing MPI
There is nothing inherently wrong with this design...
... provided that the Fortran runtime system is properly initialized.
See the IVF documentation: