source: LMDZ6/trunk/libf/dyn3dmem/laplacien_gam_loc.F @ 5079

Last change on this file since 5079 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.8 KB
RevLine 
[1632]1      SUBROUTINE laplacien_gam_loc ( klevel, cuvsga, cvusga, unsaigam,
2     *                        unsapolnga, unsapolsga, teta, divgra )
3
4c  P. Le Van
5c
6c   ************************************************************
7c
8c      ....   calcul de  (div( grad ))   de   teta  .....
9c   ************************************************************
10c    klevel et teta  sont des arguments  d'entree pour le s-prog
11c      divgra     est  un argument  de sortie pour le s-prog
12c
[1823]13      USE parallel_lmdz
[1632]14      IMPLICIT NONE
15c
[4593]16      INCLUDE "dimensions.h"
17      INCLUDE "paramet.h"
18      INCLUDE "comgeom.h"
[1632]19
20c
21c    ............     variables  en arguments    ..........
22c
23      INTEGER klevel
24      REAL teta( ijb_u:ije_u,klevel ), divgra( ijb_u:ije_u,klevel )
25      REAL cuvsga(ip1jm) , cvusga( ip1jmp1 )
26      REAL unsaigam(ip1jmp1)
27      REAL unsapolnga, unsapolsga
28c
29c    ...........    variables  locales    .................
30c
31      REAL ghy(ijb_v:ije_v,llm), ghx(ijb_u:ije_u,llm)
32c    ......................................................
33
34      INTEGER :: ijb,ije
35      INTEGER :: l     
36c
37c
38c   ...  cvuscugam  = ( cvu/ cu ) ** (- gamdissip )
39c   ...  cuvscvgam  = ( cuv/ cv ) ** (- gamdissip )  calcules dans inigeom  ..
40c   ...  unsairegam =  1. /  aire ** (- gamdissip )
41c
42
43c      CALL SCOPY ( ip1jmp1 * klevel, teta, 1, divgra, 1 )
44     
45      ijb=ij_begin-iip1
46      ije=ij_end+iip1
47      if (pole_nord) ijb=ij_begin
48      if (pole_sud ) ije=ij_end
49     
50c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
51      DO l=1,klevel     
52        divgra(ijb:ije,l)=teta(ijb:ije,l)
53      ENDDO
54c$OMP END DO NOWAIT
55
56c
57      CALL   grad_loc ( klevel, divgra, ghx, ghy )
58c
59      CALL  diverg_gam_loc ( klevel, cuvsga, cvusga,  unsaigam  ,
60     *                 unsapolnga, unsapolsga, ghx , ghy , divgra )
61
62c
63
64      RETURN
65      END
Note: See TracBrowser for help on using the repository browser.