Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

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.
 
Top