--- trunk/Sources/filtrez/filtreg_hemisph.f 2015/09/14 17:13:16 169 +++ trunk/filtrez/filtreg_hemisph.f 2018/04/19 17:54:55 266 @@ -6,12 +6,12 @@ subroutine filtreg_hemisph(champ, sdd, matri) - USE dimens_m, ONLY: iim + USE dimensions, ONLY: iim REAL, intent(inout):: champ(:, :, :) ! (iim + 1, :, :) REAL, intent(in):: sdd(:) ! (iim) xprim[uv]^{\pm 1/2} - real, intent(in), dimension(:, :, :):: matri ! (iim, iim, :) + real, intent(in):: matri(:, :, :) ! (iim, iim, :) ! filtering matrix, last dimension is latitude ! Local: @@ -19,11 +19,9 @@ !----------------------------------------------------------------- - forall (j = 1:size(champ, 2), l = 1:size(champ, 3)) - champ(:iim, j, l) = champ(:iim, j, l) & - + matmul(matri(:, :, j), champ(:iim, j, l) * sdd) / sdd - END forall - + forall (j = 1:size(champ, 2), l = 1:size(champ, 3)) & + champ(:iim, j, l) = champ(:iim, j, l) & + + matmul(matri(:, :, j), champ(:iim, j, l) * sdd) / sdd champ(iim + 1, :, :) = champ(1, :, :) end subroutine filtreg_hemisph