gtool5 Fortran 90/95 Library 1.0.0-rc5
日本語
Loading...
Searching...
No Matches
gdncvarputattrreal.f90 File Reference

Put real/double attribute to netCDF variable . More...

Go to the source code of this file.

Functions/Subroutines

subroutine gdncvarputattrreal (var, name, value, err)
subroutine gdncvarputattrdouble (var, name, value, err)

Detailed Description

Put real/double attribute to netCDF variable

.

Author
GFD Dennou Club

Definition in file gdncvarputattrreal.f90.

Function/Subroutine Documentation

◆ gdncvarputattrdouble()

subroutine gdncvarputattrdouble ( type(gd_nc_variable), intent(in) var,
character(len = *), intent(in) name,
double precision, dimension(:), intent(in) value,
logical, intent(out), optional err )

Set double precision attribute value

Sets a double precision attribute on a variable. If name starts with '+', it is treated as a global attribute. Empty value array deletes the attribute.

Parameters
[in]varVariable handle
[in]nameAttribute name
[in]valueDouble precision values to set
[out]errError flag (optional)

Definition at line 96 of file gdncvarputattrreal.f90.

100 use netcdf, only: &
101 & nf90_global, &
102 & nf90_noerr, &
103 & nf90_put_att, &
104 & nf90_del_att
105 use dc_url, only: gt_plus
106 use dc_error
107 implicit none
108 type(GD_NC_VARIABLE), intent(in):: var
109 character(len = *), intent(in):: name
110 double precision, intent(in):: value(:)
111 logical, intent(out), optional:: err
112 type(GD_NC_VARIABLE_ENTRY):: ent
113 integer:: stat
114 continue
115 stat = vtable_lookup(var, ent)
116 if (stat /= 0) goto 999
117 if (size(value) == 0) then
118 if (name(1:1) == gt_plus) then
119 stat = nf90_del_att(ent%fileid, nf90_global, name(2:))
120 else
121 stat = nf90_del_att(ent%fileid, ent%varid, name)
122 endif
123 goto 999
124 endif
125 stat = gdncfiledefinemode(ent%fileid)
126 if (stat /= nf90_noerr) goto 999
127 if (name(1:1) == gt_plus) then
128 stat = nf90_put_att(ent%fileid, nf90_global, name(2:), value)
129 else
130 stat = nf90_put_att(ent%fileid, ent%varid, name, value)
131 endif
132999 continue
133 call storeerror(stat, 'GDNcVarPutAttrDouble', err)
Error handling module.
Definition dc_error.f90:454
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition dc_error.f90:891
Variable URL string parser.
Definition dc_url.f90:61
character, parameter, public gt_plus
Definition dc_url.f90:109
integer function, public vtable_lookup(var, entry)

References dc_url::gt_plus, dc_error::storeerror(), and gtdata_netcdf_internal::vtable_lookup().

Here is the call graph for this function:

◆ gdncvarputattrreal()

subroutine gdncvarputattrreal ( type(gd_nc_variable), intent(in) var,
character(len = *), intent(in) name,
real, dimension(:), intent(in) value,
logical, intent(out), optional err )

Set real (single precision) attribute value

Sets a real attribute on a variable. If name starts with '+', it is treated as a global attribute. Empty value array deletes the attribute.

Parameters
[in]varVariable handle
[in]nameAttribute name
[in]valueReal values to set
[out]errError flag (optional)

Definition at line 36 of file gdncvarputattrreal.f90.

40 use netcdf, only: &
41 & nf90_global, &
42 & nf90_noerr, &
43 & nf90_put_att, &
44 & nf90_del_att
45 use dc_url, only: gt_plus
46 use dc_error
47 implicit none
48 type(GD_NC_VARIABLE), intent(in):: var
49 character(len = *), intent(in):: name
50 real, intent(in):: value(:)
51 logical, intent(out), optional:: err
52 type(GD_NC_VARIABLE_ENTRY):: ent
53 integer:: stat
54 continue
55 stat = vtable_lookup(var, ent)
56 if (stat /= nf90_noerr) goto 999
57 if (size(value) == 0) then
58 if (name(1:1) == gt_plus) then
59 stat = nf90_del_att(ent%fileid, nf90_global, name(2:))
60 else
61 stat = nf90_del_att(ent%fileid, ent%varid, name)
62 endif
63 goto 999
64 endif
65 stat = gdncfiledefinemode(ent%fileid)
66 if (stat /= nf90_noerr) goto 999
67 if (name(1:1) == gt_plus) then
68 stat = nf90_put_att(ent%fileid, nf90_global, name(2:), value)
69 else
70 stat = nf90_put_att(ent%fileid, ent%varid, name, value)
71 endif
72999 continue
73 call storeerror(stat, 'GDNcVarPutAttrReal', err)

References dc_url::gt_plus, dc_error::storeerror(), and gtdata_netcdf_internal::vtable_lookup().

Here is the call graph for this function: