libsim Versione 7.2.4
|
◆ arrayof_ttr_mapper_delete()
Destructor for finalizing an array object. If defined, calls the destructor for every element of the array object; finally it deallocates all the space occupied.
Definizione alla linea 694 del file stat_proc_engine.F90. 699 ENDDO do_otimerange2
700 ENDDO do_itime2
701 ENDDO do_itimerange2
702
703ENDIF
704
705END SUBROUTINE recompute_stat_proc_agg_common
706
707
708SUBROUTINE compute_stat_proc_agg_sw(vertime, pstart, pend, time_mask, &
709 max_step, weights)
710TYPE(datetime),INTENT(in) :: vertime(:)
711TYPE(datetime),INTENT(in) :: pstart
712TYPE(datetime),INTENT(in) :: pend
713LOGICAL,INTENT(in) :: time_mask(:)
714TYPE(timedelta),OPTIONAL,INTENT(out) :: max_step
715DOUBLE PRECISION,OPTIONAL,INTENT(out) :: weights(:)
716
717INTEGER :: i, nt
718TYPE(datetime),ALLOCATABLE :: lvertime(:)
719TYPE(datetime) :: half, nexthalf
720INTEGER(kind=int_ll) :: dt, tdt
721
722nt = count(time_mask)
723ALLOCATE(lvertime(nt))
724lvertime = pack(vertime, mask=time_mask)
725
726IF (PRESENT(max_step)) THEN
727! new way
728! max_step = timedelta_0
729! DO i = 1, nt - 1
730! IF (lvertime(i+1) - lvertime(i) > max_step) &
731! max_step = lvertime(i+1) - lvertime(i)
732! ENDDO
733! IF (lvertime(1) - pstart > max_step) max_step = lvertime(1) - pstart
734! IF (pend - lvertime(nt) > max_step) max_step = pend - lvertime(nt)
735! old way
736 IF (nt == 1) THEN
737 max_step = pend - pstart
738 ELSE
739 half = lvertime(1) + (lvertime(2) - lvertime(1))/2
740 max_step = half - pstart
|