libsim  Versione 7.1.6

◆ arrayof_ttr_mapper_insert_array()

subroutine arrayof_ttr_mapper_insert_array ( type(arrayof_ttr_mapper this,
type(ttr_mapper), dimension(:), intent(in), optional  content,
integer, intent(in), optional  nelem,
integer, intent(in), optional  pos 
)

Method for inserting a number of elements of the array at a desired position.

If necessary, the array is reallocated to accomodate the new elements.

Parametri
thisarray object to extend
[in]contentobject of TYPE TYPE(ttr_mapper) to insert, if not provided, space is reserved but not initialized
[in]nelemnumber of elements to add, mutually exclusive with the previous parameter, if both are not provided, a single element is added without initialization
[in]posposition where to insert, if it is out of range, it is clipped, if it is not provided, the object is appended

Definizione alla linea 496 del file stat_proc_engine.F90.

497  lstart = lstart - timedelta_new(sec=maxp2)
498  ENDIF
499  IF (optio_log(full_steps) .AND. .NOT.lforecast) THEN
500  lstart = lstart - (mod(lstart, step)) ! round to step, (should be MODULO, not MOD)
501  ENDIF
502 ENDIF
503 
504 #ifdef DEBUG
505 CALL l4f_log(l4f_debug, &
506  'recompute_stat_proc_agg, processing period: '//t2c(lstart)//' - '//t2c(lend))
507 #endif
508 
509 ! create output time and timerange lists
510 
511 IF (lforecast) THEN ! forecast mode
512  IF (time_definition == 0) THEN ! reference time
513  CALL insert(a_otime, itime) ! should I limit to elements itime >= lstart?
514 
515 ! apply start shift to timerange, not to reftime
516 ! why did we use itime(SIZE(itime)) (last ref time)?
517 ! CALL getval(lstart-itime(SIZE(itime)), asec=dstart)
518  CALL getval(lstart-itime(1), asec=dstart)
519 ! allow starting before first reftime but restrict dtstart to -steps
520 ! dstart = MAX(0, dstart)
521  IF (dstart < 0) dstart = mod(dstart, steps)
522  DO p1 = steps + dstart, maxp1, steps
523  CALL insert_unique(a_otimerange, vol7d_timerange_new(stat_proc, p1, steps))
524  ENDDO
525 
526  ELSE ! verification time
527 
528 ! verification time in forecast mode is the ugliest case, because we
529 ! don't know a priori how many different (thus incompatible) reference
530 ! times we have, so some assumption of regularity has to be made. For

Generated with Doxygen.