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

geogrid.exe and metgrid.exe not created when compiling dmpar WPS

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.

yoghurt-lemon

New member
Dear all
I successfully compiled serial WPS, but I need more larger meomory. Then I try to compile the damper WPS, only the ungrib.exe can be produced. I have searched this problem in forum, but I can't find a solution.
The file of log.compile and configure.wps are given below.
If any one faces the same problem please respond.
 

Attachments

  • configure.wps
    3.3 KB · Views: 62
  • log.compile
    452.4 KB · Views: 69
Hi,
The error message:
Code:
mpif90 -FR -convert big_endian -c constants_module.f90 -I/xue_home/whuang/WRF4.2/WRF4.2/external/io_netcdf -I/xue_home/whuang/WRF4.2/WRF4.2/external/io_grib_share -I/xue_home/whuang/WRF4.2/WRF4.2/external/io_grib1 -I/xue_home/whuang/WRF4.2/WRF4.2/external/io_int -I/xue_home/whuang/WRF4.2/WRF4.2/inc -I/opt/netcdf/netcdf-4.3.2-icc-ifort/include
gfortran: big_endian: No such file or directory
gfortran: unrecognized option '-convert'
make[1]: [constants_module.o] Error 1 (ignored)

seems to be complaining about something that has to do with your NetCDF. There are a couple of things you should check.

1) Does your compiled WRF actually lie in this directory (is it correct to have 'WRF4.2" twice)?
Code:
WRF_DIR = /xue_home/whuang/WRF4.2/WRF4.2
If that is not correct, please make the change to your configure.wps file, after you issue a "./clean -a" and reconfigure.

2) If that's not the problem, check on your NetCDF library. The library for WPS must be identical to the one you used to build WRF (built with the same compiler and version of the compiler, and must be the same NetCDF version, as well). Is it still in the same location as when you built WRF? Has it been updated since you built WRF? Do you still have the $NETCDF path set? Is it the same setting as when you built WRF?
 
I have checked the path of WRF, it's correct.
I think the error is not caused by netCDF, because I also tried to compile dmpar WPSV4.1, it works well.
It seems that the error message is from incorrect gfortran command, however, I used ifort to compile. Is there something wrong in the dampar compilation part of wps source code?
 
I just tested a compile of WPSV4.2 with an Intel compiler, choosing the dmpar option and it works fine, so I don't think it's the code. A couple of things you can try:

1) Check to make sure this path exists:
Code:
opt/netcdf/netcdf-4.3.2-icc-ifort/include
2) In your configure.wps file, find the lines
Code:
FFLAGS              = -FR -convert big_endian
F77FLAGS            = -FI -convert big_endian
and set those to
Code:
FFLAGS              = -FR -fconvert=big_endian
F77FLAGS            = -FI -fconvert=big_endian
You'll first need to "clean -a" the code, then configure, then modify the configure file, save it, and try to compile again. See if that changes anything.

3) Try to compile with a serial option to see if that makes any difference.
 
I'm sorry for the late reply.
1) I have checked the path of netcdf, it's correct. This version of netcdf has used to install other versions of WRF.
2) I tried to change the configurations in configure.wps according to your suggestions, but it reports some errors, for example
f951: error: unrecognized command line option "-fconvert=big_endian"
3) The serial WPS4.2 is successfully installed.
 
Thanks for trying those tests. One more question: Are you using the same MPI and same version you used to compile WRF?

As a last test, if you haven't done so already, you could open a clean directory and build WRF (with dmpar) in there, then build WPS (with dmpar) in that directory, without logging out of the window between builds/configurations. This would ensure that all the libraries are the same.
 
Top