447     use dc_date, only: 
operator(==), 
operator(>), 
operator(<), &
   451     real(DP), 
intent(in):: time
   453     integer, 
intent(out):: stime_index
   456     integer:: stat, 
i, startnum, endnum
   457     character(STRING):: cause_c
   458     character(*), 
parameter:: subname = 
"HstVarsOutputCheck"   468       do i = saved_tstep, checked_tstepnum
   469         if ( saved_time(
i) == time ) 
then   474       do i = 1, saved_tstep - 1
   475         if ( saved_time(
i) == time ) 
then   483     end do timestepsearch
   487     if ( saved_tstep /= 0 .and. checked_tstep_varnum == numvars ) 
then   491       stime_index = saved_tstep
   492       call dbgmessage( 
'saved_tstep=<%d> is already checked.', &
   493         & 
i =(/ saved_tstep /) )
   500     if ( saved_tstep /= 0 ) 
then   501       startnum = checked_tstep_varnum + 1
   504       stime_index = saved_tstep
   509       if ( save_tstepnum < 2 ) 
then   511         saved_time(checked_tstepnum) = time
   513         saved_tstep = checked_tstepnum
   514         stime_index = saved_tstep
   516       elseif ( .not. checked_tstepnum < save_tstepnum ) 
then   517         create_timing_vars(:,1:checked_tstepnum-1) = create_timing_vars(:,2:checked_tstepnum)
   518         close_timing_vars(:,1:checked_tstepnum-1) = close_timing_vars(:,2:checked_tstepnum)
   519         renew_timing_vars(:,1:checked_tstepnum-1) = renew_timing_vars(:,2:checked_tstepnum)
   520         output_timing_vars(:,1:checked_tstepnum-1) = output_timing_vars(:,2:checked_tstepnum)
   521         output_timing_avr_vars(:,1:checked_tstepnum-1) = output_timing_avr_vars(:,2:checked_tstepnum)
   523         saved_time(1:checked_tstepnum-1) = saved_time(2:checked_tstepnum)
   524         saved_time(checked_tstepnum) = time
   526         saved_tstep = checked_tstepnum
   527         stime_index = saved_tstep
   530         checked_tstepnum = checked_tstepnum + 1
   531         saved_time(checked_tstepnum) = time
   533         saved_tstep = checked_tstepnum
   534         stime_index = saved_tstep
   538     call dbgmessage( 
'numvar=<%d:%d> in saved_tstep=<%d> will be checked from now.', &
   539       & 
i =(/ startnum, endnum, saved_tstep /) )
   550     create_timing_vars(startnum:endnum, checked_tstepnum:checked_tstepnum) = .false.
   551     close_timing_vars(startnum:endnum, checked_tstepnum:checked_tstepnum) = .false.
   552     renew_timing_vars(startnum:endnum, checked_tstepnum:checked_tstepnum) = .false.
   553     output_timing_vars(startnum:endnum, checked_tstepnum:checked_tstepnum) = .false.
   554     output_timing_avr_vars(startnum:endnum, checked_tstepnum:checked_tstepnum) = .false.
   556     do i = startnum, endnum
   558       if ( .not. output_valid_vars(
i) ) cycle
   560       if ( origin_time_vars(
i) > time ) cycle
   562       if (             origin_time_vars(
i) <= time &
   563         &  .and.       (      terminus_time_vars(
i) < zero_time &
   564         &                .or. terminus_time_vars(
i) >= time      ) &
   565         &  .and. .not. histaddvar_vars(
i)            ) 
then   567         create_timing_vars(
i,checked_tstepnum) = .true.
   569         if ( newfile_inttime_vars(
i) > zero_time ) 
then   570           newfile_createtime_vars(
i) = time
   573         output_timing_vars(
i,checked_tstepnum) = .true.
   574         output_timing_avr_vars(
i,checked_tstepnum) = tavr_vars(
i)
   578       if ( terminus_time_vars(
i) > zero_time .and. terminus_time_vars(
i) < time ) 
then   579         close_timing_vars(
i,checked_tstepnum) = .true.
   580         output_timing_vars(
i,checked_tstepnum) = .false.
   581         output_timing_avr_vars(
i,checked_tstepnum) = .false.
   591       if ( newfile_inttime_vars(
i) > zero_time ) 
then   592         if ( time - newfile_createtime_vars(
i) >= newfile_inttime_vars(
i) ) 
then   593           renew_timing_vars(
i,checked_tstepnum) = .true.
   595           output_timing_vars(
i,checked_tstepnum) = .true.
   596           output_timing_avr_vars(
i,checked_tstepnum) = tavr_vars(
i)
   602       if ( time - prev_outtime_vars(
i) >= interval_time_vars(
i) ) 
then   603         output_timing_vars(
i,checked_tstepnum) = .true.
   604         output_timing_avr_vars(
i,checked_tstepnum) = tavr_vars(
i)
   608       output_timing_vars(
i,checked_tstepnum) = .false.
   609       output_timing_avr_vars(
i,checked_tstepnum) = tavr_vars(
i)
   613     checked_tstep_varnum = numvars
   616     call storeerror(stat, subname, cause_c = cause_c)
 
subroutine, public storeerror(number, where, err, cause_c, cause_i)
 
integer, parameter, public dc_noerr
 
subroutine historyclose(history, quiet, err)
 
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)