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 during compiling WRF

jc sun

New member
Hello, everyone
I had an error compiling WRF, as shown below.I will also upload log files. I hope someone can help me solve this problem.
module_firebrand_spotting_mpi.f90(195): error #6285: There is no matching specific subroutine for this generic subroutine call. [MPI_RECV]
CALL mpi_recv(recvbuffsz, sz, MPI_INTEGER, fromid, recvtag, MPI_COMM_WORLD, stat, ierr)
-----------------^
module_firebrand_spotting_mpi.f90(225): error #6285: There is no matching specific subroutine for this generic subroutine call. [MPI_RECV]
CALL mpi_recv(recvbuffsz, sz, MPI_FLOAT, fromid, recvtag, MPI_COMM_WORLD, stat, ierr)
-----------------^
module_firebrand_spotting_mpi.f90(256): error #6285: There is no matching specific subroutine for this generic subroutine call. [MPI_RECV]
CALL mpi_recv(recvbuffsz, sz, MPI_INTEGER, fromid, recvtag, MPI_COMM_WORLD, stat, ierr)
-----------------^
module_firebrand_spotting_mpi.f90(503): error #6285: There is no matching specific subroutine for this generic subroutine call. [MPI_SEND]
CALL mpi_send(nbr, sz, MPI_INTEGER, sendto, tag, MPI_COMM_WORLD, ierr)
-----------------^
module_firebrand_spotting_mpi.f90(691): error #6285: There is no matching specific subroutine for this generic subroutine call. [MPI_SEND]
CALL mpi_send(nbr, sz, MPI_INTEGER, sendto, tag, MPI_COMM_WORLD, ierr)
-------------^
module_firebrand_spotting_mpi.f90(717): error #6285: There is no matching specific subroutine for this generic subroutine call. [MPI_SEND]
CALL mpi_send(nbr, sz, MPI_FLOAT, sendto, tag, MPI_COMM_WORLD, ierr)
-------------^
module_firebrand_spotting_mpi.f90(745): error #6285: There is no matching specific subroutine for this generic subroutine call. [MPI_SEND]
CALL mpi_send(nbr, sz, MPI_INTEGER, sendto, tag, MPI_COMM_WORLD, ierr)
-------------^
compilation aborted for module_firebrand_spotting_mpi.f90 (code 1)
 

Attachments

  • log.txt
    756.6 KB · Views: 4
Hi,
Can you try to compile this again, but with only using a single processor this time? Make sure you follow these steps:
1. ./clean -a
2. ./configure
3. ./compile em_real -j 1 >& log.txt

and then send me your new log.txt and your configure.wrf file. Quick question: did you make any modifications to the WRF source code, or is this pristine, out-of-the-box code? Thanks!
 

Hello, kwerner​

Here is the log file and configure.wrf file after I follow your instructions. I got the WRF model from Github without any modifications.Thanks!
 

Attachments

  • log.txt
    932.9 KB · Views: 1
  • configure.wrf.txt
    23.7 KB · Views: 2
Thanks for sending those. The only real difference I can see if your setup and mine is that you've got references to HDF5 in your configure.wrf file. Are you planning to use firebrand stuff (for wildfires) when you run wrf? If not, then can you try to compile without it to see if that's the only thing causing your issue? I'm attaching a tar file. Unpack the tar file and it should contain two files. Place the Makefile in your WRF/phys/ directory, and place the depend.common file in WRF/main/. You may want to keep a copy of those original files just in case, but you can always get them again if need be. Then go to the main WRF directory and issue the same steps I gave you in my previous post (clean, configure, compile). Let me know if that makes any difference.
 

Attachments

  • no_firebrand.tar
    57.5 KB · Views: 11
Hi,kwerner
Thinks for your reply. I followed your advice, but I found a new problem. The first one is after I commented out the part of hdf5 in bashrc. In the compilation process still prompts the use of hdf5 library. How do I modify this? The second is that I add the files you provide to the corresponding directory still does not appear exe file.
 

Attachments

  • 20221013220947.jpg
    20221013220947.jpg
    17.8 KB · Views: 15
  • 20221013220956.jpg
    20221013220956.jpg
    35.9 KB · Views: 15
  • log.compile.txt
    871 KB · Views: 2
  • configure.wrf.txt
    23.7 KB · Views: 2
Hi,
I don't necessarily think you need to remove your HDF5 stuff. It's okay to compile with HDF5. I was only letting you know that's the only difference in our configure files. The second message you sent, regarding the Jasper lib should not be an issue.

As for your new compile, if you are definitely using the files I sent, and if you cleaned the code before configuring and recompiling, the model should not be able to find anything related to firebrand_spotting, and should not be building a file called module_firebrand_spotting.f90.

Code:
../phys/module_firebrand_spotting.f90(179): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [MODULE_FIREBRAND_SPOTTING_MPI]
        USE module_firebrand_spotting_mpi,            ONLY: fs_mpi_init
------------^

Can you issue the following?

Code:
grep -i firebrand main/depend.common

grep -i firebrand phys/Makefile

and make sure it's not finding anything? Then just to be certain, go back to your WRF directory and issue

Code:
./clean -a

./configure

./compile em_real -j 1 >& log.compile.txt

and see if you're still getting the same error. Thanks!
 
Hi, kwerner
Thank you for your reply. I have followed your way and redone the operation. After I placed the files you gave me in the appropriate folders, I performed
grep -i firebrand main/depend.common grep -i firebrand phys/Makefile
and was not prompted for anything, then I proceeded to
./clean -a ./configure ./compile em_real -j 64 >& log.compile.txt
also did not generate the exe file. I will attach my latest log file.
 

Attachments

  • 1666190450634.png
    1666190450634.png
    3.5 KB · Views: 13
  • log.compile.txt
    828.7 KB · Views: 3
  • configure.wrf .txt
    23.7 KB · Views: 1
I think I know what the problem is.

You appear to be using Intel Compilers based on your configure.wrf file (from your file)

DESCRIPTION = INTEL ($SFC/$SCC)
DMPARALLEL = 1
OMPCPP = # -D_OPENMP
OMP = # -qopenmp -fpp -auto
OMPCC = # -qopenmp -fpp -auto
SFC = ifort
SCC = icc
CCOMP = icc
DM_FC = mpif90 -f90=$(SFC)
DM_CC = mpicc -cc=$(SCC)
FC = time $(DM_FC)
CC = $(DM_CC) -DFSEEKO64_OK
LD = $(FC)

Are you using the intel mpi compilers as well? If so that may be the problem.
 
I think I know what the problem is.

You appear to be using Intel Compilers based on your configure.wrf file (from your file)



Are you using the intel mpi compilers as well? If so that may be the problem.
Thank you for your answer. I am indeed using the intel mpi compiler as well, so how do I solve this problem, do I use mpirun compilation?
For example
mpirun -n 1 . /configure
mpirun -n 1 . /compile em_real
 
Thank you for your answer. I am indeed using the intel mpi compiler as well, so how do I solve this problem, do I use mpirun compilation?
For example
mpirun -n 1 . /configure
mpirun -n 1 . /compile em_real
Take a look at this post and make sure all the steps were followed.


There is a good chance that you will need to reinstall your libraries again to make sure they are using the correct intel compilers.
 
Top