58 MODULE PROCEDURE autocorr_sp, autocorr_dp, autocorr_1d_sp, autocorr_1d_dp
67 FUNCTION autocorr_dp(x, k, mask)
result(acf)
73 REAL(dp),
DIMENSION(:),
INTENT(IN) :: x
74 INTEGER(i4),
INTENT(IN) :: k
75 LOGICAL,
DIMENSION(:),
OPTIONAL,
INTENT(IN) :: mask
82 REAL(dp),
DIMENSION(size(x)) :: x_shift
83 LOGICAL,
DIMENSION(size(x)) :: maske
86 if (
present(mask))
then
87 if (
size(mask) /=
size(x)) stop
'Error autocorr_dp: size(mask) /= size(x)'
98 n = real(count(maske(1 : nn - kk).and.maske(1 + kk : nn)), dp)
100 acf = sum(x_shift(1 : nn - kk) * x_shift(1 + kk : nn), mask = (maske(1 : nn - kk) .and. maske(1 + kk : nn))) / n / var
102 END FUNCTION autocorr_dp
104 FUNCTION autocorr_sp(x, k, mask)
result(acf)
110 REAL(sp),
DIMENSION(:),
INTENT(IN) :: x
111 INTEGER(i4),
INTENT(IN) :: k
112 LOGICAL,
DIMENSION(:),
OPTIONAL,
INTENT(IN) :: mask
118 REAL(sp) :: mean, var
119 REAL(sp),
DIMENSION(size(x)) :: x_shift
120 LOGICAL,
DIMENSION(size(x)) :: maske
123 if (
present(mask))
then
124 if (
size(mask) /=
size(x)) stop
'Error autocorr_sp: size(mask) /= size(x)'
135 n = real(count(maske(1 : nn - kk).and.maske(1 + kk : nn)), sp)
137 acf = sum(x_shift(1 : nn - kk) * x_shift(1 + kk : nn), mask = (maske(1 : nn - kk) .and. maske(1 + kk : nn))) / n / var
139 END FUNCTION autocorr_sp
141 FUNCTION autocorr_1d_dp(x, k, mask)
result(acf)
145 REAL(dp),
DIMENSION(:),
INTENT(IN) :: x
146 INTEGER(i4),
DIMENSION(:),
INTENT(IN) :: k
147 LOGICAL,
DIMENSION(:),
OPTIONAL,
INTENT(IN) :: mask
149 REAL(dp),
DIMENSION(size(k)) :: acf
151 if (
present(mask))
then
162 END FUNCTION autocorr_1d_dp
164 FUNCTION autocorr_1d_sp(x, k, mask)
result(acf)
168 REAL(sp),
DIMENSION(:),
INTENT(IN) :: x
169 INTEGER(i4),
DIMENSION(:),
INTENT(IN) :: k
170 LOGICAL,
DIMENSION(:),
OPTIONAL,
INTENT(IN) :: mask
172 REAL(sp),
DIMENSION(size(k)) :: acf
174 if (
present(mask))
then
184 END FUNCTION autocorr_1d_sp
Autocorrelation function with lag k.
First four moments, stddev and mean absolute devation.
Standard deviation of a vector.
Provides autocorrelation function calculations.
Define number representations.
integer, parameter sp
Single Precision Real Kind.
integer, parameter i4
4 Byte Integer Kind
integer, parameter dp
Double Precision Real Kind.