5 type(Dataset),
intent(in) :: dset
6 character(len=*),
intent(in),
optional :: varname
7 character(len=*),
intent(in) :: attname
8 integer,
intent(out),
optional :: errcode
9 integer ncerr, varid, nvar
10 logical return_errcode
12 if(
present(errcode))
then
16 return_errcode=.false.
19 if(
present(varname))
then
20 nvar = get_nvar(dset,varname)
21 varid = dset%variables(nvar)%varid
26 ncerr = nf90_redef(dset%ncid)
27 if (return_errcode)
then
28 call nccheck(ncerr,halt=.false.)
30 if (ncerr /= 0)
return
35 ncerr = nf90_put_att(dset%ncid, varid, trim(attname), values)
36 if (return_errcode)
then
37 call nccheck(ncerr,halt=.false.)
39 ncerr = nf90_enddef(dset%ncid)
43 ncerr = nf90_enddef(dset%ncid)