|
◆ arrayof_ttr_mapper_remove()
subroutine, private stat_proc_engine::arrayof_ttr_mapper_remove |
( |
type(arrayof_ttr_mapper) |
this, |
|
|
integer, intent(in), optional |
nelem, |
|
|
integer, intent(in), optional |
pos |
|
) |
| |
|
private |
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 656 del file stat_proc_engine.F90.
658 lmapper%extra_info = steps/itimerange(l)%p2 659 n = append(map_ttr(i,j), lmapper) 669 ALLOCATE(map_ttr( SIZE(otime), SIZE(otimerange))) 670 do_itimerange2: DO l = 1, SIZE(itimerange) 671 IF (.NOT.mask_timerange(l)) cycle do_itimerange2 672 do_itime2: DO k = 1, SIZE(itime) 673 CALL time_timerange_get_period(itime(k), itimerange(l), & 674 time_definition, pstart1, pend1, reftime1) 675 do_otimerange2: DO j = 1, SIZE(otimerange) 676 do_otime2: DO i = 1, SIZE(otime) 677 CALL time_timerange_get_period_pop(otime(i), otimerange(j), step, & 678 time_definition, pstart2, pend2, reftime2) 680 IF (reftime1 /= reftime2) cycle do_otime2 683 IF (climat_behavior .AND. pstart1 == pstart2) cycle do_otime2 684 IF (pstart1 >= pstart2 .AND. pend1 <= pend2) THEN 687 IF (pstart1 == pstart2) THEN 688 lmapper%extra_info = 1 689 ELSE IF (pend1 == pend2) THEN 690 lmapper%extra_info = 2 692 lmapper%extra_info = imiss 694 lmapper%time = pstart1 695 n = insert_sorted(map_ttr(i,j), lmapper, .true., .true.)
|