source: LMDZ6/branches/Amaury_dev/libf/dyn3dmem/covnat_loc.f90 @ 5116

Last change on this file since 5116 was 5116, checked in by abarral, 2 months ago

rename modules properly lmdz_*
move ismin, ismax, minmax into new lmdz_libmath.f90
(lint) uppercase fortran keywords

  • 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.7 KB
Line 
1
2! $Header$
3
4SUBROUTINE covnat_loc(klevel,ucov, vcov, unat, vnat )
5  USE parallel_lmdz
6  IMPLICIT NONE
7
8  !=======================================================================
9  !
10  !   Auteur:  F Hourdin Phu LeVan
11  !   -------
12  !
13  !   Objet:
14  !   ------
15  !
16  !  *********************************************************************
17  !    calcul des compos. naturelles a partir des comp.covariantes
18  !  ********************************************************************
19  !
20  !=======================================================================
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!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
38    DO l = 1,klevel
39       DO ij = 1, iip1
40          unat (ij,l) =0.
41       END DO
42    ENDDO
43!$OMP ENDDO NOWAIT
44  endif
45
46  if (pole_sud) THEN
47!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
48    DO l = 1,klevel
49       DO ij = ip1jm+1, ip1jmp1
50        unat (ij,l) =0.
51       END DO
52    ENDDO
53!$OMP ENDDO NOWAIT
54  endif
55
56  ijb=ij_begin
57  ije=ij_end
58  if (pole_nord) ijb=ij_begin+iip1
59  if (pole_sud)  ije=ij_end-iip1
60
61!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
62  DO l = 1,klevel
63     DO ij = ijb, ije
64        unat( ij,l ) = ucov( ij,l ) / cu(ij)
65     ENDDO
66  END DO
67!$OMP ENDDO NOWAIT
68
69  ijb=ij_begin-iip1
70  ije=ij_end
71  if (pole_nord) ijb=ij_begin
72  if (pole_sud)  ije=ij_end-iip1
73
74!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
75  DO l = 1,klevel
76     DO ij = ijb,ije
77        vnat( ij,l ) = vcov( ij,l ) / cv(ij)
78     ENDDO
79  ENDDO
80!$OMP ENDDO NOWAIT
81
82
83END SUBROUTINE covnat_loc
Note: See TracBrowser for help on using the repository browser.