Functions/Subroutines
gtvarputattrchar.f90 File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine gtvarputattrlogical (var, name, value, err)
 
subroutine gtvarputattrint (var, name, value, err)
 
subroutine gtvarputattrreal (var, name, value, err)
 
subroutine gtvarputattrdouble (var, name, value, err)
 
subroutine gtvarputattrchar (var, name, value, xtype, err)
 

Function/Subroutine Documentation

◆ gtvarputattrchar()

subroutine gtvarputattrchar ( type(gt_variable), intent(inout)  var,
character(len = *), intent(in)  name,
character(len = *), intent(in)  value,
character(len = *), intent(in), optional  xtype,
logical, intent(out), optional  err 
)

Definition at line 148 of file gtvarputattrchar.f90.

References gtdata_internal_map::var_class().

148  !
149  ! まずは上記の Put_Attr
150  ! (または GTVarPutAttrChar)
151  ! を参照してください。
152  !
153  ! *xtype* に型を指定することで、引数 *value* には文字型を与えても、
154  ! 整数型、実数型 (単精度、倍精度) の値を付加することが可能です。
155  !
156  ! *xtype* には与える文字列として、以下のものが有効です。
157  ! これら以外の場合は文字型の値が与えられます。
158  !
159  ! 整数型 :: "INTEGER", "integer", "int"
160  ! 実数型 (単精度) :: "REAL", "real", "float"
161  ! 実数型 (倍精度) :: "DOUBLEPRECISION", "DOUBLE", "double"
162  !--
163  ! gtdata/gtdata_netcdf/gdncputattrchar.f90#GDNcVarPutAttrChar 参照
164  !++
165  !
166  use gtdata_types, only: gt_variable
167  use gtdata_internal_map, only: var_class, vtb_class_netcdf
170  use dc_trace, only: beginsub, endsub
171  implicit none
172  type(gt_variable), intent(inout):: var
173  character(len = *), intent(in):: name
174  character(len = *), intent(in):: value
175  character(len = *), intent(in), optional:: xtype
176  logical, intent(out), optional:: err
177  integer:: class, cid
178  character(*), parameter:: subnam = "gtvarputattrchar"
179 continue
180  call beginsub(subnam, "%d:%c = %c", i=(/var%mapid/), c1=trim(name), c2=trim(value))
181  call var_class(var, class, cid)
182  if (class == vtb_class_netcdf) then
183  call put_attr(gd_nc_variable(cid), name, value, xtype, err)
184  endif
185  call endsub(subnam)
subroutine, public var_class(var, class, cid)
Here is the call graph for this function:

◆ gtvarputattrdouble()

subroutine gtvarputattrdouble ( type(gt_variable), intent(inout)  var,
character(len = *), intent(in)  name,
real(dp), dimension(:), intent(in)  value,
logical, intent(out), optional  err 
)

Definition at line 123 of file gtvarputattrchar.f90.

References dc_types::dp, and gtdata_internal_map::var_class().

123  !
124  ! まずは上記の Put_Attr
125  ! (または GTVarPutAttrChar および GTVarPutAttrReal)
126  ! を参照してください。
127  !
128  use gtdata_types, only: gt_variable
129  use gtdata_internal_map, only: var_class, vtb_class_netcdf
132  use dc_string, only: tochar
133  use dc_types, only: dp
134  implicit none
135  type(gt_variable), intent(inout):: var
136  character(len = *), intent(in):: name
137  real(DP), intent(in):: value(:)
138  logical, intent(out), optional:: err
139  integer:: class, cid
140 continue
141  call var_class(var, class, cid)
142  if (class == vtb_class_netcdf) then
143  call put_attr(gd_nc_variable(cid), name, value, err)
144  endif
integer, parameter, public dp
Double Precision Real number.
Definition: dc_types.f90:83
Provides kind type parameter values.
Definition: dc_types.f90:49
subroutine, public var_class(var, class, cid)
Here is the call graph for this function:

◆ gtvarputattrint()

subroutine gtvarputattrint ( type(gt_variable), intent(inout)  var,
character(len = *), intent(in)  name,
integer, dimension(:), intent(in)  value,
logical, intent(out), optional  err 
)

Definition at line 71 of file gtvarputattrchar.f90.

References gtdata_internal_map::var_class().

71  !
72  ! まずは上記の Put_Attr
73  ! (または GTVarPutAttrChar および GTVarPutAttrReal)
74  ! を参照してください。
75  !
76  ! *value* は配列を受け取るので、スカラーを書き出すには
77  ! Fortran の配列構成子 <tt>(/ ... /)</tt> を使ってください。
78  ! たとえば、スカラー a から長さ 1 の配列 <tt>(/a/)</tt>
79  ! を作ることができます。
80  !
81  use gtdata_types, only: gt_variable
82  use gtdata_internal_map, only: var_class, vtb_class_netcdf
85  use dc_string, only: tochar
86  type(gt_variable), intent(inout):: var
87  character(len = *), intent(in):: name
88  integer, intent(in):: value(:)
89  logical, intent(out), optional:: err
90  integer:: class, cid
91 continue
92  call var_class(var, class, cid)
93  if (class == vtb_class_netcdf) then
94  call put_attr(gd_nc_variable(cid), name, value, err)
95  endif
subroutine, public var_class(var, class, cid)
Here is the call graph for this function:

◆ gtvarputattrlogical()

subroutine gtvarputattrlogical ( type(gt_variable), intent(inout)  var,
character(len = *), intent(in)  name,
logical, intent(in)  value,
logical, intent(out), optional  err 
)

Definition at line 14 of file gtvarputattrchar.f90.

References gtdata_internal_map::var_class().

14  !
15  !== 属性の付加
16  !
17  ! 変数 *var* に, 属性名 *name* とその値 *value* を付加します。
18  !
19  ! *Put_Attr* は複数のサブルーチンの総称名なので、
20  ! *value* には様々な型の変数を与えることが可能です。
21  ! 以下のサブルーチンを参照してください。
22  !
23  ! 引数に *xtype* を持つものは、その引数に型を指定することで、
24  ! 引数 *value* には文字型を与えても、
25  ! 整数型、実数型 (単精度、倍精度) の値を付加することが可能です。
26  ! 下記のサブルーチンを参照ください。
27  !
28  ! エラーが発生した場合、引数 *err* が与えられる場合は *err* が
29  ! <tt>.true.</tt> となって返ります。
30  ! 引数 *err* を与えなければプログラムは停止します。
31  !
32  use gtdata_types, only: gt_variable
33  use gtdata_internal_map, only: var_class, vtb_class_netcdf
36  use dc_string, only: tochar
37  implicit none
38  type(gt_variable), intent(inout) :: var
39  character(len = *), intent(in) :: name
40  logical, intent(in) :: value
41  logical, intent(out), optional:: err
42  integer:: class, cid
43 continue
44  call var_class(var, class, cid)
45  if (class == vtb_class_netcdf) then
46  if (value) then
47  call put_attr(gd_nc_variable(cid), name, "true", err=err)
48  else
49  call put_attr(gd_nc_variable(cid), name, "false", err=err)
50  endif
51  endif
subroutine, public var_class(var, class, cid)
Here is the call graph for this function:

◆ gtvarputattrreal()

subroutine gtvarputattrreal ( type(gt_variable), intent(inout)  var,
character(len = *), intent(in)  name,
real, dimension(:), intent(in)  value,
logical, intent(out), optional  err 
)

Definition at line 99 of file gtvarputattrchar.f90.

References gtdata_internal_map::var_class().

99  !
100  ! まずは上記の Put_Attr
101  ! (または GTVarPutAttrChar および GTVarPutAttrReal)
102  ! を参照してください。
103  !
104  use gtdata_types, only: gt_variable
105  use gtdata_internal_map, only: var_class, vtb_class_netcdf
108  use dc_string, only: tochar
109  implicit none
110  type(gt_variable), intent(inout):: var
111  character(len = *), intent(in):: name
112  real, intent(in):: value(:)
113  logical, intent(out), optional:: err
114  integer:: class, cid
115 continue
116  call var_class(var, class, cid)
117  if (class == vtb_class_netcdf) then
118  call put_attr(gd_nc_variable(cid), name, value, err)
119  endif
subroutine, public var_class(var, class, cid)
Here is the call graph for this function: