My Project
Main Page
Data Types List
Files
File List
File Members
All
Classes
Files
Functions
Variables
Macros
dudv1_p.F
Go to the documentation of this file.
1
SUBROUTINE
dudv1_p
( vorpot, pbaru, pbarv, du, dv )
2
USE
parallel
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
libf
dyn3dpar
dudv1_p.F
Generated on Fri Jun 28 2013 15:58:33 for My Project by
1.8.1.2