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

Diff of /trunk/dyn3d/leapfrog.f90

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

trunk/Sources/dyn3d/leapfrog.f revision 224 by guez, Fri Apr 28 13:40:59 2017 UTC trunk/dyn3d/leapfrog.f revision 262 by guez, Wed Mar 7 13:46:18 2018 UTC
# Line 36  contains Line 36  contains
36      use integrd_m, only: integrd      use integrd_m, only: integrd
37      use nr_util, only: assert      use nr_util, only: assert
38      USE temps, ONLY: itau_dyn      USE temps, ONLY: itau_dyn
     use writedynav_m, only: writedynav  
39      use writehist_m, only: writehist      use writehist_m, only: writehist
40    
41      ! Variables dynamiques:      ! Variables dynamiques:
# Line 63  contains Line 62  contains
62      REAL phi(iim + 1, jjm + 1, llm) ! geopotential      REAL phi(iim + 1, jjm + 1, llm) ! geopotential
63      REAL w(iim + 1, jjm + 1, llm) ! vitesse verticale      REAL w(iim + 1, jjm + 1, llm) ! vitesse verticale
64    
65      ! Variables dynamiques intermediaire pour le transport      ! Variables dynamiques interm\'ediaires pour le transport
66      ! Flux de masse :      ! Flux de masse :
67      REAL pbaru(iim + 1, jjm + 1, llm), pbarv(iim + 1, jjm, llm)      REAL pbaru(iim + 1, jjm + 1, llm), pbarv(iim + 1, jjm, llm)
68    
# Line 73  contains Line 72  contains
72      REAL massem1(iim + 1, jjm + 1, llm)      REAL massem1(iim + 1, jjm + 1, llm)
73    
74      ! Tendances dynamiques      ! Tendances dynamiques
75      REAL dv((iim + 1) * jjm, llm), dudyn(iim + 1, jjm + 1, llm)      REAL dv((iim + 1) * jjm, llm), du(iim + 1, jjm + 1, llm)
76      REAL dteta(iim + 1, jjm + 1, llm)      REAL dteta(iim + 1, jjm + 1, llm)
77      real dp((iim + 1) * (jjm + 1))      real dp(iim + 1, jjm + 1)
78    
79      ! Tendances de la dissipation :      ! Tendances de la dissipation :
80      REAL dvdis(iim + 1, jjm, llm), dudis(iim + 1, jjm + 1, llm)      REAL dvdis(iim + 1, jjm, llm), dudis(iim + 1, jjm + 1, llm)
# Line 133  contains Line 132  contains
132         ! Calcul des tendances dynamiques:         ! Calcul des tendances dynamiques:
133         CALL geopot(teta, pk, pks, phis, phi)         CALL geopot(teta, pk, pks, phis, phi)
134         CALL caldyn(itau, ucov, vcov, teta, ps, masse, pk, pkf, phis, phi, &         CALL caldyn(itau, ucov, vcov, teta, ps, masse, pk, pkf, phis, phi, &
135              dudyn, dv, dteta, dp, w, pbaru, pbarv, &              du, dv, dteta, dp, w, pbaru, pbarv, &
136              conser = MOD(itau, iconser) == 0)              conser = MOD(itau, iconser) == 0)
137    
138         CALL caladvtrac(q, pbaru, pbarv, p3d, masse, teta, pk)         CALL caladvtrac(q, pbaru, pbarv, p3d, masse, teta, pk)
139    
140         ! Int\'egrations dynamique et traceurs:         ! Int\'egrations dynamique et traceurs:
141         CALL integrd(vcovm1, ucovm1, tetam1, psm1, massem1, dv, dudyn, dteta, &         CALL integrd(vcovm1, ucovm1, tetam1, psm1, massem1, dv, du, dteta, &
142              dp, vcov, ucov, teta, q(:, :, :, :2), ps, masse, dt, leapf)              dp, vcov, ucov, teta, q(:, :, :, :2), ps, masse, dt, leapf)
143    
144         forall (l = 1: llm + 1) p3d(:, :, l) = ap(l) + bp(l) * ps         forall (l = 1: llm + 1) p3d(:, :, l) = ap(l) + bp(l) * ps
# Line 152  contains Line 151  contains
151            ! Calcul des tendances dynamiques:            ! Calcul des tendances dynamiques:
152            CALL geopot(teta, pk, pks, phis, phi)            CALL geopot(teta, pk, pks, phis, phi)
153            CALL caldyn(itau + 1, ucov, vcov, teta, ps, masse, pk, pkf, phis, &            CALL caldyn(itau + 1, ucov, vcov, teta, ps, masse, pk, pkf, phis, &
154                 phi, dudyn, dv, dteta, dp, w, pbaru, pbarv, conser = .false.)                 phi, du, dv, dteta, dp, w, pbaru, pbarv, conser = .false.)
155    
156            ! integrations dynamique et traceurs:            ! integrations dynamique et traceurs:
157            CALL integrd(vcovm1, ucovm1, tetam1, psm1, massem1, dv, dudyn, &            CALL integrd(vcovm1, ucovm1, tetam1, psm1, massem1, dv, du, &
158                 dteta, dp, vcov, ucov, teta, q(:, :, :, :2), ps, masse, dtvr, &                 dteta, dp, vcov, ucov, teta, q(:, :, :, :2), ps, masse, dtvr, &
159                 leapf=.false.)                 leapf=.false.)
160    
# Line 203  contains Line 202  contains
202         END IF         END IF
203    
204         IF (MOD(itau + 1, iperiod) == 0) THEN         IF (MOD(itau + 1, iperiod) == 0) THEN
           ! \'Ecriture du fichier histoire moyenne:  
           CALL writedynav(vcov, ucov, teta, pk, phi, q, masse, ps, phis, &  
                time = itau + 1)  
205            call bilan_dyn(ps, masse, pk, pbaru, pbarv, teta, phi, ucov, vcov, &            call bilan_dyn(ps, masse, pk, pbaru, pbarv, teta, phi, ucov, vcov, &
206                 q(:, :, :, 1))                 q(:, :, :, 1))
207         ENDIF         ENDIF
208    
209         IF (MOD(itau + 1, iecri * day_step) == 0) THEN         IF (MOD(itau + 1, iecri * day_step) == 0) THEN
210            CALL geopot(teta, pk, pks, phis, phi)            CALL geopot(teta, pk, pks, phis, phi)
211            CALL writehist(itau, vcov, ucov, teta, phi, masse, ps)            CALL writehist(vcov, ucov, teta, pk, phi, q, masse, ps, itau)
212         END IF         END IF
213      end do time_integration      end do time_integration
214    
# Line 221  contains Line 217  contains
217      ! Calcul des tendances dynamiques:      ! Calcul des tendances dynamiques:
218      CALL geopot(teta, pk, pks, phis, phi)      CALL geopot(teta, pk, pks, phis, phi)
219      CALL caldyn(itaufin, ucov, vcov, teta, ps, masse, pk, pkf, phis, phi, &      CALL caldyn(itaufin, ucov, vcov, teta, ps, masse, pk, pkf, phis, phi, &
220           dudyn, dv, dteta, dp, w, pbaru, pbarv, &           du, dv, dteta, dp, w, pbaru, pbarv, &
221           conser = MOD(itaufin, iconser) == 0)           conser = MOD(itaufin, iconser) == 0)
222    
223    END SUBROUTINE leapfrog    END SUBROUTINE leapfrog

Legend:
Removed from v.224  
changed lines
  Added in v.262

  ViewVC Help
Powered by ViewVC 1.1.21