netcdf_f90 man page on Cygwin

Man page or keyword search:  
man Server   22533 pages
apropos Keyword Search (all sections)
Output format
Cygwin logo
[printable version]

NETCDF(3f90)		   UNIDATA LIBRARY FUNCTIONS		  NETCDF(3f90)

NAME
       netcdf  -  Unidata Network Common Data Form (netCDF) library, version 3
       interface

SYNOPSIS
       use netcdf

   Most Systems:
       f90 ... -lnetcdf

   CRAY PVP Systems:
       f90 -dp -i64 ... -lnetcdf


LIBRARY VERSION
       This document describes version 3 of Unidata netCDF data-access	inter‐
       face for the Fortran-90 programming language.

       character*80 nf90_inq_libvers()
	      character(len=80) :: nf90_inq_libvers

       Returns	a  string  identifying	the version of the netCDF library, and
       when it was built, like: "3.1a of Aug 22 1996 12:57:47 $".

       The RCS ident(1) command will find a string like "$Id: @(#) netcdf  li‐
       brary  version 3.1a of Sep  6 1996 15:56:26 $" in the library. The SCCS
       what(1) command will find a string like "netcdf library version 3.1a of
       Aug 23 1996 16:07:40 $".

ROUTINE DESCRIPTIONS
       All  netCDF  functions  (except nf90_inq_libvers() and nf90_strerror())
       return an integer status.  This behavior replaces  the  rcode  argument
       used in previous versions of the library.  If this returned status val‐
       ue is not equal to nf90_noerr (zero), it indicates that	an  error  oc‐
       curred. The possible status values are defined in the module netcdf.

       function nf90_strerror(ncerr)
	      integer, intent(in) :: ncerr
	      character(len=80) :: nf90_strerror

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

       function nf90_create(path, cmode, ncid)
	      character(len=*), intent(in) :: path
	      integer, intent(in) :: cmode
	      integer, optional, intent(in) :: initialsize
	      integer, optional, intent(inout) :: chunksize
	      integer, intent(out) :: ncid
	      integer :: nf90_create

	      (Corresponds to nccre() in version 2)

	      Creates  a  new netCDF dataset at path, returning a netCDF ID in
	      ncid.  The argument cmode may include the bitwise-or of the fol‐
	      lowing  flags:  nf90_noclobber to protect existing datasets (de‐
	      fault silently blows  them  away),  nf90_share  for  synchronous
	      dataset  updates	(default is to buffer accesses), and nf90_lock
	      (not yet implemented).  When a netCDF dataset is created, is  is
	      opened nf90_write.  The new netCDF dataset is in define mode.

	      The  optional  argument initialsize sets the initial size of the
	      file at creation time.

	      See nf__open() below for an explanation of the  optional	chunk‐
	      size argument.

       function nf90_open(path, mode, ncid, chunksize)
	      character(len=*), intent(in) :: path
	      integer, intent(in) :: mode
	      integer, intent(out) :: ncid
	      integer, optional, intent(inout) :: chunksize
	      integer :: nf90_open

	      (Corresponds to ncopn() in version 2)

	      Opens a existing netCDF dataset at path returning a netCDF ID in
	      ncid.  As of NetCDF version 4.1, and if DAP support was  enabled
	      when  the	 library was built, the path may instead specify a DAP
	      URL (refer to the NetCDF user's manual for details).

	      The type of access is described by the mode parameter, which may
	      include  the  bitwise-or	of the following flags: nf90_write for
	      read-write access (default read-only), nf90_share	 for  synchro‐
	      nous  dataset  updates  (default	is  to	buffer	accesses), and
	      nf90_lock (not yet implemented).

	      The optional argument referenced by chunksize controls  a	 space
	      versus  time  tradeoff,  memory  allocated in the netcdf library
	      versus number of system calls.   Because	of  internal  require‐
	      ments,  the value may not be set to exactly the value requested.
	      The actual value chosen is returned  by  reference.   Using  the
	      value  nf90_sizehint_default  causes the library to choose a de‐
	      fault.  How the system choses the default depends on the system.
	      On  many	systems,  the  "preferred I/O block size" is available
	      from the stat() system call, struct stat member st_blksize.   If
	      this is available it is used. Lacking that, twice the system pa‐
	      gesize is used.  Lacking a call to discover the system pagesize,
	      we just set default chunksize to 8192.

	      The  chunksize  is  a property of a given open netcdf descriptor
	      ncid: it is not a persistent property of the netcdf dataset.

       function nf90_set_fill(ncid, fillmode, old_mode)
	      integer, intent(in) :: ncid, fillmode
	      integer, intent(out) :: old_mode
	      integer :: nf90_set_fill

	      Sets the fill-mode for a netCDF dataset to optimize writes under
	      some  circumstances.   The  fill-mode argument, fillmode, can be
	      either nf90_fill or nf90_nofill.	nf90_fill  causes  fill-values
	      to  be  written  into non-record variables and into skipped-over
	      records when writing beyond the last valid record.   nf90_nofill
	      suspends	this  behavior.	  The  default behavior corresponds to
	      nf90_fill.

	      The previous fill-mode value is return in old_mode.

	      The fill-mode is a property of a given  open  netcdf  descriptor
	      ncid: it is not a persistent property of the netcdf dataset.

       function nf90_redef(ncid)
	      integer, intent(in) :: ncid
	      integer :: nf90_redef

	      (Corresponds to ncredf() in version 2)

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

       function nf90_enddef(ncid, h_minfree, v_align, v_minfree, r_align)
	      integer, intent(in) :: ncid
	      integer, optional, intent(in) :: h_minfree, v_align
	      integer, optional, intent(in) :: v_minfree, r_align
	      integer :: nf90_enddef

	      (Corresponds to ncendf() in version 2)

	      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.  Some da‐
	      ta values may be written as well, see "VARIABLE PREFILLING"  be‐
	      low.   After  a  successful  call,  variable data can be read or
	      written to the dataset.

	      The optional arguments are performance tuning parameters.	  They
	      exposes  internals  of  the netcdf version 1 file format and may
	      not be available on future netcdf implementations.

	      The current netcdf file format has three sections, the  "header"
	      section, the data section for fixed size variables, and the data
	      section for variables which have an unlimited dimension  (record
	      variables).  The header begins at the beginning of the file. The
	      index (offset) of the beginning of the  other  two  sections  is
	      contained	 in  the  header. Typically, there is no space between
	      the sections. This causes copying	 overhead  to  accrue  if  one
	      wishes  to  change  the size of the sections, as may happen when
	      changing names of things,	 text  attribute  values,  adding  at‐
	      tributes	or adding variables. Also, for buffered i/o, there may
	      be advantages to aligning sections in certain ways.

	      The minfree parameters allow one	to  control  costs  of	future
	      calls  to nf90_redef(), nf90_enddef() by requesting that minfree
	      bytes be available at the end of the section.  The h_minfree pa‐
	      rameter  sets  the  pad  at the end of the "header" section. The
	      v_minfree parameter sets the pad at the end of the data  section
	      for fixed size variables.

	      The  align  parameters allow one to set the alignment of the be‐
	      ginning of the corresponding sections. The beginning of the sec‐
	      tion  is rounded up to an index which is a multiple of the align
	      parameter. The flag value nf90_align_chunk tells the library  to
	      use  the	chunksize  (see	 above)	 as  the align parameter.  The
	      v_align parameter controls the alignment of the beginning of the
	      data  section  for  fixed size variables.	 The r_align parameter
	      controls the alignment of the beginning of the data section  for
	      variables which have an unlimited dimension (record variables).

	      The  file	 format requires mod 4 alignment, so the align parame‐
	      ters are silently rounded up to multiples of 4. The usual	 call,
	      nf90_enddef(ncid) is equivalent to nf__enddef(ncid, 0, 4, 0, 4).

	      The  file format does not contain a "record size" value, this is
	      calculated from the sizes of the record variables. This unfortu‐
	      nate  fact prevents us from providing minfree and alignment con‐
	      trol of the "records" in a netcdf file. If you  add  a  variable
	      which  has an unlimited dimension, the third section will always
	      be copied with the new variable added.

       function nf90_sync(ncid)
	      integer, intent(in) :: ncid
	      integer :: nf90_sync

	      (Corresponds to ncsnc() in version 2)

	      Unless the nf90_share bit is set	in  nf90_open()	 or  nf90_cre‐
	      ate(), accesses to the underlying netCDF dataset are buffered by
	      the library. This function synchronizes the state of the	under‐
	      lying  dataset  and  the library.	 This is done automatically by
	      nf90_close() and nf90_enddef().

       function nf90_abort(ncid)
	      integer, intent(in) :: ncid
	      integer :: nf90_abort

	      (Corresponds to ncabor() in version 2)

	      You don't need to call this function.  This function  is	called
	      automatically  by	 nf90_close() if the netCDF dataset was in de‐
	      fine mode and something goes wrong  with	the  commit.   If  the
	      netCDF  dataset  isn't  in  define  mode,	 then this function is
	      equivalent to nf90_close().  If it is called after nf90_redef(),
	      but  before nf90_enddef(), the new definitions are not committed
	      and the dataset is closed.  If it is called after	 nf90_create()
	      but before nf90_enddef(), the dataset disappears.

       function nf90_close(ncid)
	      integer, intent(in) :: ncid
	      integer :: nf90_close

	      (Corresponds to ncclos() in version 2)

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

       function nf90_inquire(ncid, ndims, nvars, natts, unlimdimid, nformat)
	      integer, intent(in) :: ncid
	      integer, optional, intent(out) :: ndims, nvars
	      integer, optional, intent(out) :: natts, unlimdimid
	      integer, optional, intent(out) :: nformat
	      integer :: nf90_inquire

	      Inquire  about an open netCDF dataset.  ncid is the netCDF ID of
	      the open dataset.	 Upon successful return,  ndims	 will  contain
	      the  number of dimensions defined for this netCDF dataset, nvars
	      will contain the number of variables,  natts  will  contain  the
	      number  of attributes, and unlimdimid will contain the dimension
	      ID of the unlimited dimension if one  exists,  or	 0  otherwise.
	      nformat  will  contain  the format version number, rarely needed
	      because the library detects the format version and  behaves  ap‐
	      propriately.

       function nf90_def_dim(ncid, name, len, dimid)
	      integer, intent(in) :: ncid
	      character(len=*), intent(in) :: name
	      integer, intent(in) :: len
	      integer, intent(out) :: dimid
	      integer :: nf90_def_dim

	      (Corresponds to ncddef() in version 2)

	      Adds a new dimension to an open netCDF dataset, which must be in
	      define mode.  name is the dimension name.	 len is	 the  size  of
	      the  new dimension or nf90_unlimited to define the unlimited di‐
	      mension.	On return, dimid will contain the dimension ID of  the
	      newly created dimension.

       function nf90_inq_dimid(ncid, name, dimid)
	      integer, intent(in) :: ncid
	      character(len=*), intent(in) :: name
	      integer, intent(out) :: dimid
	      integer :: nf90_inq_dimid

	      (Corresponds to ncdid() in version 2)

	      Given an open netCDF dataset and dimension name, returns the di‐
	      mension ID of the netCDF dimension in dimid.

       function nf90_inquire_dimension(ncid, dimid, name, len)
	      integer, intent(in) :: ncid, dimid
	      character(len=*), optional, intent(out) :: name
	      integer, optional, intent(out) :: len
	      integer :: nf90_inquire_dimension

	      Inquire  about  a	 dimension.   name  should  be	  big	enough
	      (nf90_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	 writ‐
	      ing into any of the variables which use the dimension.

       function nf90_rename_dim(ncid, dimid, name)
	      integer, intent(in) :: ncid
	      character(len=*), intent(in) :: name
	      integer, intent(in) :: dimid
	      integer :: nf90_rename_dim

	      (Corresponds to ncdren() in version 2)

	      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.

       function nf90_def_var(ncid, name, xtype, dimids, varid)
	      integer, intent(in) :: ncid
	      character(len=*), intent(in) :: name
	      integer, intent(in) :: xtype
	      integer, optional, dimension(:), intent(in) :: dimids
	      integer :: nf90_def_var

	      (Corresponds to ncvdef() in version 2)

	      Adds a new variable to a netCDF dataset. The netCDF must	be  in
	      define  mode.   name  will  be  the name of the netCDF variable.
	      xtype is the external, netCDF type of the variable and should be
	      one  of  nf90_byte, nf90_char, nf90_short, nf90_int, nf90_float,
	      or nf90_double, The optional dimids argument contains the dimen‐
	      sion  ID-s of the domain of the netCDF variable and, consequent‐
	      ly, determines the rank of the created variable:	if  dimids  is
	      omitted, then the netCDF variable will be a scalar; if dimids is
	      a scalar, then the netCDF variable will be 1 dimensional; and if
	      dimids  is  a  vector,  then  the netCDF variable will have rank
	      equal to the number of elements in dimids.  varid will be set to
	      the netCDF variable ID.

       function nf90_inq_varid(ncid, name, varid)
	      integer, intent(in) :: ncid
	      character(len=*), intent(in) :: name
	      integer, intent(out) :: varid
	      integer :: nf90_inq_varid

	      (Corresponds to ncvid() in version 2)

	      Returns  the  ID	of  a  netCDF  variable in varid given an open
	      netCDF dataset and the name of the variable.

       function nf90_inquire_variable(ncid, varid, name, xtype, ndims, dimids,
	      natts)
	      integer, intent(in) :: ncid, varid
	      character(len=*), optional, intent(out) :: name
	      integer, optional, intent(out) :: xtype, ndims
	      integer, dimension(*), optional, intent(out) :: dimids
	      integer, optional, intent(out) :: natts
	      integer :: nf90_inquire_variable

	      Inquire about a netCDF variable in an open netCDF dataset, given
	      its variable ID.	On return, name will contain the name  of  the
	      variable	and should be capacious enough (nf90_max_name).	 xtype
	      will contain the external, netCDF type of the  variable.	 ndims
	      will  contain  the dimensionality of the netCDF variable: if the
	      variable is a scalar, then size(ndims) will be zero;  otherwise,
	      size(ndims) will be the rank of the variable and ndims will con‐
	      tain the dimension ID-s of the netCDF dimensions that constitute
	      the  domain  of  the variable.  natts will contain the number of
	      attributes associated with the netCDF variable.

       function nf90_rename_var(ncid, varid, name)
	      integer, intent9in) :: ncid, varid
	      character(len=*), intent(in) :: newname
	      integer :: nf90_rename_var

	      (Corresponds to ncvren() in version 2)

	      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.

       function nf90_put_var(ncid, varid, values, start, stride, imap)
	      integer, intent(in) :: ncid, varid
	      <<whatever>>, intent(in) :: values
	      integer, dimension(:), optional, intent(in) :: start
	      integer, dimension(:), optional, intent(in) ::  stride
	      integer, dimension(:), optional, intent(in) ::  imap
	      integer :: nf90_put_var

	      (Replaces ncvpt() in version 2)

	      Writes  a	 value	or  values  to	a netCDF variable.  The netCDF
	      dataset must be open and in data mode.  values contains the val‐
	      ue(s)  what will be written to the netCDF variable identified by
	      ncid and varid; it may be a scalar or an array and  must	be  of
	      type	 character,	  integer(kind=OneByteInt),	 inte‐
	      ger(kind=TwoByteInt),	 integer(kind=FourByteInt),	 inte‐
	      ger(kind=EightByteInt),	 real(kind=FourByteReal),    or	   re‐
	      al(kind=EightByteReal).  All values are converted to the	exter‐
	      nal  type	 of  the  netCDF  variable, if possible; otherwise, an
	      nf90_erange error is  returned.	The  optional  argument	 start
	      specifies	 the starting index in the netCDF variable for writing
	      for each dimension of the netCDF variable.  The  optional	 argu‐
	      ment  stride specifies the sampling stride (the interval between
	      accessed values in the netCDF variable) for  each	 dimension  of
	      the  netCDF  variable  (see COMMON ARGUMENT DESCRIPTIONS below).
	      The optional argument imap specifies the	in-memory  arrangement
	      of the data values (see COMMON ARGUMENT DESCRIPTIONS below).

       function nf90_get_var(ncid, varid, values, start, stride, imap)
	      integer, intent(in) :: ncid, varid
	      <<whatever>>, intent(out) :: values
	      integer, dimension(:), optional, intent(in) :: start
	      integer, dimension(:), optional, intent(in) ::  stride
	      integer, dimension(:), optional, intent(in) ::  imap
	      integer :: nf90_get_var

	      (Replaces ncvgt() in version 2)

	      Reads  a	value  or  values  from a netCDF variable.  The netCDF
	      dataset must be open and in data mode.  values will receive  the
	      value(s) what will be read from the netCDF
	       variable identified by ncid and varid; it may be a scalar or an
	      array and must be of type	 character,  integer(kind=OneByteInt),
	      integer(kind=TwoByteInt),	   integer(kind=FourByteInt),	 inte‐
	      ger(kind=EightByteInt),	 real(kind=FourByteReal),    or	   re‐
	      al(kind=EightByteReal).	All  values are converted from the ex‐
	      ternal type of the netCDF variable, if possible;	otherwise,  an
	      nf90_erange  error  is  returned.	  The  optional argument start
	      specifies the starting index in the netCDF variable for  reading
	      for  each	 dimension of the netCDF variable.  The optional argu‐
	      ment stride specifies the sampling stride (the interval  between
	      accessed	values	in  the netCDF variable) for each dimension of
	      the netCDF variable (see COMMON  ARGUMENT	 DESCRIPTIONS  below).
	      The  optional  argument imap specifies the in-memory arrangement
	      of the data values (see COMMON ARGUMENT DESCRIPTIONS below).

       function nf90_inquire_attribute(ncid, varid, name, xtype, len, attnum)
	      integer, intent(in) :: ncid, varid
	      character(len=*), intent(in) :: name
	      integer, optional, intent(out) :: xtype, len, attnum
	      integer :: nf90_inquire_attribute

	      Inquires about the netCDF	 attribute  named  name,  of  variable
	      varid,  in the open netCDF dataset ncid.	xtype will contain the
	      external, netCDF type of the variable.   len  will  contain  the
	      number  of  elements  in the attribute.  attnum will contain the
	      attribute number.

       function nf90_inq_attname(ncid, varid, attnum, name)
	      integer, intent(in) :: ncid, varid, attnum
	      character(len=*), intent(out) :: name
	      integer :: nf90_inq_attname

	      (Corresponds to ncanam() in version 2)

	      Gets the name of an attribute, given its	variable  ID  and  at‐
	      tribute number.  This function is useful in generic applications
	      that need to get the names of all the attributes associated with
	      a	 variable  because 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 because it can change
	      when other attributes of the same variable  are  deleted).   The
	      attributes  for each variable are numbered from 1 (the first at‐
	      tribute) to natts, where natts is the number of  attributes  for
	      the  variable,  as  returned  from  a call to nf90_inquire_vari‐
	      able().

       function nf90_put_att(ncid, varid, name, values)
	      integer, intent(in) :: ncid, varid
	      character(len=*), intent(in) :: name
	      <<whatever>>, intent(in) :: values
	      integer :: nf90_put_att

	      Unlike variables, attributes do not have separate functions  for
	      defining	and  writing  values.  This function defines a new at‐
	      tribute with a value or changes the value	 of  an	 existing  at‐
	      tribute.	 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.	 values contains the attribute
	      values to be written; it may be a scalar or a vector and must be
	      of     type     character,    integer(kind=OneByteInt),	 inte‐
	      ger(kind=TwoByteInt),	 integer(kind=FourByteInt),	 inte‐
	      ger(kind=EightByteInt),	 real(kind=FourByteReal),    or	   re‐
	      al(kind=EightByteReal).

       function nf90_get_att(ncid, varid, name, fIvalues)
	      integer, intent(in) :: ncid, varid
	      character(len=*), intent(in) :: name
	      <<whatever>>, intent(out) :: values
	      integer :: nf90_get_att

	      (Replaces ncagt() in version 2)

	      Gets the value(s) of a netCDF attribute, given its  variable  ID
	      and  name.   The values are returned in values, which must be of
	      type	character,	 integer(kind=OneByteInt),	 inte‐
	      ger(kind=TwoByteInt),	 integer(kind=FourByteInt),	 inte‐
	      ger(kind=EightByteInt),	 real(kind=FourByteReal),    or	   re‐
	      al(kind=EightByteReal).	Converts from the external type to the
	      type of the receiving variable, if possible;  otherwise  returns
	      an nf90_erange error.  All values of the attribute are returned,
	      so you must allocate enough space to hold them.	If  you	 don't
	      know  how	 much  space to reserve, call nf90_inquire_attribute()
	      first to find out the length of the attribute.

       function nf90_copy_att(ncid_in, varid_in, name, ncid_out, varid_out)
	      integer, intent(in) :: ncid_in, varid_in
	      character(len=*), intent(in) :: name
	      integer, intent(in) :: ncid_out, varid_out
	      integer :: nf90_copy_att

	      (Corresponds to ncacpy() in version 2)

	      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 dataset.  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 nf90_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 nf90_global to
	      copy to a global attribute.

       function nf90_rename_att(ncid, varid, name, newname)
	      integer, intent(in) :: ncid, varid
	      character(len=*), intent(in) :: name, newname
	      integer :: nf90_rename_att

	      (Corresponds to ncaren()

	      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.

	      function nf90_del_att(ncid, varid, name)
		     integer, intent(in) :: ncid, varid
		     character(len=*), intent(in) :: name
		     integer :: nf90_del_att

		     (Corresponds to ncadel() in version 2)

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

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

       integer ncid
	      is  the  netCDF  ID returned from a previous, successful call to
	      nf90_open() or nf90_create()

       character(len=*) name
	      is the name of a dimension, variable, or	attribute.   It	 shall
	      begin with an alphabetic character, followed by zero or more al‐
	      phanumeric characters including the underscore (`_')  or	hyphen
	      (`-').   Case  is	 significant.  The maximum allowable number of
	      characters is nf90_max_name.  Names that begin  with  an	under‐
	      score (`_') are reserved for use by the netCDF interface.

       integer xtype
	      specifies	 the  external	data  type of a netCDF variable or at‐
	      tribute and is  one  of  the  following:	nf90_byte,  nf90_char,
	      nf90_short,  nf90_int,  nf90_float,  or  nf90_double.  These are
	      used to specify 8-bit  integers,	characters,  16-bit  integers,
	      32-bit  integers, 32-bit IEEE floating point numbers, and 64-bit
	      IEEE floating-point numbers, respectively.

       integer 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(1) shall be the	dimension  ID  of  the
	      most  rapidly  varying  dimension and dimids(ndims) 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 nf90_max_var_dims.

       integer dimid
	      is the ID of a netCDF dimension.	netCDF dimension ID's are  al‐
	      located  sequentially  from the positive integers beginning with
	      1.

       integer 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 nf90_max_var_dims.

       integer varid
	      is  the  ID  of  a  netCDF variable or (for the attribute-access
	      functions) the symbolic constant nf90_global, which is  used  to
	      reference global attributes.  netCDF variable ID's are allocated
	      sequentially from the positive integers beginning with 1.

       integer natts
	      is the number of global attributes in a netCDF dataset  for  the
	      nf90_inquire()  function	or the number of attributes associated
	      with a netCDF variable for the nf90_varinq() function.

       integer 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 1; thus,  the	 first
	      data  value  of  a  variable is (1, 1, ..., 1).  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.

       integer 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(1))	 gives
	      the  sampling  interval along the most rapidly varying dimension
	      of the netCDF variable).	Sampling intervals  are	 specified  in
	      type-independent units of elements (a value of 1 selects consec‐
	      utive elements of the netCDF variable  along  the	 corresponding
	      dimension, a value of 2 selects every other element, etc.).

       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(1) gives the  distance
	      between elements of the internal array corresponding to the most
	      rapidly varying dimension of the	netCDF	variable).   Distances
	      between 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).

VARIABLE PREFILLING
       By default, the netCDF interface sets the values of  all	 newly-defined
       variables  of  finite length (i.e. those that do not have an unlimited,
       dimension) to the type-dependent fill-value associated with each	 vari‐
       able.  This is done when nf90_enddef() is called.  The fill-value for a
       variable may be changed from the default	 value	by  defining  the  at‐
       tribute	`_FillValue'  for  the variable.  This attribute must have the
       same type as the variable and be of length one.

       Variables with an unlimited dimension are also prefilled, but on an `as
       needed'	basis.	 For example, if the first write of such a variable is
       to position 5, then positions 1 through 4 (and no others) would be  set
       to the fill-value at the same time.

       This  default  prefilling  of data values may be disabled by or'ing the
       nf90_nofill flag into the mode parameter of  nf90_open()	 or  nf90_cre‐
       ate(),  or,  by	calling the function nf90_set_fill() with the argument
       nf90_nofill.  For variables that do not use  the	 unlimited  dimension,
       this  call  must	 be made before nf90_enddef().	For variables that use
       the unlimited dimension, this call may be made at any time.

       One can obtain increased performance of the netCDF interface  by	 using
       this  feature,  but only at the expense of requiring the application to
       set every single data value.  The  performance  enhancing  behavior  of
       this function is dependent on the particulars of the implementation and
       dataset format.	The flag value controlled by  nf90_set_fill()  is  per
       netCDF  ID, not per variable or per write.  Allowing this to change af‐
       fects the degree to which a program can	be  effectively	 parallelized.
       Given  all  of  this,  we state that the use of this feature may not be
       available (or even needed) in future  releases.	Programmers  are  cau‐
       tioned against heavy reliance upon this feature.

MPP FUNCTION DESCRIPTIONS
       Additional  functions  for  use	on  SGI/Cray  MPP machines (_CRAYMPP).
       These are used to set and inquire which PE is the base for  MPP	for  a
       particular  netCDF.  These  are	only  relevant when using the SGI/Cray
       ``global'' Flexible File I/O layer and desire to have only a subset  of
       PEs  to	open  the  specific netCDF file.  For technical reasons, these
       functions are available on all platforms.  On  a	 platform  other  than
       SGI/Cray MPP, it is as if only processor available were processor 0.

       To  use this feature, you need to specify a communicator group and call
       glio_group_mpi() or glio_group_shmem() prior to the netCDF  nf90_open()
       and nf90_create() calls.

       Note  that  the routines described below are Fortran-77 routines rather
       than Fortran-90 routines (they have an  "nf_"  prefix  rather  than  an
       "nf90_" prefix).

       integer function nf__create_mp(character*(*) path, integer cmode, inte‐
	      ger initialsize, integer pe, integer chunksize, integer ncid)

	      Like nf__create() but allows the base PE to be set.

	      The argument pe sets the base PE at creation time.  In  the  MPP
	      environment,  nf__create()  and nf90_create() set the base PE to
	      processor zero by default.

       integer function nf__open_mp(character*(*) path, integer mode,  integer
	      pe, integer chunksize, integer ncid)

	      Like  nf__open() but allows the base PE to be set.  The argument
	      pe sets the base PE at creation time. In	the  MPP  environment,
	      nf__open()  and nf90_open() set the base PE to processor zero by
	      default.

       integer function nf_inq_base_pe(integer ncid, integer pe)

	      Inquires of the netCDF dataset which PE is  being	 used  as  the
	      base for MPP use.	 This is safe to use at any time.

       integer function nf_set_base_pe(integer ncid, integer pe)

	      Resets  the  base	 PE for the netCDF dataset.  Only perform this
	      operation when the affected communicator group synchronizes  be‐
	      fore  and	 after	the  call.   This  operation is very risky and
	      should only be contemplated under only the most extreme cases.

ENVIRONMENT VARIABLES
       NETCDF_FFIOSPEC
	   Specifies the Flexible File I/O buffers for netCDF I/O when execut‐
	   ing	under  the UNICOS operating system (the variable is ignored on
	   other operating systems).  An appropriate specification can greatly
	   increase  the efficiency of netCDF I/O -- to the extent that it can
	   actually surpass FORTRAN binary I/O.	 This environment variable has
	   been	 made  a  little more generalized, such that other FFIO option
	   specifications can now be added.  The default specification is  bu‐
	   fa:336:2,  unless  a	 current  FFIO	specification is in operation,
	   which will be honored.  See UNICOS Flexible File I/O for  more  in‐
	   formation.

MAILING-LISTS
       Both  a	mailing	 list and a digest are available for discussion of the
       netCDF interface and announcements about netCDF bugs,  fixes,  and  en‐
       hancements.   To	 begin or change your subscription to either the mail‐
       ing-list or the digest, send one of the following in the body (not  the
       subject line) of an email message to "majordomo@unidata.ucar.edu".  Use
       your email address in place of jdoe@host.inst.domain.

       To subscribe to the netCDF mailing list:
	      subscribe netcdfgroup jdoe@host.inst.domain
       To unsubscribe from the netCDF mailing list:
	      unsubscribe netcdfgroup jdoe@host.inst.domain
       To subscribe to the netCDF digest:
	      subscribe netcdfdigest jdoe@host.inst.domain
       To unsubscribe from the netCDF digest:
	      unsubscribe netcdfdigest jdoe@host.inst.domain
       To retrieve the general introductory information for the mailing list:
	      info netcdfgroup
       To get a synopsis of other majordomo commands:
	      help

SEE ALSO
       ncdump(1), ncgen(1), netcdf(3f).

       netCDF User's Guide, published by the Unidata Program Center, Universi‐
       ty Corporation for Atmospheric Research, located in Boulder, Colorado.

Printed: 124.5.1		  2000-04-04			  NETCDF(3f90)
[top]

List of man pages available for Cygwin

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net