1 |
! |
2 |
! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/dteta1.F,v 1.1.1.1 2004/05/19 12:53:06 lmdzadmin Exp $ |
3 |
! |
4 |
SUBROUTINE dteta1 ( teta, pbaru, pbarv, dteta) |
5 |
use dimens_m |
6 |
use paramet_m |
7 |
use logic |
8 |
IMPLICIT NONE |
9 |
|
10 |
c======================================================================= |
11 |
c |
12 |
c Auteur: P. Le Van |
13 |
c ------- |
14 |
c Modif F.Forget 03/94 (on retire q et dq pour construire dteta1) |
15 |
c |
16 |
c ******************************************************************** |
17 |
c ... calcul du terme de convergence horizontale du flux d'enthalpie |
18 |
c potentielle ...... |
19 |
c ******************************************************************** |
20 |
c .. teta,pbaru et pbarv sont des arguments d'entree pour le s-pg .... |
21 |
c dteta sont des arguments de sortie pour le s-pg .... |
22 |
c |
23 |
c======================================================================= |
24 |
|
25 |
|
26 |
|
27 |
REAL teta( ip1jmp1,llm ),pbaru( ip1jmp1,llm ),pbarv( ip1jm,llm) |
28 |
REAL dteta( ip1jmp1,llm ) |
29 |
INTEGER l,ij |
30 |
|
31 |
REAL hbyv( ip1jm,llm ), hbxu( ip1jmp1,llm ) |
32 |
|
33 |
c |
34 |
|
35 |
DO 5 l = 1,llm |
36 |
|
37 |
DO 1 ij = iip2, ip1jm - 1 |
38 |
hbxu(ij,l) = pbaru(ij,l) * 0.5 * ( teta(ij,l) + teta(ij+1,l) ) |
39 |
1 CONTINUE |
40 |
|
41 |
c .... correction pour hbxu(iip1,j,l) ..... |
42 |
c .... hbxu(iip1,j,l)= hbxu(1,j,l) .... |
43 |
|
44 |
CDIR$ IVDEP |
45 |
DO 2 ij = iip1+ iip1, ip1jm, iip1 |
46 |
hbxu( ij, l ) = hbxu( ij - iim, l ) |
47 |
2 CONTINUE |
48 |
|
49 |
|
50 |
DO 3 ij = 1,ip1jm |
51 |
hbyv(ij,l)= pbarv(ij, l)* 0.5 * ( teta(ij, l)+ teta(ij +iip1,l) ) |
52 |
3 CONTINUE |
53 |
|
54 |
5 CONTINUE |
55 |
|
56 |
|
57 |
CALL convflu ( hbxu, hbyv, llm, dteta ) |
58 |
|
59 |
|
60 |
c stockage dans dh de la convergence horizont. filtree' du flux |
61 |
c .... ........... |
62 |
c d'enthalpie potentielle . |
63 |
|
64 |
CALL filtreg( dteta, jjp1, llm, 2, 2, .true., 1) |
65 |
|
66 |
c |
67 |
RETURN |
68 |
END |