libsim Versione 7.2.1
|
◆ arrayof_ttr_mapper_insert_array()
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.
Definizione alla linea 490 del file stat_proc_engine.F90. 491! if autodetected, adjust to obtain real absolute start of data
492 IF (time_definition == 0) THEN ! reference time
493 lstart = lstart + timedelta_new(sec=minp1mp2)
494 ELSE ! verification time
495! go back to start of longest processing interval
496 lstart = lstart - timedelta_new(sec=maxp2)
497 ENDIF
498! full_steps is effective only in analysis mode and when start is not
499! specified (start by itself in analysis mode implies full_steps with
500! respect to start instead of absolute full steps)
501 IF (optio_log(full_steps) .AND. .NOT.lforecast) THEN
502 lstart = lstart - (mod(lstart, step)) ! round to step, (should be MODULO, not MOD)
503 ENDIF
504ENDIF
505
506#ifdef DEBUG
507CALL l4f_log(l4f_debug, &
508 'recompute_stat_proc_agg, processing period: '//t2c(lstart)//' - '//t2c(lend))
509#endif
510
511! create output time and timerange lists
512
513IF (lforecast) THEN ! forecast mode
514 IF (time_definition == 0) THEN ! reference time
515 CALL insert(a_otime, itime) ! should I limit to elements itime >= lstart?
516
517! apply start shift to timerange, not to reftime
518! why did we use itime(SIZE(itime)) (last ref time)?
519! CALL getval(lstart-itime(SIZE(itime)), asec=dstart)
520 CALL getval(lstart-itime(1), asec=dstart)
521! allow starting before first reftime but restrict dtstart to -steps
522! dstart = MAX(0, dstart)
523 IF (dstart < 0) dstart = mod(dstart, steps)
524 DO p1 = steps + dstart, maxp1, steps
|