libsim  Versione 7.1.6

◆ arrayof_ttr_mapper_remove()

subroutine arrayof_ttr_mapper_remove ( type(arrayof_ttr_mapper this,
integer, intent(in), optional  nelem,
integer, intent(in), optional  pos 
)

Method for removing elements of the array at a desired position.

If necessary, the array is reallocated to reduce space.

Parametri
thisarray object in which an element has to be removed
[in]nelemnumber of elements to remove, if not provided, a single element is removed
[in]posposition of the element to be removed, if it is out of range, it is clipped, if it is not provided, objects are removed at the end

Definizione alla linea 647 del file stat_proc_engine.F90.

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

Generated with Doxygen.