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

Diff of /trunk/dyn3d/leapfrog.f

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

revision 66 by guez, Thu Sep 20 13:00:41 2012 UTC revision 67 by guez, Tue Oct 2 15:50:56 2012 UTC
# Line 6  contains Line 6  contains
6    
7    SUBROUTINE leapfrog(ucov, vcov, teta, ps, masse, phis, q, time_0)    SUBROUTINE leapfrog(ucov, vcov, teta, ps, masse, phis, q, time_0)
8    
9      ! From dyn3d/leapfrog.F, version 1.6, 2005/04/13 08:58:34      ! From dyn3d/leapfrog.F, version 1.6, 2005/04/13 08:58:34 revision 616
10      ! Authors: P. Le Van, L. Fairhead, F. Hourdin      ! Authors: P. Le Van, L. Fairhead, F. Hourdin
11      ! Matsuno-leapfrog scheme.      ! Matsuno-leapfrog scheme.
12    
# Line 43  contains Line 43  contains
43      ! potential temperature      ! potential temperature
44    
45      REAL, intent(inout):: ps(:, :) ! (iim + 1, jjm + 1) pression au sol, en Pa      REAL, intent(inout):: ps(:, :) ! (iim + 1, jjm + 1) pression au sol, en Pa
46      REAL masse((iim + 1) * (jjm + 1), llm) ! masse d'air      REAL masse(:, :, :) ! (iim + 1, jjm + 1, llm) masse d'air
47      REAL phis((iim + 1) * (jjm + 1)) ! geopotentiel au sol      REAL phis(:, :) ! (iim + 1, jjm + 1) geopotentiel au sol
48    
49      REAL, intent(inout):: q(:, :, :, :) ! (iim + 1, jjm + 1, llm, nqmx)      REAL, intent(inout):: q(:, :, :, :) ! (iim + 1, jjm + 1, llm, nqmx)
50      ! mass fractions of advected fields      ! mass fractions of advected fields
# Line 68  contains Line 68  contains
68      ! Variables dynamiques au pas - 1      ! Variables dynamiques au pas - 1
69      REAL vcovm1(iim + 1, jjm, llm), ucovm1(iim + 1, jjm + 1, llm)      REAL vcovm1(iim + 1, jjm, llm), ucovm1(iim + 1, jjm + 1, llm)
70      REAL tetam1(iim + 1, jjm + 1, llm), psm1(iim + 1, jjm + 1)      REAL tetam1(iim + 1, jjm + 1, llm), psm1(iim + 1, jjm + 1)
71      REAL massem1((iim + 1) * (jjm + 1), llm)      REAL massem1(iim + 1, jjm + 1, llm)
72    
73      ! Tendances dynamiques      ! Tendances dynamiques
74      REAL dv((iim + 1) * jjm, llm), dudyn((iim + 1) * (jjm + 1), llm)      REAL dv((iim + 1) * jjm, llm), dudyn((iim + 1) * (jjm + 1), llm)
# Line 89  contains Line 89  contains
89      INTEGER itau ! index of the time step of the dynamics, starts at 0      INTEGER itau ! index of the time step of the dynamics, starts at 0
90      INTEGER itaufin      INTEGER itaufin
91      REAL time ! time of day, as a fraction of day length      REAL time ! time of day, as a fraction of day length
92      real finvmaold((iim + 1) * (jjm + 1), llm)      real finvmaold(iim + 1, jjm + 1, llm)
93      INTEGER l      INTEGER l
94      REAL rdayvrai, rdaym_ini      REAL rdayvrai, rdaym_ini
95    
# Line 180  contains Line 180  contains
180    
181            CALL calfis(rdayvrai, time, ucov, vcov, teta, q, masse, ps, pk, &            CALL calfis(rdayvrai, time, ucov, vcov, teta, q, masse, ps, pk, &
182                 phis, phi, dudyn, dv, dq, w, dufi, dvfi, dtetafi, dqfi, dpfi, &                 phis, phi, dudyn, dv, dq, w, dufi, dvfi, dtetafi, dqfi, dpfi, &
183                 lafin=itau+1==itaufin)                 lafin = itau + 1 == itaufin)
184    
185            ! ajout des tendances physiques:            ! ajout des tendances physiques:
186            CALL addfi(nqmx, dtphys, ucov, vcov, teta, q, ps, dufi, dvfi, &            CALL addfi(nqmx, dtphys, ucov, vcov, teta, q, ps, dufi, dvfi, &
# Line 232  contains Line 232  contains
232      end do time_integration      end do time_integration
233    
234      CALL dynredem1("restart.nc", vcov, ucov, teta, q, masse, ps, &      CALL dynredem1("restart.nc", vcov, ucov, teta, q, masse, ps, &
235           itau=itau_dyn+itaufin)           itau = itau_dyn + itaufin)
236    
237      ! Calcul des tendances dynamiques:      ! Calcul des tendances dynamiques:
238      CALL geopot((iim + 1) * (jjm + 1), teta, pk, pks, phis, phi)      CALL geopot((iim + 1) * (jjm + 1), teta, pk, pks, phis, phi)
239      CALL caldyn(itaufin, ucov, vcov, teta, ps, masse, pk, pkf, phis, phi, &      CALL caldyn(itaufin, ucov, vcov, teta, ps, masse, pk, pkf, phis, phi, &
240           dudyn, dv, dteta, dp, w, pbaru, pbarv, time_0, &           dudyn, dv, dteta, dp, w, pbaru, pbarv, time_0, &
241           conser=MOD(itaufin, iconser)==0)           conser = MOD(itaufin, iconser) == 0)
242    
243    END SUBROUTINE leapfrog    END SUBROUTINE leapfrog
244    

Legend:
Removed from v.66  
changed lines
  Added in v.67

  ViewVC Help
Powered by ViewVC 1.1.21