/[MITgcm]/MITgcm/pkg/diagnostics/diagnostics_fill_state.F
ViewVC logotype

Diff of /MITgcm/pkg/diagnostics/diagnostics_fill_state.F

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

revision 1.4 by molod, Fri Mar 26 16:40:37 2004 UTC revision 1.11 by edhill, Wed Jul 7 03:10:14 2004 UTC
# Line 1  Line 1 
1    C $Header$
2    C $Name$
3    
4    #include "DIAG_OPTIONS.h"
5    
6         subroutine diagnostics_fill_state(myThid)         subroutine diagnostics_fill_state(myThid)
7    
8         implicit none         implicit none
9  #include "SIZE.h"  #include "SIZE.h"
10  #include "EEPARAMS.h"  #include "EEPARAMS.h"
 #include "CPP_OPTIONS.h"  
11  #include "GRID.h"  #include "GRID.h"
12  #include "DYNVARS.h"  #include "DYNVARS.h"
 # ifdef ALLOW_PTRACERS  
 #  include "PTRACERS.h"  
 # endif  
13    
14        integer myThid        integer myThid
       _RL dummy(1-OLx:sNx+Olx,1-Oly:sNy+Oly,Nr,Nsx,Nsy)  
       integer i,j,K,bi,bj  
   
         call fill_diagnostics(myThid,'ETAN    ',0,1,0,1,1,etaN)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,1,bi,bj) = etaN(i,j,bi,bj)*etaN(i,j,bi,bj)  
           enddo  
           enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'ETANSQ  ',0,1,0,1,1,dummy)  
   
         call fill_diagnostics(myThid,'UVEL    ',0,Nr,0,1,1,uVel)  
         call fill_diagnostics(myThid,'VVEL    ',0,Nr,0,1,1,vVel)  
         call fill_diagnostics(myThid,'WVEL    ',0,Nr,0,1,1,wVel)  
         call fill_diagnostics(myThid,'THETA   ',0,Nr,0,1,1,theta)  
         call fill_diagnostics(myThid,'SALT    ',0,Nr,0,1,1,salt)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'UVELSQ  ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'VVELSQ  ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'WVELSQ  ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = theta(i,j,K,bi,bj)*theta(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'THETASQ ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = salt(i,j,K,bi,bj)*salt(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'SALTSQ  ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'UVELVVEL',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*theta(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'UVELTH  ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*theta(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'VVELTH  ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=2,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = 0.  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=2,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*  
      .                 (theta(i,j,K,bi,bj)+theta(i,j,K-1,bi,bj))  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'WVELTH  ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*salt(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'UVELSLT ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*salt(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'VVELSLT ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*  
      .                 (salt(i,j,K,bi,bj)+salt(i,j,K-1,bi,bj))  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'WVELSLT ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*hFacW(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'UVELMASS',0,Nr,0,1,1,salt)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*hFacS(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'VVELMASS',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*  
      .         0.5*(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))  
      .                                * hFacW(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'UTHMASS ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*  
      .         0.5*(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))  
      .                                * hFacW(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'VTHMASS ',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*  
      .         0.5*(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))  
      .                                * hFacW(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'USLTMASS',0,Nr,0,1,1,dummy)  
   
         do bj = myByLo(myThid), myByHi(myThid)  
         do bi = myBxLo(myThid), myBxHi(myThid)  
          do K=1,Nr  
           do j = 1,sNy  
           do i = 1,sNx  
            dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*  
      .         0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))  
      .                                * hFacW(i,j,K,bi,bj)  
           enddo  
           enddo  
          enddo  
         enddo  
         enddo  
         call fill_diagnostics(myThid,'VSLTMASS',0,Nr,0,1,1,dummy)  
   
15    
16    #ifdef ALLOW_DIAGNOSTICS
17          _RL dummy(1-OLx:sNx+Olx,1-Oly:sNy+Oly,Nr,nSx,nSy)
18          _RL dummys(1-OLx:sNx+Olx,1-Oly:sNy+Oly,nSx,nSy)
19          integer i,j,K,bi,bj
20          integer km1
21          
22          call fill_diagnostics(myThid,'ETAN    ',0,1,0,1,1,etaN)
23          
24          do bj = myByLo(myThid), myByHi(myThid)
25            do bi = myBxLo(myThid), myBxHi(myThid)
26              do j = 1,sNy
27                do i = 1,sNx
28                  dummys(i,j,bi,bj) = etaN(i,j,bi,bj)*etaN(i,j,bi,bj)
29                enddo
30              enddo
31            enddo
32          enddo
33          call fill_diagnostics(myThid,'ETANSQ  ',0,1,0,1,1,dummys)
34          
35          call fill_diagnostics(myThid,'UVEL    ',0,Nr,0,1,1,uVel)
36          call fill_diagnostics(myThid,'VVEL    ',0,Nr,0,1,1,vVel)
37          call fill_diagnostics(myThid,'WVEL    ',0,Nr,0,1,1,wVel)
38          call fill_diagnostics(myThid,'THETA   ',0,Nr,0,1,1,theta)
39          call fill_diagnostics(myThid,'SALT    ',0,Nr,0,1,1,salt)
40          
41          do bj = myByLo(myThid), myByHi(myThid)
42            do bi = myBxLo(myThid), myBxHi(myThid)
43              do K=1,Nr
44                do j = 1,sNy
45                  do i = 1,sNx
46                    dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*uVel(i,j,K,bi,bj)
47                  enddo
48                enddo
49              enddo
50            enddo
51          enddo
52          call fill_diagnostics(myThid,'UVELSQ  ',0,Nr,0,1,1,dummy)
53    
54          do bj = myByLo(myThid), myByHi(myThid)
55            do bi = myBxLo(myThid), myBxHi(myThid)
56              do K=1,Nr
57                do j = 1,sNy
58                  do i = 1,sNx
59                    dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)
60                  enddo
61                enddo
62              enddo
63            enddo
64          enddo
65          call fill_diagnostics(myThid,'VVELSQ  ',0,Nr,0,1,1,dummy)
66    
67          do bj = myByLo(myThid), myByHi(myThid)
68            do bi = myBxLo(myThid), myBxHi(myThid)
69              do K=1,Nr
70                do j = 1,sNy
71                  do i = 1,sNx
72                    dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*wVel(i,j,K,bi,bj)
73                  enddo
74                enddo
75              enddo
76            enddo
77          enddo
78          call fill_diagnostics(myThid,'WVELSQ  ',0,Nr,0,1,1,dummy)
79          
80          do bj = myByLo(myThid), myByHi(myThid)
81            do bi = myBxLo(myThid), myBxHi(myThid)
82              do K=1,Nr
83                do j = 1,sNy
84                  do i = 1,sNx
85                    dummy(i,j,K,bi,bj)
86         &               = theta(i,j,K,bi,bj)*theta(i,j,K,bi,bj)
87                  enddo
88                enddo
89              enddo
90            enddo
91          enddo
92          call fill_diagnostics(myThid,'THETASQ ',0,Nr,0,1,1,dummy)
93          
94          do bj = myByLo(myThid), myByHi(myThid)
95            do bi = myBxLo(myThid), myBxHi(myThid)
96              do K=1,Nr
97                do j = 1,sNy
98                  do i = 1,sNx
99                    dummy(i,j,K,bi,bj) = salt(i,j,K,bi,bj)*salt(i,j,K,bi,bj)
100                  enddo
101                enddo
102              enddo
103            enddo
104          enddo
105          call fill_diagnostics(myThid,'SALTSQ  ',0,Nr,0,1,1,dummy)
106          
107          do bj = myByLo(myThid), myByHi(myThid)
108            do bi = myBxLo(myThid), myBxHi(myThid)
109              do K=1,Nr
110                do j = 1,sNy
111                  do i = 1,sNx
112                    dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*vVel(i,j,K,bi,bj)
113                  enddo
114                enddo
115              enddo
116            enddo
117          enddo
118          call fill_diagnostics(myThid,'UVELVVEL',0,Nr,0,1,1,dummy)
119          
120          do bj = myByLo(myThid), myByHi(myThid)
121            do bi = myBxLo(myThid), myBxHi(myThid)
122              do K=1,Nr
123                do j = 1,sNy
124                  do i = 1,sNx
125                    dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*
126         &               0.5*(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
127                  enddo
128                enddo
129              enddo
130            enddo
131          enddo
132          call fill_diagnostics(myThid,'UVELTH  ',0,Nr,0,1,1,dummy)
133          
134          do bj = myByLo(myThid), myByHi(myThid)
135            do bi = myBxLo(myThid), myBxHi(myThid)
136              do K=1,Nr
137                do j = 1,sNy
138                  do i = 1,sNx
139                    dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*
140         &               0.5*(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
141                  enddo
142                enddo
143              enddo
144            enddo
145          enddo
146          call fill_diagnostics(myThid,'VVELTH  ',0,Nr,0,1,1,dummy)
147          
148          do bj = myByLo(myThid), myByHi(myThid)
149            do bi = myBxLo(myThid), myBxHi(myThid)
150              do K=1,Nr
151                km1 = MAX(k-1,1)
152                do j = 1,sNy
153                  do i = 1,sNx
154                    dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*
155         &               (theta(i,j,K,bi,bj)+theta(i,j,km1,bi,bj))
156                  enddo
157                enddo
158              enddo
159            enddo
160          enddo
161          call fill_diagnostics(myThid,'WVELTH  ',0,Nr,0,1,1,dummy)
162          
163          do bj = myByLo(myThid), myByHi(myThid)
164            do bi = myBxLo(myThid), myBxHi(myThid)
165              do K=1,Nr
166                do j = 1,sNy
167                  do i = 1,sNx
168                    dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*
169         &               0.5*(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
170                  enddo
171                enddo
172              enddo
173            enddo
174          enddo
175          call fill_diagnostics(myThid,'UVELSLT ',0,Nr,0,1,1,dummy)
176          
177          do bj = myByLo(myThid), myByHi(myThid)
178            do bi = myBxLo(myThid), myBxHi(myThid)
179              do K=1,Nr
180                do j = 1,sNy
181                  do i = 1,sNx
182                    dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*
183         &               0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))
184                  enddo
185                enddo
186              enddo
187            enddo
188          enddo
189          call fill_diagnostics(myThid,'VVELSLT ',0,Nr,0,1,1,dummy)
190    
191          do bj = myByLo(myThid), myByHi(myThid)
192            do bi = myBxLo(myThid), myBxHi(myThid)
193              do K=1,Nr
194                km1 = MAX(k-1,1)
195                do j = 1,sNy
196                  do i = 1,sNx
197                    dummy(i,j,K,bi,bj) = wVel(i,j,K,bi,bj)*0.5*
198         &               (salt(i,j,K,bi,bj)+salt(i,j,km1,bi,bj))
199                  enddo
200                enddo
201              enddo
202            enddo
203          enddo
204          call fill_diagnostics(myThid,'WVELSLT ',0,Nr,0,1,1,dummy)
205          
206          do bj = myByLo(myThid), myByHi(myThid)
207            do bi = myBxLo(myThid), myBxHi(myThid)
208              do K=1,Nr
209                do j = 1,sNy
210                  do i = 1,sNx
211                    dummy(i,j,K,bi,bj)
212         &               = uVel(i,j,K,bi,bj)*hFacW(i,j,K,bi,bj)
213                  enddo
214                enddo
215              enddo
216            enddo
217          enddo
218          call fill_diagnostics(myThid,'UVELMASS',0,Nr,0,1,1,dummy)
219    
220          do bj = myByLo(myThid), myByHi(myThid)
221            do bi = myBxLo(myThid), myBxHi(myThid)
222              do K=1,Nr
223                do j = 1,sNy
224                  do i = 1,sNx
225                    dummy(i,j,K,bi,bj)
226         &               = vVel(i,j,K,bi,bj)*hFacS(i,j,K,bi,bj)
227                  enddo
228                enddo
229              enddo
230            enddo
231          enddo
232          call fill_diagnostics(myThid,'VVELMASS',0,Nr,0,1,1,dummy)
233    
234          do bj = myByLo(myThid), myByHi(myThid)
235            do bi = myBxLo(myThid), myBxHi(myThid)
236              do K=1,Nr
237                do j = 1,sNy
238                  do i = 1,sNx
239                    dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*
240         &               0.5*(theta(i,j,K,bi,bj)+theta(i-1,j,K,bi,bj))
241         &               * hFacW(i,j,K,bi,bj)
242                  enddo
243                enddo
244              enddo
245            enddo
246          enddo
247          call fill_diagnostics(myThid,'UTHMASS ',0,Nr,0,1,1,dummy)
248    
249          do bj = myByLo(myThid), myByHi(myThid)
250            do bi = myBxLo(myThid), myBxHi(myThid)
251              do K=1,Nr
252                do j = 1,sNy
253                  do i = 1,sNx
254                    dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*
255         &               0.5*(theta(i,j,K,bi,bj)+theta(i,j-1,K,bi,bj))
256         &               * hFacS(i,j,K,bi,bj)
257                  enddo
258                enddo
259              enddo
260            enddo
261          enddo
262          call fill_diagnostics(myThid,'VTHMASS ',0,Nr,0,1,1,dummy)
263          
264          do bj = myByLo(myThid), myByHi(myThid)
265            do bi = myBxLo(myThid), myBxHi(myThid)
266              do K=1,Nr
267                do j = 1,sNy
268                  do i = 1,sNx
269                    dummy(i,j,K,bi,bj) = uVel(i,j,K,bi,bj)*
270         &               0.5*(salt(i,j,K,bi,bj)+salt(i-1,j,K,bi,bj))
271         &               * hFacW(i,j,K,bi,bj)
272                  enddo
273                enddo
274              enddo
275            enddo
276          enddo
277          call fill_diagnostics(myThid,'USLTMASS',0,Nr,0,1,1,dummy)
278    
279          do bj = myByLo(myThid), myByHi(myThid)
280            do bi = myBxLo(myThid), myBxHi(myThid)
281              do K=1,Nr
282                do j = 1,sNy
283                  do i = 1,sNx
284                    dummy(i,j,K,bi,bj) = vVel(i,j,K,bi,bj)*
285         &               0.5*(salt(i,j,K,bi,bj)+salt(i,j-1,K,bi,bj))
286         &               * hFacS(i,j,K,bi,bj)
287                  enddo
288                enddo
289              enddo
290            enddo
291          enddo
292          call fill_diagnostics(myThid,'VSLTMASS',0,Nr,0,1,1,dummy)
293          
294          
295    #endif /* ALLOW_DIAGNOSTICS */
296          
297        return        return
298        end        end

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.22