/[MITgcm]/manual/s_examples/baroclinic_gyre/fourlayer.tex
ViewVC logotype

Diff of /manual/s_examples/baroclinic_gyre/fourlayer.tex

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

revision 1.7 by cnh, Thu Oct 25 01:15:16 2001 UTC revision 1.8 by cnh, Thu Oct 25 12:06:56 2001 UTC
# Line 67  In contrast to the example in section \r Line 67  In contrast to the example in section \r
67  current experiment simulates a spherical polar domain. As indicated  current experiment simulates a spherical polar domain. As indicated
68  by the axes in the lower left of the figure the model code works internally  by the axes in the lower left of the figure the model code works internally
69  in a locally orthoganal coordinate $(x,y,z)$. For this experiment description  in a locally orthoganal coordinate $(x,y,z)$. For this experiment description
70  of this document the local orthogonal model coordinate $(x,y,z)$ is synonomous  the local orthogonal model coordinate $(x,y,z)$ is synonomous
71  with the spherical polar coordinate shown in figure  with the coordinates $(\lambda,\varphi,r)$ shown in figure
72  \ref{fig:spherical-polar-coord}  \ref{fig:spherical-polar-coord}
73  \\  \\
74    
# Line 118  The vertical spacing, $\Delta z$, is con Line 118  The vertical spacing, $\Delta z$, is con
118  \end{figure}  \end{figure}
119    
120  \subsection{Equations solved}  \subsection{Equations solved}
121    For this problem
122  The implicit free surface {\bf HPE} form of the  the implicit free surface, {\bf HPE} (see section \ref{sec:hydrostatic_and_quasi-hydrostatic_forms}) form of the
123  equations described in Marshall et. al \cite{Marshall97a} is  equations described in Marshall et. al \cite{Marshall97a} are
124  employed. The flow is three-dimensional with just temperature, $\theta$, as  employed. The flow is three-dimensional with just temperature, $\theta$, as
125  an active tracer.  The equation of state is linear.  an active tracer.  The equation of state is linear.
126  A horizontal laplacian operator $\nabla_{h}^2$ provides viscous  A horizontal laplacian operator $\nabla_{h}^2$ provides viscous
# Line 185  due to variations in sea-surface height, Line 185  due to variations in sea-surface height,
185  part due to variations in density, $\rho^{\prime}$, integrated  part due to variations in density, $\rho^{\prime}$, integrated
186  through the water column.  through the water column.
187    
188  The suffices ${s},{i}$ indicate surface and interior of the domain.  The suffices ${s},{i}$ indicate surface layer and the interior of the domain.
189  The windstress forcing, ${\cal F}_{\lambda}$, is applied in the surface layer  The windstress forcing, ${\cal F}_{\lambda}$, is applied in the surface layer
190  by a source term in the zonal momentum equation. In the ocean interior  by a source term in the zonal momentum equation. In the ocean interior
191  this term is zero.  this term is zero.
# Line 248  $\theta$, (equation \ref{eq:eg_fourl_the Line 248  $\theta$, (equation \ref{eq:eg_fourl_the
248  is evaluated prognostically. The centered second-order scheme with  is evaluated prognostically. The centered second-order scheme with
249  Adams-Bashforth time stepping described in section  Adams-Bashforth time stepping described in section
250  \ref{sec:tracer_equations_abII} is used to step forward the temperature  \ref{sec:tracer_equations_abII} is used to step forward the temperature
251  equation. The pressure forces that drive the fluid motions, (  equation. Prognostic terms in
252    the momentum equations are solved using flux form as
253    described in section \ref{sec:flux-form_momentum_eqautions}.
254    The pressure forces that drive the fluid motions, (
255  $\frac{\partial p^{'}}{\partial \lambda}$ and $\frac{\partial p^{'}}{\partial \varphi}$), are found by summing pressure due to surface  $\frac{\partial p^{'}}{\partial \lambda}$ and $\frac{\partial p^{'}}{\partial \varphi}$), are found by summing pressure due to surface
256  elevation $\eta$ and the hydrostatic pressure. The hydrostatic part of the  elevation $\eta$ and the hydrostatic pressure. The hydrostatic part of the
257  pressure is evaluated explicitly by integrating density. The sea-surface  pressure is diagnosed explicitly by integrating density. The sea-surface
258  height, $\eta$, is solved for implicitly as described in section  height, $\eta$, is diagnosed using an implicit scheme. The pressure
259  \ref{sect:pressure-method-linear-backward}.  field solution method is described in sections
260    \ref{sect:pressure-method-linear-backward} and
261    \ref{sec:finding_the_pressure_field}.
262    
263  \subsubsection{Numerical Stability Criteria}  \subsubsection{Numerical Stability Criteria}
264    
265  The laplacian dissipation coefficient, $A_{h}$, is set to $400 m s^{-1}$.  The laplacian viscosity coefficient, $A_{h}$, is set to $400 m s^{-1}$.
266  This value is chosen to yield a Munk layer width \cite{Adcroft_thesis},  This value is chosen to yield a Munk layer width,
267    
268  \begin{eqnarray}  \begin{eqnarray}
269  \label{EQ:munk_layer}  \label{EQ:munk_layer}
# Line 266  M_{w} = \pi ( \frac { A_{h} }{ \beta } ) Line 271  M_{w} = \pi ( \frac { A_{h} }{ \beta } )
271  \end{eqnarray}  \end{eqnarray}
272    
273  \noindent  of $\approx 100$km. This is greater than the model  \noindent  of $\approx 100$km. This is greater than the model
274  resolution in mid-latitudes $\Delta x$, ensuring that the frictional  resolution in mid-latitudes
275    $\Delta x=r \cos(\varphi) \Delta \lambda \approx 80~{\rm km}$ at
276    $\varphi=45^{\circ}$, ensuring that the frictional
277  boundary layer is well resolved.  boundary layer is well resolved.
278  \\  \\
279    
280  \noindent The model is stepped forward with a  \noindent The model is stepped forward with a
281  time step $\delta t=1200$secs. With this time step the stability  time step $\delta t=1200$secs. With this time step the stability
282  parameter to the horizontal laplacian friction \cite{Adcroft_thesis}  parameter to the horizontal laplacian friction
283    
284  \begin{eqnarray}  \begin{eqnarray}
285  \label{EQ:laplacian_stability}  \label{EQ:laplacian_stability}
# Line 280  S_{l} = 4 \frac{A_{h} \delta t}{{\Delta Line 287  S_{l} = 4 \frac{A_{h} \delta t}{{\Delta
287  \end{eqnarray}  \end{eqnarray}
288    
289  \noindent evaluates to 0.012, which is well below the 0.3 upper limit  \noindent evaluates to 0.012, which is well below the 0.3 upper limit
290  for stability.  for stability for this term under ABII time-stepping.
291  \\  \\
292    
293  \noindent The vertical dissipation coefficient, $A_{z}$, is set to  \noindent The vertical dissipation coefficient, $A_{z}$, is set to
# Line 298  and vertical ($K_{z}$) diffusion coeffic Line 305  and vertical ($K_{z}$) diffusion coeffic
305  \\  \\
306    
307  \noindent The numerical stability for inertial oscillations  \noindent The numerical stability for inertial oscillations
 \cite{Adcroft_thesis}  
308    
309  \begin{eqnarray}  \begin{eqnarray}
310  \label{EQ:inertial_stability}  \label{EQ:inertial_stability}
# Line 309  S_{i} = f^{2} {\delta t}^2 Line 315  S_{i} = f^{2} {\delta t}^2
315  limit for stability.  limit for stability.
316  \\  \\
317    
318  \noindent The advective CFL \cite{Adcroft_thesis} for a extreme maximum  \noindent The advective CFL for a extreme maximum
319  horizontal flow  horizontal flow
320  speed of $ | \vec{u} | = 2 ms^{-1}$  speed of $ | \vec{u} | = 2 ms^{-1}$
321    
322  \begin{eqnarray}  \begin{eqnarray}
323  \label{EQ:cfl_stability}  \label{EQ:cfl_stability}
324  S_{a} = \frac{| \vec{u} | \delta t}{ \Delta x}  C_{a} = \frac{| \vec{u} | \delta t}{ \Delta x}
325  \end{eqnarray}  \end{eqnarray}
326    
327  \noindent evaluates to $5 \times 10^{-2}$. This is well below the stability  \noindent evaluates to $5 \times 10^{-2}$. This is well below the stability
328  limit of 0.5.  limit of 0.5.
329  \\  \\
330    
331  \noindent The stability parameter for internal gravity waves  \noindent The stability parameter for internal gravity waves
332  \cite{Adcroft_thesis}  propogating at $2~{\rm m}~{\rm s}^{-1}$
333    
334  \begin{eqnarray}  \begin{eqnarray}
335  \label{EQ:igw_stability}  \label{EQ:igw_stability}
336  S_{c} = \frac{c_{g} \delta t}{ \Delta x}  S_{c} = \frac{c_{g} \delta t}{ \Delta x}
337  \end{eqnarray}  \end{eqnarray}
338    
339  \noindent evaluates to $5 \times 10^{-2}$. This is well below the linear  \noindent evaluates to $\approx 5 \times 10^{-2}$. This is well below the linear
340  stability limit of 0.25.  stability limit of 0.25.
341        
342  \subsection{Code Configuration}  \subsection{Code Configuration}
343  \label{SEC:eg_fourl_code_config}  \label{SEC:eg_fourl_code_config}
344    
345  The model configuration for this experiment resides under the  The model configuration for this experiment resides under the
346  directory {\it verification/exp1/}.  The experiment files  directory {\it verification/exp2/}.  The experiment files
347  \begin{itemize}  \begin{itemize}
348  \item {\it input/data}  \item {\it input/data}
349  \item {\it input/data.pkg}  \item {\it input/data.pkg}
# Line 432  and is copied into model general vertica Line 438  and is copied into model general vertica
438  \begin{rawhtml} <A href=../../../code_reference/vdb/names/PF.htm> \end{rawhtml}  \begin{rawhtml} <A href=../../../code_reference/vdb/names/PF.htm> \end{rawhtml}
439  viscAr  viscAr
440  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
441  }.  }. At each time step, the viscous term contribution to the momentum eqautions
442    is calculated in routine
443    {\it S/R CALC\_DIFFUSIVITY}.
444    
445  \fbox{  \fbox{
446  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 463  is read in the routine Line 471  is read in the routine
471  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}
472  INI\_PARMS  INI\_PARMS
473  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
474  }.  } and applied in routines {\it CALC\_MOM\_RHS} and {\it CALC\_GW}.
475    
476  \fbox{  \fbox{
477  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 506  is read in the routine Line 514  is read in the routine
514  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}
515  INI\_PARMS  INI\_PARMS
516  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
517  }.  } and the boundary condition is evaluated in routine
518    {\it S/R CALC\_MOM\_RHS}.
519    
520    
521  \fbox{  \fbox{
# Line 538  is read in the routine Line 547  is read in the routine
547  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}
548  INI\_PARMS  INI\_PARMS
549  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
550  }.  } and is applied in the routine {\it S/R CALC\_MOM\_RHS}.
551    
552  \fbox{  \fbox{
553  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 570  is read in the routine Line 579  is read in the routine
579  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}
580  INI\_PARMS  INI\_PARMS
581  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
582  }.  } and used in routine {\it S/R CALC\_GT}.
583    
584  \fbox{ \begin{minipage}{5.0in}  \fbox{ \begin{minipage}{5.0in}
585  {\it S/R CALC\_GT}({\it calc\_gt.F})  {\it S/R CALC\_GT}({\it calc\_gt.F})
# Line 606  It is copied into model general vertical Line 615  It is copied into model general vertical
615  \begin{rawhtml} <A href=../../../code_reference/vdb/names/PD.htm> \end{rawhtml}  \begin{rawhtml} <A href=../../../code_reference/vdb/names/PD.htm> \end{rawhtml}
616  diffKrT  diffKrT
617  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
618  }.  } which is used in routine {\it S/R CALC\_DIFFUSIVITY}.
619    
620  \fbox{ \begin{minipage}{5.0in}  \fbox{ \begin{minipage}{5.0in}
621  {\it S/R CALC\_DIFFUSIVITY}({\it calc\_diffusivity.F})  {\it S/R CALC\_DIFFUSIVITY}({\it calc\_diffusivity.F})
# Line 637  is read in the routine Line 646  is read in the routine
646  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}
647  INI\_PARMS  INI\_PARMS
648  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
649  }.  }. The routine {\it S/R FIND\_RHO} makes use of {\bf tAlpha}.
650    
651  \fbox{  \fbox{
652  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 666  is read in the routine Line 675  is read in the routine
675  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}
676  INI\_PARMS  INI\_PARMS
677  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
678  }.  }. The values of {\bf eosType} sets which formula in routine
679    {\it FIND\_RHO} is used to calculate density.
680    
681  \fbox{  \fbox{
682  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 701  is read in the routine Line 711  is read in the routine
711  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}
712  INI\_PARMS  INI\_PARMS
713  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
714  }.  }. When set to {\bf .TRUE.} the settings of {\bf delX} and {\bf delY} are
715    taken to be in degrees. These values are used in the
716    routine {\it INI\_SPEHRICAL\_POLAR\_GRID}.
717    
718  \fbox{  \fbox{
719  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 736  is read in the routine Line 748  is read in the routine
748  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}
749  INI\_PARMS  INI\_PARMS
750  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
751  }.  } and is used in routine {\it INI\_SPEHRICAL\_POLAR\_GRID}.
752    
753  \fbox{  \fbox{
754  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 766  is read in the routine Line 778  is read in the routine
778  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}
779  INI\_PARMS  INI\_PARMS
780  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
781  }.  } and is used in routine {\it INI\_SPEHRICAL\_POLAR\_GRID}.
782    
783  \fbox{  \fbox{
784  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 796  is read in the routine Line 808  is read in the routine
808  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}
809  INI\_PARMS  INI\_PARMS
810  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
811  }.  } and is used in routine {\it INI\_SPEHRICAL\_POLAR\_GRID}.
812    
813  \fbox{  \fbox{
814  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 834  model coordinate variable Line 846  model coordinate variable
846  \begin{rawhtml} <A href=../../../code_reference/vdb/names/10Y.htm> \end{rawhtml}  \begin{rawhtml} <A href=../../../code_reference/vdb/names/10Y.htm> \end{rawhtml}
847  delR  delR
848  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
849  }.  } which is used in routine {\it INI\_VERTICAL\_GRID}.
850    
851  \fbox{  \fbox{
852  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 873  is read in the routine Line 885  is read in the routine
885  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}
886  INI\_PARMS  INI\_PARMS
887  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
888  }.  }. The bathymetry file is read in the routine {\it INI\_DEPTHS}.
889    
890  \fbox{  \fbox{
891  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 892  goto code Line 904  goto code
904  zonalWindFile='windx.sin_y'  zonalWindFile='windx.sin_y'
905  \end{verbatim}  \end{verbatim}
906  This line specifies the name of the file from which the x-direction  This line specifies the name of the file from which the x-direction
907  surface wind stress is read. This file is also a two-dimensional  (zonal) surface wind stress is read. This file is also a two-dimensional
908  ($x,y$) map and is enumerated and formatted in the same manner as the  ($x,y$) map and is enumerated and formatted in the same manner as the
909  bathymetry file. The matlab program {\it input/gendata.m} includes example  bathymetry file. The matlab program {\it input/gendata.m} includes example
910  code to generate a valid  code to generate a valid
# Line 909  is read in the routine Line 921  is read in the routine
921  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}  \begin{rawhtml} <A href=../../../code_reference/vdb/code/94.htm> \end{rawhtml}
922  INI\_PARMS  INI\_PARMS
923  \begin{rawhtml} </A>\end{rawhtml}  \begin{rawhtml} </A>\end{rawhtml}
924  }.  }.  The wind-stress file is read in the routine
925    {\it EXTERNAL\_FIELDS\_LOAD}.
926    
927  \fbox{  \fbox{
928  \begin{minipage}{5.0in}  \begin{minipage}{5.0in}
# Line 924  goto code Line 937  goto code
937    
938  \end{itemize}  \end{itemize}
939    
940  \noindent other lines in the file {\it input/data} are standard values  \noindent other lines in the file {\it input/data} are standard values.
 that are described in the MITgcm Getting Started and MITgcm Parameters  
 notes.  
941    
942  \begin{rawhtml}<PRE>\end{rawhtml}  \begin{rawhtml}<PRE>\end{rawhtml}
943  \begin{small}  \begin{small}
# Line 947  customisations for this experiment. Line 958  customisations for this experiment.
958  \subsubsection{File {\it input/windx.sin\_y}}  \subsubsection{File {\it input/windx.sin\_y}}
959    
960  The {\it input/windx.sin\_y} file specifies a two-dimensional ($x,y$)  The {\it input/windx.sin\_y} file specifies a two-dimensional ($x,y$)
961  map of wind stress ,$\tau_{x}$, values. The units used are $Nm^{-2}$.  map of wind stress ,$\tau_{x}$, values. The units used are $Nm^{-2}$ (the
962  Although $\tau_{x}$ is only a function of $y$n in this experiment  default for MITgcm).
963    Although $\tau_{x}$ is only a function of latituted, $y$,
964    in this experiment
965  this file must still define a complete two-dimensional map in order  this file must still define a complete two-dimensional map in order
966  to be compatible with the standard code for loading forcing fields  to be compatible with the standard code for loading forcing fields
967  in MITgcm. The included matlab program {\it input/gendata.m} gives a complete  in MITgcm (routine {\it EXTERNAL\_FIELDS\_LOAD}.
968    The included matlab program {\it input/gendata.m} gives a complete
969  code for creating the {\it input/windx.sin\_y} file.  code for creating the {\it input/windx.sin\_y} file.
970    
971  \subsubsection{File {\it input/topog.box}}  \subsubsection{File {\it input/topog.box}}
# Line 959  code for creating the {\it input/windx.s Line 973  code for creating the {\it input/windx.s
973    
974  The {\it input/topog.box} file specifies a two-dimensional ($x,y$)  The {\it input/topog.box} file specifies a two-dimensional ($x,y$)
975  map of depth values. For this experiment values are either  map of depth values. For this experiment values are either
976  $0m$ or $-2000\,{\rm m}$, corresponding respectively to a wall or to deep  $0~{\rm m}$ or $-2000\,{\rm m}$, corresponding respectively to a wall or to deep
977  ocean. The file contains a raw binary stream of data that is enumerated  ocean. The file contains a raw binary stream of data that is enumerated
978  in the same way as standard MITgcm two-dimensional, horizontal arrays.  in the same way as standard MITgcm two-dimensional, horizontal arrays.
979  The included matlab program {\it input/gendata.m} gives a complete  The included matlab program {\it input/gendata.m} gives a complete
# Line 1020  dxF, dyF, dxG, dyG, dxC, dyC}. Line 1034  dxF, dyF, dxG, dyG, dxC, dyC}.
1034  \subsubsection{Code Download}  \subsubsection{Code Download}
1035    
1036   In order to run the examples you must first download the code distribution.   In order to run the examples you must first download the code distribution.
1037  Instructions for downloading the code can be found in the Getting Started  Instructions for downloading the code can be found in section
1038  Guide \cite{MITgcm_Getting_Started}.  \ref{sect:obtainingCode}.
1039    
1040  \subsubsection{Experiment Location}  \subsubsection{Experiment Location}
1041    
1042   This example experiments is located under the release sub-directory   This example experiments is located under the release sub-directory
1043    
1044  \vspace{5mm}  \vspace{5mm}
1045  {\it verification/exp1/ }  {\it verification/exp2/ }
1046    
1047  \subsubsection{Running the Experiment}  \subsubsection{Running the Experiment}
1048    
# Line 1049  Guide \cite{MITgcm_Getting_Started}. Line 1063  Guide \cite{MITgcm_Getting_Started}.
1063    
1064   You shold see a response on the screen ending in   You shold see a response on the screen ending in
1065    
1066  {\it verification/exp1/input }  {\it verification/exp2/input }
1067    
1068    
1069  \item Run the genmake script to create the experiment {\it Makefile}  \item Run the genmake script to create the experiment {\it Makefile}

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

  ViewVC Help
Powered by ViewVC 1.1.22