Soil Water Balance (SWB2)
Loading...
Searching...
No Matches
netcdf_c_api_interfaces.F90
Go to the documentation of this file.
1
!> @file
2
!> This module provides Fortran interfaces to the NetCDF C API.
3
4
!> Provides Fortran interfaces to the NetCDF C API. This approach
5
!> is much more straightforward than using the old Fortran 90 NetCDF interface,
6
!> which was built on top of the Fortran 77 interface, which (finally) was
7
!> built atop the C interface.
8
!>
9
!> @note
10
!> old interface code didn't take advantage of the iso_c_binding types
11
!> c_size_t or c_prtdiff_t, but rather used pointers (type c_ptr) to
12
!> pass by reference. This appears to be unneccessary:
13
14
! interface
15
! function nc_get_vars_short(ncid, varid, startp, countp, stridep, vars) bind(c)
16
!
17
! import :: c_int, c_ptr, c_short, c_size_t
18
!
19
! integer (c_int), value :: ncid, varid
20
!
21
! integer (c_size_t) :: startp(*)
22
! integer (c_size_t) :: countp(*)
23
! integer (c_size_t) :: stridep(*)
24
25
!!! type (c_ptr), value :: startp
26
!!! type (c_ptr), value :: countp
27
!!! type (c_ptr), value :: stridep
28
! integer (c_short), intent(out) :: vars(*)
29
30
! integer (c_int) :: nc_get_vars_short
31
32
! end function nc_get_vars_short
33
! end interface
34
!>
35
!> @todo
36
!> change "type (c_ptr), value" entries to "integer (c_size_t)"
37
!> or similar, depending on the size of the integer declared in the
38
!> C code
39
40
module
netcdf_c_api_interfaces
41
42
use
iso_c_binding
43
44
implicit none
45
46
! supply apparently missing parameter values from Intel implementation of ISO_C_BINDING
47
!#ifdef __INTEL_COMPILER
48
! integer, parameter :: c_size_t = 8
49
! integer, parameter :: c_diff_t = 8
50
!#endif
51
52
interface
53
function
nc_create
(path, cmode, ncidp)
bind(c)
54
55
import
:: c_char, c_int
56
57
character (c_char)
,
intent(in)
:: path(*)
58
integer (c_int)
,
value
:: cmode
59
integer (c_int)
,
intent(out)
:: ncidp
60
61
integer (c_int)
::
nc_create
62
63
end function
nc_create
64
end interface
65
66
interface
67
function
nc_def_var_deflate
(ncid, varid, shuffle, deflate, deflate_level)
bind(c)
68
69
import
:: c_int
70
71
integer (c_int)
,
value
:: ncid
72
integer (c_int)
,
value
:: varid
73
integer (c_int)
,
value
:: shuffle
74
integer (c_int)
,
value
:: deflate
75
integer (c_int)
,
value
:: deflate_level
76
77
integer (c_int)
::
nc_def_var_deflate
78
79
end function
nc_def_var_deflate
80
end interface
81
82
interface
83
function
nc_def_var
(ncid, name, xtype, ndims, dimidsp, varidp)
bind(c)
84
85
import
:: c_int, c_char
86
87
integer (c_int)
,
value
:: ncid
88
character (c_char)
,
intent(in)
:: name(*)
89
integer (c_int)
,
value
:: xtype
90
integer (c_int)
,
value
:: ndims
91
integer (c_int)
,
intent(in)
:: dimidsp(*)
92
integer (c_int)
,
intent(out)
:: varidp
93
94
integer (c_int)
::
nc_def_var
95
96
end function
nc_def_var
97
end interface
98
99
interface
100
function
nc_def_dim
(ncid, name, lenv, dimidp)
bind(c)
101
102
import
:: c_int, c_size_t, c_char
103
104
integer (c_int)
,
value
:: ncid
105
character (c_char)
,
intent(in)
:: name(*)
106
integer (c_size_t)
,
value
:: lenv
107
integer (c_int)
,
intent(out)
:: dimidp
108
109
integer (c_int)
::
nc_def_dim
110
111
end function
nc_def_dim
112
end interface
113
114
interface
115
function
nc_enddef
(ncid)
bind(c)
116
117
import
:: c_int
118
119
integer (c_int)
,
value
:: ncid
120
121
integer (c_int)
::
nc_enddef
122
123
end function
nc_enddef
124
end interface
125
126
127
interface
128
function
nc_redef
(ncid)
bind(c)
129
130
import
:: c_int
131
132
integer (c_int)
,
value
:: ncid
133
134
integer (c_int)
::
nc_redef
135
136
end function
nc_redef
137
end interface
138
139
140
interface
141
function
nc_get_var_short
(ncid, varid, sp)
bind(c)
142
143
import
:: c_int, c_short
144
145
integer (c_int)
,
value
:: ncid, varid
146
integer (c_short)
,
intent(out)
:: sp(*)
147
148
integer (c_int)
::
nc_get_var_short
149
150
end function
nc_get_var_short
151
end interface
152
153
interface
154
function
nc_put_var_short
(ncid, varid, sp)
bind(c)
155
156
import
:: c_int, c_short
157
158
integer (c_int)
,
value
:: ncid, varid
159
integer (c_short)
,
intent(in)
:: sp(*)
160
161
integer (c_int)
::
nc_put_var_short
162
163
end function
nc_put_var_short
164
end interface
165
166
167
interface
168
function
nc_get_var_int
(ncid, varid, ip)
bind(c)
169
170
import
:: c_int
171
172
integer (c_int)
,
value
:: ncid, varid
173
integer (c_int)
,
intent(out)
:: ip(*)
174
175
integer (c_int)
::
nc_get_var_int
176
177
end function
nc_get_var_int
178
end interface
179
180
interface
181
function
nc_put_var_int
(ncid, varid, ip)
bind(c)
182
183
import
:: c_int
184
185
integer (c_int)
,
value
:: ncid, varid
186
integer (c_int)
,
intent(in)
:: ip(*)
187
188
integer (c_int)
::
nc_put_var_int
189
190
end function
nc_put_var_int
191
end interface
192
193
194
interface
195
function
nc_get_var_float
(ncid, varid, rp)
bind(c)
196
197
import
:: c_int, c_float
198
199
integer (c_int)
,
value
:: ncid, varid
200
real
(c_float),
intent(out)
:: rp(*)
201
202
integer (c_int)
::
nc_get_var_float
203
204
end function
nc_get_var_float
205
end interface
206
207
interface
208
function
nc_put_var_float
(ncid, varid, rp)
bind(c)
209
210
import
:: c_int, c_float
211
212
integer (c_int)
,
value
:: ncid, varid
213
real
(c_float),
intent(in)
:: rp(*)
214
215
integer (c_int)
::
nc_put_var_float
216
217
end function
nc_put_var_float
218
end interface
219
220
221
interface
222
function
nc_get_var_double
(ncid, varid, dp)
bind(c)
223
224
import
:: c_int, c_double
225
226
integer (c_int)
,
value
:: ncid, varid
227
real
(c_double),
intent(out)
:: dp(*)
228
229
integer (c_int)
::
nc_get_var_double
230
231
end function
nc_get_var_double
232
end interface
233
234
interface
235
function
nc_put_var_double
(ncid, varid, dp)
bind(c)
236
237
import
:: c_int, c_double
238
239
integer (c_int)
,
value
:: ncid, varid
240
real
(c_double),
intent(in)
:: dp(*)
241
242
integer (c_int)
::
nc_put_var_double
243
244
end function
nc_put_var_double
245
end interface
246
247
248
interface
249
function
nc_get_vars_short
(ncid, varid, startp, countp, stridep, vars)
bind(c)
250
251
import
:: c_int, c_ptr, c_short, c_size_t
252
253
integer (c_int)
,
value
:: ncid, varid
254
255
integer (c_size_t)
:: startp(*)
256
integer (c_size_t)
:: countp(*)
257
integer (c_size_t)
:: stridep(*)
258
259
! type (c_ptr), value :: startp
260
! type (c_ptr), value :: countp
261
! type (c_ptr), value :: stridep
262
integer (c_short)
,
intent(out)
:: vars(*)
263
264
integer (c_int)
::
nc_get_vars_short
265
266
end function
nc_get_vars_short
267
end interface
268
269
interface
270
function
nc_put_vars_short
(ncid, varid, startp, countp, stridep, vars)
bind(c)
271
272
import
:: c_int, c_size_t, c_short
273
274
integer (c_int)
,
value
:: ncid, varid
275
! type(c_ptr), value :: startp, countp, stridep
276
integer (c_size_t)
:: startp(*)
277
integer (c_size_t)
:: countp(*)
278
integer (c_size_t)
:: stridep(*)
279
280
integer (c_short)
,
intent(in)
:: vars(*)
281
282
integer (c_int)
::
nc_put_vars_short
283
284
end function
nc_put_vars_short
285
end interface
286
287
288
interface
289
function
nc_get_vars_int
(ncid, varid, startp, countp, stridep, vars)
bind(c)
290
291
import
:: c_int, c_size_t
292
293
integer (c_int)
,
value
:: ncid, varid
294
! type (c_ptr), value :: startp
295
! type (c_ptr), value :: countp
296
! type (c_ptr), value :: stridep
297
integer (c_size_t)
:: startp(*)
298
integer (c_size_t)
:: countp(*)
299
integer (c_size_t)
:: stridep(*)
300
301
integer (c_int)
,
intent(out)
:: vars(*)
302
303
integer (c_int)
::
nc_get_vars_int
304
305
end function
nc_get_vars_int
306
end interface
307
308
interface
309
function
nc_put_vars_int
(ncid, varid, startp, countp, stridep, vars)
bind(c)
310
311
import
:: c_int, c_size_t
312
313
integer (c_int)
,
value
:: ncid, varid
314
! type (c_ptr), value :: startp, countp, stridep
315
integer (c_size_t)
:: startp(*)
316
integer (c_size_t)
:: countp(*)
317
integer (c_size_t)
:: stridep(*)
318
319
integer (c_int)
,
intent(in)
:: vars(*)
320
321
integer (c_int)
::
nc_put_vars_int
322
323
end function
nc_put_vars_int
324
end interface
325
326
327
328
329
interface
330
function
nc_get_vars_float
(ncid, varid, startp, countp, stridep, vars)
bind(c)
331
332
import
:: c_int, c_size_t, c_float
333
334
integer (c_int)
,
value
:: ncid, varid
335
! type (c_ptr), value :: startp
336
! type (c_ptr), value :: countp
337
! type (c_ptr), value :: stridep
338
339
integer (c_size_t)
:: startp(*)
340
integer (c_size_t)
:: countp(*)
341
integer (c_size_t)
:: stridep(*)
342
343
real
(c_float),
intent(out)
:: vars(*)
344
345
integer (c_int)
::
nc_get_vars_float
346
347
end function
nc_get_vars_float
348
end interface
349
350
interface
351
function
nc_put_vars_float
(ncid, varid, startp, countp, stridep, vars)
bind(c)
352
353
import
:: c_int, c_float, c_size_t
354
355
integer (c_int)
,
value
:: ncid, varid
356
! type(c_ptr), value :: startp, countp, stridep
357
integer (c_size_t)
:: startp(*)
358
integer (c_size_t)
:: countp(*)
359
integer (c_size_t)
:: stridep(*)
360
361
real
(c_float),
intent(in)
:: vars(*)
362
363
integer (c_int)
::
nc_put_vars_float
364
365
end function
nc_put_vars_float
366
end interface
367
368
369
interface
370
function
nc_get_vars_double
(ncid, varid, startp, countp, stridep, vars)
bind(c)
371
372
import
:: c_int, c_double, c_size_t
373
374
integer (c_int)
,
value
:: ncid, varid
375
! type (c_ptr), value :: startp
376
! type (c_ptr), value :: countp
377
! type (c_ptr), value :: stridep
378
integer (c_size_t)
:: startp(*)
379
integer (c_size_t)
:: countp(*)
380
integer (c_size_t)
:: stridep(*)
381
382
real
(c_double),
intent(out)
:: vars(*)
383
384
integer (c_int)
::
nc_get_vars_double
385
386
end function
nc_get_vars_double
387
end interface
388
389
interface
390
function
nc_put_vars_double
(ncid, varid, startp, countp, stridep, vars)
bind(c)
391
392
import
:: c_int, c_double, c_size_t
393
394
integer (c_int)
,
value
:: ncid, varid
395
! type(c_ptr), value :: startp, countp, stridep
396
integer (c_size_t)
:: startp(*)
397
integer (c_size_t)
:: countp(*)
398
integer (c_size_t)
:: stridep(*)
399
400
real
(c_double),
intent(in)
:: vars(*)
401
402
integer (c_int)
::
nc_put_vars_double
403
404
end function
nc_put_vars_double
405
end interface
406
407
408
interface
409
function
nc_get_att_text
(ncid, varid, name, ip)
bind(c)
410
411
import
:: c_int, c_char
412
413
integer (c_int)
,
value
:: ncid, varid
414
character (c_char)
,
intent(in)
:: name(*)
415
character (c_char)
,
intent(out)
:: ip(*)
416
417
integer (c_int)
::
nc_get_att_text
418
419
end function
nc_get_att_text
420
end interface
421
422
interface
423
function
nc_get_att_int
(ncid, varid, name, ip)
bind(c)
424
425
import
:: c_int, c_char
426
427
integer (c_int)
,
value
:: ncid, varid
428
character (c_char)
,
intent(in)
:: name(*)
429
integer (c_int)
,
intent(out)
:: ip(*)
430
431
integer (c_int)
::
nc_get_att_int
432
433
end function
nc_get_att_int
434
end interface
435
436
interface
437
function
nc_get_att_short
(ncid, varid, name, ip)
bind(c)
438
439
import
:: c_int, c_char, c_short
440
441
integer (c_int)
,
value
:: ncid, varid
442
character (c_char)
,
intent(in)
:: name(*)
443
integer (c_short)
,
intent(out)
:: ip(*)
444
445
integer (c_int)
::
nc_get_att_short
446
447
end function
nc_get_att_short
448
end interface
449
450
interface
451
function
nc_get_att_float
(ncid, varid, name, ip)
bind(c)
452
453
import
:: c_int, c_float, c_char
454
455
integer (c_int)
,
value
:: ncid, varid
456
character (c_char)
,
intent(in)
:: name(*)
457
real
(c_float),
intent(out)
:: ip(*)
458
459
integer (c_int)
::
nc_get_att_float
460
461
end function
nc_get_att_float
462
end interface
463
464
interface
465
function
nc_get_att_double
(ncid, varid, name, ip)
bind(c)
466
467
import
:: c_int, c_double, c_char
468
469
integer (c_int)
,
value
:: ncid, varid
470
character (c_char)
,
intent(in)
:: name(*)
471
real
(c_double),
intent(out)
:: ip(*)
472
473
integer (c_int)
::
nc_get_att_double
474
475
end function
nc_get_att_double
476
end interface
477
478
interface
479
function
nc_inq_attname
(ncid, varid, attnum, name)
bind(c)
480
481
import
:: c_int, c_char
482
483
integer (c_int)
,
value
:: ncid, varid, attnum
484
character (c_char)
,
intent(inout)
:: name(*)
485
486
integer (c_int)
::
nc_inq_attname
487
488
end function
nc_inq_attname
489
end interface
490
491
interface
492
function
nc_inq_att
(ncid, varid, name, xtypep, lenp)
bind(c)
493
494
import
:: c_int, c_size_t, c_char
495
496
integer (c_int)
,
value
:: ncid, varid
497
character (c_char)
,
intent(in)
:: name(*)
498
integer (c_int)
,
intent(out)
:: xtypep
499
integer (c_size_t)
,
intent(out)
:: lenp
500
501
integer (c_int)
::
nc_inq_att
502
503
end function
nc_inq_att
504
end interface
505
506
interface
507
function
nc_inq_var
(ncid, varid, name, xtypep, ndimsp, dimidsp, nattsp) &
508
bind(c)
509
510
import
:: c_int, c_char
511
512
integer (c_int)
,
value
:: ncid
513
integer (c_int)
,
value
:: varid
514
character (c_char)
:: name(*)
515
integer (c_int)
,
intent(out)
:: xtypep
516
integer (c_int)
,
intent(out)
:: ndimsp
517
integer (c_int)
,
intent(out)
:: dimidsp(*)
518
integer (c_int)
,
intent(out)
:: nattsp
519
520
integer (c_int)
::
nc_inq_var
521
522
end function
nc_inq_var
523
end interface
524
525
526
interface
527
function
nc_inq_dim
(ncid, dimid, name, lenp)
bind(c)
528
529
import
:: c_int, c_size_t, c_char
530
531
integer (c_int)
,
value
:: ncid
532
integer (c_int)
,
value
:: dimid
533
character (c_char)
,
intent(inout)
:: name(*)
534
integer (c_size_t)
,
intent(out)
:: lenp
535
536
integer (c_int)
::
nc_inq_dim
537
538
end function
nc_inq_dim
539
end interface
540
541
interface
542
function
nc_strerror
(ncerr)
bind(c)
543
544
import
:: c_int, c_ptr
545
546
integer (c_int)
,
value
:: ncerr
547
548
type
(c_ptr) ::
nc_strerror
549
550
end function
nc_strerror
551
end interface
552
553
interface
554
function
nc_inq_format
(ncid, formatp)
bind(c)
555
556
import
:: c_int
557
558
integer (c_int)
,
value
:: ncid
559
integer (c_int)
,
intent(out)
:: formatp
560
561
integer (c_int)
::
nc_inq_format
562
563
end function
nc_inq_format
564
end interface
565
566
567
interface
568
function
nc_inq_dimname
(ncid, dimid, name)
bind(c)
569
570
import
:: c_int, c_char
571
572
integer (c_int)
,
value
:: ncid
573
integer (c_int)
,
value
:: dimid
574
character (c_char)
,
intent(inout)
:: name(*)
575
576
integer (c_int)
::
nc_inq_dimname
577
578
end function
nc_inq_dimname
579
end interface
580
581
interface
582
function
nc_inq_unlimdim
(ncid, unlimdimidp)
bind(c)
583
584
import
:: c_int
585
586
integer (c_int)
,
value
:: ncid
587
integer (c_int)
,
intent(out)
:: unlimdimidp
588
589
integer (c_int)
::
nc_inq_unlimdim
590
591
end function
nc_inq_unlimdim
592
end interface
593
594
interface
595
function
nc_inq_ndims
(ncid, ndimsp)
bind(c)
596
597
import
:: c_int
598
599
integer (c_int)
,
value
:: ncid
600
integer (c_int)
,
intent(out)
:: ndimsp
601
602
integer (c_int)
::
nc_inq_ndims
603
604
end function
nc_inq_ndims
605
end interface
606
!---------------------------------- nc_inq_nvars ------------------------------
607
interface
608
function
nc_inq_nvars
(ncid, nvarsp)
bind(c)
609
610
import
:: c_int
611
612
integer (c_int)
,
value
:: ncid
613
integer (c_int)
,
intent(out)
:: nvarsp
614
615
integer (c_int)
::
nc_inq_nvars
616
617
end function
nc_inq_nvars
618
end interface
619
!---------------------------------- nc_inq_natts ------------------------------
620
interface
621
function
nc_inq_natts
(ncid, ngattsp)
bind(c)
622
623
import
:: c_int
624
625
integer (c_int)
,
value
:: ncid
626
integer (c_int)
,
intent(out)
:: ngattsp
627
628
integer (c_int)
::
nc_inq_natts
629
630
end function
nc_inq_natts
631
end interface
632
633
!----------------------------------------------------------------------
634
635
interface
636
function
nc_put_att_text
(ncid, varid, name, nlen, tp)
bind(c)
637
638
import
:: c_int, c_size_t, c_char
639
640
integer (c_int)
,
value
:: ncid, varid
641
integer (c_size_t)
,
value
:: nlen
642
character (c_char)
,
intent(in)
:: name(*)
643
character (c_char)
,
intent(in)
:: tp(*)
644
645
integer (c_int)
::
nc_put_att_text
646
647
end function
nc_put_att_text
648
end interface
649
650
!----------------------------------------------------------------------
651
652
interface
653
function
nc_del_att
(ncid, varid, name)
bind(c)
654
655
import
:: c_int, c_char
656
657
integer (c_int)
,
value
:: ncid, varid
658
character (c_char)
,
intent(in)
:: name(*)
659
660
integer (c_int)
::
nc_del_att
661
662
end function
nc_del_att
663
end interface
664
665
!----------------------------------------------------------------------
666
667
interface
668
function
nc_put_att_int
(ncid, varid, name, xtype, nlen, ip)
bind(c)
669
670
import
:: c_int, c_size_t, c_char
671
672
integer (c_int)
,
value
:: ncid, varid
673
integer (c_size_t)
,
value
:: nlen
674
integer (c_int)
,
value
:: xtype
675
character (c_char)
,
intent(in)
:: name(*)
676
integer (c_int)
,
intent(in)
:: ip(*)
677
678
integer (c_int)
::
nc_put_att_int
679
680
end function
nc_put_att_int
681
end interface
682
683
!----------------------------------------------------------------------
684
685
interface
686
function
nc_put_att_float
(ncid, varid, name, xtype, nlen, fp)
bind(c)
687
688
import
:: c_int, c_size_t, c_float, c_char
689
690
integer (c_int)
,
value
:: ncid, varid
691
integer (c_size_t)
,
value
:: nlen
692
integer (c_int)
,
value
:: xtype
693
character (c_char)
,
intent(in)
:: name(*)
694
real
(c_float),
intent(in)
:: fp(*)
695
696
integer (c_int)
::
nc_put_att_float
697
698
end function
nc_put_att_float
699
end interface
700
701
!----------------------------------------------------------------------
702
703
interface
704
function
nc_put_att_double
(ncid, varid, name, xtype, nlen, dp)
bind(c)
705
706
import
:: c_int, c_size_t, c_double, c_char
707
708
integer (c_int)
,
value
:: ncid, varid
709
integer (c_size_t)
,
value
:: nlen
710
integer (c_int)
,
value
:: xtype
711
character (c_char)
,
intent(in)
:: name(*)
712
real
(c_double),
intent(in)
:: dp(*)
713
714
integer (c_int)
::
nc_put_att_double
715
716
end function
nc_put_att_double
717
end interface
718
719
!----------------------------------------------------------------------
720
721
interface
722
function
nc_copy_att
(ncid_in, varid_in, name, ncid_out, varid_out )
bind(c)
723
724
import
:: c_int, c_char
725
726
integer (c_int)
,
value
:: ncid_in, varid_in, varid_out, &
727
ncid_out
728
character (c_char)
,
intent(in)
:: name(*)
729
730
integer (c_int)
::
nc_copy_att
731
732
end function
nc_copy_att
733
end interface
734
735
736
737
interface
738
function
nc_open
(path, mode, ncidp)
BIND(C)
739
740
import
:: c_char, c_int
741
742
character (c_char)
,
intent(in)
:: path(*)
743
integer (c_int)
,
value
:: mode
744
integer (c_int)
,
intent(out)
:: ncidp
745
746
integer (c_int)
::
nc_open
747
748
end function
nc_open
749
end interface
750
751
interface
752
function
nc__open
(path, mode, chunksizehintp, ncidp)
BIND(C)
753
754
import
:: c_char, c_int, c_size_t
755
756
character (c_char)
,
intent(in)
:: path(*)
757
integer (c_int)
,
value
:: mode
758
integer (c_size_t)
,
intent(in)
:: chunksizehintp
759
integer (c_int)
,
intent(out)
:: ncidp
760
761
integer (c_int)
::
nc__open
762
763
end function
nc__open
764
end interface
765
766
interface
767
function
nc_close
(ncid)
bind(c)
768
769
import
:: c_int
770
771
integer (c_int)
,
value
:: ncid
772
773
integer (c_int)
::
nc_close
774
775
end function
nc_close
776
end interface
777
778
end module
netcdf_c_api_interfaces
netcdf_c_api_interfaces::nc__open
Definition
netcdf_c_api_interfaces.F90:752
netcdf_c_api_interfaces::nc_close
Definition
netcdf_c_api_interfaces.F90:767
netcdf_c_api_interfaces::nc_copy_att
Definition
netcdf_c_api_interfaces.F90:722
netcdf_c_api_interfaces::nc_create
Definition
netcdf_c_api_interfaces.F90:53
netcdf_c_api_interfaces::nc_def_dim
Definition
netcdf_c_api_interfaces.F90:100
netcdf_c_api_interfaces::nc_def_var_deflate
Definition
netcdf_c_api_interfaces.F90:67
netcdf_c_api_interfaces::nc_def_var
Definition
netcdf_c_api_interfaces.F90:83
netcdf_c_api_interfaces::nc_del_att
Definition
netcdf_c_api_interfaces.F90:653
netcdf_c_api_interfaces::nc_enddef
Definition
netcdf_c_api_interfaces.F90:115
netcdf_c_api_interfaces::nc_get_att_double
Definition
netcdf_c_api_interfaces.F90:465
netcdf_c_api_interfaces::nc_get_att_float
Definition
netcdf_c_api_interfaces.F90:451
netcdf_c_api_interfaces::nc_get_att_int
Definition
netcdf_c_api_interfaces.F90:423
netcdf_c_api_interfaces::nc_get_att_short
Definition
netcdf_c_api_interfaces.F90:437
netcdf_c_api_interfaces::nc_get_att_text
Definition
netcdf_c_api_interfaces.F90:409
netcdf_c_api_interfaces::nc_get_var_double
Definition
netcdf_c_api_interfaces.F90:222
netcdf_c_api_interfaces::nc_get_var_float
Definition
netcdf_c_api_interfaces.F90:195
netcdf_c_api_interfaces::nc_get_var_int
Definition
netcdf_c_api_interfaces.F90:168
netcdf_c_api_interfaces::nc_get_var_short
Definition
netcdf_c_api_interfaces.F90:141
netcdf_c_api_interfaces::nc_get_vars_double
Definition
netcdf_c_api_interfaces.F90:370
netcdf_c_api_interfaces::nc_get_vars_float
Definition
netcdf_c_api_interfaces.F90:330
netcdf_c_api_interfaces::nc_get_vars_int
Definition
netcdf_c_api_interfaces.F90:289
netcdf_c_api_interfaces::nc_get_vars_short
Definition
netcdf_c_api_interfaces.F90:249
netcdf_c_api_interfaces::nc_inq_att
Definition
netcdf_c_api_interfaces.F90:492
netcdf_c_api_interfaces::nc_inq_attname
Definition
netcdf_c_api_interfaces.F90:479
netcdf_c_api_interfaces::nc_inq_dim
Definition
netcdf_c_api_interfaces.F90:527
netcdf_c_api_interfaces::nc_inq_dimname
Definition
netcdf_c_api_interfaces.F90:568
netcdf_c_api_interfaces::nc_inq_format
Definition
netcdf_c_api_interfaces.F90:554
netcdf_c_api_interfaces::nc_inq_natts
Definition
netcdf_c_api_interfaces.F90:621
netcdf_c_api_interfaces::nc_inq_ndims
Definition
netcdf_c_api_interfaces.F90:595
netcdf_c_api_interfaces::nc_inq_nvars
Definition
netcdf_c_api_interfaces.F90:608
netcdf_c_api_interfaces::nc_inq_unlimdim
Definition
netcdf_c_api_interfaces.F90:582
netcdf_c_api_interfaces::nc_inq_var
Definition
netcdf_c_api_interfaces.F90:507
netcdf_c_api_interfaces::nc_open
Definition
netcdf_c_api_interfaces.F90:738
netcdf_c_api_interfaces::nc_put_att_double
Definition
netcdf_c_api_interfaces.F90:704
netcdf_c_api_interfaces::nc_put_att_float
Definition
netcdf_c_api_interfaces.F90:686
netcdf_c_api_interfaces::nc_put_att_int
Definition
netcdf_c_api_interfaces.F90:668
netcdf_c_api_interfaces::nc_put_att_text
Definition
netcdf_c_api_interfaces.F90:636
netcdf_c_api_interfaces::nc_put_var_double
Definition
netcdf_c_api_interfaces.F90:235
netcdf_c_api_interfaces::nc_put_var_float
Definition
netcdf_c_api_interfaces.F90:208
netcdf_c_api_interfaces::nc_put_var_int
Definition
netcdf_c_api_interfaces.F90:181
netcdf_c_api_interfaces::nc_put_var_short
Definition
netcdf_c_api_interfaces.F90:154
netcdf_c_api_interfaces::nc_put_vars_double
Definition
netcdf_c_api_interfaces.F90:390
netcdf_c_api_interfaces::nc_put_vars_float
Definition
netcdf_c_api_interfaces.F90:351
netcdf_c_api_interfaces::nc_put_vars_int
Definition
netcdf_c_api_interfaces.F90:309
netcdf_c_api_interfaces::nc_put_vars_short
Definition
netcdf_c_api_interfaces.F90:270
netcdf_c_api_interfaces::nc_redef
Definition
netcdf_c_api_interfaces.F90:128
netcdf_c_api_interfaces::nc_strerror
Definition
netcdf_c_api_interfaces.F90:542
netcdf_c_api_interfaces
Provides Fortran interfaces to the NetCDF C API. This approach is much more straightforward than usin...
Definition
netcdf_c_api_interfaces.F90:40
src
netcdf_c_api_interfaces.F90
Generated on
for Soil Water Balance (SWB2) by
1.14.0