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

(RESOLVED) (WRF dm+sm): referencia a `__kmpc_dispatch_next_4' sin definir

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.

JCollins

New member
Hi all.

I am compiling the WRF with (dm+sm) and using Intel compilers. The compilation ends correctly. When compiling WPS (serial) only ungrib.exe is generated. The geogrid and metgrid executables are missing. The same thing does not happen to me when I compile WRF with (dmpar), since WPS compiles correctly.

I also did a test with WRF with (smpar) and I have the same problem as with (dm+sm).

Did the same thing happen to someone?
 
Hi,
Can you please attach the following:
configure.wrf
configure.wps
compile log for WPS

Thanks,
Kelly
 
Hi.

I attach the files.

Thanks.
 

Attachments

  • compile.log
    117.6 KB · Views: 72
  • configure.wps
    3.3 KB · Views: 70
  • configure.wrf
    23.1 KB · Views: 64
Hi,
Thanks for sending those. The error you are getting during the WPS compile is due to the fact that you compiled WRF with the dm+sm option, and since the geogrid and metgrid programs make use of the I/O from the WRF compile, they are trying to link against the I/O for dm+sm and they need some OpenMP information. Try the following:

1) ./clean -a
2) reconfigure
3) open up the configure.wps file and modify the 'WRF_LIB' line from:
Code:
WRF_LIB         =       -L$(WRF_DIR)/external/io_grib1 -lio_grib1 \
                        -L$(WRF_DIR)/external/io_grib_share -lio_grib_share \
                        -L$(WRF_DIR)/external/io_int -lwrfio_int \
                        -L$(WRF_DIR)/external/io_netcdf -lwrfio_nf \
                        -L$(NETCDF)/lib -lnetcdff -lnetcdf
to (adding the ending part - which should be correct for an Intel compiler):
Code:
WRF_LIB         =       -L$(WRF_DIR)/external/io_grib1 -lio_grib1 \
                        -L$(WRF_DIR)/external/io_grib_share -lio_grib_share \
                        -L$(WRF_DIR)/external/io_int -lwrfio_int \
                        -L$(WRF_DIR)/external/io_netcdf -lwrfio_nf \
                        -L$(NETCDF)/lib -lnetcdff -lnetcdf -liomp5 -lpthread

4) save the configure.wps file and recompile.

Let me know if that makes a difference.

Kelly
 
Hi Jayanti,
For gfortran, you should follow the same procedure as above, but instead, add
-lgomp
So it should look like:
Code:
WRF_LIB         =       -L$(WRF_DIR)/external/io_grib1 -lio_grib1 \
                        -L$(WRF_DIR)/external/io_grib_share -lio_grib_share \
                        -L$(WRF_DIR)/external/io_int -lwrfio_int \
                        -L$(WRF_DIR)/external/io_netcdf -lwrfio_nf \
                        -L$(NETCDF)/lib -lnetcdff -lnetcdf -lgomp
 
Top