/[lmdze]/trunk/dyn3d/convmas.f
ViewVC logotype

Annotation of /trunk/dyn3d/convmas.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 137 - (hide annotations)
Wed May 6 15:51:03 2015 UTC (9 years ago) by guez
Original Path: trunk/Sources/dyn3d/convmas.f
File size: 1167 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 guez 91 module convmas_m
2 guez 3
3 guez 81 IMPLICIT NONE
4 guez 3
5 guez 91 contains
6 guez 3
7 guez 91 SUBROUTINE convmas(pbaru, pbarv, convm)
8 guez 3
9 guez 91 ! From LMDZ4/libf/dyn3d/convmas.F, version 1.1.1.1, 2004/05/19 12:53:07
10 guez 3
11 guez 104 USE dimens_m, ONLY: iim, jjm, llm
12 guez 91 USE paramet_m, ONLY: ip1jm, ip1jmp1, jjp1, llmm1
13 guez 137 USE filtreg_scal_m, ONLY: filtreg_scal
14 guez 3
15 guez 91 ! Authors: P. Le Van, F. Hourdin
16     ! Objet: calcul de la convergence du flux de masse aux niveaux p
17 guez 3
18 guez 91 ! Le calcul se fait de haut en bas, la convergence de masse au
19     ! niveau p(llm+1) est égale à 0 et n'est pas stockée dans le
20     ! tableau convm.
21 guez 3
22 guez 91 REAL, INTENT(IN):: pbaru(ip1jmp1, llm), pbarv(ip1jm, llm)
23 guez 104 REAL, INTENT(OUT):: convm(iim + 1, jjm + 1, llm)
24 guez 81
25 guez 91 ! Local:
26 guez 104 INTEGER l
27 guez 81
28 guez 91 !-----------------------------------------------------------------------
29 guez 81
30 guez 91 ! Calcul de - (d(pbaru)/dx + d(pbarv)/dy) :
31     CALL convflu(pbaru, pbarv, llm, convm)
32 guez 81
33 guez 91 ! Filtrage :
34 guez 137 CALL filtreg_scal(convm, direct = .true., intensive = .false.)
35 guez 81
36 guez 91 ! Intégration de la convergence de masse de haut en bas :
37     DO l = llmm1, 1, -1
38 guez 104 convm(:, :, l) = convm(:, :, l) + convm(:, :, l+1)
39 guez 91 END DO
40 guez 81
41 guez 91 END SUBROUTINE convmas
42 guez 81
43 guez 91 end module convmas_m

  ViewVC Help
Powered by ViewVC 1.1.21