Directory: | ./ |
---|---|
File: | dyn/dudv1.f |
Date: | 2022-01-11 19:19:34 |
Exec | Total | Coverage | |
---|---|---|---|
Lines: | 13 | 13 | 100.0% |
Branches: | 8 | 8 | 100.0% |
Line | Branch | Exec | Source |
---|---|---|---|
1 | ! | ||
2 | ! $Header$ | ||
3 | ! | ||
4 | 2881 | SUBROUTINE dudv1 ( vorpot, pbaru, pbarv, du, dv ) | |
5 | IMPLICIT NONE | ||
6 | c | ||
7 | c----------------------------------------------------------------------- | ||
8 | c | ||
9 | c Auteur: P. Le Van | ||
10 | c ------- | ||
11 | c | ||
12 | c Objet: | ||
13 | c ------ | ||
14 | c calcul du terme de rotation | ||
15 | c ce terme est ajoute a d(ucov)/dt et a d(vcov)/dt .. | ||
16 | c vorpot, pbaru et pbarv sont des arguments d'entree pour le s-pg .. | ||
17 | c du et dv sont des arguments de sortie pour le s-pg .. | ||
18 | c | ||
19 | c----------------------------------------------------------------------- | ||
20 | |||
21 | !----------------------------------------------------------------------- | ||
22 | ! INCLUDE 'dimensions.h' | ||
23 | ! | ||
24 | ! dimensions.h contient les dimensions du modele | ||
25 | ! ndm est tel que iim=2**ndm | ||
26 | !----------------------------------------------------------------------- | ||
27 | |||
28 | INTEGER iim,jjm,llm,ndm | ||
29 | |||
30 | PARAMETER (iim= 32,jjm=32,llm=39,ndm=1) | ||
31 | |||
32 | !----------------------------------------------------------------------- | ||
33 | ! | ||
34 | ! $Header$ | ||
35 | ! | ||
36 | ! | ||
37 | ! ATTENTION!!!!: ce fichier include est compatible format fixe/format libre | ||
38 | ! veillez n'utiliser que des ! pour les commentaires | ||
39 | ! et bien positionner les & des lignes de continuation | ||
40 | ! (les placer en colonne 6 et en colonne 73) | ||
41 | ! | ||
42 | ! | ||
43 | !----------------------------------------------------------------------- | ||
44 | ! INCLUDE 'paramet.h' | ||
45 | |||
46 | INTEGER iip1,iip2,iip3,jjp1,llmp1,llmp2,llmm1 | ||
47 | INTEGER kftd,ip1jm,ip1jmp1,ip1jmi1,ijp1llm | ||
48 | INTEGER ijmllm,mvar | ||
49 | INTEGER jcfil,jcfllm | ||
50 | |||
51 | PARAMETER( iip1= iim+1,iip2=iim+2,iip3=iim+3 & | ||
52 | & ,jjp1=jjm+1-1/jjm) | ||
53 | PARAMETER( llmp1 = llm+1, llmp2 = llm+2, llmm1 = llm-1 ) | ||
54 | PARAMETER( kftd = iim/2 -ndm ) | ||
55 | PARAMETER( ip1jm = iip1*jjm, ip1jmp1= iip1*jjp1 ) | ||
56 | PARAMETER( ip1jmi1= ip1jm - iip1 ) | ||
57 | PARAMETER( ijp1llm= ip1jmp1 * llm, ijmllm= ip1jm * llm ) | ||
58 | PARAMETER( mvar= ip1jmp1*( 2*llm+1) + ijmllm ) | ||
59 | PARAMETER( jcfil=jjm/2+5, jcfllm=jcfil*llm ) | ||
60 | |||
61 | !----------------------------------------------------------------------- | ||
62 | |||
63 | REAL vorpot( ip1jm,llm ) ,pbaru( ip1jmp1,llm ) , | ||
64 | * pbarv( ip1jm,llm ) ,du( ip1jmp1,llm ) ,dv( ip1jm,llm ) | ||
65 | INTEGER l,ij | ||
66 | c | ||
67 | c | ||
68 |
2/2✓ Branch 0 taken 112359 times.
✓ Branch 1 taken 2881 times.
|
115240 | DO 10 l = 1,llm |
69 | c | ||
70 |
2/2✓ Branch 0 taken 112359 times.
✓ Branch 1 taken 114830898 times.
|
114943257 | DO 2 ij = iip2, ip1jm - 1 |
71 | du( ij,l ) = 0.125 *( vorpot(ij-iip1, l) + vorpot( ij, l) ) * | ||
72 | * ( pbarv(ij-iip1, l) + pbarv(ij-iim, l) + | ||
73 | 114830898 | * pbarv( ij , l) + pbarv(ij+ 1 , l) ) | |
74 | 112359 | 2 CONTINUE | |
75 | c | ||
76 |
2/2✓ Branch 0 taken 118538745 times.
✓ Branch 1 taken 112359 times.
|
118651104 | DO 3 ij = 1, ip1jm - 1 |
77 | dv( ij+1,l ) = - 0.125 *( vorpot(ij, l) + vorpot(ij+1, l) ) * | ||
78 | * ( pbaru(ij, l) + pbaru(ij+1 , l) + | ||
79 | 118538745 | * pbaru(ij+iip1, l) + pbaru(ij+iip2, l) ) | |
80 | 112359 | 3 CONTINUE | |
81 | c | ||
82 | c .... correction pour dv( 1,j,l ) ..... | ||
83 | c .... dv(1,j,l)= dv(iip1,j,l) .... | ||
84 | c | ||
85 | CDIR$ IVDEP | ||
86 | 3595488 | DO 4 ij = 1, ip1jm, iip1 | |
87 |
2/2✓ Branch 0 taken 3483129 times.
✓ Branch 1 taken 112359 times.
|
3595488 | dv( ij,l ) = dv( ij + iim, l ) |
88 | 112359 | 4 CONTINUE | |
89 | c | ||
90 | 2881 | 10 CONTINUE | |
91 | 2881 | RETURN | |
92 | END | ||
93 |