--- manual/s_getstarted/text/getting_started.tex 2010/05/28 02:09:59 1.42 +++ manual/s_getstarted/text/getting_started.tex 2015/11/21 03:19:54 1.46 @@ -1,4 +1,4 @@ -% $Header: /home/ubuntu/mnt/e9_copy/manual/s_getstarted/text/getting_started.tex,v 1.42 2010/05/28 02:09:59 jmc Exp $ +% $Header: /home/ubuntu/mnt/e9_copy/manual/s_getstarted/text/getting_started.tex,v 1.46 2015/11/21 03:19:54 dimitri Exp $ % $Name: $ %\section{Getting started} @@ -14,7 +14,7 @@ \ref{chap:sarch}. \section{Where to find information} -\label{sect:whereToFindInfo} +\label{sec:whereToFindInfo} \begin{rawhtml} \end{rawhtml} @@ -29,7 +29,7 @@ \begin{rawhtml} \end{rawhtml} \section{Obtaining the code} -\label{sect:obtainingCode} +\label{sec:obtainingCode} \begin{rawhtml} \end{rawhtml} @@ -63,7 +63,7 @@ \end{enumerate} \subsection{Method 1 - Checkout from CVS} -\label{sect:cvs_checkout} +\label{sec:cvs_checkout} If CVS is available on your system, we strongly encourage you to use it. CVS provides an efficient and elegant way of organizing your code and keeping @@ -92,20 +92,23 @@ To obtain the latest sources type: \begin{verbatim} -% cvs co MITgcm +% cvs co -P MITgcm \end{verbatim} or to get a specific release type: \begin{verbatim} -% cvs co -P -r checkpoint52i_post MITgcm +% cvs co -P -r checkpoint52i_post MITgcm \end{verbatim} +The CVS command ``\texttt{cvs co}'' is the abreviation of the full-name +``\texttt{cvs checkout}'' command and using the option ``-P'' (\texttt{cvs co -P}) +will prevent to download unnecessary empty directories. + The MITgcm web site contains further directions concerning the source code and CVS. It also contains a web interface to our CVS archive so that one may easily view the state of files, revisions, and other development milestones: -%\begin{rawhtml} \end{rawhtml} \begin{rawhtml} \end{rawhtml} \begin{verbatim} -http://mitgcm.org/source_code.html +http://mitgcm.org/viewvc/MITgcm/MITgcm/ \end{verbatim} \begin{rawhtml} \end{rawhtml} @@ -142,17 +145,23 @@ MITgcm code can be found \begin{rawhtml} \end{rawhtml} here -\begin{rawhtml} \end{rawhtml} -. +\begin{rawhtml} \end{rawhtml}. It is important to note that the CVS aliases in Table \ref{tab:cvsModules} cannot be used in conjunction with the CVS \texttt{-d DIRNAME} option. However, the \texttt{MITgcm} directories they create can be changed to a different name following the check-out: \begin{verbatim} - % cvs co MITgcm_verif_basic + % cvs co -P MITgcm_verif_basic % mv MITgcm MITgcm_verif_basic \end{verbatim} +Note that it is possible to checkout code without ``cvs login'' and without +setting any shell environment variables by specifying the pserver name and +password in one line, for example: +\begin{verbatim} + % cvs -d :pserver:cvsanon:cvsanon@mitgcm.org:/u/gcmpack co -P MITgcm +\end{verbatim} + \subsubsection{Upgrading from an earlier version} If you already have an earlier version of the code you can ``upgrade'' @@ -163,7 +172,7 @@ \end{verbatim} and then issue the cvs update command such as: \begin{verbatim} -% cvs -q update -r checkpoint52i_post -d -P +% cvs -q update -d -P -r checkpoint52i_post \end{verbatim} This will update the ``tag'' to ``checkpoint52i\_post'', add any new directories (-d) and remove any empty directories (-P). The -q option @@ -209,7 +218,7 @@ latest code'' and we haven't made a ``tag'' or ``release'' since that patch then you'll need to get the latest code: \begin{verbatim} -% cvs -q update -A -d -P +% cvs -q update -d -P -A \end{verbatim} Unlike, the ``check-out'' and ``update'' procedures above, there is no ``tag'' or release name. The -A tells CVS to upgrade to the @@ -220,7 +229,7 @@ with. So please be sure you understand what you're doing. \subsection{Method 2 - Tar file download} -\label{sect:conventionalDownload} +\label{sec:conventionalDownload} If you do not have CVS on your system, you can download the model as a tar file from the web site at: @@ -277,7 +286,7 @@ package corresponds to a subdirectory. For example, \texttt{gmredi} contains the code related to the Gent-McWilliams/Redi scheme, \texttt{aim} the code relative to the atmospheric intermediate - physics. The packages are described in detail in chapter \ref{chap.packagesI}. + physics. The packages are described in detail in chapter \ref{chap:packagesI}. \item \texttt{tools}: this directory contains various useful tools. For example, \texttt{genmake2} is a script written in csh (C-shell) @@ -301,7 +310,7 @@ decompositions. \item \texttt{verification}: this directory contains the model - examples. See section \ref{sect:modelExamples}. + examples. See section \ref{sec:modelExamples}. \item \texttt{jobs}: contains sample job scripts for running MITgcm. @@ -312,7 +321,7 @@ \end{itemize} \section[Building MITgcm]{Building the code} -\label{sect:buildingCode} +\label{sec:buildingCode} \begin{rawhtml} \end{rawhtml} @@ -321,7 +330,7 @@ file (\texttt{Makefile}) that allows us to pre-process source files, specify compiler and optimization options and also figures out any file dependencies. We supply a script (\texttt{genmake2}), described -in section \ref{sect:genmake}, that automatically creates the +in section \ref{sec:genmake}, that automatically creates the \texttt{Makefile} for you. You then need to build the dependencies and compile the code. @@ -396,7 +405,7 @@ number of CPUs available. Now you are ready to run the model. General instructions for doing so are -given in section \ref{sect:runModel}. Here, we can run the model by +given in section \ref{sec:runModel}. Here, we can run the model by first creating links to all the input files: \begin{verbatim} ln -s ../input/* . @@ -410,7 +419,7 @@ \subsection{Building/compiling the code elsewhere} -In the example above (section \ref{sect:buildingCode}) we built the +In the example above (section \ref{sec:buildingCode}) we built the executable in the {\em input} directory of the experiment for convenience. You can also configure and compile the code in other locations, for example on a scratch disk with out having to copy the @@ -514,7 +523,7 @@ \subsection{Using \texttt{genmake2}} -\label{sect:genmake} +\label{sec:genmake} To compile the code, first use the program \texttt{genmake2} (located in the \texttt{tools} directory) to generate a Makefile. @@ -685,7 +694,7 @@ \item[\texttt{--mpi}] This option enables certain MPI features (using CPP \texttt{\#define}s) within the code and is necessary for MPI - builds (see Section \ref{sect:mpi-build}). + builds (see Section \ref{sec:mpi-build}). \item[\texttt{--make=/path/to/gmake}] Due to the poor handling of soft-links and other bugs common with the \texttt{make} versions @@ -708,7 +717,7 @@ \subsection{Building with MPI} -\label{sect:mpi-build} +\label{sec:mpi-build} Building MITgcm to use MPI libraries can be complicated due to the variety of different MPI implementations available, their dependencies @@ -723,7 +732,7 @@ \item Determine the locations of your MPI-enabled compiler and/or MPI libraries and put them into an options file as described in Section - \ref{sect:genmake}. One can start with one of the examples in: + \ref{sec:genmake}. One can start with one of the examples in: \begin{rawhtml} \end{rawhtml} @@ -758,7 +767,7 @@ \end{itemize} \item Build the code with the \texttt{genmake2} \texttt{-mpi} option - (see Section \ref{sect:genmake}) using commands such as: + (see Section \ref{sec:genmake}) using commands such as: {\footnotesize \begin{verbatim} % ../../../tools/genmake2 -mods=../code -mpi -of=YOUR_OPTFILE % make depend @@ -812,12 +821,12 @@ \end{verbatim} } \section[Running MITgcm]{Running the model in prognostic mode} -\label{sect:runModel} +\label{sec:runModel} \begin{rawhtml} \end{rawhtml} -If compilation finished succesfully (section \ref{sect:buildingCode}) +If compilation finished succesfully (section \ref{sec:buildingCode}) then an executable called \texttt{mitgcmuv} will now exist in the local directory.