gtvarattrtrue.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

logical function gtvarattrtrue (var, name, default)
 

Function/Subroutine Documentation

◆ gtvarattrtrue()

logical function gtvarattrtrue ( type(gt_variable), intent(in)  var,
character(len = *), intent(in)  name,
logical, intent(in), optional  default 
)

Definition at line 14 of file gtvarattrtrue.f90.

References dc_error::gt_enotvar, dc_error::storeerror(), and gtdata_internal_map::var_class().

14  !
15  !== 論理型属性の入力
16  !
17  ! 変数 *var* に付加されている属性 *name* の値を返します。
18  ! 属性値が論理型属性の場合のみ用いることが出来ます。
19  !
20  ! 以下の場合には .false. が返ります。
21  !
22  ! * 属性の値が文字型で "", "0", "0.0", "0.", ".0", "FALSE",
23  ! "false", ".FALSE.", ".false.", "F", "f", "0.0D0", "0.0d0"
24  ! のいづれかであった場合
25  ! * 属性の値が負の実数であった場合
26  !
27  ! 属性の値が正常に取得できず、且つ *default* が与えられて
28  ! いた場合、その値が返ります。*default* が与えられていなかった
29  ! 場合には .false. が返ります。
30  !
31  use gtdata_types, only: gt_variable
32  use gtdata_internal_map, only: var_class, vtb_class_netcdf, vtb_class_memory
36  use gtdata_memory_types, only: memvar_t => gd_mem_variable
37  use dc_error, only: storeerror, gt_enotvar
38  implicit none
39  type(gt_variable), intent(in):: var
40  character(len = *), intent(in):: name
41  logical, intent(in), optional:: default
42  integer:: class, cid
43 continue
44  call var_class(var, class, cid)
45  if (class == vtb_class_netcdf) then
46  call get_attr(gd_nc_variable(cid), name, result, default)
47  else if (class == vtb_class_memory) then
48  result = attr_true(memvar_t(cid), name, default)
49  else
50  call storeerror(gt_enotvar, "GTVarAttrTrue(NO VARIABLE)")
51  result = .false.
52  endif
integer, parameter, public gt_enotvar
Definition: dc_error.f90:533
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition: dc_error.f90:830
subroutine, public var_class(var, class, cid)
Here is the call graph for this function: