NetCDF-Fortran  4.4.2
netcdf_variables.f90
1  ! -----
2  ! Variable definitions and inquiry
3  ! -----
4  function nf90_def_var_scalar(ncid, name, xtype, varid)
5  integer, intent( in) :: ncid
6  character (len = *), intent( in) :: name
7  integer, intent( in) :: xtype
8  integer, intent(out) :: varid
9  integer :: nf90_def_var_scalar
10 
11  ! Dummy - shouldn't get used
12  integer, dimension(1) :: dimids
13 
14  nf90_def_var_scalar = nf_def_var(ncid, name, xtype, 0, dimids, varid)
15  end function nf90_def_var_scalar
16  ! -----
17  function nf90_def_var_onedim(ncid, name, xtype, dimids, varid)
18  integer, intent( in) :: ncid
19  character (len = *), intent( in) :: name
20  integer, intent( in) :: xtype
21  integer, intent( in) :: dimids
22  integer, intent(out) :: varid
23  integer :: nf90_def_var_onedim
24 
25  integer, dimension(1) :: dimidsa
26  dimidsa(1) = dimids
27  nf90_def_var_onedim = nf_def_var(ncid, name, xtype, 1, dimidsa, varid)
28  end function nf90_def_var_onedim
29  ! -----
30  function nf90_def_var_manydims(ncid, name, xtype, dimids, varid)
31  integer, intent( in) :: ncid
32  character (len = *), intent( in) :: name
33  integer, intent( in) :: xtype
34  integer, dimension(:), intent( in) :: dimids
35  integer, intent(out) :: varid
36  integer :: nf90_def_var_manydims
37 
38  nf90_def_var_manydims = nf_def_var(ncid, name, xtype, size(dimids), dimids, varid)
39  end function nf90_def_var_manydims
40  ! -----
41  function nf90_inq_varid(ncid, name, varid)
42  integer, intent( in) :: ncid
43  character (len = *), intent( in) :: name
44  integer, intent(out) :: varid
45  integer :: nf90_inq_varid
46 
47  nf90_inq_varid = nf_inq_varid(ncid, name, varid)
48  end function nf90_inq_varid
49  ! -----
50  function nf90_inquire_variable(ncid, varid, name, xtype, ndims, dimids, nAtts)
51  integer, intent( in) :: ncid, varid
52  character (len = *), optional, intent(out) :: name
53  integer, optional, intent(out) :: xtype, ndims
54  integer, dimension(:), optional, intent(out) :: dimids
55  integer, optional, intent(out) :: natts
56  integer :: nf90_inquire_variable
57 
58  ! Local variables
59  character (len = nf90_max_name) :: varname
60  integer :: externaltype, numdimensions
61  integer, dimension(nf90_max_var_dims) :: dimensionids
62  integer :: numattributes
63 
64  nf90_inquire_variable = nf_inq_var(ncid, varid, varname, externaltype, &
65  numdimensions, dimensionids, numattributes)
66  if (nf90_inquire_variable == nf90_noerr) then
67  if(present(name)) name = trim(varname)
68  if(present(xtype)) xtype = externaltype
69  if(present(ndims)) ndims = numdimensions
70  if(present(dimids)) then
71  if (size(dimids) .ge. numdimensions) then
72  dimids(:numdimensions) = dimensionids(:numdimensions)
73  else
74  nf90_inquire_variable = nf90_einval
75  endif
76  endif
77  if(present(natts)) natts = numattributes
78  endif
79  end function nf90_inquire_variable
80  ! -----
81  function nf90_rename_var(ncid, varid, newname)
82  integer, intent( in) :: ncid, varid
83  character (len = *), intent( in) :: newname
84  integer :: nf90_rename_var
85 
86  nf90_rename_var = nf_rename_var(ncid, varid, newname)
87  end function nf90_rename_var
88  ! -----

Return to the Main Unidata NetCDF page.
Generated on Sun Dec 27 2015 13:19:48 for NetCDF-Fortran. NetCDF is a Unidata library.