Help getting started with Pnetcdf

Nikhil Laghave nikhill at iastate.edu
Mon Oct 13 16:07:52 CDT 2008


Hello All,

I have been using Parallel HDF5 for our code to do parallel IO of huge files
but the performance we're getting is not very encouraging. So I wanted to do
the same with Pnetcdf, but I am not able find much tutorials on the web with
simple examples to write out files in parallel. The ones that are there are
the serial ones.

So I was wondering if someone on this mailing list has a simple Pnetcdf
example, that will help me in understanding how to use pnetcdf.

Also, I am trying to create a simple file using pnetcdf and am getting this
error. There seems to be some problem with the include file and I don't
understand how to get rid of this error. My code is as follows:

      program simple_xy_wr
      implicit none

      include 'pnetcdf.inc'
      include 'mpif.h'

C     This is the name of the data file we will create.
      character*(*) FILE_NAME
      parameter (FILE_NAME='simple_xy.nc')

C     We are writing 2D data, a 6 x 12 grid.
      integer NDIMS,ierr
      parameter (NDIMS=1)
      integer NX, NY, i, myid, nprocs
      parameter (NX = 16)
      parameter (NY = 4)
      CHARACTER(LEN=12) :: dataname


C     When we create netCDF files, variables and dimensions, we get back
C     an ID for each one.
      integer ncid, varid,varid2, dimids(NDIMS), dimids2(NDIMS)
      integer x_dimid, y_dimid

C     This is the data array we will write. It will just be filled with
C     a progression of integers for this example.
      integer data_out(NX)
      integer lengths_out(NY)

C     Loop indexes, and error handling.
      integer x, y, retval

      call MPI_INIT(ierr)
      call MPI_COMM_RANK(MPI_COMM_WORLD, myid, ierr)
      call MPI_COMM_SIZE(MPI_COMM_WORLD, nprocs, ierr)
      write(*,*) 'my id is :',myid,'& nprocs are:',nprocs

C     Create some pretend data. If this wasn't an example program, we
C     would have some real data to write, for example, model output.
      do x = 1, NX
         data_out(x) = (x - 1) * NX
      end do
      do y = 1, NY
         lengths_out(y) = (y-1) * NY
      enddo


      nfmpi_create(MPI_COMM_WORLD,FILE_NAME,
     &     NF_NETCDF4,MPI_INFO_NULL,ncid)

      end


When i compile this using : ftn simple.f $PNETCDF, i get this error.

PGF90-S-0021-Label field of continuation line is not blank
(/usr/common/usg/pnetcdf/1.0.2/include/pnetcdf.inc: 1816)
PGF90-S-0021-Label field of continuation line is not blank
(/usr/common/usg/pnetcdf/1.0.2/include/pnetcdf.inc: 1820)
PGF90-S-0021-Label field of continuation line is not blank
(/usr/common/usg/pnetcdf/1.0.2/include/pnetcdf.inc: 1823)
PGF90-S-0021-Label field of continuation line is not blank
(/usr/common/usg/pnetcdf/1.0.2/include/pnetcdf.inc: 1825)
PGF90-S-0021-Label field of continuation line is not blank
(/usr/common/usg/pnetcdf/1.0.2/include/pnetcdf.inc: 1827)
PGF90-S-0021-Label field of continuation line is not blank
(/usr/common/usg/pnetcdf/1.0.2/include/pnetcdf.inc: 1831)
PGF90-S-0021-Label field of continuation line is not blank
(/usr/common/usg/pnetcdf/1.0.2/include/pnetcdf.inc: 1833)
PGF90-S-0034-Syntax error at or near identifier
sizeof_mpi_offsetnfmpi_unlimited
(/usr/common/usg/pnetcdf/1.0.2/include/pnetcdf.inc: 1836)
PGF90-S-0034-Syntax error at or near end of line (simple.f: 50)
PGF90-S-0038-Symbol, nfmpi_unlimited, has not been explicitly declared
(simple.f)
  0 inform,   0 warnings,  10 severes, 0 fatal for simple_xy_wr

Am i missing something simple ?
-- 
Regards,
Nikhil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/parallel-netcdf/attachments/20081013/5f49d481/attachment.htm>


More information about the parallel-netcdf mailing list