Changeset 114 for trunk/mesoscale/PLOT
- Timestamp:
- Apr 22, 2011, 8:14:18 PM (14 years ago)
- Location:
- trunk/mesoscale/PLOT
- Files:
-
- 1 added
- 8 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/mesoscale/PLOT/MINIMAL/fsc/ps_start.pro
r85 r114 183 183 ; cmd = 'convert +antialias -density 300 ' + ps_struct.filename + ' -resize 25% ' + outfilename 184 184 ; cmd = 'convert -density 600 ' + ps_struct.filename + ' -resize 12% ' + outfilename 185 cmd = 'ps2epsi '+ps_struct.filename+' 2> /dev/null ; gs -sDEVICE=png16m -dTextAlphaBits=4 -sOutputFile='+outfilename+' -dNOPAUSE -dBATCH -dEPSCrop -r400x400 '+basename+'.epsi '185 cmd = 'ps2epsi '+ps_struct.filename+' 2> /dev/null ; gs -sDEVICE=png16m -dTextAlphaBits=4 -sOutputFile='+outfilename+' -dNOPAUSE -dBATCH -dEPSCrop -r400x400 '+basename+'.epsi > /dev/null 2> /dev/null' 186 186 SPAWN, cmd 187 187 ENDIF … … 224 224 225 225 ; Change any parameters you feel like changing. 226 !P.Charsize = 1.75 227 !P.Thick = 2 228 !X.Thick = 2 229 !Y.Thick = 2 226 ;;;;;;; AYMERIC 227 ; !P.Charsize = 1.75 228 ; !P.Thick = 2 229 ; !X.Thick = 2 230 ; !Y.Thick = 2 230 231 !Z.Thick = 2 231 232 !P.Symsize = 1.25 232 233 !P.Font = 1 234 235 ;;;;;;; AYMERIC 236 !P.Charsize = 1.2 237 !p.charthick = 2.0 238 !p.thick = 2.0 239 !x.thick = 2.0 240 !y.thick = 2.0 241 242 233 243 Device, Set_Font='Helvetica', /TT_FONT 234 244 -
trunk/mesoscale/PLOT/MINIMAL/map_latlon.pro
r91 r114 219 219 loadct,pal,/silent 220 220 ;reverse_ct 221 ;if (pal eq 0) then reverse_ct221 if (pal eq 0) then reverse_ct 222 222 contour, what_I_plot, $ 223 223 lon,lat, $ -
trunk/mesoscale/PLOT/MINIMAL/profile.pro
r85 r114 55 55 56 56 if (n_elements(column) eq 0) then column=findgen(n_elements(what_I_plot)) 57 if (n_elements(mention) eq 0) then mention='' else mention='('+mention+')' 57 if (n_elements(mention) eq 0) then mention='' 58 if (mention ne '') then mention='('+mention+')' 58 59 59 60 ;------------------ … … 124 125 ytitle=ytitle,$ 125 126 title=title_user,$ 126 ;/ylog 127 ;/ylog, $ 127 128 subtitle=mention 128 129 -
trunk/mesoscale/PLOT/SPEC/GW/gravitwave2.pro
r85 r114 2 2 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 3 3 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 4 file='../EN_COURS/gw/ok_hires_wrfout_d01_9999-09-09_09:00:00_z' 5 file='../EN_COURS/gw/_wrfout_d01_9999-09-09_09:00:00_z' 6 file='../LMD_MM_MARS/TESTGW/_wrfout_d01_9999-09-09_09:00:00_z' 7 ;file='../LMD_MM_MARS/TESTGW/wind15_wrfout_d01_9999-09-09_09:00:00_z' 8 file='../TESTGW/wind20c_wrfout_d01_9999-09-09_09:00:00_z' 4 ;;;; KEEP REFERENCES of FIRST PLOTS 5 ;file='../EN_COURS/gw/ok_hires_wrfout_d01_9999-09-09_09:00:00_z' 6 ;file='../EN_COURS/gw/_wrfout_d01_9999-09-09_09:00:00_z' 7 ;file='../LMD_MM_MARS/TESTGW/_wrfout_d01_9999-09-09_09:00:00_z' 8 ;;file='../LMD_MM_MARS/TESTGW/wind15_wrfout_d01_9999-09-09_09:00:00_z' 9 ;file='../TESTGW/wind20c_wrfout_d01_9999-09-09_09:00:00_z' 10 folder='/d5/aslmd/GRAVITWAVE/GW_MARS_highwind_3D.157077/' 11 folder='/d5/aslmd/GRAVITWAVE/GW_MARS_highwind_narrowmountain_2D.156878/' 12 ;folder='/d5/aslmd/GRAVITWAVE/GW_MARS_highwind_narrowmountain_3D.157025/' 13 folder='/d5/aslmd/GRAVITWAVE/GW_MARS_highwind_narrowmountain_2D.morepoints.160818/' 14 folder='/d5/aslmd/GRAVITWAVE/GW_MARS_highwind_3D_loweropacity_morepoints_LT15.161544/' 15 file=folder+'wrfout_d01_9999-09-09_09:00:00_z' 9 16 charvar='W' & charvarc='W' 10 ;charvar='tk' & charvarc='W'11 charvar='tk' & charvarc='W' & cond=117 charvar='tk' & charvarc='W' 18 ;charvar='tk' & charvarc='W' & cond=1 12 19 charvar='tk' & charvarc='tk' & cond=1 13 ; charvar='tpot' & charvarc='tpot'20 ;;charvar='tpot' & charvarc='tpot' 14 21 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 15 22 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; … … 41 48 ; 42 49 ; 43 for nt=1,15 do begin 50 ;for nt=4,10 do begin 51 ;for nt=27,27 do begin 52 for nt=1,40 do begin 44 53 zefile='gravitwave_'+charvar+'_'+charvarc+'_'+string(nt+100,'(I0)') 45 54 if (n_elements(cond) ne 0) then zefile = 'cond_' + zefile … … 57 66 ; 58 67 ; 59 what_I_plot = reform(invar(*,1,*,nt)) 60 overcontour = reform(invarc(*,1,*,nt)) 68 s = size(invar) & middle = floor(s[2]/2) & print, 'PLOT at y subs ', middle 69 what_I_plot = reform(invar(*,middle,*,nt)) 70 overcontour = reform(invarc(*,middle,*,nt)) 61 71 if (n_elements(cond) ne 0) then begin 62 72 column = columnp 63 73 ;column = reform(columnp(*,1,*,1)) 64 74 @tempcond.inc 65 yeye = reform(overplot(*, 1,*,nt))75 yeye = reform(overplot(*,middle,*,nt)) 66 76 w = where(yeye le 0.) & yeye[w] = 0. 67 77 if (charvar eq 'tk') then what_I_plot = what_I_plot - yeye 68 if (charvarc eq 'tk') then overcontour = overcontour - yeye 78 if (charvarc eq 'tk') then overcontour = overcontour - yeye 69 79 endif 70 80 xx = findgen(n_elements(what_I_plot(*,0))) 71 81 zz = vert / 1000. 72 82 73 w = where(what_I_plot lt 0.)74 w = where(what_I_plot lt -1.)75 w = where(what_I_plot lt -3.)76 if (w(0) ne -1) then begin77 for i=0,n_elements(w)-1 do begin78 ind = ARRAY_INDICES(what_I_plot, w(i))79 print, 'x '+string(ind(0),'(I0)')+' z '+string(zz(ind(1)),'(I0)')+' t '+string(nt*925./3700.,'(F4.1)'), what_I_plot(ind[0],ind[1])80 endfor81 endif83 ;w = where(what_I_plot lt 0.) 84 w = where(what_I_plot lt -1.) 85 ;w = where(what_I_plot lt -3.) 86 if (w(0) ne -1) then begin 87 for i=0,n_elements(w)-1 do begin 88 ind = ARRAY_INDICES(what_I_plot, w(i)) 89 print, 'x '+string(ind(0),'(I0)')+' z '+string(zz(ind(1)),'(I0)')+' t '+string(nt*925./3700.,'(F4.1)'), what_I_plot(ind[0],ind[1]) 90 endfor 91 endif 82 92 ; 83 93 ; … … 100 110 ; 101 111 PS_End, /PNG 112 SPAWN, 'mv '+zefile+'.png '+folder+' ; \rm '+zefile+'.*ps*' 102 113 endfor 103 114 end -
trunk/mesoscale/PLOT/SPEC/GW/gravitwave_inc.pro
r85 r114 9 9 title_user = 'Vertical velocity (m s!U-1!N)' 10 10 ;;;;;;;; tk 11 ;minfield_init = 110. 12 ;maxfield_init = 210. 13 ;format = '(I0)' 14 ;pal = 33 15 ;title_user = 'Temperature (K)' 16 ;;;;;;;; tk - tsat 17 minfield_init = -20.;-4. 18 maxfield_init = -10. 11 minfield_init = 110. 12 maxfield_init = 210. 13 format = '(I0)' 14 pal = 33 15 title_user = 'Temperature (K)' 16 ;;;;;;; tk - tsat 17 minfield_init = -4. ;-8. 18 maxfield_init = 4. ;+8. 19 ndiv = 8 19 20 format = '(F4.1)' 20 21 pal = 0 … … 31 32 intervalx = 5. 32 33 intervaly = 5. 34 windowy = [0.,130.] 35 windowx = [10., 110.] 36 intervalx = 10. 37 intervaly = 10. 33 38 title_axis = ['horizontal coordinate (x5km)','altitude (km)'] 34 39 poscb=0.55 -
trunk/mesoscale/PLOT/SPEC/GW/gravitwaveprof.pro
r85 r114 7 7 8 8 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 9 path='../TESTGW/' 10 path='/tmp7/aslmd/' 11 experiment='mcd_lt16_rcpcst' 12 ;experiment='mcd_lt16' 13 ;experiment='short_mcd_lt16_rcpcst' 14 ;experiment='short_mcd_lt16' 15 ;experiment='short_mcd_lt16_calcprho' 16 ;experiment='mcd_lt16_calcprho' 17 ;experiment='short_mcd_lt16_calcprho_tot' 18 ;experiment='colder_gcm_add_short' 19 ;experiment='colder_gcm_add' 20 experiment='' 21 ;experiment='wind15' 22 ;experiment='wind20c' 23 ;experiment='colder_gcm_add_3.9_fine_rad_mountain' 24 experiment='test' 25 file=path+experiment+'_wrfout_d01_9999-09-09_09:00:00_z' 9 path='../TESTGW/' 10 path='/tmp7/aslmd/' 11 path='/d5/aslmd/GRAVITWAVE/' 12 experiment='mcd_lt16_rcpcst' 13 ;experiment='mcd_lt16' 14 ;experiment='short_mcd_lt16_rcpcst' 15 ;experiment='short_mcd_lt16' 16 ;experiment='short_mcd_lt16_calcprho' 17 ;experiment='mcd_lt16_calcprho' 18 ;experiment='short_mcd_lt16_calcprho_tot' 19 ;experiment='colder_gcm_add_short' 20 ;experiment='colder_gcm_add' 21 experiment='' 22 ;experiment='wind15' 23 ;experiment='wind20c' 24 ;experiment='colder_gcm_add_3.9_fine_rad_mountain' 25 experiment='test' 26 experiment='GW_MARS_highwind_3D.157077' 27 experiment='GW_MARS_highwind_3D_lower_opacity.161436' 28 experiment='GW_MARS_highwind_3D_loweropacity_lotspoints.161468' 29 experiment='GW_MARS_highwind_3D_loweropacity_morepoints.161542' 30 experiment='GW_MARS_highwind_3D_loweropacity_morepoints_LT15.161544' 31 file=path+experiment+'_wrfout_d01_9999-09-09_09:00:00_z' 32 file=path+experiment+'/wrfout_d01_9999-09-09_09:00:00_z' 33 ;file=path+experiment+'/wrfout_d01_9999-09-09_10:00:00_z' 34 ;file=path+experiment+'/wrfout_d01_9999-09-09_11:00:00_z' 26 35 charvar='W' & charvarc='W' 27 36 charvar='tk' & charvarc='W' … … 43 52 nts=1 & nte=9 & nxs=59 & nxe=59 44 53 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 54 nts=1 & nte=10 & nxs=50 & nxe=50 55 ;nts=1 & nte=1 & nxs=6 & nxe=6 56 nts=1 & nte=100 & nxs=50 & nxe=50 57 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 45 58 ; 46 59 ; … … 55 68 charvar=charvar, $ 56 69 invar=invar 57 getcdf, $58 file=file, $59 charvar=charvarc, $60 invar=invarc70 ;getcdf, $ 71 ; file=file, $ 72 ; charvar=charvarc, $ 73 ; invar=invarc 61 74 getcdf, $ 62 75 file=file, $ … … 67 80 charvar='PTOT', $ 68 81 invar=columnp 69 ; 70 ; 71 ; 82 ;; 83 ;; 84 ;; 85 s = size(invar) & middle = floor(s[2]/2) & print, 'PLOT at y subs ', middle 86 nte = min(s[4]-1,nte) & print, 'nte ', nte 87 mean_invar = TOTAL(invar(*,*,*,nts:nte),4) / float(nte-nts+1) 88 ;mean_columnp = TOTAL(columnp(*,*,*,nts:nte),4) / float(nte-nts+1) 89 anomal_invar = invar & for i=0,s[4]-1 do anomal_invar(*,*,*,i) = anomal_invar(*,*,*,i) - mean_invar 90 ; 91 ; 92 ; 93 ;goto, perturb 72 94 for nt=nts,nte do begin 73 95 for nx=nxs,nxe do begin … … 87 109 ; 88 110 ; 89 ;what_I_plot = reform(invar(*,1,*,nt)) 90 what_I_plot = reform(invar(*,59,*,nt)) 111 ;;what_I_plot = reform(invar(*,1,*,nt)) 112 ;what_I_plot = reform(invar(*,59,*,nt)) 113 what_I_plot = reform(invar(*,middle,*,nt)) 91 114 92 115 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; … … 112 135 endif else begin 113 136 what_I_plot = TOTAL(what_I_plot,1) / n_elements(reform(what_I_plot(*,0))) 114 endelse 137 endelse 138 115 139 ;;;;;;;;;;; 116 140 ;;;;;;;;;;; … … 121 145 alt = [40.,100.] 122 146 alt = [40.,80.] 123 ;hache = 8. 124 ;column = -hache*alog(reform(columnp(nx,1,*,nt))/610.) 125 ;overplot_column = -hache*alog(pressure/610.) 126 ;column = reform(columnp(nx,1,*,nt)) 147 alt = [0.,120.] 148 ;;;;;;;;;;; 149 ;;;;;;;;;;; 150 ;mention = '' 151 SPAWN, '\rm param_plot.idl' 152 minfield_init = 85. ;100. 153 maxfield_init = 185. ;250. 154 title_axis = ['Temperature (K)','Altitude (km)'] 155 overplot = mcd_tpot 156 ;;;;;;;;;;; 157 SPAWN, "echo 'intervaly=10.' >> param_plot.idl" 158 SPAWN, "echo 'intervalx=5.' >> param_plot.idl" 159 ;;;;;;;;;;; 160 161 ;overplot = reform(mean_invar(nx,middle,*)) 162 ;overplot_column = column 163 164 ;;;;;;;;;;;;;;;;;;;;;;;;;;;; PLOT PRESSION mettre profile en log 165 ;column = reform(columnp(nx,middle,*,nt)) 127 166 ;overplot_column = pressure 167 ; ;;overplot = mean_invar 168 ; ;;overplot_column = mean_columnp 128 169 ;alt = [1.e2,1.e-3] 129 ;;;; mettre profile en log130 ;;;;;;;;;;;131 ;;;;;;;;;;;132 mention = ''133 SPAWN, '\rm param_plot.idl'134 minfield_init = 80. ;100.135 maxfield_init = 190. ;250.136 title_axis = ['Temperature (K)','Altitude (km)']137 170 ;title_axis = ['Temperature (K)','Pressure (Pa)'] 138 overplot = mcd_tpot 139 ;;;;;;;;;;; 140 171 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; PLOT PRESSION 172 173 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 141 174 ;; calculer la CAPE ? Tsat - Tenv / Tenv 142 175 … … 169 202 mention=mention ; add text precision within the plot window (default is nothing or '') 170 203 171 ;;; sponge layer172 ;w=where(FINITE(overplot) ne 0)173 ;oplot, [minfield_init,maxfield_init], [max(overplot_column[w])-50.,max(overplot_column[w])-50.], linestyle=1174 175 ;column = columnp176 ;@tempcond.inc177 ;yeye = reform(overplot(nx,1,*,nt))178 ;;w = where(yeye le 0.) & yeye[w] = !VALUES.F_NAN179 ;;oplot, yeye, vert/1000., linestyle=1204 ;;; sponge layer 205 ;w=where(FINITE(overplot) ne 0) 206 ;oplot, [minfield_init,maxfield_init], [max(overplot_column[w])-50.,max(overplot_column[w])-50.], linestyle=1 207 208 ;column = columnp 209 ;@tempcond.inc 210 ;yeye = reform(overplot(nx,1,*,nt)) 211 ;;w = where(yeye le 0.) & yeye[w] = !VALUES.F_NAN 212 ;;oplot, yeye, vert/1000., linestyle=1 180 213 181 214 @tempcond.inc 182 overplot = reform(overplot(nx, 1,*,nt))215 overplot = reform(overplot(nx,middle,*,nt)) 183 216 oplot, overplot, overplot_column, linestyle=1 184 217 185 ;calc_tk = calc_tpot * (pressure/610.)^(1/4.4)186 ;oplot, calc_tk, column, linestyle=3218 ;calc_tk = calc_tpot * (pressure/610.)^(1/4.4) 219 ;oplot, calc_tk, column, linestyle=3 187 220 188 221 PS_End, /PNG 189 222 endfor 190 223 endfor 224 225 perturb: 226 PS_Start, filename=experiment+'_'+charvar+'_perturb_'+string(nxs+100,'(I0)')+'.ps' 227 228 what_I_plot_loop = reform(anomal_invar(nxs,middle,*,*)) 229 230 what_I_plot = reform(what_I_plot_loop(*,nts)) 231 column = vert/1000. 232 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 233 alt = [0.,120.] 234 minfield_init = -30. 235 maxfield_init = 30. 236 title_axis = ['Temperature anomaly (K)','Altitude (km)'] 237 ;; peut pas changer 238 ;SPAWN, "echo 'intervaly=10.' >> param_plot.idl" 239 ;SPAWN, "echo 'intervalx=5.' >> param_plot.idl" 240 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 241 profile, $ 242 what_I_plot, $ ; 1D vertical profile 243 column, $ ; altitudes 244 alt=alt, $ ; altitude range [altmin, altmax] 245 minfield=minfield_init, $ ; minimum value of plotted field (=0: calculate) 246 maxfield=maxfield_init, $ ; maximum value of plotted field (=0: calculate) 247 inprofile=overplot, $ ; another vertical profile to overplot 248 incolumn=overplot_column, $ ; altitudes of the other vertical profile (in case /= column) 249 ; discrete=discrete, $ ; show the profile points (= type of points in !psym) 250 ; title_plot=title_user, $ ; title of the plot ('Profile' is default) 251 title_axis=title_axis, $ ; title of the [x,y] axis (['Field','Altitude'] is default) 252 mention=mention ; add text precision within the plot window (default is nothing or '') 253 254 for iii=nts+1, nte do begin 255 overplot = reform(what_I_plot_loop(*,iii)) 256 overplot_column = column 257 oplot, overplot, overplot_column 258 endfor 259 PS_End, /PNG 260 191 261 end -
trunk/mesoscale/PLOT/SPEC/SERIES/mawd.pro
r112 r114 2 2 3 3 ;;;;;;; 4 ;f_user='/donnees/aslmd/SVN/trunk/mesoscale/TMPDIR/GCMINI/mawd.nc' 5 ;f_user='/tmp7/aslmd/mawd.nc' 6 f_user='/d5/aslmd/mawd.nc' 4 experiment='a035' 5 ;experiment='a040' 6 ;experiment='a045' 7 ;;f_user='/donnees/aslmd/SVN/trunk/mesoscale/TMPDIR/GCMINI/mawd.nc' 8 ;;f_user='/tmp7/aslmd/mawd.nc' 9 f_user='/d5/aslmd/WATERCYCLE/mawd_'+experiment+'.nc' 7 10 v_user = 'mtot' 8 11 x_user = 'Time' … … 26 29 SPAWN, '\rm param_plot.idl ; cp mawd_inc.pro param_plot.idl' 27 30 28 PS_START, file='mawd .ps'29 !P.Charsize = 1.230 !p.charthick = 2.031 !p.thick = 2.032 !x.thick = 2.033 !y.thick = 2.031 PS_START, file='mawd_'+experiment+'.ps' 32 ; !P.Charsize = 1.2 33 ; !p.charthick = 2.0 34 ; !p.thick = 2.0 35 ; !x.thick = 2.0 36 ; !y.thick = 2.0 34 37 35 38 cdfid = ncdf_open(f_user) … … 41 44 ncdf_varget, cdfid, varid, yy 42 45 46 varid=ncdf_varid(cdfid,x_user) 47 ncdf_varget, cdfid, varid, xx 48 43 49 if (tes eq 'no') then begin 44 50 ;;; en precip-microns 45 51 champ = champ * 1.e6 / 917. 46 ;;; prendre Time depuis un autre fichier47 cdfid = ncdf_open('/d5/aslmd/gcm_LT14_a035.nc')48 varid=ncdf_varid(cdfid,x_user)49 ncdf_varget, cdfid, varid, xx50 52 ;;;; entre 0 et 360 51 53 ;xx = xx MOD 360 54 xx = xx - 360.*3. 52 55 endif else begin 53 varid=ncdf_varid(cdfid,x_user)54 ncdf_varget, cdfid, varid, xx55 56 xx = xx - 360.*2. 56 57 endelse … … 76 77 endif 77 78 79 what_I_plot = smooth(what_I_plot,[10,1]) 80 78 81 map_latlon, $ 79 82 what_I_plot, $ ; 2D field -
trunk/mesoscale/PLOT/SPEC/SERIES/mawd_inc.pro
r112 r114 8 8 format = '(I0)' 9 9 colors = 32 10 pal = 22;4;33 ;; GOOD: 4, 18, 22, 16, 37, 33, 39, 6, 1110 pal = 33;22;4;33 ;; GOOD: 4, 18, 22, 16, 37, 33, 39, 6, 11 11 11 12 12 ;;;;;*************************************** FILL LIMITS 13 13 minfield_init = 0. 14 maxfield_init = 65.15 ndiv = 1 314 maxfield_init = 100. ;120. ;65. 15 ndiv = 10 ;12 ;13 16 16 17 17 ;;;;;*************************************** LIMIT TRICKS … … 20 20 lim_max = maxfield_init & w=where((what_I_plot ge lim_max) and (what_I_plot le 1e9)) & if (w[0] ne -1) then what_I_plot[w]=lim_max 21 21 lim_min = minfield_init & w=where(what_I_plot le lim_min) & if (w[0] ne -1) then what_I_plot[w]=lim_min 22 ;lim_blank = 0.1& w=where(abs(what_I_plot) le lim_blank) & if (w[0] ne -1) then what_I_plot[w]=missing_value22 lim_blank = 1.0 & w=where(abs(what_I_plot) le lim_blank) & if (w[0] ne -1) then what_I_plot[w]=missing_value 23 23 24 24 ;;;;;*************************************** CONTOUR … … 38 38 ;;;;; MULTIYEAR 39 39 isotropic = 'false' 40 windowx = [ 1500.,4000.]41 intervalx = 500.040 windowx = [0.,2880.] ;[0.,3600.] ;[1500.,4000.] 41 intervalx = 360.0 42 42 windowy = [-90.,90.] 43 43 intervaly = 30.0 44 lev = [ 100.]44 lev = [600.] ;[100.]
Note: See TracChangeset
for help on using the changeset viewer.