source: LMDZ6/branches/Amaury_dev/libf/dyn3dmem/laplacien_loc.f90 @ 5115

Last change on this file since 5115 was 5106, checked in by abarral, 4 months ago

Turn coefils.h into lmdz_coefils.f90
Put filtreg.F90 inside lmdz_filtreg.F90
Turn mod_filtreg_p.F90 into lmdz_filtreg_p.F90
Delete obsolete parafilt.h*
(lint) remove spaces between routine name and args

  • 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.5 KB
Line 
1SUBROUTINE laplacien_loc( klevel, teta, divgra )
2  !
3  ! P. Le Van
4  !
5  !   ************************************************************
6  !    ....     calcul de  (div( grad ))   de   teta  .....
7  !   ************************************************************
8  ! klevel et teta  sont des arguments  d'entree pour le s-prog
9  !  divgra     est  un argument  de sortie pour le s-prog
10  !
11  USE parallel_lmdz
12  USE lmdz_filtreg_p
13  IMPLICIT NONE
14  !
15  INCLUDE "dimensions.h"
16  INCLUDE "paramet.h"
17  INCLUDE "comgeom.h"
18
19  !
20  !    .........      variables  en arguments   ..............
21  !
22  INTEGER :: klevel
23  REAL :: teta( ijb_u:ije_u,klevel ), divgra( ijb_u:ije_u,klevel )
24  INTEGER :: l
25  !
26  !    ............     variables  locales      ..............
27  !
28  REAL :: ghy(ijb_v:ije_v,llm), ghx(ijb_u:ije_u,llm)
29  !    .......................................................
30
31
32  INTEGER :: ijb,ije,jjb,jje
33  !
34  !  CALL SCOPY ( ip1jmp1 * klevel, teta, 1, divgra, 1 )
35
36  ijb=ij_begin-iip1
37  ije=ij_end+iip1
38  if (pole_nord) ijb=ij_begin
39  if (pole_sud ) ije=ij_end
40
41!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
42  DO l=1,klevel
43    divgra(ijb:ije,l)=teta(ijb:ije,l)
44  ENDDO
45!$OMP END DO NOWAIT
46
47  jjb=jj_begin-1
48  jje=jj_end+1
49  if (pole_nord) jjb=jj_begin
50  if (pole_sud ) jje=jj_end
51
52  CALL filtreg_p( divgra,jjb_u,jje_u,jjb,jje,jjp1, &
53        klevel,  2, 1, .TRUE., 1 )
54  CALL   grad_loc ( klevel,divgra,   ghx , ghy              )
55  CALL  divergf_loc ( klevel, ghx , ghy  , divgra           )
56
57
58END SUBROUTINE laplacien_loc
Note: See TracBrowser for help on using the repository browser.