79 |
|
|
80 |
\end{enumerate} |
\end{enumerate} |
81 |
|
|
82 |
|
\subsubsection{Checkout from CVS} |
83 |
|
\label{sect:cvs_checkout} |
84 |
|
|
85 |
If CVS is available on your system, we strongly encourage you to use it. CVS |
If CVS is available on your system, we strongly encourage you to use it. CVS |
86 |
provides an efficient and elegant way of organizing your code and keeping |
provides an efficient and elegant way of organizing your code and keeping |
87 |
track of your changes. If CVS is not available on your machine, you can also |
track of your changes. If CVS is not available on your machine, you can also |
96 |
\begin{verbatim} |
\begin{verbatim} |
97 |
% export CVSROOT=':pserver:cvsanon@mitgcm.org:/u/gcmpack' |
% export CVSROOT=':pserver:cvsanon@mitgcm.org:/u/gcmpack' |
98 |
\end{verbatim} |
\end{verbatim} |
99 |
in your .profile or .bashrc file. |
in your \texttt{.profile} or \texttt{.bashrc} file. |
100 |
|
|
101 |
|
|
102 |
To get MITgcm through CVS, first register with the MITgcm CVS server |
To get MITgcm through CVS, first register with the MITgcm CVS server |
124 |
\end{verbatim} |
\end{verbatim} |
125 |
\begin{rawhtml} </A> \end{rawhtml} |
\begin{rawhtml} </A> \end{rawhtml} |
126 |
|
|
127 |
|
As a convenience, the MITgcm CVS server contains aliases which are |
128 |
|
named subsets of the codebase. These aliases can be especially |
129 |
|
helpful when used over slow internet connections or on machines with |
130 |
|
restricted storage space. Table \ref{tab:cvsModules} contains a list |
131 |
|
of CVS aliases |
132 |
|
\begin{table}[htb] |
133 |
|
\centering |
134 |
|
\begin{tabular}[htb]{|lp{3.25in}|}\hline |
135 |
|
\textbf{Alias Name} & \textbf{Information (directories) Contained} \\\hline |
136 |
|
\texttt{MITgcm\_code} & Only the source code -- none of the verification examples. \\ |
137 |
|
\texttt{MITgcm\_verif\_basic} |
138 |
|
& Source code plus a small set of the verification examples |
139 |
|
(\texttt{global\_ocean.90x40x15}, \texttt{aim.5l\_cs}, \texttt{hs94.128x64x5}, |
140 |
|
\texttt{front\_relax}, and \texttt{plume\_on\_slope}). \\ |
141 |
|
\texttt{MITgcm\_verif\_atmos} & Source code plus all of the atmospheric examples. \\ |
142 |
|
\texttt{MITgcm\_verif\_ocean} & Source code plus all of the oceanic examples. \\ |
143 |
|
\texttt{MITgcm\_verif\_all} & Source code plus all of the |
144 |
|
verification examples. \\\hline |
145 |
|
\end{tabular} |
146 |
|
\caption{MITgcm CVS Modules} |
147 |
|
\label{tab:cvsModules} |
148 |
|
\end{table} |
149 |
|
|
150 |
The checkout process creates a directory called \textit{MITgcm}. If |
The checkout process creates a directory called \textit{MITgcm}. If |
151 |
the directory \textit{MITgcm} exists this command updates your code |
the directory \textit{MITgcm} exists this command updates your code |
159 |
here |
here |
160 |
\begin{rawhtml} </A> \end{rawhtml} |
\begin{rawhtml} </A> \end{rawhtml} |
161 |
. |
. |
162 |
|
It is important to note that the CVS aliases in Table |
163 |
|
\ref{tab:cvsModules} cannot be used in conjunction with the CVS |
164 |
|
\texttt{-d DIRNAME} option. However, the \texttt{MITgcm} directories |
165 |
|
they create can be changed to a different name following the check-out: |
166 |
|
\begin{verbatim} |
167 |
|
% cvs co MITgcm_verif_basic |
168 |
|
% mv MITgcm MITgcm_verif_basic |
169 |
|
\end{verbatim} |
170 |
|
|
171 |
|
|
172 |
\paragraph*{Conventional download method} |
\subsubsection{Conventional download method} |
173 |
\label{sect:conventionalDownload} |
\label{sect:conventionalDownload} |
174 |
|
|
175 |
If you do not have CVS on your system, you can download the model as a |
If you do not have CVS on your system, you can download the model as a |
189 |
\begin{rawhtml} </A> \end{rawhtml} |
\begin{rawhtml} </A> \end{rawhtml} |
190 |
mailing list. |
mailing list. |
191 |
|
|
192 |
\paragraph*{Upgrading from an earlier version} |
\subsubsection{Upgrading from an earlier version} |
193 |
|
|
194 |
If you already have an earlier version of the code you can ``upgrade'' |
If you already have an earlier version of the code you can ``upgrade'' |
195 |
your copy instead of downloading the entire repository again. First, |
your copy instead of downloading the entire repository again. First, |
772 |
the user's path. When these three items have been identified, |
the user's path. When these three items have been identified, |
773 |
genmake2 will try to find an optfile that has a matching name. |
genmake2 will try to find an optfile that has a matching name. |
774 |
|
|
775 |
|
\item[\texttt{--pdefault='PKG1 PKG2 PKG3 ...'}] specifies the default |
776 |
|
set of packages to be used. The normal order of precedence for |
777 |
|
packages is as follows: |
778 |
|
\begin{enumerate} |
779 |
|
\item If available, the command line (\texttt{--pdefault}) settings |
780 |
|
over-rule any others. |
781 |
|
|
782 |
|
\item Next, \texttt{genmake2} will look for a file named |
783 |
|
``\texttt{packages.conf}'' in the local directory or in any of the |
784 |
|
directories specified with the \texttt{--mods} option. |
785 |
|
|
786 |
|
\item Finally, if neither of the above are available, |
787 |
|
\texttt{genmake2} will use the \texttt{/pkg/pkg\_default} file. |
788 |
|
\end{enumerate} |
789 |
|
|
790 |
\item[\texttt{--pdepend=/PATH/FILENAME}] specifies the dependency file |
\item[\texttt{--pdepend=/PATH/FILENAME}] specifies the dependency file |
791 |
used for packages. |
used for packages. |
792 |
|
|
799 |
assumed that the two packages are compatible and will function |
assumed that the two packages are compatible and will function |
800 |
either with or without each other. |
either with or without each other. |
801 |
|
|
|
\item[\texttt{--pdefault='PKG1 PKG2 PKG3 ...'}] specifies the default |
|
|
set of packages to be used. |
|
|
|
|
|
If not set, the default package list will be read from {\em |
|
|
pkg/pkg\_default} |
|
|
|
|
802 |
\item[\texttt{--adof=/path/to/file}] specifies the "adjoint" or |
\item[\texttt{--adof=/path/to/file}] specifies the "adjoint" or |
803 |
automatic differentiation options file to be used. The file is |
automatic differentiation options file to be used. The file is |
804 |
analogous to the ``optfile'' defined above but it specifies |
analogous to the ``optfile'' defined above but it specifies |
833 |
provided by commercial Unix vendors, GNU \texttt{make} (sometimes |
provided by commercial Unix vendors, GNU \texttt{make} (sometimes |
834 |
called \texttt{gmake}) should be preferred. This option provides a |
called \texttt{gmake}) should be preferred. This option provides a |
835 |
means for specifying the make executable to be used. |
means for specifying the make executable to be used. |
836 |
|
|
837 |
|
\item[\texttt{--bash=/path/to/sh}] On some (usually older UNIX) |
838 |
|
machines, the ``bash'' shell is unavailable. To run on these |
839 |
|
systems, \texttt{genmake2} can be invoked using an ``sh'' (that is, |
840 |
|
a Bourne, POSIX, or compatible) shell. The syntax in these |
841 |
|
circumstances is: |
842 |
|
\begin{center} |
843 |
|
\texttt{/bin/sh genmake2 -bash=/bin/sh [...options...]} |
844 |
|
\end{center} |
845 |
|
where \texttt{/bin/sh} can be replaced with the full path and name |
846 |
|
of the desired shell. |
847 |
|
|
848 |
\end{description} |
\end{description} |
849 |
|
|