source: LMDZ5/trunk/libf/dyn3dpar/laplacien_gam_p.F

Last change on this file was 1907, checked in by lguez, 11 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
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.7 KB
RevLine 
[630]1      SUBROUTINE laplacien_gam_p ( 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
[630]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( ip1jmp1,klevel ), divgra( ip1jmp1,klevel )
25      REAL cuvsga(ip1jm) , cvusga( ip1jmp1 ),unsaigam(ip1jmp1),
26     *     unsapolnga, unsapolsga
27c
28c    ...........    variables  locales    .................
29c
30      REAL ghy(ip1jm,llm), ghx(ip1jmp1,llm)
31c    ......................................................
32
33      INTEGER :: ijb,ije
[764]34      INTEGER :: l     
[630]35c
36c
37c   ...  cvuscugam  = ( cvu/ cu ) ** (- gamdissip )
38c   ...  cuvscvgam  = ( cuv/ cv ) ** (- gamdissip )  calcules dans inigeom  ..
39c   ...  unsairegam =  1. /  aire ** (- gamdissip )
40c
41
42c      CALL SCOPY ( ip1jmp1 * klevel, teta, 1, divgra, 1 )
43     
44      ijb=ij_begin-iip1
45      ije=ij_end+iip1
46      if (pole_nord) ijb=ij_begin
47      if (pole_sud ) ije=ij_end
48     
[764]49c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
50      DO l=1,klevel     
51        divgra(ijb:ije,l)=teta(ijb:ije,l)
52      ENDDO
53c$OMP END DO NOWAIT
54
[630]55c
56      CALL   grad_p ( klevel, divgra, ghx, ghy )
57c
58      CALL  diverg_gam_p ( klevel, cuvsga, cvusga,  unsaigam  ,
59     *                 unsapolnga, unsapolsga, ghx , ghy , divgra )
60
61c
62
63
64      RETURN
65      END
Note: See TracBrowser for help on using the repository browser.