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

Diff of /trunk/dyn3d/sortvarc.f

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

revision 255 by guez, Tue Mar 6 13:39:57 2018 UTC revision 256 by guez, Tue Mar 6 14:29:20 2018 UTC
# Line 35  contains Line 35  contains
35      logical, intent(in):: resetvarc      logical, intent(in):: resetvarc
36    
37      ! Local:      ! Local:
38      REAL vor(iim + 1, jjm), bernf(iim + 1, jjm + 1, llm), ztotl(llm)      REAL bernf(iim + 1, jjm + 1, llm)
39      REAL etotl(llm), stotl(llm), rmsvl(llm), angl(llm), ge(iim + 1, jjm + 1)      REAL etotl(llm), stotl(llm), rmsvl(llm), angl(llm), ge(iim + 1, jjm + 1)
40      REAL cosphi(2:jjm)      REAL cosphi(2:jjm)
41      REAL radsg, radomeg      REAL radsg, radomeg
# Line 50  contains Line 50  contains
50    
51      ! Calcul  de  rmsdpdt      ! Calcul  de  rmsdpdt
52      ge = dp * dp      ge = dp * dp
53      rmsdpdt = sum(ge) - sum(ge(1, :))      rmsdpdt = sum(ge(:iim, :))
54      rmsdpdt = daysec * 1.E-2 * sqrt(rmsdpdt / (iim * jjp1))      rmsdpdt = daysec * 1.E-2 * sqrt(rmsdpdt / (iim * jjp1))
55      bernf = bern      bernf = bern
56      CALL filtreg_scal(bernf, direct = .false., intensive = .false.)      CALL filtreg_scal(bernf, direct = .false., intensive = .false.)
# Line 63  contains Line 63  contains
63      ! Calcul  de l'energie, de l'enstrophie, de l'entropie et de rmsv      ! Calcul  de l'energie, de l'enstrophie, de l'entropie et de rmsv
64    
65      DO l = 1, llm      DO l = 1, llm
        vor = vorpot(:, :, l)**2 * massebxy(:, :, l)  
        ztotl(l) = sum(vor) - sum(vor(1, :))  
   
66         ge = masse(:, :, l) * (phis + teta(:, :, l) * pk(:, :, l) &         ge = masse(:, :, l) * (phis + teta(:, :, l) * pk(:, :, l) &
67              + bernf(:, :, l) - phi(:, :, l))              + bernf(:, :, l) - phi(:, :, l))
68         etotl(l) = sum(ge) - sum(ge(1, :))         etotl(l) = sum(ge(:iim, :))
69    
70         ge = masse(:, :, l) * teta(:, :, l)         ge = masse(:, :, l) * teta(:, :, l)
71         stotl(l) = sum(ge) - sum(ge(1, :))         stotl(l) = sum(ge(:iim, :))
72    
73         ge = masse(:, :, l) * max(bernf(:, :, l) - phi(:, :, l), 0.)         ge = masse(:, :, l) * max(bernf(:, :, l) - phi(:, :, l), 0.)
74         rmsvl(l) = 2. * (sum(ge) - sum(ge(1, :)))         rmsvl(l) = 2. * sum(ge(:iim, :))
75    
76         forall (j = 2:jjm) ge(:, j) = (ucov(:, j, l) / cu_2d(:, j) &         forall (j = 2:jjm) ge(:, j) = (ucov(:, j, l) / cu_2d(:, j) &
77              + radomeg * cosphi(j)) * masse(:, j, l) * cosphi(j)              + radomeg * cosphi(j)) * masse(:, j, l) * cosphi(j)
78         angl(l) = radsg * (sum(ge(:, 2:jjm)) - sum(ge(1, 2:jjm)))         angl(l) = radsg * sum(ge(:iim, 2:jjm))
79      END DO      END DO
80    
81      ge = ps * aire_2d      ge = ps * aire_2d
82      ptot = sum(ge) - sum(ge(1, :))      ptot = sum(ge(:iim, :))
83      etot = sum(etotl)      etot = sum(etotl)
84      ztot = sum(ztotl)      ztot = sum(vorpot(:iim, :, :)**2 * massebxy(:iim, :, :))
85      stot = sum(stotl)      stot = sum(stotl)
86      rmsv = sum(rmsvl)      rmsv = sum(rmsvl)
87      ang = sum(angl)      ang = sum(angl)

Legend:
Removed from v.255  
changed lines
  Added in v.256

  ViewVC Help
Powered by ViewVC 1.1.21