/[lmdze]/trunk/dyn3d/caldyn.f90
ViewVC logotype

Diff of /trunk/dyn3d/caldyn.f90

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

trunk/dyn3d/caldyn.f revision 104 by guez, Thu Sep 4 10:05:52 2014 UTC trunk/Sources/dyn3d/caldyn.f revision 161 by guez, Fri Jul 24 14:27:59 2015 UTC
# Line 5  module caldyn_m Line 5  module caldyn_m
5  contains  contains
6    
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, 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      ! Author: P. Le Van      ! Author: P. Le Van
# Line 17  contains Line 17  contains
17      USE comgeom, ONLY: airesurg, constang_2d      USE comgeom, ONLY: airesurg, constang_2d
18      USE conf_gcm_m, ONLY: day_step      USE conf_gcm_m, ONLY: day_step
19      use convmas_m, only: convmas      use convmas_m, only: convmas
20        use covcont_m, only: covcont
21      USE dimens_m, ONLY: iim, jjm, llm      USE dimens_m, ONLY: iim, jjm, llm
22      USE disvert_m, ONLY: ap, bp      USE disvert_m, ONLY: ap, bp
23      use dteta1_m, only: dteta1      use dteta1_m, only: dteta1
# Line 34  contains Line 35  contains
35    
36      INTEGER, INTENT(IN):: itau      INTEGER, INTENT(IN):: itau
37      REAL, INTENT(IN):: ucov(:, :, :) ! (iim + 1, jjm + 1, llm) vent covariant      REAL, INTENT(IN):: ucov(:, :, :) ! (iim + 1, jjm + 1, llm) vent covariant
38      REAL, INTENT(IN):: vcov(:, :, :) ! (iim + 1, jjm, llm) ! vent covariant      REAL, INTENT(IN):: vcov(:, :, :) ! (iim + 1, jjm, llm) vent covariant
39      REAL, INTENT(IN):: teta(ip1jmp1, llm)      REAL, INTENT(IN):: teta(:, :, :) ! (iim + 1, jjm + 1, llm)
40      REAL, INTENT (IN):: ps(ip1jmp1)      REAL, INTENT (IN):: ps(ip1jmp1)
41      real, intent(out):: masse(ip1jmp1, llm)      real, intent(out):: masse(ip1jmp1, llm)
42      REAL, INTENT(IN):: pk(iip1, jjp1, llm)      REAL, INTENT(IN):: pk(iip1, jjp1, llm)
# Line 44  contains Line 45  contains
45      REAL, INTENT(IN):: phi(iim + 1, jjm + 1, llm)      REAL, INTENT(IN):: phi(iim + 1, jjm + 1, llm)
46      REAL dudyn(:, :, :) ! (iim + 1, jjm + 1, llm)      REAL dudyn(:, :, :) ! (iim + 1, jjm + 1, llm)
47      real dv((iim + 1) * jjm, llm)      real dv((iim + 1) * jjm, llm)
48      REAL, INTENT(out):: dteta(ip1jmp1, llm)      REAL, INTENT(out):: dteta(:, :, :) ! (iim + 1, jjm + 1, llm)
49      real, INTENT(out):: dp(ip1jmp1)      real, INTENT(out):: dp(ip1jmp1)
50      REAL, INTENT(out):: w(:, :, :) ! (iim + 1, jjm + 1, llm)      REAL, INTENT(out):: w(:, :, :) ! (iim + 1, jjm + 1, llm)
51      REAL, intent(out):: pbaru(ip1jmp1, llm), pbarv((iim + 1) * jjm, llm)      REAL, intent(out):: pbaru(ip1jmp1, llm), pbarv((iim + 1) * jjm, llm)
     REAL, intent(in):: time_0  
52      LOGICAL, INTENT(IN):: conser      LOGICAL, INTENT(IN):: conser
53    
54      ! Local:      ! Local:
# Line 77  contains Line 77  contains
77      CALL tourpot(vcov, ucov, massebxy, vorpot)      CALL tourpot(vcov, ucov, massebxy, vorpot)
78      CALL dudv1(vorpot, pbaru, pbarv, dudyn(:, 2: jjm, :), dv)      CALL dudv1(vorpot, pbaru, pbarv, dudyn(:, 2: jjm, :), dv)
79      CALL enercin(vcov, ucov, vcont, ucont, ecin)      CALL enercin(vcov, ucov, vcont, ucont, ecin)
80      CALL bernoui(phi, ecin, bern)      bern = bernoui(phi, ecin)
81      CALL dudv2(teta, pkf, bern, dudyn, dv)      CALL dudv2(teta, pkf, bern, dudyn, dv)
82    
83      forall (l = 1: llm) ang_3d(:, :, l) = ucov(:, :, l) + constang_2d      forall (l = 1: llm) ang_3d(:, :, l) = ucov(:, :, l) + constang_2d
# Line 98  contains Line 98  contains
98      IF (conser) then      IF (conser) then
99         CALL sortvarc(ucov, teta, ps, masse, pk, phis, vorpot, phi, bern, dp, &         CALL sortvarc(ucov, teta, ps, masse, pk, phis, vorpot, phi, bern, dp, &
100              resetvarc = .false.)              resetvarc = .false.)
101         time = real(itau) / day_step + time_0         time = real(itau) / day_step
102         heure = mod(itau * dtvr / daysec, 1.) * 24.         heure = mod(itau * dtvr / daysec, 1.) * 24.
103         IF (abs(heure-24.) <= 1e-4) heure = 0.         IF (abs(heure-24.) <= 1e-4) heure = 0.
104    

Legend:
Removed from v.104  
changed lines
  Added in v.161

  ViewVC Help
Powered by ViewVC 1.1.21