[4918] | 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) |
---|