1 | C |
---|
2 | C $Header$ |
---|
3 | C |
---|
4 | SUBROUTINE inter_barxy ( interfd,jnterfd,dlonid,dlatid , |
---|
5 | , champ,imod,jmod,rlonimod,rlatimod, jsort,champint ) |
---|
6 | |
---|
7 | c Auteur : P. Le Van |
---|
8 | c |
---|
9 | INTEGER interfd,jnterfd,imod,jmod |
---|
10 | REAL champ(interfd,jnterfd +1 ),dlonid(interfd),dlatid(jnterfd), |
---|
11 | , champint(imod,jsort) |
---|
12 | REAL rlonimod(imod),rlatimod(jmod) |
---|
13 | |
---|
14 | #include "dimensions.h" |
---|
15 | #include "paramet.h" |
---|
16 | #include "comgeom2.h" |
---|
17 | |
---|
18 | REAL champx(iip1),chpn(iip1),chps(iip1) |
---|
19 | REAL chhpn,chhps |
---|
20 | REAL fmody(jjp1) |
---|
21 | INTEGER jmp1 |
---|
22 | |
---|
23 | REAL,ALLOCATABLE :: champy(:,:) |
---|
24 | ALLOCATE(champy(jnterfd+1,iip1)) |
---|
25 | c |
---|
26 | |
---|
27 | DO j = 1, jnterfd + 1 |
---|
28 | CALL inter_barx( interfd, dlonid, champ( 1,j ), |
---|
29 | , imod, rlonimod , champx ) |
---|
30 | |
---|
31 | DO i = 1,imod |
---|
32 | champy(j,i) = champx(i) |
---|
33 | ENDDO |
---|
34 | ENDDO |
---|
35 | |
---|
36 | DO i = 1, imod |
---|
37 | CALL inter_bary( jjm,jnterfd,dlatid,champy(1,i), |
---|
38 | , jmod ,rlatimod, fmody ) |
---|
39 | DO j = 1, jsort |
---|
40 | champint(i,j) = fmody(j) |
---|
41 | ENDDO |
---|
42 | ENDDO |
---|
43 | |
---|
44 | IF( jsort.EQ.jjp1) THEN |
---|
45 | |
---|
46 | c .... Valeurs uniques aux poles .... |
---|
47 | c |
---|
48 | DO i = 1,imod |
---|
49 | chpn(i) = aire( i, 1 ) * champint( i, 1 ) |
---|
50 | chps(i) = aire( i, jjp1 ) * champint( i,jjp1 ) |
---|
51 | ENDDO |
---|
52 | chhpn = SSUM(imod,chpn,1)/apoln |
---|
53 | chhps = SSUM(imod,chps,1)/apols |
---|
54 | |
---|
55 | DO i = 1, imod |
---|
56 | champint( i, 1 ) = chhpn |
---|
57 | champint( i, jjp1) = chhps |
---|
58 | ENDDO |
---|
59 | c |
---|
60 | ENDIF |
---|
61 | |
---|
62 | DEALLOCATE(champy) |
---|
63 | |
---|
64 | RETURN |
---|
65 | END |
---|
66 | |
---|