Go to the source code of this file.
◆ gdncvargetattrlogical()
subroutine gdncvargetattrlogical |
( |
type(gd_nc_variable), intent(in) |
var, |
|
|
character(len = *), intent(in) |
name, |
|
|
logical, intent(out) |
value, |
|
|
logical, intent(in), optional |
default |
|
) |
| |
Definition at line 5 of file gdncvarattrtrue.f90.
References dc_types::string, and gtdata_netcdf_internal::vtable_lookup().
13 use netcdf
, only: nf90_max_name, nf90_noerr, nf90_char, nf90_inquire_attribute, nf90_get_att
18 character(len = *),
intent(in):: name
19 logical,
intent(out):: value
20 logical,
intent(in),
optional:: default
22 character(len = STRING):: cbuffer
23 character(len = 7):: c_default
24 character(len = NF90_MAX_NAME):: aname
25 real,
allocatable:: rbuf(:)
26 integer:: stat, xtype, attrlen
29 if (stat /= nf90_noerr)
goto 999
32 & varid=varid, nf_attrname=aname)
33 stat = nf90_inquire_attribute(ent%fileid, varid, aname, xtype=xtype, len=attrlen)
34 if (stat /= nf90_noerr)
goto 999
35 if (xtype == nf90_char)
then 37 if (
present(default))
then 38 if (default) c_default =
"1" 40 call get_attr(var, name, cbuffer, c_default, stat)
43 case(
"",
"0",
"0.0",
"0.",
".0",
"FALSE",
"false",
".FALSE.", &
44 &
".false.",
"F",
"f",
"0.0D0",
"0.0d0")
50 allocate(rbuf(attrlen))
51 stat = nf90_get_att(ent%fileid, varid, aname, rbuf)
52 if (stat /= nf90_noerr)
goto 999
53 value = (
abs(rbuf(1)) > tiny(0.0))
59 if (
present(default))
value = default
integer function, public vtable_lookup(var, entry)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ