gtool5 Fortran 90/95 Library 1.0.0-rc5
日本語
Loading...
Searching...
No Matches
Functions/Subroutines
gtvarputattrchar.f90 File Reference

Put attribute values. More...

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)
 

Detailed Description

Put attribute values.

Author
Eizi TOYODA, Yasuhiro MORIKAWA

Definition in file gtvarputattrchar.f90.

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 
)

Put attribute value (character with type specification)

By specifying xtype, even if value is character type, values can be stored as integer, real (single/double precision). Valid xtype strings:

  • Integer: "INTEGER", "integer", "int"
  • Real (single): "REAL", "real", "float"
  • Real (double): "DOUBLEPRECISION", "DOUBLE", "double"
    Parameters
    [in,out]varVariable handle
    [in]nameAttribute name
    [in]valueAttribute value (character)
    [in]xtypeStorage type (optional)
    [out]errError flag (optional)

Definition at line 229 of file gtvarputattrchar.f90.

230 use gtdata_types, only: gt_variable
231 use gtdata_internal_map, only: var_class, vtb_class_netcdf
234 use dc_trace, only: beginsub, endsub
235 implicit none
236 type(GT_VARIABLE), intent(inout):: var
237 character(len = *), intent(in):: name
238 character(len = *), intent(in):: value
239 character(len = *), intent(in), optional:: xtype
240 logical, intent(out), optional:: err
241 integer:: class, cid
242 character(*), parameter:: subnam = "gtvarputattrchar"
243continue
244 call beginsub(subnam, "%d:%c = %c", i=(/var%mapid/), c1=trim(name), c2=trim(value))
245 call var_class(var, class, cid)
246 if (class == vtb_class_netcdf) then
247 call put_attr(gd_nc_variable(cid), name, value, xtype, err)
248 endif
249 call endsub(subnam)
Debug tracing module.
Definition dc_trace.f90:150
subroutine, public beginsub(name, fmt, i, r, d, l, n, c1, c2, c3, ca, version)
Definition dc_trace.f90:476
subroutine, public endsub(name, fmt, i, r, d, l, n, c1, c2, c3, ca)
Definition dc_trace.f90:599
subroutine, public var_class(var, class, cid)

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

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 
)

Put attribute value (double precision array)

Parameters
[in,out]varVariable handle
[in]nameAttribute name
[in]valueAttribute value (double precision array)
[out]errError flag (optional)

Definition at line 179 of file gtvarputattrchar.f90.

180 use gtdata_types, only: gt_variable
181 use gtdata_internal_map, only: var_class, vtb_class_netcdf
184 use dc_string, only: tochar
185 use dc_types, only: dp
186 implicit none
187 type(GT_VARIABLE), intent(inout):: var
188 character(len = *), intent(in):: name
189 real(DP), intent(in):: value(:)
190 logical, intent(out), optional:: err
191 integer:: class, cid
192continue
193 call var_class(var, class, cid)
194 if (class == vtb_class_netcdf) then
195 call put_attr(gd_nc_variable(cid), name, value, err)
196 endif
Handling character types.
Definition dc_string.f90:83
Provides kind type parameter values.
Definition dc_types.f90:55
integer, parameter, public dp
Double Precision Real number
Definition dc_types.f90:92

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

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 
)

Put attribute value (integer array)

value accepts an array. To write a scalar, use Fortran array constructors (/ ... /). For example, (/a/) creates a length-1 array.

Parameters
[in,out]varVariable handle
[in]nameAttribute name
[in]valueAttribute value (integer array)
[out]errError flag (optional)

Definition at line 114 of file gtvarputattrchar.f90.

115 use gtdata_types, only: gt_variable
116 use gtdata_internal_map, only: var_class, vtb_class_netcdf
119 use dc_string, only: tochar
120 type(GT_VARIABLE), intent(inout):: var
121 character(len = *), intent(in):: name
122 integer, intent(in):: value(:)
123 logical, intent(out), optional:: err
124 integer:: class, cid
125continue
126 call var_class(var, class, cid)
127 if (class == vtb_class_netcdf) then
128 call put_attr(gd_nc_variable(cid), name, value, err)
129 endif

References gtdata_internal_map::var_class().

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 
)

Put attribute value (logical)

Attaches attribute name with value to variable var. Put_Attr is a generic name for multiple subroutines, so value can accept various types. Some variants with xtype argument allow specifying the storage type independently.

If an error occurs and err is provided, err returns .true.. If err is not provided, the program terminates.

Parameters
[in,out]varVariable handle
[in]nameAttribute name
[in]valueAttribute value (logical)
[out]errError flag (optional)

Definition at line 55 of file gtvarputattrchar.f90.

56 use gtdata_types, only: gt_variable
57 use gtdata_internal_map, only: var_class, vtb_class_netcdf
60 use dc_string, only: tochar
61 implicit none
62 type(GT_VARIABLE), intent(inout) :: var
63 character(len = *), intent(in) :: name
64 logical, intent(in) :: value
65 logical, intent(out), optional:: err
66 integer:: class, cid
67continue
68 call var_class(var, class, cid)
69 if (class == vtb_class_netcdf) then
70 if (value) then
71 call put_attr(gd_nc_variable(cid), name, "true", err=err)
72 else
73 call put_attr(gd_nc_variable(cid), name, "false", err=err)
74 endif
75 endif

References gtdata_internal_map::var_class().

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 
)

Put attribute value (real array)

Parameters
[in,out]varVariable handle
[in]nameAttribute name
[in]valueAttribute value (real array)
[out]errError flag (optional)

Definition at line 146 of file gtvarputattrchar.f90.

147 use gtdata_types, only: gt_variable
148 use gtdata_internal_map, only: var_class, vtb_class_netcdf
151 use dc_string, only: tochar
152 implicit none
153 type(GT_VARIABLE), intent(inout):: var
154 character(len = *), intent(in):: name
155 real, intent(in):: value(:)
156 logical, intent(out), optional:: err
157 integer:: class, cid
158continue
159 call var_class(var, class, cid)
160 if (class == vtb_class_netcdf) then
161 call put_attr(gd_nc_variable(cid), name, value, err)
162 endif

References gtdata_internal_map::var_class().

Here is the call graph for this function: