1
2   function nf90_put_var_OneByteInt(ncid, varid, values, start)
3     integer,                         intent( in) :: ncid, varid
4     integer (kind = OneByteInt), intent( in) :: values
5     integer, dimension(:), optional, intent( in) :: start
6     integer                                      :: nf90_put_var_OneByteInt
7
8     integer, dimension(nf90_max_var_dims) :: localIndex
9
10     ! Set local arguments to default values
11     localIndex(:) = 1
12     if(present(start)) localIndex(:size(start)) = start(:)
13
14     nf90_put_var_OneByteInt = nf_put_var1_int1(ncid, varid, localIndex, values)
15   end function nf90_put_var_OneByteInt
16
17
18   function nf90_put_var_TwoByteInt(ncid, varid, values, start)
19     integer,                         intent( in) :: ncid, varid
20     integer (kind = TwoByteInt), intent( in) :: values
21     integer, dimension(:), optional, intent( in) :: start
22     integer                                      :: nf90_put_var_TwoByteInt
23
24     integer, dimension(nf90_max_var_dims) :: localIndex
25
26     ! Set local arguments to default values
27     localIndex(:) = 1
28     if(present(start)) localIndex(:size(start)) = start(:)
29
30     nf90_put_var_TwoByteInt = nf_put_var1_int2(ncid, varid, localIndex, values)
31   end function nf90_put_var_TwoByteInt
32
33
34   function nf90_put_var_FourByteInt(ncid, varid, values, start)
35     integer,                         intent( in) :: ncid, varid
36     integer (kind = FourByteInt), intent( in) :: values
37     integer, dimension(:), optional, intent( in) :: start
38     integer                                      :: nf90_put_var_FourByteInt
39
40     integer, dimension(nf90_max_var_dims) :: localIndex
41
42     ! Set local arguments to default values
43     localIndex(:) = 1
44     if(present(start)) localIndex(:size(start)) = start(:)
45
46     nf90_put_var_FourByteInt = nf_put_var1_int(ncid, varid, localIndex, int(values))
47   end function nf90_put_var_FourByteInt
48
49
50   function nf90_put_var_FourByteReal(ncid, varid, values, start)
51     integer,                         intent( in) :: ncid, varid
52     real (kind = FourByteReal), intent( in) :: values
53     integer, dimension(:), optional, intent( in) :: start
54     integer                                      :: nf90_put_var_FourByteReal
55
56     integer, dimension(nf90_max_var_dims) :: localIndex
57
58     ! Set local arguments to default values
59     localIndex(:) = 1
60     if(present(start)) localIndex(:size(start)) = start(:)
61
62     nf90_put_var_FourByteReal = nf_put_var1_real(ncid, varid, localIndex, values)
63   end function nf90_put_var_FourByteReal
64
65
66   function nf90_put_var_EightByteReal(ncid, varid, values, start)
67     integer,                         intent( in) :: ncid, varid
68     real (kind = EightByteReal), intent( in) :: values
69     integer, dimension(:), optional, intent( in) :: start
70     integer                                      :: nf90_put_var_EightByteReal
71
72     integer, dimension(nf90_max_var_dims) :: localIndex
73
74     ! Set local arguments to default values
75     localIndex(:) = 1
76     if(present(start)) localIndex(:size(start)) = start(:)
77
78     nf90_put_var_EightByteReal = nf_put_var1_double(ncid, varid, localIndex, values)
79   end function nf90_put_var_EightByteReal
80
81
82   function nf90_get_var_OneByteInt(ncid, varid, values, start)
83     integer,                         intent( in) :: ncid, varid
84     integer (kind = OneByteInt), intent(out) :: values
85     integer, dimension(:), optional, intent( in) :: start
86     integer                                      :: nf90_get_var_OneByteInt
87
88     integer, dimension(nf90_max_var_dims) :: localIndex
89
90     ! Set local arguments to default values
91     localIndex(:) = 1
92     if(present(start)) localIndex(:size(start)) = start(:)
93
94     nf90_get_var_OneByteInt = nf_get_var1_int1(ncid, varid, localIndex, values)
95   end function nf90_get_var_OneByteInt
96
97
98   function nf90_get_var_TwoByteInt(ncid, varid, values, start)
99     integer,                         intent( in) :: ncid, varid
100     integer (kind = TwoByteInt), intent(out) :: values
101     integer, dimension(:), optional, intent( in) :: start
102     integer                                      :: nf90_get_var_TwoByteInt
103
104     integer, dimension(nf90_max_var_dims) :: localIndex
105
106     ! Set local arguments to default values
107     localIndex(:) = 1
108     if(present(start)) localIndex(:size(start)) = start(:)
109
110     nf90_get_var_TwoByteInt = nf_get_var1_int2(ncid, varid, localIndex, values)
111   end function nf90_get_var_TwoByteInt
112
113
114   function nf90_get_var_FourByteInt(ncid, varid, values, start)
115     integer,                         intent( in) :: ncid, varid
116     integer (kind = FourByteInt), intent(out) :: values
117     integer, dimension(:), optional, intent( in) :: start
118     integer                                      :: nf90_get_var_FourByteInt
119
120     integer, dimension(nf90_max_var_dims) :: localIndex
121     integer                               :: defaultInteger
122
123     ! Set local arguments to default values
124     localIndex(:) = 1
125     if(present(start)) localIndex(:size(start)) = start(:)
126
127     nf90_get_var_FourByteInt = nf_get_var1_int(ncid, varid, localIndex, defaultInteger)
128     values = defaultInteger
129   end function nf90_get_var_FourByteInt
130
131
132   function nf90_get_var_FourByteReal(ncid, varid, values, start)
133     integer,                         intent( in) :: ncid, varid
134     real (kind = FourByteReal), intent(out) :: values
135     integer, dimension(:), optional, intent( in) :: start
136     integer                                      :: nf90_get_var_FourByteReal
137
138     integer, dimension(nf90_max_var_dims) :: localIndex
139
140     ! Set local arguments to default values
141     localIndex(:) = 1
142     if(present(start)) localIndex(:size(start)) = start(:)
143
144     nf90_get_var_FourByteReal = nf_get_var1_real(ncid, varid, localIndex, values)
145   end function nf90_get_var_FourByteReal
146
147
148   function nf90_get_var_EightByteReal(ncid, varid, values, start)
149     integer,                         intent( in) :: ncid, varid
150     real (kind = EightByteReal), intent(out) :: values
151     integer, dimension(:), optional, intent( in) :: start
152     integer                                      :: nf90_get_var_EightByteReal
153
154     integer, dimension(nf90_max_var_dims) :: localIndex
155
156     ! Set local arguments to default values
157     localIndex(:) = 1
158     if(present(start)) localIndex(:size(start)) = start(:)
159
160     nf90_get_var_EightByteReal = nf_get_var1_double(ncid, varid, localIndex, values)
161   end function nf90_get_var_EightByteReal
162
163
164
165   function nf90_put_var_1D_OneByteInt(ncid, varid, values, start, count, stride, map)
166     integer,                         intent( in) :: ncid, varid
167     integer (kind = OneByteInt), dimension(:), &
168                                      intent( in) :: values
169     integer, dimension(:), optional, intent( in) :: start, count, stride, map
170     integer                                      :: nf90_put_var_1D_OneByteInt
171
172     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
173     integer                               :: numDims, counter
174
175     ! Set local arguments to default values
176     numDims                 = size(shape(values))
177     localStart (:         ) = 1
178     localCount (:numDims  ) = shape(values)
179     localCount (numDims+1:) = 1
180     localStride(:         ) = 1
181     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
182
183     if(present(start))  localStart (:size(start) )  = start(:)
184     if(present(count))  localCount (:size(count) )  = count(:)
185     if(present(stride)) localStride(:size(stride)) = stride(:)
186     if(present(map))  then
187       localMap   (:size(map))    = map(:)
188       nf90_put_var_1D_OneByteInt = &
189          nf_put_varm_int1(ncid, varid, localStart, localCount, localStride, localMap, values)
190     else if(present(stride)) then
191       nf90_put_var_1D_OneByteInt = &
192          nf_put_vars_int1(ncid, varid, localStart, localCount, localStride, values)
193     else
194       nf90_put_var_1D_OneByteInt = &
195          nf_put_vara_int1(ncid, varid, localStart, localCount, values)
196     end if
197   end function nf90_put_var_1D_OneByteInt
198
199
200   function nf90_put_var_2D_OneByteInt(ncid, varid, values, start, count, stride, map)
201     integer,                         intent( in) :: ncid, varid
202     integer (kind = OneByteInt), dimension(:, :), &
203                                      intent( in) :: values
204     integer, dimension(:), optional, intent( in) :: start, count, stride, map
205     integer                                      :: nf90_put_var_2D_OneByteInt
206
207     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
208     integer                               :: numDims, counter
209
210     ! Set local arguments to default values
211     numDims                 = size(shape(values))
212     localStart (:         ) = 1
213     localCount (:numDims  ) = shape(values)
214     localCount (numDims+1:) = 1
215     localStride(:         ) = 1
216     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
217
218     if(present(start))  localStart (:size(start) )  = start(:)
219     if(present(count))  localCount (:size(count) )  = count(:)
220     if(present(stride)) localStride(:size(stride)) = stride(:)
221     if(present(map))  then
222       localMap   (:size(map))    = map(:)
223       nf90_put_var_2D_OneByteInt = &
224          nf_put_varm_int1(ncid, varid, localStart, localCount, localStride, localMap, values)
225     else if(present(stride)) then
226       nf90_put_var_2D_OneByteInt = &
227          nf_put_vars_int1(ncid, varid, localStart, localCount, localStride, values)
228     else
229       nf90_put_var_2D_OneByteInt = &
230          nf_put_vara_int1(ncid, varid, localStart, localCount, values)
231     end if
232   end function nf90_put_var_2D_OneByteInt
233
234
235   function nf90_put_var_3D_OneByteInt(ncid, varid, values, start, count, stride, map)
236     integer,                         intent( in) :: ncid, varid
237     integer (kind = OneByteInt), dimension(:, :, :), &
238                                      intent( in) :: values
239     integer, dimension(:), optional, intent( in) :: start, count, stride, map
240     integer                                      :: nf90_put_var_3D_OneByteInt
241
242     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
243     integer                               :: numDims, counter
244
245     ! Set local arguments to default values
246     numDims                 = size(shape(values))
247     localStart (:         ) = 1
248     localCount (:numDims  ) = shape(values)
249     localCount (numDims+1:) = 1
250     localStride(:         ) = 1
251     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
252
253     if(present(start))  localStart (:size(start) )  = start(:)
254     if(present(count))  localCount (:size(count) )  = count(:)
255     if(present(stride)) localStride(:size(stride)) = stride(:)
256     if(present(map))  then
257       localMap   (:size(map))    = map(:)
258       nf90_put_var_3D_OneByteInt = &
259          nf_put_varm_int1(ncid, varid, localStart, localCount, localStride, localMap, values)
260     else if(present(stride)) then
261       nf90_put_var_3D_OneByteInt = &
262          nf_put_vars_int1(ncid, varid, localStart, localCount, localStride, values)
263     else
264       nf90_put_var_3D_OneByteInt = &
265          nf_put_vara_int1(ncid, varid, localStart, localCount, values)
266     end if
267   end function nf90_put_var_3D_OneByteInt
268
269
270   function nf90_put_var_4D_OneByteInt(ncid, varid, values, start, count, stride, map)
271     integer,                         intent( in) :: ncid, varid
272     integer (kind = OneByteInt), dimension(:, :, :, :), &
273                                      intent( in) :: values
274     integer, dimension(:), optional, intent( in) :: start, count, stride, map
275     integer                                      :: nf90_put_var_4D_OneByteInt
276
277     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
278     integer                               :: numDims, counter
279
280     ! Set local arguments to default values
281     numDims                 = size(shape(values))
282     localStart (:         ) = 1
283     localCount (:numDims  ) = shape(values)
284     localCount (numDims+1:) = 1
285     localStride(:         ) = 1
286     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
287
288     if(present(start))  localStart (:size(start) )  = start(:)
289     if(present(count))  localCount (:size(count) )  = count(:)
290     if(present(stride)) localStride(:size(stride)) = stride(:)
291     if(present(map))  then
292       localMap   (:size(map))    = map(:)
293       nf90_put_var_4D_OneByteInt = &
294          nf_put_varm_int1(ncid, varid, localStart, localCount, localStride, localMap, values)
295     else if(present(stride)) then
296       nf90_put_var_4D_OneByteInt = &
297          nf_put_vars_int1(ncid, varid, localStart, localCount, localStride, values)
298     else
299       nf90_put_var_4D_OneByteInt = &
300          nf_put_vara_int1(ncid, varid, localStart, localCount, values)
301     end if
302   end function nf90_put_var_4D_OneByteInt
303
304
305   function nf90_put_var_5D_OneByteInt(ncid, varid, values, start, count, stride, map)
306     integer,                         intent( in) :: ncid, varid
307     integer (kind = OneByteInt), dimension(:, :, :, :, :), &
308                                      intent( in) :: values
309     integer, dimension(:), optional, intent( in) :: start, count, stride, map
310     integer                                      :: nf90_put_var_5D_OneByteInt
311
312     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
313     integer                               :: numDims, counter
314
315     ! Set local arguments to default values
316     numDims                 = size(shape(values))
317     localStart (:         ) = 1
318     localCount (:numDims  ) = shape(values)
319     localCount (numDims+1:) = 1
320     localStride(:         ) = 1
321     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
322
323     if(present(start))  localStart (:size(start) )  = start(:)
324     if(present(count))  localCount (:size(count) )  = count(:)
325     if(present(stride)) localStride(:size(stride)) = stride(:)
326     if(present(map))  then
327       localMap   (:size(map))    = map(:)
328       nf90_put_var_5D_OneByteInt = &
329          nf_put_varm_int1(ncid, varid, localStart, localCount, localStride, localMap, values)
330     else if(present(stride)) then
331       nf90_put_var_5D_OneByteInt = &
332          nf_put_vars_int1(ncid, varid, localStart, localCount, localStride, values)
333     else
334       nf90_put_var_5D_OneByteInt = &
335          nf_put_vara_int1(ncid, varid, localStart, localCount, values)
336     end if
337   end function nf90_put_var_5D_OneByteInt
338
339
340   function nf90_put_var_6D_OneByteInt(ncid, varid, values, start, count, stride, map)
341     integer,                         intent( in) :: ncid, varid
342     integer (kind = OneByteInt), dimension(:, :, :, :, :, :), &
343                                      intent( in) :: values
344     integer, dimension(:), optional, intent( in) :: start, count, stride, map
345     integer                                      :: nf90_put_var_6D_OneByteInt
346
347     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
348     integer                               :: numDims, counter
349
350     ! Set local arguments to default values
351     numDims                 = size(shape(values))
352     localStart (:         ) = 1
353     localCount (:numDims  ) = shape(values)
354     localCount (numDims+1:) = 1
355     localStride(:         ) = 1
356     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
357
358     if(present(start))  localStart (:size(start) )  = start(:)
359     if(present(count))  localCount (:size(count) )  = count(:)
360     if(present(stride)) localStride(:size(stride)) = stride(:)
361     if(present(map))  then
362       localMap   (:size(map))    = map(:)
363       nf90_put_var_6D_OneByteInt = &
364          nf_put_varm_int1(ncid, varid, localStart, localCount, localStride, localMap, values)
365     else if(present(stride)) then
366       nf90_put_var_6D_OneByteInt = &
367          nf_put_vars_int1(ncid, varid, localStart, localCount, localStride, values)
368     else
369       nf90_put_var_6D_OneByteInt = &
370          nf_put_vara_int1(ncid, varid, localStart, localCount, values)
371     end if
372   end function nf90_put_var_6D_OneByteInt
373
374
375   function nf90_put_var_7D_OneByteInt(ncid, varid, values, start, count, stride, map)
376     integer,                         intent( in) :: ncid, varid
377     integer (kind = OneByteInt), dimension(:, :, :, :, :, :, :), &
378                                      intent( in) :: values
379     integer, dimension(:), optional, intent( in) :: start, count, stride, map
380     integer                                      :: nf90_put_var_7D_OneByteInt
381
382     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
383     integer                               :: numDims, counter
384
385     ! Set local arguments to default values
386     numDims                 = size(shape(values))
387     localStart (:         ) = 1
388     localCount (:numDims  ) = shape(values)
389     localCount (numDims+1:) = 1
390     localStride(:         ) = 1
391     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
392
393     if(present(start))  localStart (:size(start) )  = start(:)
394     if(present(count))  localCount (:size(count) )  = count(:)
395     if(present(stride)) localStride(:size(stride)) = stride(:)
396     if(present(map))  then
397       localMap   (:size(map))    = map(:)
398       nf90_put_var_7D_OneByteInt = &
399          nf_put_varm_int1(ncid, varid, localStart, localCount, localStride, localMap, values)
400     else if(present(stride)) then
401       nf90_put_var_7D_OneByteInt = &
402          nf_put_vars_int1(ncid, varid, localStart, localCount, localStride, values)
403     else
404       nf90_put_var_7D_OneByteInt = &
405          nf_put_vara_int1(ncid, varid, localStart, localCount, values)
406     end if
407   end function nf90_put_var_7D_OneByteInt
408
409
410   function nf90_put_var_1D_TwoByteInt(ncid, varid, values, start, count, stride, map)
411     integer,                         intent( in) :: ncid, varid
412     integer (kind = TwoByteInt), dimension(:), &
413                                      intent( in) :: values
414     integer, dimension(:), optional, intent( in) :: start, count, stride, map
415     integer                                      :: nf90_put_var_1D_TwoByteInt
416
417     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
418     integer                               :: numDims, counter
419
420     ! Set local arguments to default values
421     numDims                 = size(shape(values))
422     localStart (:         ) = 1
423     localCount (:numDims  ) = shape(values)
424     localCount (numDims+1:) = 1
425     localStride(:         ) = 1
426     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
427
428     if(present(start))  localStart (:size(start) )  = start(:)
429     if(present(count))  localCount (:size(count) )  = count(:)
430     if(present(stride)) localStride(:size(stride)) = stride(:)
431     if(present(map))  then
432       localMap   (:size(map))    = map(:)
433       nf90_put_var_1D_TwoByteInt = &
434          nf_put_varm_int2(ncid, varid, localStart, localCount, localStride, localMap, values)
435     else if(present(stride)) then
436       nf90_put_var_1D_TwoByteInt = &
437          nf_put_vars_int2(ncid, varid, localStart, localCount, localStride, values)
438     else
439       nf90_put_var_1D_TwoByteInt = &
440          nf_put_vara_int2(ncid, varid, localStart, localCount, values)
441     end if
442   end function nf90_put_var_1D_TwoByteInt
443
444
445   function nf90_put_var_2D_TwoByteInt(ncid, varid, values, start, count, stride, map)
446     integer,                         intent( in) :: ncid, varid
447     integer (kind = TwoByteInt), dimension(:, :), &
448                                      intent( in) :: values
449     integer, dimension(:), optional, intent( in) :: start, count, stride, map
450     integer                                      :: nf90_put_var_2D_TwoByteInt
451
452     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
453     integer                               :: numDims, counter
454
455     ! Set local arguments to default values
456     numDims                 = size(shape(values))
457     localStart (:         ) = 1
458     localCount (:numDims  ) = shape(values)
459     localCount (numDims+1:) = 1
460     localStride(:         ) = 1
461     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
462
463     if(present(start))  localStart (:size(start) )  = start(:)
464     if(present(count))  localCount (:size(count) )  = count(:)
465     if(present(stride)) localStride(:size(stride)) = stride(:)
466     if(present(map))  then
467       localMap   (:size(map))    = map(:)
468       nf90_put_var_2D_TwoByteInt = &
469          nf_put_varm_int2(ncid, varid, localStart, localCount, localStride, localMap, values)
470     else if(present(stride)) then
471       nf90_put_var_2D_TwoByteInt = &
472          nf_put_vars_int2(ncid, varid, localStart, localCount, localStride, values)
473     else
474       nf90_put_var_2D_TwoByteInt = &
475          nf_put_vara_int2(ncid, varid, localStart, localCount, values)
476     end if
477   end function nf90_put_var_2D_TwoByteInt
478
479
480   function nf90_put_var_3D_TwoByteInt(ncid, varid, values, start, count, stride, map)
481     integer,                         intent( in) :: ncid, varid
482     integer (kind = TwoByteInt), dimension(:, :, :), &
483                                      intent( in) :: values
484     integer, dimension(:), optional, intent( in) :: start, count, stride, map
485     integer                                      :: nf90_put_var_3D_TwoByteInt
486
487     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
488     integer                               :: numDims, counter
489
490     ! Set local arguments to default values
491     numDims                 = size(shape(values))
492     localStart (:         ) = 1
493     localCount (:numDims  ) = shape(values)
494     localCount (numDims+1:) = 1
495     localStride(:         ) = 1
496     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
497
498     if(present(start))  localStart (:size(start) )  = start(:)
499     if(present(count))  localCount (:size(count) )  = count(:)
500     if(present(stride)) localStride(:size(stride)) = stride(:)
501     if(present(map))  then
502       localMap   (:size(map))    = map(:)
503       nf90_put_var_3D_TwoByteInt = &
504          nf_put_varm_int2(ncid, varid, localStart, localCount, localStride, localMap, values)
505     else if(present(stride)) then
506       nf90_put_var_3D_TwoByteInt = &
507          nf_put_vars_int2(ncid, varid, localStart, localCount, localStride, values)
508     else
509       nf90_put_var_3D_TwoByteInt = &
510          nf_put_vara_int2(ncid, varid, localStart, localCount, values)
511     end if
512   end function nf90_put_var_3D_TwoByteInt
513
514
515   function nf90_put_var_4D_TwoByteInt(ncid, varid, values, start, count, stride, map)
516     integer,                         intent( in) :: ncid, varid
517     integer (kind = TwoByteInt), dimension(:, :, :, :), &
518                                      intent( in) :: values
519     integer, dimension(:), optional, intent( in) :: start, count, stride, map
520     integer                                      :: nf90_put_var_4D_TwoByteInt
521
522     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
523     integer                               :: numDims, counter
524
525     ! Set local arguments to default values
526     numDims                 = size(shape(values))
527     localStart (:         ) = 1
528     localCount (:numDims  ) = shape(values)
529     localCount (numDims+1:) = 1
530     localStride(:         ) = 1
531     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
532
533     if(present(start))  localStart (:size(start) )  = start(:)
534     if(present(count))  localCount (:size(count) )  = count(:)
535     if(present(stride)) localStride(:size(stride)) = stride(:)
536     if(present(map))  then
537       localMap   (:size(map))    = map(:)
538       nf90_put_var_4D_TwoByteInt = &
539          nf_put_varm_int2(ncid, varid, localStart, localCount, localStride, localMap, values)
540     else if(present(stride)) then
541       nf90_put_var_4D_TwoByteInt = &
542          nf_put_vars_int2(ncid, varid, localStart, localCount, localStride, values)
543     else
544       nf90_put_var_4D_TwoByteInt = &
545          nf_put_vara_int2(ncid, varid, localStart, localCount, values)
546     end if
547   end function nf90_put_var_4D_TwoByteInt
548
549
550   function nf90_put_var_5D_TwoByteInt(ncid, varid, values, start, count, stride, map)
551     integer,                         intent( in) :: ncid, varid
552     integer (kind = TwoByteInt), dimension(:, :, :, :, :), &
553                                      intent( in) :: values
554     integer, dimension(:), optional, intent( in) :: start, count, stride, map
555     integer                                      :: nf90_put_var_5D_TwoByteInt
556
557     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
558     integer                               :: numDims, counter
559
560     ! Set local arguments to default values
561     numDims                 = size(shape(values))
562     localStart (:         ) = 1
563     localCount (:numDims  ) = shape(values)
564     localCount (numDims+1:) = 1
565     localStride(:         ) = 1
566     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
567
568     if(present(start))  localStart (:size(start) )  = start(:)
569     if(present(count))  localCount (:size(count) )  = count(:)
570     if(present(stride)) localStride(:size(stride)) = stride(:)
571     if(present(map))  then
572       localMap   (:size(map))    = map(:)
573       nf90_put_var_5D_TwoByteInt = &
574          nf_put_varm_int2(ncid, varid, localStart, localCount, localStride, localMap, values)
575     else if(present(stride)) then
576       nf90_put_var_5D_TwoByteInt = &
577          nf_put_vars_int2(ncid, varid, localStart, localCount, localStride, values)
578     else
579       nf90_put_var_5D_TwoByteInt = &
580          nf_put_vara_int2(ncid, varid, localStart, localCount, values)
581     end if
582   end function nf90_put_var_5D_TwoByteInt
583
584
585   function nf90_put_var_6D_TwoByteInt(ncid, varid, values, start, count, stride, map)
586     integer,                         intent( in) :: ncid, varid
587     integer (kind = TwoByteInt), dimension(:, :, :, :, :, :), &
588                                      intent( in) :: values
589     integer, dimension(:), optional, intent( in) :: start, count, stride, map
590     integer                                      :: nf90_put_var_6D_TwoByteInt
591
592     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
593     integer                               :: numDims, counter
594
595     ! Set local arguments to default values
596     numDims                 = size(shape(values))
597     localStart (:         ) = 1
598     localCount (:numDims  ) = shape(values)
599     localCount (numDims+1:) = 1
600     localStride(:         ) = 1
601     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
602
603     if(present(start))  localStart (:size(start) )  = start(:)
604     if(present(count))  localCount (:size(count) )  = count(:)
605     if(present(stride)) localStride(:size(stride)) = stride(:)
606     if(present(map))  then
607       localMap   (:size(map))    = map(:)
608       nf90_put_var_6D_TwoByteInt = &
609          nf_put_varm_int2(ncid, varid, localStart, localCount, localStride, localMap, values)
610     else if(present(stride)) then
611       nf90_put_var_6D_TwoByteInt = &
612          nf_put_vars_int2(ncid, varid, localStart, localCount, localStride, values)
613     else
614       nf90_put_var_6D_TwoByteInt = &
615          nf_put_vara_int2(ncid, varid, localStart, localCount, values)
616     end if
617   end function nf90_put_var_6D_TwoByteInt
618
619
620   function nf90_put_var_7D_TwoByteInt(ncid, varid, values, start, count, stride, map)
621     integer,                         intent( in) :: ncid, varid
622     integer (kind = TwoByteInt), dimension(:, :, :, :, :, :, :), &
623                                      intent( in) :: values
624     integer, dimension(:), optional, intent( in) :: start, count, stride, map
625     integer                                      :: nf90_put_var_7D_TwoByteInt
626
627     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
628     integer                               :: numDims, counter
629
630     ! Set local arguments to default values
631     numDims                 = size(shape(values))
632     localStart (:         ) = 1
633     localCount (:numDims  ) = shape(values)
634     localCount (numDims+1:) = 1
635     localStride(:         ) = 1
636     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
637
638     if(present(start))  localStart (:size(start) )  = start(:)
639     if(present(count))  localCount (:size(count) )  = count(:)
640     if(present(stride)) localStride(:size(stride)) = stride(:)
641     if(present(map))  then
642       localMap   (:size(map))    = map(:)
643       nf90_put_var_7D_TwoByteInt = &
644          nf_put_varm_int2(ncid, varid, localStart, localCount, localStride, localMap, values)
645     else if(present(stride)) then
646       nf90_put_var_7D_TwoByteInt = &
647          nf_put_vars_int2(ncid, varid, localStart, localCount, localStride, values)
648     else
649       nf90_put_var_7D_TwoByteInt = &
650          nf_put_vara_int2(ncid, varid, localStart, localCount, values)
651     end if
652   end function nf90_put_var_7D_TwoByteInt
653
654
655   function nf90_put_var_1D_FourByteInt(ncid, varid, values, start, count, stride, map)
656     integer,                         intent( in) :: ncid, varid
657     integer (kind = FourByteInt), dimension(:), &
658                                      intent( in) :: values
659     integer, dimension(:), optional, intent( in) :: start, count, stride, map
660     integer                                      :: nf90_put_var_1D_FourByteInt
661
662     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
663     integer                               :: numDims, counter
664
665     ! Set local arguments to default values
666     numDims                 = size(shape(values))
667     localStart (:         ) = 1
668     localCount (:numDims  ) = shape(values)
669     localCount (numDims+1:) = 1
670     localStride(:         ) = 1
671     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
672
673     if(present(start))  localStart (:size(start) )  = start(:)
674     if(present(count))  localCount (:size(count) )  = count(:)
675     if(present(stride)) localStride(:size(stride)) = stride(:)
676     if(present(map))  then
677       localMap   (:size(map))    = map(:)
678       nf90_put_var_1D_FourByteInt = &
679          nf_put_varm_int(ncid, varid, localStart, localCount, localStride, localMap, int(values))
680     else if(present(stride)) then
681       nf90_put_var_1D_FourByteInt = &
682          nf_put_vars_int(ncid, varid, localStart, localCount, localStride, int(values))
683     else
684       nf90_put_var_1D_FourByteInt = &
685          nf_put_vara_int(ncid, varid, localStart, localCount, int(values))
686     end if
687   end function nf90_put_var_1D_FourByteInt
688
689
690   function nf90_put_var_2D_FourByteInt(ncid, varid, values, start, count, stride, map)
691     integer,                         intent( in) :: ncid, varid
692     integer (kind = FourByteInt), dimension(:, :), &
693                                      intent( in) :: values
694     integer, dimension(:), optional, intent( in) :: start, count, stride, map
695     integer                                      :: nf90_put_var_2D_FourByteInt
696
697     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
698     integer                               :: numDims, counter
699
700     ! Set local arguments to default values
701     numDims                 = size(shape(values))
702     localStart (:         ) = 1
703     localCount (:numDims  ) = shape(values)
704     localCount (numDims+1:) = 1
705     localStride(:         ) = 1
706     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
707
708     if(present(start))  localStart (:size(start) )  = start(:)
709     if(present(count))  localCount (:size(count) )  = count(:)
710     if(present(stride)) localStride(:size(stride)) = stride(:)
711     if(present(map))  then
712        localMap   (:size(map))    = map(:)
713        nf90_put_var_2D_FourByteInt = &
714             nf_put_varm_int(ncid, varid, localStart, localCount, localStride, localMap, int(values))
715     else if(present(stride)) then
716        nf90_put_var_2D_FourByteInt = &
717             nf_put_vars_int(ncid, varid, localStart, localCount, localStride, int(values))
718     else
719        nf90_put_var_2D_FourByteInt = &
720             nf_put_vara_int(ncid, varid, localStart, localCount, values)
721     end if
722   end function nf90_put_var_2D_FourByteInt
723
724
725   function nf90_put_var_3D_FourByteInt(ncid, varid, values, start, count, stride, map)
726     integer,                         intent( in) :: ncid, varid
727     integer (kind = FourByteInt), dimension(:, :, :), &
728                                      intent( in) :: values
729     integer, dimension(:), optional, intent( in) :: start, count, stride, map
730     integer                                      :: nf90_put_var_3D_FourByteInt
731
732     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
733     integer                               :: numDims, counter
734
735     ! Set local arguments to default values
736     numDims                 = size(shape(values))
737     localStart (:         ) = 1
738     localCount (:numDims  ) = shape(values)
739     localCount (numDims+1:) = 1
740     localStride(:         ) = 1
741     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
742
743     if(present(start))  localStart (:size(start) )  = start(:)
744     if(present(count))  localCount (:size(count) )  = count(:)
745     if(present(stride)) localStride(:size(stride)) = stride(:)
746     if(present(map))  then
747       localMap   (:size(map))    = map(:)
748       nf90_put_var_3D_FourByteInt = &
749          nf_put_varm_int(ncid, varid, localStart, localCount, localStride, localMap, int(values))
750     else if(present(stride)) then
751       nf90_put_var_3D_FourByteInt = &
752          nf_put_vars_int(ncid, varid, localStart, localCount, localStride, int(values))
753     else
754       nf90_put_var_3D_FourByteInt = &
755          nf_put_vara_int(ncid, varid, localStart, localCount, int(values))
756     end if
757   end function nf90_put_var_3D_FourByteInt
758
759
760   function nf90_put_var_4D_FourByteInt(ncid, varid, values, start, count, stride, map)
761     integer,                         intent( in) :: ncid, varid
762     integer (kind = FourByteInt), dimension(:, :, :, :), &
763                                      intent( in) :: values
764     integer, dimension(:), optional, intent( in) :: start, count, stride, map
765     integer                                      :: nf90_put_var_4D_FourByteInt
766
767     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
768     integer                               :: numDims, counter
769
770     ! Set local arguments to default values
771     numDims                 = size(shape(values))
772     localStart (:         ) = 1
773     localCount (:numDims  ) = shape(values)
774     localCount (numDims+1:) = 1
775     localStride(:         ) = 1
776     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
777
778     if(present(start))  localStart (:size(start) )  = start(:)
779     if(present(count))  localCount (:size(count) )  = count(:)
780     if(present(stride)) localStride(:size(stride)) = stride(:)
781     if(present(map))  then
782       localMap   (:size(map))    = map(:)
783       nf90_put_var_4D_FourByteInt = &
784          nf_put_varm_int(ncid, varid, localStart, localCount, localStride, localMap, int(values))
785     else if(present(stride)) then
786       nf90_put_var_4D_FourByteInt = &
787          nf_put_vars_int(ncid, varid, localStart, localCount, localStride, int(values))
788     else
789       nf90_put_var_4D_FourByteInt = &
790          nf_put_vara_int(ncid, varid, localStart, localCount, int(values))
791     end if
792   end function nf90_put_var_4D_FourByteInt
793
794
795   function nf90_put_var_5D_FourByteInt(ncid, varid, values, start, count, stride, map)
796     integer,                         intent( in) :: ncid, varid
797     integer (kind = FourByteInt), dimension(:, :, :, :, :), &
798                                      intent( in) :: values
799     integer, dimension(:), optional, intent( in) :: start, count, stride, map
800     integer                                      :: nf90_put_var_5D_FourByteInt
801
802     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
803     integer                               :: numDims, counter
804
805     ! Set local arguments to default values
806     numDims                 = size(shape(values))
807     localStart (:         ) = 1
808     localCount (:numDims  ) = shape(values)
809     localCount (numDims+1:) = 1
810     localStride(:         ) = 1
811     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
812
813     if(present(start))  localStart (:size(start) )  = start(:)
814     if(present(count))  localCount (:size(count) )  = count(:)
815     if(present(stride)) localStride(:size(stride)) = stride(:)
816     if(present(map))  then
817       localMap   (:size(map))    = map(:)
818       nf90_put_var_5D_FourByteInt = &
819          nf_put_varm_int(ncid, varid, localStart, localCount, localStride, localMap, int(values))
820     else if(present(stride)) then
821       nf90_put_var_5D_FourByteInt = &
822          nf_put_vars_int(ncid, varid, localStart, localCount, localStride, int(values))
823     else
824       nf90_put_var_5D_FourByteInt = &
825          nf_put_vara_int(ncid, varid, localStart, localCount, int(values))
826     end if
827   end function nf90_put_var_5D_FourByteInt
828
829
830   function nf90_put_var_6D_FourByteInt(ncid, varid, values, start, count, stride, map)
831     integer,                         intent( in) :: ncid, varid
832     integer (kind = FourByteInt), dimension(:, :, :, :, :, :), &
833                                      intent( in) :: values
834     integer, dimension(:), optional, intent( in) :: start, count, stride, map
835     integer                                      :: nf90_put_var_6D_FourByteInt
836
837     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
838     integer                               :: numDims, counter
839
840     ! Set local arguments to default values
841     numDims                 = size(shape(values))
842     localStart (:         ) = 1
843     localCount (:numDims  ) = shape(values)
844     localCount (numDims+1:) = 1
845     localStride(:         ) = 1
846     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
847
848     if(present(start))  localStart (:size(start) )  = start(:)
849     if(present(count))  localCount (:size(count) )  = count(:)
850     if(present(stride)) localStride(:size(stride)) = stride(:)
851     if(present(map))  then
852       localMap   (:size(map))    = map(:)
853       nf90_put_var_6D_FourByteInt = &
854          nf_put_varm_int(ncid, varid, localStart, localCount, localStride, localMap, int(values))
855     else if(present(stride)) then
856       nf90_put_var_6D_FourByteInt = &
857          nf_put_vars_int(ncid, varid, localStart, localCount, localStride, int(values))
858     else
859       nf90_put_var_6D_FourByteInt = &
860          nf_put_vara_int(ncid, varid, localStart, localCount, int(values))
861     end if
862   end function nf90_put_var_6D_FourByteInt
863
864
865   function nf90_put_var_7D_FourByteInt(ncid, varid, values, start, count, stride, map)
866     integer,                         intent( in) :: ncid, varid
867     integer (kind = FourByteInt), dimension(:, :, :, :, :, :, :), &
868                                      intent( in) :: values
869     integer, dimension(:), optional, intent( in) :: start, count, stride, map
870     integer                                      :: nf90_put_var_7D_FourByteInt
871
872     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
873     integer                               :: numDims, counter
874
875     ! Set local arguments to default values
876     numDims                 = size(shape(values))
877     localStart (:         ) = 1
878     localCount (:numDims  ) = shape(values)
879     localCount (numDims+1:) = 1
880     localStride(:         ) = 1
881     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
882
883     if(present(start))  localStart (:size(start) )  = start(:)
884     if(present(count))  localCount (:size(count) )  = count(:)
885     if(present(stride)) localStride(:size(stride)) = stride(:)
886     if(present(map))  then
887       localMap   (:size(map))    = map(:)
888       nf90_put_var_7D_FourByteInt = &
889          nf_put_varm_int(ncid, varid, localStart, localCount, localStride, localMap, int(values))
890     else if(present(stride)) then
891       nf90_put_var_7D_FourByteInt = &
892          nf_put_vars_int(ncid, varid, localStart, localCount, localStride, int(values))
893     else
894       nf90_put_var_7D_FourByteInt = &
895          nf_put_vara_int(ncid, varid, localStart, localCount, int(values))
896     end if
897   end function nf90_put_var_7D_FourByteInt
898
899
900    function nf90_put_var_1D_FourByteReal(ncid, varid, values, start, count, stride, map)
901     integer,                         intent( in) :: ncid, varid
902     real (kind = FourByteReal), dimension(:), &
903                                      intent( in) :: values
904     integer, dimension(:), optional, intent( in) :: start, count, stride, map
905     integer                                      :: nf90_put_var_1D_FourByteReal
906
907     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
908     integer                               :: numDims, counter
909
910     ! Set local arguments to default values
911     numDims                 = size(shape(values))
912     localStart (:         ) = 1
913     localCount (:numDims  ) = shape(values)
914     localCount (numDims+1:) = 1
915     localStride(:         ) = 1
916     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
917
918     if(present(start))  localStart (:size(start) )  = start(:)
919     if(present(count))  localCount (:size(count) )  = count(:)
920     if(present(stride)) localStride(:size(stride)) = stride(:)
921     if(present(map))  then
922       localMap   (:size(map))    = map(:)
923       nf90_put_var_1D_FourByteReal = &
924          nf_put_varm_real(ncid, varid, localStart, localCount, localStride, localMap, values)
925     else if(present(stride)) then
926       nf90_put_var_1D_FourByteReal = &
927          nf_put_vars_real(ncid, varid, localStart, localCount, localStride, values)
928     else
929       nf90_put_var_1D_FourByteReal = &
930          nf_put_vara_real(ncid, varid, localStart, localCount, values)
931     end if
932   end function nf90_put_var_1D_FourByteReal
933
934
935   function nf90_put_var_2D_FourByteReal(ncid, varid, values, start, count, stride, map)
936     integer,                         intent( in) :: ncid, varid
937     real (kind = FourByteReal), dimension(:, :), &
938                                      intent( in) :: values
939     integer, dimension(:), optional, intent( in) :: start, count, stride, map
940     integer                                      :: nf90_put_var_2D_FourByteReal
941
942     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
943     integer                               :: numDims, counter
944
945     ! Set local arguments to default values
946     numDims                 = size(shape(values))
947     localStart (:         ) = 1
948     localCount (:numDims  ) = shape(values)
949     localCount (numDims+1:) = 1
950     localStride(:         ) = 1
951     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
952
953     if(present(start))  localStart (:size(start) )  = start(:)
954     if(present(count))  localCount (:size(count) )  = count(:)
955     if(present(stride)) localStride(:size(stride)) = stride(:)
956     if(present(map))  then
957       localMap   (:size(map))    = map(:)
958       nf90_put_var_2D_FourByteReal = &
959          nf_put_varm_real(ncid, varid, localStart, localCount, localStride, localMap, values)
960     else if(present(stride)) then
961       nf90_put_var_2D_FourByteReal = &
962          nf_put_vars_real(ncid, varid, localStart, localCount, localStride, values)
963     else
964       nf90_put_var_2D_FourByteReal = &
965          nf_put_vara_real(ncid, varid, localStart, localCount, values)
966     end if
967   end function nf90_put_var_2D_FourByteReal
968
969
970   function nf90_put_var_3D_FourByteReal(ncid, varid, values, start, count, stride, map)
971     integer,                         intent( in) :: ncid, varid
972     real (kind = FourByteReal), dimension(:, :, :), &
973                                      intent( in) :: values
974     integer, dimension(:), optional, intent( in) :: start, count, stride, map
975     integer                                      :: nf90_put_var_3D_FourByteReal
976
977     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
978     integer                               :: numDims, counter
979
980     ! Set local arguments to default values
981     numDims                 = size(shape(values))
982     localStart (:         ) = 1
983     localCount (:numDims  ) = shape(values)
984     localCount (numDims+1:) = 1
985     localStride(:         ) = 1
986     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
987
988     if(present(start))  localStart (:size(start) )  = start(:)
989     if(present(count))  localCount (:size(count) )  = count(:)
990     if(present(stride)) localStride(:size(stride)) = stride(:)
991     if(present(map))  then
992       localMap   (:size(map))    = map(:)
993       nf90_put_var_3D_FourByteReal = &
994          nf_put_varm_real(ncid, varid, localStart, localCount, localStride, localMap, values)
995     else if(present(stride)) then
996       nf90_put_var_3D_FourByteReal = &
997          nf_put_vars_real(ncid, varid, localStart, localCount, localStride, values)
998     else
999       nf90_put_var_3D_FourByteReal = &
1000          nf_put_vara_real(ncid, varid, localStart, localCount, values)
1001     end if
1002   end function nf90_put_var_3D_FourByteReal
1003
1004
1005   function nf90_put_var_4D_FourByteReal(ncid, varid, values, start, count, stride, map)
1006     integer,                         intent( in) :: ncid, varid
1007     real (kind = FourByteReal), dimension(:, :, :, :), &
1008                                      intent( in) :: values
1009     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1010     integer                                      :: nf90_put_var_4D_FourByteReal
1011
1012     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1013     integer                               :: numDims, counter
1014
1015     ! Set local arguments to default values
1016     numDims                 = size(shape(values))
1017     localStart (:         ) = 1
1018     localCount (:numDims  ) = shape(values)
1019     localCount (numDims+1:) = 1
1020     localStride(:         ) = 1
1021     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1022
1023     if(present(start))  localStart (:size(start) )  = start(:)
1024     if(present(count))  localCount (:size(count) )  = count(:)
1025     if(present(stride)) localStride(:size(stride)) = stride(:)
1026     if(present(map))  then
1027       localMap   (:size(map))    = map(:)
1028       nf90_put_var_4D_FourByteReal = &
1029          nf_put_varm_real(ncid, varid, localStart, localCount, localStride, localMap, values)
1030     else if(present(stride)) then
1031       nf90_put_var_4D_FourByteReal = &
1032          nf_put_vars_real(ncid, varid, localStart, localCount, localStride, values)
1033     else
1034       nf90_put_var_4D_FourByteReal = &
1035          nf_put_vara_real(ncid, varid, localStart, localCount, values)
1036     end if
1037   end function nf90_put_var_4D_FourByteReal
1038
1039
1040   function nf90_put_var_5D_FourByteReal(ncid, varid, values, start, count, stride, map)
1041     integer,                         intent( in) :: ncid, varid
1042     real (kind = FourByteReal), dimension(:, :, :, :, :), &
1043                                      intent( in) :: values
1044     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1045     integer                                      :: nf90_put_var_5D_FourByteReal
1046
1047     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1048     integer                               :: numDims, counter
1049
1050     ! Set local arguments to default values
1051     numDims                 = size(shape(values))
1052     localStart (:         ) = 1
1053     localCount (:numDims  ) = shape(values)
1054     localCount (numDims+1:) = 1
1055     localStride(:         ) = 1
1056     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1057
1058     if(present(start))  localStart (:size(start) )  = start(:)
1059     if(present(count))  localCount (:size(count) )  = count(:)
1060     if(present(stride)) localStride(:size(stride)) = stride(:)
1061     if(present(map))  then
1062       localMap   (:size(map))    = map(:)
1063       nf90_put_var_5D_FourByteReal = &
1064          nf_put_varm_real(ncid, varid, localStart, localCount, localStride, localMap, values)
1065     else if(present(stride)) then
1066       nf90_put_var_5D_FourByteReal = &
1067          nf_put_vars_real(ncid, varid, localStart, localCount, localStride, values)
1068     else
1069       nf90_put_var_5D_FourByteReal = &
1070          nf_put_vara_real(ncid, varid, localStart, localCount, values)
1071     end if
1072   end function nf90_put_var_5D_FourByteReal
1073
1074
1075   function nf90_put_var_6D_FourByteReal(ncid, varid, values, start, count, stride, map)
1076     integer,                         intent( in) :: ncid, varid
1077     real (kind = FourByteReal), dimension(:, :, :, :, :, :), &
1078                                      intent( in) :: values
1079     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1080     integer                                      :: nf90_put_var_6D_FourByteReal
1081
1082     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1083     integer                               :: numDims, counter
1084
1085     ! Set local arguments to default values
1086     numDims                 = size(shape(values))
1087     localStart (:         ) = 1
1088     localCount (:numDims  ) = shape(values)
1089     localCount (numDims+1:) = 1
1090     localStride(:         ) = 1
1091     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1092
1093     if(present(start))  localStart (:size(start) )  = start(:)
1094     if(present(count))  localCount (:size(count) )  = count(:)
1095     if(present(stride)) localStride(:size(stride)) = stride(:)
1096     if(present(map))  then
1097       localMap   (:size(map))    = map(:)
1098       nf90_put_var_6D_FourByteReal = &
1099          nf_put_varm_real(ncid, varid, localStart, localCount, localStride, localMap, values)
1100     else if(present(stride)) then
1101       nf90_put_var_6D_FourByteReal = &
1102          nf_put_vars_real(ncid, varid, localStart, localCount, localStride, values)
1103     else
1104       nf90_put_var_6D_FourByteReal = &
1105          nf_put_vara_real(ncid, varid, localStart, localCount, values)
1106     end if
1107   end function nf90_put_var_6D_FourByteReal
1108
1109
1110   function nf90_put_var_7D_FourByteReal(ncid, varid, values, start, count, stride, map)
1111     integer,                         intent( in) :: ncid, varid
1112     real (kind = FourByteReal), dimension(:, :, :, :, :, :, :), &
1113                                      intent( in) :: values
1114     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1115     integer                                      :: nf90_put_var_7D_FourByteReal
1116
1117     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1118     integer                               :: numDims, counter
1119
1120     ! Set local arguments to default values
1121     numDims                 = size(shape(values))
1122     localStart (:         ) = 1
1123     localCount (:numDims  ) = shape(values)
1124     localCount (numDims+1:) = 1
1125     localStride(:         ) = 1
1126     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1127
1128     if(present(start))  localStart (:size(start) )  = start(:)
1129     if(present(count))  localCount (:size(count) )  = count(:)
1130     if(present(stride)) localStride(:size(stride)) = stride(:)
1131     if(present(map))  then
1132       localMap   (:size(map))    = map(:)
1133       nf90_put_var_7D_FourByteReal = &
1134          nf_put_varm_real(ncid, varid, localStart, localCount, localStride, localMap, values)
1135     else if(present(stride)) then
1136       nf90_put_var_7D_FourByteReal = &
1137          nf_put_vars_real(ncid, varid, localStart, localCount, localStride, values)
1138     else
1139       nf90_put_var_7D_FourByteReal = &
1140          nf_put_vara_real(ncid, varid, localStart, localCount, values)
1141     end if
1142   end function nf90_put_var_7D_FourByteReal
1143
1144
1145   function nf90_put_var_1D_EightByteReal(ncid, varid, values, start, count, stride, map)
1146     integer,                         intent( in) :: ncid, varid
1147     real (kind = EightByteReal), dimension(:), &
1148                                      intent( in) :: values
1149     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1150     integer                                      :: nf90_put_var_1D_EightByteReal
1151
1152     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1153     integer                               :: numDims, counter
1154
1155     ! Set local arguments to default values
1156     numDims                 = size(shape(values))
1157     localStart (:         ) = 1
1158     localCount (:numDims  ) = shape(values)
1159     localCount (numDims+1:) = 1
1160     localStride(:         ) = 1
1161     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1162
1163     if(present(start))  localStart (:size(start) )  = start(:)
1164     if(present(count))  localCount (:size(count) )  = count(:)
1165     if(present(stride)) localStride(:size(stride)) = stride(:)
1166     if(present(map))  then
1167       localMap   (:size(map))    = map(:)
1168       nf90_put_var_1D_EightByteReal = &
1169          nf_put_varm_double(ncid, varid, localStart, localCount, localStride, localMap, values)
1170     else if(present(stride)) then
1171       nf90_put_var_1D_EightByteReal = &
1172          nf_put_vars_double(ncid, varid, localStart, localCount, localStride, values)
1173     else
1174       nf90_put_var_1D_EightByteReal = &
1175          nf_put_vara_double(ncid, varid, localStart, localCount, values)
1176     end if
1177   end function nf90_put_var_1D_EightByteReal
1178
1179
1180   function nf90_put_var_2D_EightByteReal(ncid, varid, values, start, count, stride, map)
1181     integer,                         intent( in) :: ncid, varid
1182     real (kind = EightByteReal), dimension(:, :), &
1183                                      intent( in) :: values
1184     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1185     integer                                      :: nf90_put_var_2D_EightByteReal
1186
1187     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1188     integer                               :: numDims, counter
1189
1190     ! Set local arguments to default values
1191     numDims                 = size(shape(values))
1192     localStart (:         ) = 1
1193     localCount (:numDims  ) = shape(values)
1194     localCount (numDims+1:) = 1
1195     localStride(:         ) = 1
1196     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1197
1198     if(present(start))  localStart (:size(start) )  = start(:)
1199     if(present(count))  localCount (:size(count) )  = count(:)
1200     if(present(stride)) localStride(:size(stride)) = stride(:)
1201     if(present(map))  then
1202       localMap   (:size(map))    = map(:)
1203       nf90_put_var_2D_EightByteReal = &
1204          nf_put_varm_double(ncid, varid, localStart, localCount, localStride, localMap, values)
1205     else if(present(stride)) then
1206       nf90_put_var_2D_EightByteReal = &
1207          nf_put_vars_double(ncid, varid, localStart, localCount, localStride, values)
1208     else
1209       nf90_put_var_2D_EightByteReal = &
1210          nf_put_vara_double(ncid, varid, localStart, localCount, values)
1211     end if
1212   end function nf90_put_var_2D_EightByteReal
1213
1214
1215   function nf90_put_var_3D_EightByteReal(ncid, varid, values, start, count, stride, map)
1216     integer,                         intent( in) :: ncid, varid
1217     real (kind = EightByteReal), dimension(:, :, :), &
1218                                      intent( in) :: values
1219     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1220     integer                                      :: nf90_put_var_3D_EightByteReal
1221
1222     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1223     integer                               :: numDims, counter
1224
1225     ! Set local arguments to default values
1226     numDims                 = size(shape(values))
1227     localStart (:         ) = 1
1228     localCount (:numDims  ) = shape(values)
1229     localCount (numDims+1:) = 1
1230     localStride(:         ) = 1
1231     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1232
1233     if(present(start))  localStart (:size(start) )  = start(:)
1234     if(present(count))  localCount (:size(count) )  = count(:)
1235     if(present(stride)) localStride(:size(stride)) = stride(:)
1236     if(present(map))  then
1237       localMap   (:size(map))    = map(:)
1238       nf90_put_var_3D_EightByteReal = &
1239          nf_put_varm_double(ncid, varid, localStart, localCount, localStride, localMap, values)
1240     else if(present(stride)) then
1241       nf90_put_var_3D_EightByteReal = &
1242          nf_put_vars_double(ncid, varid, localStart, localCount, localStride, values)
1243     else
1244       nf90_put_var_3D_EightByteReal = &
1245          nf_put_vara_double(ncid, varid, localStart, localCount, values)
1246     end if
1247   end function nf90_put_var_3D_EightByteReal
1248
1249
1250   function nf90_put_var_4D_EightByteReal(ncid, varid, values, start, count, stride, map)
1251     integer,                         intent( in) :: ncid, varid
1252     real (kind = EightByteReal), dimension(:, :, :, :), &
1253                                      intent( in) :: values
1254     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1255     integer                                      :: nf90_put_var_4D_EightByteReal
1256
1257     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1258     integer                               :: numDims, counter
1259
1260     ! Set local arguments to default values
1261     numDims                 = size(shape(values))
1262     localStart (:         ) = 1
1263     localCount (:numDims  ) = shape(values)
1264     localCount (numDims+1:) = 1
1265     localStride(:         ) = 1
1266     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1267
1268     if(present(start))  localStart (:size(start) )  = start(:)
1269     if(present(count))  localCount (:size(count) )  = count(:)
1270     if(present(stride)) localStride(:size(stride)) = stride(:)
1271     if(present(map))  then
1272       localMap   (:size(map))    = map(:)
1273       nf90_put_var_4D_EightByteReal = &
1274          nf_put_varm_double(ncid, varid, localStart, localCount, localStride, localMap, values)
1275     else if(present(stride)) then
1276       nf90_put_var_4D_EightByteReal = &
1277          nf_put_vars_double(ncid, varid, localStart, localCount, localStride, values)
1278     else
1279       nf90_put_var_4D_EightByteReal = &
1280          nf_put_vara_double(ncid, varid, localStart, localCount, values)
1281     end if
1282   end function nf90_put_var_4D_EightByteReal
1283
1284
1285   function nf90_put_var_5D_EightByteReal(ncid, varid, values, start, count, stride, map)
1286     integer,                         intent( in) :: ncid, varid
1287     real (kind = EightByteReal), dimension(:, :, :, :, :), &
1288                                      intent( in) :: values
1289     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1290     integer                                      :: nf90_put_var_5D_EightByteReal
1291
1292     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1293     integer                               :: numDims, counter
1294
1295     ! Set local arguments to default values
1296     numDims                 = size(shape(values))
1297     localStart (:         ) = 1
1298     localCount (:numDims  ) = shape(values)
1299     localCount (numDims+1:) = 1
1300     localStride(:         ) = 1
1301     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1302
1303     if(present(start))  localStart (:size(start) )  = start(:)
1304     if(present(count))  localCount (:size(count) )  = count(:)
1305     if(present(stride)) localStride(:size(stride)) = stride(:)
1306     if(present(map))  then
1307       localMap   (:size(map))    = map(:)
1308       nf90_put_var_5D_EightByteReal = &
1309          nf_put_varm_double(ncid, varid, localStart, localCount, localStride, localMap, values)
1310     else if(present(stride)) then
1311       nf90_put_var_5D_EightByteReal = &
1312          nf_put_vars_double(ncid, varid, localStart, localCount, localStride, values)
1313     else
1314       nf90_put_var_5D_EightByteReal = &
1315          nf_put_vara_double(ncid, varid, localStart, localCount, values)
1316     end if
1317   end function nf90_put_var_5D_EightByteReal
1318
1319
1320   function nf90_put_var_6D_EightByteReal(ncid, varid, values, start, count, stride, map)
1321     integer,                         intent( in) :: ncid, varid
1322     real (kind = EightByteReal), dimension(:, :, :, :, :, :), &
1323                                      intent( in) :: values
1324     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1325     integer                                      :: nf90_put_var_6D_EightByteReal
1326
1327     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1328     integer                               :: numDims, counter
1329
1330     ! Set local arguments to default values
1331     numDims                 = size(shape(values))
1332     localStart (:         ) = 1
1333     localCount (:numDims  ) = shape(values)
1334     localCount (numDims+1:) = 1
1335     localStride(:         ) = 1
1336     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1337
1338     if(present(start))  localStart (:size(start) )  = start(:)
1339     if(present(count))  localCount (:size(count) )  = count(:)
1340     if(present(stride)) localStride(:size(stride)) = stride(:)
1341     if(present(map))  then
1342       localMap   (:size(map))    = map(:)
1343       nf90_put_var_6D_EightByteReal = &
1344          nf_put_varm_double(ncid, varid, localStart, localCount, localStride, localMap, values)
1345     else if(present(stride)) then
1346       nf90_put_var_6D_EightByteReal = &
1347          nf_put_vars_double(ncid, varid, localStart, localCount, localStride, values)
1348     else
1349       nf90_put_var_6D_EightByteReal = &
1350          nf_put_vara_double(ncid, varid, localStart, localCount, values)
1351     end if
1352   end function nf90_put_var_6D_EightByteReal
1353
1354
1355   function nf90_put_var_7D_EightByteReal(ncid, varid, values, start, count, stride, map)
1356     integer,                         intent( in) :: ncid, varid
1357     real (kind = EightByteReal), dimension(:, :, :, :, :, :, :), &
1358                                      intent( in) :: values
1359     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1360     integer                                      :: nf90_put_var_7D_EightByteReal
1361
1362     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1363     integer                               :: numDims, counter
1364
1365     ! Set local arguments to default values
1366     numDims                 = size(shape(values))
1367     localStart (:         ) = 1
1368     localCount (:numDims  ) = shape(values)
1369     localCount (numDims+1:) = 1
1370     localStride(:         ) = 1
1371     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1372
1373     if(present(start))  localStart (:size(start) )  = start(:)
1374     if(present(count))  localCount (:size(count) )  = count(:)
1375     if(present(stride)) localStride(:size(stride)) = stride(:)
1376     if(present(map))  then
1377       localMap   (:size(map))    = map(:)
1378       nf90_put_var_7D_EightByteReal = &
1379          nf_put_varm_double(ncid, varid, localStart, localCount, localStride, localMap, values)
1380     else if(present(stride)) then
1381       nf90_put_var_7D_EightByteReal = &
1382          nf_put_vars_double(ncid, varid, localStart, localCount, localStride, values)
1383     else
1384       nf90_put_var_7D_EightByteReal = &
1385          nf_put_vara_double(ncid, varid, localStart, localCount, values)
1386     end if
1387   end function nf90_put_var_7D_EightByteReal
1388
1389
1390   function nf90_get_var_1D_OneByteInt(ncid, varid, values, start, count, stride, map)
1391     integer,                         intent( in) :: ncid, varid
1392     integer (kind = OneByteInt), dimension(:), &
1393                                      intent(out) :: values
1394     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1395     integer                                      :: nf90_get_var_1D_OneByteInt
1396
1397     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1398     integer                               :: numDims, counter
1399
1400     ! Set local arguments to default values
1401     numDims                 = size(shape(values))
1402     localStart (:         ) = 1
1403     localCount (:numDims  ) = shape(values)
1404     localCount (numDims+1:) = 1
1405     localStride(:         ) = 1
1406     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1407
1408     if(present(start))  localStart (:size(start) )  = start(:)
1409     if(present(count))  localCount (:size(count) )  = count(:)
1410     if(present(stride)) localStride(:size(stride)) = stride(:)
1411     if(present(map))  then
1412       localMap   (:size(map))    = map(:)
1413       nf90_get_var_1D_OneByteInt = &
1414          nf_get_varm_int1(ncid, varid, localStart, localCount, localStride, localMap, values)
1415     else if(present(stride)) then
1416       nf90_get_var_1D_OneByteInt = &
1417          nf_get_vars_int1(ncid, varid, localStart, localCount, localStride, values)
1418     else
1419       nf90_get_var_1D_OneByteInt = &
1420          nf_get_vara_int1(ncid, varid, localStart, localCount, values)
1421     end if
1422   end function nf90_get_var_1D_OneByteInt
1423
1424
1425   function nf90_get_var_2D_OneByteInt(ncid, varid, values, start, count, stride, map)
1426     integer,                         intent( in) :: ncid, varid
1427     integer (kind = OneByteInt), dimension(:, :), &
1428                                      intent(out) :: values
1429     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1430     integer                                      :: nf90_get_var_2D_OneByteInt
1431
1432     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1433     integer                               :: numDims, counter
1434
1435     ! Set local arguments to default values
1436     numDims                 = size(shape(values))
1437     localStart (:         ) = 1
1438     localCount (:numDims  ) = shape(values)
1439     localCount (numDims+1:) = 1
1440     localStride(:         ) = 1
1441     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1442
1443     if(present(start))  localStart (:size(start) )  = start(:)
1444     if(present(count))  localCount (:size(count) )  = count(:)
1445     if(present(stride)) localStride(:size(stride)) = stride(:)
1446     if(present(map))  then
1447       localMap   (:size(map))    = map(:)
1448       nf90_get_var_2D_OneByteInt = &
1449          nf_get_varm_int1(ncid, varid, localStart, localCount, localStride, localMap, values)
1450     else if(present(stride)) then
1451       nf90_get_var_2D_OneByteInt = &
1452          nf_get_vars_int1(ncid, varid, localStart, localCount, localStride, values)
1453     else
1454       nf90_get_var_2D_OneByteInt = &
1455          nf_get_vara_int1(ncid, varid, localStart, localCount, values)
1456     end if
1457   end function nf90_get_var_2D_OneByteInt
1458
1459
1460   function nf90_get_var_3D_OneByteInt(ncid, varid, values, start, count, stride, map)
1461     integer,                         intent( in) :: ncid, varid
1462     integer (kind = OneByteInt), dimension(:, :, :), &
1463                                      intent(out) :: values
1464     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1465     integer                                      :: nf90_get_var_3D_OneByteInt
1466
1467     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1468     integer                               :: numDims, counter
1469
1470     ! Set local arguments to default values
1471     numDims                 = size(shape(values))
1472     localStart (:         ) = 1
1473     localCount (:numDims  ) = shape(values)
1474     localCount (numDims+1:) = 1
1475     localStride(:         ) = 1
1476     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1477
1478     if(present(start))  localStart (:size(start) )  = start(:)
1479     if(present(count))  localCount (:size(count) )  = count(:)
1480     if(present(stride)) localStride(:size(stride)) = stride(:)
1481     if(present(map))  then
1482       localMap   (:size(map))    = map(:)
1483       nf90_get_var_3D_OneByteInt = &
1484          nf_get_varm_int1(ncid, varid, localStart, localCount, localStride, localMap, values)
1485     else if(present(stride)) then
1486       nf90_get_var_3D_OneByteInt = &
1487          nf_get_vars_int1(ncid, varid, localStart, localCount, localStride, values)
1488     else
1489       nf90_get_var_3D_OneByteInt = &
1490          nf_get_vara_int1(ncid, varid, localStart, localCount, values)
1491     end if
1492   end function nf90_get_var_3D_OneByteInt
1493
1494
1495   function nf90_get_var_4D_OneByteInt(ncid, varid, values, start, count, stride, map)
1496     integer,                         intent( in) :: ncid, varid
1497     integer (kind = OneByteInt), dimension(:, :, :, :), &
1498                                      intent(out) :: values
1499     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1500     integer                                      :: nf90_get_var_4D_OneByteInt
1501
1502     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1503     integer                               :: numDims, counter
1504
1505     ! Set local arguments to default values
1506     numDims                 = size(shape(values))
1507     localStart (:         ) = 1
1508     localCount (:numDims  ) = shape(values)
1509     localCount (numDims+1:) = 1
1510     localStride(:         ) = 1
1511     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1512
1513     if(present(start))  localStart (:size(start) )  = start(:)
1514     if(present(count))  localCount (:size(count) )  = count(:)
1515     if(present(stride)) localStride(:size(stride)) = stride(:)
1516     if(present(map))  then
1517       localMap   (:size(map))    = map(:)
1518       nf90_get_var_4D_OneByteInt = &
1519          nf_get_varm_int1(ncid, varid, localStart, localCount, localStride, localMap, values)
1520     else if(present(stride)) then
1521       nf90_get_var_4D_OneByteInt = &
1522          nf_get_vars_int1(ncid, varid, localStart, localCount, localStride, values)
1523     else
1524       nf90_get_var_4D_OneByteInt = &
1525          nf_get_vara_int1(ncid, varid, localStart, localCount, values)
1526     end if
1527   end function nf90_get_var_4D_OneByteInt
1528
1529
1530   function nf90_get_var_5D_OneByteInt(ncid, varid, values, start, count, stride, map)
1531     integer,                         intent( in) :: ncid, varid
1532     integer (kind = OneByteInt), dimension(:, :, :, :, :), &
1533                                      intent(out) :: values
1534     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1535     integer                                      :: nf90_get_var_5D_OneByteInt
1536
1537     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1538     integer                               :: numDims, counter
1539
1540     ! Set local arguments to default values
1541     numDims                 = size(shape(values))
1542     localStart (:         ) = 1
1543     localCount (:numDims  ) = shape(values)
1544     localCount (numDims+1:) = 1
1545     localStride(:         ) = 1
1546     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1547
1548     if(present(start))  localStart (:size(start) )  = start(:)
1549     if(present(count))  localCount (:size(count) )  = count(:)
1550     if(present(stride)) localStride(:size(stride)) = stride(:)
1551     if(present(map))  then
1552       localMap   (:size(map))    = map(:)
1553       nf90_get_var_5D_OneByteInt = &
1554          nf_get_varm_int1(ncid, varid, localStart, localCount, localStride, localMap, values)
1555     else if(present(stride)) then
1556       nf90_get_var_5D_OneByteInt = &
1557          nf_get_vars_int1(ncid, varid, localStart, localCount, localStride, values)
1558     else
1559       nf90_get_var_5D_OneByteInt = &
1560          nf_get_vara_int1(ncid, varid, localStart, localCount, values)
1561     end if
1562   end function nf90_get_var_5D_OneByteInt
1563
1564
1565   function nf90_get_var_6D_OneByteInt(ncid, varid, values, start, count, stride, map)
1566     integer,                         intent( in) :: ncid, varid
1567     integer (kind = OneByteInt), dimension(:, :, :, :, :, :), &
1568                                      intent(out) :: values
1569     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1570     integer                                      :: nf90_get_var_6D_OneByteInt
1571
1572     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1573     integer                               :: numDims, counter
1574
1575     ! Set local arguments to default values
1576     numDims                 = size(shape(values))
1577     localStart (:         ) = 1
1578     localCount (:numDims  ) = shape(values)
1579     localCount (numDims+1:) = 1
1580     localStride(:         ) = 1
1581     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1582
1583     if(present(start))  localStart (:size(start) )  = start(:)
1584     if(present(count))  localCount (:size(count) )  = count(:)
1585     if(present(stride)) localStride(:size(stride)) = stride(:)
1586     if(present(map))  then
1587       localMap   (:size(map))    = map(:)
1588       nf90_get_var_6D_OneByteInt = &
1589          nf_get_varm_int1(ncid, varid, localStart, localCount, localStride, localMap, values)
1590     else if(present(stride)) then
1591       nf90_get_var_6D_OneByteInt = &
1592          nf_get_vars_int1(ncid, varid, localStart, localCount, localStride, values)
1593     else
1594       nf90_get_var_6D_OneByteInt = &
1595          nf_get_vara_int1(ncid, varid, localStart, localCount, values)
1596     end if
1597   end function nf90_get_var_6D_OneByteInt
1598
1599
1600   function nf90_get_var_7D_OneByteInt(ncid, varid, values, start, count, stride, map)
1601     integer,                         intent( in) :: ncid, varid
1602     integer (kind = OneByteInt), dimension(:, :, :, :, :, :, :), &
1603                                      intent(out) :: values
1604     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1605     integer                                      :: nf90_get_var_7D_OneByteInt
1606
1607     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1608     integer                               :: numDims, counter
1609
1610     ! Set local arguments to default values
1611     numDims                 = size(shape(values))
1612     localStart (:         ) = 1
1613     localCount (:numDims  ) = shape(values)
1614     localCount (numDims+1:) = 1
1615     localStride(:         ) = 1
1616     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1617
1618     if(present(start))  localStart (:size(start) )  = start(:)
1619     if(present(count))  localCount (:size(count) )  = count(:)
1620     if(present(stride)) localStride(:size(stride)) = stride(:)
1621     if(present(map))  then
1622       localMap   (:size(map))    = map(:)
1623       nf90_get_var_7D_OneByteInt = &
1624          nf_get_varm_int1(ncid, varid, localStart, localCount, localStride, localMap, values)
1625     else if(present(stride)) then
1626       nf90_get_var_7D_OneByteInt = &
1627          nf_get_vars_int1(ncid, varid, localStart, localCount, localStride, values)
1628     else
1629       nf90_get_var_7D_OneByteInt = &
1630          nf_get_vara_int1(ncid, varid, localStart, localCount, values)
1631     end if
1632   end function nf90_get_var_7D_OneByteInt
1633
1634
1635   function nf90_get_var_1D_TwoByteInt(ncid, varid, values, start, count, stride, map)
1636     integer,                         intent( in) :: ncid, varid
1637     integer (kind = TwoByteInt), dimension(:), &
1638                                      intent(out) :: values
1639     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1640     integer                                      :: nf90_get_var_1D_TwoByteInt
1641
1642     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1643     integer                               :: numDims, counter
1644
1645     ! Set local arguments to default values
1646     numDims                 = size(shape(values))
1647     localStart (:         ) = 1
1648     localCount (:numDims  ) = shape(values)
1649     localCount (numDims+1:) = 1
1650     localStride(:         ) = 1
1651     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1652
1653     if(present(start))  localStart (:size(start) )  = start(:)
1654     if(present(count))  localCount (:size(count) )  = count(:)
1655     if(present(stride)) localStride(:size(stride)) = stride(:)
1656     if(present(map))  then
1657       localMap   (:size(map))    = map(:)
1658       nf90_get_var_1D_TwoByteInt = &
1659          nf_get_varm_int2(ncid, varid, localStart, localCount, localStride, localMap, values)
1660     else if(present(stride)) then
1661       nf90_get_var_1D_TwoByteInt = &
1662          nf_get_vars_int2(ncid, varid, localStart, localCount, localStride, values)
1663     else
1664       nf90_get_var_1D_TwoByteInt = &
1665          nf_get_vara_int2(ncid, varid, localStart, localCount, values)
1666     end if
1667   end function nf90_get_var_1D_TwoByteInt
1668
1669
1670   function nf90_get_var_2D_TwoByteInt(ncid, varid, values, start, count, stride, map)
1671     integer,                         intent( in) :: ncid, varid
1672     integer (kind = TwoByteInt), dimension(:, :), &
1673                                      intent(out) :: values
1674     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1675     integer                                      :: nf90_get_var_2D_TwoByteInt
1676
1677     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1678     integer                               :: numDims, counter
1679
1680     ! Set local arguments to default values
1681     numDims                 = size(shape(values))
1682     localStart (:         ) = 1
1683     localCount (:numDims  ) = shape(values)
1684     localCount (numDims+1:) = 1
1685     localStride(:         ) = 1
1686     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1687
1688     if(present(start))  localStart (:size(start) )  = start(:)
1689     if(present(count))  localCount (:size(count) )  = count(:)
1690     if(present(stride)) localStride(:size(stride)) = stride(:)
1691     if(present(map))  then
1692       localMap   (:size(map))    = map(:)
1693       nf90_get_var_2D_TwoByteInt = &
1694          nf_get_varm_int2(ncid, varid, localStart, localCount, localStride, localMap, values)
1695     else if(present(stride)) then
1696       nf90_get_var_2D_TwoByteInt = &
1697          nf_get_vars_int2(ncid, varid, localStart, localCount, localStride, values)
1698     else
1699       nf90_get_var_2D_TwoByteInt = &
1700          nf_get_vara_int2(ncid, varid, localStart, localCount, values)
1701     end if
1702   end function nf90_get_var_2D_TwoByteInt
1703
1704
1705   function nf90_get_var_3D_TwoByteInt(ncid, varid, values, start, count, stride, map)
1706     integer,                         intent( in) :: ncid, varid
1707     integer (kind = TwoByteInt), dimension(:, :, :), &
1708                                      intent(out) :: values
1709     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1710     integer                                      :: nf90_get_var_3D_TwoByteInt
1711
1712     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1713     integer                               :: numDims, counter
1714
1715     ! Set local arguments to default values
1716     numDims                 = size(shape(values))
1717     localStart (:         ) = 1
1718     localCount (:numDims  ) = shape(values)
1719     localCount (numDims+1:) = 1
1720     localStride(:         ) = 1
1721     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1722
1723     if(present(start))  localStart (:size(start) )  = start(:)
1724     if(present(count))  localCount (:size(count) )  = count(:)
1725     if(present(stride)) localStride(:size(stride)) = stride(:)
1726     if(present(map))  then
1727       localMap   (:size(map))    = map(:)
1728       nf90_get_var_3D_TwoByteInt = &
1729          nf_get_varm_int2(ncid, varid, localStart, localCount, localStride, localMap, values)
1730     else if(present(stride)) then
1731       nf90_get_var_3D_TwoByteInt = &
1732          nf_get_vars_int2(ncid, varid, localStart, localCount, localStride, values)
1733     else
1734       nf90_get_var_3D_TwoByteInt = &
1735          nf_get_vara_int2(ncid, varid, localStart, localCount, values)
1736     end if
1737   end function nf90_get_var_3D_TwoByteInt
1738
1739
1740   function nf90_get_var_4D_TwoByteInt(ncid, varid, values, start, count, stride, map)
1741     integer,                         intent( in) :: ncid, varid
1742     integer (kind = TwoByteInt), dimension(:, :, :, :), &
1743                                      intent(out) :: values
1744     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1745     integer                                      :: nf90_get_var_4D_TwoByteInt
1746
1747     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1748     integer                               :: numDims, counter
1749
1750     ! Set local arguments to default values
1751     numDims                 = size(shape(values))
1752     localStart (:         ) = 1
1753     localCount (:numDims  ) = shape(values)
1754     localCount (numDims+1:) = 1
1755     localStride(:         ) = 1
1756     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1757
1758     if(present(start))  localStart (:size(start) )  = start(:)
1759     if(present(count))  localCount (:size(count) )  = count(:)
1760     if(present(stride)) localStride(:size(stride)) = stride(:)
1761     if(present(map))  then
1762       localMap   (:size(map))    = map(:)
1763       nf90_get_var_4D_TwoByteInt = &
1764          nf_get_varm_int2(ncid, varid, localStart, localCount, localStride, localMap, values)
1765     else if(present(stride)) then
1766       nf90_get_var_4D_TwoByteInt = &
1767          nf_get_vars_int2(ncid, varid, localStart, localCount, localStride, values)
1768     else
1769       nf90_get_var_4D_TwoByteInt = &
1770          nf_get_vara_int2(ncid, varid, localStart, localCount, values)
1771     end if
1772   end function nf90_get_var_4D_TwoByteInt
1773
1774
1775   function nf90_get_var_5D_TwoByteInt(ncid, varid, values, start, count, stride, map)
1776     integer,                         intent( in) :: ncid, varid
1777     integer (kind = TwoByteInt), dimension(:, :, :, :, :), &
1778                                      intent(out) :: values
1779     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1780     integer                                      :: nf90_get_var_5D_TwoByteInt
1781
1782     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1783     integer                               :: numDims, counter
1784
1785     ! Set local arguments to default values
1786     numDims                 = size(shape(values))
1787     localStart (:         ) = 1
1788     localCount (:numDims  ) = shape(values)
1789     localCount (numDims+1:) = 1
1790     localStride(:         ) = 1
1791     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1792
1793     if(present(start))  localStart (:size(start) )  = start(:)
1794     if(present(count))  localCount (:size(count) )  = count(:)
1795     if(present(stride)) localStride(:size(stride)) = stride(:)
1796     if(present(map))  then
1797       localMap   (:size(map))    = map(:)
1798       nf90_get_var_5D_TwoByteInt = &
1799          nf_get_varm_int2(ncid, varid, localStart, localCount, localStride, localMap, values)
1800     else if(present(stride)) then
1801       nf90_get_var_5D_TwoByteInt = &
1802          nf_get_vars_int2(ncid, varid, localStart, localCount, localStride, values)
1803     else
1804       nf90_get_var_5D_TwoByteInt = &
1805          nf_get_vara_int2(ncid, varid, localStart, localCount, values)
1806     end if
1807   end function nf90_get_var_5D_TwoByteInt
1808
1809
1810   function nf90_get_var_6D_TwoByteInt(ncid, varid, values, start, count, stride, map)
1811     integer,                         intent( in) :: ncid, varid
1812     integer (kind = TwoByteInt), dimension(:, :, :, :, :, :), &
1813                                      intent(out) :: values
1814     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1815     integer                                      :: nf90_get_var_6D_TwoByteInt
1816
1817     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1818     integer                               :: numDims, counter
1819
1820     ! Set local arguments to default values
1821     numDims                 = size(shape(values))
1822     localStart (:         ) = 1
1823     localCount (:numDims  ) = shape(values)
1824     localCount (numDims+1:) = 1
1825     localStride(:         ) = 1
1826     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1827
1828     if(present(start))  localStart (:size(start) )  = start(:)
1829     if(present(count))  localCount (:size(count) )  = count(:)
1830     if(present(stride)) localStride(:size(stride)) = stride(:)
1831     if(present(map))  then
1832       localMap   (:size(map))    = map(:)
1833       nf90_get_var_6D_TwoByteInt = &
1834          nf_get_varm_int2(ncid, varid, localStart, localCount, localStride, localMap, values)
1835     else if(present(stride)) then
1836       nf90_get_var_6D_TwoByteInt = &
1837          nf_get_vars_int2(ncid, varid, localStart, localCount, localStride, values)
1838     else
1839       nf90_get_var_6D_TwoByteInt = &
1840          nf_get_vara_int2(ncid, varid, localStart, localCount, values)
1841     end if
1842   end function nf90_get_var_6D_TwoByteInt
1843
1844
1845   function nf90_get_var_7D_TwoByteInt(ncid, varid, values, start, count, stride, map)
1846     integer,                         intent( in) :: ncid, varid
1847     integer (kind = TwoByteInt), dimension(:, :, :, :, :, :, :), &
1848                                      intent(out) :: values
1849     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1850     integer                                      :: nf90_get_var_7D_TwoByteInt
1851
1852     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1853     integer                               :: numDims, counter
1854
1855     ! Set local arguments to default values
1856     numDims                 = size(shape(values))
1857     localStart (:         ) = 1
1858     localCount (:numDims  ) = shape(values)
1859     localCount (numDims+1:) = 1
1860     localStride(:         ) = 1
1861     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1862
1863     if(present(start))  localStart (:size(start) )  = start(:)
1864     if(present(count))  localCount (:size(count) )  = count(:)
1865     if(present(stride)) localStride(:size(stride)) = stride(:)
1866     if(present(map))  then
1867       localMap   (:size(map))    = map(:)
1868       nf90_get_var_7D_TwoByteInt = &
1869          nf_get_varm_int2(ncid, varid, localStart, localCount, localStride, localMap, values)
1870     else if(present(stride)) then
1871       nf90_get_var_7D_TwoByteInt = &
1872          nf_get_vars_int2(ncid, varid, localStart, localCount, localStride, values)
1873     else
1874       nf90_get_var_7D_TwoByteInt = &
1875          nf_get_vara_int2(ncid, varid, localStart, localCount, values)
1876     end if
1877   end function nf90_get_var_7D_TwoByteInt
1878
1879
1880   function nf90_get_var_1D_FourByteInt(ncid, varid, values, start, count, stride, map)
1881     integer,                         intent( in) :: ncid, varid
1882     integer (kind = FourByteInt), dimension(:), &
1883                                      intent(out) :: values
1884     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1885     integer                                      :: nf90_get_var_1D_FourByteInt
1886
1887     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1888     integer                               :: numDims, counter
1889     integer, dimension(size(values))      :: defaultIntArray
1890
1891     ! Set local arguments to default values
1892     numDims                 = size(shape(values))
1893     localStart (:         ) = 1
1894     localCount (:numDims  ) = shape(values)
1895     localCount (numDims+1:) = 1
1896     localStride(:         ) = 1
1897     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1898
1899     if(present(start))  localStart (:size(start) )  = start(:)
1900     if(present(count))  localCount (:size(count) )  = count(:)
1901     if(present(stride)) localStride(:size(stride)) = stride(:)
1902     if(present(map))  then
1903       localMap   (:size(map))    = map(:)
1904       nf90_get_var_1D_FourByteInt = &
1905          nf_get_varm_int(ncid, varid, localStart, localCount, localStride, localMap, defaultIntArray)
1906     else if(present(stride)) then
1907       nf90_get_var_1D_FourByteInt = &
1908          nf_get_vars_int(ncid, varid, localStart, localCount, localStride, defaultIntArray)
1909     else
1910       nf90_get_var_1D_FourByteInt = &
1911          nf_get_vara_int(ncid, varid, localStart, localCount, defaultIntArray)
1912     end if
1913     values(:) = reshape(defaultIntArray(:), shape(values))
1914   end function nf90_get_var_1D_FourByteInt
1915
1916
1917   function nf90_get_var_2D_FourByteInt(ncid, varid, values, start, count, stride, map)
1918     integer,                         intent( in) :: ncid, varid
1919     integer (kind = FourByteInt), dimension(:, :), &
1920                                      intent(out) :: values
1921     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1922     integer                                      :: nf90_get_var_2D_FourByteInt
1923
1924     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1925     integer                               :: numDims, counter
1926     integer, dimension(size(values))      :: defaultIntArray
1927
1928     ! Set local arguments to default values
1929     numDims                 = size(shape(values))
1930     localStart (:         ) = 1
1931     localCount (:numDims  ) = shape(values)
1932     localCount (numDims+1:) = 1
1933     localStride(:         ) = 1
1934     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1935
1936     if(present(start))  localStart (:size(start) )  = start(:)
1937     if(present(count))  localCount (:size(count) )  = count(:)
1938     if(present(stride)) localStride(:size(stride)) = stride(:)
1939     if(present(map))  then
1940       localMap   (:size(map))    = map(:)
1941       nf90_get_var_2D_FourByteInt = &
1942          nf_get_varm_int(ncid, varid, localStart, localCount, localStride, localMap, defaultIntArray)
1943     else if(present(stride)) then
1944       nf90_get_var_2D_FourByteInt = &
1945          nf_get_vars_int(ncid, varid, localStart, localCount, localStride, defaultIntArray)
1946     else
1947       nf90_get_var_2D_FourByteInt = &
1948          nf_get_vara_int(ncid, varid, localStart, localCount, defaultIntArray)
1949     end if
1950     values(:, :) = reshape(defaultIntArray(:), shape(values))
1951   end function nf90_get_var_2D_FourByteInt
1952
1953
1954   function nf90_get_var_3D_FourByteInt(ncid, varid, values, start, count, stride, map)
1955     integer,                         intent( in) :: ncid, varid
1956     integer (kind = FourByteInt), dimension(:, :, :), &
1957                                      intent(out) :: values
1958     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1959     integer                                      :: nf90_get_var_3D_FourByteInt
1960
1961     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1962     integer                               :: numDims, counter
1963     integer, dimension(size(values))      :: defaultIntArray
1964
1965     ! Set local arguments to default values
1966     numDims                 = size(shape(values))
1967     localStart (:         ) = 1
1968     localCount (:numDims  ) = shape(values)
1969     localCount (numDims+1:) = 1
1970     localStride(:         ) = 1
1971     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
1972
1973     if(present(start))  localStart (:size(start) )  = start(:)
1974     if(present(count))  localCount (:size(count) )  = count(:)
1975     if(present(stride)) localStride(:size(stride)) = stride(:)
1976     if(present(map))  then
1977       localMap   (:size(map))    = map(:)
1978       nf90_get_var_3D_FourByteInt = &
1979          nf_get_varm_int(ncid, varid, localStart, localCount, localStride, localMap, defaultIntArray)
1980     else if(present(stride)) then
1981       nf90_get_var_3D_FourByteInt = &
1982          nf_get_vars_int(ncid, varid, localStart, localCount, localStride, defaultIntArray)
1983     else
1984       nf90_get_var_3D_FourByteInt = &
1985          nf_get_vara_int(ncid, varid, localStart, localCount, defaultIntArray)
1986     end if
1987     values(:, :, :) = reshape(defaultIntArray(:), shape(values))
1988   end function nf90_get_var_3D_FourByteInt
1989
1990
1991   function nf90_get_var_4D_FourByteInt(ncid, varid, values, start, count, stride, map)
1992     integer,                         intent( in) :: ncid, varid
1993     integer (kind = FourByteInt), dimension(:, :, :, :), &
1994                                      intent(out) :: values
1995     integer, dimension(:), optional, intent( in) :: start, count, stride, map
1996     integer                                      :: nf90_get_var_4D_FourByteInt
1997
1998     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
1999     integer                               :: numDims, counter
2000     integer, dimension(size(values))      :: defaultIntArray
2001
2002     ! Set local arguments to default values
2003     numDims                 = size(shape(values))
2004     localStart (:         ) = 1
2005     localCount (:numDims  ) = shape(values)
2006     localCount (numDims+1:) = 1
2007     localStride(:         ) = 1
2008     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
2009
2010     if(present(start))  localStart (:size(start) )  = start(:)
2011     if(present(count))  localCount (:size(count) )  = count(:)
2012     if(present(stride)) localStride(:size(stride)) = stride(:)
2013     if(present(map))  then
2014       localMap   (:size(map))    = map(:)
2015       nf90_get_var_4D_FourByteInt = &
2016          nf_get_varm_int(ncid, varid, localStart, localCount, localStride, localMap, defaultIntArray)
2017     else if(present(stride)) then
2018       nf90_get_var_4D_FourByteInt = &
2019          nf_get_vars_int(ncid, varid, localStart, localCount, localStride, defaultIntArray)
2020     else
2021       nf90_get_var_4D_FourByteInt = &
2022          nf_get_vara_int(ncid, varid, localStart, localCount, defaultIntArray)
2023     end if
2024     values(:, :, :, :) = reshape(defaultIntArray(:), shape(values))
2025   end function nf90_get_var_4D_FourByteInt
2026
2027
2028   function nf90_get_var_5D_FourByteInt(ncid, varid, values, start, count, stride, map)
2029     integer,                         intent( in) :: ncid, varid
2030     integer (kind = FourByteInt), dimension(:, :, :, :, :), &
2031                                      intent(out) :: values
2032     integer, dimension(:), optional, intent( in) :: start, count, stride, map
2033     integer                                      :: nf90_get_var_5D_FourByteInt
2034
2035     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
2036     integer                               :: numDims, counter
2037     integer, dimension(size(values))      :: defaultIntArray
2038
2039     ! Set local arguments to default values
2040     numDims                 = size(shape(values))
2041     localStart (:         ) = 1
2042     localCount (:numDims  ) = shape(values)
2043     localCount (numDims+1:) = 1
2044     localStride(:         ) = 1
2045     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
2046
2047     if(present(start))  localStart (:size(start) )  = start(:)
2048     if(present(count))  localCount (:size(count) )  = count(:)
2049     if(present(stride)) localStride(:size(stride)) = stride(:)
2050     if(present(map))  then
2051       localMap   (:size(map))    = map(:)
2052       nf90_get_var_5D_FourByteInt = &
2053          nf_get_varm_int(ncid, varid, localStart, localCount, localStride, localMap, defaultIntArray)
2054     else if(present(stride)) then
2055       nf90_get_var_5D_FourByteInt = &
2056          nf_get_vars_int(ncid, varid, localStart, localCount, localStride, defaultIntArray)
2057     else
2058       nf90_get_var_5D_FourByteInt = &
2059          nf_get_vara_int(ncid, varid, localStart, localCount, defaultIntArray)
2060     end if
2061     values(:, :, :, :, :) = reshape(defaultIntArray(:), shape(values))
2062   end function nf90_get_var_5D_FourByteInt
2063
2064
2065   function nf90_get_var_6D_FourByteInt(ncid, varid, values, start, count, stride, map)
2066     integer,                         intent( in) :: ncid, varid
2067     integer (kind = FourByteInt), dimension(:, :, :, :, :, :), &
2068                                      intent(out) :: values
2069     integer, dimension(:), optional, intent( in) :: start, count, stride, map
2070     integer                                      :: nf90_get_var_6D_FourByteInt
2071
2072     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
2073     integer                               :: numDims, counter
2074     integer, dimension(size(values))      :: defaultIntArray
2075
2076     ! Set local arguments to default values
2077     numDims                 = size(shape(values))
2078     localStart (:         ) = 1
2079     localCount (:numDims  ) = shape(values)
2080     localCount (numDims+1:) = 1
2081     localStride(:         ) = 1
2082     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
2083
2084     if(present(start))  localStart (:size(start) )  = start(:)
2085     if(present(count))  localCount (:size(count) )  = count(:)
2086     if(present(stride)) localStride(:size(stride)) = stride(:)
2087     if(present(map))  then
2088       localMap   (:size(map))    = map(:)
2089       nf90_get_var_6D_FourByteInt = &
2090          nf_get_varm_int(ncid, varid, localStart, localCount, localStride, localMap, defaultIntArray)
2091     else if(present(stride)) then
2092       nf90_get_var_6D_FourByteInt = &
2093          nf_get_vars_int(ncid, varid, localStart, localCount, localStride, defaultIntArray)
2094     else
2095       nf90_get_var_6D_FourByteInt = &
2096          nf_get_vara_int(ncid, varid, localStart, localCount, defaultIntArray)
2097     end if
2098     values(:, :, :, :, :, :) = reshape(defaultIntArray(:), shape(values))
2099   end function nf90_get_var_6D_FourByteInt
2100
2101
2102   function nf90_get_var_7D_FourByteInt(ncid, varid, values, start, count, stride, map)
2103     integer,                         intent( in) :: ncid, varid
2104     integer (kind = FourByteInt), dimension(:, :, :, :, :, :, :), &
2105                                      intent(out) :: values
2106     integer, dimension(:), optional, intent( in) :: start, count, stride, map
2107     integer                                      :: nf90_get_var_7D_FourByteInt
2108
2109     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
2110     integer                               :: numDims, counter
2111     integer, dimension(size(values))      :: defaultIntArray
2112
2113     ! Set local arguments to default values
2114     numDims                 = size(shape(values))
2115     localStart (:         ) = 1
2116     localCount (:numDims  ) = shape(values)
2117     localCount (numDims+1:) = 1
2118     localStride(:         ) = 1
2119     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
2120
2121     if(present(start))  localStart (:size(start) )  = start(:)
2122     if(present(count))  localCount (:size(count) )  = count(:)
2123     if(present(stride)) localStride(:size(stride)) = stride(:)
2124     if(present(map))  then
2125       localMap   (:size(map))    = map(:)
2126       nf90_get_var_7D_FourByteInt = &
2127          nf_get_varm_int(ncid, varid, localStart, localCount, localStride, localMap, defaultIntArray)
2128     else if(present(stride)) then
2129       nf90_get_var_7D_FourByteInt = &
2130          nf_get_vars_int(ncid, varid, localStart, localCount, localStride, defaultIntArray)
2131     else
2132       nf90_get_var_7D_FourByteInt = &
2133          nf_get_vara_int(ncid, varid, localStart, localCount, defaultIntArray)
2134     end if
2135     values(:, :, :, :, :, :, :) = reshape(defaultIntArray(:), shape(values))
2136   end function nf90_get_var_7D_FourByteInt
2137
2138
2139   function nf90_get_var_1D_FourByteReal(ncid, varid, values, start, count, stride, map)
2140     integer,                         intent( in) :: ncid, varid
2141     real (kind = FourByteReal), dimension(:), &
2142                                      intent(out) :: values
2143     integer, dimension(:), optional, intent( in) :: start, count, stride, map
2144     integer                                      :: nf90_get_var_1D_FourByteReal
2145
2146     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
2147     integer                               :: numDims, counter
2148
2149     ! Set local arguments to default values
2150     numDims                 = size(shape(values))
2151     localStart (:         ) = 1
2152     localCount (:numDims  ) = shape(values)
2153     localCount (numDims+1:) = 1
2154     localStride(:         ) = 1
2155     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
2156
2157     if(present(start))  localStart (:size(start) )  = start(:)
2158     if(present(count))  localCount (:size(count) )  = count(:)
2159     if(present(stride)) localStride(:size(stride)) = stride(:)
2160     if(present(map))  then
2161       localMap   (:size(map))    = map(:)
2162       nf90_get_var_1D_FourByteReal = &
2163          nf_get_varm_real(ncid, varid, localStart, localCount, localStride, localMap, values)
2164     else if(present(stride)) then
2165       nf90_get_var_1D_FourByteReal = &
2166          nf_get_vars_real(ncid, varid, localStart, localCount, localStride, values)
2167     else
2168       nf90_get_var_1D_FourByteReal = &
2169          nf_get_vara_real(ncid, varid, localStart, localCount, values)
2170     end if
2171   end function nf90_get_var_1D_FourByteReal
2172
2173
2174   function nf90_get_var_2D_FourByteReal(ncid, varid, values, start, count, stride, map)
2175     integer,                         intent( in) :: ncid, varid
2176     real (kind = FourByteReal), dimension(:, :), &
2177                                      intent(out) :: values
2178     integer, dimension(:), optional, intent( in) :: start, count, stride, map
2179     integer                                      :: nf90_get_var_2D_FourByteReal
2180
2181     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
2182     integer                               :: numDims, counter
2183
2184     ! Set local arguments to default values
2185     numDims                 = size(shape(values))
2186     localStart (:         ) = 1
2187     localCount (:numDims  ) = shape(values)
2188     localCount (numDims+1:) = 1
2189     localStride(:         ) = 1
2190     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
2191
2192     if(present(start))  localStart (:size(start) )  = start(:)
2193     if(present(count))  localCount (:size(count) )  = count(:)
2194     if(present(stride)) localStride(:size(stride)) = stride(:)
2195     if(present(map))  then
2196       localMap   (:size(map))    = map(:)
2197       nf90_get_var_2D_FourByteReal = &
2198          nf_get_varm_real(ncid, varid, localStart, localCount, localStride, localMap, values)
2199     else if(present(stride)) then
2200       nf90_get_var_2D_FourByteReal = &
2201          nf_get_vars_real(ncid, varid, localStart, localCount, localStride, values)
2202     else
2203       nf90_get_var_2D_FourByteReal = &
2204          nf_get_vara_real(ncid, varid, localStart, localCount, values)
2205     end if
2206   end function nf90_get_var_2D_FourByteReal
2207
2208
2209   function nf90_get_var_3D_FourByteReal(ncid, varid, values, start, count, stride, map)
2210     integer,                         intent( in) :: ncid, varid
2211     real (kind = FourByteReal), dimension(:, :, :), &
2212                                      intent(out) :: values
2213     integer, dimension(:), optional, intent( in) :: start, count, stride, map
2214     integer                                      :: nf90_get_var_3D_FourByteReal
2215
2216     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
2217     integer                               :: numDims, counter
2218
2219     ! Set local arguments to default values
2220     numDims                 = size(shape(values))
2221     localStart (:         ) = 1
2222     localCount (:numDims  ) = shape(values)
2223     localCount (numDims+1:) = 1
2224     localStride(:         ) = 1
2225     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
2226
2227     if(present(start))  localStart (:size(start) )  = start(:)
2228     if(present(count))  localCount (:size(count) )  = count(:)
2229     if(present(stride)) localStride(:size(stride)) = stride(:)
2230     if(present(map))  then
2231       localMap   (:size(map))    = map(:)
2232       nf90_get_var_3D_FourByteReal = &
2233          nf_get_varm_real(ncid, varid, localStart, localCount, localStride, localMap, values)
2234     else if(present(stride)) then
2235       nf90_get_var_3D_FourByteReal = &
2236          nf_get_vars_real(ncid, varid, localStart, localCount, localStride, values)
2237     else
2238       nf90_get_var_3D_FourByteReal = &
2239          nf_get_vara_real(ncid, varid, localStart, localCount, values)
2240     end if
2241   end function nf90_get_var_3D_FourByteReal
2242
2243
2244   function nf90_get_var_4D_FourByteReal(ncid, varid, values, start, count, stride, map)
2245     integer,                         intent( in) :: ncid, varid
2246     real (kind = FourByteReal), dimension(:, :, :, :), &
2247                                      intent(out) :: values
2248     integer, dimension(:), optional, intent( in) :: start, count, stride, map
2249     integer                                      :: nf90_get_var_4D_FourByteReal
2250
2251     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
2252     integer                               :: numDims, counter
2253
2254     ! Set local arguments to default values
2255     numDims                 = size(shape(values))
2256     localStart (:         ) = 1
2257     localCount (:numDims  ) = shape(values)
2258     localCount (numDims+1:) = 1
2259     localStride(:         ) = 1
2260     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
2261
2262     if(present(start))  localStart (:size(start) )  = start(:)
2263     if(present(count))  localCount (:size(count) )  = count(:)
2264     if(present(stride)) localStride(:size(stride)) = stride(:)
2265     if(present(map))  then
2266       localMap   (:size(map))    = map(:)
2267       nf90_get_var_4D_FourByteReal = &
2268          nf_get_varm_real(ncid, varid, localStart, localCount, localStride, localMap, values)
2269     else if(present(stride)) then
2270       nf90_get_var_4D_FourByteReal = &
2271          nf_get_vars_real(ncid, varid, localStart, localCount, localStride, values)
2272     else
2273       nf90_get_var_4D_FourByteReal = &
2274          nf_get_vara_real(ncid, varid, localStart, localCount, values)
2275     end if
2276   end function nf90_get_var_4D_FourByteReal
2277
2278
2279   function nf90_get_var_5D_FourByteReal(ncid, varid, values, start, count, stride, map)
2280     integer,                         intent( in) :: ncid, varid
2281     real (kind = FourByteReal), dimension(:, :, :, :, :), &
2282                                      intent(out) :: values
2283     integer, dimension(:), optional, intent( in) :: start, count, stride, map
2284     integer                                      :: nf90_get_var_5D_FourByteReal
2285
2286     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
2287     integer                               :: numDims, counter
2288
2289     ! Set local arguments to default values
2290     numDims                 = size(shape(values))
2291     localStart (:         ) = 1
2292     localCount (:numDims  ) = shape(values)
2293     localCount (numDims+1:) = 1
2294     localStride(:         ) = 1
2295     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
2296
2297     if(present(start))  localStart (:size(start) )  = start(:)
2298     if(present(count))  localCount (:size(count) )  = count(:)
2299     if(present(stride)) localStride(:size(stride)) = stride(:)
2300     if(present(map))  then
2301       localMap   (:size(map))    = map(:)
2302       nf90_get_var_5D_FourByteReal = &
2303          nf_get_varm_real(ncid, varid, localStart, localCount, localStride, localMap, values)
2304     else if(present(stride)) then
2305       nf90_get_var_5D_FourByteReal = &
2306          nf_get_vars_real(ncid, varid, localStart, localCount, localStride, values)
2307     else
2308       nf90_get_var_5D_FourByteReal = &
2309          nf_get_vara_real(ncid, varid, localStart, localCount, values)
2310     end if
2311   end function nf90_get_var_5D_FourByteReal
2312
2313
2314   function nf90_get_var_6D_FourByteReal(ncid, varid, values, start, count, stride, map)
2315     integer,                         intent( in) :: ncid, varid
2316     real (kind = FourByteReal), dimension(:, :, :, :, :, :), &
2317                                      intent(out) :: values
2318     integer, dimension(:), optional, intent( in) :: start, count, stride, map
2319     integer                                      :: nf90_get_var_6D_FourByteReal
2320
2321     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
2322     integer                               :: numDims, counter
2323
2324     ! Set local arguments to default values
2325     numDims                 = size(shape(values))
2326     localStart (:         ) = 1
2327     localCount (:numDims  ) = shape(values)
2328     localCount (numDims+1:) = 1
2329     localStride(:         ) = 1
2330     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
2331
2332     if(present(start))  localStart (:size(start) )  = start(:)
2333     if(present(count))  localCount (:size(count) )  = count(:)
2334     if(present(stride)) localStride(:size(stride)) = stride(:)
2335     if(present(map))  then
2336       localMap   (:size(map))    = map(:)
2337       nf90_get_var_6D_FourByteReal = &
2338          nf_get_varm_real(ncid, varid, localStart, localCount, localStride, localMap, values)
2339     else if(present(stride)) then
2340       nf90_get_var_6D_FourByteReal = &
2341          nf_get_vars_real(ncid, varid, localStart, localCount, localStride, values)
2342     else
2343       nf90_get_var_6D_FourByteReal = &
2344          nf_get_vara_real(ncid, varid, localStart, localCount, values)
2345     end if
2346   end function nf90_get_var_6D_FourByteReal
2347
2348
2349   function nf90_get_var_7D_FourByteReal(ncid, varid, values, start, count, stride, map)
2350     integer,                         intent( in) :: ncid, varid
2351     real (kind = FourByteReal), dimension(:, :, :, :, :, :, :), &
2352                                      intent(out) :: values
2353     integer, dimension(:), optional, intent( in) :: start, count, stride, map
2354     integer                                      :: nf90_get_var_7D_FourByteReal
2355
2356     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
2357     integer                               :: numDims, counter
2358
2359     ! Set local arguments to default values
2360     numDims                 = size(shape(values))
2361     localStart (:         ) = 1
2362     localCount (:numDims  ) = shape(values)
2363     localCount (numDims+1:) = 1
2364     localStride(:         ) = 1
2365     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
2366
2367     if(present(start))  localStart (:size(start) )  = start(:)
2368     if(present(count))  localCount (:size(count) )  = count(:)
2369     if(present(stride)) localStride(:size(stride)) = stride(:)
2370     if(present(map))  then
2371       localMap   (:size(map))    = map(:)
2372       nf90_get_var_7D_FourByteReal = &
2373          nf_get_varm_real(ncid, varid, localStart, localCount, localStride, localMap, values)
2374     else if(present(stride)) then
2375       nf90_get_var_7D_FourByteReal = &
2376          nf_get_vars_real(ncid, varid, localStart, localCount, localStride, values)
2377     else
2378       nf90_get_var_7D_FourByteReal = &
2379          nf_get_vara_real(ncid, varid, localStart, localCount, values)
2380     end if
2381   end function nf90_get_var_7D_FourByteReal
2382
2383
2384   function nf90_get_var_1D_EightByteReal(ncid, varid, values, start, count, stride, map)
2385     integer,                         intent( in) :: ncid, varid
2386     real (kind = EightByteReal), dimension(:), &
2387                                      intent(out) :: values
2388     integer, dimension(:), optional, intent( in) :: start, count, stride, map
2389     integer                                      :: nf90_get_var_1D_EightByteReal
2390
2391     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
2392     integer                               :: numDims, counter
2393
2394     ! Set local arguments to default values
2395     numDims                 = size(shape(values))
2396     localStart (:         ) = 1
2397     localCount (:numDims  ) = shape(values)
2398     localCount (numDims+1:) = 1
2399     localStride(:         ) = 1
2400     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
2401
2402     if(present(start))  localStart (:size(start) )  = start(:)
2403     if(present(count))  localCount (:size(count) )  = count(:)
2404     if(present(stride)) localStride(:size(stride)) = stride(:)
2405     if(present(map))  then
2406       localMap   (:size(map))    = map(:)
2407       nf90_get_var_1D_EightByteReal = &
2408          nf_get_varm_double(ncid, varid, localStart, localCount, localStride, localMap, values)
2409     else if(present(stride)) then
2410       nf90_get_var_1D_EightByteReal = &
2411          nf_get_vars_double(ncid, varid, localStart, localCount, localStride, values)
2412     else
2413       nf90_get_var_1D_EightByteReal = &
2414          nf_get_vara_double(ncid, varid, localStart, localCount, values)
2415     end if
2416   end function nf90_get_var_1D_EightByteReal
2417
2418
2419   function nf90_get_var_2D_EightByteReal(ncid, varid, values, start, count, stride, map)
2420     integer,                         intent( in) :: ncid, varid
2421     real (kind = EightByteReal), dimension(:, :), &
2422                                      intent(out) :: values
2423     integer, dimension(:), optional, intent( in) :: start, count, stride, map
2424     integer                                      :: nf90_get_var_2D_EightByteReal
2425
2426     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
2427     integer                               :: numDims, counter
2428
2429     ! Set local arguments to default values
2430     numDims                 = size(shape(values))
2431     localStart (:         ) = 1
2432     localCount (:numDims  ) = shape(values)
2433     localCount (numDims+1:) = 1
2434     localStride(:         ) = 1
2435     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
2436
2437     if(present(start))  localStart (:size(start) )  = start(:)
2438     if(present(count))  localCount (:size(count) )  = count(:)
2439     if(present(stride)) localStride(:size(stride)) = stride(:)
2440     if(present(map))  then
2441       localMap   (:size(map))    = map(:)
2442       nf90_get_var_2D_EightByteReal = &
2443          nf_get_varm_double(ncid, varid, localStart, localCount, localStride, localMap, values)
2444     else if(present(stride)) then
2445       nf90_get_var_2D_EightByteReal = &
2446          nf_get_vars_double(ncid, varid, localStart, localCount, localStride, values)
2447     else
2448       nf90_get_var_2D_EightByteReal = &
2449          nf_get_vara_double(ncid, varid, localStart, localCount, values)
2450     end if
2451   end function nf90_get_var_2D_EightByteReal
2452
2453
2454   function nf90_get_var_3D_EightByteReal(ncid, varid, values, start, count, stride, map)
2455     integer,                         intent( in) :: ncid, varid
2456     real (kind = EightByteReal), dimension(:, :, :), &
2457                                      intent(out) :: values
2458     integer, dimension(:), optional, intent( in) :: start, count, stride, map
2459     integer                                      :: nf90_get_var_3D_EightByteReal
2460
2461     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
2462     integer                               :: numDims, counter
2463
2464     ! Set local arguments to default values
2465     numDims                 = size(shape(values))
2466     localStart (:         ) = 1
2467     localCount (:numDims  ) = shape(values)
2468     localCount (numDims+1:) = 1
2469     localStride(:         ) = 1
2470     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
2471
2472     if(present(start))  localStart (:size(start) )  = start(:)
2473     if(present(count))  localCount (:size(count) )  = count(:)
2474     if(present(stride)) localStride(:size(stride)) = stride(:)
2475     if(present(map))  then
2476       localMap   (:size(map))    = map(:)
2477       nf90_get_var_3D_EightByteReal = &
2478          nf_get_varm_double(ncid, varid, localStart, localCount, localStride, localMap, values)
2479     else if(present(stride)) then
2480       nf90_get_var_3D_EightByteReal = &
2481          nf_get_vars_double(ncid, varid, localStart, localCount, localStride, values)
2482     else
2483       nf90_get_var_3D_EightByteReal = &
2484          nf_get_vara_double(ncid, varid, localStart, localCount, values)
2485     end if
2486   end function nf90_get_var_3D_EightByteReal
2487
2488
2489   function nf90_get_var_4D_EightByteReal(ncid, varid, values, start, count, stride, map)
2490     integer,                         intent( in) :: ncid, varid
2491     real (kind = EightByteReal), dimension(:, :, :, :), &
2492                                      intent(out) :: values
2493     integer, dimension(:), optional, intent( in) :: start, count, stride, map
2494     integer                                      :: nf90_get_var_4D_EightByteReal
2495
2496     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
2497     integer                               :: numDims, counter
2498
2499     ! Set local arguments to default values
2500     numDims                 = size(shape(values))
2501     localStart (:         ) = 1
2502     localCount (:numDims  ) = shape(values)
2503     localCount (numDims+1:) = 1
2504     localStride(:         ) = 1
2505     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
2506
2507     if(present(start))  localStart (:size(start) )  = start(:)
2508     if(present(count))  localCount (:size(count) )  = count(:)
2509     if(present(stride)) localStride(:size(stride)) = stride(:)
2510     if(present(map))  then
2511       localMap   (:size(map))    = map(:)
2512       nf90_get_var_4D_EightByteReal = &
2513          nf_get_varm_double(ncid, varid, localStart, localCount, localStride, localMap, values)
2514     else if(present(stride)) then
2515       nf90_get_var_4D_EightByteReal = &
2516          nf_get_vars_double(ncid, varid, localStart, localCount, localStride, values)
2517     else
2518       nf90_get_var_4D_EightByteReal = &
2519          nf_get_vara_double(ncid, varid, localStart, localCount, values)
2520     end if
2521   end function nf90_get_var_4D_EightByteReal
2522
2523
2524   function nf90_get_var_5D_EightByteReal(ncid, varid, values, start, count, stride, map)
2525     integer,                         intent( in) :: ncid, varid
2526     real (kind = EightByteReal), dimension(:, :, :, :, :), &
2527                                      intent(out) :: values
2528     integer, dimension(:), optional, intent( in) :: start, count, stride, map
2529     integer                                      :: nf90_get_var_5D_EightByteReal
2530
2531     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
2532     integer                               :: numDims, counter
2533
2534     ! Set local arguments to default values
2535     numDims                 = size(shape(values))
2536     localStart (:         ) = 1
2537     localCount (:numDims  ) = shape(values)
2538     localCount (numDims+1:) = 1
2539     localStride(:         ) = 1
2540     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
2541
2542     if(present(start))  localStart (:size(start) )  = start(:)
2543     if(present(count))  localCount (:size(count) )  = count(:)
2544     if(present(stride)) localStride(:size(stride)) = stride(:)
2545     if(present(map))  then
2546       localMap   (:size(map))    = map(:)
2547       nf90_get_var_5D_EightByteReal = &
2548          nf_get_varm_double(ncid, varid, localStart, localCount, localStride, localMap, values)
2549     else if(present(stride)) then
2550       nf90_get_var_5D_EightByteReal = &
2551          nf_get_vars_double(ncid, varid, localStart, localCount, localStride, values)
2552     else
2553       nf90_get_var_5D_EightByteReal = &
2554          nf_get_vara_double(ncid, varid, localStart, localCount, values)
2555     end if
2556   end function nf90_get_var_5D_EightByteReal
2557
2558
2559   function nf90_get_var_6D_EightByteReal(ncid, varid, values, start, count, stride, map)
2560     integer,                         intent( in) :: ncid, varid
2561     real (kind = EightByteReal), dimension(:, :, :, :, :, :), &
2562                                      intent(out) :: values
2563     integer, dimension(:), optional, intent( in) :: start, count, stride, map
2564     integer                                      :: nf90_get_var_6D_EightByteReal
2565
2566     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
2567     integer                               :: numDims, counter
2568
2569     ! Set local arguments to default values
2570     numDims                 = size(shape(values))
2571     localStart (:         ) = 1
2572     localCount (:numDims  ) = shape(values)
2573     localCount (numDims+1:) = 1
2574     localStride(:         ) = 1
2575     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
2576
2577     if(present(start))  localStart (:size(start) )  = start(:)
2578     if(present(count))  localCount (:size(count) )  = count(:)
2579     if(present(stride)) localStride(:size(stride)) = stride(:)
2580     if(present(map))  then
2581       localMap   (:size(map))    = map(:)
2582       nf90_get_var_6D_EightByteReal = &
2583          nf_get_varm_double(ncid, varid, localStart, localCount, localStride, localMap, values)
2584     else if(present(stride)) then
2585       nf90_get_var_6D_EightByteReal = &
2586          nf_get_vars_double(ncid, varid, localStart, localCount, localStride, values)
2587     else
2588       nf90_get_var_6D_EightByteReal = &
2589          nf_get_vara_double(ncid, varid, localStart, localCount, values)
2590     end if
2591   end function nf90_get_var_6D_EightByteReal
2592
2593
2594   function nf90_get_var_7D_EightByteReal(ncid, varid, values, start, count, stride, map)
2595     integer,                         intent( in) :: ncid, varid
2596     real (kind = EightByteReal), dimension(:, :, :, :, :, :, :), &
2597                                      intent(out) :: values
2598     integer, dimension(:), optional, intent( in) :: start, count, stride, map
2599     integer                                      :: nf90_get_var_7D_EightByteReal
2600
2601     integer, dimension(nf90_max_var_dims) :: localStart, localCount, localStride, localMap
2602     integer                               :: numDims, counter
2603
2604     ! Set local arguments to default values
2605     numDims                 = size(shape(values))
2606     localStart (:         ) = 1
2607     localCount (:numDims  ) = shape(values)
2608     localCount (numDims+1:) = 1
2609     localStride(:         ) = 1
2610     localMap   (:numDims  ) = (/ 1, (product(localCount(:counter)), counter = 1, numDims - 1) /)
2611
2612     if(present(start))  localStart (:size(start) )  = start(:)
2613     if(present(count))  localCount (:size(count) )  = count(:)
2614     if(present(stride)) localStride(:size(stride)) = stride(:)
2615     if(present(map))  then
2616       localMap   (:size(map))    = map(:)
2617       nf90_get_var_7D_EightByteReal = &
2618          nf_get_varm_double(ncid, varid, localStart, localCount, localStride, localMap, values)
2619     else if(present(stride)) then
2620       nf90_get_var_7D_EightByteReal = &
2621          nf_get_vars_double(ncid, varid, localStart, localCount, localStride, values)
2622     else
2623       nf90_get_var_7D_EightByteReal = &
2624          nf_get_vara_double(ncid, varid, localStart, localCount, values)
2625     end if
2626   end function nf90_get_var_7D_EightByteReal
2627
2628
2629