libsim Versione 8.0.0

◆ count_distinct_ttr_mapper()

integer function 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 861 del file stat_proc_engine.F90.

862ENDIF
863
864IF (time_definition == 0) THEN ! time == reference time
865 decoded%reftime = time
866 decoded%pend = time + p1
867 decoded%pstart = decoded%pend - p2
868ELSE IF (time_definition == 1 .OR. time_definition == 2) THEN ! time == verification time
869 decoded%pend = time
870 decoded%pstart = time - p2
871 decoded%reftime = time - p1
872ELSE
873 decoded%pstart = datetime_miss
874 decoded%pend = datetime_miss
875 decoded%reftime = datetime_miss
876ENDIF
877
878END 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"
884SUBROUTINE time_timerange_get_period_pop(time, timerange, step, time_definition, &
885 pstart, pend, reftime)
886TYPE(datetime),INTENT(in) :: time
887TYPE(vol7d_timerange),INTENT(in) :: timerange
888TYPE(timedelta),INTENT(in) :: step
889INTEGER,INTENT(in) :: time_definition
890TYPE(datetime),INTENT(out) :: reftime
891TYPE(datetime),INTENT(out) :: pstart
892TYPE(datetime),INTENT(out) :: pend
893
894TYPE(timedelta) :: p1
895
896
897p1 = timedelta_new(sec=timerange%p1) ! end of period
898
899IF (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
906ENDIF
907
908IF (time_definition == 0) THEN ! time == reference time
909 reftime = time
910 pend = time + p1
911 pstart = pend - step
912ELSE IF (time_definition == 1 .OR. time_definition == 2) THEN ! time == verification time
913 pend = time
914 pstart = time - step
915 reftime = time - p1
916ELSE
917 pstart = datetime_miss
918 pend = datetime_miss
919 reftime = datetime_miss
920ENDIF
921
922END 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"
928SUBROUTINE ttr_decoder_decode_pop(time, timerange, step, time_definition, decoded)
929TYPE(datetime),INTENT(in) :: time
930TYPE(vol7d_timerange),INTENT(in) :: timerange

Generated with Doxygen.