source: LMDZ6/trunk/libf/dyn3dmem/covnat_loc.f90 @ 5452

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

As discussed internally, remove generic ONLY: ... for new _mod_h modules

  • 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 comgeom_mod_h
6  USE parallel_lmdz
7  USE dimensions_mod, ONLY: iim, jjm, llm, ndm
8  USE paramet_mod_h
9IMPLICIT NONE
10
11  !=======================================================================
12  !
13  !   Auteur:  F Hourdin Phu LeVan
14  !   -------
15  !
16  !   Objet:
17  !   ------
18  !
19  !  *********************************************************************
20  !    calcul des compos. naturelles a partir des comp.covariantes
21  !  ********************************************************************
22  !
23  !=======================================================================
24
25  INTEGER :: klevel
26  REAL :: ucov( ijb_u:ije_u,klevel ),  vcov( ijb_v:ije_v,klevel )
27  REAL :: unat( ijb_u:ije_u,klevel ), vnat( ijb_v:ije_v,klevel )
28  INTEGER :: l,ij
29  INTEGER :: ijb,ije
30
31
32  ijb=ij_begin
33  ije=ij_end
34
35  if (pole_nord) then
36
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  RETURN
83END SUBROUTINE covnat_loc
Note: See TracBrowser for help on using the repository browser.