Chapter
2.9 Basic non-parametric tests
2.9.1 Spearman rank-order correlation coefficient
2.9.3 Wilcoxon signed-rank test
2.9.4 Kruskal–Wallis ANOVA
2.9.5 Mann–Whitney rank-sum test
3 Least squares and regression techniques, goodness of fit and tests, and nonlinear least squares techniques
3.1 Statistical basis for regression
3.1.1 The chi-squared (χ2) defined (and goodness of fit)
3.1.2 Look at your residuals
3.2 Least squares fitting a straight line
3.2.1 Doing things the hard way (the normal equations)
3.2.2 Uncertainties in coefficients
3.2.3 Uncertainties in an estimated y-value
3.2.4 Example: ocean heat content
3.2.5 Type II regressions (two dependent variables)
3.3 General linear least squares technique
3.3.1 Choose your model functions wisely
3.3.2 There is an easier way: the design matrix approach
3.3.3 Solving the design matrix equation with SVD
3.3.4 Multi-dimensional regressions
3.3.5 Transformably linear models
3.4 Nonlinear least squares techniques
3.4.1 Iterative techniques
3.4.2 Uncertainties in nonlinear coefficients
3.4.3 Example: Exponential phytoplankton growth
3.4.4 Example: Gaussian on a constant background
4 Principal component and factor analysis
4.1 Conceptual foundations
4.1.1 The data matrix and the covariance matrix
4.1.2 Standardization and normalization
4.1.3 Linear independence and basis functions
4.2 Splitting and lumping
4.2.1 Discriminant analysis
4.3 Optimum multiparameter (OMP) analysis
4.3.1 On water masses and types
4.3.2 Classical optimum multiparameter analysis
4.3.4 Extended optimum multiparameter analysis
4.4 Principal component analysis (PCA)
4.4.1 Covariance matrices revisited
4.4.2 Eigenanalysis of matrices
4.4.3 A simple example with a geometric interpretation
4.4.4 A more complicated PCA example
4.5.1 Factor loadings matrix
4.5.4 Varimax rotation and simple structure concepts
4.6 Empirical orthogonal functions (EOFs)
4.6.1 An example: seasonal subtropical sea surface temperatures
4.6.3 Some practical EOF issues
5 Sequence analysis I: uniform series, cross- and autocorrelation, and Fourier transforms
5.1 Goals and examples of sequence analysis
5.1.1 Searching or testing for structure or periodicities
5.1.2 Correlation or correspondence between phenomena (and lags)
5.1.3 Predictions (interpolation and extrapolation)
5.1.4 Filtering and signal extraction
5.1.5 Power spectral analysis
5.2 The ground rules: stationary processes, etc.
5.3 Analysis in time and space
5.3.1 Autocovariance and autocorrelation
5.3.2 Effective degrees of freedom
5.4 Cross-covariance and cross-correlation
5.5 Convolution and implications for signal theory
5.6 Fourier synthesis and the Fourier transform
5.6.1 Complete sets of orthonormal functions (basis sets)
5.6.2 The Fourier transform and its properties
5.6.3 Convolution and correlation with Fourier transforms
5.6.4 Signal extraction and filtering
6 Sequence analysis II: optimal filtering and spectral analysis
6.1 Optimal (and other) filtering
6.1.1 The Wiener (optimal) filter
6.2 The fast Fourier transform (FFT)
6.2.1 Computational efficacy
6.2.2 Limits and constraints
6.3 Power spectral analysis
6.3.3 Frequency binning and spectral error
6.4 Nyquist limits and data windowing
6.4.1 The Nyquist theorem and frequency folding or aliasing
6.4.2 Data windowing and frequency leakage
6.5 Non-uniform time series
7 Gridding, objective mapping, and kriging
7.1 Contouring and gridding concepts
7.1.2 Interpolation methods
7.1.4 Block and moving averages
7.1.5 Trend surface analysis
7.2.1 Regionalized variables
7.2.2 Experimental variograms
7.3.1 Optimal interpolation
7.3.3 Cokriging of multiple variables
7.4 Kriging examples with real data
7.4.1 Kriging sea surface temperatures
8 Integration of ODEs and 0D (box) models
8.1.1 Type, order, and degree
8.1.2 Homogeneous and non-homogeneous equations
8.1.3 Linear and nonlinear equations
8.1.4 Initial and boundary value problems
8.2 Examples of population or box models (0D)
8.2.1 Exponential growth models
8.2.2 Carrying capacity models
8.2.3 Coupled linear first-order ODEs
8.3.1 Taylor series expansions
8.4 Numerical integration techniques
8.4.1 Simple quadrature methods
8.4.2 Initial value methods
8.4.3 Explicit vs. implicit methods
8.5.1 An example: a two-box global ocean phosphate model
8.6.1 Predictor–corrector schemes
8.6.2 Bulirsch–Stoer extrapolation
8.6.3 Boundary value methods
9 A model building tutorial
9.1 Motivation and philosophy
9.3 A first example: the Lotka–Volterra model
9.3.5 Boundary conditions
9.3.7 Exploring model output using time series and phase diagrams
9.4 A second example: exploring our two-box phosphate model
9.4.1 Automating the search: global variables
9.4.2 Examining the results
9.5 A third example: multi-box nutrient model of the world ocean
9.5.1 A system of coupled reservoirs
9.5.2 The fluxes (between boxes and within)
9.5.3 The coupled equations (building them)
9.5.4 The Runge–Kutta solution
10 Model analysis and optimization
10.1.1 Components of optimization
10.1.2 Linear vs. nonlinear programming
10.2 Methods using only the cost function
10.2.1 Golden Section search
10.2.2 Parabolic interpolation
10.2.5 Nelder–Mead simplex
10.3 Methods adding the cost function gradient
10.3.2 Conjugate gradient
10.3.3 Quasi-Newton methods
10.3.4 Trust region algorithms
10.4 Stochastic algorithms
10.4.1 Simulated annealing
10.4.2 Genetic algorithms
10.5 An ecosystem optimization example
10.5.1 Predator–prey model (PZ)
10.5.2 An experiment using fminunc
11 Advection–diffusion equations and turbulence
11.3 Reynolds decomposition
11.4 Stirring, straining, and mixing
11.5 The importance of being non
11.6.1 The Reynolds number
11.6.3 Some Richardson numbers
11.7 Vertical turbulent diffusion
11.7.1 The Brunt–Väisälä frequency
11.8 Horizontal turbulent diffusion
11.9 The effects of varying turbulent diffusivity
11.10 Isopycnal coordinate systems
12 Finite difference techniques
12.2 The forward time, centered space (FTCS) algorithm
12.2.1 The control volume approach
12.2.2 Truncation errors and formal precision
12.3 An example: tritium and 3He in a pipe
12.3.1 Constructing the pipe model
12.3.2 Experimenting with diffusion
12.4 Stability analysis of finite difference schemes
12.4.1 Stability and the control volume
12.4.2 The von Neumann stability analysis with diffusion only
12.4.3 The von Neumann stability analysis with diffusion and advection
12.4.4 FTCS and the transportive property
12.5 Upwind differencing schemes
12.5.1 The first upwind differencing method
12.5.2 First upwind differencing and numerical diffusion
12.5.3 The second upwind differencing method
12.6 Additional concerns, and generalities
12.6.1 Phase errors and aliasing
12.6.2 Summary of criteria and concerns about finite difference equations
12.6.3 Some recommendations
12.7 Extension to more than one dimension
12.7.1 Two-dimensional systems
12.7.2 Variable velocities
12.7.3 What to do with the boundaries
12.7.4 Non-uniform grid spacing
12.7.5 Dimensional reduction using symmetry
13 Open ocean 1D advection–diffusion models
13.2 The general setting and equations
13.3 Stable conservative tracers: solving for K / w
13.4 Stable non-conservative tracers: solving for J / w
13.5 Radioactive non-conservative tracers: solving for w
13.6 Denouement: computing the other numbers
14 One-dimensional models in sedimentary systems
14.1.1 Diagenesis in a sinking coordinate frame
14.1.2 The general diagenetic equation
14.2 Physical and biological diagenetic processes
14.2.4 Non-Cartesian coordinate systems
14.3 Chemical diagenetic processes
14.3.1 Chemical equilibrium
14.3.3 Microbial processes
14.4 A modeling example: CH4 at the FOAM site
14.4.3 A finite difference formulation
14.4.4 Tridiagonal algorithms
15 Upper ocean 1D seasonal models
15.1 Scope, background, and purpose
15.1.2 Biogeochemical context
15.2 The physical model framework
15.2.1 What we need to simulate
15.2.2 How we set up the model
15.4 The physical model’s internal workings
15.4.1 Vertical stability criteria
15.4.2 Turbulent mixing below the mixed layer
15.4.3 How long can we run it?
15.5 Implementing the physical model
15.5.1 The code and how it works
15.5.2 Some physical model runs and experimentation
15.6 Adding gases to the model
15.6.1 Noble gases as probes
15.6.2 All you need to know about gas exchange
15.7 Implementing the gas model
15.7.2 Comparing the gas model to observations
15.7.3 Constructing a cost function
15.7.4 Using constrained optimization
15.8 Biological oxygen production in the model
15.8.1 An oxygen production/consumption function
15.8.2 Running the oxygen model
16 Two-dimensional gyre models
16.1 Onward to the next dimension
16.1.1 An ocean application: gyre ventilation
16.2 The two-dimensional advection–diffusion equation
16.2.1 A brief foray into vector calculus
16.2.2 Streamfunctions and non-divergent flow
16.2.3 A westward intensified gyre
16.3 Gridding and numerical considerations
16.3.1 Grid setup and alignment
16.3.2 Choosing a stable time step
16.3.3 Computing weight matrices
16.3.4 Implementing boundary conditions
16.4 Numerical diagnostics
16.4.1 Monitoring your model output
16.4.3 Examining algorithmic artifacts
16.4.4 Numerical diffusion
16.5 Transient tracer invasion into a gyre
16.5.1 Background and equations
16.5.2 Revisiting boundary and initial conditions
16.6 Doubling up for a better gyre model
16.6.1 Rorschach test or cost function?
16.7 Estimating oxygen utilization rates
17 Three-dimensional general circulation models (GCMs)
17.1 Dynamics, governing equations, and approximations
17.1.1 Spherical coordinates and the material derivative
17.1.2 Mass, heat, and tracer conservation
17.1.3 Momentum, Coriolis force, and velocities
17.2 Model grids and numerics
17.2.1 Vertical coordinates
17.2.2 Horizontal grid and resolution
17.2.3 Time-stepping and advection algorithms
17.3 Surface boundary conditions
17.4 Sub-grid-scale parameterizations
17.4.1 Lateral mixing and mesoscale eddies
17.4.2 Vertical mixing and surface mixed layers
17.5 Diagnostics and analyzing GCM output
17.5.1 Hydrography and air–sea fluxes
17.5.2 Ocean circulation diagnostics
17.5.3 Transit time distributions
17.5.4 Tracer and biogeochemical diagnostics
18 Inverse methods and assimilation techniques
18.1 Generalized inverse theory
18.1.1 Over- and under-determined systems
18.1.2 Vector spaces, ranges, and the null spaces
18.2 Solving under-determined systems
18.2.2 The SVD approach and the data and model resolution matrices
18.2.3 An example calculation
18.2.4 Applying external constraints
18.3 Ocean hydrographic inversions
18.3.1 Setting up the problem
18.3.2 Geostrophy and thermal wind
18.3.3 Inverse box models
18.4 Data assimilation methods
18.4.1 Variational methods and parameter optimization
18.4.2 Analysis and forecast problems
19 Scientific visualization
19.1 Why scientific visualization?
19.1.1 Motivations for scientific visulization
19.2 Data storage, manipulation, and access
19.2.1 A note on data gridding
19.3 The perception of scientific data
19.3.2 Some specialty plots
19.4 Using MATLAB to present scientific data
19.4.1 Graphics control commands
19.4.2 Two-dimensional graphics
19.4.3 Three-dimensional graphics
19.4.4 Exporting graphics
19.5 Some non-MATLAB visualization tools
19.6 Advice on presentation graphics
Appendix A Hints and tricks
A.1 Getting started with MATLAB
A.2 Good working practices
A.4 Choose your algorithms wisely
A.7 Plotting oceanographic sections
A.8 Reading and writing data