8   use netcdf
, only: nf90_max_name, nf90_noerr, nf90_inquire_attribute
    12   character(len=*), 
intent(in):: attrname
    13   character(len=*), 
intent(out), 
optional:: xtype
    15   integer:: varid, i_xtype, stat
    16   character(len=NF90_MAX_NAME):: anam
    18   if (stat /= nf90_noerr) 
return    19   if (
present(xtype)) 
then    21     stat = nf90_inquire_attribute(ent%fileid, varid, anam, xtype=i_xtype)
    22     if (stat /= nf90_noerr) i_xtype = 0
    36   use netcdf
, only: nf90_global, nf90_noerr, nf90_inquire_attribute
    38   character(len=*), 
intent(in):: attrname
    39   integer, 
intent(out):: varid
    41   character(len=*), 
intent(out):: nf_attrname
    44   if (stat /= nf90_noerr) 
return    45   if (attrname(1:1) == 
gt_plus) 
then    47     nf_attrname = attrname(2: )
    48   else if (attrname(1:1) == 
'-') 
then    50     nf_attrname = attrname(2: )
    51     stat = nf90_inquire_attribute(ent%fileid, varid, nf_attrname, len = n)
    52     if (stat == nf90_noerr) 
return    56     nf_attrname = attrname
 
integer function, public vtable_lookup(var, entry)
subroutine gdncattrinquireplus(var, attrname, varid, nf_attrname)
character, parameter, public gt_plus
subroutine gdncattrinquire(var, attrname, xtype)
subroutine gdncxtypename(ixtype, xtype)