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

Go to the source code of this file.

Functions/Subroutines

subroutine gdncvarputreal (var, start, count, stride, imap, siz, value, iostat)
subroutine gdncvarputdouble (var, start, count, stride, imap, siz, value, iostat)
subroutine gdncvarputint (var, start, count, stride, imap, siz, value, iostat)
subroutine gdncvarputchar (var, start, count, stride, imap, siz, value, iostat)

Function/Subroutine Documentation

◆ gdncvarputchar()

subroutine gdncvarputchar ( type(gd_nc_variable), intent(in) var,
integer, dimension(:), intent(in) start,
integer, dimension(:), intent(in) count,
integer, dimension(:), intent(in) stride,
integer, dimension(:), intent(in) imap,
integer, intent(in) siz,
character(*), dimension(siz), intent(in) value,
integer, intent(out) iostat )

変数データの出力 (char 型)

netCDF 変数へ配列スライシングをサポートしてデータを書き込みます。

Parameters
[in]var変数ハンドル
[in]start各次元の開始インデックス
[in]count各次元の書き込み要素数
[in]stride各次元のストライド (間隔)
[in]imapメモリマッピングベクトル (NetCDF マニュアル NF_PUT_VARM_type 参照)
[in]sizvalue 配列のサイズ
[in]value書き込むデータ
[out]iostatI/O ステータス (成功時 NF90_NOERR)

Definition at line 229 of file gdncvarputnum.f90.

232 use netcdf, only: nf90_noerr, nf90_einval, nf90_put_var
234 use dc_trace, only: dbgmessage
235 implicit none
236 type(GD_NC_VARIABLE), intent(in):: var
237 integer, intent(in):: start(:)
238 integer, intent(in):: count(:)
239 integer, intent(in):: stride(:)
240 integer, intent(in):: imap(:)
241 integer, intent(in):: siz
242 character(*), intent(in):: value(siz)
243 integer, intent(out):: iostat
244 integer:: ndims
245 type(GD_NC_VARIABLE_ENTRY):: ent
246 continue
247 iostat = vtable_lookup(var, ent)
248 if (iostat /= nf90_noerr) goto 999
249 ndims = 0
250 if (associated(ent%dimids)) ndims = size(ent%dimids)
251 if (min(size(start), size(count), size(stride), size(imap)) < ndims) then
252 iostat = nf90_einval
253 goto 999
254 endif
255 call dbgmessage("f=%d v=%d sta=%*d c=%*d str=%*d imap=%*d", &
256 & i=(/ent%fileid, ent%varid, start, count, stride, imap/), &
257 & n=(/ndims, ndims, ndims, ndims/))
258 iostat = gdncfiledatamode(ent%fileid)
259 if (iostat /= nf90_noerr) return
260 iostat = nf90_put_var(ent%fileid, ent%varid, value, &
261 & start, count, stride, imap)
262999 continue
デバッグ時の追跡用モジュール
Definition dc_trace.f90:150
subroutine, public dbgmessage(fmt, i, r, d, l, n, c1, c2, c3, ca)
Definition dc_trace.f90:680
integer function, public vtable_lookup(var, entry)

References dc_trace::dbgmessage(), and gtdata_netcdf_internal::vtable_lookup().

Here is the call graph for this function:

◆ gdncvarputdouble()

subroutine gdncvarputdouble ( type(gd_nc_variable), intent(in) var,
integer, dimension(:), intent(in) start,
integer, dimension(:), intent(in) count,
integer, dimension(:), intent(in) stride,
integer, dimension(:), intent(in) imap,
integer, intent(in) siz,
real(dp), dimension(siz), intent(in) value,
integer, intent(out) iostat )

変数データの出力 (double 型)

netCDF 変数へ配列スライシングをサポートしてデータを書き込みます。

Parameters
[in]var変数ハンドル
[in]start各次元の開始インデックス
[in]count各次元の書き込み要素数
[in]stride各次元のストライド (間隔)
[in]imapメモリマッピングベクトル (NetCDF マニュアル NF_PUT_VARM_type 参照)
[in]sizvalue 配列のサイズ
[in]value書き込むデータ
[out]iostatI/O ステータス (成功時 NF90_NOERR)

Definition at line 110 of file gdncvarputnum.f90.

111 use dc_types, only: dp
114 use netcdf, only: nf90_noerr, nf90_einval, nf90_put_var
116 use dc_trace, only: dbgmessage
117 implicit none
118 type(GD_NC_VARIABLE), intent(in):: var
119 integer, intent(in):: start(:)
120 integer, intent(in):: count(:)
121 integer, intent(in):: stride(:)
122 integer, intent(in):: imap(:)
123 integer, intent(in):: siz
124 real(DP), intent(in):: value(siz)
125 integer, intent(out):: iostat
126 integer:: ndims
127 type(GD_NC_VARIABLE_ENTRY):: ent
128 continue
129 iostat = vtable_lookup(var, ent)
130 if (iostat /= nf90_noerr) goto 999
131 ndims = 0
132 if (associated(ent%dimids)) ndims = size(ent%dimids)
133 if (min(size(start), size(count), size(stride), size(imap)) < ndims) then
134 iostat = nf90_einval
135 goto 999
136 endif
137 call dbgmessage("f=%d v=%d sta=%*d c=%*d str=%*d imap=%*d", &
138 & i=(/ent%fileid, ent%varid, start, count, stride, imap/), &
139 & n=(/ndims, ndims, ndims, ndims/))
140 iostat = gdncfiledatamode(ent%fileid)
141 if (iostat /= nf90_noerr) return
142 iostat = nf90_put_var(ent%fileid, ent%varid, value, &
143 & start, count, stride, imap)
144999 continue
種別型パラメタを提供します。
Definition dc_types.f90:55
integer, parameter, public dp
倍精度実数型変数
Definition dc_types.f90:92

References dc_trace::dbgmessage(), dc_types::dp, and gtdata_netcdf_internal::vtable_lookup().

Here is the call graph for this function:

◆ gdncvarputint()

subroutine gdncvarputint ( type(gd_nc_variable), intent(in) var,
integer, dimension(:), intent(in) start,
integer, dimension(:), intent(in) count,
integer, dimension(:), intent(in) stride,
integer, dimension(:), intent(in) imap,
integer, intent(in) siz,
integer, dimension(siz), intent(in) value,
integer, intent(out) iostat )

変数データの出力 (int 型)

netCDF 変数へ配列スライシングをサポートしてデータを書き込みます。

Parameters
[in]var変数ハンドル
[in]start各次元の開始インデックス
[in]count各次元の書き込み要素数
[in]stride各次元のストライド (間隔)
[in]imapメモリマッピングベクトル (NetCDF マニュアル NF_PUT_VARM_type 参照)
[in]sizvalue 配列のサイズ
[in]value書き込むデータ
[out]iostatI/O ステータス (成功時 NF90_NOERR)

Definition at line 170 of file gdncvarputnum.f90.

173 use netcdf, only: nf90_noerr, nf90_einval, nf90_put_var
175 use dc_trace, only: dbgmessage
176 implicit none
177 type(GD_NC_VARIABLE), intent(in):: var
178 integer, intent(in):: start(:)
179 integer, intent(in):: count(:)
180 integer, intent(in):: stride(:)
181 integer, intent(in):: imap(:)
182 integer, intent(in):: siz
183 integer, intent(in):: value(siz)
184 integer, intent(out):: iostat
185 integer:: ndims
186 type(GD_NC_VARIABLE_ENTRY):: ent
187 continue
188 iostat = vtable_lookup(var, ent)
189 if (iostat /= nf90_noerr) goto 999
190 ndims = 0
191 if (associated(ent%dimids)) ndims = size(ent%dimids)
192 if (min(size(start), size(count), size(stride), size(imap)) < ndims) then
193 iostat = nf90_einval
194 goto 999
195 endif
196 call dbgmessage("f=%d v=%d sta=%*d c=%*d str=%*d imap=%*d", &
197 & i=(/ent%fileid, ent%varid, start, count, stride, imap/), &
198 & n=(/ndims, ndims, ndims, ndims/))
199 iostat = gdncfiledatamode(ent%fileid)
200 if (iostat /= nf90_noerr) return
201 iostat = nf90_put_var(ent%fileid, ent%varid, value, &
202 & start, count, stride, imap)
203999 continue

References dc_trace::dbgmessage(), and gtdata_netcdf_internal::vtable_lookup().

Here is the call graph for this function:

◆ gdncvarputreal()

subroutine gdncvarputreal ( type(gd_nc_variable), intent(in) var,
integer, dimension(:), intent(in) start,
integer, dimension(:), intent(in) count,
integer, dimension(:), intent(in) stride,
integer, dimension(:), intent(in) imap,
integer, intent(in) siz,
real(sp), dimension(siz), intent(in) value,
integer, intent(out) iostat )

Definition at line 50 of file gdncvarputnum.f90.

51 use dc_types, only: sp
54 use netcdf, only: nf90_noerr, nf90_einval, nf90_put_var
56 use dc_trace, only: dbgmessage
57 implicit none
58 type(GD_NC_VARIABLE), intent(in):: var
59 integer, intent(in):: start(:)
60 integer, intent(in):: count(:)
61 integer, intent(in):: stride(:)
62 integer, intent(in):: imap(:)
63 integer, intent(in):: siz
64 real(SP), intent(in):: value(siz)
65 integer, intent(out):: iostat
66 integer:: ndims
67 type(GD_NC_VARIABLE_ENTRY):: ent
68 continue
69 iostat = vtable_lookup(var, ent)
70 if (iostat /= nf90_noerr) goto 999
71 ndims = 0
72 if (associated(ent%dimids)) ndims = size(ent%dimids)
73 if (min(size(start), size(count), size(stride), size(imap)) < ndims) then
74 iostat = nf90_einval
75 goto 999
76 endif
77 call dbgmessage("f=%d v=%d sta=%*d c=%*d str=%*d imap=%*d", &
78 & i=(/ent%fileid, ent%varid, start, count, stride, imap/), &
79 & n=(/ndims, ndims, ndims, ndims/))
80 iostat = gdncfiledatamode(ent%fileid)
81 if (iostat /= nf90_noerr) return
82 iostat = nf90_put_var(ent%fileid, ent%varid, value, &
83 & start, count, stride, imap)
84999 continue
integer, parameter, public sp
単精度実数型変数
Definition dc_types.f90:82

References dc_trace::dbgmessage(), dc_types::sp, and gtdata_netcdf_internal::vtable_lookup().

Here is the call graph for this function: