libsim Versione 7.1.11
|
◆ arrayof_ttr_mapper_remove()
Method for removing elements of the array at a desired position. If necessary, the array is reallocated to reduce space.
Definizione alla linea 647 del file stat_proc_engine.F90. 652
653 IF (climat_behavior .AND. pstart1 == pstart2) cycle do_otime2
654 IF (pstart1 >= pstart2 .AND. pend1 <= pend2) THEN ! useful
655 lmapper%it = k
656 lmapper%itr = l
657 IF (pstart1 == pstart2) THEN
658 lmapper%extra_info = 1 ! start of interval
659 ELSE IF (pend1 == pend2) THEN
660 lmapper%extra_info = 2 ! end of interval
661 ELSE
662 lmapper%extra_info = imiss
663 ENDIF
664 lmapper%time = pstart1 ! = pend1, order by time?
665 n = insert_sorted(map_ttr(i,j), lmapper, .true., .true.)
666! no CYCLE, a single input can contribute to multiple output intervals
667 ENDIF
668 ENDDO do_otime2
669 ENDDO do_otimerange2
670 ENDDO do_itime2
671 ENDDO do_itimerange2
672
673ENDIF
674
675END SUBROUTINE recompute_stat_proc_agg_common
676
677
678SUBROUTINE compute_stat_proc_agg_sw(vertime, pstart, pend, time_mask, &
679 max_step, weights)
680TYPE(datetime),INTENT(in) :: vertime(:)
681TYPE(datetime),INTENT(in) :: pstart
682TYPE(datetime),INTENT(in) :: pend
683LOGICAL,INTENT(in) :: time_mask(:)
684TYPE(timedelta),OPTIONAL,INTENT(out) :: max_step
685DOUBLE PRECISION,OPTIONAL,INTENT(out) :: weights(:)
686
687INTEGER :: i, nt
688TYPE(datetime),ALLOCATABLE :: lvertime(:)
689TYPE(datetime) :: half, nexthalf
690INTEGER(kind=int_ll) :: dt, tdt
691
692nt = count(time_mask)
693ALLOCATE(lvertime(nt))
|