45     integer(I4B), 
allocatable :: steps(:)
 
   60     deallocate (this%steps)
 
   67     if (
allocated(this%steps)) 
deallocate (this%steps)
 
   68     allocate (this%steps(0))
 
   75   subroutine log(this, iout, verb)
 
   78     integer(I4B), 
intent(in) :: iout
 
   79     character(len=*), 
intent(in) :: verb
 
   81     character(len=*), 
parameter :: fmt_steps = &
 
   82       &
"(6x,'THE FOLLOWING STEPS WILL BE ',A,': ',50(I0,' '))" 
   83     character(len=*), 
parameter :: fmt_freq = &
 
   84       &
"(6x,'THE FOLLOWING FREQUENCY WILL BE ',A,': ',I0)" 
   87       write (iout, 
"(6x,a,a)") 
'ALL TIME STEPS WILL BE ', verb
 
   89     if (
size(this%steps) > 0) 
then 
   90       write (iout, fmt_steps) verb, this%steps
 
   92     if (this%freq > 0) 
then 
   93       write (iout, fmt_freq) verb, this%freq
 
   96       write (iout, 
"(6x,a,a)") 
'THE FIRST TIME STEP WILL BE ', verb
 
   99       write (iout, 
"(6x,a,a)") 
'THE LAST TIME STEP WILL BE ', verb
 
  106     character(len=*), 
intent(in) :: line
 
  108     character(len=len(line)) :: l
 
  109     integer(I4B) :: n, lloc, istart, istop, ival
 
  115     call urword(l, lloc, istart, istop, 1, ival, rval, 0, 0)
 
  116     select case (l(istart:istop))
 
  121         call urword(l, lloc, istart, istop, 2, ival, rval, -1, 0)
 
  125           this%steps(n + 1) = ival
 
  131       call urword(l, lloc, istart, istop, 2, ival, rval, -1, 0)
 
  139         'Looking for ALL, STEPS, FIRST, LAST, OR FREQUENCY. Found: ', &
 
  149     integer(I4B), 
intent(in) :: kstp
 
  150     logical(LGP), 
intent(in), 
optional :: endofperiod
 
  155     if (
present(endofperiod)) 
then 
  163     if (kstp == 1 .and. this%first) 
is_selected = .true.
 
  165     if (this%freq > 0) 
then 
  166       if (mod(kstp, this%freq) == 0) 
is_selected = .true.
 
  171         if (kstp == this%steps(i)) 
then 
  180   logical function any(this) 
result(a)
 
  186          size(this%steps) > 0)
 
This module defines variable data types.
 
This module contains simulation methods.
 
subroutine, public store_error(msg, terminate)
Store an error message.
 
This module contains simulation variables.
 
character(len=maxcharlen) errmsg
error message string
 
Time step selection module.
 
subroutine deallocate(this)
Deallocate the time step selection object.
 
subroutine read(this, line)
Read a line of input and prepare the selection object.
 
logical function is_selected(this, kstp, endofperiod)
Indicates whether the given time step is selected.
 
logical function any(this)
Indicates whether any time steps are selected.
 
subroutine log(this, iout, verb)
 
Time step selection type.