source: LMDZ6/trunk/libf/dyn3dmem/gr_v_scal_loc.F @ 4675

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