/[lmdze]/trunk/filtrez/filtreg_hemisph.f90
ViewVC logotype

Contents of /trunk/filtrez/filtreg_hemisph.f90

Parent Directory Parent Directory | Revision Log Revision Log


Revision 328 - (show annotations)
Thu Jun 13 14:40:06 2019 UTC (4 years, 11 months ago) by guez
File size: 739 byte(s)
Change all `.f` suffixes to `.f90`. (The opposite was done in revision
82.)  Because of change of philosopy in GNUmakefile: we already had a
rewritten rule for `.f`, so it does not make the makefile longer to
replace it by a rule for `.f90`. And it spares us options of
makedepf90 and of the compiler. Also we prepare the way for a simpler
`CMakeLists.txt`.

1 module filtreg_hemisph_m
2
3 implicit none
4
5 contains
6
7 subroutine filtreg_hemisph(champ, sdd, matri)
8
9 USE dimensions, ONLY: iim
10
11 REAL, intent(inout):: champ(:, :, :) ! (iim + 1, :, :)
12 REAL, intent(in):: sdd(:) ! (iim) xprim[uv]^{\pm 1/2}
13
14 real, intent(in):: matri(:, :, :) ! (iim, iim, :)
15 ! filtering matrix, last dimension is latitude
16
17 ! Local:
18 integer l, j
19
20 !-----------------------------------------------------------------
21
22 forall (j = 1:size(champ, 2), l = 1:size(champ, 3)) &
23 champ(:iim, j, l) = champ(:iim, j, l) &
24 + matmul(matri(:, :, j), champ(:iim, j, l) * sdd) / sdd
25 champ(iim + 1, :, :) = champ(1, :, :)
26
27 end subroutine filtreg_hemisph
28
29 end module filtreg_hemisph_m

  ViewVC Help
Powered by ViewVC 1.1.21