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

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

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

trunk/dyn3d/fluxstokenc.f revision 102 by guez, Tue Jul 15 13:43:24 2014 UTC trunk/Sources/dyn3d/fluxstokenc.f revision 207 by guez, Thu Sep 1 10:30:53 2016 UTC
# Line 8  contains Line 8  contains
8    
9      ! Author: F. Hourdin      ! Author: F. Hourdin
10    
     USE histwrite_m, ONLY: histwrite  
     USE dimens_m, ONLY: jjm, llm, nqmx  
     USE paramet_m, ONLY: iip1, ijmllm, ijp1llm, ip1jm, ip1jmp1, jjp1  
11      USE comgeom, ONLY: aire      USE comgeom, ONLY: aire
12        USE dimens_m, ONLY: jjm, llm
13        use groupe_m, only: groupe
14        USE histwrite_m, ONLY: histwrite
15        use initfluxsto_m, only: initfluxsto
16        USE paramet_m, ONLY: iip1, ijmllm, ijp1llm, ip1jm, ip1jmp1
17      USE tracstoke, ONLY: istdyn, istphy      USE tracstoke, ONLY: istdyn, istphy
18    
19      REAL pbaru(ip1jmp1, llm), pbarv(ip1jm, llm)      REAL, intent(in):: pbaru(ip1jmp1, llm), pbarv(ip1jm, llm)
20      REAL, intent(in):: masse(ip1jmp1, llm)      REAL, intent(in):: masse(ip1jmp1, llm)
21      real, intent(in):: phi(ip1jmp1, llm)      real, intent(in):: phi(ip1jmp1, llm)
22      real, intent(in):: teta(ip1jmp1, llm)      real, intent(in):: teta(ip1jmp1, llm)
# Line 22  contains Line 24  contains
24      REAL, intent(in):: time_step      REAL, intent(in):: time_step
25      INTEGER, INTENT (IN):: itau      INTEGER, INTENT (IN):: itau
26    
27      ! Variables local to the procedure:      ! Local:
28    
29      REAL, SAVE:: pbaruc(ip1jmp1, llm), pbarvc(ip1jm, llm)      REAL, SAVE:: pbaruc(ip1jmp1, llm), pbarvc(ip1jm, llm)
30      REAL, SAVE:: massem(ip1jmp1, llm)      REAL, SAVE:: massem(ip1jmp1, llm)
# Line 37  contains Line 39  contains
39      !-------------------------------------------------------------      !-------------------------------------------------------------
40    
41      IF (itau == 0) THEN      IF (itau == 0) THEN
42         CALL initfluxsto(time_step, istdyn*time_step, istdyn*time_step, nqmx, &         CALL initfluxsto(time_step, istdyn*time_step, istdyn*time_step, &
43              fluxid, fluxvid, fluxdid)              fluxid, fluxvid, fluxdid)
44         CALL histwrite(fluxid, 'phis', 1, phis)         CALL histwrite(fluxid, 'phis', 1, phis)
45         CALL histwrite(fluxid, 'aire', 1, aire)         CALL histwrite(fluxid, 'aire', 1, aire)
# Line 54  contains Line 56  contains
56         CALL initial0(ijmllm, pbarvc)         CALL initial0(ijmllm, pbarvc)
57      END IF      END IF
58    
59      !   accumulation des flux de masse horizontaux      ! Accumulation des flux de masse horizontaux
60      DO l = 1, llm      DO l = 1, llm
61         DO ij = 1, ip1jmp1         DO ij = 1, ip1jmp1
62            pbaruc(ij, l) = pbaruc(ij, l) + pbaru(ij, l)            pbaruc(ij, l) = pbaruc(ij, l) + pbaru(ij, l)
# Line 66  contains Line 68  contains
68         END DO         END DO
69      END DO      END DO
70    
71      !   selection de la masse instantannee des mailles avant le transport.      ! S\'election de la masse instantan\'ee des mailles avant le transport.
72      IF (itau == 0) massem = masse      IF (itau == 0) massem = masse
73    
74      IF (mod(itau + 1, istdyn) == 0) THEN      IF (mod(itau + 1, istdyn) == 0) THEN
75         ! on advecte a ce pas de temps         ! On advecte \`a ce pas de temps
76         !    normalisation         ! normalisation
77         DO l = 1, llm         DO l = 1, llm
78            DO ij = 1, ip1jmp1            DO ij = 1, ip1jmp1
79               pbaruc(ij, l) = pbaruc(ij, l)/float(istdyn)               pbaruc(ij, l) = pbaruc(ij, l)/float(istdyn)
# Line 83  contains Line 85  contains
85            END DO            END DO
86         END DO         END DO
87    
88         !   traitement des flux de masse avant advection.         ! Traitement des flux de masse avant advection.
89         !     1. calcul de w         ! 1. Calcul de w
90         !     2. groupement des mailles pres du pole.         ! 2. Groupement des mailles pr\`es du p\^ole.
91           CALL groupe(pbaruc, pbarvc, pbarug, pbarvg, wg)
        CALL groupe(massem, pbaruc, pbarvc, pbarug, pbarvg, wg)  
92    
93         CALL histwrite(fluxid, 'masse', itau, massem)         CALL histwrite(fluxid, 'masse', itau, massem)
94         CALL histwrite(fluxid, 'pbaru', itau, pbarug)         CALL histwrite(fluxid, 'pbaru', itau, pbarug)

Legend:
Removed from v.102  
changed lines
  Added in v.207

  ViewVC Help
Powered by ViewVC 1.1.21