diff --git a/src/stdlib_experimental_stat_mean.f90 b/src/stdlib_experimental_stat_mean.f90 index 13dc60601..8fa0ac6cd 100644 --- a/src/stdlib_experimental_stat_mean.f90 +++ b/src/stdlib_experimental_stat_mean.f90 @@ -10,21 +10,39 @@ module function mean_1_sp_sp(x) result(res) real(sp), intent(in) :: x(:) real(sp) :: res - res = sum(x) / real(size(x), sp) + integer :: i + + res = 0.0_sp + do i = 1, size(x) + res = res + x(i) + enddo + res = res / real(size(x), sp) end function mean_1_sp_sp module function mean_1_dp_dp(x) result(res) real(dp), intent(in) :: x(:) real(dp) :: res - res = sum(x) / real(size(x), dp) + integer :: i + + res = 0.0_dp + do i = 1, size(x) + res = res + x(i) + enddo + res = res / real(size(x), dp) end function mean_1_dp_dp module function mean_1_qp_qp(x) result(res) real(qp), intent(in) :: x(:) real(qp) :: res - res = sum(x) / real(size(x), qp) + integer :: i + + res = 0.0_qp + do i = 1, size(x) + res = res + x(i) + enddo + res = res / real(size(x), qp) end function mean_1_qp_qp @@ -32,28 +50,52 @@ module function mean_1_int8_dp(x) result(res) integer(int8), intent(in) :: x(:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i + + res = 0.0_dp + do i = 1, size(x) + res = res + real(x(i), dp) + enddo + res = res / real(size(x), dp) end function mean_1_int8_dp module function mean_1_int16_dp(x) result(res) integer(int16), intent(in) :: x(:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i + + res = 0.0_dp + do i = 1, size(x) + res = res + real(x(i), dp) + enddo + res = res / real(size(x), dp) end function mean_1_int16_dp module function mean_1_int32_dp(x) result(res) integer(int32), intent(in) :: x(:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i + + res = 0.0_dp + do i = 1, size(x) + res = res + real(x(i), dp) + enddo + res = res / real(size(x), dp) end function mean_1_int32_dp module function mean_1_int64_dp(x) result(res) integer(int64), intent(in) :: x(:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i + + res = 0.0_dp + do i = 1, size(x) + res = res + real(x(i), dp) + enddo + res = res / real(size(x), dp) end function mean_1_int64_dp @@ -62,21 +104,45 @@ module function mean_2_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:) real(sp) :: res - res = sum(x) / real(size(x), sp) + integer :: i, i_ + + res = 0.0_sp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_) + enddo + enddo + res = res / real(size(x), sp) end function mean_2_all_sp_sp module function mean_2_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:) real(dp) :: res - res = sum(x) / real(size(x), dp) + integer :: i, i_ + + res = 0.0_dp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_) + enddo + enddo + res = res / real(size(x), dp) end function mean_2_all_dp_dp module function mean_2_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:) real(qp) :: res - res = sum(x) / real(size(x), qp) + integer :: i, i_ + + res = 0.0_qp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_) + enddo + enddo + res = res / real(size(x), qp) end function mean_2_all_qp_qp @@ -84,28 +150,60 @@ module function mean_2_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i, i_ + + res = 0.0_dp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_), dp) + enddo + enddo + res = res / real(size(x), dp) end function mean_2_all_int8_dp module function mean_2_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i, i_ + + res = 0.0_dp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_), dp) + enddo + enddo + res = res / real(size(x), dp) end function mean_2_all_int16_dp module function mean_2_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i, i_ + + res = 0.0_dp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_), dp) + enddo + enddo + res = res / real(size(x), dp) end function mean_2_all_int32_dp module function mean_2_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i, i_ + + res = 0.0_dp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_), dp) + enddo + enddo + res = res / real(size(x), dp) end function mean_2_all_int64_dp @@ -114,63 +212,87 @@ module function mean_2_sp_sp(x, dim) result(res) integer, intent(in) :: dim real(sp) :: res(size(x)/size(x, dim)) - integer :: i + integer :: i, i_ + + res = 0.0_sp select case(dim) case(1) - do i=1, size(x)/size(x, dim) - res(i) = mean_1_sp_sp(x(:,i)) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + x(i, i_) + end do end do case(2) - do i=1, size(x)/size(x, dim) - res(i) = mean_1_sp_sp(x(i,:)) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + x(i, i_) + end do end do case default call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), sp) + end function mean_2_sp_sp module function mean_2_dp_dp(x, dim) result(res) real(dp), intent(in) :: x(:,:) integer, intent(in) :: dim real(dp) :: res(size(x)/size(x, dim)) - integer :: i + integer :: i, i_ + + res = 0.0_dp select case(dim) case(1) - do i=1, size(x)/size(x, dim) - res(i) = mean_1_dp_dp(x(:,i)) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + x(i, i_) + end do end do case(2) - do i=1, size(x)/size(x, dim) - res(i) = mean_1_dp_dp(x(i,:)) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + x(i, i_) + end do end do case default call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_2_dp_dp module function mean_2_qp_qp(x, dim) result(res) real(qp), intent(in) :: x(:,:) integer, intent(in) :: dim real(qp) :: res(size(x)/size(x, dim)) - integer :: i + integer :: i, i_ + + res = 0.0_qp select case(dim) case(1) - do i=1, size(x)/size(x, dim) - res(i) = mean_1_qp_qp(x(:,i)) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + x(i, i_) + end do end do case(2) - do i=1, size(x)/size(x, dim) - res(i) = mean_1_qp_qp(x(i,:)) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + x(i, i_) + end do end do case default call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), qp) + end function mean_2_qp_qp module function mean_2_int8_dp(x, dim) result(res) @@ -178,84 +300,116 @@ module function mean_2_int8_dp(x, dim) result(res) integer, intent(in) :: dim real(dp) :: res(size(x)/size(x, dim)) - integer :: i + integer :: i, i_ + + res = 0.0_dp select case(dim) case(1) - do i=1, size(x)/size(x, dim) - res(i) = mean_1_int8_dp(x(:,i)) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + real(x(i, i_), dp) + end do end do case(2) - do i=1, size(x)/size(x, dim) - res(i) = mean_1_int8_dp(x(i,:)) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + real(x(i, i_), dp) + end do end do case default call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_2_int8_dp module function mean_2_int16_dp(x, dim) result(res) integer(int16), intent(in) :: x(:,:) integer, intent(in) :: dim real(dp) :: res(size(x)/size(x, dim)) - integer :: i + integer :: i, i_ + + res = 0.0_dp select case(dim) case(1) - do i=1, size(x)/size(x, dim) - res(i) = mean_1_int16_dp(x(:,i)) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + real(x(i, i_), dp) + end do end do case(2) - do i=1, size(x)/size(x, dim) - res(i) = mean_1_int16_dp(x(i,:)) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + real(x(i, i_), dp) + end do end do case default call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_2_int16_dp module function mean_2_int32_dp(x, dim) result(res) integer(int32), intent(in) :: x(:,:) integer, intent(in) :: dim real(dp) :: res(size(x)/size(x, dim)) - integer :: i + integer :: i, i_ + + res = 0.0_dp select case(dim) case(1) - do i=1, size(x)/size(x, dim) - res(i) = mean_1_int32_dp(x(:,i)) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + real(x(i, i_), dp) + end do end do case(2) - do i=1, size(x)/size(x, dim) - res(i) = mean_1_int32_dp(x(i,:)) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + real(x(i, i_), dp) + end do end do case default call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_2_int32_dp module function mean_2_int64_dp(x, dim) result(res) integer(int64), intent(in) :: x(:,:) integer, intent(in) :: dim real(dp) :: res(size(x)/size(x, dim)) - integer :: i + integer :: i, i_ + + res = 0.0_dp select case(dim) case(1) - do i=1, size(x)/size(x, dim) - res(i) = mean_1_int64_dp(x(:,i)) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + real(x(i, i_), dp) + end do end do case(2) - do i=1, size(x)/size(x, dim) - res(i) = mean_1_int64_dp(x(i,:)) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + real(x(i, i_), dp) + end do end do case default call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_2_int64_dp @@ -268,273 +422,1224 @@ module function mean_3_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:) real(sp) :: res - res = sum(x) / real(size(x), sp) + integer :: i,i_,i__ + + res = 0.0_sp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__) + end do + end do + end do + + res = res / real(size(x), sp) end function mean_3_all_sp_sp module function mean_4_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:) real(sp) :: res - res = sum(x) / real(size(x), sp) + integer :: i,i_,i__,i___ + + res = 0.0_sp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___) + end do + end do + end do + end do + + res = res / real(size(x), sp) end function mean_4_all_sp_sp module function mean_5_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:) real(sp) :: res - res = sum(x) / real(size(x), sp) + integer :: i,i_,i__,i___,i____ + + res = 0.0_sp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) end function mean_5_all_sp_sp module function mean_6_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:) real(sp) :: res - res = sum(x) / real(size(x), sp) + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_sp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) end function mean_6_all_sp_sp module function mean_7_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:) real(sp) :: res - res = sum(x) / real(size(x), sp) + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_sp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) end function mean_7_all_sp_sp module function mean_8_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:) real(sp) :: res - res = sum(x) / real(size(x), sp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_sp + + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) end function mean_8_all_sp_sp module function mean_9_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:) real(sp) :: res - res = sum(x) / real(size(x), sp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_sp + + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) end function mean_9_all_sp_sp module function mean_10_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) real(sp) :: res - res = sum(x) / real(size(x), sp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_sp + + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) end function mean_10_all_sp_sp module function mean_11_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) real(sp) :: res - res = sum(x) / real(size(x), sp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_sp + + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) end function mean_11_all_sp_sp module function mean_12_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) real(sp) :: res - res = sum(x) / real(size(x), sp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_sp + + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) end function mean_12_all_sp_sp module function mean_13_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) real(sp) :: res - res = sum(x) / real(size(x), sp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_sp + + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_________& + &___) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) end function mean_13_all_sp_sp module function mean_14_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(sp) :: res - res = sum(x) / real(size(x), sp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_sp + + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& + &____,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) end function mean_14_all_sp_sp module function mean_15_all_sp_sp(x) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(sp) :: res - res = sum(x) / real(size(x), sp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_sp + + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), sp) end function mean_15_all_sp_sp module function mean_3_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:) real(dp) :: res - res = sum(x) / real(size(x), dp) + integer :: i,i_,i__ + + res = 0.0_dp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__) + end do + end do + end do + + res = res / real(size(x), dp) end function mean_3_all_dp_dp module function mean_4_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:) real(dp) :: res - res = sum(x) / real(size(x), dp) + integer :: i,i_,i__,i___ + + res = 0.0_dp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___) + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_4_all_dp_dp module function mean_5_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:) real(dp) :: res - res = sum(x) / real(size(x), dp) + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_5_all_dp_dp module function mean_6_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:) real(dp) :: res - res = sum(x) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_6_all_dp_dp module function mean_7_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:) real(dp) :: res - res = sum(x) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_7_all_dp_dp module function mean_8_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(x) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_dp + + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_8_all_dp_dp module function mean_9_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(x) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_dp + + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_9_all_dp_dp module function mean_10_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(x) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_dp + + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_10_all_dp_dp module function mean_11_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(x) / real(size(x), dp) - -end function mean_11_all_dp_dp -module function mean_12_all_dp_dp(x) result(res) - real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) - real(dp) :: res + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ - res = sum(x) / real(size(x), dp) + res = 0.0_dp -end function mean_12_all_dp_dp -module function mean_13_all_dp_dp(x) result(res) - real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_11_all_dp_dp +module function mean_12_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(x) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_dp + + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) + +end function mean_12_all_dp_dp +module function mean_13_all_dp_dp(x) result(res) + real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) + real(dp) :: res + + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_dp + + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_________& + &___) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_13_all_dp_dp module function mean_14_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(x) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_dp + + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& + &____,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_14_all_dp_dp module function mean_15_all_dp_dp(x) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(x) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_dp + + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_15_all_dp_dp module function mean_3_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:) real(qp) :: res - res = sum(x) / real(size(x), qp) + integer :: i,i_,i__ + + res = 0.0_qp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__) + end do + end do + end do + + res = res / real(size(x), qp) end function mean_3_all_qp_qp module function mean_4_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:) real(qp) :: res - res = sum(x) / real(size(x), qp) + integer :: i,i_,i__,i___ + + res = 0.0_qp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___) + end do + end do + end do + end do + + res = res / real(size(x), qp) end function mean_4_all_qp_qp module function mean_5_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:) real(qp) :: res - res = sum(x) / real(size(x), qp) + integer :: i,i_,i__,i___,i____ + + res = 0.0_qp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____) + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) end function mean_5_all_qp_qp module function mean_6_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:) real(qp) :: res - res = sum(x) / real(size(x), qp) + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_qp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) end function mean_6_all_qp_qp module function mean_7_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:) real(qp) :: res - res = sum(x) / real(size(x), qp) + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_qp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) end function mean_7_all_qp_qp module function mean_8_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:) real(qp) :: res - res = sum(x) / real(size(x), qp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_qp + + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) end function mean_8_all_qp_qp module function mean_9_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:) real(qp) :: res - res = sum(x) / real(size(x), qp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_qp + + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) end function mean_9_all_qp_qp module function mean_10_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) real(qp) :: res - res = sum(x) / real(size(x), qp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_qp + + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) end function mean_10_all_qp_qp module function mean_11_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) real(qp) :: res - res = sum(x) / real(size(x), qp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_qp + + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) end function mean_11_all_qp_qp module function mean_12_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) real(qp) :: res - res = sum(x) / real(size(x), qp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_qp + + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) end function mean_12_all_qp_qp module function mean_13_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) real(qp) :: res - res = sum(x) / real(size(x), qp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_qp + + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_________& + &___) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) end function mean_13_all_qp_qp module function mean_14_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(qp) :: res - res = sum(x) / real(size(x), qp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_qp + + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& + &____,i_____________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) end function mean_14_all_qp_qp module function mean_15_all_qp_qp(x) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(qp) :: res - res = sum(x) / real(size(x), qp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_qp + + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____,i_____________,i______________) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), qp) end function mean_15_all_qp_qp @@ -542,364 +1647,1632 @@ module function mean_3_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__ + + res = 0.0_dp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__), dp) + end do + end do + end do + + res = res / real(size(x), dp) end function mean_3_all_int8_dp module function mean_4_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___ + + res = 0.0_dp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_4_all_int8_dp module function mean_5_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_5_all_int8_dp module function mean_6_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_6_all_int8_dp module function mean_7_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_7_all_int8_dp module function mean_8_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_dp + + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_8_all_int8_dp module function mean_9_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_dp + + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_9_all_int8_dp module function mean_10_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_dp + + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_10_all_int8_dp module function mean_11_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_dp + + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_11_all_int8_dp module function mean_12_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_dp + + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_12_all_int8_dp module function mean_13_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_dp + + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_13_all_int8_dp module function mean_14_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_dp + + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& + &_________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_14_all_int8_dp module function mean_15_all_int8_dp(x) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_dp + + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_15_all_int8_dp module function mean_3_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__ + + res = 0.0_dp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__), dp) + end do + end do + end do + + res = res / real(size(x), dp) end function mean_3_all_int16_dp module function mean_4_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___ + + res = 0.0_dp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_4_all_int16_dp module function mean_5_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_5_all_int16_dp module function mean_6_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_6_all_int16_dp module function mean_7_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_7_all_int16_dp module function mean_8_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_dp + + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_8_all_int16_dp module function mean_9_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_dp + + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_9_all_int16_dp module function mean_10_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_dp + + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_10_all_int16_dp module function mean_11_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_dp + + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_11_all_int16_dp module function mean_12_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_dp + + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_12_all_int16_dp module function mean_13_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_dp + + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_13_all_int16_dp module function mean_14_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_dp + + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& + &_________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_14_all_int16_dp module function mean_15_all_int16_dp(x) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_dp + + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_15_all_int16_dp module function mean_3_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__ + + res = 0.0_dp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__), dp) + end do + end do + end do + + res = res / real(size(x), dp) end function mean_3_all_int32_dp module function mean_4_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___ + + res = 0.0_dp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_4_all_int32_dp module function mean_5_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_5_all_int32_dp module function mean_6_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_6_all_int32_dp module function mean_7_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_7_all_int32_dp module function mean_8_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_dp + + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_8_all_int32_dp module function mean_9_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_dp + + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_9_all_int32_dp module function mean_10_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_dp + + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_10_all_int32_dp module function mean_11_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_dp + + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_11_all_int32_dp module function mean_12_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_dp + + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_12_all_int32_dp module function mean_13_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_dp + + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_13_all_int32_dp module function mean_14_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_dp + + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& + &_________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_14_all_int32_dp module function mean_15_all_int32_dp(x) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_dp + + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_15_all_int32_dp module function mean_3_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__ + + res = 0.0_dp + + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__), dp) + end do + end do + end do + + res = res / real(size(x), dp) end function mean_3_all_int64_dp module function mean_4_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___ + + res = 0.0_dp + + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___), dp) + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_4_all_int64_dp module function mean_5_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp + + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____), dp) + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_5_all_int64_dp module function mean_6_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp + + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____), dp) + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_6_all_int64_dp module function mean_7_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp + + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_7_all_int64_dp module function mean_8_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_dp + + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_8_all_int64_dp module function mean_9_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_dp + + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_9_all_int64_dp module function mean_10_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_dp + + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_10_all_int64_dp module function mean_11_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_dp + + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_11_all_int64_dp module function mean_12_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_dp + + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_12_all_int64_dp module function mean_13_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_dp + + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_13_all_int64_dp module function mean_14_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_dp + + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& + &_________,i_____________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_14_all_int64_dp module function mean_15_all_int64_dp(x) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__,i______________ + + res = 0.0_dp + + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________,i______________), dp) + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + end do + + res = res / real(size(x), dp) end function mean_15_all_int64_dp @@ -910,31 +3283,41 @@ module function mean_3_sp_sp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_ + integer :: i,i_,i__ + + res = 0.0_sp select case(dim) case(1) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_sp_sp(x(:,i,i_)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + x(i,i_,i__) + end do end do end do case(2) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_sp_sp(x(i,:,i_)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + x(i,i_,i__) + end do end do end do case(3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_sp_sp(x(i,i_,:)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + x(i,i_,i__) + end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), sp) + end function mean_3_sp_sp module function mean_4_sp_sp(x, dim) result(res) real(sp), intent(in) :: x(:,:,:,:) @@ -944,45 +3327,57 @@ module function mean_4_sp_sp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__ + integer :: i,i_,i__,i___ + + res = 0.0_sp select case(dim) case(1) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_sp_sp(x(:,i,i_,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + x(i,i_,i__,i___) + end do end do end do end do case(2) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_sp_sp(x(i,:,i_,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + x(i,i_,i__,i___) + end do end do end do end do case(3) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_sp_sp(x(i,i_,:,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + x(i,i_,i__,i___) + end do end do end do end do case(4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_sp_sp(x(i,i_,i__,:)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + x(i,i_,i__,i___) + end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), sp) + end function mean_4_sp_sp module function mean_5_sp_sp(x, dim) result(res) real(sp), intent(in) :: x(:,:,:,:,:) @@ -993,63 +3388,77 @@ module function mean_5_sp_sp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i,i_,i__,i___,i____ + + res = 0.0_sp select case(dim) case(1) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_sp_sp(x(:,i,i_,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + x(i,i_,i__,i___,i____) + end do end do end do end do end do case(2) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_sp_sp(x(i,:,i_,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + x(i,i_,i__,i___,i____) + end do end do end do end do end do case(3) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_sp_sp(x(i,i_,:,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + x(i,i_,i__,i___,i____) + end do end do end do end do end do case(4) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_sp_sp(x(i,i_,i__,:,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + x(i,i_,i__,i___,i____) + end do end do end do end do end do case(5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_sp_sp(x(i,i_,i__,i___,:)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + x(i,i_,i__,i___,i____) + end do end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), sp) + end function mean_5_sp_sp module function mean_6_sp_sp(x, dim) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:) @@ -1061,85 +3470,101 @@ module function mean_6_sp_sp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_sp select case(dim) case(1) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_sp_sp(x(:,i,i_,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do end do end do end do end do end do case(2) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_sp_sp(x(i,:,i_,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do end do end do end do end do end do case(3) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_sp_sp(x(i,i_,:,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do end do end do end do end do end do case(4) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_sp_sp(x(i,i_,i__,:,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do end do end do end do end do end do case(5) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_sp_sp(x(i,i_,i__,i___,:,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + x(i,i_,i__,i___,i____,i_____) + end do end do end do end do end do end do case(6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_sp_sp(x(i,i_,i__,i___,i____,:)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + x(i,i_,i__,i___,i____,i_____) + end do end do end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), sp) + end function mean_6_sp_sp module function mean_7_sp_sp(x, dim) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:) @@ -1152,17 +3577,21 @@ module function mean_7_sp_sp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_sp select case(dim) case(1) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_sp_sp(x(:,i,i_,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -1170,13 +3599,15 @@ module function mean_7_sp_sp(x, dim) result(res) end do end do case(2) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_sp_sp(x(i,:,i_,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -1184,13 +3615,15 @@ module function mean_7_sp_sp(x, dim) result(res) end do end do case(3) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_sp_sp(x(i,i_,:,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -1198,13 +3631,15 @@ module function mean_7_sp_sp(x, dim) result(res) end do end do case(4) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_sp_sp(x(i,i_,i__,:,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -1212,13 +3647,15 @@ module function mean_7_sp_sp(x, dim) result(res) end do end do case(5) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_sp_sp(x(i,i_,i__,i___,:,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -1226,13 +3663,15 @@ module function mean_7_sp_sp(x, dim) result(res) end do end do case(6) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_sp_sp(x(i,i_,i__,i___,i____,:,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -1240,13 +3679,15 @@ module function mean_7_sp_sp(x, dim) result(res) end do end do case(7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,:)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -1254,9 +3695,11 @@ module function mean_7_sp_sp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), sp) + end function mean_7_sp_sp module function mean_8_sp_sp(x, dim) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:) @@ -1270,18 +3713,23 @@ module function mean_8_sp_sp(x, dim) result(res) merge(size(x,6),size(x,7),mask = 6 < dim ), & merge(size(x,7),size(x,8),mask = 7 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_sp select case(dim) case(1) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_sp_sp(x(:,i,i_,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -1290,14 +3738,17 @@ module function mean_8_sp_sp(x, dim) result(res) end do end do case(2) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_sp_sp(x(i,:,i_,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -1306,14 +3757,17 @@ module function mean_8_sp_sp(x, dim) result(res) end do end do case(3) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_sp_sp(x(i,i_,:,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -1322,14 +3776,17 @@ module function mean_8_sp_sp(x, dim) result(res) end do end do case(4) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_sp_sp(x(i,i_,i__,:,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -1338,14 +3795,17 @@ module function mean_8_sp_sp(x, dim) result(res) end do end do case(5) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_sp_sp(x(i,i_,i__,i___,:,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -1354,14 +3814,17 @@ module function mean_8_sp_sp(x, dim) result(res) end do end do case(6) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_sp_sp(x(i,i_,i__,i___,i____,:,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -1370,14 +3833,17 @@ module function mean_8_sp_sp(x, dim) result(res) end do end do case(7) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,:,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -1386,14 +3852,17 @@ module function mean_8_sp_sp(x, dim) result(res) end do end do case(8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,:)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -1402,9 +3871,11 @@ module function mean_8_sp_sp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), sp) + end function mean_8_sp_sp module function mean_9_sp_sp(x, dim) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:) @@ -1419,19 +3890,24 @@ module function mean_9_sp_sp(x, dim) result(res) merge(size(x,7),size(x,8),mask = 7 < dim ), & merge(size(x,8),size(x,9),mask = 8 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_sp select case(dim) case(1) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_sp_sp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -1441,15 +3917,18 @@ module function mean_9_sp_sp(x, dim) result(res) end do end do case(2) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_sp_sp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -1459,15 +3938,18 @@ module function mean_9_sp_sp(x, dim) result(res) end do end do case(3) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_sp_sp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -1477,15 +3959,18 @@ module function mean_9_sp_sp(x, dim) result(res) end do end do case(4) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_sp_sp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -1495,15 +3980,18 @@ module function mean_9_sp_sp(x, dim) result(res) end do end do case(5) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_sp_sp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -1513,15 +4001,18 @@ module function mean_9_sp_sp(x, dim) result(res) end do end do case(6) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_sp_sp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -1531,15 +4022,18 @@ module function mean_9_sp_sp(x, dim) result(res) end do end do case(7) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -1549,15 +4043,18 @@ module function mean_9_sp_sp(x, dim) result(res) end do end do case(8) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -1567,15 +4064,18 @@ module function mean_9_sp_sp(x, dim) result(res) end do end do case(9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -1585,9 +4085,11 @@ module function mean_9_sp_sp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), sp) + end function mean_9_sp_sp module function mean_10_sp_sp(x, dim) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) @@ -1603,21 +4105,25 @@ module function mean_10_sp_sp(x, dim) result(res) merge(size(x,8),size(x,9),mask = 8 < dim ), & merge(size(x,9),size(x,10),mask = 9 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_sp select case(dim) case(1) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_sp_sp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -1628,17 +4134,19 @@ module function mean_10_sp_sp(x, dim) result(res) end do end do case(2) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_sp_sp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -1649,17 +4157,19 @@ module function mean_10_sp_sp(x, dim) result(res) end do end do case(3) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_sp_sp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& + &_______,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -1670,17 +4180,19 @@ module function mean_10_sp_sp(x, dim) result(res) end do end do case(4) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_sp_sp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& + &_____,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -1691,17 +4203,19 @@ module function mean_10_sp_sp(x, dim) result(res) end do end do case(5) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_sp_sp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& + &___,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -1712,17 +4226,19 @@ module function mean_10_sp_sp(x, dim) result(res) end do end do case(6) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_sp_sp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& + &_,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -1733,17 +4249,19 @@ module function mean_10_sp_sp(x, dim) result(res) end do end do case(7) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& + &i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -1754,17 +4272,19 @@ module function mean_10_sp_sp(x, dim) result(res) end do end do case(8) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& + &________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -1775,17 +4295,19 @@ module function mean_10_sp_sp(x, dim) result(res) end do end do case(9) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -1796,17 +4318,19 @@ module function mean_10_sp_sp(x, dim) result(res) end do end do case(10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_& - &_______,:)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& + &____) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -1817,9 +4341,11 @@ module function mean_10_sp_sp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), sp) + end function mean_10_sp_sp module function mean_11_sp_sp(x, dim) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) @@ -1836,22 +4362,27 @@ module function mean_11_sp_sp(x, dim) result(res) merge(size(x,9),size(x,10),mask = 9 < dim ), & merge(size(x,10),size(x,11),mask = 10 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_sp select case(dim) case(1) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_sp_sp(x(:,i,i_,i__,i___,i____,i_____,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -1863,18 +4394,21 @@ module function mean_11_sp_sp(x, dim) result(res) end do end do case(2) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_sp_sp(x(i,:,i_,i__,i___,i____,i_____,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -1886,18 +4420,21 @@ module function mean_11_sp_sp(x, dim) result(res) end do end do case(3) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_sp_sp(x(i,i_,:,i__,i___,i____,i_____,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -1909,18 +4446,21 @@ module function mean_11_sp_sp(x, dim) result(res) end do end do case(4) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_sp_sp(x(i,i_,i__,:,i___,i____,i_____,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -1932,18 +4472,21 @@ module function mean_11_sp_sp(x, dim) result(res) end do end do case(5) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_sp_sp(x(i,i_,i__,i___,:,i____,i_____,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -1955,18 +4498,21 @@ module function mean_11_sp_sp(x, dim) result(res) end do end do case(6) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_sp_sp(x(i,i_,i__,i___,i____,:,i_____,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -1978,18 +4524,21 @@ module function mean_11_sp_sp(x, dim) result(res) end do end do case(7) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,:,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -2001,18 +4550,21 @@ module function mean_11_sp_sp(x, dim) result(res) end do end do case(8) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,& - &:,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -2024,18 +4576,21 @@ module function mean_11_sp_sp(x, dim) result(res) end do end do case(9) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,& - &i_______,:,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -2047,18 +4602,21 @@ module function mean_11_sp_sp(x, dim) result(res) end do end do case(10) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,& - &i_______,i________,:,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -2070,18 +4628,21 @@ module function mean_11_sp_sp(x, dim) result(res) end do end do case(11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,& - &i_______,i________,i_________,:)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -2093,9 +4654,11 @@ module function mean_11_sp_sp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), sp) + end function mean_11_sp_sp module function mean_12_sp_sp(x, dim) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) @@ -2113,23 +4676,28 @@ module function mean_12_sp_sp(x, dim) result(res) merge(size(x,10),size(x,11),mask = 10 < dim ), & merge(size(x,11),size(x,12),mask = 11 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_sp select case(dim) case(1) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_sp_sp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -2142,19 +4710,22 @@ module function mean_12_sp_sp(x, dim) result(res) end do end do case(2) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_sp_sp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -2167,19 +4738,22 @@ module function mean_12_sp_sp(x, dim) result(res) end do end do case(3) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_sp_sp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -2192,19 +4766,22 @@ module function mean_12_sp_sp(x, dim) result(res) end do end do case(4) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_sp_sp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -2217,19 +4794,22 @@ module function mean_12_sp_sp(x, dim) result(res) end do end do case(5) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -2242,19 +4822,22 @@ module function mean_12_sp_sp(x, dim) result(res) end do end do case(6) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -2267,19 +4850,22 @@ module function mean_12_sp_sp(x, dim) result(res) end do end do case(7) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -2292,19 +4878,22 @@ module function mean_12_sp_sp(x, dim) result(res) end do end do case(8) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -2317,19 +4906,22 @@ module function mean_12_sp_sp(x, dim) result(res) end do end do case(9) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -2342,19 +4934,22 @@ module function mean_12_sp_sp(x, dim) result(res) end do end do case(10) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -2367,19 +4962,22 @@ module function mean_12_sp_sp(x, dim) result(res) end do end do case(11) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -2392,19 +4990,22 @@ module function mean_12_sp_sp(x, dim) result(res) end do end do case(12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -2417,9 +5018,11 @@ module function mean_12_sp_sp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), sp) + end function mean_12_sp_sp module function mean_13_sp_sp(x, dim) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -2438,24 +5041,30 @@ module function mean_13_sp_sp(x, dim) result(res) merge(size(x,11),size(x,12),mask = 11 < dim ), & merge(size(x,12),size(x,13),mask = 12 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_sp select case(dim) case(1) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_sp_sp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& + &) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_________& + &___) + end do end do end do end do @@ -2469,20 +5078,24 @@ module function mean_13_sp_sp(x, dim) result(res) end do end do case(2) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_sp_sp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& + &__) + end do end do end do end do @@ -2496,20 +5109,24 @@ module function mean_13_sp_sp(x, dim) result(res) end do end do case(3) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_sp_sp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& + &__) + end do end do end do end do @@ -2523,20 +5140,24 @@ module function mean_13_sp_sp(x, dim) result(res) end do end do case(4) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_sp_sp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& + &__) + end do end do end do end do @@ -2550,20 +5171,23 @@ module function mean_13_sp_sp(x, dim) result(res) end do end do case(5) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -2577,20 +5201,23 @@ module function mean_13_sp_sp(x, dim) result(res) end do end do case(6) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -2604,20 +5231,23 @@ module function mean_13_sp_sp(x, dim) result(res) end do end do case(7) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -2631,20 +5261,23 @@ module function mean_13_sp_sp(x, dim) result(res) end do end do case(8) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -2658,20 +5291,23 @@ module function mean_13_sp_sp(x, dim) result(res) end do end do case(9) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -2685,20 +5321,23 @@ module function mean_13_sp_sp(x, dim) result(res) end do end do case(10) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -2712,20 +5351,23 @@ module function mean_13_sp_sp(x, dim) result(res) end do end do case(11) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -2739,20 +5381,23 @@ module function mean_13_sp_sp(x, dim) result(res) end do end do case(12) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -2766,20 +5411,23 @@ module function mean_13_sp_sp(x, dim) result(res) end do end do case(13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -2793,9 +5441,11 @@ module function mean_13_sp_sp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), sp) + end function mean_13_sp_sp module function mean_14_sp_sp(x, dim) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -2815,26 +5465,32 @@ module function mean_14_sp_sp(x, dim) result(res) merge(size(x,12),size(x,13),mask = 12 < dim ), & merge(size(x,13),size(x,14),mask = 13 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_sp select case(dim) case(1) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_sp_sp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i____& + &______,i___________,i____________,i_____________) + end do end do end do end do @@ -2849,22 +5505,25 @@ module function mean_14_sp_sp(x, dim) result(res) end do end do case(2) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_sp_sp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& + &____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i______& + &____,i___________,i____________,i_____________) + end do end do end do end do @@ -2879,22 +5538,25 @@ module function mean_14_sp_sp(x, dim) result(res) end do end do case(3) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_sp_sp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i________& + &__,i___________,i____________,i_____________) + end do end do end do end do @@ -2909,22 +5571,25 @@ module function mean_14_sp_sp(x, dim) result(res) end do end do case(4) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_sp_sp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________& + &,i___________,i____________,i_____________) + end do end do end do end do @@ -2939,22 +5604,25 @@ module function mean_14_sp_sp(x, dim) result(res) end do end do case(5) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& + &______,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i& + &___________,i____________,i_____________) + end do end do end do end do @@ -2969,22 +5637,25 @@ module function mean_14_sp_sp(x, dim) result(res) end do end do case(6) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& + &____,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& + &_________,i____________,i_____________) + end do end do end do end do @@ -2999,22 +5670,25 @@ module function mean_14_sp_sp(x, dim) result(res) end do end do case(7) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& + &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& + &__,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& + &_______,i____________,i_____________) + end do end do end do end do @@ -3029,22 +5703,25 @@ module function mean_14_sp_sp(x, dim) result(res) end do end do case(8) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& + &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& + &,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i______& + &_____,i____________,i_____________) + end do end do end do end do @@ -3059,22 +5736,25 @@ module function mean_14_sp_sp(x, dim) result(res) end do end do case(9) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& + &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& + &_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i________& + &___,i____________,i_____________) + end do end do end do end do @@ -3089,22 +5769,25 @@ module function mean_14_sp_sp(x, dim) result(res) end do end do case(10) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& + &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& + &___________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& + &_,i____________,i_____________) + end do end do end do end do @@ -3119,22 +5802,25 @@ module function mean_14_sp_sp(x, dim) result(res) end do end do case(11) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& + &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& + &_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,& + &i____________,i_____________) + end do end do end do end do @@ -3149,22 +5835,25 @@ module function mean_14_sp_sp(x, dim) result(res) end do end do case(12) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& + &_______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_& + &___________,i_____________) + end do end do end do end do @@ -3179,22 +5868,25 @@ module function mean_14_sp_sp(x, dim) result(res) end do end do case(13) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________) + end do end do end do end do @@ -3209,22 +5901,25 @@ module function mean_14_sp_sp(x, dim) result(res) end do end do case(14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& - &__,:)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& + &_________,i_____________) + end do end do end do end do @@ -3239,9 +5934,11 @@ module function mean_14_sp_sp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), sp) + end function mean_14_sp_sp module function mean_15_sp_sp(x, dim) result(res) real(sp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -3263,27 +5960,32 @@ module function mean_15_sp_sp(x, dim) result(res) merge(size(x,14),size(x,15),mask = 14 < dim ) ) integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + &__,i______________ + + res = 0.0_sp select case(dim) case(1) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_sp_sp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& + &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,& + &i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -3299,23 +6001,26 @@ module function mean_15_sp_sp(x, dim) result(res) end do end do case(2) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_sp_sp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_& + &______,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -3331,23 +6036,26 @@ module function mean_15_sp_sp(x, dim) result(res) end do end do case(3) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_sp_sp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i___& + &____,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -3363,23 +6071,26 @@ module function mean_15_sp_sp(x, dim) result(res) end do end do case(4) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_sp_sp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_____& + &__,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -3395,23 +6106,26 @@ module function mean_15_sp_sp(x, dim) result(res) end do end do case(5) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_sp_sp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______& + &,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -3427,23 +6141,26 @@ module function mean_15_sp_sp(x, dim) result(res) end do end do case(6) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_sp_sp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i& + &________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -3459,23 +6176,26 @@ module function mean_15_sp_sp(x, dim) result(res) end do end do case(7) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i__& + &______,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -3491,23 +6211,26 @@ module function mean_15_sp_sp(x, dim) result(res) end do end do case(8) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& + &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& + &____,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i____& + &____,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -3523,23 +6246,26 @@ module function mean_15_sp_sp(x, dim) result(res) end do end do case(9) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& + &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& + &__,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i______& + &__,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -3555,23 +6281,26 @@ module function mean_15_sp_sp(x, dim) result(res) end do end do case(10) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& + &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& + &,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________& + &,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -3587,23 +6316,26 @@ module function mean_15_sp_sp(x, dim) result(res) end do end do case(11) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& + &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& + &____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i& + &_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -3619,23 +6351,26 @@ module function mean_15_sp_sp(x, dim) result(res) end do end do case(12) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& + &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& + &__________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__& + &_______,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -3651,23 +6386,26 @@ module function mean_15_sp_sp(x, dim) result(res) end do end do case(13) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& + &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i____& + &_____,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -3683,23 +6421,26 @@ module function mean_15_sp_sp(x, dim) result(res) end do end do case(14) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____,:,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& + &_______,i____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i______& + &___,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -3715,23 +6456,26 @@ module function mean_15_sp_sp(x, dim) result(res) end do end do case(15) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_sp_sp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____,i_____________,:)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i________& + &_,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -3747,9 +6491,11 @@ module function mean_15_sp_sp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), sp) + end function mean_15_sp_sp module function mean_3_dp_dp(x, dim) result(res) real(dp), intent(in) :: x(:,:,:) @@ -3758,31 +6504,41 @@ module function mean_3_dp_dp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_ + integer :: i,i_,i__ + + res = 0.0_dp select case(dim) case(1) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_dp_dp(x(:,i,i_)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + x(i,i_,i__) + end do end do end do case(2) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_dp_dp(x(i,:,i_)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + x(i,i_,i__) + end do end do end do case(3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_dp_dp(x(i,i_,:)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + x(i,i_,i__) + end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_3_dp_dp module function mean_4_dp_dp(x, dim) result(res) real(dp), intent(in) :: x(:,:,:,:) @@ -3792,45 +6548,57 @@ module function mean_4_dp_dp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__ + integer :: i,i_,i__,i___ + + res = 0.0_dp select case(dim) case(1) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_dp_dp(x(:,i,i_,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + x(i,i_,i__,i___) + end do end do end do end do case(2) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_dp_dp(x(i,:,i_,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + x(i,i_,i__,i___) + end do end do end do end do case(3) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_dp_dp(x(i,i_,:,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + x(i,i_,i__,i___) + end do end do end do end do case(4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_dp_dp(x(i,i_,i__,:)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + x(i,i_,i__,i___) + end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_4_dp_dp module function mean_5_dp_dp(x, dim) result(res) real(dp), intent(in) :: x(:,:,:,:,:) @@ -3841,63 +6609,77 @@ module function mean_5_dp_dp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp select case(dim) case(1) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_dp_dp(x(:,i,i_,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + x(i,i_,i__,i___,i____) + end do end do end do end do end do case(2) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_dp_dp(x(i,:,i_,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + x(i,i_,i__,i___,i____) + end do end do end do end do end do case(3) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_dp_dp(x(i,i_,:,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + x(i,i_,i__,i___,i____) + end do end do end do end do end do case(4) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_dp_dp(x(i,i_,i__,:,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + x(i,i_,i__,i___,i____) + end do end do end do end do end do case(5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_dp_dp(x(i,i_,i__,i___,:)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + x(i,i_,i__,i___,i____) + end do end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_5_dp_dp module function mean_6_dp_dp(x, dim) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:) @@ -3909,85 +6691,101 @@ module function mean_6_dp_dp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp select case(dim) case(1) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_dp_dp(x(:,i,i_,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do end do end do end do end do end do case(2) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_dp_dp(x(i,:,i_,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do end do end do end do end do end do case(3) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_dp_dp(x(i,i_,:,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do end do end do end do end do end do case(4) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_dp_dp(x(i,i_,i__,:,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do end do end do end do end do end do case(5) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_dp_dp(x(i,i_,i__,i___,:,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + x(i,i_,i__,i___,i____,i_____) + end do end do end do end do end do end do case(6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_dp_dp(x(i,i_,i__,i___,i____,:)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + x(i,i_,i__,i___,i____,i_____) + end do end do end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_6_dp_dp module function mean_7_dp_dp(x, dim) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:) @@ -4000,17 +6798,21 @@ module function mean_7_dp_dp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp select case(dim) case(1) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_dp_dp(x(:,i,i_,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -4018,13 +6820,15 @@ module function mean_7_dp_dp(x, dim) result(res) end do end do case(2) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_dp_dp(x(i,:,i_,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -4032,13 +6836,15 @@ module function mean_7_dp_dp(x, dim) result(res) end do end do case(3) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_dp_dp(x(i,i_,:,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -4046,13 +6852,15 @@ module function mean_7_dp_dp(x, dim) result(res) end do end do case(4) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_dp_dp(x(i,i_,i__,:,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -4060,13 +6868,15 @@ module function mean_7_dp_dp(x, dim) result(res) end do end do case(5) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_dp_dp(x(i,i_,i__,i___,:,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -4074,13 +6884,15 @@ module function mean_7_dp_dp(x, dim) result(res) end do end do case(6) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_dp_dp(x(i,i_,i__,i___,i____,:,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -4088,13 +6900,15 @@ module function mean_7_dp_dp(x, dim) result(res) end do end do case(7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,:)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -4102,9 +6916,11 @@ module function mean_7_dp_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_7_dp_dp module function mean_8_dp_dp(x, dim) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:) @@ -4118,18 +6934,23 @@ module function mean_8_dp_dp(x, dim) result(res) merge(size(x,6),size(x,7),mask = 6 < dim ), & merge(size(x,7),size(x,8),mask = 7 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_dp select case(dim) case(1) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_dp_dp(x(:,i,i_,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -4138,14 +6959,17 @@ module function mean_8_dp_dp(x, dim) result(res) end do end do case(2) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_dp_dp(x(i,:,i_,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -4154,14 +6978,17 @@ module function mean_8_dp_dp(x, dim) result(res) end do end do case(3) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_dp_dp(x(i,i_,:,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -4170,14 +6997,17 @@ module function mean_8_dp_dp(x, dim) result(res) end do end do case(4) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_dp_dp(x(i,i_,i__,:,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -4186,14 +7016,17 @@ module function mean_8_dp_dp(x, dim) result(res) end do end do case(5) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_dp_dp(x(i,i_,i__,i___,:,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -4202,14 +7035,17 @@ module function mean_8_dp_dp(x, dim) result(res) end do end do case(6) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_dp_dp(x(i,i_,i__,i___,i____,:,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -4218,14 +7054,17 @@ module function mean_8_dp_dp(x, dim) result(res) end do end do case(7) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,:,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -4234,14 +7073,17 @@ module function mean_8_dp_dp(x, dim) result(res) end do end do case(8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,:)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -4250,9 +7092,11 @@ module function mean_8_dp_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_8_dp_dp module function mean_9_dp_dp(x, dim) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:) @@ -4267,19 +7111,24 @@ module function mean_9_dp_dp(x, dim) result(res) merge(size(x,7),size(x,8),mask = 7 < dim ), & merge(size(x,8),size(x,9),mask = 8 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_dp select case(dim) case(1) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_dp_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -4289,15 +7138,18 @@ module function mean_9_dp_dp(x, dim) result(res) end do end do case(2) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_dp_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -4307,15 +7159,18 @@ module function mean_9_dp_dp(x, dim) result(res) end do end do case(3) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_dp_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -4325,15 +7180,18 @@ module function mean_9_dp_dp(x, dim) result(res) end do end do case(4) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_dp_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -4343,15 +7201,18 @@ module function mean_9_dp_dp(x, dim) result(res) end do end do case(5) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_dp_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -4361,15 +7222,18 @@ module function mean_9_dp_dp(x, dim) result(res) end do end do case(6) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_dp_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -4379,15 +7243,18 @@ module function mean_9_dp_dp(x, dim) result(res) end do end do case(7) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -4397,15 +7264,18 @@ module function mean_9_dp_dp(x, dim) result(res) end do end do case(8) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -4415,15 +7285,18 @@ module function mean_9_dp_dp(x, dim) result(res) end do end do case(9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -4433,9 +7306,11 @@ module function mean_9_dp_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_9_dp_dp module function mean_10_dp_dp(x, dim) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) @@ -4451,21 +7326,25 @@ module function mean_10_dp_dp(x, dim) result(res) merge(size(x,8),size(x,9),mask = 8 < dim ), & merge(size(x,9),size(x,10),mask = 9 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_dp select case(dim) case(1) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_dp_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -4476,17 +7355,19 @@ module function mean_10_dp_dp(x, dim) result(res) end do end do case(2) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_dp_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -4497,17 +7378,19 @@ module function mean_10_dp_dp(x, dim) result(res) end do end do case(3) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_dp_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& + &_______,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -4518,17 +7401,19 @@ module function mean_10_dp_dp(x, dim) result(res) end do end do case(4) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_dp_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& + &_____,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -4539,17 +7424,19 @@ module function mean_10_dp_dp(x, dim) result(res) end do end do case(5) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_dp_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& + &___,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -4560,17 +7447,19 @@ module function mean_10_dp_dp(x, dim) result(res) end do end do case(6) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_dp_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& + &_,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -4581,17 +7470,19 @@ module function mean_10_dp_dp(x, dim) result(res) end do end do case(7) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& + &i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -4602,17 +7493,19 @@ module function mean_10_dp_dp(x, dim) result(res) end do end do case(8) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& + &________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -4623,17 +7516,19 @@ module function mean_10_dp_dp(x, dim) result(res) end do end do case(9) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -4644,17 +7539,19 @@ module function mean_10_dp_dp(x, dim) result(res) end do end do case(10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_& - &_______,:)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& + &____) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -4665,9 +7562,11 @@ module function mean_10_dp_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_10_dp_dp module function mean_11_dp_dp(x, dim) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) @@ -4684,22 +7583,27 @@ module function mean_11_dp_dp(x, dim) result(res) merge(size(x,9),size(x,10),mask = 9 < dim ), & merge(size(x,10),size(x,11),mask = 10 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_dp select case(dim) case(1) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_dp_dp(x(:,i,i_,i__,i___,i____,i_____,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -4711,18 +7615,21 @@ module function mean_11_dp_dp(x, dim) result(res) end do end do case(2) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_dp_dp(x(i,:,i_,i__,i___,i____,i_____,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -4734,18 +7641,21 @@ module function mean_11_dp_dp(x, dim) result(res) end do end do case(3) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_dp_dp(x(i,i_,:,i__,i___,i____,i_____,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -4757,18 +7667,21 @@ module function mean_11_dp_dp(x, dim) result(res) end do end do case(4) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_dp_dp(x(i,i_,i__,:,i___,i____,i_____,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -4780,18 +7693,21 @@ module function mean_11_dp_dp(x, dim) result(res) end do end do case(5) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_dp_dp(x(i,i_,i__,i___,:,i____,i_____,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -4803,18 +7719,21 @@ module function mean_11_dp_dp(x, dim) result(res) end do end do case(6) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_dp_dp(x(i,i_,i__,i___,i____,:,i_____,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -4826,18 +7745,21 @@ module function mean_11_dp_dp(x, dim) result(res) end do end do case(7) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,:,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -4849,18 +7771,21 @@ module function mean_11_dp_dp(x, dim) result(res) end do end do case(8) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,& - &:,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -4872,18 +7797,21 @@ module function mean_11_dp_dp(x, dim) result(res) end do end do case(9) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,& - &i_______,:,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -4895,18 +7823,21 @@ module function mean_11_dp_dp(x, dim) result(res) end do end do case(10) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,& - &i_______,i________,:,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -4918,18 +7849,21 @@ module function mean_11_dp_dp(x, dim) result(res) end do end do case(11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,& - &i_______,i________,i_________,:)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -4941,9 +7875,11 @@ module function mean_11_dp_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_11_dp_dp module function mean_12_dp_dp(x, dim) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) @@ -4961,23 +7897,28 @@ module function mean_12_dp_dp(x, dim) result(res) merge(size(x,10),size(x,11),mask = 10 < dim ), & merge(size(x,11),size(x,12),mask = 11 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_dp select case(dim) case(1) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_dp_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -4990,19 +7931,22 @@ module function mean_12_dp_dp(x, dim) result(res) end do end do case(2) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_dp_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -5015,19 +7959,22 @@ module function mean_12_dp_dp(x, dim) result(res) end do end do case(3) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_dp_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -5040,19 +7987,22 @@ module function mean_12_dp_dp(x, dim) result(res) end do end do case(4) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_dp_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -5065,19 +8015,22 @@ module function mean_12_dp_dp(x, dim) result(res) end do end do case(5) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -5090,19 +8043,22 @@ module function mean_12_dp_dp(x, dim) result(res) end do end do case(6) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -5115,19 +8071,22 @@ module function mean_12_dp_dp(x, dim) result(res) end do end do case(7) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -5140,19 +8099,22 @@ module function mean_12_dp_dp(x, dim) result(res) end do end do case(8) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -5165,19 +8127,22 @@ module function mean_12_dp_dp(x, dim) result(res) end do end do case(9) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -5190,19 +8155,22 @@ module function mean_12_dp_dp(x, dim) result(res) end do end do case(10) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -5215,19 +8183,22 @@ module function mean_12_dp_dp(x, dim) result(res) end do end do case(11) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -5240,19 +8211,22 @@ module function mean_12_dp_dp(x, dim) result(res) end do end do case(12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -5265,9 +8239,11 @@ module function mean_12_dp_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_12_dp_dp module function mean_13_dp_dp(x, dim) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -5286,24 +8262,30 @@ module function mean_13_dp_dp(x, dim) result(res) merge(size(x,11),size(x,12),mask = 11 < dim ), & merge(size(x,12),size(x,13),mask = 12 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_dp select case(dim) case(1) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_dp_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& + &) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_________& + &___) + end do end do end do end do @@ -5317,20 +8299,24 @@ module function mean_13_dp_dp(x, dim) result(res) end do end do case(2) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_dp_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& + &__) + end do end do end do end do @@ -5344,20 +8330,24 @@ module function mean_13_dp_dp(x, dim) result(res) end do end do case(3) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_dp_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& + &__) + end do end do end do end do @@ -5371,20 +8361,24 @@ module function mean_13_dp_dp(x, dim) result(res) end do end do case(4) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_dp_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& + &__) + end do end do end do end do @@ -5398,20 +8392,23 @@ module function mean_13_dp_dp(x, dim) result(res) end do end do case(5) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -5425,20 +8422,23 @@ module function mean_13_dp_dp(x, dim) result(res) end do end do case(6) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -5452,20 +8452,23 @@ module function mean_13_dp_dp(x, dim) result(res) end do end do case(7) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -5479,20 +8482,23 @@ module function mean_13_dp_dp(x, dim) result(res) end do end do case(8) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -5506,20 +8512,23 @@ module function mean_13_dp_dp(x, dim) result(res) end do end do case(9) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -5533,20 +8542,23 @@ module function mean_13_dp_dp(x, dim) result(res) end do end do case(10) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -5560,20 +8572,23 @@ module function mean_13_dp_dp(x, dim) result(res) end do end do case(11) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -5587,20 +8602,23 @@ module function mean_13_dp_dp(x, dim) result(res) end do end do case(12) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -5614,20 +8632,23 @@ module function mean_13_dp_dp(x, dim) result(res) end do end do case(13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -5641,9 +8662,11 @@ module function mean_13_dp_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_13_dp_dp module function mean_14_dp_dp(x, dim) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -5663,26 +8686,32 @@ module function mean_14_dp_dp(x, dim) result(res) merge(size(x,12),size(x,13),mask = 12 < dim ), & merge(size(x,13),size(x,14),mask = 13 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_dp select case(dim) case(1) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_dp_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i____& + &______,i___________,i____________,i_____________) + end do end do end do end do @@ -5697,22 +8726,25 @@ module function mean_14_dp_dp(x, dim) result(res) end do end do case(2) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_dp_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& + &____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i______& + &____,i___________,i____________,i_____________) + end do end do end do end do @@ -5727,22 +8759,25 @@ module function mean_14_dp_dp(x, dim) result(res) end do end do case(3) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_dp_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i________& + &__,i___________,i____________,i_____________) + end do end do end do end do @@ -5757,22 +8792,25 @@ module function mean_14_dp_dp(x, dim) result(res) end do end do case(4) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_dp_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________& + &,i___________,i____________,i_____________) + end do end do end do end do @@ -5787,22 +8825,25 @@ module function mean_14_dp_dp(x, dim) result(res) end do end do case(5) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& + &______,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i& + &___________,i____________,i_____________) + end do end do end do end do @@ -5817,22 +8858,25 @@ module function mean_14_dp_dp(x, dim) result(res) end do end do case(6) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& + &____,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& + &_________,i____________,i_____________) + end do end do end do end do @@ -5847,22 +8891,25 @@ module function mean_14_dp_dp(x, dim) result(res) end do end do case(7) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& + &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& + &__,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& + &_______,i____________,i_____________) + end do end do end do end do @@ -5877,22 +8924,25 @@ module function mean_14_dp_dp(x, dim) result(res) end do end do case(8) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& + &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& + &,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i______& + &_____,i____________,i_____________) + end do end do end do end do @@ -5907,22 +8957,25 @@ module function mean_14_dp_dp(x, dim) result(res) end do end do case(9) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& + &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& + &_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i________& + &___,i____________,i_____________) + end do end do end do end do @@ -5937,22 +8990,25 @@ module function mean_14_dp_dp(x, dim) result(res) end do end do case(10) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& + &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& + &___________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& + &_,i____________,i_____________) + end do end do end do end do @@ -5967,22 +9023,25 @@ module function mean_14_dp_dp(x, dim) result(res) end do end do case(11) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& + &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& + &_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,& + &i____________,i_____________) + end do end do end do end do @@ -5997,22 +9056,25 @@ module function mean_14_dp_dp(x, dim) result(res) end do end do case(12) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& + &_______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_& + &___________,i_____________) + end do end do end do end do @@ -6027,22 +9089,25 @@ module function mean_14_dp_dp(x, dim) result(res) end do end do case(13) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________) + end do end do end do end do @@ -6057,22 +9122,25 @@ module function mean_14_dp_dp(x, dim) result(res) end do end do case(14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& - &__,:)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& + &_________,i_____________) + end do end do end do end do @@ -6087,9 +9155,11 @@ module function mean_14_dp_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_14_dp_dp module function mean_15_dp_dp(x, dim) result(res) real(dp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -6111,27 +9181,32 @@ module function mean_15_dp_dp(x, dim) result(res) merge(size(x,14),size(x,15),mask = 14 < dim ) ) integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + &__,i______________ + + res = 0.0_dp select case(dim) case(1) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_dp_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& + &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,& + &i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -6147,23 +9222,26 @@ module function mean_15_dp_dp(x, dim) result(res) end do end do case(2) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_dp_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_& + &______,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -6179,23 +9257,26 @@ module function mean_15_dp_dp(x, dim) result(res) end do end do case(3) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_dp_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i___& + &____,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -6211,23 +9292,26 @@ module function mean_15_dp_dp(x, dim) result(res) end do end do case(4) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_dp_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_____& + &__,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -6243,23 +9327,26 @@ module function mean_15_dp_dp(x, dim) result(res) end do end do case(5) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_dp_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______& + &,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -6275,23 +9362,26 @@ module function mean_15_dp_dp(x, dim) result(res) end do end do case(6) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_dp_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i& + &________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -6307,23 +9397,26 @@ module function mean_15_dp_dp(x, dim) result(res) end do end do case(7) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i__& + &______,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -6339,23 +9432,26 @@ module function mean_15_dp_dp(x, dim) result(res) end do end do case(8) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& + &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& + &____,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i____& + &____,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -6371,23 +9467,26 @@ module function mean_15_dp_dp(x, dim) result(res) end do end do case(9) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& + &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& + &__,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i______& + &__,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -6403,23 +9502,26 @@ module function mean_15_dp_dp(x, dim) result(res) end do end do case(10) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& + &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& + &,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________& + &,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -6435,23 +9537,26 @@ module function mean_15_dp_dp(x, dim) result(res) end do end do case(11) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& + &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& + &____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i& + &_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -6467,23 +9572,26 @@ module function mean_15_dp_dp(x, dim) result(res) end do end do case(12) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& + &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& + &__________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__& + &_______,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -6499,23 +9607,26 @@ module function mean_15_dp_dp(x, dim) result(res) end do end do case(13) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& + &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i____& + &_____,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -6531,23 +9642,26 @@ module function mean_15_dp_dp(x, dim) result(res) end do end do case(14) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____,:,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& + &_______,i____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i______& + &___,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -6563,23 +9677,26 @@ module function mean_15_dp_dp(x, dim) result(res) end do end do case(15) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_dp_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____,i_____________,:)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i________& + &_,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -6595,9 +9712,11 @@ module function mean_15_dp_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_15_dp_dp module function mean_3_qp_qp(x, dim) result(res) real(qp), intent(in) :: x(:,:,:) @@ -6606,31 +9725,41 @@ module function mean_3_qp_qp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_ + integer :: i,i_,i__ + + res = 0.0_qp select case(dim) case(1) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_qp_qp(x(:,i,i_)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + x(i,i_,i__) + end do end do end do case(2) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_qp_qp(x(i,:,i_)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + x(i,i_,i__) + end do end do end do case(3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_qp_qp(x(i,i_,:)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + x(i,i_,i__) + end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), qp) + end function mean_3_qp_qp module function mean_4_qp_qp(x, dim) result(res) real(qp), intent(in) :: x(:,:,:,:) @@ -6640,45 +9769,57 @@ module function mean_4_qp_qp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__ + integer :: i,i_,i__,i___ + + res = 0.0_qp select case(dim) case(1) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_qp_qp(x(:,i,i_,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + x(i,i_,i__,i___) + end do end do end do end do case(2) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_qp_qp(x(i,:,i_,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + x(i,i_,i__,i___) + end do end do end do end do case(3) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_qp_qp(x(i,i_,:,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + x(i,i_,i__,i___) + end do end do end do end do case(4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_qp_qp(x(i,i_,i__,:)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + x(i,i_,i__,i___) + end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), qp) + end function mean_4_qp_qp module function mean_5_qp_qp(x, dim) result(res) real(qp), intent(in) :: x(:,:,:,:,:) @@ -6689,63 +9830,77 @@ module function mean_5_qp_qp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i,i_,i__,i___,i____ + + res = 0.0_qp select case(dim) case(1) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_qp_qp(x(:,i,i_,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + x(i,i_,i__,i___,i____) + end do end do end do end do end do case(2) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_qp_qp(x(i,:,i_,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + x(i,i_,i__,i___,i____) + end do end do end do end do end do case(3) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_qp_qp(x(i,i_,:,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + x(i,i_,i__,i___,i____) + end do end do end do end do end do case(4) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_qp_qp(x(i,i_,i__,:,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + x(i,i_,i__,i___,i____) + end do end do end do end do end do case(5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_qp_qp(x(i,i_,i__,i___,:)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + x(i,i_,i__,i___,i____) + end do end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), qp) + end function mean_5_qp_qp module function mean_6_qp_qp(x, dim) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:) @@ -6757,85 +9912,101 @@ module function mean_6_qp_qp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_qp select case(dim) case(1) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_qp_qp(x(:,i,i_,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do end do end do end do end do end do case(2) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_qp_qp(x(i,:,i_,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do end do end do end do end do end do case(3) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_qp_qp(x(i,i_,:,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do end do end do end do end do end do case(4) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_qp_qp(x(i,i_,i__,:,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + x(i,i_,i__,i___,i____,i_____) + end do end do end do end do end do end do case(5) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_qp_qp(x(i,i_,i__,i___,:,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + x(i,i_,i__,i___,i____,i_____) + end do end do end do end do end do end do case(6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_qp_qp(x(i,i_,i__,i___,i____,:)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + x(i,i_,i__,i___,i____,i_____) + end do end do end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), qp) + end function mean_6_qp_qp module function mean_7_qp_qp(x, dim) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:) @@ -6848,17 +10019,21 @@ module function mean_7_qp_qp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_qp select case(dim) case(1) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_qp_qp(x(:,i,i_,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -6866,13 +10041,15 @@ module function mean_7_qp_qp(x, dim) result(res) end do end do case(2) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_qp_qp(x(i,:,i_,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -6880,13 +10057,15 @@ module function mean_7_qp_qp(x, dim) result(res) end do end do case(3) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_qp_qp(x(i,i_,:,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -6894,13 +10073,15 @@ module function mean_7_qp_qp(x, dim) result(res) end do end do case(4) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_qp_qp(x(i,i_,i__,:,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -6908,13 +10089,15 @@ module function mean_7_qp_qp(x, dim) result(res) end do end do case(5) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_qp_qp(x(i,i_,i__,i___,:,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -6922,13 +10105,15 @@ module function mean_7_qp_qp(x, dim) result(res) end do end do case(6) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_qp_qp(x(i,i_,i__,i___,i____,:,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -6936,13 +10121,15 @@ module function mean_7_qp_qp(x, dim) result(res) end do end do case(7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,:)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + x(i,i_,i__,i___,i____,i_____,i______) + end do end do end do end do @@ -6950,9 +10137,11 @@ module function mean_7_qp_qp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), qp) + end function mean_7_qp_qp module function mean_8_qp_qp(x, dim) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:) @@ -6966,18 +10155,23 @@ module function mean_8_qp_qp(x, dim) result(res) merge(size(x,6),size(x,7),mask = 6 < dim ), & merge(size(x,7),size(x,8),mask = 7 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_qp select case(dim) case(1) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_qp_qp(x(:,i,i_,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -6986,14 +10180,17 @@ module function mean_8_qp_qp(x, dim) result(res) end do end do case(2) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_qp_qp(x(i,:,i_,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -7002,14 +10199,17 @@ module function mean_8_qp_qp(x, dim) result(res) end do end do case(3) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_qp_qp(x(i,i_,:,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -7018,14 +10218,17 @@ module function mean_8_qp_qp(x, dim) result(res) end do end do case(4) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_qp_qp(x(i,i_,i__,:,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -7034,14 +10237,17 @@ module function mean_8_qp_qp(x, dim) result(res) end do end do case(5) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_qp_qp(x(i,i_,i__,i___,:,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -7050,14 +10256,17 @@ module function mean_8_qp_qp(x, dim) result(res) end do end do case(6) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_qp_qp(x(i,i_,i__,i___,i____,:,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -7066,14 +10275,17 @@ module function mean_8_qp_qp(x, dim) result(res) end do end do case(7) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,:,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -7082,14 +10294,17 @@ module function mean_8_qp_qp(x, dim) result(res) end do end do case(8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,:)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______) + end do end do end do end do @@ -7098,9 +10313,11 @@ module function mean_8_qp_qp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), qp) + end function mean_8_qp_qp module function mean_9_qp_qp(x, dim) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:) @@ -7115,19 +10332,24 @@ module function mean_9_qp_qp(x, dim) result(res) merge(size(x,7),size(x,8),mask = 7 < dim ), & merge(size(x,8),size(x,9),mask = 8 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_qp select case(dim) case(1) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_qp_qp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -7137,15 +10359,18 @@ module function mean_9_qp_qp(x, dim) result(res) end do end do case(2) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_qp_qp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -7155,15 +10380,18 @@ module function mean_9_qp_qp(x, dim) result(res) end do end do case(3) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_qp_qp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -7173,15 +10401,18 @@ module function mean_9_qp_qp(x, dim) result(res) end do end do case(4) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_qp_qp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -7191,15 +10422,18 @@ module function mean_9_qp_qp(x, dim) result(res) end do end do case(5) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_qp_qp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -7209,15 +10443,18 @@ module function mean_9_qp_qp(x, dim) result(res) end do end do case(6) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_qp_qp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -7227,15 +10464,18 @@ module function mean_9_qp_qp(x, dim) result(res) end do end do case(7) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -7245,15 +10485,18 @@ module function mean_9_qp_qp(x, dim) result(res) end do end do case(8) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -7263,15 +10506,18 @@ module function mean_9_qp_qp(x, dim) result(res) end do end do case(9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________) + end do end do end do end do @@ -7281,9 +10527,11 @@ module function mean_9_qp_qp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), qp) + end function mean_9_qp_qp module function mean_10_qp_qp(x, dim) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) @@ -7299,21 +10547,25 @@ module function mean_10_qp_qp(x, dim) result(res) merge(size(x,8),size(x,9),mask = 8 < dim ), & merge(size(x,9),size(x,10),mask = 9 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_qp select case(dim) case(1) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_qp_qp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -7324,17 +10576,19 @@ module function mean_10_qp_qp(x, dim) result(res) end do end do case(2) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_qp_qp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -7345,17 +10599,19 @@ module function mean_10_qp_qp(x, dim) result(res) end do end do case(3) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_qp_qp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& + &_______,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -7366,17 +10622,19 @@ module function mean_10_qp_qp(x, dim) result(res) end do end do case(4) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_qp_qp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& + &_____,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -7387,17 +10645,19 @@ module function mean_10_qp_qp(x, dim) result(res) end do end do case(5) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_qp_qp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& + &___,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -7408,17 +10668,19 @@ module function mean_10_qp_qp(x, dim) result(res) end do end do case(6) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_qp_qp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& + &_,i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -7429,17 +10691,19 @@ module function mean_10_qp_qp(x, dim) result(res) end do end do case(7) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& + &i_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -7450,17 +10714,19 @@ module function mean_10_qp_qp(x, dim) result(res) end do end do case(8) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& + &________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -7471,17 +10737,19 @@ module function mean_10_qp_qp(x, dim) result(res) end do end do case(9) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,& - &i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -7492,17 +10760,19 @@ module function mean_10_qp_qp(x, dim) result(res) end do end do case(10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_& - &_______,:)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& + &____) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) + end do end do end do end do @@ -7513,9 +10783,11 @@ module function mean_10_qp_qp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), qp) + end function mean_10_qp_qp module function mean_11_qp_qp(x, dim) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) @@ -7532,22 +10804,27 @@ module function mean_11_qp_qp(x, dim) result(res) merge(size(x,9),size(x,10),mask = 9 < dim ), & merge(size(x,10),size(x,11),mask = 10 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_qp select case(dim) case(1) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_qp_qp(x(:,i,i_,i__,i___,i____,i_____,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -7559,18 +10836,21 @@ module function mean_11_qp_qp(x, dim) result(res) end do end do case(2) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_qp_qp(x(i,:,i_,i__,i___,i____,i_____,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -7582,18 +10862,21 @@ module function mean_11_qp_qp(x, dim) result(res) end do end do case(3) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_qp_qp(x(i,i_,:,i__,i___,i____,i_____,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -7605,18 +10888,21 @@ module function mean_11_qp_qp(x, dim) result(res) end do end do case(4) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_qp_qp(x(i,i_,i__,:,i___,i____,i_____,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -7628,18 +10914,21 @@ module function mean_11_qp_qp(x, dim) result(res) end do end do case(5) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_qp_qp(x(i,i_,i__,i___,:,i____,i_____,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -7651,18 +10940,21 @@ module function mean_11_qp_qp(x, dim) result(res) end do end do case(6) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_qp_qp(x(i,i_,i__,i___,i____,:,i_____,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -7674,18 +10966,21 @@ module function mean_11_qp_qp(x, dim) result(res) end do end do case(7) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,:,i_____& - &_,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -7697,18 +10992,21 @@ module function mean_11_qp_qp(x, dim) result(res) end do end do case(8) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,& - &:,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -7720,18 +11018,21 @@ module function mean_11_qp_qp(x, dim) result(res) end do end do case(9) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,& - &i_______,:,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -7743,18 +11044,21 @@ module function mean_11_qp_qp(x, dim) result(res) end do end do case(10) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,& - &i_______,i________,:,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -7766,18 +11070,21 @@ module function mean_11_qp_qp(x, dim) result(res) end do end do case(11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,& - &i_______,i________,i_________,:)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) + end do end do end do end do @@ -7789,9 +11096,11 @@ module function mean_11_qp_qp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), qp) + end function mean_11_qp_qp module function mean_12_qp_qp(x, dim) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) @@ -7809,23 +11118,28 @@ module function mean_12_qp_qp(x, dim) result(res) merge(size(x,10),size(x,11),mask = 10 < dim ), & merge(size(x,11),size(x,12),mask = 11 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_qp select case(dim) case(1) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_qp_qp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -7838,19 +11152,22 @@ module function mean_12_qp_qp(x, dim) result(res) end do end do case(2) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_qp_qp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -7863,19 +11180,22 @@ module function mean_12_qp_qp(x, dim) result(res) end do end do case(3) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_qp_qp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -7888,19 +11208,22 @@ module function mean_12_qp_qp(x, dim) result(res) end do end do case(4) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_qp_qp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -7913,19 +11236,22 @@ module function mean_12_qp_qp(x, dim) result(res) end do end do case(5) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -7938,19 +11264,22 @@ module function mean_12_qp_qp(x, dim) result(res) end do end do case(6) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -7963,19 +11292,22 @@ module function mean_12_qp_qp(x, dim) result(res) end do end do case(7) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -7988,19 +11320,22 @@ module function mean_12_qp_qp(x, dim) result(res) end do end do case(8) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -8013,19 +11348,22 @@ module function mean_12_qp_qp(x, dim) result(res) end do end do case(9) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -8038,19 +11376,22 @@ module function mean_12_qp_qp(x, dim) result(res) end do end do case(10) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -8063,19 +11404,22 @@ module function mean_12_qp_qp(x, dim) result(res) end do end do case(11) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -8088,19 +11432,22 @@ module function mean_12_qp_qp(x, dim) result(res) end do end do case(12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) + end do end do end do end do @@ -8113,9 +11460,11 @@ module function mean_12_qp_qp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), qp) + end function mean_12_qp_qp module function mean_13_qp_qp(x, dim) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -8134,24 +11483,30 @@ module function mean_13_qp_qp(x, dim) result(res) merge(size(x,11),size(x,12),mask = 11 < dim ), & merge(size(x,12),size(x,13),mask = 12 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_qp select case(dim) case(1) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_qp_qp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& + &) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_________& + &___) + end do end do end do end do @@ -8165,20 +11520,24 @@ module function mean_13_qp_qp(x, dim) result(res) end do end do case(2) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_qp_qp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& + &__) + end do end do end do end do @@ -8192,20 +11551,24 @@ module function mean_13_qp_qp(x, dim) result(res) end do end do case(3) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_qp_qp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& + &__) + end do end do end do end do @@ -8219,20 +11582,24 @@ module function mean_13_qp_qp(x, dim) result(res) end do end do case(4) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_qp_qp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& + &__) + end do end do end do end do @@ -8246,20 +11613,23 @@ module function mean_13_qp_qp(x, dim) result(res) end do end do case(5) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -8273,20 +11643,23 @@ module function mean_13_qp_qp(x, dim) result(res) end do end do case(6) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -8300,20 +11673,23 @@ module function mean_13_qp_qp(x, dim) result(res) end do end do case(7) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -8327,20 +11703,23 @@ module function mean_13_qp_qp(x, dim) result(res) end do end do case(8) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -8354,20 +11733,23 @@ module function mean_13_qp_qp(x, dim) result(res) end do end do case(9) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -8381,20 +11763,23 @@ module function mean_13_qp_qp(x, dim) result(res) end do end do case(10) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -8408,20 +11793,23 @@ module function mean_13_qp_qp(x, dim) result(res) end do end do case(11) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -8435,20 +11823,23 @@ module function mean_13_qp_qp(x, dim) result(res) end do end do case(12) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -8462,20 +11853,23 @@ module function mean_13_qp_qp(x, dim) result(res) end do end do case(13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) + end do end do end do end do @@ -8489,9 +11883,11 @@ module function mean_13_qp_qp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), qp) + end function mean_13_qp_qp module function mean_14_qp_qp(x, dim) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -8511,26 +11907,32 @@ module function mean_14_qp_qp(x, dim) result(res) merge(size(x,12),size(x,13),mask = 12 < dim ), & merge(size(x,13),size(x,14),mask = 13 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_qp select case(dim) case(1) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_qp_qp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i____& + &______,i___________,i____________,i_____________) + end do end do end do end do @@ -8545,22 +11947,25 @@ module function mean_14_qp_qp(x, dim) result(res) end do end do case(2) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_qp_qp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& + &____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i______& + &____,i___________,i____________,i_____________) + end do end do end do end do @@ -8575,22 +11980,25 @@ module function mean_14_qp_qp(x, dim) result(res) end do end do case(3) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_qp_qp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i________& + &__,i___________,i____________,i_____________) + end do end do end do end do @@ -8605,22 +12013,25 @@ module function mean_14_qp_qp(x, dim) result(res) end do end do case(4) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_qp_qp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________& + &,i___________,i____________,i_____________) + end do end do end do end do @@ -8635,22 +12046,25 @@ module function mean_14_qp_qp(x, dim) result(res) end do end do case(5) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& + &______,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i& + &___________,i____________,i_____________) + end do end do end do end do @@ -8665,22 +12079,25 @@ module function mean_14_qp_qp(x, dim) result(res) end do end do case(6) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& + &____,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& + &_________,i____________,i_____________) + end do end do end do end do @@ -8695,22 +12112,25 @@ module function mean_14_qp_qp(x, dim) result(res) end do end do case(7) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& + &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& + &__,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& + &_______,i____________,i_____________) + end do end do end do end do @@ -8725,22 +12145,25 @@ module function mean_14_qp_qp(x, dim) result(res) end do end do case(8) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& + &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& + &,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i______& + &_____,i____________,i_____________) + end do end do end do end do @@ -8755,22 +12178,25 @@ module function mean_14_qp_qp(x, dim) result(res) end do end do case(9) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& + &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& + &_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i________& + &___,i____________,i_____________) + end do end do end do end do @@ -8785,22 +12211,25 @@ module function mean_14_qp_qp(x, dim) result(res) end do end do case(10) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& + &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& + &___________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& + &_,i____________,i_____________) + end do end do end do end do @@ -8815,22 +12244,25 @@ module function mean_14_qp_qp(x, dim) result(res) end do end do case(11) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& + &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& + &_________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,& + &i____________,i_____________) + end do end do end do end do @@ -8845,22 +12277,25 @@ module function mean_14_qp_qp(x, dim) result(res) end do end do case(12) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& + &_______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_& + &___________,i_____________) + end do end do end do end do @@ -8875,22 +12310,25 @@ module function mean_14_qp_qp(x, dim) result(res) end do end do case(13) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:,i________& - &____)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &______) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________) + end do end do end do end do @@ -8905,22 +12343,25 @@ module function mean_14_qp_qp(x, dim) result(res) end do end do case(14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__________& - &__,:)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& + &_________,i_____________) + end do end do end do end do @@ -8935,9 +12376,11 @@ module function mean_14_qp_qp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), qp) + end function mean_14_qp_qp module function mean_15_qp_qp(x, dim) result(res) real(qp), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -8959,27 +12402,32 @@ module function mean_15_qp_qp(x, dim) result(res) merge(size(x,14),size(x,15),mask = 14 < dim ) ) integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + &__,i______________ + + res = 0.0_qp select case(dim) case(1) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_qp_qp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& + &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,& + &i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -8995,23 +12443,26 @@ module function mean_15_qp_qp(x, dim) result(res) end do end do case(2) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_qp_qp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_& + &______,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -9027,23 +12478,26 @@ module function mean_15_qp_qp(x, dim) result(res) end do end do case(3) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_qp_qp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i___& + &____,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -9059,23 +12513,26 @@ module function mean_15_qp_qp(x, dim) result(res) end do end do case(4) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_qp_qp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_____& + &__,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -9091,23 +12548,26 @@ module function mean_15_qp_qp(x, dim) result(res) end do end do case(5) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_qp_qp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______& + &,i________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -9123,23 +12583,26 @@ module function mean_15_qp_qp(x, dim) result(res) end do end do case(6) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_qp_qp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i& + &________,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -9155,23 +12618,26 @@ module function mean_15_qp_qp(x, dim) result(res) end do end do case(7) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i__& + &______,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -9187,23 +12653,26 @@ module function mean_15_qp_qp(x, dim) result(res) end do end do case(8) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& + &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& + &____,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i____& + &____,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -9219,23 +12688,26 @@ module function mean_15_qp_qp(x, dim) result(res) end do end do case(9) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& + &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& + &__,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i______& + &__,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -9251,23 +12723,26 @@ module function mean_15_qp_qp(x, dim) result(res) end do end do case(10) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& + &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& + &,i____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________& + &,i_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -9283,23 +12758,26 @@ module function mean_15_qp_qp(x, dim) result(res) end do end do case(11) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& + &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& + &____________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i& + &_________,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -9315,23 +12793,26 @@ module function mean_15_qp_qp(x, dim) result(res) end do end do case(12) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& + &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& + &__________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__& + &_______,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -9347,23 +12828,26 @@ module function mean_15_qp_qp(x, dim) result(res) end do end do case(13) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:,i_____& - &_______,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& + &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i_____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i____& + &_____,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -9379,23 +12863,26 @@ module function mean_15_qp_qp(x, dim) result(res) end do end do case(14) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____,:,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& + &_______,i____________,i______________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i______& + &___,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -9411,23 +12898,26 @@ module function mean_15_qp_qp(x, dim) result(res) end do end do case(15) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_qp_qp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____,i_____________,:)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________) + x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i________& + &_,i__________,i___________,i____________,i_____________,i______________) + end do end do end do end do @@ -9443,9 +12933,11 @@ module function mean_15_qp_qp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), qp) + end function mean_15_qp_qp module function mean_3_int8_dp(x, dim) result(res) @@ -9455,31 +12947,41 @@ module function mean_3_int8_dp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_ + integer :: i,i_,i__ + + res = 0.0_dp select case(dim) case(1) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_int8_dp(x(:,i,i_)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + real(x(i,i_,i__), dp) + end do end do end do case(2) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_int8_dp(x(i,:,i_)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + real(x(i,i_,i__), dp) + end do end do end do case(3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_int8_dp(x(i,i_,:)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + real(x(i,i_,i__), dp) + end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_3_int8_dp module function mean_4_int8_dp(x, dim) result(res) integer(int8), intent(in) :: x(:,:,:,:) @@ -9489,45 +12991,57 @@ module function mean_4_int8_dp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__ + integer :: i,i_,i__,i___ + + res = 0.0_dp select case(dim) case(1) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_int8_dp(x(:,i,i_,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + real(x(i,i_,i__,i___), dp) + end do end do end do end do case(2) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_int8_dp(x(i,:,i_,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + real(x(i,i_,i__,i___), dp) + end do end do end do end do case(3) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_int8_dp(x(i,i_,:,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + real(x(i,i_,i__,i___), dp) + end do end do end do end do case(4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_int8_dp(x(i,i_,i__,:)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + real(x(i,i_,i__,i___), dp) + end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_4_int8_dp module function mean_5_int8_dp(x, dim) result(res) integer(int8), intent(in) :: x(:,:,:,:,:) @@ -9538,63 +13052,77 @@ module function mean_5_int8_dp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp select case(dim) case(1) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_int8_dp(x(:,i,i_,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do end do end do end do end do case(2) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_int8_dp(x(i,:,i_,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do end do end do end do end do case(3) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_int8_dp(x(i,i_,:,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do end do end do end do end do case(4) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_int8_dp(x(i,i_,i__,:,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + real(x(i,i_,i__,i___,i____), dp) + end do end do end do end do end do case(5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_int8_dp(x(i,i_,i__,i___,:)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + real(x(i,i_,i__,i___,i____), dp) + end do end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_5_int8_dp module function mean_6_int8_dp(x, dim) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:) @@ -9606,85 +13134,101 @@ module function mean_6_int8_dp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp select case(dim) case(1) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int8_dp(x(:,i,i_,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case(2) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int8_dp(x(i,:,i_,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case(3) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int8_dp(x(i,i_,:,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case(4) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int8_dp(x(i,i_,i__,:,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case(5) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int8_dp(x(i,i_,i__,i___,:,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case(6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int8_dp(x(i,i_,i__,i___,i____,:)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_6_int8_dp module function mean_7_int8_dp(x, dim) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:) @@ -9697,17 +13241,22 @@ module function mean_7_int8_dp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp select case(dim) case(1) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int8_dp(x(:,i,i_,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -9715,13 +13264,16 @@ module function mean_7_int8_dp(x, dim) result(res) end do end do case(2) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int8_dp(x(i,:,i_,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -9729,13 +13281,16 @@ module function mean_7_int8_dp(x, dim) result(res) end do end do case(3) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int8_dp(x(i,i_,:,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -9743,13 +13298,16 @@ module function mean_7_int8_dp(x, dim) result(res) end do end do case(4) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int8_dp(x(i,i_,i__,:,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -9757,13 +13315,16 @@ module function mean_7_int8_dp(x, dim) result(res) end do end do case(5) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int8_dp(x(i,i_,i__,i___,:,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______),& + & dp) + end do end do end do end do @@ -9771,13 +13332,15 @@ module function mean_7_int8_dp(x, dim) result(res) end do end do case(6) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int8_dp(x(i,i_,i__,i___,i____,:,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -9785,13 +13348,15 @@ module function mean_7_int8_dp(x, dim) result(res) end do end do case(7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,:)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -9799,9 +13364,11 @@ module function mean_7_int8_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_7_int8_dp module function mean_8_int8_dp(x, dim) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:) @@ -9815,18 +13382,23 @@ module function mean_8_int8_dp(x, dim) result(res) merge(size(x,6),size(x,7),mask = 6 < dim ), & merge(size(x,7),size(x,8),mask = 7 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_dp select case(dim) case(1) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int8_dp(x(:,i,i_,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -9835,14 +13407,17 @@ module function mean_8_int8_dp(x, dim) result(res) end do end do case(2) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int8_dp(x(i,:,i_,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -9851,14 +13426,17 @@ module function mean_8_int8_dp(x, dim) result(res) end do end do case(3) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int8_dp(x(i,i_,:,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -9867,14 +13445,17 @@ module function mean_8_int8_dp(x, dim) result(res) end do end do case(4) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int8_dp(x(i,i_,i__,:,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -9883,14 +13464,17 @@ module function mean_8_int8_dp(x, dim) result(res) end do end do case(5) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int8_dp(x(i,i_,i__,i___,:,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -9899,14 +13483,17 @@ module function mean_8_int8_dp(x, dim) result(res) end do end do case(6) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int8_dp(x(i,i_,i__,i___,i____,:,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -9915,14 +13502,17 @@ module function mean_8_int8_dp(x, dim) result(res) end do end do case(7) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,:,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -9931,14 +13521,17 @@ module function mean_8_int8_dp(x, dim) result(res) end do end do case(8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,:)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -9947,9 +13540,11 @@ module function mean_8_int8_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_8_int8_dp module function mean_9_int8_dp(x, dim) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:) @@ -9964,19 +13559,24 @@ module function mean_9_int8_dp(x, dim) result(res) merge(size(x,7),size(x,8),mask = 7 < dim ), & merge(size(x,8),size(x,9),mask = 8 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_dp select case(dim) case(1) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int8_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -9986,15 +13586,18 @@ module function mean_9_int8_dp(x, dim) result(res) end do end do case(2) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int8_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -10004,15 +13607,18 @@ module function mean_9_int8_dp(x, dim) result(res) end do end do case(3) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int8_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -10022,15 +13628,18 @@ module function mean_9_int8_dp(x, dim) result(res) end do end do case(4) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int8_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -10040,15 +13649,18 @@ module function mean_9_int8_dp(x, dim) result(res) end do end do case(5) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int8_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -10058,15 +13670,18 @@ module function mean_9_int8_dp(x, dim) result(res) end do end do case(6) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int8_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -10076,15 +13691,18 @@ module function mean_9_int8_dp(x, dim) result(res) end do end do case(7) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -10094,15 +13712,18 @@ module function mean_9_int8_dp(x, dim) result(res) end do end do case(8) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -10112,15 +13733,18 @@ module function mean_9_int8_dp(x, dim) result(res) end do end do case(9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -10130,9 +13754,11 @@ module function mean_9_int8_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_9_int8_dp module function mean_10_int8_dp(x, dim) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) @@ -10148,21 +13774,25 @@ module function mean_10_int8_dp(x, dim) result(res) merge(size(x,8),size(x,9),mask = 8 < dim ), & merge(size(x,9),size(x,10),mask = 9 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_dp select case(dim) case(1) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int8_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i______& - &_,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -10173,17 +13803,19 @@ module function mean_10_int8_dp(x, dim) result(res) end do end do case(2) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int8_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i______& - &_,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -10194,17 +13826,19 @@ module function mean_10_int8_dp(x, dim) result(res) end do end do case(3) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int8_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i______& - &_,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& + &_______,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -10215,17 +13849,19 @@ module function mean_10_int8_dp(x, dim) result(res) end do end do case(4) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int8_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i______& - &_,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& + &_____,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -10236,17 +13872,19 @@ module function mean_10_int8_dp(x, dim) result(res) end do end do case(5) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int8_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i______& - &_,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& + &___,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -10257,17 +13895,19 @@ module function mean_10_int8_dp(x, dim) result(res) end do end do case(6) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int8_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i______& - &_,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& + &_,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -10278,17 +13918,19 @@ module function mean_10_int8_dp(x, dim) result(res) end do end do case(7) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i______& - &_,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& + &i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -10299,17 +13941,19 @@ module function mean_10_int8_dp(x, dim) result(res) end do end do case(8) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i______& - &_,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& + &________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -10320,17 +13964,19 @@ module function mean_10_int8_dp(x, dim) result(res) end do end do case(9) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,& - &:,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -10341,17 +13987,19 @@ module function mean_10_int8_dp(x, dim) result(res) end do end do case(10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,& - &i________,:)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& + &____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -10362,9 +14010,11 @@ module function mean_10_int8_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_10_int8_dp module function mean_11_int8_dp(x, dim) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) @@ -10381,22 +14031,27 @@ module function mean_11_int8_dp(x, dim) result(res) merge(size(x,9),size(x,10),mask = 9 < dim ), & merge(size(x,10),size(x,11),mask = 10 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_dp select case(dim) case(1) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int8_dp(x(:,i,i_,i__,i___,i____,i_____,i___& - &___,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -10408,18 +14063,21 @@ module function mean_11_int8_dp(x, dim) result(res) end do end do case(2) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int8_dp(x(i,:,i_,i__,i___,i____,i_____,i___& - &___,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -10431,18 +14089,21 @@ module function mean_11_int8_dp(x, dim) result(res) end do end do case(3) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int8_dp(x(i,i_,:,i__,i___,i____,i_____,i___& - &___,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -10454,18 +14115,21 @@ module function mean_11_int8_dp(x, dim) result(res) end do end do case(4) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int8_dp(x(i,i_,i__,:,i___,i____,i_____,i___& - &___,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -10477,18 +14141,21 @@ module function mean_11_int8_dp(x, dim) result(res) end do end do case(5) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int8_dp(x(i,i_,i__,i___,:,i____,i_____,i___& - &___,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -10500,18 +14167,21 @@ module function mean_11_int8_dp(x, dim) result(res) end do end do case(6) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int8_dp(x(i,i_,i__,i___,i____,:,i_____,i___& - &___,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -10523,18 +14193,21 @@ module function mean_11_int8_dp(x, dim) result(res) end do end do case(7) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,:,i___& - &___,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -10546,18 +14219,21 @@ module function mean_11_int8_dp(x, dim) result(res) end do end do case(8) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i_____& - &_,:,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -10569,18 +14245,21 @@ module function mean_11_int8_dp(x, dim) result(res) end do end do case(9) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i_____& - &_,i_______,:,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -10592,18 +14271,21 @@ module function mean_11_int8_dp(x, dim) result(res) end do end do case(10) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i_____& - &_,i_______,i________,:,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -10615,18 +14297,21 @@ module function mean_11_int8_dp(x, dim) result(res) end do end do case(11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i_____& - &_,i_______,i________,i_________,:)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -10638,9 +14323,11 @@ module function mean_11_int8_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_11_int8_dp module function mean_12_int8_dp(x, dim) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) @@ -10658,23 +14345,28 @@ module function mean_12_int8_dp(x, dim) result(res) merge(size(x,10),size(x,11),mask = 10 < dim ), & merge(size(x,11),size(x,12),mask = 11 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_dp select case(dim) case(1) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int8_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -10687,19 +14379,22 @@ module function mean_12_int8_dp(x, dim) result(res) end do end do case(2) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int8_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -10712,19 +14407,22 @@ module function mean_12_int8_dp(x, dim) result(res) end do end do case(3) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int8_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -10737,19 +14435,22 @@ module function mean_12_int8_dp(x, dim) result(res) end do end do case(4) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int8_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -10762,19 +14463,22 @@ module function mean_12_int8_dp(x, dim) result(res) end do end do case(5) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -10787,19 +14491,22 @@ module function mean_12_int8_dp(x, dim) result(res) end do end do case(6) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -10812,19 +14519,22 @@ module function mean_12_int8_dp(x, dim) result(res) end do end do case(7) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -10837,19 +14547,22 @@ module function mean_12_int8_dp(x, dim) result(res) end do end do case(8) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -10862,19 +14575,22 @@ module function mean_12_int8_dp(x, dim) result(res) end do end do case(9) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -10887,19 +14603,22 @@ module function mean_12_int8_dp(x, dim) result(res) end do end do case(10) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -10912,19 +14631,22 @@ module function mean_12_int8_dp(x, dim) result(res) end do end do case(11) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -10937,19 +14659,22 @@ module function mean_12_int8_dp(x, dim) result(res) end do end do case(12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -10962,9 +14687,11 @@ module function mean_12_int8_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_12_int8_dp module function mean_13_int8_dp(x, dim) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -10983,24 +14710,30 @@ module function mean_13_int8_dp(x, dim) result(res) merge(size(x,11),size(x,12),mask = 11 < dim ), & merge(size(x,12),size(x,13),mask = 12 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_dp select case(dim) case(1) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int8_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& + &) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________), dp) + end do end do end do end do @@ -11014,20 +14747,24 @@ module function mean_13_int8_dp(x, dim) result(res) end do end do case(2) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int8_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do end do end do end do @@ -11041,20 +14778,24 @@ module function mean_13_int8_dp(x, dim) result(res) end do end do case(3) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int8_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do end do end do end do @@ -11068,20 +14809,24 @@ module function mean_13_int8_dp(x, dim) result(res) end do end do case(4) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int8_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do end do end do end do @@ -11095,20 +14840,24 @@ module function mean_13_int8_dp(x, dim) result(res) end do end do case(5) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -11122,20 +14871,24 @@ module function mean_13_int8_dp(x, dim) result(res) end do end do case(6) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -11149,20 +14902,24 @@ module function mean_13_int8_dp(x, dim) result(res) end do end do case(7) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -11176,20 +14933,24 @@ module function mean_13_int8_dp(x, dim) result(res) end do end do case(8) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -11203,20 +14964,24 @@ module function mean_13_int8_dp(x, dim) result(res) end do end do case(9) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -11230,20 +14995,24 @@ module function mean_13_int8_dp(x, dim) result(res) end do end do case(10) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -11257,20 +15026,24 @@ module function mean_13_int8_dp(x, dim) result(res) end do end do case(11) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -11284,20 +15057,24 @@ module function mean_13_int8_dp(x, dim) result(res) end do end do case(12) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -11311,20 +15088,24 @@ module function mean_13_int8_dp(x, dim) result(res) end do end do case(13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -11338,9 +15119,11 @@ module function mean_13_int8_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_13_int8_dp module function mean_14_int8_dp(x, dim) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -11360,26 +15143,32 @@ module function mean_14_int8_dp(x, dim) result(res) merge(size(x,12),size(x,13),mask = 12 < dim ), & merge(size(x,13),size(x,14),mask = 13 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_dp select case(dim) case(1) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int8_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& - &______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,& + &i__________,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -11394,22 +15183,25 @@ module function mean_14_int8_dp(x, dim) result(res) end do end do case(2) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int8_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& - &______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& + &____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_& + &_________,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -11424,22 +15216,25 @@ module function mean_14_int8_dp(x, dim) result(res) end do end do case(3) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int8_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& - &______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___& + &_______,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -11454,22 +15249,25 @@ module function mean_14_int8_dp(x, dim) result(res) end do end do case(4) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int8_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& - &______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -11484,22 +15282,25 @@ module function mean_14_int8_dp(x, dim) result(res) end do end do case(5) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& - &______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& + &______,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -11514,22 +15315,25 @@ module function mean_14_int8_dp(x, dim) result(res) end do end do case(6) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& - &______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& + &____,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -11544,22 +15348,25 @@ module function mean_14_int8_dp(x, dim) result(res) end do end do case(7) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________,i______& - &______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& + &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& + &__,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________), dp) + end do end do end do end do @@ -11574,22 +15381,25 @@ module function mean_14_int8_dp(x, dim) result(res) end do end do case(8) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________,i______& - &______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& + &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& + &,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________), dp) + end do end do end do end do @@ -11604,22 +15414,25 @@ module function mean_14_int8_dp(x, dim) result(res) end do end do case(9) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________,i______& - &______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& + &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& + &_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________), dp) + end do end do end do end do @@ -11634,22 +15447,25 @@ module function mean_14_int8_dp(x, dim) result(res) end do end do case(10) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________,i______& - &______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& + &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& + &___________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________), dp) + end do end do end do end do @@ -11664,22 +15480,25 @@ module function mean_14_int8_dp(x, dim) result(res) end do end do case(11) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________,i______& - &______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& + &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& + &_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_______& + &____,i____________,i_____________), dp) + end do end do end do end do @@ -11694,22 +15513,25 @@ module function mean_14_int8_dp(x, dim) result(res) end do end do case(12) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________,i______& - &______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& + &_______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_________& + &__,i____________,i_____________), dp) + end do end do end do end do @@ -11724,22 +15546,25 @@ module function mean_14_int8_dp(x, dim) result(res) end do end do case(13) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:,i______& - &______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& + &_,i____________,i_____________), dp) + end do end do end do end do @@ -11754,22 +15579,25 @@ module function mean_14_int8_dp(x, dim) result(res) end do end do case(14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i________& - &____,:)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________), dp) + end do end do end do end do @@ -11784,9 +15612,11 @@ module function mean_14_int8_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_14_int8_dp module function mean_15_int8_dp(x, dim) result(res) integer(int8), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -11808,27 +15638,33 @@ module function mean_15_int8_dp(x, dim) result(res) merge(size(x,14),size(x,15),mask = 14 < dim ) ) integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + &__,i______________ + + res = 0.0_dp select case(dim) case(1) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int8_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& - &_________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& + &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i__& + &____,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________& + &), dp) + end do end do end do end do @@ -11844,23 +15680,27 @@ module function mean_15_int8_dp(x, dim) result(res) end do end do case(2) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int8_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& - &_________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i____& + &__,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& + & dp) + end do end do end do end do @@ -11876,23 +15716,27 @@ module function mean_15_int8_dp(x, dim) result(res) end do end do case(3) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int8_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& - &_________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______& + &,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& + & dp) + end do end do end do end do @@ -11908,23 +15752,26 @@ module function mean_15_int8_dp(x, dim) result(res) end do end do case(4) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int8_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& - &_________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i& + &_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -11940,23 +15787,26 @@ module function mean_15_int8_dp(x, dim) result(res) end do end do case(5) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int8_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& - &_________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i__& + &_____,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -11972,23 +15822,26 @@ module function mean_15_int8_dp(x, dim) result(res) end do end do case(6) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int8_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________,i___& - &_________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i____& + &___,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -12004,23 +15857,26 @@ module function mean_15_int8_dp(x, dim) result(res) end do end do case(7) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________,i___& - &_________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -12036,23 +15892,26 @@ module function mean_15_int8_dp(x, dim) result(res) end do end do case(8) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________,i___& - &_________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& + &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& + &____,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -12068,23 +15927,26 @@ module function mean_15_int8_dp(x, dim) result(res) end do end do case(9) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________,i___& - &_________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& + &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& + &__,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_& + &_______,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -12100,23 +15962,26 @@ module function mean_15_int8_dp(x, dim) result(res) end do end do case(10) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________,i___& - &_________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& + &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& + &,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &_____,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -12132,23 +15997,26 @@ module function mean_15_int8_dp(x, dim) result(res) end do end do case(11) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________,i___& - &_________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& + &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& + &____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_____& + &___,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -12164,23 +16032,26 @@ module function mean_15_int8_dp(x, dim) result(res) end do end do case(12) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________,i___& - &_________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& + &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& + &__________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_______& + &_,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -12196,23 +16067,26 @@ module function mean_15_int8_dp(x, dim) result(res) end do end do case(13) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:,i___& - &_________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& + &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,& + &i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -12228,23 +16102,26 @@ module function mean_15_int8_dp(x, dim) result(res) end do end do case(14) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,:,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& + &_______,i____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_& + &________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -12260,23 +16137,26 @@ module function mean_15_int8_dp(x, dim) result(res) end do end do case(15) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int8_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______,i_____________,:)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i___& + &______,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -12292,9 +16172,11 @@ module function mean_15_int8_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_15_int8_dp module function mean_3_int16_dp(x, dim) result(res) integer(int16), intent(in) :: x(:,:,:) @@ -12303,31 +16185,41 @@ module function mean_3_int16_dp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_ + integer :: i,i_,i__ + + res = 0.0_dp select case(dim) case(1) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_int16_dp(x(:,i,i_)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + real(x(i,i_,i__), dp) + end do end do end do case(2) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_int16_dp(x(i,:,i_)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + real(x(i,i_,i__), dp) + end do end do end do case(3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_int16_dp(x(i,i_,:)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + real(x(i,i_,i__), dp) + end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_3_int16_dp module function mean_4_int16_dp(x, dim) result(res) integer(int16), intent(in) :: x(:,:,:,:) @@ -12337,45 +16229,57 @@ module function mean_4_int16_dp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__ + integer :: i,i_,i__,i___ + + res = 0.0_dp select case(dim) case(1) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_int16_dp(x(:,i,i_,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + real(x(i,i_,i__,i___), dp) + end do end do end do end do case(2) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_int16_dp(x(i,:,i_,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + real(x(i,i_,i__,i___), dp) + end do end do end do end do case(3) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_int16_dp(x(i,i_,:,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + real(x(i,i_,i__,i___), dp) + end do end do end do end do case(4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_int16_dp(x(i,i_,i__,:)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + real(x(i,i_,i__,i___), dp) + end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_4_int16_dp module function mean_5_int16_dp(x, dim) result(res) integer(int16), intent(in) :: x(:,:,:,:,:) @@ -12386,63 +16290,77 @@ module function mean_5_int16_dp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp select case(dim) case(1) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_int16_dp(x(:,i,i_,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do end do end do end do end do case(2) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_int16_dp(x(i,:,i_,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do end do end do end do end do case(3) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_int16_dp(x(i,i_,:,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do end do end do end do end do case(4) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_int16_dp(x(i,i_,i__,:,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + real(x(i,i_,i__,i___,i____), dp) + end do end do end do end do end do case(5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_int16_dp(x(i,i_,i__,i___,:)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + real(x(i,i_,i__,i___,i____), dp) + end do end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_5_int16_dp module function mean_6_int16_dp(x, dim) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:) @@ -12454,85 +16372,101 @@ module function mean_6_int16_dp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp select case(dim) case(1) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int16_dp(x(:,i,i_,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case(2) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int16_dp(x(i,:,i_,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case(3) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int16_dp(x(i,i_,:,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case(4) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int16_dp(x(i,i_,i__,:,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case(5) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int16_dp(x(i,i_,i__,i___,:,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case(6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int16_dp(x(i,i_,i__,i___,i____,:)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_6_int16_dp module function mean_7_int16_dp(x, dim) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:) @@ -12545,17 +16479,22 @@ module function mean_7_int16_dp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp select case(dim) case(1) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int16_dp(x(:,i,i_,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -12563,13 +16502,16 @@ module function mean_7_int16_dp(x, dim) result(res) end do end do case(2) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int16_dp(x(i,:,i_,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -12577,13 +16519,16 @@ module function mean_7_int16_dp(x, dim) result(res) end do end do case(3) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int16_dp(x(i,i_,:,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -12591,13 +16536,16 @@ module function mean_7_int16_dp(x, dim) result(res) end do end do case(4) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int16_dp(x(i,i_,i__,:,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -12605,13 +16553,16 @@ module function mean_7_int16_dp(x, dim) result(res) end do end do case(5) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int16_dp(x(i,i_,i__,i___,:,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______),& + & dp) + end do end do end do end do @@ -12619,13 +16570,15 @@ module function mean_7_int16_dp(x, dim) result(res) end do end do case(6) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int16_dp(x(i,i_,i__,i___,i____,:,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -12633,13 +16586,15 @@ module function mean_7_int16_dp(x, dim) result(res) end do end do case(7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,:)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -12647,9 +16602,11 @@ module function mean_7_int16_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_7_int16_dp module function mean_8_int16_dp(x, dim) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:) @@ -12663,18 +16620,23 @@ module function mean_8_int16_dp(x, dim) result(res) merge(size(x,6),size(x,7),mask = 6 < dim ), & merge(size(x,7),size(x,8),mask = 7 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_dp select case(dim) case(1) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int16_dp(x(:,i,i_,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -12683,14 +16645,17 @@ module function mean_8_int16_dp(x, dim) result(res) end do end do case(2) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int16_dp(x(i,:,i_,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -12699,14 +16664,17 @@ module function mean_8_int16_dp(x, dim) result(res) end do end do case(3) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int16_dp(x(i,i_,:,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -12715,14 +16683,17 @@ module function mean_8_int16_dp(x, dim) result(res) end do end do case(4) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int16_dp(x(i,i_,i__,:,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -12731,14 +16702,17 @@ module function mean_8_int16_dp(x, dim) result(res) end do end do case(5) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int16_dp(x(i,i_,i__,i___,:,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -12747,14 +16721,17 @@ module function mean_8_int16_dp(x, dim) result(res) end do end do case(6) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int16_dp(x(i,i_,i__,i___,i____,:,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -12763,14 +16740,17 @@ module function mean_8_int16_dp(x, dim) result(res) end do end do case(7) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,:,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -12779,14 +16759,17 @@ module function mean_8_int16_dp(x, dim) result(res) end do end do case(8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,:)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -12795,9 +16778,11 @@ module function mean_8_int16_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_8_int16_dp module function mean_9_int16_dp(x, dim) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:) @@ -12812,19 +16797,24 @@ module function mean_9_int16_dp(x, dim) result(res) merge(size(x,7),size(x,8),mask = 7 < dim ), & merge(size(x,8),size(x,9),mask = 8 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_dp select case(dim) case(1) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int16_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -12834,15 +16824,18 @@ module function mean_9_int16_dp(x, dim) result(res) end do end do case(2) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int16_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -12852,15 +16845,18 @@ module function mean_9_int16_dp(x, dim) result(res) end do end do case(3) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int16_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -12870,15 +16866,18 @@ module function mean_9_int16_dp(x, dim) result(res) end do end do case(4) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int16_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -12888,15 +16887,18 @@ module function mean_9_int16_dp(x, dim) result(res) end do end do case(5) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int16_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -12906,15 +16908,18 @@ module function mean_9_int16_dp(x, dim) result(res) end do end do case(6) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int16_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -12924,15 +16929,18 @@ module function mean_9_int16_dp(x, dim) result(res) end do end do case(7) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -12942,15 +16950,18 @@ module function mean_9_int16_dp(x, dim) result(res) end do end do case(8) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -12960,15 +16971,18 @@ module function mean_9_int16_dp(x, dim) result(res) end do end do case(9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -12978,9 +16992,11 @@ module function mean_9_int16_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_9_int16_dp module function mean_10_int16_dp(x, dim) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) @@ -12996,21 +17012,25 @@ module function mean_10_int16_dp(x, dim) result(res) merge(size(x,8),size(x,9),mask = 8 < dim ), & merge(size(x,9),size(x,10),mask = 9 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_dp select case(dim) case(1) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int16_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -13021,17 +17041,19 @@ module function mean_10_int16_dp(x, dim) result(res) end do end do case(2) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int16_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -13042,17 +17064,19 @@ module function mean_10_int16_dp(x, dim) result(res) end do end do case(3) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int16_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& + &_______,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -13063,17 +17087,19 @@ module function mean_10_int16_dp(x, dim) result(res) end do end do case(4) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int16_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& + &_____,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -13084,17 +17110,19 @@ module function mean_10_int16_dp(x, dim) result(res) end do end do case(5) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int16_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& + &___,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -13105,17 +17133,19 @@ module function mean_10_int16_dp(x, dim) result(res) end do end do case(6) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int16_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& + &_,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -13126,17 +17156,19 @@ module function mean_10_int16_dp(x, dim) result(res) end do end do case(7) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& + &i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -13147,17 +17179,19 @@ module function mean_10_int16_dp(x, dim) result(res) end do end do case(8) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& + &________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -13168,17 +17202,19 @@ module function mean_10_int16_dp(x, dim) result(res) end do end do case(9) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______& - &,:,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -13189,17 +17225,19 @@ module function mean_10_int16_dp(x, dim) result(res) end do end do case(10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______& - &,i________,:)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& + &____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -13210,9 +17248,11 @@ module function mean_10_int16_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_10_int16_dp module function mean_11_int16_dp(x, dim) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) @@ -13229,22 +17269,27 @@ module function mean_11_int16_dp(x, dim) result(res) merge(size(x,9),size(x,10),mask = 9 < dim ), & merge(size(x,10),size(x,11),mask = 10 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_dp select case(dim) case(1) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int16_dp(x(:,i,i_,i__,i___,i____,i_____,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -13256,18 +17301,21 @@ module function mean_11_int16_dp(x, dim) result(res) end do end do case(2) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int16_dp(x(i,:,i_,i__,i___,i____,i_____,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -13279,18 +17327,21 @@ module function mean_11_int16_dp(x, dim) result(res) end do end do case(3) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int16_dp(x(i,i_,:,i__,i___,i____,i_____,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -13302,18 +17353,21 @@ module function mean_11_int16_dp(x, dim) result(res) end do end do case(4) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int16_dp(x(i,i_,i__,:,i___,i____,i_____,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -13325,18 +17379,21 @@ module function mean_11_int16_dp(x, dim) result(res) end do end do case(5) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int16_dp(x(i,i_,i__,i___,:,i____,i_____,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -13348,18 +17405,21 @@ module function mean_11_int16_dp(x, dim) result(res) end do end do case(6) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int16_dp(x(i,i_,i__,i___,i____,:,i_____,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -13371,18 +17431,21 @@ module function mean_11_int16_dp(x, dim) result(res) end do end do case(7) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,:,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -13394,18 +17457,21 @@ module function mean_11_int16_dp(x, dim) result(res) end do end do case(8) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i____& - &__,:,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -13417,18 +17483,21 @@ module function mean_11_int16_dp(x, dim) result(res) end do end do case(9) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i____& - &__,i_______,:,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -13440,18 +17509,21 @@ module function mean_11_int16_dp(x, dim) result(res) end do end do case(10) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i____& - &__,i_______,i________,:,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -13463,18 +17535,21 @@ module function mean_11_int16_dp(x, dim) result(res) end do end do case(11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i____& - &__,i_______,i________,i_________,:)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -13486,9 +17561,11 @@ module function mean_11_int16_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_11_int16_dp module function mean_12_int16_dp(x, dim) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) @@ -13506,23 +17583,28 @@ module function mean_12_int16_dp(x, dim) result(res) merge(size(x,10),size(x,11),mask = 10 < dim ), & merge(size(x,11),size(x,12),mask = 11 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_dp select case(dim) case(1) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int16_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -13535,19 +17617,22 @@ module function mean_12_int16_dp(x, dim) result(res) end do end do case(2) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int16_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -13560,19 +17645,22 @@ module function mean_12_int16_dp(x, dim) result(res) end do end do case(3) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int16_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -13585,19 +17673,22 @@ module function mean_12_int16_dp(x, dim) result(res) end do end do case(4) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int16_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -13610,19 +17701,22 @@ module function mean_12_int16_dp(x, dim) result(res) end do end do case(5) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -13635,19 +17729,22 @@ module function mean_12_int16_dp(x, dim) result(res) end do end do case(6) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -13660,19 +17757,22 @@ module function mean_12_int16_dp(x, dim) result(res) end do end do case(7) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -13685,19 +17785,22 @@ module function mean_12_int16_dp(x, dim) result(res) end do end do case(8) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -13710,19 +17813,22 @@ module function mean_12_int16_dp(x, dim) result(res) end do end do case(9) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -13735,19 +17841,22 @@ module function mean_12_int16_dp(x, dim) result(res) end do end do case(10) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -13760,19 +17869,22 @@ module function mean_12_int16_dp(x, dim) result(res) end do end do case(11) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -13785,19 +17897,22 @@ module function mean_12_int16_dp(x, dim) result(res) end do end do case(12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -13810,9 +17925,11 @@ module function mean_12_int16_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_12_int16_dp module function mean_13_int16_dp(x, dim) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -13831,24 +17948,30 @@ module function mean_13_int16_dp(x, dim) result(res) merge(size(x,11),size(x,12),mask = 11 < dim ), & merge(size(x,12),size(x,13),mask = 12 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_dp select case(dim) case(1) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int16_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& + &) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________), dp) + end do end do end do end do @@ -13862,20 +17985,24 @@ module function mean_13_int16_dp(x, dim) result(res) end do end do case(2) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int16_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do end do end do end do @@ -13889,20 +18016,24 @@ module function mean_13_int16_dp(x, dim) result(res) end do end do case(3) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int16_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do end do end do end do @@ -13916,20 +18047,24 @@ module function mean_13_int16_dp(x, dim) result(res) end do end do case(4) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int16_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do end do end do end do @@ -13943,20 +18078,24 @@ module function mean_13_int16_dp(x, dim) result(res) end do end do case(5) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -13970,20 +18109,24 @@ module function mean_13_int16_dp(x, dim) result(res) end do end do case(6) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -13997,20 +18140,24 @@ module function mean_13_int16_dp(x, dim) result(res) end do end do case(7) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -14024,20 +18171,24 @@ module function mean_13_int16_dp(x, dim) result(res) end do end do case(8) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -14051,20 +18202,24 @@ module function mean_13_int16_dp(x, dim) result(res) end do end do case(9) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -14078,20 +18233,24 @@ module function mean_13_int16_dp(x, dim) result(res) end do end do case(10) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -14105,20 +18264,24 @@ module function mean_13_int16_dp(x, dim) result(res) end do end do case(11) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -14132,20 +18295,24 @@ module function mean_13_int16_dp(x, dim) result(res) end do end do case(12) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -14159,20 +18326,24 @@ module function mean_13_int16_dp(x, dim) result(res) end do end do case(13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -14186,9 +18357,11 @@ module function mean_13_int16_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_13_int16_dp module function mean_14_int16_dp(x, dim) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -14208,26 +18381,32 @@ module function mean_14_int16_dp(x, dim) result(res) merge(size(x,12),size(x,13),mask = 12 < dim ), & merge(size(x,13),size(x,14),mask = 13 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_dp select case(dim) case(1) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int16_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,& + &i__________,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -14242,22 +18421,25 @@ module function mean_14_int16_dp(x, dim) result(res) end do end do case(2) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int16_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& + &____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_& + &_________,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -14272,22 +18454,25 @@ module function mean_14_int16_dp(x, dim) result(res) end do end do case(3) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int16_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___& + &_______,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -14302,22 +18487,25 @@ module function mean_14_int16_dp(x, dim) result(res) end do end do case(4) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int16_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -14332,22 +18520,25 @@ module function mean_14_int16_dp(x, dim) result(res) end do end do case(5) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& + &______,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -14362,22 +18553,25 @@ module function mean_14_int16_dp(x, dim) result(res) end do end do case(6) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& + &____,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -14392,22 +18586,25 @@ module function mean_14_int16_dp(x, dim) result(res) end do end do case(7) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& + &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& + &__,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________), dp) + end do end do end do end do @@ -14422,22 +18619,25 @@ module function mean_14_int16_dp(x, dim) result(res) end do end do case(8) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& + &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& + &,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________), dp) + end do end do end do end do @@ -14452,22 +18652,25 @@ module function mean_14_int16_dp(x, dim) result(res) end do end do case(9) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& + &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& + &_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________), dp) + end do end do end do end do @@ -14482,22 +18685,25 @@ module function mean_14_int16_dp(x, dim) result(res) end do end do case(10) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& + &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& + &___________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________), dp) + end do end do end do end do @@ -14512,22 +18718,25 @@ module function mean_14_int16_dp(x, dim) result(res) end do end do case(11) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& + &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& + &_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_______& + &____,i____________,i_____________), dp) + end do end do end do end do @@ -14542,22 +18751,25 @@ module function mean_14_int16_dp(x, dim) result(res) end do end do case(12) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& + &_______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_________& + &__,i____________,i_____________), dp) + end do end do end do end do @@ -14572,22 +18784,25 @@ module function mean_14_int16_dp(x, dim) result(res) end do end do case(13) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& + &_,i____________,i_____________), dp) + end do end do end do end do @@ -14602,22 +18817,25 @@ module function mean_14_int16_dp(x, dim) result(res) end do end do case(14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____,:)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________), dp) + end do end do end do end do @@ -14632,9 +18850,11 @@ module function mean_14_int16_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_14_int16_dp module function mean_15_int16_dp(x, dim) result(res) integer(int16), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -14656,27 +18876,33 @@ module function mean_15_int16_dp(x, dim) result(res) merge(size(x,14),size(x,15),mask = 14 < dim ) ) integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + &__,i______________ + + res = 0.0_dp select case(dim) case(1) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int16_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& + &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i__& + &____,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________& + &), dp) + end do end do end do end do @@ -14692,23 +18918,27 @@ module function mean_15_int16_dp(x, dim) result(res) end do end do case(2) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int16_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i____& + &__,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& + & dp) + end do end do end do end do @@ -14724,23 +18954,27 @@ module function mean_15_int16_dp(x, dim) result(res) end do end do case(3) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int16_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______& + &,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& + & dp) + end do end do end do end do @@ -14756,23 +18990,26 @@ module function mean_15_int16_dp(x, dim) result(res) end do end do case(4) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int16_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i& + &_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -14788,23 +19025,26 @@ module function mean_15_int16_dp(x, dim) result(res) end do end do case(5) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int16_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i__& + &_____,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -14820,23 +19060,26 @@ module function mean_15_int16_dp(x, dim) result(res) end do end do case(6) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int16_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i____& + &___,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -14852,23 +19095,26 @@ module function mean_15_int16_dp(x, dim) result(res) end do end do case(7) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -14884,23 +19130,26 @@ module function mean_15_int16_dp(x, dim) result(res) end do end do case(8) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& + &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& + &____,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -14916,23 +19165,26 @@ module function mean_15_int16_dp(x, dim) result(res) end do end do case(9) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& + &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& + &__,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_& + &_______,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -14948,23 +19200,26 @@ module function mean_15_int16_dp(x, dim) result(res) end do end do case(10) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& + &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& + &,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &_____,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -14980,23 +19235,26 @@ module function mean_15_int16_dp(x, dim) result(res) end do end do case(11) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& + &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& + &____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_____& + &___,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -15012,23 +19270,26 @@ module function mean_15_int16_dp(x, dim) result(res) end do end do case(12) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& + &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& + &__________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_______& + &_,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -15044,23 +19305,26 @@ module function mean_15_int16_dp(x, dim) result(res) end do end do case(13) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& + &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,& + &i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -15076,23 +19340,26 @@ module function mean_15_int16_dp(x, dim) result(res) end do end do case(14) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________,:,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& + &_______,i____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_& + &________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -15108,23 +19375,26 @@ module function mean_15_int16_dp(x, dim) result(res) end do end do case(15) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int16_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________,i_____________,:)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i___& + &______,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -15140,9 +19410,11 @@ module function mean_15_int16_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_15_int16_dp module function mean_3_int32_dp(x, dim) result(res) integer(int32), intent(in) :: x(:,:,:) @@ -15151,31 +19423,41 @@ module function mean_3_int32_dp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_ + integer :: i,i_,i__ + + res = 0.0_dp select case(dim) case(1) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_int32_dp(x(:,i,i_)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + real(x(i,i_,i__), dp) + end do end do end do case(2) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_int32_dp(x(i,:,i_)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + real(x(i,i_,i__), dp) + end do end do end do case(3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_int32_dp(x(i,i_,:)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + real(x(i,i_,i__), dp) + end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_3_int32_dp module function mean_4_int32_dp(x, dim) result(res) integer(int32), intent(in) :: x(:,:,:,:) @@ -15185,45 +19467,57 @@ module function mean_4_int32_dp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__ + integer :: i,i_,i__,i___ + + res = 0.0_dp select case(dim) case(1) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_int32_dp(x(:,i,i_,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + real(x(i,i_,i__,i___), dp) + end do end do end do end do case(2) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_int32_dp(x(i,:,i_,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + real(x(i,i_,i__,i___), dp) + end do end do end do end do case(3) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_int32_dp(x(i,i_,:,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + real(x(i,i_,i__,i___), dp) + end do end do end do end do case(4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_int32_dp(x(i,i_,i__,:)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + real(x(i,i_,i__,i___), dp) + end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_4_int32_dp module function mean_5_int32_dp(x, dim) result(res) integer(int32), intent(in) :: x(:,:,:,:,:) @@ -15234,63 +19528,77 @@ module function mean_5_int32_dp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp select case(dim) case(1) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_int32_dp(x(:,i,i_,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do end do end do end do end do case(2) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_int32_dp(x(i,:,i_,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do end do end do end do end do case(3) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_int32_dp(x(i,i_,:,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do end do end do end do end do case(4) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_int32_dp(x(i,i_,i__,:,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + real(x(i,i_,i__,i___,i____), dp) + end do end do end do end do end do case(5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_int32_dp(x(i,i_,i__,i___,:)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + real(x(i,i_,i__,i___,i____), dp) + end do end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_5_int32_dp module function mean_6_int32_dp(x, dim) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:) @@ -15302,85 +19610,101 @@ module function mean_6_int32_dp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp select case(dim) case(1) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int32_dp(x(:,i,i_,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case(2) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int32_dp(x(i,:,i_,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case(3) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int32_dp(x(i,i_,:,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case(4) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int32_dp(x(i,i_,i__,:,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case(5) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int32_dp(x(i,i_,i__,i___,:,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case(6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int32_dp(x(i,i_,i__,i___,i____,:)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_6_int32_dp module function mean_7_int32_dp(x, dim) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:) @@ -15393,17 +19717,22 @@ module function mean_7_int32_dp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp select case(dim) case(1) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int32_dp(x(:,i,i_,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -15411,13 +19740,16 @@ module function mean_7_int32_dp(x, dim) result(res) end do end do case(2) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int32_dp(x(i,:,i_,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -15425,13 +19757,16 @@ module function mean_7_int32_dp(x, dim) result(res) end do end do case(3) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int32_dp(x(i,i_,:,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -15439,13 +19774,16 @@ module function mean_7_int32_dp(x, dim) result(res) end do end do case(4) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int32_dp(x(i,i_,i__,:,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -15453,13 +19791,16 @@ module function mean_7_int32_dp(x, dim) result(res) end do end do case(5) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int32_dp(x(i,i_,i__,i___,:,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______),& + & dp) + end do end do end do end do @@ -15467,13 +19808,15 @@ module function mean_7_int32_dp(x, dim) result(res) end do end do case(6) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int32_dp(x(i,i_,i__,i___,i____,:,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -15481,13 +19824,15 @@ module function mean_7_int32_dp(x, dim) result(res) end do end do case(7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,:)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -15495,9 +19840,11 @@ module function mean_7_int32_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_7_int32_dp module function mean_8_int32_dp(x, dim) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:) @@ -15511,18 +19858,23 @@ module function mean_8_int32_dp(x, dim) result(res) merge(size(x,6),size(x,7),mask = 6 < dim ), & merge(size(x,7),size(x,8),mask = 7 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_dp select case(dim) case(1) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int32_dp(x(:,i,i_,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -15531,14 +19883,17 @@ module function mean_8_int32_dp(x, dim) result(res) end do end do case(2) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int32_dp(x(i,:,i_,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -15547,14 +19902,17 @@ module function mean_8_int32_dp(x, dim) result(res) end do end do case(3) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int32_dp(x(i,i_,:,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -15563,14 +19921,17 @@ module function mean_8_int32_dp(x, dim) result(res) end do end do case(4) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int32_dp(x(i,i_,i__,:,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -15579,14 +19940,17 @@ module function mean_8_int32_dp(x, dim) result(res) end do end do case(5) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int32_dp(x(i,i_,i__,i___,:,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -15595,14 +19959,17 @@ module function mean_8_int32_dp(x, dim) result(res) end do end do case(6) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int32_dp(x(i,i_,i__,i___,i____,:,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -15611,14 +19978,17 @@ module function mean_8_int32_dp(x, dim) result(res) end do end do case(7) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,:,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -15627,14 +19997,17 @@ module function mean_8_int32_dp(x, dim) result(res) end do end do case(8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,:)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -15643,9 +20016,11 @@ module function mean_8_int32_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_8_int32_dp module function mean_9_int32_dp(x, dim) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:) @@ -15660,19 +20035,24 @@ module function mean_9_int32_dp(x, dim) result(res) merge(size(x,7),size(x,8),mask = 7 < dim ), & merge(size(x,8),size(x,9),mask = 8 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_dp select case(dim) case(1) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int32_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -15682,15 +20062,18 @@ module function mean_9_int32_dp(x, dim) result(res) end do end do case(2) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int32_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -15700,15 +20083,18 @@ module function mean_9_int32_dp(x, dim) result(res) end do end do case(3) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int32_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -15718,15 +20104,18 @@ module function mean_9_int32_dp(x, dim) result(res) end do end do case(4) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int32_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -15736,15 +20125,18 @@ module function mean_9_int32_dp(x, dim) result(res) end do end do case(5) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int32_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -15754,15 +20146,18 @@ module function mean_9_int32_dp(x, dim) result(res) end do end do case(6) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int32_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -15772,15 +20167,18 @@ module function mean_9_int32_dp(x, dim) result(res) end do end do case(7) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -15790,15 +20188,18 @@ module function mean_9_int32_dp(x, dim) result(res) end do end do case(8) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -15808,15 +20209,18 @@ module function mean_9_int32_dp(x, dim) result(res) end do end do case(9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -15826,9 +20230,11 @@ module function mean_9_int32_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_9_int32_dp module function mean_10_int32_dp(x, dim) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) @@ -15844,21 +20250,25 @@ module function mean_10_int32_dp(x, dim) result(res) merge(size(x,8),size(x,9),mask = 8 < dim ), & merge(size(x,9),size(x,10),mask = 9 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_dp select case(dim) case(1) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int32_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -15869,17 +20279,19 @@ module function mean_10_int32_dp(x, dim) result(res) end do end do case(2) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int32_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -15890,17 +20302,19 @@ module function mean_10_int32_dp(x, dim) result(res) end do end do case(3) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int32_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& + &_______,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -15911,17 +20325,19 @@ module function mean_10_int32_dp(x, dim) result(res) end do end do case(4) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int32_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& + &_____,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -15932,17 +20348,19 @@ module function mean_10_int32_dp(x, dim) result(res) end do end do case(5) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int32_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& + &___,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -15953,17 +20371,19 @@ module function mean_10_int32_dp(x, dim) result(res) end do end do case(6) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int32_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& + &_,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -15974,17 +20394,19 @@ module function mean_10_int32_dp(x, dim) result(res) end do end do case(7) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& + &i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -15995,17 +20417,19 @@ module function mean_10_int32_dp(x, dim) result(res) end do end do case(8) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& + &________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -16016,17 +20440,19 @@ module function mean_10_int32_dp(x, dim) result(res) end do end do case(9) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______& - &,:,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -16037,17 +20463,19 @@ module function mean_10_int32_dp(x, dim) result(res) end do end do case(10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______& - &,i________,:)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& + &____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -16058,9 +20486,11 @@ module function mean_10_int32_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_10_int32_dp module function mean_11_int32_dp(x, dim) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) @@ -16077,22 +20507,27 @@ module function mean_11_int32_dp(x, dim) result(res) merge(size(x,9),size(x,10),mask = 9 < dim ), & merge(size(x,10),size(x,11),mask = 10 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_dp select case(dim) case(1) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int32_dp(x(:,i,i_,i__,i___,i____,i_____,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -16104,18 +20539,21 @@ module function mean_11_int32_dp(x, dim) result(res) end do end do case(2) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int32_dp(x(i,:,i_,i__,i___,i____,i_____,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -16127,18 +20565,21 @@ module function mean_11_int32_dp(x, dim) result(res) end do end do case(3) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int32_dp(x(i,i_,:,i__,i___,i____,i_____,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -16150,18 +20591,21 @@ module function mean_11_int32_dp(x, dim) result(res) end do end do case(4) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int32_dp(x(i,i_,i__,:,i___,i____,i_____,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -16173,18 +20617,21 @@ module function mean_11_int32_dp(x, dim) result(res) end do end do case(5) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int32_dp(x(i,i_,i__,i___,:,i____,i_____,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -16196,18 +20643,21 @@ module function mean_11_int32_dp(x, dim) result(res) end do end do case(6) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int32_dp(x(i,i_,i__,i___,i____,:,i_____,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -16219,18 +20669,21 @@ module function mean_11_int32_dp(x, dim) result(res) end do end do case(7) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,:,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -16242,18 +20695,21 @@ module function mean_11_int32_dp(x, dim) result(res) end do end do case(8) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i____& - &__,:,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -16265,18 +20721,21 @@ module function mean_11_int32_dp(x, dim) result(res) end do end do case(9) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i____& - &__,i_______,:,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -16288,18 +20747,21 @@ module function mean_11_int32_dp(x, dim) result(res) end do end do case(10) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i____& - &__,i_______,i________,:,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -16311,18 +20773,21 @@ module function mean_11_int32_dp(x, dim) result(res) end do end do case(11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i____& - &__,i_______,i________,i_________,:)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -16334,9 +20799,11 @@ module function mean_11_int32_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_11_int32_dp module function mean_12_int32_dp(x, dim) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) @@ -16354,23 +20821,28 @@ module function mean_12_int32_dp(x, dim) result(res) merge(size(x,10),size(x,11),mask = 10 < dim ), & merge(size(x,11),size(x,12),mask = 11 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_dp select case(dim) case(1) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int32_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -16383,19 +20855,22 @@ module function mean_12_int32_dp(x, dim) result(res) end do end do case(2) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int32_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -16408,19 +20883,22 @@ module function mean_12_int32_dp(x, dim) result(res) end do end do case(3) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int32_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -16433,19 +20911,22 @@ module function mean_12_int32_dp(x, dim) result(res) end do end do case(4) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int32_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -16458,19 +20939,22 @@ module function mean_12_int32_dp(x, dim) result(res) end do end do case(5) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -16483,19 +20967,22 @@ module function mean_12_int32_dp(x, dim) result(res) end do end do case(6) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -16508,19 +20995,22 @@ module function mean_12_int32_dp(x, dim) result(res) end do end do case(7) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -16533,19 +21023,22 @@ module function mean_12_int32_dp(x, dim) result(res) end do end do case(8) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -16558,19 +21051,22 @@ module function mean_12_int32_dp(x, dim) result(res) end do end do case(9) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -16583,19 +21079,22 @@ module function mean_12_int32_dp(x, dim) result(res) end do end do case(10) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -16608,19 +21107,22 @@ module function mean_12_int32_dp(x, dim) result(res) end do end do case(11) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -16633,19 +21135,22 @@ module function mean_12_int32_dp(x, dim) result(res) end do end do case(12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -16658,9 +21163,11 @@ module function mean_12_int32_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_12_int32_dp module function mean_13_int32_dp(x, dim) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -16679,24 +21186,30 @@ module function mean_13_int32_dp(x, dim) result(res) merge(size(x,11),size(x,12),mask = 11 < dim ), & merge(size(x,12),size(x,13),mask = 12 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_dp select case(dim) case(1) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int32_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& + &) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________), dp) + end do end do end do end do @@ -16710,20 +21223,24 @@ module function mean_13_int32_dp(x, dim) result(res) end do end do case(2) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int32_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do end do end do end do @@ -16737,20 +21254,24 @@ module function mean_13_int32_dp(x, dim) result(res) end do end do case(3) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int32_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do end do end do end do @@ -16764,20 +21285,24 @@ module function mean_13_int32_dp(x, dim) result(res) end do end do case(4) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int32_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do end do end do end do @@ -16791,20 +21316,24 @@ module function mean_13_int32_dp(x, dim) result(res) end do end do case(5) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -16818,20 +21347,24 @@ module function mean_13_int32_dp(x, dim) result(res) end do end do case(6) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -16845,20 +21378,24 @@ module function mean_13_int32_dp(x, dim) result(res) end do end do case(7) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -16872,20 +21409,24 @@ module function mean_13_int32_dp(x, dim) result(res) end do end do case(8) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -16899,20 +21440,24 @@ module function mean_13_int32_dp(x, dim) result(res) end do end do case(9) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -16926,20 +21471,24 @@ module function mean_13_int32_dp(x, dim) result(res) end do end do case(10) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -16953,20 +21502,24 @@ module function mean_13_int32_dp(x, dim) result(res) end do end do case(11) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -16980,20 +21533,24 @@ module function mean_13_int32_dp(x, dim) result(res) end do end do case(12) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -17007,20 +21564,24 @@ module function mean_13_int32_dp(x, dim) result(res) end do end do case(13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -17034,9 +21595,11 @@ module function mean_13_int32_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_13_int32_dp module function mean_14_int32_dp(x, dim) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -17056,26 +21619,32 @@ module function mean_14_int32_dp(x, dim) result(res) merge(size(x,12),size(x,13),mask = 12 < dim ), & merge(size(x,13),size(x,14),mask = 13 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_dp select case(dim) case(1) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int32_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,& + &i__________,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -17090,22 +21659,25 @@ module function mean_14_int32_dp(x, dim) result(res) end do end do case(2) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int32_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& + &____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_& + &_________,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -17120,22 +21692,25 @@ module function mean_14_int32_dp(x, dim) result(res) end do end do case(3) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int32_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___& + &_______,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -17150,22 +21725,25 @@ module function mean_14_int32_dp(x, dim) result(res) end do end do case(4) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int32_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -17180,22 +21758,25 @@ module function mean_14_int32_dp(x, dim) result(res) end do end do case(5) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& + &______,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -17210,22 +21791,25 @@ module function mean_14_int32_dp(x, dim) result(res) end do end do case(6) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& + &____,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -17240,22 +21824,25 @@ module function mean_14_int32_dp(x, dim) result(res) end do end do case(7) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& + &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& + &__,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________), dp) + end do end do end do end do @@ -17270,22 +21857,25 @@ module function mean_14_int32_dp(x, dim) result(res) end do end do case(8) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& + &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& + &,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________), dp) + end do end do end do end do @@ -17300,22 +21890,25 @@ module function mean_14_int32_dp(x, dim) result(res) end do end do case(9) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& + &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& + &_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________), dp) + end do end do end do end do @@ -17330,22 +21923,25 @@ module function mean_14_int32_dp(x, dim) result(res) end do end do case(10) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& + &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& + &___________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________), dp) + end do end do end do end do @@ -17360,22 +21956,25 @@ module function mean_14_int32_dp(x, dim) result(res) end do end do case(11) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& + &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& + &_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_______& + &____,i____________,i_____________), dp) + end do end do end do end do @@ -17390,22 +21989,25 @@ module function mean_14_int32_dp(x, dim) result(res) end do end do case(12) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& + &_______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_________& + &__,i____________,i_____________), dp) + end do end do end do end do @@ -17420,22 +22022,25 @@ module function mean_14_int32_dp(x, dim) result(res) end do end do case(13) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& + &_,i____________,i_____________), dp) + end do end do end do end do @@ -17450,22 +22055,25 @@ module function mean_14_int32_dp(x, dim) result(res) end do end do case(14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____,:)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________), dp) + end do end do end do end do @@ -17480,9 +22088,11 @@ module function mean_14_int32_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_14_int32_dp module function mean_15_int32_dp(x, dim) result(res) integer(int32), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -17504,27 +22114,33 @@ module function mean_15_int32_dp(x, dim) result(res) merge(size(x,14),size(x,15),mask = 14 < dim ) ) integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + &__,i______________ + + res = 0.0_dp select case(dim) case(1) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int32_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& + &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i__& + &____,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________& + &), dp) + end do end do end do end do @@ -17540,23 +22156,27 @@ module function mean_15_int32_dp(x, dim) result(res) end do end do case(2) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int32_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i____& + &__,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& + & dp) + end do end do end do end do @@ -17572,23 +22192,27 @@ module function mean_15_int32_dp(x, dim) result(res) end do end do case(3) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int32_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______& + &,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& + & dp) + end do end do end do end do @@ -17604,23 +22228,26 @@ module function mean_15_int32_dp(x, dim) result(res) end do end do case(4) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int32_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i& + &_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -17636,23 +22263,26 @@ module function mean_15_int32_dp(x, dim) result(res) end do end do case(5) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int32_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i__& + &_____,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -17668,23 +22298,26 @@ module function mean_15_int32_dp(x, dim) result(res) end do end do case(6) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int32_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i____& + &___,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -17700,23 +22333,26 @@ module function mean_15_int32_dp(x, dim) result(res) end do end do case(7) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -17732,23 +22368,26 @@ module function mean_15_int32_dp(x, dim) result(res) end do end do case(8) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& + &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& + &____,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -17764,23 +22403,26 @@ module function mean_15_int32_dp(x, dim) result(res) end do end do case(9) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& + &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& + &__,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_& + &_______,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -17796,23 +22438,26 @@ module function mean_15_int32_dp(x, dim) result(res) end do end do case(10) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& + &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& + &,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &_____,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -17828,23 +22473,26 @@ module function mean_15_int32_dp(x, dim) result(res) end do end do case(11) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& + &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& + &____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_____& + &___,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -17860,23 +22508,26 @@ module function mean_15_int32_dp(x, dim) result(res) end do end do case(12) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& + &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& + &__________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_______& + &_,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -17892,23 +22543,26 @@ module function mean_15_int32_dp(x, dim) result(res) end do end do case(13) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& + &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,& + &i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -17924,23 +22578,26 @@ module function mean_15_int32_dp(x, dim) result(res) end do end do case(14) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________,:,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& + &_______,i____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_& + &________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -17956,23 +22613,26 @@ module function mean_15_int32_dp(x, dim) result(res) end do end do case(15) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int32_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________,i_____________,:)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i___& + &______,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -17988,9 +22648,11 @@ module function mean_15_int32_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_15_int32_dp module function mean_3_int64_dp(x, dim) result(res) integer(int64), intent(in) :: x(:,:,:) @@ -17999,31 +22661,41 @@ module function mean_3_int64_dp(x, dim) result(res) merge(size(x,1),size(x,2),mask = 1 < dim ), & merge(size(x,2),size(x,3),mask = 2 < dim ) ) - integer :: i,i_ + integer :: i,i_,i__ + + res = 0.0_dp select case(dim) case(1) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_int64_dp(x(:,i,i_)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__) = res(i_,i__) + real(x(i,i_,i__), dp) + end do end do end do case(2) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_int64_dp(x(i,:,i_)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__) = res(i,i__) + real(x(i,i_,i__), dp) + end do end do end do case(3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_) = mean_1_int64_dp(x(i,i_,:)) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_) = res(i,i_) + real(x(i,i_,i__), dp) + end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_3_int64_dp module function mean_4_int64_dp(x, dim) result(res) integer(int64), intent(in) :: x(:,:,:,:) @@ -18033,45 +22705,57 @@ module function mean_4_int64_dp(x, dim) result(res) merge(size(x,2),size(x,3),mask = 2 < dim ), & merge(size(x,3),size(x,4),mask = 3 < dim ) ) - integer :: i,i_,i__ + integer :: i,i_,i__,i___ + + res = 0.0_dp select case(dim) case(1) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_int64_dp(x(:,i,i_,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___) = res(i_,i__,i___) + real(x(i,i_,i__,i___), dp) + end do end do end do end do case(2) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_int64_dp(x(i,:,i_,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___) = res(i,i__,i___) + real(x(i,i_,i__,i___), dp) + end do end do end do end do case(3) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_int64_dp(x(i,i_,:,i__)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___) = res(i,i_,i___) + real(x(i,i_,i__,i___), dp) + end do end do end do end do case(4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__) = mean_1_int64_dp(x(i,i_,i__,:)) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__) = res(i,i_,i__) + real(x(i,i_,i__,i___), dp) + end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_4_int64_dp module function mean_5_int64_dp(x, dim) result(res) integer(int64), intent(in) :: x(:,:,:,:,:) @@ -18082,63 +22766,77 @@ module function mean_5_int64_dp(x, dim) result(res) merge(size(x,3),size(x,4),mask = 3 < dim ), & merge(size(x,4),size(x,5),mask = 4 < dim ) ) - integer :: i,i_,i__,i___ + integer :: i,i_,i__,i___,i____ + + res = 0.0_dp select case(dim) case(1) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_int64_dp(x(:,i,i_,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____) = res(i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do end do end do end do end do case(2) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_int64_dp(x(i,:,i_,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____) = res(i,i__,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do end do end do end do end do case(3) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_int64_dp(x(i,i_,:,i__,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____) = res(i,i_,i___,i____) + real(x(i,i_,i__,i___,i____), dp) + end do end do end do end do end do case(4) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_int64_dp(x(i,i_,i__,:,i___)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____) = res(i,i_,i__,i____) + real(x(i,i_,i__,i___,i____), dp) + end do end do end do end do end do case(5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___) = mean_1_int64_dp(x(i,i_,i__,i___,:)) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___) = res(i,i_,i__,i___) + real(x(i,i_,i__,i___,i____), dp) + end do end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_5_int64_dp module function mean_6_int64_dp(x, dim) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:) @@ -18150,85 +22848,101 @@ module function mean_6_int64_dp(x, dim) result(res) merge(size(x,4),size(x,5),mask = 4 < dim ), & merge(size(x,5),size(x,6),mask = 5 < dim ) ) - integer :: i,i_,i__,i___,i____ + integer :: i,i_,i__,i___,i____,i_____ + + res = 0.0_dp select case(dim) case(1) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int64_dp(x(:,i,i_,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____) = res(i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case(2) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int64_dp(x(i,:,i_,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____) = res(i,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case(3) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int64_dp(x(i,i_,:,i__,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____) = res(i,i_,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case(4) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int64_dp(x(i,i_,i__,:,i___,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____) = res(i,i_,i__,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case(5) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int64_dp(x(i,i_,i__,i___,:,i____)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____) = res(i,i_,i__,i___,i_____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case(6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____) = mean_1_int64_dp(x(i,i_,i__,i___,i____,:)) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____) = res(i,i_,i__,i___,i____) + real(x(i,i_,i__,i___,i____,i_____), dp) + end do end do end do end do end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_6_int64_dp module function mean_7_int64_dp(x, dim) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:) @@ -18241,17 +22955,22 @@ module function mean_7_int64_dp(x, dim) result(res) merge(size(x,5),size(x,6),mask = 5 < dim ), & merge(size(x,6),size(x,7),mask = 6 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____ + integer :: i,i_,i__,i___,i____,i_____,i______ + + res = 0.0_dp select case(dim) case(1) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int64_dp(x(:,i,i_,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______) = res(i_,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -18259,13 +22978,16 @@ module function mean_7_int64_dp(x, dim) result(res) end do end do case(2) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int64_dp(x(i,:,i_,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______) = res(i,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -18273,13 +22995,16 @@ module function mean_7_int64_dp(x, dim) result(res) end do end do case(3) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int64_dp(x(i,i_,:,i__,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______) = res(i,i_,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -18287,13 +23012,16 @@ module function mean_7_int64_dp(x, dim) result(res) end do end do case(4) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int64_dp(x(i,i_,i__,:,i___,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______) = res(i,i_,i__,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -18301,13 +23029,16 @@ module function mean_7_int64_dp(x, dim) result(res) end do end do case(5) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int64_dp(x(i,i_,i__,i___,:,i____,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______) = res(i,i_,i__,i___,i_____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______),& + & dp) + end do end do end do end do @@ -18315,13 +23046,15 @@ module function mean_7_int64_dp(x, dim) result(res) end do end do case(6) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int64_dp(x(i,i_,i__,i___,i____,:,i_____)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______) = res(i,i_,i__,i___,i____,i______) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -18329,13 +23062,15 @@ module function mean_7_int64_dp(x, dim) result(res) end do end do case(7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,:)) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____) = res(i,i_,i__,i___,i____,i_____) + real(x(i,i_,i__,i___,i____,i_____,i______), dp) + end do end do end do end do @@ -18343,9 +23078,11 @@ module function mean_7_int64_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_7_int64_dp module function mean_8_int64_dp(x, dim) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:) @@ -18359,18 +23096,23 @@ module function mean_8_int64_dp(x, dim) result(res) merge(size(x,6),size(x,7),mask = 6 < dim ), & merge(size(x,7),size(x,8),mask = 7 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + + res = 0.0_dp select case(dim) case(1) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int64_dp(x(:,i,i_,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______) = res(i_,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -18379,14 +23121,17 @@ module function mean_8_int64_dp(x, dim) result(res) end do end do case(2) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int64_dp(x(i,:,i_,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______) = res(i,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -18395,14 +23140,17 @@ module function mean_8_int64_dp(x, dim) result(res) end do end do case(3) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int64_dp(x(i,i_,:,i__,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______) = res(i,i_,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -18411,14 +23159,17 @@ module function mean_8_int64_dp(x, dim) result(res) end do end do case(4) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int64_dp(x(i,i_,i__,:,i___,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______) = res(i,i_,i__,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -18427,14 +23178,17 @@ module function mean_8_int64_dp(x, dim) result(res) end do end do case(5) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int64_dp(x(i,i_,i__,i___,:,i____,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______) = res(i,i_,i__,i___,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -18443,14 +23197,17 @@ module function mean_8_int64_dp(x, dim) result(res) end do end do case(6) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int64_dp(x(i,i_,i__,i___,i____,:,i_____,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______) = res(i,i_,i__,i___,i____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -18459,14 +23216,17 @@ module function mean_8_int64_dp(x, dim) result(res) end do end do case(7) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,:,i______)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______) = res(i,i_,i__,i___,i____,i_____,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -18475,14 +23235,17 @@ module function mean_8_int64_dp(x, dim) result(res) end do end do case(8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,:)) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______) = res(i,i_,i__,i___,i____,i_____,i______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______), dp) + end do end do end do end do @@ -18491,9 +23254,11 @@ module function mean_8_int64_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_8_int64_dp module function mean_9_int64_dp(x, dim) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:) @@ -18508,19 +23273,24 @@ module function mean_9_int64_dp(x, dim) result(res) merge(size(x,7),size(x,8),mask = 7 < dim ), & merge(size(x,8),size(x,9),mask = 8 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + + res = 0.0_dp select case(dim) case(1) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int64_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -18530,15 +23300,18 @@ module function mean_9_int64_dp(x, dim) result(res) end do end do case(2) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int64_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i__,i___,i____,i_____,i______,i_______,i________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -18548,15 +23321,18 @@ module function mean_9_int64_dp(x, dim) result(res) end do end do case(3) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int64_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i___,i____,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -18566,15 +23342,18 @@ module function mean_9_int64_dp(x, dim) result(res) end do end do case(4) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int64_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i____,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -18584,15 +23363,18 @@ module function mean_9_int64_dp(x, dim) result(res) end do end do case(5) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int64_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i_____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -18602,15 +23384,18 @@ module function mean_9_int64_dp(x, dim) result(res) end do end do case(6) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int64_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i______,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -18620,15 +23405,18 @@ module function mean_9_int64_dp(x, dim) result(res) end do end do case(7) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i_______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -18638,15 +23426,18 @@ module function mean_9_int64_dp(x, dim) result(res) end do end do case(8) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -18656,15 +23447,18 @@ module function mean_9_int64_dp(x, dim) result(res) end do end do case(9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:)) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______) = res(i,i_,i__,i___,i____,i_____,i______,i_______) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________), dp) + end do end do end do end do @@ -18674,9 +23468,11 @@ module function mean_9_int64_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_9_int64_dp module function mean_10_int64_dp(x, dim) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:) @@ -18692,21 +23488,25 @@ module function mean_10_int64_dp(x, dim) result(res) merge(size(x,8),size(x,9),mask = 8 < dim ), & merge(size(x,9),size(x,10),mask = 9 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + + res = 0.0_dp select case(dim) case(1) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int64_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -18717,17 +23517,19 @@ module function mean_10_int64_dp(x, dim) result(res) end do end do case(2) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int64_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -18738,17 +23540,19 @@ module function mean_10_int64_dp(x, dim) result(res) end do end do case(3) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int64_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i___,i____,i_____,i______,i_______,i_& + &_______,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -18759,17 +23563,19 @@ module function mean_10_int64_dp(x, dim) result(res) end do end do case(4) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int64_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i____,i_____,i______,i_______,i___& + &_____,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -18780,17 +23586,19 @@ module function mean_10_int64_dp(x, dim) result(res) end do end do case(5) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int64_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i_____,i______,i_______,i_____& + &___,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -18801,17 +23609,19 @@ module function mean_10_int64_dp(x, dim) result(res) end do end do case(6) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int64_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i______,i_______,i_______& + &_,i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -18822,17 +23632,19 @@ module function mean_10_int64_dp(x, dim) result(res) end do end do case(7) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,& + &i_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -18843,17 +23655,19 @@ module function mean_10_int64_dp(x, dim) result(res) end do end do case(8) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_____& - &__,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_& + &________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -18864,17 +23678,19 @@ module function mean_10_int64_dp(x, dim) result(res) end do end do case(9) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______& - &,:,i________)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -18885,17 +23701,19 @@ module function mean_10_int64_dp(x, dim) result(res) end do end do case(10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______& - &,i________,:)) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i____& + &____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________), dp) + end do end do end do end do @@ -18906,9 +23724,11 @@ module function mean_10_int64_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_10_int64_dp module function mean_11_int64_dp(x, dim) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:) @@ -18925,22 +23745,27 @@ module function mean_11_int64_dp(x, dim) result(res) merge(size(x,9),size(x,10),mask = 9 < dim ), & merge(size(x,10),size(x,11),mask = 10 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + + res = 0.0_dp select case(dim) case(1) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int64_dp(x(:,i,i_,i__,i___,i____,i_____,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -18952,18 +23777,21 @@ module function mean_11_int64_dp(x, dim) result(res) end do end do case(2) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int64_dp(x(i,:,i_,i__,i___,i____,i_____,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -18975,18 +23803,21 @@ module function mean_11_int64_dp(x, dim) result(res) end do end do case(3) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int64_dp(x(i,i_,:,i__,i___,i____,i_____,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -18998,18 +23829,21 @@ module function mean_11_int64_dp(x, dim) result(res) end do end do case(4) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int64_dp(x(i,i_,i__,:,i___,i____,i_____,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -19021,18 +23855,21 @@ module function mean_11_int64_dp(x, dim) result(res) end do end do case(5) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int64_dp(x(i,i_,i__,i___,:,i____,i_____,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -19044,18 +23881,21 @@ module function mean_11_int64_dp(x, dim) result(res) end do end do case(6) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int64_dp(x(i,i_,i__,i___,i____,:,i_____,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -19067,18 +23907,21 @@ module function mean_11_int64_dp(x, dim) result(res) end do end do case(7) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,:,i__& - &____,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -19090,18 +23933,21 @@ module function mean_11_int64_dp(x, dim) result(res) end do end do case(8) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i____& - &__,:,i_______,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -19113,18 +23959,21 @@ module function mean_11_int64_dp(x, dim) result(res) end do end do case(9) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i____& - &__,i_______,:,i________,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -19136,18 +23985,21 @@ module function mean_11_int64_dp(x, dim) result(res) end do end do case(10) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i____& - &__,i_______,i________,:,i_________)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -19159,18 +24011,21 @@ module function mean_11_int64_dp(x, dim) result(res) end do end do case(11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i____& - &__,i_______,i________,i_________,:)) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________), dp) + end do end do end do end do @@ -19182,9 +24037,11 @@ module function mean_11_int64_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_11_int64_dp module function mean_12_int64_dp(x, dim) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:) @@ -19202,23 +24059,28 @@ module function mean_12_int64_dp(x, dim) result(res) merge(size(x,10),size(x,11),mask = 10 < dim ), & merge(size(x,11),size(x,12),mask = 11 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + + res = 0.0_dp select case(dim) case(1) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int64_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -19231,19 +24093,22 @@ module function mean_12_int64_dp(x, dim) result(res) end do end do case(2) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int64_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -19256,19 +24121,22 @@ module function mean_12_int64_dp(x, dim) result(res) end do end do case(3) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int64_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -19281,19 +24149,22 @@ module function mean_12_int64_dp(x, dim) result(res) end do end do case(4) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int64_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -19306,19 +24177,22 @@ module function mean_12_int64_dp(x, dim) result(res) end do end do case(5) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -19331,19 +24205,22 @@ module function mean_12_int64_dp(x, dim) result(res) end do end do case(6) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -19356,19 +24233,22 @@ module function mean_12_int64_dp(x, dim) result(res) end do end do case(7) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -19381,19 +24261,22 @@ module function mean_12_int64_dp(x, dim) result(res) end do end do case(8) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -19406,19 +24289,22 @@ module function mean_12_int64_dp(x, dim) result(res) end do end do case(9) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -19431,19 +24317,22 @@ module function mean_12_int64_dp(x, dim) result(res) end do end do case(10) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -19456,19 +24345,22 @@ module function mean_12_int64_dp(x, dim) result(res) end do end do case(11) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -19481,19 +24373,22 @@ module function mean_12_int64_dp(x, dim) result(res) end do end do case(12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:)) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________), dp) + end do end do end do end do @@ -19506,9 +24401,11 @@ module function mean_12_int64_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_12_int64_dp module function mean_13_int64_dp(x, dim) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -19527,24 +24424,30 @@ module function mean_13_int64_dp(x, dim) result(res) merge(size(x,11),size(x,12),mask = 11 < dim ), & merge(size(x,12),size(x,13),mask = 12 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + + res = 0.0_dp select case(dim) case(1) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int64_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________& + &) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________), dp) + end do end do end do end do @@ -19558,20 +24461,24 @@ module function mean_13_int64_dp(x, dim) result(res) end do end do case(2) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int64_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do end do end do end do @@ -19585,20 +24492,24 @@ module function mean_13_int64_dp(x, dim) result(res) end do end do case(3) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int64_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do end do end do end do @@ -19612,20 +24523,24 @@ module function mean_13_int64_dp(x, dim) result(res) end do end do case(4) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int64_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& + &_______), dp) + end do end do end do end do @@ -19639,20 +24554,24 @@ module function mean_13_int64_dp(x, dim) result(res) end do end do case(5) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -19666,20 +24585,24 @@ module function mean_13_int64_dp(x, dim) result(res) end do end do case(6) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -19693,20 +24616,24 @@ module function mean_13_int64_dp(x, dim) result(res) end do end do case(7) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -19720,20 +24647,24 @@ module function mean_13_int64_dp(x, dim) result(res) end do end do case(8) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -19747,20 +24678,24 @@ module function mean_13_int64_dp(x, dim) result(res) end do end do case(9) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -19774,20 +24709,24 @@ module function mean_13_int64_dp(x, dim) result(res) end do end do case(10) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -19801,20 +24740,24 @@ module function mean_13_int64_dp(x, dim) result(res) end do end do case(11) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -19828,20 +24771,24 @@ module function mean_13_int64_dp(x, dim) result(res) end do end do case(12) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -19855,20 +24802,24 @@ module function mean_13_int64_dp(x, dim) result(res) end do end do case(13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:)) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) =& + & res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________) +& + & real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____), dp) + end do end do end do end do @@ -19882,9 +24833,11 @@ module function mean_13_int64_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_13_int64_dp module function mean_14_int64_dp(x, dim) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -19904,26 +24857,32 @@ module function mean_14_int64_dp(x, dim) result(res) merge(size(x,12),size(x,13),mask = 12 < dim ), & merge(size(x,13),size(x,14),mask = 13 < dim ) ) - integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________ + integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& + &__ + + res = 0.0_dp select case(dim) case(1) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int64_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,& + &i__________,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -19938,22 +24897,25 @@ module function mean_14_int64_dp(x, dim) result(res) end do end do case(2) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int64_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i& + &____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_& + &_________,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -19968,22 +24930,25 @@ module function mean_14_int64_dp(x, dim) result(res) end do end do case(3) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int64_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& + &__________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___& + &_______,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -19998,22 +24963,25 @@ module function mean_14_int64_dp(x, dim) result(res) end do end do case(4) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int64_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& + &________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -20028,22 +24996,25 @@ module function mean_14_int64_dp(x, dim) result(res) end do end do case(5) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i______& + &______,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -20058,22 +25029,25 @@ module function mean_14_int64_dp(x, dim) result(res) end do end do case(6) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i________& + &____,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________), dp) + end do end do end do end do @@ -20088,22 +25062,25 @@ module function mean_14_int64_dp(x, dim) result(res) end do end do case(7) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i_________& + &____) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i__________& + &__,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________), dp) + end do end do end do end do @@ -20118,22 +25095,25 @@ module function mean_14_int64_dp(x, dim) result(res) end do end do case(8) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i__________& + &___) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________& + &,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________), dp) + end do end do end do end do @@ -20148,22 +25128,25 @@ module function mean_14_int64_dp(x, dim) result(res) end do end do case(9) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i___________& + &__) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i& + &_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________), dp) + end do end do end do end do @@ -20178,22 +25161,25 @@ module function mean_14_int64_dp(x, dim) result(res) end do end do case(10) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i____________& + &_) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i__& + &___________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________), dp) + end do end do end do end do @@ -20208,22 +25194,25 @@ module function mean_14_int64_dp(x, dim) result(res) end do end do case(11) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i_____________& + &) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____& + &_________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_______& + &____,i____________,i_____________), dp) + end do end do end do end do @@ -20238,22 +25227,25 @@ module function mean_14_int64_dp(x, dim) result(res) end do end do case(12) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i______& + &_______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_________& + &__,i____________,i_____________), dp) + end do end do end do end do @@ -20268,22 +25260,25 @@ module function mean_14_int64_dp(x, dim) result(res) end do end do case(13) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:,i_____& - &_______)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &______) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__________& + &_,i____________,i_____________), dp) + end do end do end do end do @@ -20298,22 +25293,25 @@ module function mean_14_int64_dp(x, dim) result(res) end do end do case(14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________) =& - & mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& - &_____,:)) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________)& + & = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_______& + &_____) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________& + &,i____________,i_____________), dp) + end do end do end do end do @@ -20328,9 +25326,11 @@ module function mean_14_int64_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_14_int64_dp module function mean_15_int64_dp(x, dim) result(res) integer(int64), intent(in) :: x(:,:,:,:,:,:,:,:,:,:,:,:,:,:,:) @@ -20352,27 +25352,33 @@ module function mean_15_int64_dp(x, dim) result(res) merge(size(x,14),size(x,15),mask = 14 < dim ) ) integer :: i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___________& - &__ + &__,i______________ + + res = 0.0_dp select case(dim) case(1) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int64_dp(x(:,i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i__& + &___________,i______________) = res(i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_____& + &_____,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i__& + &____,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________& + &), dp) + end do end do end do end do @@ -20388,23 +25394,27 @@ module function mean_15_int64_dp(x, dim) result(res) end do end do case(2) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int64_dp(x(i,:,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i___& + &__________,i______________) = res(i,i__,i___,i____,i_____,i______,i_______,i________,i_________,i_______& + &___,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i____& + &__,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& + & dp) + end do end do end do end do @@ -20420,23 +25430,27 @@ module function mean_15_int64_dp(x, dim) result(res) end do end do case(3) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int64_dp(x(i,i_,:,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i____& + &_________,i______________) = res(i,i_,i___,i____,i_____,i______,i_______,i________,i_________,i_________& + &_,i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______& + &,i_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________),& + & dp) + end do end do end do end do @@ -20452,23 +25466,26 @@ module function mean_15_int64_dp(x, dim) result(res) end do end do case(4) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int64_dp(x(i,i_,i__,:,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____& + &________,i______________) = res(i,i_,i__,i____,i_____,i______,i_______,i________,i_________,i__________,& + &i___________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i& + &_______,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -20484,23 +25501,26 @@ module function mean_15_int64_dp(x, dim) result(res) end do end do case(5) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int64_dp(x(i,i_,i__,i___,:,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i______& + &_______,i______________) = res(i,i_,i__,i___,i_____,i______,i_______,i________,i_________,i__________,i_& + &__________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i__& + &_____,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -20516,23 +25536,26 @@ module function mean_15_int64_dp(x, dim) result(res) end do end do case(6) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int64_dp(x(i,i_,i__,i___,i____,:,i_____,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_______& + &______,i______________) = res(i,i_,i__,i___,i____,i______,i_______,i________,i_________,i__________,i___& + &________,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i____& + &___,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -20548,23 +25571,26 @@ module function mean_15_int64_dp(x, dim) result(res) end do end do case(7) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,:,i______,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i___________,i____________,i________& + &_____,i______________) = res(i,i_,i__,i___,i____,i_____,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i______& + &_,i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -20580,23 +25606,26 @@ module function mean_15_int64_dp(x, dim) result(res) end do end do case(8) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,:,i_______,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i___________,i____________,i_________& + &____,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i________,i_________,i__________,i_______& + &____,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,& + &i________,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -20612,23 +25641,26 @@ module function mean_15_int64_dp(x, dim) result(res) end do end do case(9) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,:,i________,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i___________,i____________,i__________& + &___,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i_________,i__________,i_________& + &__,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_& + &_______,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -20644,23 +25676,26 @@ module function mean_15_int64_dp(x, dim) result(res) end do end do case(10) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,:,i_________,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________,i____________,i___________& + &__,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i__________,i___________& + &,i____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i___& + &_____,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -20676,23 +25711,26 @@ module function mean_15_int64_dp(x, dim) result(res) end do end do case(11) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,:,i__________,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i____________,i____________& + &_,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i___________,i& + &____________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_____& + &___,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -20708,23 +25746,26 @@ module function mean_15_int64_dp(x, dim) result(res) end do end do case(12) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,:,i___________,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____________,i_____________& + &,i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i__& + &__________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i_______& + &_,i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -20740,23 +25781,26 @@ module function mean_15_int64_dp(x, dim) result(res) end do end do case(13) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,:,i__& - &__________,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i_____________,& + &i______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___& + &________,i_____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,& + &i_________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -20772,23 +25816,26 @@ module function mean_15_int64_dp(x, dim) result(res) end do end do case(14) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________,:,i_____________)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &______________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i____& + &_______,i____________,i______________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_& + &________,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -20804,23 +25851,26 @@ module function mean_15_int64_dp(x, dim) result(res) end do end do case(15) - do i_____________ = 1, size(res, 14) - do i____________ = 1, size(res, 13) - do i___________ = 1, size(res, 12) - do i__________ = 1, size(res, 11) - do i_________ = 1, size(res, 10) - do i________ = 1, size(res, 9) - do i_______ = 1, size(res, 8) - do i______ = 1, size(res, 7) - do i_____ = 1, size(res, 6) - do i____ = 1, size(res, 5) - do i___ = 1, size(res, 4) - do i__ = 1, size(res, 3) - do i_ = 1, size(res, 2) - do i = 1, size(res, 1) - res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i_____________& - &) = mean_1_int64_dp(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____& - &________,i_____________,:)) + do i______________ = 1, size(x, 15) + do i_____________ = 1, size(x, 14) + do i____________ = 1, size(x, 13) + do i___________ = 1, size(x, 12) + do i__________ = 1, size(x, 11) + do i_________ = 1, size(x, 10) + do i________ = 1, size(x, 9) + do i_______ = 1, size(x, 8) + do i______ = 1, size(x, 7) + do i_____ = 1, size(x, 6) + do i____ = 1, size(x, 5) + do i___ = 1, size(x, 4) + do i__ = 1, size(x, 3) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i___________,i____________,i& + &_____________) = res(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i_________,i__________,i_____& + &______,i____________,i_____________) + real(x(i,i_,i__,i___,i____,i_____,i______,i_______,i________,i___& + &______,i__________,i___________,i____________,i_____________,i______________), dp) + end do end do end do end do @@ -20836,9 +25886,11 @@ module function mean_15_int64_dp(x, dim) result(res) end do end do case default - call error_stop("ERROR (mean): wrong dimension") + call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_15_int64_dp end submodule diff --git a/src/stdlib_experimental_stat_mean.fypp.f90 b/src/stdlib_experimental_stat_mean.fypp.f90 index 5c82fece5..3258ff6dc 100644 --- a/src/stdlib_experimental_stat_mean.fypp.f90 +++ b/src/stdlib_experimental_stat_mean.fypp.f90 @@ -17,7 +17,13 @@ module function mean_1_${k1}$_${k1}$(x) result(res) ${t1}$, intent(in) :: x(:) ${t1}$ :: res - res = sum(x) / real(size(x), ${k1}$) + integer :: i + + res = 0.0_${k1}$ + do i = 1, size(x) + res = res + x(i) + enddo + res = res / real(size(x), ${k1}$) end function mean_1_${k1}$_${k1}$ #:endfor @@ -27,7 +33,13 @@ module function mean_1_${k1}$_dp(x) result(res) ${t1}$, intent(in) :: x(:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i + + res = 0.0_dp + do i = 1, size(x) + res = res + real(x(i), dp) + enddo + res = res / real(size(x), dp) end function mean_1_${k1}$_dp #:endfor @@ -38,7 +50,15 @@ module function mean_2_all_${k1}$_${k1}$(x) result(res) ${t1}$, intent(in) :: x(:,:) ${t1}$ :: res - res = sum(x) / real(size(x), ${k1}$) + integer :: i, i_ + + res = 0.0_${k1}$ + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + x(i,i_) + enddo + enddo + res = res / real(size(x), ${k1}$) end function mean_2_all_${k1}$_${k1}$ #:endfor @@ -48,7 +68,15 @@ module function mean_2_all_${k1}$_dp(x) result(res) ${t1}$, intent(in) :: x(:,:) real(dp) :: res - res = sum(real(x, dp)) / real(size(x), dp) + integer :: i, i_ + + res = 0.0_dp + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res = res + real(x(i,i_), dp) + enddo + enddo + res = res / real(size(x), dp) end function mean_2_all_${k1}$_dp #:endfor @@ -59,21 +87,29 @@ module function mean_2_${k1}$_${k1}$(x, dim) result(res) integer, intent(in) :: dim ${t1}$ :: res(size(x)/size(x, dim)) - integer :: i + integer :: i, i_ + + res = 0.0_${k1}$ select case(dim) case(1) - do i=1, size(x)/size(x, dim) - res(i) = mean_1_${k1}$_${k1}$(x(:,i)) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + x(i, i_) + end do end do case(2) - do i=1, size(x)/size(x, dim) - res(i) = mean_1_${k1}$_${k1}$(x(i,:)) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + x(i, i_) + end do end do case default call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), ${k1}$) + end function mean_2_${k1}$_${k1}$ #:endfor @@ -83,21 +119,29 @@ module function mean_2_${k1}$_dp(x, dim) result(res) integer, intent(in) :: dim real(dp) :: res(size(x)/size(x, dim)) - integer :: i + integer :: i, i_ + + res = 0.0_dp select case(dim) case(1) - do i=1, size(x)/size(x, dim) - res(i) = mean_1_${k1}$_dp(x(:,i)) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i_) = res(i_) + real(x(i, i_), dp) + end do end do case(2) - do i=1, size(x)/size(x, dim) - res(i) = mean_1_${k1}$_dp(x(i,:)) + do i_ = 1, size(x, 2) + do i = 1, size(x, 1) + res(i) = res(i) + real(x(i, i_), dp) + end do end do case default call error_stop("ERROR (mean): wrong dimension") end select + res = res / real(size(x, dim), dp) + end function mean_2_${k1}$_dp #:endfor @@ -112,9 +156,9 @@ end function mean_2_${k1}$_dp #:endif #:enddef -#:def xsuffix(rank,dim) +#:def ressuffix(rank,dim) #:if rank > 0 -#{for i in range(1,dim)}#${"i"+"_" * (i-1)+","}$#{endfor}#:#{for i in range(dim,rank)}#${",i"+"_" * (i-1)}$#{endfor}# +#{for i in range(1,dim-1)}#${"i" + "_" * (i-1)+","}$#{endfor}##{if dim-1 >0}#i${"_"*(dim-2) }$#{endif}##{if dim -1 >0 and dim