gtool5 Fortran 90/95 ライブラリ 1.0.0-rc5
English
Loading...
Searching...
No Matches
Functions/Subroutines
gdncvarputattrreal.f90 File Reference

netCDF 変数に実数/倍精度属性を設定 More...

Go to the source code of this file.

Functions/Subroutines

subroutine gdncvarputattrreal (var, name, value, err)
 
subroutine gdncvarputattrdouble (var, name, value, err)
 

Detailed Description

netCDF 変数に実数/倍精度属性を設定

Author
GFD Dennou Club

Definition in file gdncvarputattrreal.f90.

Function/Subroutine Documentation

◆ gdncvarputattrdouble()

subroutine gdncvarputattrdouble ( type(gd_nc_variable), intent(in)  var,
character(len = *), intent(in)  name,
double precision, dimension(:), intent(in)  value,
logical, intent(out), optional  err 
)

倍精度属性値を設定

変数に倍精度属性を設定します。name が '+' で始まる場合、 グローバル属性として扱われます。空の value 配列は属性を削除します。

Parameters
[in]var変数ハンドル
[in]name属性名
[in]value設定する倍精度値
[out]errエラーフラグ (省略可能)

Definition at line 96 of file gdncvarputattrreal.f90.

100 use netcdf, only: &
101 & nf90_global, &
102 & nf90_noerr, &
103 & nf90_put_att, &
104 & nf90_del_att
105 use dc_url, only: gt_plus
106 use dc_error
107 implicit none
108 type(GD_NC_VARIABLE), intent(in):: var
109 character(len = *), intent(in):: name
110 double precision, intent(in):: value(:)
111 logical, intent(out), optional:: err
112 type(GD_NC_VARIABLE_ENTRY):: ent
113 integer:: stat
114 continue
115 stat = vtable_lookup(var, ent)
116 if (stat /= 0) goto 999
117 if (size(value) == 0) then
118 if (name(1:1) == gt_plus) then
119 stat = nf90_del_att(ent%fileid, nf90_global, name(2:))
120 else
121 stat = nf90_del_att(ent%fileid, ent%varid, name)
122 endif
123 goto 999
124 endif
125 stat = gdncfiledefinemode(ent%fileid)
126 if (stat /= nf90_noerr) goto 999
127 if (name(1:1) == gt_plus) then
128 stat = nf90_put_att(ent%fileid, nf90_global, name(2:), value)
129 else
130 stat = nf90_put_att(ent%fileid, ent%varid, name, value)
131 endif
132999 continue
133 call storeerror(stat, 'GDNcVarPutAttrDouble', err)
エラー処理用モジュール
Definition dc_error.f90:454
subroutine, public storeerror(number, where, err, cause_c, cause_i)
Definition dc_error.f90:891
変数 URL の文字列解析
Definition dc_url.f90:61
character, parameter, public gt_plus
Definition dc_url.f90:109
integer function, public vtable_lookup(var, entry)

References dc_url::gt_plus, dc_error::storeerror(), and gtdata_netcdf_internal::vtable_lookup().

Here is the call graph for this function:

◆ gdncvarputattrreal()

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

実数 (単精度) 属性値を設定

変数に実数属性を設定します。name が '+' で始まる場合、 グローバル属性として扱われます。空の value 配列は属性を削除します。

Parameters
[in]var変数ハンドル
[in]name属性名
[in]value設定する実数値
[out]errエラーフラグ (省略可能)

Definition at line 36 of file gdncvarputattrreal.f90.

40 use netcdf, only: &
41 & nf90_global, &
42 & nf90_noerr, &
43 & nf90_put_att, &
44 & nf90_del_att
45 use dc_url, only: gt_plus
46 use dc_error
47 implicit none
48 type(GD_NC_VARIABLE), intent(in):: var
49 character(len = *), intent(in):: name
50 real, intent(in):: value(:)
51 logical, intent(out), optional:: err
52 type(GD_NC_VARIABLE_ENTRY):: ent
53 integer:: stat
54 continue
55 stat = vtable_lookup(var, ent)
56 if (stat /= nf90_noerr) goto 999
57 if (size(value) == 0) then
58 if (name(1:1) == gt_plus) then
59 stat = nf90_del_att(ent%fileid, nf90_global, name(2:))
60 else
61 stat = nf90_del_att(ent%fileid, ent%varid, name)
62 endif
63 goto 999
64 endif
65 stat = gdncfiledefinemode(ent%fileid)
66 if (stat /= nf90_noerr) goto 999
67 if (name(1:1) == gt_plus) then
68 stat = nf90_put_att(ent%fileid, nf90_global, name(2:), value)
69 else
70 stat = nf90_put_att(ent%fileid, ent%varid, name, value)
71 endif
72999 continue
73 call storeerror(stat, 'GDNcVarPutAttrReal', err)

References dc_url::gt_plus, dc_error::storeerror(), and gtdata_netcdf_internal::vtable_lookup().

Here is the call graph for this function: