/[lmdze]/trunk/Sources/filtrez/inifilr.f
ViewVC logotype

Diff of /trunk/Sources/filtrez/inifilr.f

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

revision 166 by guez, Wed Jul 29 14:32:55 2015 UTC revision 168 by guez, Wed Sep 9 10:41:47 2015 UTC
# Line 57  contains Line 57  contains
57    
58      REAL dlatu(jjm)      REAL dlatu(jjm)
59      REAL rlamda(2:iim) ! > 0, in descending order      REAL rlamda(2:iim) ! > 0, in descending order
60      real eignvl(iim) ! eigenvalues sorted in descending order (<= 0)      real eignvl(iim) ! eigenvalues (<= 0) sorted in descending order
61      INTEGER j, unit      INTEGER j, unit
62      REAL colat0 ! > 0      REAL colat0 ! > 0
63      integer j1 ! index of smallest positive latitude      integer j1 ! index of smallest positive latitude
# Line 77  contains Line 77  contains
77      PRINT *, 'colat0 = ', colat0      PRINT *, 'colat0 = ', colat0
78    
79      rlamda = iim / (pi * colat0 / grossismx) / sqrt(- eignvl(2: iim))      rlamda = iim / (pi * colat0 / grossismx) / sqrt(- eignvl(2: iim))
80        print *, "1 / rlamda(iim) = ", 1. / rlamda(iim)
81      call new_unit(unit)      call new_unit(unit)
     open(unit, file = "inifilr_out.txt", status = "replace", action = "write")  
     write(unit, fmt = *) '"EIGNVL"', eignvl  
     close(unit)  
82      open(unit, file = "modfrst.csv", status = "replace", action = "write")      open(unit, file = "modfrst.csv", status = "replace", action = "write")
83      write(unit, fmt = *) '"rlat (degrees)" modfrst' ! title line      write(unit, fmt = *) '"rlat (degrees)" modfrst' ! title line
84    
85     ! D\'etermination de jfilt[ns][uv] :      j1 = ifirstloc(rlatu <= 0.)
   
     j1 = jjm + 1 - ifirstloc(rlatu(jjm:1:- 1) >= 0.)  
86    
87      call inifilr_hemisph(rlatu(j1:2:- 1), colat0, rlamda, unit, eignfnv, &      call inifilr_hemisph(rlatu(j1 - 1:2:- 1), colat0, rlamda, unit, eignfnv, &
88           jfiltnu, matriceun, matrinvn)           jfiltnu, matriceun, matrinvn)
89      jfiltnu = j1 + 1 - jfiltnu      jfiltnu = j1 - jfiltnu
90      matriceun = matriceun(:, :, jfiltnu - 1:1:- 1)      matriceun = matriceun(:, :, jfiltnu - 1:1:- 1)
91      matrinvn = matrinvn(:, :, jfiltnu - 1:1:- 1)      matrinvn = matrinvn(:, :, jfiltnu - 1:1:- 1)
92    
93      call inifilr_hemisph(- rlatu(j1 + 1:jjm), colat0, rlamda, unit, eignfnv, &      call inifilr_hemisph(- rlatu(j1:jjm), colat0, rlamda, unit, eignfnv, &
94           jfiltsu, matriceus, matrinvs)           jfiltsu, matriceus, matrinvs)
95      jfiltsu = j1 + jfiltsu      jfiltsu = j1 - 1 + jfiltsu
96    
97      j1 = jjm + 1 - ifirstloc(rlatv(jjm:1:- 1) >= 0.)      j1 = ifirstloc(rlatv <= 0.)
98    
99      call inifilr_hemisph(rlatv(j1:1:- 1), colat0, rlamda, unit, eignfnu, &      call inifilr_hemisph(rlatv(j1 - 1:1:- 1), colat0, rlamda, unit, eignfnu, &
100           jfiltnv, matricevn)           jfiltnv, matricevn)
101      jfiltnv = j1 + 1 - jfiltnv      jfiltnv = j1 - jfiltnv
102      matricevn = matricevn(:, :, jfiltnv:1:- 1)      matricevn = matricevn(:, :, jfiltnv:1:- 1)
103    
104      call inifilr_hemisph(- rlatv(j1 + 1:jjm), colat0, rlamda, unit, eignfnu, &      call inifilr_hemisph(- rlatv(j1:jjm), colat0, rlamda, unit, eignfnu, &
105           jfiltsv, matricevs)           jfiltsv, matricevs)
106      jfiltsv = j1 + jfiltsv      jfiltsv = j1 - 1 + jfiltsv
107    
108      close(unit)      close(unit)
109      PRINT *, 'jfiltnu =', jfiltnu      PRINT *, 'jfiltnu =', jfiltnu

Legend:
Removed from v.166  
changed lines
  Added in v.168

  ViewVC Help
Powered by ViewVC 1.1.21