libsim  Versione7.2.1

◆ 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 656 del file stat_proc_engine.F90.

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 
673 ENDIF
674 
675 END SUBROUTINE recompute_stat_proc_agg_common
676 
677 
678 SUBROUTINE compute_stat_proc_agg_sw(vertime, pstart, pend, time_mask, &
679  max_step, weights)
680 TYPE(datetime),INTENT(in) :: vertime(:)
681 TYPE(datetime),INTENT(in) :: pstart
682 TYPE(datetime),INTENT(in) :: pend
683 LOGICAL,INTENT(in) :: time_mask(:)
684 TYPE(timedelta),OPTIONAL,INTENT(out) :: max_step
685 DOUBLE PRECISION,OPTIONAL,INTENT(out) :: weights(:)
686 
687 INTEGER :: i, nt
688 TYPE(datetime),ALLOCATABLE :: lvertime(:)
689 TYPE(datetime) :: half, nexthalf
690 INTEGER(kind=int_ll) :: dt, tdt
691 
692 nt = count(time_mask)
693 ALLOCATE(lvertime(nt))
694 lvertime = pack(vertime, mask=time_mask)
695 
696 IF (PRESENT(max_step)) THEN
697 ! new way

Generated with Doxygen.