source: LMDZ6/trunk/libf/dyn3dmem/covnat_loc.F @ 4660

Last change on this file since 4660 was 4593, checked in by yann meurdesoif, 18 months ago

Replace #include (c preprocessor) by INCLUDE (fortran keyword)

in phylmd (except rrtm and ecrad) filtrez, dy3dmem and dyn3dcommon

Other directories will follow
YM

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
File size: 1.9 KB
Line 
1!
2! $Header$
3!
4      SUBROUTINE covnat_loc(klevel,ucov, vcov, unat, vnat )
5      USE parallel_lmdz
6      IMPLICIT NONE
7
8c=======================================================================
9c
10c   Auteur:  F Hourdin Phu LeVan
11c   -------
12c
13c   Objet:
14c   ------
15c
16c  *********************************************************************
17c    calcul des compos. naturelles a partir des comp.covariantes
18c  ********************************************************************
19c
20c=======================================================================
21
22      INCLUDE "dimensions.h"
23      INCLUDE "paramet.h"
24      INCLUDE "comgeom.h"
25
26      INTEGER klevel
27      REAL ucov( ijb_u:ije_u,klevel ),  vcov( ijb_v:ije_v,klevel )
28      REAL unat( ijb_u:ije_u,klevel ), vnat( ijb_v:ije_v,klevel )
29      INTEGER   l,ij
30      INTEGER :: ijb,ije
31     
32     
33      ijb=ij_begin
34      ije=ij_end
35     
36      if (pole_nord) then
37
38!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)       
39        DO l = 1,klevel
40           DO ij = 1, iip1
41              unat (ij,l) =0.
42           END DO
43        ENDDO
44!$OMP ENDDO NOWAIT
45      endif
46
47      if (pole_sud) then
48!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)       
49        DO l = 1,klevel
50           DO ij = ip1jm+1, ip1jmp1 
51            unat (ij,l) =0.
52           END DO
53        ENDDO
54!$OMP ENDDO NOWAIT
55      endif
56
57      ijb=ij_begin
58      ije=ij_end
59      if (pole_nord) ijb=ij_begin+iip1
60      if (pole_sud)  ije=ij_end-iip1
61     
62!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)       
63      DO l = 1,klevel
64         DO ij = ijb, ije
65            unat( ij,l ) = ucov( ij,l ) / cu(ij)
66         ENDDO
67      END DO
68!$OMP ENDDO NOWAIT
69
70      ijb=ij_begin-iip1
71      ije=ij_end
72      if (pole_nord) ijb=ij_begin
73      if (pole_sud)  ije=ij_end-iip1
74     
75!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)       
76      DO l = 1,klevel
77         DO ij = ijb,ije
78            vnat( ij,l ) = vcov( ij,l ) / cv(ij)
79         ENDDO
80      ENDDO
81!$OMP ENDDO NOWAIT
82     
83      RETURN
84      END
Note: See TracBrowser for help on using the repository browser.