Datasets & co
This page describles procedures handling a whole dataset, or handling a combination of NetCDF variables, dimensions or attributes.
See the improvements page for an explanation of the mnemonics "basic change", "interface change", "functionality change", "additional procedure".
nf95_close
(basic change)
subroutine nf95_close(ncid, ncerr)
integer, intent( in) :: ncid
integer, intent(out), optional :: ncerr
Reference: nf90_close
nf95_create
(basic change)
subroutine nf95_create(path, cmode, ncid, initialsize, chunksize, ncerr)
character (len = *), intent(in ) :: path
integer, intent(in ) :: cmode
integer, intent( out) :: ncid
integer, optional, intent(in ) :: initialsize
integer, optional, intent(inout) :: chunksize
integer, intent(out), optional :: ncerr
Reference: nf90_create
nf95_create_single
(additional procedure)
subroutine nf95_create_single(name, coordinates, ncid, varid, varid_coord)
character(len = *), intent(in):: name
type(coord_def), intent(in):: coordinates(:)
integer, intent(out):: ncid, varid, varid_coord(:)
This procedure is a shortcut to create a NetCDF file containing a
single primary variable, with all its coordinates. The coordinates are
specified using the derived type coord_def
:
type coord_def
character(len = NF95_MAX_NAME) name
integer nclen
character(len = :), allocatable:: attr_name(:), attr_val(:)
end type coord_def
The arrays attr_name
and attr_val
must have the same size. They
define the attributes of the coordinate. After the call to
nf95_create_single
, the NetCDF dataset is still in define mode, so
you can add attributes to the primary variable if appropriate.
nf95_enddef
(basic change)
subroutine nf95_enddef(ncid, h_minfree, v_align, v_minfree, r_align, ncerr)
integer, intent( in) :: ncid
integer, optional, intent( in) :: h_minfree, v_align, v_minfree, r_align
integer, intent(out), optional :: ncerr
Reference: nf90_enddef
nf95_find_coord
(additional procedure)
subroutine nf95_find_coord(ncid, name, dimid, varid, std_name, ncerr)
integer, intent(in):: ncid
character(len=*), intent(out), optional:: name ! blanks if not found
! The actual character argument should normally have the length
! "NF90_MAX_NAME".
integer, intent(out), optional:: dimid ! 0 if not found
integer, intent(out), optional:: varid ! 0 if not found
character(len=*), intent(in):: std_name
! standard name : "plev", "latitude", "longitude" or "time"
integer, intent(out), optional:: ncerr ! nf95_noerr if found
This procedure returns the name, dimension id or variable id of the
NetCDF coordinate with standard name std_name
, if such a coordinate
exists. A NetCDF coordinate is defined as a rank-one variable with the
same name as its dimension. The standard name is only used to know
what to search, it is not used for the search itself. The search
itself is done via a string match on the attribute "units". So the
NetCDF variable one looks for does not need to have the attribute
std_name
. The procedure aborts if the coordinate is not found and
argument ncerr is not present.
nf95_inquire
(basic change)
subroutine nf95_inquire(ncid, nDimensions, nVariables, nAttributes, &
unlimitedDimId, formatNum, ncerr)
integer, intent( in) :: ncid
integer, optional, intent(out) :: nDimensions, nVariables, nAttributes
integer, optional, intent(out) :: unlimitedDimId, formatNum
integer, intent(out), optional:: ncerr
Reference: nf90_inquire
nf95_open
(basic change)
subroutine nf95_open(path, mode, ncid, chunksize, ncerr)
character(len=*), intent(in):: path
integer, intent(in):: mode
integer, intent(out):: ncid
integer, intent(inout), optional:: chunksize
integer, intent(out), optional:: ncerr
Reference:
nf90_open
nf95_redef
(basic change)
subroutine nf95_redef(ncid, ncerr)
integer, intent( in) :: ncid
integer, intent(out), optional :: ncerr
Reference: nf90_redef
nf95_sync
(basic change)
subroutine nf95_sync(ncid, ncerr)
integer, intent( in) :: ncid
integer, intent(out), optional :: ncerr