libsim  Versione8.0.0

◆ count_distinct_ttr_mapper()

integer function stat_proc_engine::count_distinct_ttr_mapper ( type(ttr_mapper), dimension(:), intent(in)  vect,
logical, dimension(:), intent(in), optional  mask,
logical, intent(in), optional  back 
)

conta gli elementi distinti in vect

Definizione alla linea 872 del file stat_proc_engine.F90.

872 ELSE
873  decoded%pstart = datetime_miss
874  decoded%pend = datetime_miss
875  decoded%reftime = datetime_miss
876 ENDIF
877 
878 END SUBROUTINE ttr_decoder_decode
879 
880 
881 ! get start of period, end of period and reference time from time,
882 ! timerange, according to time_definition. step is taken separately
883 ! from timerange and can be "popular"
884 SUBROUTINE time_timerange_get_period_pop(time, timerange, step, time_definition, &
885  pstart, pend, reftime)
886 TYPE(datetime),INTENT(in) :: time
887 TYPE(vol7d_timerange),INTENT(in) :: timerange
888 TYPE(timedelta),INTENT(in) :: step
889 INTEGER,INTENT(in) :: time_definition
890 TYPE(datetime),INTENT(out) :: reftime
891 TYPE(datetime),INTENT(out) :: pstart
892 TYPE(datetime),INTENT(out) :: pend
893 
894 TYPE(timedelta) :: p1
895 
896 
897 p1 = timedelta_new(sec=timerange%p1) ! end of period
898 
899 IF (time == datetime_miss .OR. .NOT.c_e(timerange%p1) .OR. .NOT.c_e(timerange%p2) .OR. &
900 ! (timerange%p1 > 0 .AND. timerange%p1 < timerange%p2) .OR. &
901  timerange%p1 < 0 .OR. timerange%p2 < 0) THEN ! is this too pedantic and slow?
902  pstart = datetime_miss
903  pend = datetime_miss
904  reftime = datetime_miss
905  RETURN
906 ENDIF
907 
908 IF (time_definition == 0) THEN ! time == reference time
909  reftime = time
910  pend = time + p1
911  pstart = pend - step
912 ELSE IF (time_definition == 1 .OR. time_definition == 2) THEN ! time == verification time
913  pend = time
914  pstart = time - step
915  reftime = time - p1
916 ELSE
917  pstart = datetime_miss
918  pend = datetime_miss
919  reftime = datetime_miss
920 ENDIF
921 
922 END SUBROUTINE time_timerange_get_period_pop
923 
924 
925 ! get start of period, end of period and reference time from time,
926 ! timerange, according to time_definition. step is taken separately
927 ! from timerange and can be "popular"
928 SUBROUTINE ttr_decoder_decode_pop(time, timerange, step, time_definition, decoded)
929 TYPE(datetime),INTENT(in) :: time
930 TYPE(vol7d_timerange),INTENT(in) :: timerange
931 TYPE(timedelta),INTENT(in) :: step
932 INTEGER,INTENT(in) :: time_definition
933 TYPE(ttr_decoder),INTENT(out) :: decoded
934 
935 TYPE(timedelta) :: p1
936 
937 
938 p1 = timedelta_new(sec=timerange%p1) ! end of period
939 
940 IF (time == datetime_miss .OR. .NOT.c_e(timerange%p1) .OR. .NOT.c_e(timerange%p2) .OR. &

Generated with Doxygen.