The source code for the SEA model is freely available and can be obtained from these pages.
To download the current version of the SEA model click on the following link (for bug fixes, simply replace named file):
| v3.0 Updates | ||
| v3.1 Updates |
% uncompress SEA_v3.0.tar.Z % tar xf SEA_v3.0.tarThe following sub-directories are created and should be used for their intended purpose:
src => ocean model source files utils => utility source files include => declaration header files restarts => post-processed restart files restarts/model => restart files in required model format snaps => post-processed snapshots snaps/model => snapshots in required model format data => post-processed input files data/model => input files in required model format diags => post-processed diagnostic files diags/model => diagnostic files in current model formatThe src directory contains the FORTRAN source code for the SEA base model and the various optional subroutines. In addition to the main model, several utility programs are available to increase the user friendliness of the model. The source code to these utilities can be found in the utils directory. The include directory contains a number of header files, each containing the declarations of related variables, to be included in the various subroutines and utility programs. The remaining sub-directories are used to store pre- and post- processed input and output datasets, the purpose of each will be made clear later.
The SEA model is now ready to use. If you have not previously used SEA, it is strongly recommended that you walk through the Quick Start section in order to familiarise yourself with the model.
HDF is developed and supported by NCSA, and is available in the public domain. It is a platform independent data format for the storage and exchange of scientific data. It includes Fortran and C interfaces and utilities for analysing and converting data files. HDF is becoming more widely used and in particular it has been adopted by the OCCAM programme, for which a suite of plotting routines have been developed, which allow quick and easy visualisation of ocean datasets. The SEA model is able to generate HDF datasets that can be accessed by the OCCAM plotting routines and it is recommended that both HDF and the OCCAM plotting programs be installed locally for use with SEA.
For HDF, the following environment variables should be set:
setenv HDF_ROOT HDF_pathname setenv HDF_LIB $HDF_ROOT/lib/$HDF_ARCH setenv HDF_INC $HDF_ROOT/include
(In this instance, the HDF_ARCH variable indicates the architecture being used, such as: ALPHA; SUN; SOLARIS)
When running the SEA model in parallel mode, the inter-processor communication is handled by PVM (version 3.3). As such it is important that PVM is installed on the platform that you are using. On tightly-coupled parallel and massively parallel systems, it is very likely that PVM will be installed and available. If using a workstation cluster, this may not be the case and so PVM must be installed on all workstations being used, before running the SEA model. Although PVM can cope with a heterogeneous environment over a wide area network, it is recommended that the SEA model is run over a local area network with a shared filestore. The following instructions assume this environment. These instructions also assume that the only reason for installing PVM is to run the SEA Model and that no further knowledge of PVM is required - for more information on PVM, please refer to the comprehensive PVM user guide (Geist et al., 1993).
Setting Up PVM
If not already installed, then a version of PVM 3.3 can be downloaded from the main PVM page at Oak Ridge National Laboratory, Tennessee.
To install PVM, the following steps should be followed from within the desired directory. For your own personal use, this tar file should be placed in your $HOME directory. If it is to be used by a number of people, then it will be better placed in a common area (eg. /usr/local) and if this is the case, then when reading the following instructions replace each occurence of $HOME with the relevant directory path.
a) Uncompress and untar the PVM archive file, to create the pvm3 directory tree
% uncompress pvm3.3.11.tar.Z % tar xf pvm3.3.11.tarb) Set the PVM_ROOT environment variable to the full pathname of the pvm3 directory
% setenv PVM_ROOT $HOME/pvm3c) From within the PVM_ROOT directory, compile and install the PVM libraries
% cd $PVM_ROOT % makeTo use PVM the following environment variables need to be set. These should also be specified in your standard $HOME/.cshrc file, so that they are set every time.
setenv PVM_ROOT $HOME/pvm3 setenv PVM_ARCH `$PVM_ROOT/lib/pvmgetarch` setenv PVM_LIB $PVM_ROOT/lib setenv PVM_INC $PVM_ROOT/include set path=($path $PVM_LIB $PVM_LIB/$PVM_ARCH)
Simple Test
To check that PVM works okay, the following check can be made.
Start up the PVM console (using the pvm command), which will also start up a PVM Daemon (pvmd3) process in the background. It is the PVM Daemon that is responsible for all inter-process communication and as such, when running PVM applications, it must also be running on every machine that is to be used. To view the current virtual machine configuration, use the conf command.
% pvm pvm> conf 1 host, 1 data format HOST DTID ARCH SPEED machine1.uea.ac.uk 40000 ALPHA 1000Now exit the console, but leave the PVM Daemon running, using the quit command.
pvm> quit pvmd still running.Note: It is now, whilst the PVM Daemon is still running, that one would normally run a PVM application (such as SEA) from the command line.
Re-enter the PVM console, but this time exit the console and kill the PVM Daemon, using the halt command. This will tidy up the environment once the PVM application has run.
% pvm pvmd already running. pvm> halt libpvm [t40001]: mxfer() EOF on pvmd sock
![]() |
Sorry, I haven't done much with this section yet. |
On workstation clusters I have used both LAM and MPICH successfully.
Try the MPI Home Page for more info.