Loading...
Searching...
No Matches
gdncvarputattrint.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine gdncvarputattrint (var, name, value, err)

Function/Subroutine Documentation

◆ gdncvarputattrint()

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

Definition at line 3 of file gdncvarputattrint.f90.

7 use netcdf, only: &
8 & nf90_put_att, &
9 & nf90_noerr, &
10 & nf90_del_att, &
11 & nf90_enotindefine, &
12 & nf90_global
13 use dc_url, only: gt_plus
14 use dc_error
15 implicit none
16 type(GD_NC_VARIABLE), intent(in):: var
17 character(len = *), intent(in):: name
18 type(GD_NC_VARIABLE_ENTRY):: ent
19 integer, intent(in):: value(:)
20 logical, intent(out), optional:: err
21 integer:: stat
22 continue
23 stat = vtable_lookup(var, ent)
24 if (stat /= nf90_noerr) goto 999
25 if (size(value) == 0) then
26 if (name(1:1) == gt_plus) then
27 stat = nf90_del_att(ent%fileid, nf90_global, name(2:))
28 else
29 stat = nf90_del_att(ent%fileid, ent%varid, name)
30 endif
31 goto 999
32 endif
33 stat = gdncfiledefinemode(ent%fileid)
34 if (stat /= nf90_noerr) goto 999
35 if (name(1:1) == gt_plus) then
36 stat = nf90_put_att(ent%fileid, nf90_global, name(2:), value)
37 else
38 stat = nf90_put_att(ent%fileid, ent%varid, name, value)
39 endif
40999 continue
41 call storeerror(stat, 'GDNcVarPutAttrInt', err)
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition dc_error.f90:830
character, parameter, public gt_plus
Definition dc_url.f90:92
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: