/[lmdze]/trunk/Sources/dyn3d/Dissipation/inidissip.f
ViewVC logotype

Diff of /trunk/Sources/dyn3d/Dissipation/inidissip.f

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

revision 26 by guez, Tue Mar 9 15:27:15 2010 UTC revision 27 by guez, Thu Mar 25 14:29:07 2010 UTC
# Line 13  module inidissip_m Line 13  module inidissip_m
13    
14  contains  contains
15    
16    SUBROUTINE inidissip(lstardis, nitergdiv, nitergrot, niterh, tetagdiv, &    SUBROUTINE inidissip
        tetagrot, tetatemp)  
17    
18      ! From dyn3d/inidissip.F, version 1.1.1.1 2004/05/19 12:53:06      ! From dyn3d/inidissip.F, version 1.1.1.1 2004/05/19 12:53:06
19      ! Initialisation de la dissipation horizontale                              ! Initialisation de la dissipation horizontale                        
20    
21      USE comconst, ONLY : dtvr      USE comconst, ONLY : dtvr
22        use comdissnew, only: lstardis, nitergdiv, nitergrot, niterh, tetagdiv, &
23             tetagrot, tetatemp
24      USE comvert, ONLY : preff, presnivs      USE comvert, ONLY : preff, presnivs
25      USE conf_gcm_m, ONLY : iperiod      USE conf_gcm_m, ONLY : iperiod
26      USE dimens_m, ONLY : jjm, llm      USE dimens_m, ONLY : jjm, llm
27      USE paramet_m, ONLY : iip1, ip1jm, ip1jmp1, jjp1      USE paramet_m, ONLY : iip1, ip1jm, ip1jmp1, jjp1
28      use new_unit_m, only: new_unit      use new_unit_m, only: new_unit
29        use filtreg_m, only: filtreg
     LOGICAL, intent(in):: lstardis  
     INTEGER, intent(in):: nitergdiv, nitergrot, niterh  
     REAL, intent(in):: tetagdiv, tetagrot, tetatemp  
30    
31      ! Variables local to the procedure:      ! Variables local to the procedure:
32      REAL zvert(llm)      REAL zvert(llm), max_zvert
33      REAL zh(ip1jmp1), zu(ip1jmp1), zv(ip1jm), deltap(ip1jmp1, llm)      REAL zh(ip1jmp1), zu(ip1jmp1), zv(ip1jm), deltap(ip1jmp1, llm)
34      REAL ullm, vllm, umin, vmin, zhmin, zhmax      REAL ullm, vllm, umin, vmin, zhmin, zhmax
35      REAL zllm, z1llm      REAL zllm, z1llm
36      INTEGER l, ij, idum, ii, unit      INTEGER l, ij, idum, ii, unit
37      REAL tetamin      REAL tetamin ! in s
38      REAL ran1      REAL ran1
39    
40      !-----------------------------------------------------------------------      !-----------------------------------------------------------------------
# Line 170  contains Line 168  contains
168      PRINT *, 'cdivh = ', cdivh      PRINT *, 'cdivh = ', cdivh
169    
170      ! Variation verticale du coefficient de dissipation :      ! Variation verticale du coefficient de dissipation :
171      zvert = 2. - 1. / (1. + (1. - preff / presnivs)**2)      zvert = 2. - 1. / (1. + (preff / presnivs - 1.)**2)
172        ! (between 1 and 2)
173    
174      tetaudiv = zvert / tetagdiv      tetaudiv = zvert / tetagdiv
175      tetaurot = zvert / tetagrot      tetaurot = zvert / tetagrot
# Line 184  contains Line 183  contains
183      close(unit)      close(unit)
184      print *, 'Created file "inidissip.csv".'      print *, 'Created file "inidissip.csv".'
185    
186      tetamin = min(1E6, minval(1. / tetaudiv), minval(1. / tetaurot), &      max_zvert = maxval(zvert)
187           minval(1. / tetah))      tetamin = min(1E6, tetagdiv / max_zvert, tetagrot / max_zvert, &
188             tetatemp / max_zvert)
189      PRINT *, 'tetamin = ', tetamin      PRINT *, 'tetamin = ', tetamin
190      idissip = max(iperiod, int(tetamin / (2 * dtvr * iperiod)) * iperiod)      idissip = max(1, int(tetamin / (2 * dtvr * iperiod))) * iperiod
191      PRINT *, 'idissip = ', idissip      PRINT *, 'idissip = ', idissip
192      dtdiss = idissip * dtvr      dtdiss = idissip * dtvr
193      PRINT *, 'dtdiss = ', dtdiss      PRINT *, 'dtdiss = ', dtdiss

Legend:
Removed from v.26  
changed lines
  Added in v.27

  ViewVC Help
Powered by ViewVC 1.1.21