256
257
258
259
260
261
265
266
267 type(GT_HISTORY), intent(inout):: history
268 integer, intent(in):: dimord
269 integer:: length, i
270 real(DP), allocatable:: value(:)
271 logical:: err
272 continue
273 if (dimord == history % unlimited_index) then
274 if (.not. associated(history % count)) return
275 length = maxval(history % count(:))
276 else
277 call inquire(history % dimvars(dimord), size=length)
278 endif
279 if (length == 0) return
280 allocate(value(length))
281 if (dimord == history % unlimited_index) then
282 value(:) = (/(real(i,
dp), i = 1, length)/)
283 value(:) = &
284 & history % origin &
285 & + (value(:) - 1.0_dp) * history % interval
286
287
288
289
290 call slice(history % dimvars(dimord), 1, start=1, count=length)
291 else
292 value(:) = (/(real(i,
dp), i = 1, length)/)
293 endif
294 call put(history % dimvars(dimord),
value,
size(
value), err)
296 deallocate(value)
手続引用仕様. いずれ差し替えられるように外部関数にしておく。
integer, parameter, public dp
倍精度実数型変数