source: LMDZ6/trunk/libf/dyn3dmem/laplacien_loc.f90 @ 5440

Last change on this file since 5440 was 5285, checked in by abarral, 2 months ago

As discussed internally, remove generic ONLY: ... for new _mod_h modules

  • 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
RevLine 
[5246]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  !
[5281]11  USE comgeom_mod_h
[5246]12  USE parallel_lmdz
13  USE mod_filtreg_p
[5271]14  USE dimensions_mod, ONLY: iim, jjm, llm, ndm
[5285]15USE paramet_mod_h
[5271]16IMPLICIT NONE
[5246]17  !
[5271]18
[5272]19
[1632]20
[5246]21  !
22  !    .........      variables  en arguments   ..............
23  !
24  INTEGER :: klevel
25  REAL :: teta( ijb_u:ije_u,klevel ), divgra( ijb_u:ije_u,klevel )
26  INTEGER :: l
27  !
28  !    ............     variables  locales      ..............
29  !
30  REAL :: ghy(ijb_v:ije_v,llm), ghx(ijb_u:ije_u,llm)
31  !    .......................................................
[1632]32
33
[5246]34  INTEGER :: ijb,ije,jjb,jje
35  !
36  !  CALL SCOPY ( ip1jmp1 * klevel, teta, 1, divgra, 1 )
[1632]37
[5246]38  ijb=ij_begin-iip1
39  ije=ij_end+iip1
40  if (pole_nord) ijb=ij_begin
41  if (pole_sud ) ije=ij_end
[1632]42
[5246]43!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
44  DO l=1,klevel
45    divgra(ijb:ije,l)=teta(ijb:ije,l)
46  ENDDO
47!$OMP END DO NOWAIT
48
49  jjb=jj_begin-1
50  jje=jj_end+1
51  if (pole_nord) jjb=jj_begin
52  if (pole_sud ) jje=jj_end
53
54  CALL filtreg_p( divgra,jjb_u,jje_u,jjb,jje,jjp1, &
55        klevel,  2, 1, .TRUE., 1 )
56  CALL   grad_loc ( klevel,divgra,   ghx , ghy              )
57  CALL  divergf_loc ( klevel, ghx , ghy  , divgra           )
58
59  RETURN
60END SUBROUTINE laplacien_loc
Note: See TracBrowser for help on using the repository browser.