| 48 | You can download the model two ways: | You can download the model two ways: | 
| 49 |  |  | 
| 50 | \begin{enumerate} | \begin{enumerate} | 
| 51 | \item Using CVS software. CVS is a freely available source code managment | \item Using CVS software. CVS is a freely available source code management | 
| 52 | tool. To use CVS you need to have the software installed. Many systems | tool. To use CVS you need to have the software installed. Many systems | 
| 53 | come with CVS pre-installed, otherwise good places to look for | come with CVS pre-installed, otherwise good places to look for | 
| 54 | the software for a particular platform are | the software for a particular platform are | 
| 139 |  |  | 
| 140 | \item \textit{diags}: contains the code relative to time-averaged | \item \textit{diags}: contains the code relative to time-averaged | 
| 141 | diagnostics. It is subdivided into two subdirectories \textit{inc} and | diagnostics. It is subdivided into two subdirectories \textit{inc} and | 
| 142 | \textit{src} that contain include files (*.\textit{h} files) and fortran | \textit{src} that contain include files (*.\textit{h} files) and Fortran | 
| 143 | subroutines (*.\textit{F} files), respectively. | subroutines (*.\textit{F} files), respectively. | 
| 144 |  |  | 
| 145 | \item \textit{doc}: contains brief documentation notes. | \item \textit{doc}: contains brief documentation notes. | 
| 255 | cube sphere grid. | cube sphere grid. | 
| 256 |  |  | 
| 257 | \item \textit{advect\_xy} Two-dimensional (horizontal plane) passive advection | \item \textit{advect\_xy} Two-dimensional (horizontal plane) passive advection | 
| 258 | test on cartesian grid. | test on Cartesian grid. | 
| 259 |  |  | 
| 260 | \item \textit{advect\_yz} Two-dimensional (vertical plane) passive advection test on cartesian grid. | \item \textit{advect\_yz} Two-dimensional (vertical plane) passive advection test on Cartesian grid. | 
| 261 |  |  | 
| 262 | \item \textit{carbon} Simple passive tracer experiment. Includes derivative | \item \textit{carbon} Simple passive tracer experiment. Includes derivative | 
| 263 | calculation. Described in detail in section \ref{sec:eg-carbon-ad}. | calculation. Described in detail in section \ref{sec:eg-carbon-ad}. | 
| 297 | code} depending on the particular experiment. See section 2 for more details. | code} depending on the particular experiment. See section 2 for more details. | 
| 298 |  |  | 
| 299 | \item \textit{input}: contains the input data files required to run the | \item \textit{input}: contains the input data files required to run the | 
| 300 | example. At a mimimum, the \textit{input} directory contains the following | example. At a minimum, the \textit{input} directory contains the following | 
| 301 | files: | files: | 
| 302 |  |  | 
| 303 | \begin{itemize} | \begin{itemize} | 
| 330 | To compile the code, we use the {\em make} program. This uses a file | To compile the code, we use the {\em make} program. This uses a file | 
| 331 | ({\em Makefile}) that allows us to pre-process source files, specify | ({\em Makefile}) that allows us to pre-process source files, specify | 
| 332 | compiler and optimization options and also figures out any file | compiler and optimization options and also figures out any file | 
| 333 | dependancies. We supply a script ({\em genmake}), described in section | dependencies. We supply a script ({\em genmake}), described in section | 
| 334 | \ref{sect:genmake}, that automatically creates the {\em Makefile} for | \ref{sect:genmake}, that automatically creates the {\em Makefile} for | 
| 335 | you. You then need to build the dependancies and compile the code. | you. You then need to build the dependencies and compile the code. | 
| 336 |  |  | 
| 337 | As an example, let's assume that you want to build and run experiment | As an example, let's assume that you want to build and run experiment | 
| 338 | \textit{verification/exp2}. The are multiple ways and places to actually | \textit{verification/exp2}. The are multiple ways and places to actually | 
| 354 | % ../../../tools/genmake  -mods=../code | % ../../../tools/genmake  -mods=../code | 
| 355 | \end{verbatim} | \end{verbatim} | 
| 356 |  |  | 
| 357 | Next, create the dependancies: | Next, create the dependencies: | 
| 358 | \begin{verbatim} | \begin{verbatim} | 
| 359 | % make depend | % make depend | 
| 360 | \end{verbatim} | \end{verbatim} | 
| 406 | % cp ../code/mitgcmuv ./ | % cp ../code/mitgcmuv ./ | 
| 407 | % ./mitgcmuv > output.txt | % ./mitgcmuv > output.txt | 
| 408 | \end{verbatim} | \end{verbatim} | 
| 409 | or if you will be making muliple runs with the same executable: | or if you will be making multiple runs with the same executable: | 
| 410 | \begin{verbatim} | \begin{verbatim} | 
| 411 | % cd ../ | % cd ../ | 
| 412 | % cp -r input run1 | % cp -r input run1 | 
| 418 | \subsubsection{Building from a new directory} | \subsubsection{Building from a new directory} | 
| 419 |  |  | 
| 420 | Since the {\em input} directory contains input files it is often more | Since the {\em input} directory contains input files it is often more | 
| 421 | useful to keep {\em input} prestine and build in a new directory | useful to keep {\em input} pristine and build in a new directory | 
| 422 | within {\em verification/exp2/}: | within {\em verification/exp2/}: | 
| 423 | \begin{verbatim} | \begin{verbatim} | 
| 424 | % cd verification/exp2 | % cd verification/exp2 |