| 1 | # The four types of improvements |
|---|
| 2 | |
|---|
| 3 | In the following documentation, we give a description of the interface |
|---|
| 4 | of each NetCDF95 procedure. We will label each NetCDF95 procedure with |
|---|
| 5 | one of the following four (mutually exclusive) mnemonics: |
|---|
| 6 | |
|---|
| 7 | basic change |
|---|
| 8 | : Means that there is a corresponding procedure in the Fortran 90 |
|---|
| 9 | interface and only the following three changes have been made: |
|---|
| 10 | |
|---|
| 11 | - change of the name of the procedure, `nf95_` instead of `nf90_`; |
|---|
| 12 | - subroutine instead of function; |
|---|
| 13 | - additional optional argument `ncerr` for error status. |
|---|
| 14 | |
|---|
| 15 | Thus, for example: |
|---|
| 16 | |
|---|
| 17 | function nf90_inq_varid(ncid, name, varid) |
|---|
| 18 | integer, intent(in) :: ncid |
|---|
| 19 | character (len = *), intent( in) :: name |
|---|
| 20 | integer, intent(out) :: varid |
|---|
| 21 | integer :: nf90_inq_varid |
|---|
| 22 | |
|---|
| 23 | becomes: |
|---|
| 24 | |
|---|
| 25 | subroutine nf95_inq_varid(ncid, name, varid, ncerr) |
|---|
| 26 | integer, intent(in) :: ncid |
|---|
| 27 | character (len = *), intent( in) :: name |
|---|
| 28 | integer, intent(out) :: varid |
|---|
| 29 | integer, intent(out), optional:: ncerr |
|---|
| 30 | |
|---|
| 31 | Procedures with basic change: [`nf95_copy_att`](attributes.md), |
|---|
| 32 | [`nf95_put_att.f90`](attributes.md), |
|---|
| 33 | [`nf95_close`](datasets.md), [`nf95_create`](datasets.md), |
|---|
| 34 | [`nf95_enddef`](datasets.md), |
|---|
| 35 | [`nf95_inquire`](datasets.md), [`nf95_open`](datasets.md), |
|---|
| 36 | [`nf95_redef`](datasets.md), [`nf95_sync`](datasets.md), |
|---|
| 37 | [`nf95_inq_grp_full_ncid`](groups.md), |
|---|
| 38 | [`nf95_inq_dimid`](dimensions.md), |
|---|
| 39 | [`nf95_inq_varid`](variables.md), [`nf95_inq_grp_parent`](groups.md) |
|---|
| 40 | |
|---|
| 41 | If you call a NetCDF95 procedure with the optional argument ncerr, you |
|---|
| 42 | can test the resulting value of ncerr against the constant `nf95_noerr`, |
|---|
| 43 | in the module netcdf95. |
|---|
| 44 | |
|---|
| 45 | interface change |
|---|
| 46 | : Means that there is a corresponding procedure in the Fortran 90 |
|---|
| 47 | interface, and the interface of the procedure has been changed beyond |
|---|
| 48 | the "basic" change described above, but there is no change in |
|---|
| 49 | functionality. |
|---|
| 50 | |
|---|
| 51 | Procedures with interface change: |
|---|
| 52 | [`nf95_def_dim`](dimensions.md), |
|---|
| 53 | [`nf95_inquire_dimension`](dimensions.md), |
|---|
| 54 | [`nf95_def_var`](variables.md) and |
|---|
| 55 | [`nf95_def_var_scalar`](variables.md), |
|---|
| 56 | [`nf95_inquire_attribute`](attributes.md), |
|---|
| 57 | [`nf95_inq_grpname`](groups.md), |
|---|
| 58 | [`nf95_inq_grpname_full`](groups.md), |
|---|
| 59 | [`nf95_inq_grps`](groups.md) |
|---|
| 60 | |
|---|
| 61 | functionality change |
|---|
| 62 | : Means that there is a corresponding procedure in the Fortran 90 |
|---|
| 63 | interface, the interface of the procedure has been changed and the |
|---|
| 64 | functionality has also been improved. |
|---|
| 65 | |
|---|
| 66 | Procedures with functionality change: |
|---|
| 67 | [`nf95_get_var`](variables.md), |
|---|
| 68 | [`nf95_inquire_variable`](variables.md), |
|---|
| 69 | [`nf95_put_var`](variables.md), |
|---|
| 70 | [`nf95_get_att`](attributes.md) |
|---|
| 71 | |
|---|
| 72 | additional procedure |
|---|
| 73 | : Means there is no corresponding procedure in the Fortran 90 interface. |
|---|
| 74 | |
|---|
| 75 | Additional procedures: [`nf95_gw_var`](variables.md), |
|---|
| 76 | [`nf95_find_coord`](datasets.md), [`nf95_get_missing`](attributes.md), |
|---|
| 77 | [`nf95_create_single`](datasets.md), |
|---|
| 78 | [`nf95_inq_file_ncid`](groups.md), [`nf95_abort`](errors.md) |
|---|