LMDZ
dudv1_p.F
Go to the documentation of this file.
1  SUBROUTINE dudv1_p ( vorpot, pbaru, pbarv, du, dv )
3  IMPLICIT NONE
4 c
5 c-----------------------------------------------------------------------
6 c
7 c Auteur: P. Le Van
8 c -------
9 c
10 c Objet:
11 c ------
12 c calcul du terme de rotation
13 c ce terme est ajoute a d(ucov)/dt et a d(vcov)/dt ..
14 c vorpot, pbaru et pbarv sont des arguments d'entree pour le s-pg ..
15 c du et dv sont des arguments de sortie pour le s-pg ..
16 c
17 c-----------------------------------------------------------------------
18 
19 #include "dimensions.h"
20 #include "paramet.h"
21 
22  REAL vorpot( ip1jm,llm ) ,pbaru( ip1jmp1,llm ) ,
23  * pbarv( ip1jm,llm ) ,du( ip1jmp1,llm ) ,dv( ip1jm,llm )
24  INTEGER l,ij,ijb,ije
25 c
26 c
27 
28 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
29  DO 10 l = 1,llm
30 c
31  ijb=ij_begin
32  ije=ij_end
33 
34  if (pole_nord) ijb=ij_begin+iip1
35  if (pole_sud) ije=ij_end-iip1
36 
37  DO 2 ij = ijb, ije-1
38  du( ij,l ) = 0.125 *( vorpot(ij-iip1, l) + vorpot( ij, l) ) *
39  * ( pbarv(ij-iip1, l) + pbarv(ij-iim, l) +
40  * pbarv( ij , l) + pbarv(ij+ 1 , l) )
41  2 CONTINUE
42 
43 
44 c
45  if (pole_nord) ijb=ij_begin
46 
47  DO 3 ij = ijb, ije-1
48  dv( ij+1,l ) = - 0.125 *( vorpot(ij, l) + vorpot(ij+1, l) ) *
49  * ( pbaru(ij, l) + pbaru(ij+1 , l) +
50  * pbaru(ij+iip1, l) + pbaru(ij+iip2, l) )
51  3 CONTINUE
52 c
53 c .... correction pour dv( 1,j,l ) .....
54 c .... dv(1,j,l)= dv(iip1,j,l) ....
55 c
56 CDIR$ IVDEP
57  DO 4 ij = ijb, ije, iip1
58  dv( ij,l ) = dv( ij + iim, l )
59  4 CONTINUE
60 c
61  10 CONTINUE
62 c$OMP END DO NOWAIT
63  RETURN
64  END
!$Header iip2
Definition: paramet.h:14
!$Header llmm1 INTEGER ip1jmp1
Definition: paramet.h:14
integer, save ij_end
logical, save pole_sud
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm day day1 day day1 *dt_dice endif!time annee_ref dt_dice swup_dice vg_dice omega_dice tg_prof vg_profd w_profd omega_profd!do llm!print llm l llm
!$Header llmm1 INTEGER ip1jm
Definition: paramet.h:14
subroutine dudv1_p(vorpot, pbaru, pbarv, du, dv)
Definition: dudv1_p.F:2
logical, save pole_nord
integer, save ij_begin
c c zjulian c cym CALL iim cym klev iim
Definition: ini_bilKP_ave.h:24