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

grid_rotate Make Error

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.

dashline

Member
when I compile the grid_rotate, I get the error as followed:
Code:
[tianxj@ln1%tianhe grid_rotate]$ make
mpif90 grid_rotate.f90 -o grid_rotate -m64 -O2 -ffree-line-length-none -ffree-form -Wall -I/vol6/software/io_tools/netcdf/mpi/4.4/include -L/vol6/software/io_tools/netcdf/mpi/4.4/lib -lnetcdff -L/vol6/software/io_tools/hdf5/mpi/1.8.11/lib -L/vol6/software/io_tools/pnetcdf/1.6.1/lib -L/vol6/software/io_tools/netcdf/mpi/4.4/lib -lnetcdf -lnetcdf
ifort: command line warning #10006: ignoring unknown option '-ffree-line-length-none'
ifort: command line warning #10006: ignoring unknown option '-ffree-form'
ifort: command line warning #10157: ignoring option '-W'; argument is of wrong type
grid_rotate.f90(102): error #6632: Keyword arguments are invalid without an explicit interface.   [EXITSTAT]
      call execute_command_line(copyCmd, exitstat=copyStat)
-----------------------------------------^
compilation aborted for grid_rotate.f90 (code 1)
make: *** [grid_rotate] Error 1
I think it's the problem of FFLAGS = -m64 -O2 -ffree-line-length-none -ffree-form -Wall, but I don't konw how to configure.
 
The Makefile is set up with Fortran compiler flags suitable for the GNU Fortran compiler (gfortran). If you're using the Intel fortran compiler (ifort), setting
Code:
FFLAGS = -O2 -free
in the Makefile should work.

The error message
Code:
grid_rotate.f90(102): error #6632: Keyword arguments are invalid without an explicit interface.   [EXITSTAT]
      call execute_command_line(copyCmd, exitstat=copyStat)
-----------------------------------------^
suggests that the version of ifort that you have doesn't support some parts of the Fortran 2008 standard (which provides for the 'execute_command_line' call). Which version of ifort do you have (you can check with 'ifort --version')?
 
The version of the compiler I'm using now is as follow:
Code:
[tianxj@ln1%tianhe grid_rotate]$ ifort --version
ifort (IFORT) 13.0.0 20120731
Copyright (C) 1985-2012 Intel Corporation.  All rights reserved.
And I try the Intel Compiler v18, it works. Is it the compatibilty problem of Intel Compiler v13?
My usual environment is Intel Compiler v13. Do I need to change the environment to Intel v18 once I want to use the grid_rotate compiled with Intel v18?
Thanks!
 
This does seem like a compatibility problem with the Intel 13 compilers (in the sense that they apparently don't support the 'execute_command_line' call that is part of the Fortran 2008 standard). If you have the Intel 18 compilers available, you could use those when compiling the grid_rotate program, but it might be worth considering using the Intel 18 compilers for everything -- grid_rotate, init_atmosphere_model, atmosphere_model, etc.
 
Top