63 character(len = *),
intent(in):: name
64 character(len = *),
intent(in):: val
65 character(len = *),
intent(in),
optional:: xtype
66 logical,
intent(out),
optional:: err
67 integer,
pointer:: ip(:)
69 double precision,
pointer:: dp(:)
74 if (stat /= nf90_noerr)
goto 999
75 if (len(val) == 0)
then
77 stat = nf90_del_att(ent%fileid, nf90_global, name = name(2:))
79 stat = nf90_del_att(ent%fileid, ent%varid, name = name)
83 if (
present(xtype) )
then
85 case(
"INTEGER",
"integer",
"int")
87 case(
"REAL",
"real",
"float")
89 case(
"DOUBLEPRECISION",
"DOUBLE",
"double")
95 if (stat /= nf90_noerr)
goto 999
97 stat = nf90_put_att(ent%fileid, nf90_global, name(2:), trim(val) )
99 stat = nf90_put_att(ent%fileid, ent%varid, name, trim(val) )
103 call storeerror(stat,
'GDNcVarPutAttrChar', err, cause_c=name)
108 if (
associated(ip))
then
116 if (
associated(rp))
then
124 if (
associated(dp))
then