error when building PIO

HI,all!Recently when i tried to porting cesm1.2.2 to our local cluster, an error appeared druing building PIO,which is as follows:/home/cern1426/cesm1.2.2/models/utils/pio/ionf_mod.F90(83): error #6627: This is an actual argument keyword name, and not a dummy argument name.   [COMM]
               comm=File%iosystem%io_comm, info=File%iosystem%info)
---------------^
/home/cern1426/cesm1.2.2/models/utils/pio/ionf_mod.F90(83): error #6627: This is an actual argument keyword name, and not a dummy argument name.   [INFO]
               comm=File%iosystem%io_comm, info=File%iosystem%info)
-------------------------------------------^
/home/cern1426/cesm1.2.2/models/utils/pio/ionf_mod.F90(102): error #6627: This is an actual argument keyword name, and not a dummy argument name.   [INFO]
                  info=File%iosystem%info )
------------------^
/home/cern1426/cesm1.2.2/models/utils/pio/ionf_mod.F90(204): error #6784: The number of actual arguments cannot be greater than the number of dummy arguments.   [NF90_OPEN]
              ierr = nf90_open(fname,  ior(amode,ior(NF90_NETCDF4,NF90_MPIIO)), File%fh, &
---------------------^
/home/cern1426/cesm1.2.2/models/utils/pio/ionf_mod.F90(205): error #6627: This is an actual argument keyword name, and not a dummy argument name.   [COMM]
                   comm=File%iosystem%io_comm, info=File%iosystem%info)
-------------------^
/home/cern1426/cesm1.2.2/models/utils/pio/ionf_mod.F90(207): error #6627: This is an actual argument keyword name, and not a dummy argument name.   [INFO]
                 ierr = nf90_open(fname, amode, File%fh,info=File%iosystem%info)
--------------------------------------------------------^
compilation aborted for /home/cern1426/cesm1.2.2/models/utils/pio/ionf_mod.F90 (code 1)
gmake[3]: *** [CMakeFiles/pio.dir/ionf_mod.F90.o] Error 1
gmake[3]: Leaving directory `/home/cern1426/exeroot/intel/openmpi/nodebug/nothreads/pio'
gmake[2]: *** [CMakeFiles/pio.dir/ionf_mod.F90.o.provides] Error 2
gmake[2]: *** Waiting for unfinished jobs....
/soft/tools/cmake/3.0.2/bin/cmake -E cmake_copy_f90_mod pio_spmd_utils CMakeFiles/pio.dir/pio_spmd_utils.mod.stamp Intel
/soft/tools/cmake/3.0.2/bin/cmake -E touch CMakeFiles/pio.dir/pio_spmd_utils.F90.o.provides.build
/home/cern1426/cesm1.2.2/models/utils/pio/nf_mod.F90(1691): error #6404: This name does not have a type, and must have an explicit type.   [NF90_DEF_VAR_FILL]
          ierr = nf90_def_var_fill(File%fh, vardesc%varid, 1, 0)
-----------------^
/home/cern1426/cesm1.2.2/models/utils/pio/nf_mod.F90(1708): error #6404: This name does not have a type, and must have an explicit type.   [NF90_DEF_VAR_DEFLATE]
                   ierr = nf90_def_var_deflate(File%fh,vardesc%varid,0,1,1)
--------------------------^
gmake[3]: Leaving directory `/home/cern1426/exeroot/intel/openmpi/nodebug/nothreads/pio'
compilation aborted for /home/cern1426/cesm1.2.2/models/utils/pio/nf_mod.F90 (code 1)
gmake[3]: *** [CMakeFiles/pio.dir/nf_mod.F90.o] Error 1
gmake[3]: Leaving directory `/home/cern1426/exeroot/intel/openmpi/nodebug/nothreads/pio'
gmake[2]: *** [CMakeFiles/pio.dir/nf_mod.F90.o.provides] Error 2
/soft/tools/cmake/3.0.2/bin/cmake -E cmake_copy_f90_mod iompi_mod CMakeFiles/pio.dir/iompi_mod.mod.stamp Intel
/soft/tools/cmake/3.0.2/bin/cmake -E touch CMakeFiles/pio.dir/iompi_mod.F90.o.provides.build
gmake[3]: Leaving directory `/home/cern1426/exeroot/intel/openmpi/nodebug/nothreads/pio'
/soft/tools/cmake/3.0.2/bin/cmake -E cmake_copy_f90_mod calcdisplace_mod CMakeFiles/pio.dir/calcdisplace_mod.mod.stamp Intel

the information of NETCDF and PNETCDF:nf-config --version
netCDF-Fortran 4.4.1
nc-config --version
netCDF 4.3.2
PnetCDF Version:        1.5.0
PnetCDF Release date:   08 Jul 2014
PnetCDF configure:      --prefix=/home/scdsg/local/parallel-netcdf-1.50
MPICC:  /soft/mpi/impi/4.1.3.049/intel64/bin/mpiicc -g -O2
MPICXX: /soft/mpi/impi/4.1.3.049/intel64/bin/mpiicpc -g -O2
MPIF77: /soft/mpi/impi/4.1.3.049/intel64/bin/mpiifort -g
MPIF90: /soft/mpi/impi/4.1.3.049/intel64/bin/mpiifort -g

I will appreciate everyone who can give me some advice.Thanks a lot in advnance! 
 
Hi,all! I have solved this problem.Here i post the reason.this is mainly caused by version of netcdf fortran library.The initial verison of necdf  in our cluster is as follows:nf-config --all

This netCDF-Fortran 4.4.1 has been built with the following features:

  --cc        -> mpiicc
  --cflags    ->  -I/home/scdsg/local/netcdf-4.3.2-intelmpi/include -I/home/scdsg/local/hdf5-1.8.14-intelmpi/include -I/home/scdsg/local/parallel-netcdf-1.50/include -I/home/scdsg/local/netcdf-4.3.2-intelmpi/include

  --fc        -> mpiifort
  --fflags    -> -I/home/scdsg/local/netcdf-4.3.2-intelmpi/include
  --flibs     -> -L/home/scdsg/local/netcdf-4.3.2-intelmpi/lib -lnetcdff -L/home/scdsg/local/netcdf-4.3.2-intelmpi/lib -lnetcdf -L/home/scdsg/local/netcdf-4.3.2-intelmpi/lib -lnetcdf -L/home/scdsg/local/hdf5-1.8.14-intelmpi/lib  -lhdf5_hl -lhdf5 -L/home/scdsg/local/parallel-netcdf-1.50/lib -lpnetcdf -lm -lcurl -limf -lm
  --has-f90   -> no
  --has-f03   -> yes

  --has-nc2   -> yes
  --has-nc4   -> no

  --prefix    -> /home/scdsg/local/netcdf-4.3.2-intelmpi
  --includedir-> /home/scdsg/local/netcdf-4.3.2-intelmpi/include
  --version   -> netCDF-Fortran 4.4.1
Above -has-nc4 -> no means netcdf fotran was not built with netcdf4.while,the nf90_create(found in  netcdf4_file.90 and netcdf3_file.90) in netcdf4 and netcdf3 is different:netcdf3_file90:  function nf90_create(path, cmode, ncid, initialsize, chunksize)[/i][/b]netcdf4_file90: function nf90_create(path, cmode, ncid, initialsize, chunksize, cache_size, cache_nelems, cache_preemption, comm, info)
[/b]
The nf90_create in netcdf3 has not varaible of comm and info and this cause the error of dummy parameter.So if you update the ntecdf fotran to netcdf4,this problem can be solved.
 
Back
Top