1  ! Overloaded variable functions
2  interface nf90_def_var
3    module procedure nf90_def_var_Scalar, nf90_def_var_oneDim, nf90_def_var_ManyDims
4  end interface ! nf90_def_var
5
6  ! Overloaded attribute functions
7  interface nf90_put_att
8    module procedure nf90_put_att_text,                                      &
9                     nf90_put_att_OneByteInt,     nf90_put_att_TwoByteInt,   &
10                     nf90_put_att_FourByteInt,    nf90_put_att_EightByteInt, &
11                     nf90_put_att_FourByteReal,   nf90_put_att_EightByteReal
12    module procedure nf90_put_att_one_OneByteInt,   nf90_put_att_one_TwoByteInt,   &
13                     nf90_put_att_one_FourByteInt,  nf90_put_att_one_EightByteInt, &
14                     nf90_put_att_one_FourByteReal, nf90_put_att_one_EightByteReal
15  end interface !nf90_put_att
16  interface nf90_get_att
17    module procedure nf90_get_att_text,                                      &
18                     nf90_get_att_OneByteInt,     nf90_get_att_TwoByteInt,   &
19                     nf90_get_att_FourByteInt,    nf90_get_att_EightByteInt, &
20                     nf90_get_att_FourByteReal,   nf90_get_att_EightByteReal
21    module procedure nf90_get_att_one_OneByteInt,   nf90_get_att_one_TwoByteInt,   &
22                     nf90_get_att_one_FourByteInt,  nf90_get_att_one_EightByteInt, &
23                     nf90_get_att_one_FourByteReal, nf90_get_att_one_EightByteReal
24  end interface ! nf90_get_att
25
26  ! Overloaded variable functions
27  interface nf90_put_var
28    module procedure nf90_put_var_text,                                   &
29                     nf90_put_var_OneByteInt, nf90_put_var_TwoByteInt,    &
30                     nf90_put_var_FourByteInt, nf90_put_var_EightByteInt, &
31                     nf90_put_var_FourByteReal, nf90_put_var_EightByteReal
32    module procedure nf90_put_var_1D_text,                                      &
33                     nf90_put_var_1D_OneByteInt, nf90_put_var_1D_TwoByteInt,    &
34                     nf90_put_var_1D_FourByteInt, nf90_put_var_1D_EightByteInt, &
35                     nf90_put_var_1D_FourByteReal, nf90_put_var_1D_EightByteReal
36    module procedure nf90_put_var_2D_text,                                       &
37                     nf90_put_var_2D_OneByteInt, nf90_put_var_2D_TwoByteInt,     &
38                     nf90_put_var_2D_FourByteInt, nf90_put_var_2D_EightByteInt,  &
39                     nf90_put_var_2D_FourByteReal, nf90_put_var_2D_EightByteReal
40    module procedure nf90_put_var_3D_text,                                       &
41                     nf90_put_var_3D_OneByteInt, nf90_put_var_3D_TwoByteInt,     &
42                     nf90_put_var_3D_FourByteInt, nf90_put_var_3D_EightByteInt,  &
43                     nf90_put_var_3D_FourByteReal, nf90_put_var_3D_EightByteReal
44    module procedure nf90_put_var_4D_text,                                       &
45                     nf90_put_var_4D_OneByteInt, nf90_put_var_4D_TwoByteInt,     &
46                     nf90_put_var_4D_FourByteInt, nf90_put_var_4D_EightByteInt,  &
47                     nf90_put_var_4D_FourByteReal, nf90_put_var_4D_EightByteReal
48    module procedure nf90_put_var_5D_text,                                       &
49                     nf90_put_var_5D_OneByteInt, nf90_put_var_5D_TwoByteInt,     &
50                     nf90_put_var_5D_FourByteInt, nf90_put_var_5D_EightByteInt,  &
51                     nf90_put_var_5D_FourByteReal, nf90_put_var_5D_EightByteReal
52    module procedure nf90_put_var_6D_text,                                       &
53                     nf90_put_var_6D_OneByteInt, nf90_put_var_6D_TwoByteInt,     &
54                     nf90_put_var_6D_FourByteInt, nf90_put_var_6D_EightByteInt,  &
55                     nf90_put_var_6D_FourByteReal, nf90_put_var_6D_EightByteReal
56    module procedure nf90_put_var_7D_text,                                       &
57                     nf90_put_var_7D_OneByteInt, nf90_put_var_7D_TwoByteInt,     &
58                     nf90_put_var_7D_FourByteInt, nf90_put_var_7D_EightByteInt,  &
59                     nf90_put_var_7D_FourByteReal, nf90_put_var_7D_EightByteReal
60  end interface ! nf90_put_var
61
62  interface nf90_get_var
63    module procedure nf90_get_var_text,                                   &
64                     nf90_get_var_OneByteInt, nf90_get_var_TwoByteInt,    &
65                     nf90_get_var_FourByteInt, nf90_get_var_EightByteInt, &
66                     nf90_get_var_FourByteReal, nf90_get_var_EightByteReal
67    module procedure nf90_get_var_1D_text,                                      &
68                     nf90_get_var_1D_OneByteInt, nf90_get_var_1D_TwoByteInt,    &
69                     nf90_get_var_1D_FourByteInt, nf90_get_var_1D_EightByteInt, &
70                     nf90_get_var_1D_FourByteReal, nf90_get_var_1D_EightByteReal
71    module procedure nf90_get_var_2D_text,                                      &
72                     nf90_get_var_2D_OneByteInt, nf90_get_var_2D_TwoByteInt,    &
73                     nf90_get_var_2D_FourByteInt, nf90_get_var_2D_EightByteInt, &
74                     nf90_get_var_2D_FourByteReal, nf90_get_var_2D_EightByteReal
75    module procedure nf90_get_var_3D_text,                                      &
76                     nf90_get_var_3D_OneByteInt, nf90_get_var_3D_TwoByteInt,    &
77                     nf90_get_var_3D_FourByteInt, nf90_get_var_3D_EightByteInt, &
78                     nf90_get_var_3D_FourByteReal, nf90_get_var_3D_EightByteReal
79    module procedure nf90_get_var_4D_text,                                      &
80                     nf90_get_var_4D_OneByteInt, nf90_get_var_4D_TwoByteInt,    &
81                     nf90_get_var_4D_FourByteInt, nf90_get_var_4D_EightByteInt, &
82                     nf90_get_var_4D_FourByteReal, nf90_get_var_4D_EightByteReal
83    module procedure nf90_get_var_5D_text,                                      &
84                     nf90_get_var_5D_OneByteInt, nf90_get_var_5D_TwoByteInt,    &
85                     nf90_get_var_5D_FourByteInt, nf90_get_var_5D_EightByteInt, &
86                     nf90_get_var_5D_FourByteReal, nf90_get_var_5D_EightByteReal
87    module procedure nf90_get_var_6D_text,                                      &
88                     nf90_get_var_6D_OneByteInt, nf90_get_var_6D_TwoByteInt,    &
89                     nf90_get_var_6D_FourByteInt, nf90_get_var_6D_EightByteInt, &
90                     nf90_get_var_6D_FourByteReal, nf90_get_var_6D_EightByteReal
91    module procedure nf90_get_var_7D_text,                                      &
92                     nf90_get_var_7D_OneByteInt, nf90_get_var_7D_TwoByteInt,    &
93                     nf90_get_var_7D_FourByteInt, nf90_get_var_7D_EightByteInt, &
94                     nf90_get_var_7D_FourByteReal, nf90_get_var_7D_EightByteReal
95  end interface ! nf90_get_var
96