Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
3(2017-01-28)							 3(2017-01-28)

NAME
       PnetCDF	-  Parallel library for	accessing files	in Network Common Data
       Form (CDF, CDF-2	and CDF-5 formats)

SYNOPSIS
       #include	<pnetcdf.h>

       mpicc ...  -lpnetcdf

       Complete	documentation for the PnetCDF libraries	can be	found  at  the
       PnetCDF website:	http://cucis.ece.northwestern.edu/projects/PnetCDF/.

LIBRARY	VERSION
       This document describes Parallel	netCDF APIs for	the C programming lan-
       guage.

       const char* ncmpi_inq_libvers()

	      (Corresponds to nc_inq_libvers() in netCDF)

	      Returns a	string identifying the version of the PnetCDF library,
	      and when it was built, like: "1.8.1 of 28	Jan 2017".

       The RCS ident(1)	command	will find a string like	"$Id: @(#) PnetCDF li-
       brary version 1.8.1 of 28 Jan 2017 $" in	the library. The SCCS  what(1)
       command	will  find  a string like "PnetCDF library version 1.8.1 of 28
       Jan 2017".

RETURN VALUES
       All PnetCDF functions (except ncmpi_inq_libvers() and ncmpi_strerror())
       return an integer status.

       If this returned	status value is	not equal to NC_NOERR (zero), it indi-
       cates that an error occurred. The possible status values	are defined in
       system include file <errno.h> and in "pnetcdf.h".

       const char* ncmpi_strerror(int status)

	      (Corresponds to nc_strerror() in netCDF)

	      Returns  a  string textual translation of	the status value, like
	      "Attribute or variable name contains illegal characters" or  "No
	      such file	or directory".

FILE OPERATIONS
       int  ncmpi_create(MPI_Comm comm,	const char path[], int cmode, MPI_Info
	      info, int* ncid)

	      (Corresponds to nc_create() in netCDF)

	      Creates a	new netCDF dataset at path collectively	by a group  of
	      MPI  processes specified by comm,	returning a netCDF ID in ncid.
	      The argument cmode may include the bitwise-or of	the  following
	      flags:  NC_NOCLOBBER  to	protect	 existing datasets (default is
	      NC_CLOBBER, silently blows them  away),  NC_SHARE	 for  stronger
	      metadata	data  consistency control, NC_64BIT_OFFSET to create a
	      file in the 64-bit offset	format (CDF-2),	as opposed to  classic
	      format,  the  default,  or NC_64BIT_DATA to create a file	in the
	      64-bit data  format  (CDF-5).   Use  either  NC_64BIT_OFFSET  or
	      NC_64BIT_DATA.   The 64-bit offset format	allows the creation of
	      very large files with far	fewer restrictions than	netCDF classic
	      format,  but  can	only be	read by	the netCDF library version 3.6
	      or greater. Users	are cautioned that files that use  the	64-bit
	      offset  format  will  not	 be  recognized	by netCDF applications
	      linked to	an earlier version of the  netCDF  library  than  3.6.
	      Applications  linked  to	version	 3.6  or later will be able to
	      transparently access either the classic format or	64-bit	offset
	      format.	The  64-bit  data  format  allows the creation of very
	      large array variables.  CDF-5 files currently will not be	recog-
	      nized by netCDF 3	or 4 library.

	      The  argument  cmode  must be consistent among all MPI processes
	      that collectively	create the file.  The argument info is an  MPI
	      info  object.   Users can	use it to supply the file access hints
	      further performance improvement.	 The  hints  include  existing
	      MPI-IO hints as well as hints defined and	used in	PnetCDF.

	      When a netCDF dataset is created,	it is opened in	NC_WRITE mode.
	      When this	function returns, the new netCDF dataset is in	define
	      mode.

       int ncmpi_open(MPI_Comm comm, const char	path[],	int mode, MPI_Info in-
	      fo, int* ncid)

	      (Corresponds to nc_open()	in netCDF)

	      Opens an existing	netCDF dataset at path collectively by a group
	      of  MPI  processes  specified  by	comm, returning	a netCDF ID in
	      ncid.  The type of access	is described by	 the  mode  parameter,
	      which  may  include  the	bitwise-or  of	the  following	flags:
	      NC_WRITE for read-write access (default read-only), NC_SHARE for
	      stronger metadata	data consistency control.

	      The  argument  mode  must	 be consistent among all MPI processes
	      that collectively	open the file.	The argument info  is  an  MPI
	      info  object.   Users can	use it to supply the file access hints
	      further performance improvement.	 The  hints  include  existing
	      MPI-IO hints as well as hints defined and	used in	PnetCDF.

       int ncmpi_redef(int ncid)

	      (Corresponds to nc_redef() in netCDF)

	      Puts  an	open  netCDF  dataset into define mode,	so dimensions,
	      variables, and attributes	can be added or	renamed	and attributes
	      can be deleted.

       int ncmpi_enddef(int ncid)

	      (Corresponds to nc_enddef() in netCDF)

	      Takes  an	 open  netCDF dataset out of define mode.  The changes
	      made to the netCDF dataset while	it  was	 in  define  mode  are
	      checked  and committed to	disk if	no problems occurred.  After a
	      successful call, variable	data can be read  or  written  to  the
	      dataset.

       int ncmpi_sync(int ncid)

	      (Corresponds to nc_sync()	in netCDF)

	      Unless  the  NC_SHARE  bit  is set in ncmpi_open() or ncmpi_cre-
	      ate(), data written by PnetCDF APIs may be cached	by local  file
	      system  on  each	compute	node.  This API	flushes	cached data by
	      calling MPI_File_sync.

       int ncmpi_abort(int ncid)

	      (Corresponds to nc_abort() in netCDF)

	      You don't	need to	call this function.  This function  is	called
	      automatically  by	ncmpi_close() if the netCDF was	in define mode
	      and something goes wrong with the	commit.	 If the	netCDF dataset
	      isn't  in	 define	 mode,	then  this  function  is equivalent to
	      ncmpi_close().  If it is called after ncmpi_redef(), but	before
	      ncmpi_enddef(),  the  new	 definitions are not committed and the
	      dataset is closed.  If it	is called after	ncmpi_create() but be-
	      fore ncmpi_enddef(), the dataset disappears.

       int ncmpi_close(int ncid)

	      (Corresponds to nc_close() in netCDF)

	      Closes  an  open	netCDF	dataset.   If the dataset is in	define
	      mode, ncmpi_enddef() will	be called  before  closing.   After  a
	      dataset is closed, its ID	may be reassigned to another dataset.

       int  ncmpi_inq(int  ncid,  int* ndims, int* nvars, int* natts, int* un-
	      limdimid)

	      (Corresponds to nc_inq() in netCDF)

       int ncmpi_inq_ndims(int ncid, int* ndims)

	      (Corresponds to nc_inq_ndims() in	netCDF)

       int ncmpi_inq_nvars(int ncid, int* nvars)

	      (Corresponds to nc_inq_nvars() in	netCDF)

       int ncmpi_inq_natts(int ncid, int* natts)

	      (Corresponds to nc_inq_natts() in	netCDF)

       int ncmpi_inq_unlimdim(int ncid,	int* unlimdimid)

	      (Corresponds to nc_inq_unlimdim()	in netCDF)

       int ncmpi_inq_format(int	ncid, int* formatn)

	      (Corresponds to nc_inq_format() in netCDF)

	      Use these	functions to find out what is  in  a  netCDF  dataset.
	      Upon successful return, ndims will contain  the number of	dimen-
	      sions defined for	this netCDF dataset, nvars  will  contain  the
	      number  of  variables,  natts  will  contain  the	 number	of at-
	      tributes,	and unlimdimid will contain the	dimension  ID  of  the
	      unlimited	 dimension  if	one  exists, or	-1 otherwise.  formatn
	      will contain the version number of the dataset <format>, one  of
	      NC_FORMAT_CLASSIC, NC_FORMAT_64BIT, or NC_FORMAT_64BIT_DATA.  If
	      any of the return	parameters is a	NULL pointer, then the	corre-
	      sponding	information will not be	returned; hence, no space need
	      be allocated for it.

       int ncmpi_def_dim(int ncid, const char  name[],	MPI_Offset  len,  int*
	      dimid)

	      (Corresponds to nc_def_dim() in netCDF)

	      Adds a new dimension to an open netCDF dataset, which must be in
	      define mode.  name is the	dimension name.	 If  dimid  is	not  a
	      NULL  pointer then upon successful completion dimid will contain
	      the dimension ID of the newly created dimension.

DIMENSIONS
       int ncmpi_inq_dimid(int ncid, const char	name[],	int* dimid)

	      (Corresponds to nc_inq_dimid() in	netCDF)

	      Given a dimension	name, returns the ID of	a netCDF dimension  in
	      dimid.

       int ncmpi_inq_dim(int ncid, int dimid, char name[], MPI_Offset* len)

	      (Corresponds to nc_inq_dim() in netCDF)

       int ncmpi_inq_dimname(int ncid, int dimid, char name[])

	      (Corresponds to nc_inq_dimname() in netCDF)

       int ncmpi_inq_dimlen(int	ncid, int dimid, MPI_Offset* len)

	      (Corresponds to nc_inq_dimlen() in netCDF)

	      Use  these  functions  to	find out about a dimension.  If	either
	      the name argument	or len argument	is a NULL  pointer,  then  the
	      associated  information  will  not be returned.  Otherwise, name
	      should be	 big enough (NC_MAX_NAME) to hold the  dimension  name
	      as the name will be copied into your storage.  The length	return
	      parameter, len will contain the size of the dimension.  For  the
	      unlimited	 dimension, the	returned length	is the current maximum
	      value used for writing into any of the variables which  use  the
	      dimension.

       int ncmpi_rename_dim(int	ncid, int dimid, const char name[])

	      (Corresponds to nc_rename_dim() in netCDF)

	      Renames an existing dimension in an open netCDF dataset.	If the
	      new name is longer than the old name, the	netCDF dataset must be
	      in  define mode.	You cannot rename a dimension to have the same
	      name as another dimension.

VARIABLES
       int ncmpi_def_var(int ncid,  const  char	 name[],  nc_type  xtype,  int
	      ndims, const int dimids[], int* varid)

	      (Corresponds to nc_def_var() in netCDF)

	      Adds  a  new variable to a netCDF	dataset. The netCDF must be in
	      define mode.  If not NULL, then varid will be set	to the	netCDF
	      variable	ID.   ndims  will  be the number of dimensions for the
	      variable.	 name will be the name of the netCDF variable.	 xtype
	      is  the  external, netCDF	type of	the variable and should	be one
	      of NC_BYTE NC_CHAR, NC_SHORT, NC_INT,  NC_FLOAT,	or  NC_DOUBLE,
	      for  CDF-1 and CDF-2 file	formats.  CDF-5	defines	additional ex-
	      ternal  types:  NC_UBYTE,	 NC_USHORT,  NC_UINT,  NC_INT64,   and
	      NC_UINT64.   dimids  argument is a vector	of ndims dimension IDs
	      corresponding to the variable dimensions.

       int ncmpi_inq_varid(int ncid, const char	name[],	int* varid)

	      (Corresponds to nc_inq_varid() in	netCDF)

	      Returns the ID of	a netCDF variable in varid given its name.

       int ncmpi_inq_var(int ncid, int varid,  char  name[],  nc_type*	xtype,
	      int* ndims, int dimids[],	int* natts)

	      (Corresponds to nc_inq_var() in netCDF)

       int ncmpi_inq_varname(int ncid, int varid, char name[])

	      (Corresponds to nc_inq_varname() in netCDF)

       int ncmpi_inq_vartype(int ncid, int varid, nc_type* xtype)

	      (Corresponds to nc_inq_vartype() in netCDF)

       int ncmpi_inq_varndims(int ncid,	int varid, int*	ndims)

	      (Corresponds to nc_inq_varndims()	in netCDF)

       int ncmpi_inq_vardimid(int ncid,	int varid, int dimids[])

	      (Corresponds to nc_inq_vardimid()	in netCDF)

       int ncmpi_inq_varnatts(int ncid,	int varid, int*	natts)

	      (Corresponds to nc_inq_varnatts()	in netCDF)

	      Returns  information  about a netCDF variable, given its ID.  If
	      any of the return	parameters (name,  xtype,  ndims,  dimids,  or
	      natts)  is  a  NULL  pointer, then the corresponding information
	      will not be returned; hence, no space need be allocated for it.

       int ncmpi_rename_var(int	ncid, int varid, const char name[])

	      (Corresponds to nc_rename_var() in netCDF)

	      Changes the name of a netCDF  variable.	If  the	 new  name  is
	      longer  than  the	 old  name, the	netCDF must be in define mode.
	      You cannot rename	a variable to have the name  of	 any  existing
	      variable.

WRITING	AND READING WHOLE VARIABLES
       int ncmpi_put_var_text(int ncid,	int varid, const char out[])

	      (Corresponds to nc_put_var_text()	in netCDF)

       int ncmpi_put_var_uchar(int ncid, int varid, const unsigned char	out[])

	      (Corresponds to nc_put_var_uchar() in netCDF)

       int ncmpi_put_var_schar(int ncid, int varid, const signed char out[])

	      (Corresponds to nc_put_var_schar() in netCDF)

       int ncmpi_put_var_short(int ncid, int varid, const short	out[])

	      (Corresponds to nc_put_var_short() in netCDF)

       int ncmpi_put_var_int(int ncid, int varid, const	int out[])

	      (Corresponds to nc_put_var_int() in netCDF)

       int ncmpi_put_var_long(int ncid,	int varid, const long out[])

	      (Corresponds to nc_put_var_long()	in netCDF)

       int ncmpi_put_var_float(int ncid, int varid, const float	out[])

	      (Corresponds to nc_put_var_float() in netCDF)

       int ncmpi_put_var_double(int ncid, int varid, const double out[])

	      (Corresponds to nc_put_var_double() in netCDF)

	      Writes  an  entire  netCDF  variable (i.e. all the values).  The
	      netCDF dataset must be open and in data mode.  The type  of  the
	      data  is	specified in the function name,	and it is converted to
	      the external type	of the specified variable, if possible,	other-
	      wise  an	NC_ERANGE error	is returned. Note that rounding	is not
	      performed	during the  conversion.	 Floating  point  numbers  are
	      truncated	when converted to integers.

       int ncmpi_get_var_text(int ncid,	int varid, char	in[])

	      (Corresponds to nc_get_var_text()	in netCDF)

       int ncmpi_get_var_uchar(int ncid, int varid, unsigned char in[])

	      (Corresponds to nc_get_var_uchar() in netCDF)

       int ncmpi_get_var_schar(int ncid, int varid, signed char	in[])

	      (Corresponds to nc_get_var_schar() in netCDF)

       int ncmpi_get_var_short(int ncid, int varid, short in[])

	      (Corresponds to nc_get_var_short() in netCDF)

       int ncmpi_get_var_int(int ncid, int varid, int in[])

	      (Corresponds to nc_get_var_int() in netCDF)

       int ncmpi_get_var_long(int ncid,	int varid, long	in[])

	      (Corresponds to nc_get_var_long()	in netCDF)

       int ncmpi_get_var_float(int ncid, int varid, float in[])

	      (Corresponds to nc_get_var_float() in netCDF)

       int ncmpi_get_var_double(int ncid, int varid, double in[])

	      (Corresponds to nc_get_var_double() in netCDF)

	      Reads  an	 entire	 netCDF	 variable  (i.e. all the values).  The
	      netCDF dataset must be open and in data mode.  The data is  con-
	      verted from the external type of the specified variable, if nec-
	      essary, to the type specified in the function name.  If  conver-
	      sion is not possible, an NC_ERANGE error is returned.

WRITING	AND READING ONE	DATUM
       int  ncmpi_put_var1_text(int ncid, int varid, const MPI_Offset index[],
	      char *out)

	      (Corresponds to nc_put_var1_text() in netCDF)

       int ncmpi_put_var1_uchar(int ncid, int varid, const MPI_Offset index[],
	      unsigned char *out)

	      (Corresponds to nc_put_var1_uchar() in netCDF)

       int ncmpi_put_var1_schar(int ncid, int varid, const MPI_Offset index[],
	      signed char *out)

	      (Corresponds to nc_put_var1_schar() in netCDF)

       int ncmpi_put_var1_short(int ncid, int varid, const MPI_Offset index[],
	      short *out)

	      (Corresponds to nc_put_var1_short() in netCDF)

       int  ncmpi_put_var1_int(int  ncid, int varid, const MPI_Offset index[],
	      int *out)

	      (Corresponds to nc_put_var1_int()	in netCDF)

       int ncmpi_put_var1_long(int ncid, int varid, const MPI_Offset  index[],
	      long *out)

	      (Corresponds to nc_put_var1_long() in netCDF)

       int ncmpi_put_var1_float(int ncid, int varid, const MPI_Offset index[],
	      float *out)

	      (Corresponds to nc_put_var1_float() in netCDF)

       int ncmpi_put_var1_double(int ncid, int	varid,	const  MPI_Offset  in-
	      dex[], double *out)

	      (Corresponds to nc_put_var1_double() in netCDF)

	      Puts  a  single data value into a	variable at the	position index
	      of an open netCDF	dataset	that is	in data	mode.  The type	of the
	      data  is	specified in the function name,	and it is converted to
	      the external type	of the specified variable, if possible,	other-
	      wise an NC_ERANGE	error is returned.

       int  ncmpi_get_var1_text(int ncid, int varid, const MPI_Offset index[],
	      char* in)

	      (Corresponds to nc_get_var1_text() in netCDF)

       int ncmpi_get_var1_uchar(int ncid, int varid, const MPI_Offset index[],
	      unsigned char* in)

	      (Corresponds to nc_get_var1_uchar() in netCDF)

       int ncmpi_get_var1_schar(int ncid, int varid, const MPI_Offset index[],
	      signed char* in)

	      (Corresponds to nc_get_var1_schar() in netCDF)

       int ncmpi_get_var1_short(int ncid, int varid, const MPI_Offset index[],
	      short* in)

	      (Corresponds to nc_get_var1_short() in netCDF)

       int  ncmpi_get_var1_int(int  ncid, int varid, const MPI_Offset index[],
	      int* in)

	      (Corresponds to nc_get_var1_int()	in netCDF)

       int ncmpi_get_var1_long(int ncid, int varid, const MPI_Offset  index[],
	      long* in)

	      (Corresponds to nc_get_var1_long() in netCDF)

       int ncmpi_get_var1_float(int ncid, int varid, const MPI_Offset index[],
	      float* in)

	      (Corresponds to nc_get_var1_float() in netCDF)

       int ncmpi_get_var1_double(int ncid, int	varid,	const  MPI_Offset  in-
	      dex[], double* in)

	      (Corresponds to nc_get_var1_double() in netCDF)

	      Gets  a  single data value from a	variable at the	position index
	      of an open netCDF	dataset	that is	in data	 mode.	 The  data  is
	      converted	 from  the external type of the	specified variable, if
	      necessary, to the	type specified in the function name.  If  con-
	      version is not possible, an NC_ERANGE error is returned.

WRITING	AND READING AN ARRAY
       int  ncmpi_put_vara_text(int ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	const char out[])

	      (Corresponds to nc_put_vara_text() in netCDF)

       int ncmpi_put_vara_uchar(int ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	const unsigned char out[])

	      (Corresponds to nc_put_vara_uchar() in netCDF)

       int ncmpi_put_vara_schar(int ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	const signed char out[])

	      (Corresponds to nc_put_vara_schar() in netCDF)

       int ncmpi_put_vara_short(int ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	const short out[])

	      (Corresponds to nc_put_vara_short() in netCDF)

       int  ncmpi_put_vara_int(int  ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	const int out[])

	      (Corresponds to nc_put_vara_int()	in netCDF)

       int ncmpi_put_vara_long(int ncid, int varid, const MPI_Offset  start[],
	      const MPI_Offset count[],	const long out[])

	      (Corresponds to nc_put_vara_long() in netCDF)

       int ncmpi_put_vara_float(int ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	const float out[])

	      (Corresponds to nc_put_vara_float() in netCDF)

       int  ncmpi_put_vara_double(int  ncid,  int  varid,   const   MPI_Offset
	      start[], const MPI_Offset	count[], const double out[])

	      (Corresponds to nc_put_vara_double() in netCDF)

	      Writes  an  array	section	of values into a netCDF	variable of an
	      open netCDF dataset, which must be in data mode.	The array sec-
	      tion is specified	by the start and count vectors,	which give the
	      starting index and count of values along each dimension  of  the
	      specified	 variable.   The  type of the data is specified	in the
	      function name and	is converted to	the external type of the spec-
	      ified variable, if possible, otherwise an	NC_ERANGE error	is re-
	      turned.

       int ncmpi_get_vara_text(int ncid, int varid, const MPI_Offset  start[],
	      const MPI_Offset count[],	char in[])

	      (Corresponds to nc_get_vara_text() in netCDF)

       int ncmpi_get_vara_uchar(int ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	unsigned char in[])

	      (Corresponds to nc_get_vara_uchar() in netCDF)

       int ncmpi_get_vara_schar(int ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	signed char in[])

	      (Corresponds to nc_get_vara_schar() in netCDF)

       int ncmpi_get_vara_short(int ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	short in[])

	      (Corresponds to nc_get_vara_short() in netCDF)

       int ncmpi_get_vara_int(int ncid,	int varid, const  MPI_Offset  start[],
	      const MPI_Offset count[],	int in[])

	      (Corresponds to nc_get_vara_int()	in netCDF)

       int  ncmpi_get_vara_long(int ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	long in[])

	      (Corresponds to nc_get_vara_long() in netCDF)

       int ncmpi_get_vara_float(int ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	float in[])

	      (Corresponds to nc_get_vara_float() in netCDF)

       int   ncmpi_get_vara_double(int	 ncid,	int  varid,  const  MPI_Offset
	      start[], const MPI_Offset	count[], double	in[])

	      (Corresponds to nc_get_vara_double() in netCDF)

	      Reads an array section of	values from a netCDF  variable	of  an
	      open netCDF dataset, which must be in data mode.	The array sec-
	      tion is specified	by the start and count vectors,	which give the
	      starting	index  and count of values along each dimension	of the
	      specified	variable.  The data is	converted  from	 the  external
	      type of the specified variable, if necessary, to the type	speci-
	      fied in the function name.  If conversion	is  not	 possible,  an
	      NC_ERANGE	error is returned.

WRITING	AND READING A SLICED ARRAY
       int  ncmpi_put_vars_text(int ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	const MPI_Offset stride[], const  char
	      out[])

	      (Corresponds to nc_put_vars_text() in netCDF)

       int ncmpi_put_vars_uchar(int ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	const MPI_Offset stride[],  const  un-
	      signed char out[])

	      (Corresponds to nc_put_vars_uchar() in netCDF)

       int ncmpi_put_vars_schar(int ncid, int varid, const MPI_Offset start[],
	      const  MPI_Offset	 count[],  const  MPI_Offset  stride[],	 const
	      signed char out[])

	      (Corresponds to nc_put_vars_schar() in netCDF)

       int ncmpi_put_vars_short(int ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	const MPI_Offset stride[], const short
	      out[])

	      (Corresponds to nc_put_vars_short() in netCDF)

       int  ncmpi_put_vars_int(int  ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	const MPI_Offset stride[],  const  int
	      out[])

	      (Corresponds to nc_put_vars_int()	in netCDF)

       int  ncmpi_put_vars_long(int ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	const MPI_Offset stride[], const  long
	      out[])

	      (Corresponds to nc_put_vars_long() in netCDF)

       int ncmpi_put_vars_float(int ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	const MPI_Offset stride[], const float
	      out[])

	      (Corresponds to nc_put_vars_float() in netCDF)

       int   ncmpi_put_vars_double(int	 ncid,	int  varid,  const  MPI_Offset
	      start[], const MPI_Offset	count[],  const	 MPI_Offset  stride[],
	      const double out[])

	      (Corresponds to nc_put_vars_double() in netCDF)

	      These  functions	are used for strided output, which is like the
	      array section output described above, except that	 the  sampling
	      stride  (the  interval between accessed values) is specified for
	      each dimension.  For an explanation of the sampling stride  vec-
	      tor, see COMMON ARGUMENTS	DESCRIPTIONS below.

       int  ncmpi_get_vars_text(int ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	const MPI_Offset stride[], char	in[])

	      (Corresponds to nc_get_vars_text() in netCDF)

       int ncmpi_get_vars_uchar(int ncid, int varid, const MPI_Offset start[],
	      const  MPI_Offset	 count[],  const MPI_Offset stride[], unsigned
	      char in[])

	      (Corresponds to nc_get_vars_uchar() in netCDF)

       int ncmpi_get_vars_schar(int ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	const MPI_Offset stride[], signed char
	      in[])

	      (Corresponds to nc_get_vars_schar() in netCDF)

       int ncmpi_get_vars_short(int ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	const MPI_Offset stride[], short in[])

	      (Corresponds to nc_get_vars_short() in netCDF)

       int  ncmpi_get_vars_int(int  ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	const MPI_Offset stride[], int in[])

	      (Corresponds to nc_get_vars_int()	in netCDF)

       int ncmpi_get_vars_long(int ncid, int varid, const MPI_Offset  start[],
	      const MPI_Offset count[],	const MPI_Offset stride[], long	in[])

	      (Corresponds to nc_get_vars_long() in netCDF)

       int ncmpi_get_vars_float(int ncid, int varid, const MPI_Offset start[],
	      const MPI_Offset count[],	const MPI_Offset stride[], float in[])

	      (Corresponds to nc_get_vars_float() in netCDF)

       int  ncmpi_get_vars_double(int  ncid,  int  varid,   const   MPI_Offset
	      start[],	const  MPI_Offset  count[], const MPI_Offset stride[],
	      double in[])

	      (Corresponds to nc_get_vars_double() in netCDF)

	      These functions are used for strided input, which	 is  like  the
	      array  section  input  described above, except that the sampling
	      stride (the interval between accessed values) is	specified  for
	      each  dimension.	For an explanation of the sampling stride vec-
	      tor, see COMMON ARGUMENTS	DESCRIPTIONS below.

WRITING	AND READING A MAPPED ARRAY
       int ncmpi_put_varm_text(int ncid, int varid, const MPI_Offset  start[],
	      const  MPI_Offset	 count[],  const  MPI_Offset  stride[],	 const
	      MPI_Offset imap[], const char out[])

	      (Corresponds to nc_put_varm_text() in netCDF)

       int ncmpi_put_varm_uchar(int ncid, int varid, const MPI_Offset start[],
	      const  MPI_Offset	 count[],  const  MPI_Offset  stride[],	 const
	      MPI_Offset imap[], const unsigned	char out[])

	      (Corresponds to nc_put_varm_uchar() in netCDF)

       int ncmpi_put_varm_schar(int ncid, int varid, const MPI_Offset start[],
	      const  MPI_Offset	 count[],  const  MPI_Offset  stride[],	 const
	      MPI_Offset imap[], const signed char out[])

	      (Corresponds to nc_put_varm_schar() in netCDF)

       int ncmpi_put_varm_short(int ncid, int varid, const MPI_Offset start[],
	      const  MPI_Offset	 count[],  const  MPI_Offset  stride[],	 const
	      MPI_Offset imap[], const short out[])

	      (Corresponds to nc_put_varm_short() in netCDF)

       int ncmpi_put_varm_int(int ncid,	int varid, const  MPI_Offset  start[],
	      const  MPI_Offset	 count[],  const  MPI_Offset  stride[],	 const
	      MPI_Offset imap[], const int out[])

	      (Corresponds to nc_put_varm_int()	in netCDF)

       int ncmpi_put_varm_long(int ncid, int varid, const MPI_Offset  start[],
	      const  MPI_Offset	 count[],  const  MPI_Offset  stride[],	 const
	      MPI_Offset imap[], const long out[])

	      (Corresponds to nc_put_varm_long() in netCDF)

       int ncmpi_put_varm_float(int ncid, int varid, const MPI_Offset start[],
	      const  MPI_Offset	 count[],  const  MPI_Offset  stride[],	 const
	      MPI_Offset imap[], const float out[])

	      (Corresponds to nc_put_varm_float() in netCDF)

       int  ncmpi_put_varm_double(int  ncid,  int  varid,   const   MPI_Offset
	      start[],	const  MPI_Offset  count[], const MPI_Offset stride[],
	      const MPI_Offset imap[], const double out[])

	      (Corresponds to nc_put_varm_double() in netCDF)

	      These functions are used for mapped output, which	is like	strid-
	      ed  output described above, except that an additional index map-
	      ping vector is provided to specify the in-memory arrangement  of
	      the  data	 values.  For an explanation of	the index mapping vec-
	      tor, see COMMON ARGUMENTS	DESCRIPTIONS below.

       int ncmpi_get_varm_text(int ncid, int varid, const MPI_Offset  start[],
	      const  MPI_Offset	 count[],  const  MPI_Offset  stride[],	 const
	      MPI_Offset imap[], char in[])

	      (Corresponds to nc_get_varm_text() in netCDF)

       int ncmpi_get_varm_uchar(int ncid, int varid, const MPI_Offset start[],
	      const  MPI_Offset	 count[],  const  MPI_Offset  stride[],	 const
	      MPI_Offset imap[], unsigned char in[])

	      (Corresponds to nc_get_varm_uchar() in netCDF)

       int ncmpi_get_varm_schar(int ncid, int varid, const MPI_Offset start[],
	      const  MPI_Offset	 count[],  const  MPI_Offset  stride[],	 const
	      MPI_Offset imap[], signed	char in[])

	      (Corresponds to nc_get_varm_schar() in netCDF)

       int ncmpi_get_varm_short(int ncid, int varid, const MPI_Offset start[],
	      const  MPI_Offset	 count[],  const  MPI_Offset  stride[],	 const
	      MPI_Offset imap[], short in[])

	      (Corresponds to nc_get_varm_short() in netCDF)

       int ncmpi_get_varm_int(int ncid,	int varid, const  MPI_Offset  start[],
	      const  MPI_Offset	 count[],  const  MPI_Offset  stride[],	 const
	      MPI_Offset imap[], int in[])

	      (Corresponds to nc_get_varm_int()	in netCDF)

       int ncmpi_get_varm_long(int ncid, int varid, const MPI_Offset  start[],
	      const  MPI_Offset	 count[],  const  MPI_Offset  stride[],	 const
	      MPI_Offset imap[], long in[])

	      (Corresponds to nc_get_varm_long() in netCDF)

       int ncmpi_get_varm_float(int ncid, int varid, const MPI_Offset start[],
	      const  MPI_Offset	 count[],  const  MPI_Offset  stride[],	 const
	      MPI_Offset imap[], float in[])

	      (Corresponds to nc_get_varm_float() in netCDF)

       int  ncmpi_get_varm_double(int  ncid,  int  varid,   const   MPI_Offset
	      start[],	const  MPI_Offset  count[], const MPI_Offset stride[],
	      const MPI_Offset imap[], double in[])

	      (Corresponds to nc_get_varm_double() in netCDF)

	      These functions are used for mapped input, which is like strided
	      input  described	above, except that an additional index mapping
	      vector is	provided to specify the	in-memory arrangement  of  the
	      data  values.   For  an explanation of the index mapping vector,
	      see COMMON ARGUMENTS DESCRIPTIONS	below.

ATTRIBUTES
       int ncmpi_put_att_text(int ncid,	int varid, const char name[],  nc_type
	      xtype, MPI_Offset	len, const char	out[])

	      (Corresponds to nc_put_att_text()	in netCDF)

       int ncmpi_put_att_uchar(int ncid, int varid, const char name[], nc_type
	      xtype, MPI_Offset	len, const unsigned char out[])

	      (Corresponds to nc_put_att_uchar() in netCDF)

       int ncmpi_put_att_schar(int ncid, int varid, const char name[], nc_type
	      xtype, MPI_Offset	len, const signed char out[])

	      (Corresponds to nc_put_att_schar() in netCDF)

       int ncmpi_put_att_short(int ncid, int varid, const char name[], nc_type
	      xtype, MPI_Offset	len, const short out[])

	      (Corresponds to nc_put_att_short() in netCDF)

       int ncmpi_put_att_int(int ncid, int varid, const	char  name[],  nc_type
	      xtype, MPI_Offset	len, const int out[])

	      (Corresponds to nc_put_att_int() in netCDF)

       int  ncmpi_put_att_long(int ncid, int varid, const char name[], nc_type
	      xtype, MPI_Offset	len, const long	out[])

	      (Corresponds to nc_put_att_long()	in netCDF)

       int ncmpi_put_att_float(int ncid, int varid, const char name[], nc_type
	      xtype, MPI_Offset	len, const float out[])

	      (Corresponds to nc_put_att_float() in netCDF)

       int  ncmpi_put_att_double(int  ncid,  int  varid,  const	 char  name[],
	      nc_type xtype, MPI_Offset	len, const double out[])

	      (Corresponds to nc_put_att_double() in netCDF)

       int ncmpi_put_att(int ncid,  int	 varid,	 const	char  name[],  nc_type
	      xtype, MPI_Offset	len, void * ip)

	      (Corresponds to nc_put_att() in netCDF)

       int ncmpi_get_att(int ncid, int varid, const char name[], void ** ip)

	      (Corresponds to nc_get_att() in netCDF)

	      Unlike  variables, attributes do not have	separate functions for
	      defining and writing values.  This family	of functions defines a
	      new  attribute  with a value or changes the value	of an existing
	      attribute.  If the attribute is new, or if the space required to
	      store  the  attribute  value  is greater than before, the	netCDF
	      dataset must be in define	mode.  The parameter len is the	number
	      of  values  from	out to transfer.  It is	often one, except that
	      for ncmpi_put_att_text() it will usually be strlen(out).

	      For these	functions, the type component  of  the	function  name
	      refers to	the in-memory type of the value, whereas the xtype ar-
	      gument refers to the external type for storing  the  value.   An
	      NC_ERANGE	 error	results	if a conversion	between	these types is
	      not possible.  In	this case the value is	represented  with  the
	      appropriate fill-value for the associated	external type.

       int ncmpi_inq_attname(int ncid, int varid, int attnum, char name[])

	      (Corresponds to nc_inq_attname() in netCDF)

	      Gets  the	name of	an attribute, given its	variable ID and	attri-
	      bute number.  This function is useful  in	 generic  applications
	      that need	to get the names of all	the attributes associated with
	      a	variable, since	attributes are accessed	by  name  rather  than
	      number  in  all other attribute functions.  The number of	an at-
	      tribute is more volatile than the	name, since it can change when
	      other  attributes	 of  the  same	variable are deleted.  The at-
	      tributes for each	variable are numbered from 0 (the first	attri-
	      bute)  to	nvatts-1, where	nvatts is the number of	attributes for
	      the variable, as returned	from a call  to	 ncmpi_inq_varnatts().
	      If  the  name  parameter	is a NULL pointer, no name will	be re-
	      turned and no space need be allocated.

       int ncmpi_inq_att(int ncid, int	varid,	const  char  name[],  nc_type*
	      xtype, MPI_Offset* len)

	      (Corresponds to nc_inq_att() in netCDF)

       int  ncmpi_inq_attid(int	 ncid,	int varid, const char name[], int* at-
	      tnum)

	      (Corresponds to nc_inq_attid() in	netCDF)

       int ncmpi_inq_atttype(int ncid, int varid, const	char name[],  nc_type*
	      xtype)

	      (Corresponds to nc_inq_atttype() in netCDF)

       int  ncmpi_inq_attlen(int  ncid,	int varid, const char name[], MPI_Off-
	      set* len)

	      (Corresponds to nc_inq_attlen() in netCDF)

	      These functions return information  about	 a  netCDF  attribute,
	      given its	variable ID and	name.  The information returned	is the
	      external type in xtype and the number of elements	in the	attri-
	      bute  as len.  If	any of the return arguments is a NULL pointer,
	      the specified information	will not be returned.

       int ncmpi_copy_att(int ncid,  int  varid_in,  const  char  name[],  int
	      ncid_out,	int varid_out)

	      (Corresponds to nc_copy_att() in netCDF)

	      Copies  an attribute from	one netCDF dataset to another.	It can
	      also be used to copy an attribute	from one variable  to  another
	      within  the  same	 netCDF.  ncid_in is the netCDF	ID of an input
	      netCDF  dataset  from  which  the	 attribute  will  be   copied.
	      varid_in	is  the	ID of the variable in the input	netCDF dataset
	      from which the attribute will be	copied,	 or  NC_GLOBAL	for  a
	      global  attribute.  name is the name of the attribute in the in-
	      put netCDF dataset to be copied.	ncid_out is the	netCDF	ID  of
	      the output netCDF	dataset	to which the attribute will be copied.
	      It is permissible	for the	input and output netCDF	ID's to	be the
	      same.  The output	netCDF dataset should be in define mode	if the
	      attribute	to be copied does not already  exist  for  the	target
	      variable,	 or  if	it would cause an existing target attribute to
	      grow.  varid_out is the ID of the	variable in the	output	netCDF
	      dataset  to  which the attribute will be copied, or NC_GLOBAL to
	      copy to a	global attribute.

       int ncmpi_rename_att(int	ncid, int varid, const char name[], const char
	      newname[])

	      (Corresponds to nc_rename_att() in netCDF)

	      Changes  the  name  of  an attribute.  If	the new	name is	longer
	      than the original	name, the netCDF must be in define mode.   You
	      cannot  rename an	attribute to have the same name	as another at-
	      tribute of the same variable.  name is  the  original  attribute
	      name.   newname  is the new name to be assigned to the specified
	      attribute.  If the new name is longer than  the  old  name,  the
	      netCDF dataset must be in	define mode.

       int ncmpi_del_att(int ncid, int varid, const char name[])

	      (Corresponds to nc_del_att() in netCDF)

	      Deletes an attribute from	a netCDF dataset.  The dataset must be
	      in define	mode.

       int ncmpi_get_att_text(int ncid,	int varid,  const  char	 name[],  char
	      in[])

	      (Corresponds to nc_get_att_text()	in netCDF)

       int  ncmpi_get_att_uchar(int  ncid,  int	 varid,	const char name[], un-
	      signed char in[])

	      (Corresponds to nc_get_att_uchar() in netCDF)

       int ncmpi_get_att_schar(int ncid, int varid, const char name[],	signed
	      char in[])

	      (Corresponds to nc_get_att_schar() in netCDF)

       int  ncmpi_get_att_short(int  ncid, int varid, const char name[], short
	      in[])

	      (Corresponds to nc_get_att_short() in netCDF)

       int ncmpi_get_att_int(int ncid, int varid, const	char name[], int in[])

	      (Corresponds to nc_get_att_int() in netCDF)

       int ncmpi_get_att_long(int ncid,	int varid,  const  char	 name[],  long
	      in[])

	      (Corresponds to nc_get_att_long()	in netCDF)

       int  ncmpi_get_att_float(int  ncid, int varid, const char name[], float
	      in[])

	      (Corresponds to nc_get_att_float() in netCDF)

       int ncmpi_get_att_double(int ncid, int varid, const char	name[],	double
	      in[])

	      (Corresponds to nc_get_att_double() in netCDF)

	      Gets  the	 value(s) of a netCDF attribute, given its variable ID
	      and name.	 Converts from the external type to the	type specified
	      in   the	function  name,	 if  possible,	otherwise  returns  an
	      NC_ERANGE	error.	All elements of	the vector of attribute	values
	      are  returned,  so  you must allocate enough space to hold them.
	      If you don't know	how much space to reserve, call	 ncmpi_inq_at-
	      tlen() first to find out the length of the attribute.

COMMON ARGUMENT	DESCRIPTIONS
       In  this	 section we define some	common arguments which are used	in the
       "FUNCTION DESCRIPTIONS" section.

       int ncid
	      is the netCDF ID returned	from a previous,  successful  call  to
	      ncmpi_open() or ncmpi_create()

       char name[]
	      is the name of a dimension, variable, or attribute. The names of
	      dimensions, variables and	attributes consist  of	arbitrary  se-
	      quences  of  alphanumeric	characters (as well as underscore '_',
	      period '.' and hyphen '-'), beginning with a  letter  or	under-
	      score.  (However	names  commencing with underscore are reserved
	      for system use.) Case is significant in netCDF  names.  A	 zero-
	      length name is not allowed.  As an input argument, it shall be a
	      pointer to a 0-terminated	string;	 as  an	 output	 argument,  it
	      shall be the address of a	buffer in which	to hold	such a string.
	      The maximum allowable number of characters (excluding the	termi-
	      nating 0)	is NC_MAX_NAME.

       nc_type xtype
	      specifies	 the external data type	of a netCDF variable or	attri-
	      bute and is one of the following:	 NC_BYTE,  NC_CHAR,  NC_SHORT,
	      NC_INT, NC_FLOAT,	or NC_DOUBLE for CDF-1 and CDF-2 file formats.
	      These are	used to	specify	8-bit integers,	characters, 16-bit in-
	      tegers, 32-bit integers, 32-bit IEEE floating point numbers, and
	      64-bit IEEE floating-point numbers, respectively.	  (NC_LONG  in
	      netCDF  version 2	is now obsolete	and set	to NC_INT).  CDF-5 de-
	      fines additional external	types: NC_UBYTE,  NC_USHORT,  NC_UINT,
	      NC_INT64,	and NC_UINT64.

       int dimids[]
	      is  a vector of dimension	ID's and defines the shape of a	netCDF
	      variable.	 The size of the vector	shall be greater than or equal
	      to  the  rank  (i.e.  the	 number	of dimensions) of the variable
	      (ndims).	The vector shall be ordered by the speed with which  a
	      dimension	 varies:  dimids[ndims-1] shall	be the dimension ID of
	      the most rapidly varying dimension and dimids[0]	shall  be  the
	      dimension	 ID of the most	slowly varying dimension.  The maximum
	      possible number of dimensions for	a variable  is	given  by  the
	      symbolic constant	NC_MAX_VAR_DIMS.

       int dimid
	      is  the ID of a netCDF dimension.	 netCDF	dimension ID's are al-
	      located sequentially from	the  non-negative  integers  beginning
	      with 0.

       int ndims
	      is  either the total number of dimensions	in a netCDF dataset or
	      the rank (i.e. the number	of dimensions) of a  netCDF  variable.
	      The  value  shall	 not  be negative or greater than the symbolic
	      constant NC_MAX_VAR_DIMS.

       int varid
	      is the ID	of a netCDF  variable  or  (for	 the  attribute-access
	      functions)  the  symbolic	 constant  NC_GLOBAL, which is used to
	      reference	global attributes.  netCDF variable ID's are allocated
	      sequentially from	the non-negative integers beginning with 0.

       int* natts
	      is  the number of	global attributes in a netCDF dataset  for the
	      ncmpi_inquire() function or the number of	attributes  associated
	      with a netCDF variable for the ncmpi_varinq() function.

       const MPI_Offset	index[]
	      specifies	 the   coordinates  of the netCDF data value to	be ac-
	      cessed.  The indices start at 0; thus, for  example,  the	 first
	      data  value of a two-dimensional variable	is (0,0).  The size of
	      the vector shall be at least the rank of the  associated	netCDF
	      variable	and  its  elements  shall correspond, in order,	to the
	      variable's dimensions.

       const MPI_Offset	start[]
	      specifies	the starting point for accessing a  netCDF  variable's
	      data  values  in terms of	the indicial coordinates of the	corner
	      of the array section.  The indices start at 0; thus,  the	 first
	      data  value  of  a  variable is (0, 0, ..., 0).  The size	of the
	      vector shall be at least the rank	of the associated netCDF vari-
	      able  and	 its elements shall correspond,	in order, to the vari-
	      able's dimensions.

       const MPI_Offset	count[]
	      specifies	the number of indices selected along each dimension of
	      the array	section.  Thus,	to access a single value, for example,
	      specify count as (1, 1, ..., 1).	Note that,  for	 strided  I/O,
	      this  argument must be adjusted to be compatible with the	stride
	      and start	arguments so that the interaction of  the  three  does
	      not attempt to access an invalid data co-ordinate.  The elements
	      of the count vector correspond, in order,	to the variable's  di-
	      mensions.

       const MPI_Offset	stride[]
	      specifies	 the  sampling	interval  along	 each dimension	of the
	      netCDF variable.	 The elements of the stride vector correspond,
	      in  order, to the	netCDF variable's dimensions (stride[0]) gives
	      the sampling interval along the most slowly varying dimension of
	      the netCDF variable).  Sampling intervals	are specified in type-
	      independent units	of elements (a value of	1 selects  consecutive
	      elements	of  the	netCDF variable	along the corresponding	dimen-
	      sion, a value of 2 selects every other element, etc.).   A  NULL
	      stride argument is treated as (1,	1, ... , 1).

       const MPI_Offset	imap[]
	      specifies	 the  mapping between the dimensions of	a netCDF vari-
	      able and the in-memory structure of  the	internal  data	array.
	      The  elements  of	the index mapping vector correspond, in	order,
	      to the netCDF variable's dimensions (imap[0] gives the  distance
	      between elements of the internal array corresponding to the most
	      slowly varying dimension of the netCDF variable).	 Distances be-
	      tween  elements  are specified in	type-independent units of ele-
	      ments (the distance between internal elements that occupy	 adja-
	      cent  memory locations is	1 and not the element's	byte-length as
	      in netCDF	2).  A NULL pointer means the  memory-resident	values
	      have the same structure as the associated	netCDF variable.

VARIABLE PREFILLING
       PnetCDF does not	support	data filling.

ENVIRONMENT VARIABLES
       PNETCDF_SAFE_MODE
	   Set	to  1  to  enable metadata consistency check. Warning messages
	   will	be printed to stdout if	any inconsistency is detected.

MAILING-LISTS
       A mailing list is available for discussion of the PnetCDF interface and
       announcements  about  PnetCDF  bugs,  fixes, and	enhancements.  To sub-
       scribe  or   unsubscribe	  to   the   PnetCDF   mailing	 list,	 visit
       https://lists.mcs.anl.gov/mailman/listinfo/parallel-netcdf

SEE ALSO
       ncmpidump(1), ncmpigen(1), ncmpidiff(1),	ncmpivalid(1), pnetcdf(3).

       PnetCDF	User's Guide, published	by Northwestern	University and Argonne
       National	Laboratory.  This document is adopted from the	netCDF	User's
       Guide,  developed at the	Unidata	Program	Center,	University Corporation
       for Atmospheric Research, located in Boulder, Colorado.

       PnetCDF	    home       page	  at	   http://cucis.ece.northwest-
       ern.edu/projects/PnetCDF/.

LIBRARY	FUNCTIONS	      Printed: 2019-11-20		 3(2017-01-28)

NAME | SYNOPSIS | LIBRARY VERSION | RETURN VALUES | FILE OPERATIONS | DIMENSIONS | VARIABLES | WRITING AND READING WHOLE VARIABLES | WRITING AND READING ONE DATUM | WRITING AND READING AN ARRAY | WRITING AND READING A SLICED ARRAY | WRITING AND READING A MAPPED ARRAY | ATTRIBUTES | COMMON ARGUMENT DESCRIPTIONS | VARIABLE PREFILLING | ENVIRONMENT VARIABLES | MAILING-LISTS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=pnetcdf&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help