Programs/code segments available at SOC --------------------------------------- Consider this an on-going document. Add to, amend, etc. at your leisure by simply telling pki of the changes. Peter K. ------- 1. Adrian Martin (apm1) 2. 2d advection-reaction-diffusion code. Flow is generated by solving one layer quasigeostrophic equation. Tracers are currently configured as plankton ecosystem 3. Keywords: plankton, quasigeostrophic, patchiness 1. Adrian Martin (apm1) 2. 1d (vertical) model of plankton in water column. Isopycnal physical model with choice of mixed layer sub-models. User interface to configure biology and forcing for any location in N.Atlantic. 3. Keywords: plankton, isopycnal, biogeochemistry 1. Adrian Martin (apm1) 2. 3d model of plankton ecosystem in unstable ocean front. Physical component is isopycnal - run lasts approx 48 days. Biological model currently extension of Fasham-Ducklow-McKelvie 90 with 2 size classes each of phytoplankton and zooplankton. 3. Keywords: plankton, front, mesoscale, patchiness. biogeochemistry 1. Adrian Martin (apm1) 2. 2 box model of patchy upwelling and plankton. One box upwelling regions, other box ambient waters. 3. Keywords: biogeochemistry, patchiness, plankton 1. Adrian Martin (apm1) 2. Eddy-pumping code. Simple layer based 1d (vertical) model simulating effect of eddy passage on local phytoplankton esp. primary productivity. 3. Keywords: eddy-pumping, biogeochemistry, plankton, mesoscale 1. Robert Marsh, rma 2. Fast climate model: Self-contained fortran code and input data. Coupled ocean-atmosphere-sea ice model, globally configured. Runs much faster than similar resolution coupled GCMs. Useful for long (multi-millenial) integrations and large ensembles, submitted overnight/at weekends. Work in progress. Several working versions available. 3. Keywords: climate, palaeo, coupled model 1. Robert Marsh, rma 2. Model trajectories: Fortran code for use offline with time-averaged mass fluxes from layered ocean models. Permits quick computation of large trajectory ensembles, to reconstruct circulation pathways, fields of water mass transformation. Related diagnostic routines and UNIRAS graphics code also available. 3. Keywords: trajectories, ocean circulation 1. Robert Marsh, rma 2. Water mass diagnostics: Fortran codes for use with ocean model output or observed fields of surface density flux. Related diagnostic routines and UNIRAS graphics code also available. 3. Keywords: water masses, formation rates 1. John Hemmings (jch) 2. Toolbox of programs for handling tables of numeric and/or string data. Run from the command line with control info in argument list. Standard input and output streams can be used to pipe data from one program to another. There are currently about 30 programs covering selection by variable name or value(s), joining tables, evaluating expressions, calculating basic stats, etc. Documentation is available (although a little out of date!). 3. Keywords: Utilities, Data processing 1. Nigel West, nw199 2. MATLAB routine to allocate time(gmt) to the PATHINDER data set with the aim of comparing it to the TMI data set. Written as part of my undergraduate project. 3. Keywords: pathfinder, TMI, sst, comparison. 1. Nigel West, nw199 2. MATLAB routine to create a set of sequentially numbered directories in a UNIX workspace. 3. Keywords: automated directory creation. 1. Stuart Brentnall (sjb394@soc.soton.ac.uk) 2. Collection of Matlab routines for quantities relevant to equatorial dynamics -- meridional structure functions, coefficients of Hermite polynomials, properties of long waves impinging on equatorial islands, Kuo instability criterion 3. Keywords: EQUATORIAL DYNAMICS, WAVES, STRUCTURE FUNCTIONS, ISLANDS, MATLAB 1. Stuart Brentnall (sjb394@soc.soton.ac.uk) 2. Matlab routines for properties of sea water, mostly based on Appendix 3 of Gill. Includes density, expansion coefficients (thermal and salinity), lapse rate, specific heat, potential temperature, speed of sound, freezing point, conversion from salinity to conductivity and vice versa. 3. Keywords: SEA WATER, PROPERTIES, MATLAB 1. Stuart Brentnall (sjb394@soc.soton.ac.uk) 2. Simplified versions of filters for 1D and 2D data, including versions which take NaNs into account. All the filters in Matlab are included for 1D, a rectangular filter only for 2D. 3. Keywords: FILTERS, MATLAB 1. Stuart Brentnall (sjb394@soc.soton.ac.uk) 2. Reaction-diffusion-advection model for P/Z prey/predator system, based on Truscott-Brindley model but with many options, e.g. Holling II grazing, 1D or 2D versions, domain size, all specifiable at run time. Also several Matlab routines to process the output from this model. 3. Keywords: PROCESS MODELS, ECOLOGICAL MODELS 1. Stuart Brentnall (sjb394@soc.soton.ac.uk) 2. Off-line time-dependent trajectory program for OCCAM unrotated grid data. May be obsolete -- haven't run it for some years. 3. Keywords: TRAJECTORIES, TIME-DEPENDENT, OCCAM 1. Stuart Brentnall (sjb394@soc.soton.ac.uk) 2. Simple data compression routine for Matlab -- helps save disk space and speed up i/o when dealing with large files. Related to this are several functions (overloaded operators etc) to enable one to work with single precision floating point numbers, which can save time and memory. 3. Keywords: DATA COMPRESSION, MATLAB 1. Stuart Brentnall (sjb394@soc.soton.ac.uk) 2. Normal modes and equivalent depths for isopycnic model, via Lighthill's method. 3. Keywords: NORMAL MODES, ISOPYCNIC, MATLAB 1. Jonathan Sharples (js1) 2. Program to do basic analysis (averaging through time and between bins, calculating average shear) of ADCP data (as output by Workhorse ADCPs). Program to perform basic analysis of SOES CTD data (salinity, density calculations, salinity, temperature, depth, chlorophyll, SPM, transmittance calibrations). 1-D (vertical) turbulence closure model of shelf sea physics (seasonal surface heating plus tidal mixing). Existing version is set up for lecture demonstrations, but code can be hacked about or subroutines extracted. 1-D (vertical) model of primary production and shelf sea physics (as above, but with a simple primary production routine bolted on). All programs are Windows applications, written in Fortran 90 (or more likely a personal hybrid version somewhere between 77 and 90) with a GUI. Source code available. 3. Keywords: CTD data, turbulence closure 1. Adrian New, anw 2. Linear modal model for generation and propagation of internal tides over shelf break/ deep ocean topography. 3. Keywords: Internal tides. Modes. Rays. 1. Adrian New, anw 2. Weakly nonlinear (KDV-type) model for the generation of internal "solitary" waves from a long-wavelength initial condition. (Includes continuous stratification and earth's rotation.) 3. Keywords: Internal solitary waves, continuous stratification, earth's rotation. 1. David Smeed (das) 2. Collection of programs for solving problem of stratified rotating flow over isolated obstacles for linear flow (i.e. small obstacles). Includes Ekman (laminar or variable turbulent viscosity) boundary layers. 3. Keywords: topography, boundary-layer, Ekman layer Reference: RICHARDS K.J., D.A. SMEED, E.J. HOPFINGER & G. CHABERT-D'HIERS (1992). Boundary-layer separation of rotating flow past surface-mounted obstacles. J. Fluid Mech. 237, 343-371. 1. David Smeed (das) 2. Collection of programs for reduced gravity (N+1/2 layer) flow with data assimilation. Includes nudging/OI and feature model parameter analysis. 3. Keywords: Assimilation, feature model, reduced gravity Reference: SMEED, D.A. (1995). Feature models and data assimilation. Proc. Int. Symp. Assimilation of Observations in Meteorology and Oceanography. Tokyo March 1995. 1. David Smeed (das) 2. Collection of programs for solving hydraulically controlled 1-, 2- and 3- layer flow through sill/contraction combinations. 3. Keywords: Hydraulic, exchange, Reference: SMEED D.A., (2000) Hydraulic control in 3-layer exchange flows: application to the Bab al Mandab. J. Phys. Oceangr., 30 , 2574-2588. 1. John Stark jods@soc.soton.ac.uk 2. Temperature to Potential temperature formula using Eqn A8 from the appendix of Kantha & Clayson (2000). Also PT to T using Newton-Raphson iterations. (fortran or matlab , 3. KEYWORDS: temperature, potential temperature) 1. John Stark jods@soc.soton.ac.uk 2. Netcdf based subroutines to aid creating COADS complient data sets (fortran). These are useful when you want to use ferret to look at the data. (fortran, 3. KEYWORDS: netCDF, ferret) 1. John Stark jods@soc.soton.ac.uk 2. A flood fill routine (Fills up an area from a seed point, travelling through the faces only) in fortran. (fortran, 3. Keywords: flood fill) 1. John Stark jods@soc.soton.ac.uk 2. UNESCO seawater equation of state formula rho(T,S,p) in fortran & matlab (I bet everyone has this somewhere!) (Fortan or matlab, 3. keywords: UNESCO, density, equation of state) 1. John Stark jods@soc.soton.ac.uk 2. HDF to Netcdf conversion for MOM or OCCAM like model output. (fortran / unix executable, 3. keywords: HDF, Netcdf, MOM) 1. John Stark jods@soc.soton.ac.uk 2. A multi-file template generator to produce a ferret template file. This allows it to read multiple netCDF files as one dataset eg. to produce a time series from snapshots. (fortran / unix executable, 3. keywords: Netcdf, ferret, multi-file) 1. John Stark jods@soc.soton.ac.uk 2. Interpolation routines for OCCAM data. These generate interpolated data over any range of the globe using the bilinear interpolation or 3-point interpolation where only 3 points that enclose the output point exist. I'm sure Andrew Coward has something similar. (fortran, 3. keywords: Interpolation, OCCAM) 1. John Stark jods@soc.soton.ac.uk 2. A class template for an X-motif OpenGL widget. (C++, 3. keywords: XMotif, OpenGL) 1. Andy Hogg amh1 2.'qgmodel' - A coupled quasi-geostrophic ocean-atmosphere model. The model has and atmospheric domain with two layers and and oceanic domain with two layers. The two domains communicate via mixed layers which are embedded in the lower atmospheric and upper oceanic layers respectively. Code originally written by Bill Dewar, improved by Jeff Blundell and Peter Killworth. 3. Keywords: quasi-geostrophic, coupled ocean-atmosphere systems 1. Andy Hogg amh1 2.'wavdif' - Finds the solution of a sixth order stability equation which is the viscous analogue of the Taylor-Goldstein equation. Designed for finding the speed of linear internal waves in stratified shear flow . Can also be used for finding growth rates of the most unstable linear waves. See Hogg, Winters and Ivey 2001, JFM, vol 447 3. Keywords: Stratified shear instability ... 1. gxg (Gwyn Griffiths) 2. I have matlab m-files that compute acoustic backscatter from various types of zooplankton using the models of Tim Stanton at WHOI. These originated with Peter Weibe also at WHOI, but have been modified here at SOC. 3. KEYWORDS: acoustic backscatter 1. Bablu Sinha (bs) 2. fast coupled OAGCM 3. KEYWORDS: coupled model 1. Bablu Sinha (bs) 2. program to calculate interpolation weights between different grids 3. KEYWORDS: interpolation between grids 1. Bablu Sinha (bs) 2. software to handle unified model data (netcdf format) - calculates overturning streamfunction, transformation streamfunction does water mass census etc. 3. KEYWORDS: Unified model data analysis 1. Bablu Sinha (bs) 2. qg channel model 3. KEYWORDS: qg channel 1. Bablu Sinha (bs) 2. fortran program to calculate EOFS on arbitrary arrays 3. KEYWORDS: EOFs 1. Jeff Blundell 2. Reduced gravity N+1/2 layer model, on a C-grid. Forced by windstress or Ekman pumping. Cartesian or spherical geometry. f-plane, beta-plane or full Coriolis. Freeslip or noslip boundary conditions. Rectangular domain or arbitrary masking (associated mask-generating programs) 3. KEYWORDS: reduced gravity models 1. A Megann (apm) 2. MICOM and HYCOM ocean general circulation models. These use respectively isopycnic layers (of constant density), and hybrid coordinates (levels near the surface, isopycnic layers below). 3. Keywords: Ocean circulation, isopycnals, hybrid coordinates. 1. Ben Rabe (benr) 2. Scaled vector plotting in matlab -- several functions: --creating new figures of set dimensions (e.g. A4) and with fixed axis sizes --automatically choosing 'sensible' grid/tickmarks for your axes --scaling vectors for plotting according to axis size and grid spacing this is done by using a unit vector ( >largest value in each direction) --plotting the scaled vectors on prepared axes (needs all of the above three) it also calls matlab's 'quiver' function This is a bit of a cheat, so if anyone has better solution, please let me know. 3. Keywords: matlab, vector, scale, figure, quiver