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

Contents of /trunk/dyn3d/dteta1.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 107 - (show annotations)
Thu Sep 11 15:09:15 2014 UTC (9 years, 8 months ago) by guez
File size: 1346 byte(s)
Imported procedure grilles_gcm_sub from LMDZ. Had then to transform
local variable phis of etat to argument.

Replaced calls to lnblnk by calls to trim.

Removed arguments nlat, klevel and griscal of filtreg. Replaced
integer arguments ifiltre and iaire by logical arguments direct and
intensive.

Changed default values of guide_t and guide_q to false.

1 module dteta1_m
2
3 IMPLICIT NONE
4
5 contains
6
7 SUBROUTINE dteta1(teta, pbaru, pbarv, dteta)
8
9 ! From LMDZ4/libf/dyn3d/dteta1.F, version 1.1.1.1, 2004/05/19 12:53:06
10 ! Authors: P. Le Van, F. Forget
11
12 ! Calcul du terme de convergence horizontale du flux d'enthalpie
13 ! potentielle.
14
15 USE dimens_m, ONLY: iim, jjm, llm
16 USE paramet_m, ONLY: iip1, iip2, ip1jm, ip1jmp1, jjp1
17 USE filtreg_m, ONLY: filtreg
18
19 REAL, intent(in):: teta(ip1jmp1, llm)
20 REAL, intent(in):: pbaru(ip1jmp1, llm), pbarv(ip1jm, llm)
21 REAL, intent(out):: dteta(iim + 1, jjm + 1, llm)
22
23 ! Local:
24 INTEGER l, ij
25 REAL hbyv(ip1jm, llm), hbxu(ip1jmp1, llm)
26
27 !----------------------------------------------------------------
28
29 DO l = 1, llm
30 DO ij = iip2, ip1jm - 1
31 hbxu(ij, l) = pbaru(ij, l) * 0.5 * (teta(ij, l) + teta(ij + 1, l))
32 end DO
33
34 DO ij = iip1+ iip1, ip1jm, iip1
35 hbxu(ij, l) = hbxu(ij - iim, l)
36 end DO
37
38 DO ij = 1, ip1jm
39 hbyv(ij, l)= pbarv(ij, l) * 0.5 * (teta(ij, l) + teta(ij + iip1, l))
40 end DO
41 end DO
42
43 CALL convflu(hbxu, hbyv, llm, dteta)
44
45 ! stockage dans dh de la convergence horizontale filtrée du flux
46 ! d'enthalpie potentielle
47 CALL filtreg(dteta, direct = .true., intensive = .false.)
48
49 END SUBROUTINE dteta1
50
51 end module dteta1_m

  ViewVC Help
Powered by ViewVC 1.1.21