/[MITgcm]/MITgcm_contrib/high_res_cube/README.cs510
ViewVC logotype

Diff of /MITgcm_contrib/high_res_cube/README.cs510

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

revision 1.1 by dimitri, Sat Apr 7 21:56:47 2007 UTC revision 1.52 by dimitri, Thu Dec 6 00:26:42 2012 UTC
# Line 1  Line 1 
1  !!!! Instructions in this file are obsolete and will eventually  Instructions for setting up a cube-sphere integration with sea-ice.
 !!!! be removed.  This file has been replaced by  
 !!!! MITgcm_contrib/high_res_cube/README.cs510  
 !!!! MITgcm_contrib/high_res_cube/README.cs32  
2    
3  =================  ##########################################################################
4    # Get forcing files, etc.
5    # Example below is for cube94 on pleiades
6    
7  Instructions for setting up a cube-sphere integration with sea-ice.  mkdir cube94
8    cd cube94
9    ln -sf /nobackupp10/hzhang1/cs510/run_template .
10    ln -sf /nobackupp10/hzhang1/forcing/jra25 .
11    ln -sf /nobackupp10/hzhang1/forcing/cube78_forcing .
12    
13    
14    ##########################################################################
15    # getting the code from anonymous CVS server
16    
17    cvs co MITgcm_contrib/high_res_cube/README.cs510
18    cvs co MITgcm_contrib/high_res_cube/code-mods
19    cvs co MITgcm_contrib/high_res_cube/input
20    cvs co MITgcm_code
21    
22    
23    ##########################################################################
24    # 510*510*6*50, 450-cpu cube sphere on pleiades with ifort
25    
26  Forcing fields and other input files needed for the CS510  cd MITgcm
27  configuration can be obtained from  mkdir build run
28  http://ecco2.org/products/model_setups/cs510.html  cd build
29    \rm *
30    \cp ../../MITgcm_contrib/high_res_cube/code-mods/* .
31    \cp ../../MITgcm_contrib/high_res_cube/code-mods/s450t_34x102/SIZE.h .
32    \rm README SIZE.h_mpi
33    ../tools/genmake2 -of ../tools/build_options/linux_amd64_ifort+mpi_ice_nas
34    make depend
35    make -j 16
36    cd ../run
37    \rm *
38    \cp ../../MITgcm_contrib/high_res_cube/input/*data* .
39    \cp ../../MITgcm_contrib/high_res_cube/input/modpickup .
40    \cp ../../MITgcm_contrib/high_res_cube/input/job* .
41    \mv data.seaice_hr data.seaice
42    \mv data.exf_hr data.exf
43    \mv data_hr data
44    \ln -sf ../../run_template/tile* .
45    \ln -sf ../../run_template/G*dig* .
46    \ln -sf ../../run_template/*Init.cube78 .
47    \cp ../build/mitgcmuv .
48    qsub job_cs510_pleiades450
49    
50  =================  =================
51    
52  UPDATES  UPDATES
53    
54    March 19, 2012. Cube94 on pleiades
55    This integration is driven by JRA25 (as was cube92)
56    but it includes shelfice (as did cube86),
57    it is based on MITgcm > checkpoint63k (that is post ICE workshop code),
58    it uses optimized Arctic sea ice parameters from
59    http://ecco2.jpl.nasa.gov/data1/arctic/output/newcode_050109/JRA25_OPT3/input/data.seaice
60    http://ecco2.org/manuscripts/2011/NguyenJGR2011.pdf
61    it uses Southern Ocean ice and ice shelf parameters from JSO24
62    /data14/scratch/hzhang/CP/JSO24/input
63    (bathymetry and initial conditions tbd),
64    and it uses pkg/bbl and frazil instead of down_slope
65    
66    July 27, 2010.  Cube88 on pleiades - same as cube84 but with:
67       1. JRA25 instead of cube84 blend forcing
68       2. useSALT_PLUME  = .TRUE., (off in Southern Ocean)
69       3. useDOWN_SLOPE  = .TRUE.,
70       4. split north/south data.sec17saice parameters from regional optimizations
71       5. initialize from T/S/U/V/ETAN and sea ice from cube78 Jan 1992 pickup
72       6. 3-day 3D diagnostics
73       7. SEAICE_no_slip = .TRUE. to keep code stable
74    
75    June 30, 2009.  Cube86 -same as cube85 but with:
76       1. updated Southern OCean Bathymetry
77       2. ice shelf cavities
78    
79    June 16, 2009. Cube85 -same as cube84 but with:
80       1. split north/south data.seaice parameters from regional optimizations
81       2. includes pkg/salt_plume in the Arctic and pkg/down_slope globally
82       3. initialize from T/S/U/V/ETAN and sea ice files
83       4. 3-day 3D diagnostics
84       5. SEAICE_no_slip=.TRUE. to keep code stable
85    
86    June 13, 2008. Cube 81 - same as cube79 but with
87       1. new values for data.seaice and data.exf
88       2. DIFFKR_2_20_1_lat6070_cube81, which has diffKrS/T=3.55e-7 in Arctic
89       3. GMRedi turned off
90    
91    December 22, 2007. Cube80 - same as cube79 but with
92       SEAICE_BREAKS_VERIFICATION (SST relaxation depends on SIarea)
93       ALLOW_CLIMSST_RELAXATION to Reynold's daily 1/4-deg AVHRR analysis
94       ALLOW_CLIMSST_RELAXATION to monthly 1-deg WOA05 analysis
95    December 2, 2007. Cube79 - same as cube78 (blend3) but with
96       useRelativeWind=.TRUE. and SEAICE_gamma_t=259200
97    November 22, 2007. Cube 78 - blend 3
98    November 6, 2007. Cube 77 - same as cube75 but with SEAICE_SALINITY
99                                and era40_ecmwf_blend/cube59_GPCP forcing
100    November 3, 2007. Cube 76 - same as cube77 but 1979-2006 integration
101    August 31, 2007.  Cube75 - the second blend.
102    August 9, 2007. Cube74
103    August 6, 2007. Cube73
104    July 24, 2007. Cube72
105    July 8, 2007. Cube66: SEAICE_MULTICATEGORY, SEAICE_VARIABLE_FREEZING_POINT,
106       rhonil=1027.5, [temp/salt]AdvScheme=7, convertFW2Salt=-1, LSR_ERROR=1e-6
107       useRealFreshWaterFlux=.TRUE., runoff_lat_inc=179*1, SEAICE_salinity=10
108       bathyFile=GEBCO_510x6x510_ver06_dig.bin, HeffFile=heff_file8
109       SEAICE_availHeatFrac=.5, useGMRedi=.TRUE.
110    April 24, 2007. Cube65: Bryan and Lewis 1979 diffusivity
111       (cube67, cube68, and cube69 were carried out with cube65 code)
112    April 7 , 2007. Cube64: era40_fullres forcing
113    
114  February 6, 2006: cube56, same as cube 50 with SEAICEuseFlooding  February 6, 2006: cube56, same as cube 50 with SEAICEuseFlooding
115    
116  February 1, 2006: back to cube50 default (bottomDragQuadratic = 0.002)  February 1, 2006: back to cube50 default (bottomDragQuadratic = 0.002)
# Line 55  for online T/S profile diagnostics all t Line 151  for online T/S profile diagnostics all t
151    profiles_inloop    profiles_inloop
152  see pkg/ecco/ecco_cost_init_fixed.F  see pkg/ecco/ecco_cost_init_fixed.F
153      pkg/ecco/cost_averagesfields.F      pkg/ecco/cost_averagesfields.F
   
 ##########################################################################  
 ##########################################################################  
 # Get forcing files, etc.  
 # Example below is for cube46 on /nobackup2a/menemenl  
   
 cd /nobackup2a/menemenl  
 mkdir cube47  
 cd cube47  
 ln -sf ../run_template .  
 ln -sf ../ncep_rgau .  
   
   
 ##########################################################################  
 ##########################################################################  
 # getting the code from anonymous CVS server  
   
   bash or sh shell:  
     $ export CVSROOT=':pserver:cvsanon@mitgcm.org:/u/gcmpack'  
     $ cvs login  
       ( enter the CVS password: "cvsanon" )  
   
   tcsh or csh shell:  
     $ setenv CVSROOT ':pserver:cvsanon@mitgcm.org:/u/gcmpack'  
     $ cvs login  
       ( enter the CVS password: "cvsanon" )  
   
 cvs co MITgcm_contrib/high_res_cube/README_ice  
 cvs co MITgcm_contrib/high_res_cube/code-mods  
 cvs co MITgcm_contrib/high_res_cube/input  
 cvs co MITgcm_contrib/high_res_cube/results  
 cvs co MITgcm_code  
 cvs co MITgcm/verification/global_ocean.cs32x15  
 cvs co MITgcm/verification/tutorial_held_suarez_cs/input  
   
   
 ##########################################################################  
 ##########################################################################  
 # 510*510*6*50, 216-cpu cube sphere on altix with ifort and pkg/diagnostics  
   
 cd MITgcm/verification/global_ocean.cs32x15/code  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s216t_85x85/* .  
 \cp SIZE.h_216 SIZE.h  
 \cp packages.conf_hr packages.conf  
   
 cd ../build  
 \rm *  
 ../../../tools/genmake2 -mods=../code -of ../code/linux_ia64_ifort+mpi_altix_nas  
 make depend  
 make -j  
   
 cd ..  
 mkdir run  
 cd run  
 \rm *  
 \cp ../input/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/input/* .  
 ln -sf ../../../../run_template/* .  
 \rm pickup* eedata.mth data.pkg data.seaice data.exf_clim data.exf data.mnc data pr*  
 \rm bathy_Hmin50.bin *192_94* *cs32* *.m lev* tren* job_c* job_altix150 job_altix92_54t  
 ln -sf ../../../../run_template/pickup.0000000216.cube49 pickup.0000000216  
 ln -sf  ../../../../run_template/pickup_seaice.0000000216.cube48 pickup_seaice.0000000216  
 \cp ../build/mitgcmuv .  
 qsub job_altix  
   
   
 ##########################################################################  
 ##########################################################################  
 # 32*32*6*15, 1-cpu cube sphere  
   
 cd MITgcm/verification/global_ocean.cs32x15/code  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .  
 \cp ../../../utils/exch2/code-mods/s12t_16x32/* .  
 \rm CPP_EEOPTIONS.h  
 cd ../build  
 \rm *  
 ../../../tools/genmake2 -mods=../code  
 make depend  
 make  
 cd ..  
 mkdir run  
 cd run  
 \rm *  
 \cp ../../tutorial_held_suarez_cs/input/grid* .  
 \cp ../input/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/input/* .  
 ../build/mitgcmuv >& output.txt  
   
 comparison output is in:  
 ../../../../MITgcm_contrib/high_res_cube/results/output.txt  
   
 to use matlab to look at the output  
 matlab  
   
 for fld={'SIuice','SIvice','SIheff','SIarea','oceQsw', ...  
          'surForcT','oceTAUX','oceTAUY','surForcS'}  
     tmp=permute(readbin([fld{1} '.0000000072.data'],[32,6,32]),[1 3 2]);  
     cx=[min(tmp(:)) max(tmp(:))]; clf, plot_cube, title(fld{1}), pause  
 end  
   
 heff=permute(readbin(['SIheff.0000000072.data'],[32,6,32]),[1 3 2]);  
 mask=0*heff; mask(find(heff>.001))=1;  
 uice=mask.*permute(readbin(['SIuice.0000000072.data'],[32,6,32]),[1 3 2]);  
 vice=mask.*permute(readbin(['SIvice.0000000072.data'],[32,6,32]),[1 3 2]);  
 clf  
 subplot(221), mypcolor(uice(:,:,3)'); colorbar, title('uice, tile 3')  
 subplot(222), mypcolor(uice(:,:,6)'); colorbar, title('uice, tile 6')  
 subplot(223), mypcolor(vice(:,:,3)'); colorbar, title('vice, tile 3')  
 subplot(224), mypcolor(vice(:,:,6)'); colorbar, title('vice, tile 6')  
   
   
 ##########################################################################  
 ##########################################################################  
 # 32*32*6*15, 17-tile, 1-cpu cube sphere experiment  
   
 cd MITgcm/verification/global_ocean.cs32x15/code  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .  
 \cp ../code_alt/code.176t_8x4/* .  
 cd ../build  
 \rm *  
 ../../../tools/genmake2 -mods=../code  
 make depend  
 make  
 cd ..  
 mkdir run  
 cd run  
 \rm *  
 \cp ../../tutorial_held_suarez_cs/input/grid* .  
 \cp ../input/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/input/* .  
 ../build/mitgcmuv >& output.txt  
   
   
 ##########################################################################  
 ##########################################################################  
 # 32*32*6*15, 2-cpu cube sphere on the altices with ifort  
   
 cd MITgcm/verification/global_ocean.cs32x15/code  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .  
 \cp ../../../utils/exch2/code-mods/s12t_16x32/* .  
 \cp SIZE.h_mpi SIZE.h  
   
 cd ../build  
 \rm *  
 ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_ifort+mpi_altix_nas  
 make depend  
 make -j  
   
 cd ..  
 mkdir run  
 cd run  
 \rm *  
 \cp ../../tutorial_held_suarez_cs/input/grid* .  
 \cp ../input/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/input/* .  
 mpirun -np 2 ../build/mitgcmuv  
   
   
 ##########################################################################  
 ##########################################################################  
 # 510*510*6*50, 54-tile, 54-cpu cube sphere on the altices with efc  
 # starting with pickup file from end of 1992  
 # requires input files in sudirectories run_template and ncep_rgau  
   
 cd MITgcm/verification/global_ocean.cs32x15/code  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s54t_170x170/* .  
 \cp packages.conf_hr packages.conf  
   
 cd ../build  
 \rm *  
 ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_efc+mpi_altix  
 make depend  
 make -j  
   
 cd ..  
 mkdir run  
 cd run  
 \rm *  
 \cp ../input/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/input/* .  
 qsub job_altix92_54t  
   
   
 ##########################################################################  
 ##########################################################################  
 # 510*510*6*50, 1500-tile, 150-cpu, excludes land  
 # uses s1500t_17x51 configuration  
   
 cd MITgcm/verification/global_ocean.cs32x15/code  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s1500t_17x51/* .  
 \cp SIZE.h_150 SIZE.h  
 \cp packages.conf_hr packages.conf  
   
 cd ../build  
 \rm *  
 ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_ifort+mpi_altix_nas  
 make depend  
 make -j  
   
 cd ..  
 mkdir run  
 cd run  
 \rm *  
 \cp ../input/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/input/* .  
 ln -sf ../../../../run_template/* .  
 \rm pickup*  
 ln -sf ../../../../run_template/pickup.0000316440.cube19 pickup.0000000216  
 ln -sf  ../../../../run_template/pickup_seaice.0000316440.cube19 pickup_seaice.0000000216  
 \cp ../build/mitgcmuv mitgcmuv150  
 qsub job_altix150  
   
   
 ##########################################################################  
 ##########################################################################  
 # 510*510*6*50, 1500-tile, 375-cpu, excludes land  
 # uses s1500t_17x51 configuration  
 # example for running on c17-c20 using arrayd  
   
 cd MITgcm/verification/global_ocean.cs32x15/code  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s1500t_17x51/* .  
 \cp SIZE.h_375 SIZE.h  
 \cp packages.conf_hr packages.conf  
   
 cd ../build  
 \rm *  
 ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_ifort+mpi_altix_nas  
 make depend  
 make -j  
   
 cd ..  
 mkdir run  
 cd run  
 \rm *  
 \cp ../input/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/input/* .  
 ln -sf ../../../../run_template/* .  
 \rm pickup*  
 ln -sf ../../../../run_template/pickup.0000316440.cube19 pickup.0000000216  
 ln -sf  ../../../../run_template/pickup_seaice.0000316440.cube19 pickup_seaice.0000000216  
 \cp ../build/mitgcmuv .  
 job_c20_375cpu < /dev/null >&! output.run &  
   
   
 ##########################################################################  
 ##########################################################################  
 # 510*510*6*50, 1500-tile, 375-cpu, excludes land  
 # uses s1500t_17x51 configuration  
 # example for running on c17-c20 using arrayd  
   
 cd MITgcm/verification/global_ocean.cs32x15/code  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s1500t_17x51/* .  
 \cp SIZE.h_375 SIZE.h  
 \cp packages.conf_hr packages.conf  
   
 cd ../build  
 \rm *  
 ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_ifort+mpi_altix_nas  
 make depend  
 make -j  
   
 cd ..  
 mkdir run  
 cd run  
 \rm *  
 \cp ../input/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/input/* .  
 ln -sf ../../../../run_template/* .  
 \rm pickup*  
 ln -sf ../../../../run_template/pickup.0000316440.cube19 pickup.0000000216  
 ln -sf  ../../../../run_template/pickup_seaice.0000316440.cube19 pickup_seaice.0000000216  
 \cp ../build/mitgcmuv .  
 job_c20_375cpu < /dev/null >&! output.run &  
   
   
 ##########################################################################  
 ##########################################################################  
 # 510*510*6*50, 1500-tile, 500-cpu, excludes land  
 # uses s1500t_17x51 configuration  
 # example for running on c17-c20 using arrayd  
   
 cd MITgcm/verification/global_ocean.cs32x15/code  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s1500t_17x51/* .  
 \cp SIZE.h_500 SIZE.h  
 \cp packages.conf_hr packages.conf  
   
 cd ../build  
 \rm *  
 ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_ifort+mpi_altix_nas  
 make depend  
 make -j  
   
 cd ..  
 mkdir run  
 cd run  
 \rm *  
 \cp ../input/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/input/* .  
 ln -sf ../../../../run_template/* .  
 \rm pickup*  
 ln -sf ../../../../run_template/pickup.0000316440.cube19 pickup.0000000216  
 ln -sf  ../../../../run_template/pickup_seaice.0000316440.cube19 pickup_seaice.0000000216  
 \cp ../build/mitgcmuv .  
 job_c19_500cpu < /dev/null >&! output.run &  
   
   
 ##########################################################################  
 ##########################################################################  
 # 510*510*6*50, 216-cpu cube sphere on cosmos  
   
 cd MITgcm/verification/global_ocean.cs32x15/code  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s216t_85x85/* .  
 \cp SIZE.h_216 SIZE.h  
 \cp packages.conf_hr packages.conf  
   
 module unload latest_intel80  
 module unload mpich-gm-intel80  
 module load latest_intel81  
 module load mpich-gm-intel81  
   
 cd ../build  
 \rm *  
 ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia32_ifort+mpi_cosmos  
 make depend  
 make -j  
   
 cd ..  
 mkdir run  
 cd run  
 \rm *  
 \cp ../input/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/input/* .  
 ln -sf ../../../../run_template/* .  
 \rm pickup*  
 ln -sf ../../../../run_template/pickup.0000316440.cube19 pickup.0000000216  
 ln -sf  ../../../../run_template/pickup_seaice.0000316440.cube19 pickup_seaice.0000000216  
 \cp ../build/mitgcmuv .  
 bsub < job_cosmos  
   
   
 ##########################################################################  
 ##########################################################################  
 # 510*510*6*50, 216-tile, 54-cpu cube sphere on the altices with efc  
 # requires input files in sudirectories run_template and ncep_rgau  
 # presently residing under orion:/tmp1/dmenem/cube  
   
 cd MITgcm/verification/global_ocean.cs32x15/code  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s216t_85x85/* .  
 \cp SIZE.h_54 SIZE.h  
 \cp packages.conf_hr packages.conf  
   
 cd ../build  
 \rm *  
 ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_efc+mpi_altix  
 make depend  
 make -j  
   
 cd ..  
 mkdir run  
 cd run  
 \rm *  
 \cp ../input/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/input/* .  
 qsub job_orion  
   
   
 ##########################################################################  
 ##########################################################################  
 # 510*510*6*50, 205-tile, 41-cpu cube sphere on the altices with efc  
 # requires input files in sudirectories run_template and ncep_rgau  
 # presently residing under orion:/tmp1/dmenem/cube  
   
 cd MITgcm/verification/global_ocean.cs32x15/code  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s205t_85x85/* .  
 \cp SIZE.h_41 SIZE.h  
 \cp packages.conf_hr packages.conf  
   
 cd ../build  
 \rm *  
 ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_efc+mpi_altix  
 make depend  
 make -j  
   
 cd ..  
 mkdir run  
 cd run  
 \rm *  
 \cp ../input/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/input/* .  
 qsub job_orion41  
   
   
 ##########################################################################  
 ##########################################################################  
 # 510*510*6*50, 1500-tile, 50-cpu cube sphere on the altices with efc  
 # requires input files in sudirectories run_template and ncep_rgau  
 # presently residing under orion:/tmp1/dmenem/cube  
   
 cd MITgcm/verification/global_ocean.cs32x15/code  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/code-mods/s1500t_17x51/* .  
 \cp SIZE.h_50 SIZE.h  
 \cp packages.conf_hr packages.conf  
   
 cd ../build  
 \rm *  
 ../../../tools/genmake2 -mods=../code -of ../../../tools/build_options/linux_ia64_efc+mpi_altix  
 make depend  
 make -j  
   
 cd ..  
 mkdir run  
 cd run  
 \rm *  
 \cp ../input/* .  
 \cp ../../../../MITgcm_contrib/high_res_cube/input/* .  
 qsub job_orion  

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.52

  ViewVC Help
Powered by ViewVC 1.1.22