source: dynamico_lmdz/aquaplanet/LMDZ5/libf/dyn3dpar/covcont_p.F

Last change on this file was 3990, checked in by millour, 8 years ago

An updated LMDZ5 (based on LMDZ rev 2786) to play with.
EM

File size: 1.5 KB
Line 
1      SUBROUTINE covcont_p (klevel,ucov, vcov, ucont, vcont )
2      USE parallel_lmdz, ONLY: ij_begin,ij_end,OMP_CHUNK,
3     &                         pole_nord, pole_sud
4      IMPLICIT NONE
5
6c=======================================================================
7c
8c   Auteur:  P. Le Van
9c   -------
10c
11c   Objet:
12c   ------
13c
14c  *********************************************************************
15c    calcul des compos. contravariantes a partir des comp.covariantes
16c  ********************************************************************
17c
18c=======================================================================
19
20#include "dimensions.h"
21#include "paramet.h"
22#include "comgeom.h"
23
24      INTEGER klevel
25      REAL ucov( ip1jmp1,klevel ),  vcov( ip1jm,klevel )
26      REAL ucont( ip1jmp1,klevel ), vcont( ip1jm,klevel )
27      INTEGER   l,ij
28      INTEGER ijb_u,ijb_v,ije_u,ije_v
29
30     
31      ijb_u=ij_begin-iip1
32      ijb_v=ij_begin-iip1
33      ije_u=ij_end+iip1
34      ije_v=ij_end+iip1
35     
36      if (pole_nord) then
37        ijb_u=ij_begin+iip1
38        ijb_v=ij_begin
39      endif
40     
41      if (pole_sud) then
42        ije_u=ij_end-iip1
43        ije_v=ij_end-iip1
44      endif
45
46c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)   
47      DO 10 l = 1,klevel
48
49      DO 2  ij = ijb_u,ije_u
50      ucont( ij,l ) = ucov( ij,l ) * unscu2( ij )
51   2  CONTINUE
52
53      DO 4 ij = ijb_v,ije_v
54      vcont( ij,l ) = vcov( ij,l ) * unscv2( ij )
55   4  CONTINUE
56
57  10  CONTINUE
58c$OMP END DO NOWAIT
59      RETURN
60      END
Note: See TracBrowser for help on using the repository browser.