The four types of improvements

In the following documentation, we give a description of the interface of each NetCDF95 procedure. We will label each NetCDF95 procedure with one of the following four (mutually exclusive) mnemonics:

basic change
Means that there is a corresponding procedure in the Fortran 90 interface and only the following three changes have been made:
  • change of the name of the procedure, nf95_ instead of nf90_;
  • subroutine instead of function;
  • additional optional argument ncerr for error status.

Thus, for example:

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

becomes:

subroutine nf95_inq_varid(ncid, name, varid, ncerr)
         integer, intent(in) :: ncid
         character (len = *), intent( in) :: name
         integer, intent(out) :: varid
         integer, intent(out), optional:: ncerr

Procedures with basic change: nf95_copy_att, nf95_put_att.f90, nf95_close, nf95_create, nf95_enddef, nf95_inquire, nf95_open, nf95_redef, nf95_sync, nf95_inq_grp_full_ncid, nf95_inq_dimid, nf95_inq_varid, nf95_inq_grp_parent

If you call a NetCDF95 procedure with the optional argument ncerr, you can test the resulting value of ncerr against the constant nf95_noerr, in the module netcdf95.

interface change
Means that there is a corresponding procedure in the Fortran 90 interface, and the interface of the procedure has been changed beyond the “basic” change described above, but there is no change in functionality.

Procedures with interface change: nf95_def_dim, nf95_inquire_dimension, nf95_def_var and nf95_def_var_scalar, nf95_inquire_attribute,

functionality change
Means that there is a corresponding procedure in the Fortran 90 interface, the interface of the procedure has been changed and the functionality has also been improved.

Procedures with functionality change: nf95_get_var, nf95_inquire_variable, nf95_put_var, nf95_get_att, nf95_inq_grpname, nf95_inq_grpname_full, nf95_inq_grps

additional procedure
Means there is no corresponding procedure in the Fortran 90 interface.

Additional procedures: nf95_gw_var, nf95_find_coord, nf95_get_missing, nf95_create_single, nf95_inq_file_ncid, nf95_abort, nf95_inq_varnatts