/[lmdze]/trunk/Sources/dyn3d/laplacien.f
ViewVC logotype

Contents of /trunk/Sources/dyn3d/laplacien.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 137 - (show annotations)
Wed May 6 15:51:03 2015 UTC (9 years ago) by guez
File size: 832 byte(s)
Removed unused argument missval in ma_fucoll_r[1-3]1, ma_fufill_r[1-3]1.

Split filtreg into two procedures: filtreg_scal and filtreg_v. I did
not like the test on the extent of the argument and there was no
common code between the two cases: jjm and jjm + 1. Also, it is
simpler now to just remove the argument "direct" from filtreg_v instead
of allowing it and then stopping the program if it is false.

Removed the computation of pkf in reanalyse2nat, was not used.

As a consequence of the split of filtreg, had to extract the
computation of pkf out of exner_hyb. This is clearer anyway because we
want to be able to call exner_hyb with any size in the first two
dimensions (as in test_disvert). But at the same time exner_hyb
required particular sizes for the computation of pkf. It was
awkward. The only computation of pkf is now in leapfrog.

1 module laplacien_m
2
3 IMPLICIT NONE
4
5 contains
6
7 SUBROUTINE laplacien(klevel, teta)
8
9 ! From LMDZ4/libf/dyn3d/laplacien.F, version 1.1.1.1 2004/05/19 12:53:06
10 ! P. Le Van
11 ! Calcul de div(grad) de teta.
12
13 use dimens_m, only: iim, jjm
14 use divergf_m, only: divergf
15 use filtreg_scal_m, only: filtreg_scal
16 use grad_m, only: grad
17 USE paramet_m, ONLY: ip1jm, ip1jmp1, jjp1
18
19 INTEGER, intent(in):: klevel
20 REAL, intent(inout):: teta(iim + 1, jjm + 1, klevel)
21
22 ! Variables locales:
23 REAL ghy(ip1jm, klevel), ghx(ip1jmp1, klevel)
24
25 !-----------------------------------------------------------------
26
27 CALL filtreg_scal(teta, direct = .true., intensive = .true.)
28 CALL grad(klevel, teta, ghx, ghy)
29 CALL divergf(klevel, ghx, ghy, teta)
30
31 END SUBROUTINE laplacien
32
33 end module laplacien_m

  ViewVC Help
Powered by ViewVC 1.1.21