|
◆ 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
-
| this | array object in which an element has to be removed |
[in] | nelem | number of elements to remove, if not provided, a single element is removed |
[in] | pos | position 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
655 IF (pstart1 == pstart2) THEN
656 lmapper%extra_info = 1
657 ELSE IF (pend1 == pend2) THEN
658 lmapper%extra_info = 2
660 lmapper%extra_info = imiss
662 lmapper%time = pstart1
663 n = insert_sorted(map_ttr(i,j), lmapper, .true., .true.)
673 END SUBROUTINE recompute_stat_proc_agg_common
676 SUBROUTINE compute_stat_proc_agg_sw(vertime, pstart, pend, time_mask, &
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(:)
686 TYPE(datetime), ALLOCATABLE :: lvertime(:)
687 TYPE(datetime) :: half, nexthalf
688 INTEGER(kind=int_ll) :: dt, tdt
690 nt = count(time_mask)
691 ALLOCATE(lvertime(nt))
692 lvertime = pack(vertime, mask=time_mask)
|