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

Last change on this file since 3982 was 1907, checked in by lguez, 10 years ago

Added a copyright property to every file of the distribution, except
for the fcm files (which have their own copyright). Use svn propget on
a file to see the copyright. For instance:

$ svn propget copyright libf/phylmd/physiq.F90
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

Also added the files defining the CeCILL version 2 license, in French
and English, at the top of the LMDZ tree.

  • 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
Line 
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
13      USE parallel_lmdz
14      IMPLICIT NONE
15c
16#include "dimensions.h"
17#include "paramet.h"
18#include "comgeom.h"
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.