/[lmdze]/trunk/Sources/dyn3d/caldyn.f
ViewVC logotype

Diff of /trunk/Sources/dyn3d/caldyn.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/dyn3d/caldyn.f90 revision 78 by guez, Wed Feb 5 17:51:07 2014 UTC trunk/dyn3d/caldyn.f revision 88 by guez, Tue Mar 11 15:09:02 2014 UTC
# Line 7  contains Line 7  contains
7    SUBROUTINE caldyn(itau, ucov, vcov, teta, ps, masse, pk, pkf, phis, phi, &    SUBROUTINE caldyn(itau, ucov, vcov, teta, ps, masse, pk, pkf, phis, phi, &
8         dudyn, dv, dteta, dp, w, pbaru, pbarv, time_0, conser)         dudyn, dv, dteta, dp, w, pbaru, pbarv, time_0, conser)
9    
10      ! From dyn3d/caldyn.F, version 1.1.1.1 2004/05/19 12:53:06      ! From dyn3d/caldyn.F, version 1.1.1.1, 2004/05/19 12:53:06
11      ! Auteur : P. Le Van      ! Author: P. Le Van
12      ! Objet : calcul des tendances dynamiques      ! Objet : calcul des tendances dynamiques
13    
14      use advect_m, only: advect      use advect_m, only: advect
15      USE comgeom, ONLY: airesurg, constang_2d      USE comgeom, ONLY: airesurg, constang_2d
16      USE dimens_m, ONLY: iim, jjm, llm      USE dimens_m, ONLY: iim, jjm, llm
17      USE disvert_m, ONLY: ap, bp      USE disvert_m, ONLY: ap, bp
18        use dteta1_m, only: dteta1
19        use dudv1_m, only: dudv1
20        use dudv2_m, only: dudv2
21      use flumass_m, only: flumass      use flumass_m, only: flumass
22      use massbarxy_m, only: massbarxy      use massbarxy_m, only: massbarxy
23      use massdair_m, only: massdair      use massdair_m, only: massdair
24      USE paramet_m, ONLY: iip1, ip1jm, ip1jmp1, jjp1, llmp1      USE paramet_m, ONLY: iip1, ip1jmp1, jjp1, llmp1
25      use sortvarc_m, only: sortvarc      use sortvarc_m, only: sortvarc
26      use tourpot_m, only: tourpot      use tourpot_m, only: tourpot
27    
     ! Arguments:  
28      INTEGER, INTENT(IN):: itau      INTEGER, INTENT(IN):: itau
29      REAL, INTENT(IN):: ucov(:, :, :) ! (iim + 1, jjm + 1, llm) vent covariant      REAL, INTENT(IN):: ucov(:, :, :) ! (iim + 1, jjm + 1, llm) vent covariant
30      REAL, INTENT(IN):: vcov(:, :, :) ! (iim + 1, jjm, llm) ! vent covariant      REAL, INTENT(IN):: vcov(:, :, :) ! (iim + 1, jjm, llm) ! vent covariant
31      real, intent(in):: teta(ip1jmp1, llm)      REAL, INTENT(IN):: teta(ip1jmp1, llm)
32      REAL, INTENT(IN):: ps(ip1jmp1)      REAL, INTENT (IN):: ps(ip1jmp1)
33      real, intent(out):: masse(ip1jmp1, llm)      real, intent(out):: masse(ip1jmp1, llm)
34      REAL, INTENT(IN):: pk(iip1, jjp1, llm)      REAL, INTENT(IN):: pk(iip1, jjp1, llm)
35      REAL pkf(ip1jmp1, llm)      REAL, INTENT(IN):: pkf(ip1jmp1, llm)
36      REAL, INTENT(IN):: phis(ip1jmp1)      REAL, INTENT(IN):: phis(ip1jmp1)
37      REAL, INTENT(IN):: phi(ip1jmp1, llm)      REAL, INTENT(IN):: phi(ip1jmp1, llm)
38      REAL dudyn(ip1jmp1, llm), dv(ip1jm, llm)      REAL dudyn(:, :, :) ! (iim + 1, jjm + 1, llm)
39      REAL dteta(ip1jmp1, llm)      real dv((iim + 1) * jjm, llm)
40        REAL, INTENT(out):: dteta(ip1jmp1, llm)
41      real, INTENT(out):: dp(ip1jmp1)      real, INTENT(out):: dp(ip1jmp1)
42      REAL, INTENT(out):: w(ip1jmp1, llm)      REAL, INTENT(out):: w(ip1jmp1, llm)
43      REAL pbaru(ip1jmp1, llm), pbarv(ip1jm, llm)      REAL, intent(out):: pbaru(ip1jmp1, llm), pbarv((iim + 1) * jjm, llm)
44      REAL, intent(in):: time_0      REAL, intent(in):: time_0
45      LOGICAL, INTENT(IN):: conser      LOGICAL, INTENT(IN):: conser
46    
47      ! Local:      ! Local:
48        REAL vcont((iim + 1) * jjm, llm), ucont(ip1jmp1, llm)
     REAL vcont(ip1jm, llm), ucont(ip1jmp1, llm)  
49      REAL ang(iim + 1, jjm + 1, llm), p(ip1jmp1, llmp1)      REAL ang(iim + 1, jjm + 1, llm), p(ip1jmp1, llmp1)
50      REAL massebx(ip1jmp1, llm), masseby(ip1jm, llm)      REAL massebx(ip1jmp1, llm), masseby((iim + 1) * jjm, llm)
51      REAL vorpot(ip1jm, llm)      REAL vorpot(iim + 1, jjm, llm)
52      real ecin(ip1jmp1, llm), convm(ip1jmp1, llm)      real ecin(ip1jmp1, llm), convm(ip1jmp1, llm)
53      REAL bern(ip1jmp1, llm)      REAL bern(ip1jmp1, llm)
54      REAL massebxy(ip1jm, llm)      REAL massebxy(iim + 1, jjm, llm)
   
55      INTEGER ij, l      INTEGER ij, l
56    
57      !-----------------------------------------------------------------------      !-----------------------------------------------------------------------
# Line 77  contains Line 78  contains
78      ! WARNING probleme de peridocite de dv sur les PC/linux. Pb d'arrondi      ! WARNING probleme de peridocite de dv sur les PC/linux. Pb d'arrondi
79      ! probablement. Observe sur le code compile avec pgf90 3.0-1      ! probablement. Observe sur le code compile avec pgf90 3.0-1
80      DO l = 1, llm      DO l = 1, llm
81         DO ij = 1, ip1jm, iip1         DO ij = 1, (iim + 1) * jjm, iip1
82            IF (dv(ij, l)/=dv(ij+iim, l)) THEN            IF (dv(ij, l)/=dv(ij+iim, l)) THEN
83               dv(ij+iim, l) = dv(ij, l)               dv(ij+iim, l) = dv(ij, l)
84            END IF            END IF
85         END DO         END DO
86      END DO      END DO
87    
88      ! Sorties eventuelles des variables de controle :      ! Sorties Ă©ventuelles des variables de contrĂ´le :
89      IF (conser) CALL sortvarc(itau, ucov, teta, ps, masse, pk, phis, vorpot, &      IF (conser) CALL sortvarc(itau, ucov, teta, ps, masse, pk, phis, vorpot, &
90           phi, bern, dp, time_0)           phi, bern, dp, time_0)
91    

Legend:
Removed from v.78  
changed lines
  Added in v.88

  ViewVC Help
Powered by ViewVC 1.1.21