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 172 of file gtvarputattrchar.f90.

References dc_trace::beginsub(), dc_trace::endsub(), and gtdata_internal_map::var_class().

172  !
173  ! まずは上記の Put_Attr
174  ! (または GTVarPutAttrChar)
175  ! を参照してください。
176  !
177  ! *xtype* に型を指定することで、引数 *value* には文字型を与えても、
178  ! 整数型、実数型 (単精度、倍精度) の値を付加することが可能です。
179  !
180  ! *xtype* には与える文字列として、以下のものが有効です。
181  ! これら以外の場合は文字型の値が与えられます。
182  !
183  ! 整数型 :: "INTEGER", "integer", "int"
184  ! 実数型 (単精度) :: "REAL", "real", "float"
185  ! 実数型 (倍精度) :: "DOUBLEPRECISION", "DOUBLE", "double"
186  !--
187  ! gtdata/gtdata_netcdf/gdncputattrchar.f90#GDNcVarPutAttrChar 参照
188  !++
189  !
190  use gtdata_types, only: gt_variable
191  use gtdata_internal_map, only: var_class, vtb_class_netcdf, vtb_class_memory
196  use dc_trace, only: beginsub, endsub
197  implicit none
198  type(gt_variable), intent(inout):: var
199  character(len = *), intent(in):: name
200  character(len = *), intent(in):: value
201  character(len = *), intent(in), optional:: xtype
202  logical, intent(out), optional:: err
203  integer:: class, cid
204  character(*), parameter:: subnam = "gtvarputattrchar"
205 continue
206  call beginsub(subnam, "%d:%c = %c", i=(/var%mapid/), c1=trim(name), c2=trim(value))
207  call var_class(var, class, cid)
208  if (class == vtb_class_netcdf) then
209  call put_attr(gd_nc_variable(cid), name, value, xtype, err)
210  else if (class == vtb_class_memory) then
211  call put_attr(gd_mem_variable(cid), name, value)
212  if (present(err)) err = .false.
213  endif
214  call endsub(subnam)
subroutine, public beginsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca, version)
Definition: dc_trace.f90:351
subroutine, public endsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca)
Definition: dc_trace.f90:446
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 142 of file gtvarputattrchar.f90.

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

142  !
143  ! まずは上記の Put_Attr
144  ! (または GTVarPutAttrChar および GTVarPutAttrReal)
145  ! を参照してください。
146  !
147  use gtdata_types, only: gt_variable
148  use gtdata_internal_map, only: var_class, vtb_class_netcdf, vtb_class_memory
153  use dc_string, only: tochar
154  use dc_types, only: dp
155  implicit none
156  type(gt_variable), intent(inout):: var
157  character(len = *), intent(in):: name
158  real(DP), intent(in):: value(:)
159  logical, intent(out), optional:: err
160  integer:: class, cid
161 continue
162  call var_class(var, class, cid)
163  if (class == vtb_class_netcdf) then
164  call put_attr(gd_nc_variable(cid), name, value, err)
165  else if (class == vtb_class_memory) then
166  call put_attr(gd_mem_variable(cid), name, trim(tochar(value)))
167  if (present(err)) err = .false.
168  endif
integer, parameter, public dp
倍精度実数型変数
Definition: dc_types.f90:83
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
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 80 of file gtvarputattrchar.f90.

References gtdata_internal_map::var_class().

80  !
81  ! まずは上記の Put_Attr
82  ! (または GTVarPutAttrChar および GTVarPutAttrReal)
83  ! を参照してください。
84  !
85  ! *value* は配列を受け取るので、スカラーを書き出すには
86  ! Fortran の配列構成子 <tt>(/ ... /)</tt> を使ってください。
87  ! たとえば、スカラー a から長さ 1 の配列 <tt>(/a/)</tt>
88  ! を作ることができます。
89  !
90  use gtdata_types, only: gt_variable
91  use gtdata_internal_map, only: var_class, vtb_class_netcdf, vtb_class_memory
96  use dc_string, only: tochar
97  type(gt_variable), intent(inout):: var
98  character(len = *), intent(in):: name
99  integer, intent(in):: value(:)
100  logical, intent(out), optional:: err
101  integer:: class, cid
102 continue
103  call var_class(var, class, cid)
104  if (class == vtb_class_netcdf) then
105  call put_attr(gd_nc_variable(cid), name, value, err)
106  else if (class == vtb_class_memory) then
107  call put_attr(gd_mem_variable(cid), name, trim(tochar(value)))
108  if (present(err)) err = .false.
109  endif
文字型変数の操作.
Definition: dc_string.f90:24
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, vtb_class_memory
38  use dc_string, only: tochar
39  implicit none
40  type(gt_variable), intent(inout) :: var
41  character(len = *), intent(in) :: name
42  logical, intent(in) :: value
43  logical, intent(out), optional:: err
44  integer:: class, cid
45 continue
46  call var_class(var, class, cid)
47  if (class == vtb_class_netcdf) then
48  if (value) then
49  call put_attr(gd_nc_variable(cid), name, "true", err=err)
50  else
51  call put_attr(gd_nc_variable(cid), name, "false", err=err)
52  endif
53  else if (class == vtb_class_memory) then
54  if (value) then
55  call put_attr(gd_mem_variable(cid), name, "true")
56  else
57  call put_attr(gd_mem_variable(cid), name, "false")
58  endif
59  if (present(err)) err = .false.
60  endif
文字型変数の操作.
Definition: dc_string.f90:24
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 113 of file gtvarputattrchar.f90.

References gtdata_internal_map::var_class().

113  !
114  ! まずは上記の Put_Attr
115  ! (または GTVarPutAttrChar および GTVarPutAttrReal)
116  ! を参照してください。
117  !
118  use gtdata_types, only: gt_variable
119  use gtdata_internal_map, only: var_class, vtb_class_netcdf, vtb_class_memory
124  use dc_string, only: tochar
125  implicit none
126  type(gt_variable), intent(inout):: var
127  character(len = *), intent(in):: name
128  real, intent(in):: value(:)
129  logical, intent(out), optional:: err
130  integer:: class, cid
131 continue
132  call var_class(var, class, cid)
133  if (class == vtb_class_netcdf) then
134  call put_attr(gd_nc_variable(cid), name, value, err)
135  else if (class == vtb_class_memory) then
136  call put_attr(gd_mem_variable(cid), name, trim(tochar(value)))
137  if (present(err)) err = .false.
138  endif
文字型変数の操作.
Definition: dc_string.f90:24
subroutine, public var_class(var, class, cid)
Here is the call graph for this function: