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

Build Error About make gfortran~

Goodjoboy

New member
Hi,
I am first trying to compiling the MPAS following tutorial practice guide. While I build init_atmosphere core, I put

# make gfortran CORE=init_atmosphere PRECISION=single AUTOCLEAN=true

and i get

dqkx@cuit:~/software/WRF4.0/MPAS-Model-8.1.0$ make gfortran CORE=init_atmosphere PRECISION=single AUTOCLEAN=true
NOTE: PRECISION=single is unnecessary, single is the default
( make all \
"FC_PARALLEL = mpif90" \
"CC_PARALLEL = mpicc" \
"CXX_PARALLEL = mpicxx" \
"FC_SERIAL = gfortran" \
"CC_SERIAL = gcc" \
"CXX_SERIAL = g++" \
"FFLAGS_PROMOTION = -fdefault-real-8 -fdefault-double-8" \
"FFLAGS_OPT = -O3 -ffree-line-length-none -fconvert=big-endian -ffree-form" \
"CFLAGS_OPT = -O3" \
"CXXFLAGS_OPT = -O3" \
"LDFLAGS_OPT = -O3" \
"FFLAGS_DEBUG = -g -ffree-line-length-none -fconvert=big-endian -ffree-form -fcheck=all -fbacktrace -ffpe-trap=invalid,zero,overflow" \
"CFLAGS_DEBUG = -g" \
"CXXFLAGS_DEBUG = -g" \
"LDFLAGS_DEBUG = -g" \
"FFLAGS_OMP = -fopenmp" \
"CFLAGS_OMP = -fopenmp" \
"FFLAGS_ACC =" \
"CFLAGS_ACC =" \
"PICFLAG = -fPIC" \
"BUILD_TARGET = gfortran" \
"CORE = init_atmosphere" \
"DEBUG = " \
"USE_PAPI = " \
"OPENMP = " \
"OPENACC = " \
"CPPFLAGS = -D_MPI" )
make[1]: Entering directory '/home/dqkx/software/WRF4.0/MPAS-Model-8.1.0'
NOTE: PRECISION=single is unnecessary, single is the default
Checking for a working PIO library...
PIO 1.x detected.
Checking for mpi_f08 support...
No working mpi_f08 module detected; using mpi module.
cd src; make FC="mpif90" \
CC="mpicc" \
CXX="mpicxx" \
SFC="gfortran" \
SCC="gcc" \
LINKER="mpif90" \
CFLAGS="-O3 "-DSINGLE_PRECISION"" \
CXXFLAGS="-O3 "-DSINGLE_PRECISION"" \
FFLAGS="-O3 -ffree-line-length-none -fconvert=big-endian -ffree-form" \
LDFLAGS="-O3" \
RM="rm -f" \
CPP="cpp -P -traditional" \
CPPFLAGS="-D_MPI -DCORE_INIT_ATMOSPHERE -DMPAS_NAMELIST_SUFFIX=init_atmosphere -DMPAS_EXE_NAME=init_atmosphere_model "-DSINGLE_PRECISION" -DMPAS_NATIVE_TIMERS -DMPAS_GIT_VERSION="unknown" -DMPAS_BUILD_TARGET=gfortran "-DMPAS_PIO_SUPPORT"" \
LIBS="-L/home/dqkx/software/WRF4.0/libraries/PIO/lib -lpio -L/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/lib -lnetcdff -lnetcdf -L/home/dqkx/software/WRF4.0/libraries/pnetcdf/lib -lpnetcdf" \
CPPINCLUDES=" -I/home/dqkx/software/WRF4.0/libraries/PIO/include -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include" \
FCINCLUDES=" -I/home/dqkx/software/WRF4.0/libraries/PIO/include -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include" \
CORE="init_atmosphere"\
AUTOCLEAN="false" \
GEN_F90="false" \
NAMELIST_SUFFIX="init_atmosphere" \
EXE_NAME="init_atmosphere_model"
make[2]: Entering directory '/home/dqkx/software/WRF4.0/MPAS-Model-8.1.0/src'
( cd external; make FC="mpif90" SFC="gfortran" CC="mpicc" SCC="gcc" FFLAGS="-O3 -ffree-line-length-none -fconvert=big-endian -ffree-form" CFLAGS="-O3 -DSINGLE_PRECISION" CPP="cpp -P -traditional" NETCDF="/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine" CORE="init_atmosphere" all )
make[3]: Entering directory '/home/dqkx/software/WRF4.0/MPAS-Model-8.1.0/src/external'
( cd esmf_time_f90; make FC="mpif90" FFLAGS="-O3 -ffree-line-length-none -fconvert=big-endian -ffree-form" CPP="cpp -P -traditional" CPPFLAGS="-D_MPI -DCORE_INIT_ATMOSPHERE -DMPAS_NAMELIST_SUFFIX=init_atmosphere -DMPAS_EXE_NAME=init_atmosphere_model -DSINGLE_PRECISION -DMPAS_NATIVE_TIMERS -DMPAS_GIT_VERSION=unknown -DMPAS_BUILD_TARGET=gfortran -DMPAS_PIO_SUPPORT -DHIDE_MPI" GEN_F90=false )
make[4]: Entering directory '/home/dqkx/software/WRF4.0/MPAS-Model-8.1.0/src/external/esmf_time_f90'
ar -ru libesmf_time.a *.o
ar: `u' modifier ignored since `D' is the default (see `U')
make[4]: Leaving directory '/home/dqkx/software/WRF4.0/MPAS-Model-8.1.0/src/external/esmf_time_f90'
( cd ezxml; make OBJFILE="ezxml.o" )
make[4]: Entering directory '/home/dqkx/software/WRF4.0/MPAS-Model-8.1.0/src/external/ezxml'
make[4]: 'ezxml.o' is up to date.
make[4]: Leaving directory '/home/dqkx/software/WRF4.0/MPAS-Model-8.1.0/src/external/ezxml'
make -C SMIOL
make[4]: Entering directory '/home/dqkx/software/WRF4.0/MPAS-Model-8.1.0/src/external/SMIOL'
make[4]: Nothing to be done for 'all'.
make[4]: Leaving directory '/home/dqkx/software/WRF4.0/MPAS-Model-8.1.0/src/external/SMIOL'
make[3]: Leaving directory '/home/dqkx/software/WRF4.0/MPAS-Model-8.1.0/src/external'
( cd framework; make CPPFLAGS="-D_MPI -DCORE_INIT_ATMOSPHERE -DMPAS_NAMELIST_SUFFIX=init_atmosphere -DMPAS_EXE_NAME=init_atmosphere_model -DSINGLE_PRECISION -DMPAS_NATIVE_TIMERS -DMPAS_GIT_VERSION=unknown -DMPAS_BUILD_TARGET=gfortran -DMPAS_PIO_SUPPORT" CPPINCLUDES="-I/home/dqkx/software/WRF4.0/libraries/PIO/include -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include" all )
make[3]: Entering directory '/home/dqkx/software/WRF4.0/MPAS-Model-8.1.0/src/framework'
rm -f mpas_io.o mpas_io.mod
mpif90 -D_MPI -DCORE_INIT_ATMOSPHERE -DMPAS_NAMELIST_SUFFIX=init_atmosphere -DMPAS_EXE_NAME=init_atmosphere_model -DSINGLE_PRECISION -DMPAS_NATIVE_TIMERS -DMPAS_GIT_VERSION=unknown -DMPAS_BUILD_TARGET=gfortran -DMPAS_PIO_SUPPORT -O3 -ffree-line-length-none -fconvert=big-endian -ffree-form -c mpas_io.F -I/home/dqkx/software/WRF4.0/libraries/PIO/include -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include -I/home/dqkx/software/WRF4.0/libraries/PIO/include -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include -I../external/esmf_time_f90
mpas_io.F:6432:25:

ierr_local = PIO_strerror(io_global_err, pio_string)
1
Error: Function ‘pio_strerror’ at (1) has no IMPLICIT type
Makefile:124: recipe for target 'mpas_io.o' failed
make[3]: *** [mpas_io.o] Error 1
make[3]: Leaving directory '/home/dqkx/software/WRF4.0/MPAS-Model-8.1.0/src/framework'
Makefile:31: recipe for target 'frame' failed
make[2]: *** [frame] Error 2
make[2]: Leaving directory '/home/dqkx/software/WRF4.0/MPAS-Model-8.1.0/src'
Makefile:1305: recipe for target 'mpas_main' failed
make[1]: *** [mpas_main] Error 2
make[1]: Leaving directory '/home/dqkx/software/WRF4.0/MPAS-Model-8.1.0'
Makefile:382: recipe for target 'gfortran' failed
make: *** [gfortran] Error 2

how can I build init_atmosphere core?
Looking forward to your reply
 
@Goodjoboy

It looks like you're using an old version of PIO:
Checking for a working PIO library...
PIO 1.x detected.

Which is then causing this error later on:
ierr_local = PIO_strerror(io_global_err, pio_string)
1
Error: Function ‘pio_strerror’ at (1) has no IMPLICIT type

I'd suggest one of two options:
  1. Try unset PIO before re-running your make ... command again, to use SMIOL instead of PIO. This is an alternate I/O library for MPAS and can be used by making sure you don't have the PIO variable in your environment.
  2. OR you or your sys admins (if you have them) should install a newer version of PIO on your system. When I use PIO, it is usually pio2_6_2.
Thanks for the context in your message!
 
Thanks!!
Then I choosed the second option and when I put
#CC=mpicc FC=mpifort cmake -DPIO_ENABLE_TIMING=OFF -DPIO_PATH=$DIR/PIO
and
# make
I get :
dqkx@cuit:~/software/WRF4.0/libraries/ParallelIO-pio2_6_2.tar_2/ParallelIO-pio2_6_2$ make
[ 42%] Built target pioc
[ 57%] Built target genf90
[ 57%] Building Fortran object src/flib/CMakeFiles/piof.dir/pio_kinds.F90.o
/home/dqkx/software/WRF4.0/libraries/ParallelIO-pio2_6_2.tar_2/ParallelIO-pio2_6_2/src/flib/pio_kinds.F90:19:2:

#endif
1~~~~
Fatal Error: mpif.h: No such file or directory
compilation terminated.
src/flib/CMakeFiles/piof.dir/build.make:126: recipe for target 'src/flib/CMakeFiles/piof.dir/pio_kinds.F90.o' failed
make[3]: *** [src/flib/CMakeFiles/piof.dir/pio_kinds.F90.o] Error 1
src/flib/CMakeFiles/piof.dir/build.make:142: recipe for target 'src/flib/CMakeFiles/piof.dir/pio_kinds.F90.o.provides' failed
make[2]: *** [src/flib/CMakeFiles/piof.dir/pio_kinds.F90.o.provides] Error 2
CMakeFiles/Makefile2:1195: recipe for target 'src/flib/CMakeFiles/piof.dir/all' failed
make[1]: *** [src/flib/CMakeFiles/piof.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
It seems like it tells me that there is no such file or directory, but I'm sure this file exists.


dqkx@cuit:~/software/WRF4.0/libraries/mpich/include$ pwd
/home/dqkx/software/WRF4.0/libraries/mpich/include
dqkx@cuit:~/software/WRF4.0/libraries/mpich/include$ ls
mpi_base.mod mpicxx.h mpi.h mpiof.h mpi_sizeofs.mod opa_primitives.h opa_util.h
mpi_constants.mod mpif.h mpi.mod mpio.h opa_config.h opa_queue.h primitives

-------------------------------------------------------
i wanna know how to fix this
 
I would guess you're missing things from your PATH variable. Make sure the directories containing your compiler, mpi library, and other PIO pre-requisites (like pnetcdf) are all added to your PATH and LD_LIBRARY_PATH variables.
 
Thanks! I have successfully reconfigured the environment variables as per your instructions.
Now there's a new problem:

dqkx@cuit:~/software/WRF4.0/libraries/ParallelIO-pio2_6_2.tar_2/ParallelIO-pio2_6_2$ cmake -DNetCDF_C_PATH=$DIR/netcdf/cfor_combine -DNetCDF_Fortran_PATH=$DIR/netcdf/cfor_combine -DPnetCDF_PATH=$DIR/pnetcdf -DMPICH_PATH=$DIR/mpich -DPIO_ENABLE_TIMING=OFF -DCMAKE_INSTALL_PREFIX=$DIR/pio -DCMAKE_C_COMPILER=$DIR/mpich/bin/mpicc -DCMAKE_Fortran_COMPILER=$DIR/mpich/bin/mpif90 -DCMAKE_CXX_COMPILER=$DIR/mpich/bin/mpicxx -DCMAKE_INCLUDE_PATH=$DIR/mpich/include
CMake Warning at CMakeLists.txt:249 (message):
gfortran version is 7.5.0


Fortran Library build is ON
-- MPIIO not detected and therefore disabled.
-- MPI Fortran module verified and enabled.
CMAKE_EXE_LINKER_FLAGS -L/home/dqkx/software/WRF4.0/libraries/grib2/lib
Compiler is GNU
CMAKE_EXE_LINKER_FLAGS -L/home/dqkx/software/WRF4.0/libraries/grib2/lib
-- Cannot build performance test without gptl timing library
-- Could NOT find MPE_C (missing: MPE_C_LIBRARY MPE_C_INCLUDE_DIR)
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- # PIO Configuration Summary
==============================

# General
-------
PIO Version: 2.6.2
Configured On: 2024年 05月 22日 星期三 18:29:42 CST
Host System: x86_64-Linux-5.4.0-152-generic
Build Directory: /home/dqkx/software/WRF4.0/libraries/ParallelIO-pio2_6_2.tar_2/ParallelIO-pio2_6_2
Install Prefix: /home/dqkx/software/WRF4.0/libraries/pio

# Compiling Options
-----------------
C Compiler: GNU 7.5.0
CFLAGS: -std=gnu99
CPPFLAGS: -DLINUX -DCPRGNU -DLOGGING -I/home/dqkx/software/WRF4.0/libraries/ParallelIO-pio2_6_2.tar_2/ParallelIO-pio2_6_2 -I/home/dqkx/software/WRF4.0/libraries/ParallelIO-pio2_6_2.tar_2/ParallelIO-pio2_6_2/src/clib -I/home/dqkx/software/WRF4.0/libraries/ParallelIO-pio2_6_2.tar_2/ParallelIO-pio2_6_2/src/clib -I/home/dqkx/software/WRF4.0/libraries/ParallelIO-pio2_6_2.tar_2/ParallelIO-pio2_6_2/src/clib -I/home/dqkx/software/WRF4.0/libraries/ParallelIO-pio2_6_2.tar_2/ParallelIO-pio2_6_2/src/clib/../ncint -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include
LDFLAGS: -L/home/dqkx/software/WRF4.0/libraries/grib2/lib
Shared Library: no
Static Library: yes
Extra libraries:

Fortran Compiler: GNU 7.5.0
FFLAGS: -m64
FCFLAGS:
More Fortran Flags: -DLINUX -DCPRGNU -I/home/dqkx/software/WRF4.0/libraries/ParallelIO-pio2_6_2.tar_2/ParallelIO-pio2_6_2 -I/home/dqkx/software/WRF4.0/libraries/ParallelIO-pio2_6_2.tar_2/ParallelIO-pio2_6_2/src/flib -I/home/dqkx/software/WRF4.0/libraries/ParallelIO-pio2_6_2.tar_2/ParallelIO-pio2_6_2/src/flib -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include

# Features
--------
PnetCDF Support: yes
SZIP Write Support: no
Parallel Filters: no
NetCDF/HDF5 Support: yes
NetCDF/HDF5 Par I/O: no
NetCDF Integration: no
PIO Logging: no
MPIEXEC: mpiexec
Fortran: yes

CMake Error at CMakeLists.txt:513 (target_link_libraries):
Cannot specify link libraries for target "pio" which is not built by this
project.


-- Configuring incomplete, errors occurred!
See also "/home/dqkx/software/WRF4.0/libraries/ParallelIO-pio2_6_2.tar_2/ParallelIO-pio2_6_2/CMakeFiles/CMakeOutput.log".
See also "/home/dqkx/software/WRF4.0/libraries/ParallelIO-pio2_6_2.tar_2/ParallelIO-pio2_6_2/CMakeFiles/CMakeError.log".
dqkx@cuit:~/software/WRF4.0/libraries/ParallelIO-pio2_6_2.tar_2/ParallelIO-pio2_6_2$


PS: my version of mpich is 3.0.4 ,when i use version 4.2.x,it shows missing MPI_Fortran
 
I don't work much with CMake, so I'm unsure exactly how to proceed here. It might be worth using just the configure script (and not CMake at all).

Continuing with CMake: I would recommend some way to "clean" your CMake project. I wonder if there are previous attempts that are making this more difficult? If you aren't already, consider doing "out-of-source" builds with CMake to easily delete a failed CMake attempt.

Thanks for clearly highlighting the issue (and still providing the context).
 
I apologize for asking these seemingly simple and stupid questions, but I can't really search the internet for a solution.
I choosed the version :pio1_7_1,because other versions of pio lack the "configure" file.
Here's how I installed it:


dqkx@cuit:~/software/WRF4.0/libraries/ParallelIO-pio1_7_1/pio$ export NETCDF_PATH=~/software/WRF4.0/libraries/netcdf/cfor_combine
dqkx@cuit:~/software/WRF4.0/libraries/ParallelIO-pio1_7_1/pio$ export PNETCDF_PATH=~/software/WRF4.0/libraries/pnetcdf
dqkx@cuit:~/software/WRF4.0/libraries/ParallelIO-pio1_7_1/pio$ CC=mpicc FC=mpif90 ./configure --enable-fortran --prefix=$DIR/PIO
configure: WARNING: unrecognized options: --enable-fortran
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether mpicc accepts -g... yes
checking for mpicc option to accept ISO C89... none needed
checking how to run the C preprocessor... mpicc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking whether we are using the GNU Fortran compiler... yes
checking whether mpif90 accepts -g... yes
checking for Fortran flag to compile .F90 files... none
checking for Fortran flag needed to accept free-form source... none
checking for Fortran flag needed to accept 132 column source lines... none
checking for Fortran flag to compile preprocessed .F files... none
checking how to define symbols for preprocessed Fortran... -D
checking for ftn... no
checking for mpif90... mpif90
checking for MPI_Init... yes
checking for mpif.h... yes
checking for Fortran flag to compile .F90 files... (cached) none
checking for mpi.mod... yes
checking Fortran support for c_sizeof()... yes
checking MPI-IO support in MPI implementation... yes
Full hostname= cuit
Hostname=cuit
Machine=x86_64
OS=Linux
checking Fortran 90 module extension... mod
checking Fortran 90 module inclusion flag... -I
using NETCDF_PATH from environment
checking for Fortran flag to compile .F90 files... (cached) none
checking for hdf5... yes
checking for H5open in -lhdf5... no
checking for H5Dclose in -lhdf5_hl... no
configure: Fortran not checked for yet
checking for netcdf... /home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine
checking for library containing nc_inq_libvers... -lnetcdf
checking for library containing NF_INQ_LIBVERS... -lnetcdff
checking for f90 netCDF interface... yes
checking for netcdf 4 API...
checking for nf90_inq_grps... yes
using PNETCDF_PATH from environment
checking for pnetcdf.inc in /home/dqkx/software/WRF4.0/libraries/pnetcdf/include... yes
checking for libpnetcdf.a in /home/dqkx/software/WRF4.0/libraries/pnetcdf/lib... yes

Output Variables: {CC=mpicc} {FC=mpif90} {CXX=g++} {MPICC=} {MPIFC=mpif90}{MPICXX=} {FPPFLAGS=} {LD=mpif90} {OPT=} {BIT64=} {REAL8=} {ENDIAN=} {FFLAGS=-m64 } {CFLAGS=-g -O2} {FCFLAGS= -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include} {FC_DEFINE=-D} {MPI_INC=} {MPI_LIB=} {MODINC=} {AR=ar} {ARFLAGS=cq} {USE_PNETCDF=yes} {PNETCDF_PATH=/home/dqkx/software/WRF4.0/libraries/pnetcdf} {USE_NETCDF=yes} {NETCDF_PATH=/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine} {USE_COMPRESSION=no} {CPPDEFS= -DSPMD -DHAVE_MPI -DUSEMPIIO -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF} {INCLUDEPATH= -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include} {LDLIBS= -L/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/lib -lnetcdff -lnetcdf -L/home/dqkx/software/WRF4.0/libraries/pnetcdf/lib -lpnetcdf} {DEBUG=no}

configure: creating ./config.status
config.status: creating Makefile.conf
config.status: creating config.h
configure: WARNING: unrecognized options: --enable-fortran
Please check the Makefile.conf
Have a nice day!
 
dqkx@cuit:~/software/WRF4.0/libraries/ParallelIO-pio1_7_1/pio$ make
Making dependencies for pio.F90 --> pio.d
Making dependencies for pio_kinds.F90 --> pio_kinds.d
Making dependencies for nf_mod.F90 --> nf_mod.d
Making dependencies for ionf_mod.F90 --> ionf_mod.d
Making dependencies for pio_types.F90 --> pio_types.d
Making dependencies for calcdecomp.F90 --> calcdecomp.d
Making dependencies for piolib_mod.F90 --> piolib_mod.d
Making dependencies for pio_mpi_utils.F90 --> pio_mpi_utils.d
Making dependencies for pio_nf_utils.F90 --> pio_nf_utils.d
Making dependencies for pio_utils.F90 --> pio_utils.d
Making dependencies for pio_msg_mod.F90 --> pio_msg_mod.d
Making dependencies for calcdisplace_mod.F90 --> calcdisplace_mod.d
Making dependencies for pio_msg_callbacks.F90 --> pio_msg_callbacks.d
Making dependencies for pio_support.F90 --> pio_support.d
Making dependencies for C_interface_mod.F90 --> C_interface_mod.d
Making dependencies for pionfatt_mod.F90 --> pionfatt_mod.d
Making dependencies for pionfread_mod.F90 --> pionfread_mod.d
Making dependencies for pionfwrite_mod.F90 --> pionfwrite_mod.d
Making dependencies for pionfput_mod.F90 --> pionfput_mod.d
Making dependencies for pionfget_mod.F90 --> pionfget_mod.d
Making dependencies for alloc_mod.F90 --> alloc_mod.d
Making dependencies for box_rearrange.F90 --> box_rearrange.d
Making dependencies for rearrange.F90 --> rearrange.d
Making dependencies for iompi_mod.F90 --> iompi_mod.d
Making dependencies for piodarray.F90 --> piodarray.d
Making dependencies for pio_spmd_utils.F90 --> pio_spmd_utils.d
Making dependencies for pio_msg_getput_callbacks.F90 --> pio_msg_getput_callbacks.d
Done updating dependencies
make[1]: Entering directory '/home/dqkx/software/WRF4.0/libraries/ParallelIO-pio1_7_1/pio'
mpif90 -c -DSPMD -DHAVE_MPI -DUSEMPIIO -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pio_kinds.F90
mpif90 -c -DSPMD -DHAVE_MPI -DUSEMPIIO -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pio_types.F90
mpif90 -c -DSPMD -DHAVE_MPI -DUSEMPIIO -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pio_support.F90
mpif90 -c -DSPMD -DHAVE_MPI -DUSEMPIIO -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include alloc_mod.F90
mpif90 -c -DSPMD -DHAVE_MPI -DUSEMPIIO -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pio_utils.F90
mpif90 -c -DSPMD -DHAVE_MPI -DUSEMPIIO -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include ionf_mod.F90
mpif90 -c -DSPMD -DHAVE_MPI -DUSEMPIIO -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pionfread_mod.F90
mpif90 -c -DSPMD -DHAVE_MPI -DUSEMPIIO -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pio_msg_mod.F90
mpif90 -c -DSPMD -DHAVE_MPI -DUSEMPIIO -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include C_interface_mod.F90
mpif90 -c -DSPMD -DHAVE_MPI -DUSEMPIIO -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include nf_mod.F90
mpif90 -c -DSPMD -DHAVE_MPI -DUSEMPIIO -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pionfwrite_mod.F90
mpif90 -c -DSPMD -DHAVE_MPI -DUSEMPIIO -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include piovdc.F90
mpif90 -c -DSPMD -DHAVE_MPI -DUSEMPIIO -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pio_mpi_utils.F90
mpif90 -c -DSPMD -DHAVE_MPI -DUSEMPIIO -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include iompi_mod.F90
iompi_mod.F90:273:26:


1
Error: ‘x’ argument of ‘c_sizeof’ intrinsic at (1) must be an interoperable data entity: Type shall have a character length of 1
Makefile:116: recipe for target 'iompi_mod.o' failed
make[1]: *** [iompi_mod.o] Error 1
make[1]: Leaving directory '/home/dqkx/software/WRF4.0/libraries/ParallelIO-pio1_7_1/pio'
Makefile:89: recipe for target 'all' failed
make: *** [all] Error 2
 
I queried that it might be a compiler error, so I made the change


dqkx@cuit:~/software/WRF4.0/libraries/ParallelIO-pio1_7_1/pio$ CC=gcc FC=gfortran ./configure --enable-fortran --prefix=$DIR/PIO
configure: WARNING: unrecognized options: --enable-fortran
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether byte ordering is bigendian... no
checking whether we are using the GNU Fortran compiler... yes
checking whether gfortran accepts -g... yes
checking for Fortran flag to compile .F90 files... none
checking for Fortran flag needed to accept free-form source... none
checking for Fortran flag needed to accept 132 column source lines... none
checking for Fortran flag to compile preprocessed .F files... none
checking how to define symbols for preprocessed Fortran... -D
checking for ftn... no
checking for mpif90... mpif90
checking for MPI_Init... yes
checking for mpif.h... yes
checking for Fortran flag to compile .F90 files... (cached) none
checking for mpi.mod... yes
checking Fortran support for c_sizeof()... yes
checking MPI-IO support in MPI implementation... no
Full hostname= cuit
Hostname=cuit
Machine=x86_64
OS=Linux
checking Fortran 90 module extension... mod
checking Fortran 90 module inclusion flag... -I
using NETCDF_PATH from environment
checking for Fortran flag to compile .F90 files... (cached) none
checking for hdf5... yes
checking for H5open in -lhdf5... no
checking for H5Dclose in -lhdf5_hl... no
configure: Fortran not checked for yet
checking for netcdf... /home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine
checking for library containing nc_inq_libvers... -lnetcdf
checking for library containing NF_INQ_LIBVERS... -lnetcdff
checking for f90 netCDF interface... yes
checking for netcdf 4 API...
checking for nf90_inq_grps... yes
using PNETCDF_PATH from environment
checking for pnetcdf.inc in /home/dqkx/software/WRF4.0/libraries/pnetcdf/include... yes
checking for libpnetcdf.a in /home/dqkx/software/WRF4.0/libraries/pnetcdf/lib... yes

Output Variables: {CC=gcc} {FC=gfortran} {CXX=g++} {MPICC=} {MPIFC=mpif90}{MPICXX=} {FPPFLAGS=} {LD=mpif90} {OPT=} {BIT64=} {REAL8=} {ENDIAN=} {FFLAGS=-m64 } {CFLAGS=-g -O2} {FCFLAGS= -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include} {FC_DEFINE=-D} {MPI_INC=} {MPI_LIB=} {MODINC=} {AR=ar} {ARFLAGS=cq} {USE_PNETCDF=yes} {PNETCDF_PATH=/home/dqkx/software/WRF4.0/libraries/pnetcdf} {USE_NETCDF=yes} {NETCDF_PATH=/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine} {USE_COMPRESSION=no} {CPPDEFS= -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF} {INCLUDEPATH= -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include} {LDLIBS= -L/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/lib -lnetcdff -lnetcdf -L/home/dqkx/software/WRF4.0/libraries/pnetcdf/lib -lpnetcdf} {DEBUG=no}

configure: creating ./config.status
config.status: creating Makefile.conf
config.status: creating config.h
config.status: config.h is unchanged
configure: WARNING: unrecognized options: --enable-fortran
Please check the Makefile.conf
Have a nice day!
 
dqkx@cuit:~/software/WRF4.0/libraries/ParallelIO-pio1_7_1/pio$ make
Making dependencies for pio.F90 --> pio.d
Making dependencies for pio_kinds.F90 --> pio_kinds.d
Making dependencies for nf_mod.F90 --> nf_mod.d
Making dependencies for ionf_mod.F90 --> ionf_mod.d
Making dependencies for pio_types.F90 --> pio_types.d
Making dependencies for calcdecomp.F90 --> calcdecomp.d
Making dependencies for piolib_mod.F90 --> piolib_mod.d
Making dependencies for pio_mpi_utils.F90 --> pio_mpi_utils.d
Making dependencies for pio_nf_utils.F90 --> pio_nf_utils.d
Making dependencies for pio_utils.F90 --> pio_utils.d
Making dependencies for pio_msg_mod.F90 --> pio_msg_mod.d
Making dependencies for calcdisplace_mod.F90 --> calcdisplace_mod.d
Making dependencies for pio_msg_callbacks.F90 --> pio_msg_callbacks.d
Making dependencies for pio_support.F90 --> pio_support.d
Making dependencies for C_interface_mod.F90 --> C_interface_mod.d
Making dependencies for pionfatt_mod.F90 --> pionfatt_mod.d
Making dependencies for pionfread_mod.F90 --> pionfread_mod.d
Making dependencies for pionfwrite_mod.F90 --> pionfwrite_mod.d
Making dependencies for pionfput_mod.F90 --> pionfput_mod.d
Making dependencies for pionfget_mod.F90 --> pionfget_mod.d
Making dependencies for alloc_mod.F90 --> alloc_mod.d
Making dependencies for box_rearrange.F90 --> box_rearrange.d
Making dependencies for rearrange.F90 --> rearrange.d
Making dependencies for iompi_mod.F90 --> iompi_mod.d
Making dependencies for piodarray.F90 --> piodarray.d
Making dependencies for pio_spmd_utils.F90 --> pio_spmd_utils.d
Making dependencies for pio_msg_getput_callbacks.F90 --> pio_msg_getput_callbacks.d
Done updating dependencies
make[1]: Entering directory '/home/dqkx/software/WRF4.0/libraries/ParallelIO-pio1_7_1/pio'
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pio_kinds.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pio_types.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pio_support.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include alloc_mod.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pio_utils.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include ionf_mod.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pionfread_mod.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pio_msg_mod.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include C_interface_mod.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include nf_mod.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pionfwrite_mod.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pio_mpi_utils.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include iompi_mod.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pio_spmd_utils.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include calcdisplace_mod.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include box_rearrange.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include rearrange.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include calcdecomp.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include piodarray.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include piolib_mod.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pionfatt_mod.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pionfput_mod.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pionfget_mod.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pio.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pio_nf_utils.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pio_msg_callbacks.F90
mpif90 -c -DSPMD -DHAVE_MPI -DSYSLINUX -D_NETCDF -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -D_PNETCDF -m64 -m64 -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include pio_msg_getput_callbacks.F90
 
rm -f libpio.a
ar cq libpio.a pio.o pio_kinds.o nf_mod.o ionf_mod.o pio_types.o calcdecomp.o piolib_mod.o pio_mpi_utils.o pio_nf_utils.o pio_utils.o pio_msg_mod.o calcdisplace_mod.o pio_msg_callbacks.o pio_support.o C_interface_mod.o pionfatt_mod.o pionfread_mod.o pionfwrite_mod.o pionfput_mod.o pionfget_mod.o alloc_mod.o box_rearrange.o rearrange.o iompi_mod.o piodarray.o pio_spmd_utils.o pio_msg_getput_callbacks.o
make[1]: Leaving directory '/home/dqkx/software/WRF4.0/libraries/ParallelIO-pio1_7_1/pio'
dqkx@cuit:~/software/WRF4.0/libraries/ParallelIO-pio1_7_1/pio$ make install
install -c -d -m 755 /home/dqkx/software/WRF4.0/libraries/PIO/lib
install -c -d -m 755 /home/dqkx/software/WRF4.0/libraries/PIO/include
install -c -m 644 libpio.a /home/dqkx/software/WRF4.0/libraries/PIO/lib/libpio.a
install -c -m 644 pio.mod pio_kinds.mod nf_mod.mod ionf_mod.mod pio_types.mod calcdecomp.mod piolib_mod.mod pio_mpi_utils.mod pio_nf_utils.mod pio_utils.mod pio_msg_mod.mod calcdisplace_mod.mod pio_support.mod pionfatt_mod.mod pionfread_mod.mod pionfwrite_mod.mod pionfput_mod.mod pionfget_mod.mod alloc_mod.mod box_rearrange.mod rearrange.mod iompi_mod.mod piodarray.mod pio_spmd_utils.mod /home/dqkx/software/WRF4.0/libraries/PIO/include


dqkx@cuit:~/software/WRF4.0/libraries/ParallelIO-pio1_7_1/pio$ export PIO=$DIR/PIO
dqkx@cuit:~/software/WRF4.0/libraries/ParallelIO-pio1_7_1/pio$ export LD_LIBRARY_PATH=$PIO/lib:$LD_LIBRARY_PATH

dqkx@cuit:~/software/WRF4.0/libraries/ParallelIO-pio1_7_1/pio$ cd /home/dqkx/software/WRF4.0/MPAS-Model-8.1.0
dqkx@cuit:~/software/WRF4.0/MPAS-Model-8.1.0$ ls
docs INSTALL LICENSE Makefile pio1.f90 pio2.f90 README.md src testing_and_setup
dqkx@cuit:~/software/WRF4.0/MPAS-Model-8.1.0$ make gfortran CORE=init_atmosphere PRECISION=single AUTOCLEAN=true
NOTE: PRECISION=single is unnecessary, single is the default
( make all \
"FC_PARALLEL = mpif90" \
"CC_PARALLEL = mpicc" \
"CXX_PARALLEL = mpicxx" \
"FC_SERIAL = gfortran" \
"CC_SERIAL = gcc" \
"CXX_SERIAL = g++" \
"FFLAGS_PROMOTION = -fdefault-real-8 -fdefault-double-8" \
"FFLAGS_OPT = -O3 -ffree-line-length-none -fconvert=big-endian -ffree-form" \
"CFLAGS_OPT = -O3" \
"CXXFLAGS_OPT = -O3" \
"LDFLAGS_OPT = -O3" \
"FFLAGS_DEBUG = -g -ffree-line-length-none -fconvert=big-endian -ffree-form -fcheck=all -fbacktrace -ffpe-trap=invalid,zero,overflow" \
"CFLAGS_DEBUG = -g" \
"CXXFLAGS_DEBUG = -g" \
"LDFLAGS_DEBUG = -g" \
"FFLAGS_OMP = -fopenmp" \
"CFLAGS_OMP = -fopenmp" \
"FFLAGS_ACC =" \
"CFLAGS_ACC =" \
"PICFLAG = -fPIC" \
"BUILD_TARGET = gfortran" \
"CORE = init_atmosphere" \
"DEBUG = " \
"USE_PAPI = " \
"OPENMP = " \
"OPENACC = " \
"CPPFLAGS = -D_MPI" )
make[1]: Entering directory '/home/dqkx/software/WRF4.0/MPAS-Model-8.1.0'
NOTE: PRECISION=single is unnecessary, single is the default
Checking for a working PIO library...
*********************************************************
ERROR: Could not detect a working PIO library!

Both of the following commands to compile a test program
failed with errors:

mpif90 pio1.f90 -o pio1.x -I/home/dqkx/software/WRF4.0/libraries/PIO/include -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include -O3 -ffree-line-length-none -fconvert=big-endian -ffree-form -O3 -L/home/dqkx/software/WRF4.0/libraries/PIO/lib -lpio -L/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/lib -lnetcdff -lnetcdf -L/home/dqkx/software/WRF4.0/libraries/pnetcdf/lib -lpnetcdf

mpif90 pio2.f90 -o pio2.x -I/home/dqkx/software/WRF4.0/libraries/PIO/include -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include -O3 -ffree-line-length-none -fconvert=big-endian -ffree-form -O3 -L/home/dqkx/software/WRF4.0/libraries/PIO/lib -lpio -L/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/lib -lnetcdff -lnetcdf -L/home/dqkx/software/WRF4.0/libraries/pnetcdf/lib -lpnetcdf

The pio1.f90 and pio2.f90 test programs have been left in
the top-level MPAS directory for further debugging.
*********************************************************
Makefile:1185: recipe for target 'pio_test' failed
make[1]: *** [pio_test] Error 1
make[1]: Leaving directory '/home/dqkx/software/WRF4.0/MPAS-Model-8.1.0'
Makefile:382: recipe for target 'gfortran' failed
make: *** [gfortran] Error 2

But I have install PIO successfully?

dqkx@cuit:~/software/WRF4.0/MPAS-Model-8.1.0$ cd $PIO
dqkx@cuit:~/software/WRF4.0/libraries/PIO$ ls
include lib
dqkx@cuit:~/software/WRF4.0/libraries/PIO$ cd lib
dqkx@cuit:~/software/WRF4.0/libraries/PIO/lib$ ls
libpio.a
dqkx@cuit:~/software/WRF4.0/libraries/PIO/lib$ cd ..
dqkx@cuit:~/software/WRF4.0/libraries/PIO$ cd include/
dqkx@cuit:~/software/WRF4.0/libraries/PIO/include$ ls
alloc_mod.mod ionf_mod.mod pio.mod pionfput_mod.mod pio_support.mod
box_rearrange.mod nf_mod.mod pio_mpi_utils.mod pionfread_mod.mod pio_types.mod
calcdecomp.mod piodarray.mod pio_msg_mod.mod pio_nf_utils.mod pio_utils.mod
calcdisplace_mod.mod pio_kinds.mod pionfatt_mod.mod pionfwrite_mod.mod rearrange.mod
iompi_mod.mod piolib_mod.mod pionfget_mod.mod pio_spmd_utils.mod



Again, I'm sorry for the intrusion.
 
ERROR: Could not detect a working PIO library!

Both of the following commands to compile a test program
failed with errors:

mpif90 pio1.f90 -o pio1.x -I/home/dqkx/software/WRF4.0/libraries/PIO/include -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include -O3 -ffree-line-length-none -fconvert=big-endian -ffree-form -O3 -L/home/dqkx/software/WRF4.0/libraries/PIO/lib -lpio -L/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/lib -lnetcdff -lnetcdf -L/home/dqkx/software/WRF4.0/libraries/pnetcdf/lib -lpnetcdf

mpif90 pio2.f90 -o pio2.x -I/home/dqkx/software/WRF4.0/libraries/PIO/include -I/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/include -I/home/dqkx/software/WRF4.0/libraries/pnetcdf/include -O3 -ffree-line-length-none -fconvert=big-endian -ffree-form -O3 -L/home/dqkx/software/WRF4.0/libraries/PIO/lib -lpio -L/home/dqkx/software/WRF4.0/libraries/netcdf/cfor_combine/lib -lnetcdff -lnetcdf -L/home/dqkx/software/WRF4.0/libraries/pnetcdf/lib -lpnetcdf

The pio1.f90 and pio2.f90 test programs have been left in
the top-level MPAS directory for further debugging.

For a better hint from this section, try running one (or both) of these mpif90 commands. The error message(s) from these have helped me in the past.
 
Thank u for your reply!!
Now I got a new problem.

make[4]: Entering directory '/public/home/figo_cuit/hgb/mpas/MPAS-Model-8.1.0/src/core_atmosphere/physics'
./checkout_data_files.sh
*** No compatible version of WRF physics tables found; attempting to download compatible tables ***
/public/software/apps/spack/opt/spack/linux-centos7-x86_64_v3/gcc-7.3.1/git-2.35.1-pb2uhyieabn7xkkd2lt67fxic5jfjolq/bin/git
*** Trying git to obtain WRF physics tables ***
Cloning into 'MPAS-Data'...
fatal: unable to access 'GitHub - MPAS-Dev/MPAS-Data: MPAS Data Repository': Failed to connect to github.com port 443 after 3141 ms: No route to host
*** Failed to obtain WRF physics tables using git ***
/usr/bin/svn
*** Trying svn to obtain WRF physics tables ***
svn: E175002: Unable to connect to a repository at URL 'https://github.com/MPAS-Dev/MPAS-Data.git/tags/v8.0'
svn: E175002: OPTIONS of 'https://github.com/MPAS-Dev/MPAS-Data.git/tags/v8.0': could not connect to server (GitHub: Let’s build from here)
*** MPAS version-specific tag not found; trying the trunk ***
svn: E175002: Unable to connect to a repository at URL 'https://github.com/MPAS-Dev/MPAS-Data.git/trunk'
svn: E175002: OPTIONS of 'https://github.com/MPAS-Dev/MPAS-Data.git/trunk': could not connect to server (GitHub: Let’s build from here)
*** Failed to obtain WRF physics tables using svn ***
/usr/bin/curl
*** Trying curl to obtain WRF physics tables ***
*** MPAS version-specific tar file not found; trying the master tar file ***
*** Failed to obtain WRF physics tables using curl ***
***************************************************************
Unable to obtain WRF physics tables using git, svn, or curl.
This may be because 'git', 'svn', and 'curl' are not installed,
or it could be due to network connectivity problems.

Please see src/core_atmosphere/physics/checkout_data_files.sh
for suggestions on how to remedy this issue.


I can't solve this problem of "git clone "

I f I download these files manually, then which folder should I put them in mpas?
 
This is a common pain-point when setting up MPAS-A for the first time. I recommend reading the contents of src/core_atmosphere/physics/checkout_data_files.sh to get a good idea of what's going on and how to fix it. We've seen this a few times, especially on systems where the build nodes don't have direct internet access.

Longer explanation / fix:

MPAS-A expects to find certain files for the WRF physics and these files are maintained in a separate repository (MPAS-Dev/MPAS-Data). The checkout_data_files.sh script goes through a few steps to ensure these files and their correct versions are fetched. Besides going into the physics directory and running the script yourself, you can do this manually by:
  1. Clone the MPAS-Dev/MPAS-Data repository
  2. Check out the tag that matches your MPAS-Model version (as I write, the tag should be "v8.0" to use with a default clone of MPAS-Dev/MPAS-Model)
  3. Move or copy the files from "MPAS-Data/atmosphere/physics_wrf/files/" to "MPAS-Model/src/core_atmosphere/physics/physics_wrf/files"
 
Thank you for your reply! I have read the contents of src/core_atmosphere/physics/checkout_data_files.sh

I manually cloned the files to the destination folder as you said, but there seems to be a version incompatibility issue, and I didn't find any other version(tag) of the MPAS-Dev/MPAS-Data file.

The version I am installing is MPAS-Model-8.0.1

Here's an intercept of the error message I got:
make[4]: Entering directory '/public/home/figo_cuit/hgb/mpas/MPAS-Model-8.0.1/src/core_atmosphere/physics'
./checkout_data_files.sh
*** Existing WRF physics tables appear to be incompatible with MPAS v8.0; attempting to download compatible tables ***
/public/software/apps/spack/opt/spack/linux-centos7-x86_64_v3/gcc-7.3.1/git-2.35.1-pb2uhyieabn7xkkd2lt67fxic5jfjolq/bin/git
*** Trying git to obtain WRF physics tables ***
Cloning into 'MPAS-Data'...
fatal: unable to access 'GitHub - MPAS-Dev/MPAS-Data: MPAS Data Repository': Failed to connect to github.com port 80 after 3143 ms: No route to host
*** Failed to obtain WRF physics tables using git ***
/usr/bin/svn
*** Trying svn to obtain WRF physics tables ***
svn: E175002: Unable to connect to a repository at URL 'https://github.com/MPAS-Dev/MPAS-Data.git/tags/v8.0'
svn: E175002: OPTIONS of 'https://github.com/MPAS-Dev/MPAS-Data.git/tags/v8.0': Could not resolve hostname `github.com': Host not found (GitHub: Let’s build from here)
*** MPAS version-specific tag not found; trying the trunk ***
svn: E175002: Unable to connect to a repository at URL 'https://github.com/MPAS-Dev/MPAS-Data.git/trunk'
svn: E175002: OPTIONS of 'https://github.com/MPAS-Dev/MPAS-Data.git/trunk': could not connect to server (GitHub: Let’s build from here)
*** Failed to obtain WRF physics tables using svn ***
/usr/bin/curl
*** Trying curl to obtain WRF physics tables ***
*** MPAS version-specific tar file not found; trying the master tar file ***
*** Failed to obtain WRF physics tables using curl ***
***************************************************************
 
Sorry for the slow reply, could you try the following commands? These should get you the files you need:

Bash:
# From within the MPAS-Data directory, step 2
git fetch origin --tags
git checkout v8.0
# Replace YOUR_PATH_TO
cp -rf atmosphere/physics_wrf/files/* ${YOUR_PATH_TO}/MPAS-Model/src/core_atmosphere/physics/physics_wrf/files/

If this doesn't allow your build to proceed, I'd be interested in the contents of the MPAS-Model/src/core_atmosphere/physics/physics_wrf/files/COMPATIBILITY file.
 
Sorry for not noticing your reply!
Can you explain in more detail how to run the bash command you replied to? Or which of my paths I'm running? I copied it to the
src/core_atmosphere/physics/checkout_data_files.sh and
made gfortran again CORE=atmosphere PRECISION=single AUTOCLEAN=true
but it still gives me the error :

fatal: Not a git repository (or any parent up to mount point /public)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
fatal: Not a git repository (or any parent up to mount point /public)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
cp: cannot stat ‘atmosphere/physics_wrf/files/*’: No such file or directory

*** Existing WRF physics tables appear to be incompatible with MPAS v8.0; attempting to download compatible tables ***

And I can't seem to find the path:
MPAS-Model/src/core_atmosphere/physics/physics_wrf/files/COMPATIBILITY
This path is not generated when I install the model.
 
The commands I suggested on June 14th should have been run from your terminal, not added to checkout_data_files.sh. It would be best to restore checkout_data_files.sh to its original state.

Try these commands - not within the "MPAS-Model-8.0.1" directory:
Bash:
# This is not a script, run these commands within your terminal
git clone https://github.com/MPAS-Dev/MPAS-Data
cd MPAS-Data
git checkout v8.0
cp -rf src/core_atmosphere/files/* /public/home/figo_cuit/hgb/mpas/MPAS-Model-8.0.1/src/core_atmosphere/physics/physics_wrf/files/

You would then be able to look at the contents of "/public/home/figo_cuit/hgb/mpas/MPAS-Model-8.0.1/src/core_atmosphere/physics/physics_wrf/files/COMPATIBILITY". If this doesn't contain "8.0" on a line by itself, something went wrong. You should only proceed with your make ... commands if the COMPATIBLITY file contains the correct version number.
 
Top