Datasets & co
This page describles procedures handling a whole dataset, or handling a combination of NetCDF variables and dimensions.
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)
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"
This procedure returns the name, dimension id or variable id of the
NetCDF coordinate with standard name std_name
, if such a coordinate
exists. 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
.
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