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

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

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

revision 10 by guez, Fri Apr 18 14:45:53 2008 UTC revision 23 by guez, Mon Dec 14 15:25:16 2009 UTC
# Line 6  module leapfrog_m Line 6  module leapfrog_m
6    
7  contains  contains
8    
9    SUBROUTINE leapfrog(ucov, vcov, teta, ps, masse, phis, nq, q, clesphy0, &    SUBROUTINE leapfrog(ucov, vcov, teta, ps, masse, phis, q, time_0)
        time_0)  
10    
11      ! 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
12    
# Line 28  contains Line 27  contains
27      ! Pour Van-Leer + Vapeur d'eau saturee, iadv(1)=4. (F.Codron, 10/99)      ! Pour Van-Leer + Vapeur d'eau saturee, iadv(1)=4. (F.Codron, 10/99)
28      ! Pour Van-Leer iadv=10      ! Pour Van-Leer iadv=10
29    
30      use dimens_m, only: iim, jjm, llm, nqmx      use dimens_m, only: iim, llm, nqmx
31      use paramet_m, only: ip1jmp1, ip1jm, ijmllm, ijp1llm, jjp1, iip1, iip2      use paramet_m, only: ip1jmp1, ip1jm, ijmllm, ijp1llm, jjp1, iip1
32      use comconst, only: dtvr, daysec, dtphys      use comconst, only: dtvr, daysec, dtphys
33      use comvert, only: ap, bp      use comvert, only: ap, bp
34      use conf_gcm_m, only: day_step, iconser, idissip, iphysiq, iperiod, nday, &      use conf_gcm_m, only: day_step, iconser, idissip, iphysiq, iperiod, nday, &
35           offline, periodav           offline, periodav
36      use logic, only: ok_guide, apdiss, apphys, conser, forward, iflag_phys, &      use logic, only: ok_guide, iflag_phys
          leapf, statcl  
37      use comgeom      use comgeom
38      use serre      use serre
39      use temps, only: itaufin, day_ini, dt      use temps, only: itaufin, day_ini, dt
# Line 48  contains Line 46  contains
46      use pression_m, only: pression      use pression_m, only: pression
47      use pressure_var, only: p3d      use pressure_var, only: p3d
48    
     integer nq  
     REAL clesphy0(:)  
   
49      ! Variables dynamiques:      ! Variables dynamiques:
50      REAL vcov(ip1jm, llm), ucov(ip1jmp1, llm) ! vents covariants      REAL vcov(ip1jm, llm), ucov(ip1jmp1, llm) ! vents covariants
51      REAL teta(ip1jmp1, llm) ! temperature potentielle      REAL teta(ip1jmp1, llm) ! temperature potentielle
# Line 95  contains Line 90  contains
90    
91      REAL tppn(iim), tpps(iim), tpn, tps      REAL tppn(iim), tpps(iim), tpn, tps
92    
93      INTEGER itau, itaufinp1      INTEGER itau ! index of the time step of the dynamics, starts at 0
94        integer itaufinp1
95      INTEGER iday ! jour julien      INTEGER iday ! jour julien
96      REAL time ! Heure de la journee en fraction d'1 jour      REAL time ! time of day, as a fraction of day length
97    
98      REAL SSUM      REAL SSUM
99      real finvmaold(ip1jmp1, llm)      real finvmaold(ip1jmp1, llm)
# Line 106  contains Line 102  contains
102      INTEGER ij, l      INTEGER ij, l
103    
104      REAL rdayvrai, rdaym_ini      REAL rdayvrai, rdaym_ini
     LOGICAL:: callinigrads = .true.  
105    
106      !+jld variables test conservation energie      !+jld variables test conservation energie
107      REAL ecin(ip1jmp1, llm), ecin0(ip1jmp1, llm)      REAL ecin(ip1jmp1, llm), ecin0(ip1jmp1, llm)
# Line 119  contains Line 114  contains
114      INTEGER:: ip_ebil_dyn = 0 ! PRINT level for energy conserv. diag.      INTEGER:: ip_ebil_dyn = 0 ! PRINT level for energy conserv. diag.
115    
116      logical:: dissip_conservative = .true.      logical:: dissip_conservative = .true.
117      LOGICAL:: prem = .true.      logical forward, leapf, apphys, conser, apdiss
118    
119      !---------------------------------------------------      !---------------------------------------------------
120    
# Line 167  contains Line 162  contains
162            ! gestion des appels de la physique et des dissipations:            ! gestion des appels de la physique et des dissipations:
163    
164            apphys = .FALSE.            apphys = .FALSE.
           statcl = .FALSE.  
165            conser = .FALSE.            conser = .FALSE.
166            apdiss = .FALSE.            apdiss = .FALSE.
167    
# Line 196  contains Line 190  contains
190    
191            ! integrations dynamique et traceurs:            ! integrations dynamique et traceurs:
192            CALL integrd(2, vcovm1, ucovm1, tetam1, psm1, massem1, dv, du, &            CALL integrd(2, vcovm1, ucovm1, tetam1, psm1, massem1, dv, du, &
193                 dteta, dq, dp, vcov, ucov, teta, q, ps, masse, phis, finvmaold)                 dteta, dq, dp, vcov, ucov, teta, q, ps, masse, phis, &
194                   finvmaold, leapf)
195    
196            ! calcul des tendances physiques:            ! calcul des tendances physiques:
197    
# Line 218  contains Line 213  contains
213                       teta, q(:, :, 1), q(:, :, 2))                       teta, q(:, :, 1), q(:, :, 2))
214               ENDIF               ENDIF
215    
216               CALL calfis(nq, lafin, rdayvrai, time, ucov, vcov, teta, q, &               CALL calfis(nqmx, lafin, rdayvrai, time, ucov, vcov, teta, q, &
217                    masse, ps, pk, phis, phi, du, dv, dteta, dq, w, &                    masse, ps, pk, phis, phi, du, dv, dteta, dq, w, &
218                    clesphy0, dufi, dvfi, dtetafi, dqfi, dpfi)                    dufi, dvfi, dtetafi, dqfi, dpfi)
219    
220               ! ajout des tendances physiques:               ! ajout des tendances physiques:
221               CALL addfi(nqmx, dtphys, &               CALL addfi(nqmx, dtphys, &
# Line 319  contains Line 314  contains
314            ENDIF            ENDIF
315    
316            IF (itau == itaufin) THEN            IF (itau == itaufin) THEN
317               CALL dynredem1("restart.nc", 0., vcov, ucov, teta, q, masse, ps)               CALL dynredem1("restart.nc", vcov, ucov, teta, q, masse, ps)
318               CLOSE(99)               CLOSE(99)
319            ENDIF            ENDIF
320    
# Line 337  contains Line 332  contains
332                  dt = 2. * dtvr                  dt = 2. * dtvr
333               END IF               END IF
334            ELSE            ELSE
335               ! ...... pas leapfrog .....               ! pas leapfrog
336               leapf = .TRUE.               leapf = .TRUE.
337               dt = 2. * dtvr               dt = 2. * dtvr
338            END IF            END IF

Legend:
Removed from v.10  
changed lines
  Added in v.23

  ViewVC Help
Powered by ViewVC 1.1.21