source: LMDZ6/branches/Amaury_dev/libf/dyn3d/dteta1.F90 @ 5118

Last change on this file since 5118 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
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.7 KB
Line 
1! $Header$
2
3SUBROUTINE dteta1(teta, pbaru, pbarv, dteta)
4  USE lmdz_filtreg, ONLY: filtreg
5  IMPLICIT NONE
6
7  !=======================================================================
8  !
9  !   Auteur:  P. Le Van
10  !   -------
11  ! Modif F.Forget 03/94 (on retire q et dq  pour construire dteta1)
12  !
13  !   ********************************************************************
14  !   ... calcul du terme de convergence horizontale du flux d'enthalpie
15  !    potentielle   ......
16  !   ********************************************************************
17  !  .. teta,pbaru et pbarv sont des arguments d'entree  pour le s-pg ....
18  ! dteta                 sont des arguments de sortie pour le s-pg ....
19  !
20  !=======================================================================
21
22  include "dimensions.h"
23  include "paramet.h"
24
25  REAL :: teta(ip1jmp1, llm), pbaru(ip1jmp1, llm), pbarv(ip1jm, llm)
26  REAL :: dteta(ip1jmp1, llm)
27  INTEGER :: l, ij
28
29  REAL :: hbyv(ip1jm, llm), hbxu(ip1jmp1, llm)
30
31  !
32
33  DO l = 1, llm
34
35    DO ij = iip2, ip1jm - 1
36      hbxu(ij, l) = pbaru(ij, l) * 0.5 * (teta(ij, l) + teta(ij + 1, l))
37    END DO
38
39    !    .... correction pour  hbxu(iip1,j,l)  .....
40    !    ....   hbxu(iip1,j,l)= hbxu(1,j,l) ....
41
42    !DIR$ IVDEP
43    DO ij = iip1 + iip1, ip1jm, iip1
44      hbxu(ij, l) = hbxu(ij - iim, l)
45    END DO
46
47    DO ij = 1, ip1jm
48      hbyv(ij, l) = pbarv(ij, l) * 0.5 * (teta(ij, l) + teta(ij + iip1, l))
49    END DO
50
51  END DO
52
53  CALL  convflu (hbxu, hbyv, llm, dteta)
54
55
56  !    stockage dans  dh de la convergence horizont. filtree' du  flux
57  ! ....                           ...........
58  ! d'enthalpie potentielle .
59
60  CALL filtreg(dteta, jjp1, llm, 2, 2, .TRUE., 1)
61
62  !
63
64END SUBROUTINE dteta1
Note: See TracBrowser for help on using the repository browser.