Directory: | ./ |
---|---|
File: | dyn3d_common/grad.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 | 1590 | SUBROUTINE grad(klevel, pg,pgx,pgy ) | |
5 | c | ||
6 | c P. Le Van | ||
7 | c | ||
8 | c ****************************************************************** | ||
9 | c .. calcul des composantes covariantes en x et y du gradient de g | ||
10 | c | ||
11 | c ****************************************************************** | ||
12 | c pg est un argument d'entree pour le s-prog | ||
13 | c pgx et pgy sont des arguments de sortie pour le s-prog | ||
14 | c | ||
15 | IMPLICIT NONE | ||
16 | c | ||
17 | !----------------------------------------------------------------------- | ||
18 | ! INCLUDE 'dimensions.h' | ||
19 | ! | ||
20 | ! dimensions.h contient les dimensions du modele | ||
21 | ! ndm est tel que iim=2**ndm | ||
22 | !----------------------------------------------------------------------- | ||
23 | |||
24 | INTEGER iim,jjm,llm,ndm | ||
25 | |||
26 | PARAMETER (iim= 32,jjm=32,llm=39,ndm=1) | ||
27 | |||
28 | !----------------------------------------------------------------------- | ||
29 | ! | ||
30 | ! $Header$ | ||
31 | ! | ||
32 | ! | ||
33 | ! ATTENTION!!!!: ce fichier include est compatible format fixe/format libre | ||
34 | ! veillez n'utiliser que des ! pour les commentaires | ||
35 | ! et bien positionner les & des lignes de continuation | ||
36 | ! (les placer en colonne 6 et en colonne 73) | ||
37 | ! | ||
38 | ! | ||
39 | !----------------------------------------------------------------------- | ||
40 | ! INCLUDE 'paramet.h' | ||
41 | |||
42 | INTEGER iip1,iip2,iip3,jjp1,llmp1,llmp2,llmm1 | ||
43 | INTEGER kftd,ip1jm,ip1jmp1,ip1jmi1,ijp1llm | ||
44 | INTEGER ijmllm,mvar | ||
45 | INTEGER jcfil,jcfllm | ||
46 | |||
47 | PARAMETER( iip1= iim+1,iip2=iim+2,iip3=iim+3 & | ||
48 | & ,jjp1=jjm+1-1/jjm) | ||
49 | PARAMETER( llmp1 = llm+1, llmp2 = llm+2, llmm1 = llm-1 ) | ||
50 | PARAMETER( kftd = iim/2 -ndm ) | ||
51 | PARAMETER( ip1jm = iip1*jjm, ip1jmp1= iip1*jjp1 ) | ||
52 | PARAMETER( ip1jmi1= ip1jm - iip1 ) | ||
53 | PARAMETER( ijp1llm= ip1jmp1 * llm, ijmllm= ip1jm * llm ) | ||
54 | PARAMETER( mvar= ip1jmp1*( 2*llm+1) + ijmllm ) | ||
55 | PARAMETER( jcfil=jjm/2+5, jcfllm=jcfil*llm ) | ||
56 | |||
57 | !----------------------------------------------------------------------- | ||
58 | INTEGER klevel | ||
59 | REAL pg( ip1jmp1,klevel ) | ||
60 | REAL pgx( ip1jmp1,klevel ) , pgy( ip1jm,klevel ) | ||
61 | INTEGER l,ij | ||
62 | c | ||
63 | c | ||
64 |
2/2✓ Branch 0 taken 56310 times.
✓ Branch 1 taken 1590 times.
|
57900 | DO 6 l = 1,klevel |
65 | c | ||
66 |
2/2✓ Branch 0 taken 61265280 times.
✓ Branch 1 taken 56310 times.
|
61321590 | DO 2 ij = 1, ip1jmp1 - 1 |
67 | 61265280 | pgx( ij,l ) = pg( ij +1,l ) - pg( ij,l ) | |
68 | 56310 | 2 CONTINUE | |
69 | c | ||
70 | c .... correction pour pgx(ip1,j,l) .... | ||
71 | c ... pgx(iip1,j,l)= pgx(1,j,l) .... | ||
72 | CDIR$ IVDEP | ||
73 | 1858230 | DO 3 ij = iip1, ip1jmp1, iip1 | |
74 |
2/2✓ Branch 0 taken 1801920 times.
✓ Branch 1 taken 56310 times.
|
1858230 | pgx( ij,l ) = pgx( ij -iim,l ) |
75 | 56310 | 3 CONTINUE | |
76 | c | ||
77 |
2/2✓ Branch 0 taken 59463360 times.
✓ Branch 1 taken 56310 times.
|
59519670 | DO 4 ij = 1,ip1jm |
78 | 59463360 | pgy( ij,l ) = pg( ij,l ) - pg( ij +iip1,l ) | |
79 | 56310 | 4 CONTINUE | |
80 | c | ||
81 | 1590 | 6 CONTINUE | |
82 | 1590 | RETURN | |
83 | END | ||
84 |