subroutine lmsnxt (kode) c c----------------------------------------------------------------------- c c This routune updates the new processing subperiod time limits. c c kode = 0 ==> have new sub-period, continue processing c kode = 1 ==> no more sub-periods, stop processing this run c c----------------------------------------------------------------------- c integer*4 icollect_times(4), idur, iflag, inc, irun_times(4), * itsav, iydsav, kode c common /com_times/irun_times, icollect_times, idur, inc c c----------------------------------------------------------------------- c----------------------------------------------------------------------- c kode = 1 c c----------------------------------------------------------------------- c *** if subperiods not defined then return *** c----------------------------------------------------------------------- c if (idur .le. 0 .and. inc .le. 0) return c c----------------------------------------------------------------------- c *** was this the last subperiod *** c----------------------------------------------------------------------- c call cmptm2 (icollect_times(3), icollect_times(4), * irun_times(3), irun_times(4), iflag) if (iflag .ge. 0) return c c----------------------------------------------------------------------- c *** update current limits to new sub-period *** c----------------------------------------------------------------------- c kode = 0 iydsav = icollect_times(1) itsav = icollect_times(2) call addtm2 (iydsav, itsav, inc, * icollect_times(1), icollect_times(2)) call addtm2 (icollect_times(1), icollect_times(2), idur, * icollect_times(3), icollect_times(4)) c c----------------------------------------------------------------------- c----------------------------------------------------------------------- c return end