34 real,
intent(in),
optional:: time
44 type(
gt_history),
intent(inout),
optional,
target:: history
62 real(DP),
intent(in),
optional:: timed
74 real,
pointer:: buffer(:) =>null()
78 logical:: err, dbg_mode
79 character(*),
parameter:: subname =
"HistorySetTime" 82 if (
present(history))
then 87 call debug( dbg_mode )
89 if (
present(difftime) )
then 90 timew =
evalbyunit( difftime,
'', hst % unlimited_units_symbol )
92 elseif (
present(timed) )
then 94 elseif (
present(time) )
then 98 if (hst % unlimited_index == 0)
then 101 var = hst % dimvars(hst % unlimited_index)
102 hst % dim_value_written(hst % unlimited_index) = .true.
103 if (
present(difftime) )
then 104 dt =
evalbyunit( difftime,
'', hst % unlimited_units_symbol )
106 elseif (
present(timed) )
then 111 elseif (
present(time) )
then 117 if ( dt < hst % oldest &
118 & .or. dt > hst % newest &
119 & .or. hst % count(2) == 0 )
then 120 hst % count(:) = maxval(hst % count(:)) + 1
121 hst % newest =
max(hst % newest, dt)
122 hst % oldest =
min(hst % oldest, dt)
123 call slice(var, 1, start=hst % count(1), count=1)
126 call put(var, (/timew/), 1, err)
130 call slice(var, 1, start=1, count=hst % count(2))
131 call get(var, buffer, err)
132 hst % count(1:1) = minloc(abs(buffer - timew))
type(gt_history), target, save, public default
subroutine historysettime(time, history, difftime, timed)
integer, parameter, public token
単語やキーワードを保持する文字型変数の種別型パラメタ
integer, parameter, public dp
倍精度実数型変数
subroutine, public dbgmessage(fmt, i, r, d, L, n, c1, c2, c3, ca)
subroutine, public beginsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca, version)
subroutine, public endsub(name, fmt, i, r, d, L, n, c1, c2, c3, ca)
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ