source: LMDZ6/branches/Amaury_dev/libf/dyn3dmem/gr_v_scal_loc.f90 @ 5139

Last change on this file since 5139 was 5136, checked in by abarral, 3 months ago

Put comgeom.h, comgeom2.h into 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.6 KB
Line 
1
2! $Header$
3
4SUBROUTINE gr_v_scal_loc(nx,x_v,x_scal)
5  !%W%    %G%
6  !=======================================================================
7  !
8  !   Author:    Frederic Hourdin      original: 11/11/92
9  !   -------
10  !
11  !   Subject:
12  !   ------
13  !
14  !   Method:
15  !   --------
16  !
17  !   Interface:
18  !   ----------
19  !
20  !  Input:
21  !  ------
22  !
23  !  Output:
24  !  -------
25  !
26  !=======================================================================
27  USE parallel_lmdz
28  USE lmdz_comgeom
29
30  IMPLICIT NONE
31  !-----------------------------------------------------------------------
32  !   Declararations:
33  !   ---------------
34
35  INCLUDE "dimensions.h"
36  INCLUDE "paramet.h"
37
38  !   Arguments:
39  !   ----------
40
41  INTEGER :: nx
42  REAL :: x_v(ijb_v:ije_v,nx),x_scal(ijb_v:ije_v,nx)
43
44  !   Local:
45  !   ------
46
47  INTEGER :: l,ij
48  INTEGER :: ijb,ije
49  !-----------------------------------------------------------------------
50  ijb=ij_begin
51  ije=ij_end
52  IF (pole_nord) ijb=ij_begin+iip1
53  IF (pole_sud)  ije=ij_end-iip1
54
55!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
56  DO l=1,nx
57     DO ij=ijb,ije
58        x_scal(ij,l)= &
59              (airev(ij-iip1)*x_v(ij-iip1,l)+airev(ij)*x_v(ij,l)) &
60              /(airev(ij-iip1)+airev(ij))
61     ENDDO
62  ENDDO
63!$OMP ENDDO NOWAIT
64
65  IF (pole_nord) THEN
66!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
67    DO l=1,nx
68       DO ij=1,iip1
69          x_scal(ij,l)=0.
70       ENDDO
71    ENDDO
72!$OMP ENDDO NOWAIT
73  ENDIF
74
75  IF (pole_sud) THEN
76!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
77    DO l=1,nx
78       DO ij=ip1jm+1,ip1jmp1
79          x_scal(ij,l)=0.
80       ENDDO
81    ENDDO
82!$OMP ENDDO NOWAIT
83  ENDIF
84
85
86END SUBROUTINE gr_v_scal_loc
Note: See TracBrowser for help on using the repository browser.