source: LMDZ6/trunk/tools/netcdf95/docs/Detailed_content/improvements.md @ 5227

Last change on this file since 5227 was 4918, checked in by Laurent Fairhead, 7 months ago

Reintegrated NetCDF95 in LMDZ so that it is compiled and made available by the makelmdz_fcm script.
The makelmdz_fcm creates the libnetcdf95 library and copies it in the tools/netcdf/lib directory, copying
the mod files in the tools/netcdf/include library.

File size: 2.8 KB
Line 
1# The four types of improvements
2
3In the following documentation, we give a description of the interface
4of each NetCDF95 procedure. We will label each NetCDF95 procedure with
5one of the following four (mutually exclusive) mnemonics:
6
7basic change
8: Means that there is a corresponding procedure in the Fortran 90
9interface 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
15Thus, 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
23becomes:
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
31Procedures 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
41If you call a NetCDF95 procedure with the optional argument ncerr, you
42can test the resulting value of ncerr against the constant `nf95_noerr`,
43in the module netcdf95.
44
45interface change
46: Means that there is a corresponding procedure in the Fortran 90
47interface, and the interface of the procedure has been changed beyond
48the "basic" change described above, but there is no change in
49functionality.
50
51Procedures 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
61functionality change
62: Means that there is a corresponding procedure in the Fortran 90
63interface, the interface of the procedure has been changed and the
64functionality has also been improved.
65
66Procedures 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
72additional procedure
73: Means there is no corresponding procedure in the Fortran 90 interface.
74
75Additional 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)
Note: See TracBrowser for help on using the repository browser.