THE SOUTHAMPTON - EAST ANGLIA (SEA) MODEL
The Southampton - East Anglia model is a three-dimensional finite difference, primitive equation, ocean general circulation model (OGCM), based around the successful Bryan-Semtner-Cox formulation. It is designed to give good performance on high powered workstations, clusters of workstations and message passing massively parallel processing systems, rather than vector processors.
VERSION: 3.1
DATE: December 1998
AUTHOR: Matthew I. Beare
School of Mathematics
University of East Anglia
Norwich NR4 7TJ
For further information:
WWW: http://www.mth.uea.ac.uk/ocean/SEA E-MAIL: SEA@mth.uea.ac.uk
Updates: v3.0 --> v3.1
- Added option to accumulate a set of diagnostics over time (-Ddiags_time)
Created: diags/model
- new directory structure for diagnostic files
utils/post-diag.F
- post processing routine for diagnostics
Updated: src/diags.F
- added three subroutines: init/accum/write_time_diags
include/cdiag.h
- added /diag/ common block (for "sea" and "post-diag")
src/init.F
- added call to "init_time_diags"
src/sea.F
- added calls to "accum_time_diags" & "write_time_diags"
*** NB: Have not yet completed HDF post processing, only UFM ***
2. Removed redundant arrays: ggu(j) and hhu(j)
Updated: src/init.F and include/chmix.h
3. Added biharmonic mixing option (-Dbiharmonic) to be used as well as
or instead of the usual Laplacian operator. Requires "am_bi" and "ah_bi" to be set. To switch off Laplacian operator, simply set "am" and "ah" to zero.
Created: include/delsq.h
- declaration of common delsq array
src/delsq.F
- subroutines to calc delsq for clinic and tracer
Updated: include/fields.h
- include extra outer halo in array declarations
src/sea.F
- added include <delsq.F> statement
src/init.F
- calculate diffusion factors (bbt,..etc.) without am/ah
- added additional code to subroutine "check_halos"
src/options.F
- include code to display selected option
src/step.F
- added calls to "delsq_u" and "delsq_t"
src/tracer.F
- added biharmonic diffusion statements
- introduced delsqk variable
src/clinic.F
- added biharmonic diffusion statements
- introduced delsqk variable
4. Changed src/step.F to calculate two outer halos before sending,
by default, using "nhalo" to determine whether 1 or 2 halos should be exchanged. Thus less #ifdef coding required for clinic/tracer parts.
5. Optimised clinic and tracer, by splitting loops over k into smaller
segments and using scalars for multiple array references.
6. Fixed bug in subroutine "SPI_Token_Send", in which MPI_Send had an
invalid "request" parameter.
7. Removed file "utils/io_dac.F", as the routines are no longer required,
since i/o is now performed in horizontal plane, not east-west slabs.
