LMDZ
dudv1_loc.F
Go to the documentation of this file.
1  SUBROUTINE dudv1_loc ( 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( ijb_v:ije_v,llm ) ,pbaru( ijb_u:ije_u,llm ) ,
23  * pbarv( ijb_v:ije_v,llm )
24  REAL du( ijb_u:ije_u,llm ) ,dv( ijb_v:ije_v,llm )
25  INTEGER l,ij,ijb,ije
26 c
27 c
28 
29 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
30  DO 10 l = 1,llm
31 c
32  ijb=ij_begin
33  ije=ij_end
34 
35  if (pole_nord) ijb=ij_begin+iip1
36  if (pole_sud) ije=ij_end-iip1
37 
38  DO 2 ij = ijb, ije-1
39  du( ij,l ) = 0.125 *( vorpot(ij-iip1, l) + vorpot( ij, l) ) *
40  * ( pbarv(ij-iip1, l) + pbarv(ij-iim, l) +
41  * pbarv( ij , l) + pbarv(ij+ 1 , l) )
42  2 CONTINUE
43 
44 
45 c
46  if (pole_nord) ijb=ij_begin
47 
48  DO 3 ij = ijb, ije-1
49  dv( ij+1,l ) = - 0.125 *( vorpot(ij, l) + vorpot(ij+1, l) ) *
50  * ( pbaru(ij, l) + pbaru(ij+1 , l) +
51  * pbaru(ij+iip1, l) + pbaru(ij+iip2, l) )
52  3 CONTINUE
53 c
54 c .... correction pour dv( 1,j,l ) .....
55 c .... dv(1,j,l)= dv(iip1,j,l) ....
56 c
57 CDIR$ IVDEP
58  DO 4 ij = ijb, ije, iip1
59  dv( ij,l ) = dv( ij + iim, l )
60  4 CONTINUE
61 c
62  10 CONTINUE
63 c$OMP END DO NOWAIT
64  RETURN
65  END
!$Header iip2
Definition: paramet.h:14
subroutine dudv1_loc(vorpot, pbaru, pbarv, du, dv)
Definition: dudv1_loc.F:2
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
integer, save ijb_v
logical, save pole_nord
integer, save ij_begin
integer, save ije_v
c c zjulian c cym CALL iim cym klev iim
Definition: ini_bilKP_ave.h:24
integer, save ije_u
integer, save ijb_u