OCN 481/681: Introduction to Ocean Ecosystem Modeling

Dr. Brian Powell (

Spring, 2017

Course Website:

Class: Tues/Thurs 12:00–1:15p, MSB 307

Optional Lab/Office Hours: Friday 10:30-11:20a, MSB 211


The goal of this course is to provide an in-depth introduction to numerically representing an oceanic ecosystem with coupled geochemistry, biology, and physics. This class will consist of lectures and class discussions of methods and results. This is a hands-on class. Most exercises will build upon the previous so each student will construct a coupled ecosystem ocean model of the tropical Pacific ocean. This model will be used to simulate the nutrient cycling, biological production, and oceanic conditions of the equatorial Pacific. The primary tool used in this class will be Python, but any other programming language (Matlab, FORTRAN, C, etc.) is welcome. No prior programming experience is required, and simple Python tutorials will be provided covering all necessary aspects. Python is open-source and freely available without restriction.

The concepts that will be covered include: Python programming and notebooks, introduction to basic numerical methods (numerical integration, finite-differences, etc.), concepts of phyto- and zoo-plankton interaction, spring bloom and physical forcing, derivation and analysis of NPZ biological equations, derivation and analysis of shallow-water ocean equations, wind-forcing of the ocean, physical forcing of biological production during ENSO, and discussions on how to interpret and analyze model output data.


This course is intended for undergraduate and graduate students interested in learning about large-scale interactions between biogeochemical production and physical forcing, numerical simulations, dynamical systems, and analysis of data. Students will develop concepts in how a basic climate system (winds, ocean, and biological production) are linked together. It is expected that graduate students will have taken OCN 620 and OCN 621 (with a sufficient background in differential equations and linear algebra). Though the intended audience is general, students interested in inter-disciplinary research will benefit from this course.


Exercises will be regularly assigned throughout the semester. As this is a co-listed course, the OCN 681 students will be required to do more on each assignment.

On the date that each assignment is due, the class will discuss the assignment results, both expected and unexpected, problems, triumphs, etc. until we arrive at an agreed upon solution. The assignment solutions will be provided so that no student can fall behind since most exercises build on the previous. The output from each exercise will be shown and discussed to provide an introduction on how data are analyzed and processed. Because of this, assignments are due in class on the due-date unless prior arrangements have been made.

The final assignment will be an individual research project to be conducted with your model. For OCN 681 students, this will be a more detailed research project that will presented in the final week of the semester.

Your grade will be determined using a combined score from the exercises and class discussions. OCN 481 students: 85% exercises and 15% discussion; OCN 681 students: 65% exercises, 15% discussions, and 20% final project and presentation.

Student Learning Outcomes

At the completion of this course, it is expected that students will have developed a number of skills:

  • Students will be able to apply the scientific process
  • Understand models as laboratory experiments
  • Generate and analyze data from a modeling experiment
  • Students will be able to express basic biological and physical ideas mathematically
  • Students will be able to translate data and mathematical equations into computer data and code
  • Become well-versed in the use of a computing language
  • Understand the scientific method: propose a question, run an experiment, and analyze the data.

Topics Covered During Semester

  • Ecology of oceanic biology; Spring Bloom and the linkage between the biological and physical environment.
  • Python Tutorial; Introduction to Programming; Exercise 1: Basic Pendulum Model
  • Dynamical Analysis of ODE’s: Jacobians, Fixed Points, and Lyapunov Exponents.
  • Introduction to Predator/Prey biological models; Exercise 2: Lotka–Volterra Model with phyto- and zooplankton.
  • Introduction to (nutrient-phytoplankton-zooplankton) NPZ models; Reading of Franks, et al 1986 paper; Relating NPZ equations to real-world processes; Problems and Parameterizations in NPZ; Exercise 3: Build NPZ model
  • What to expect from the model: limitations, etc.; Discussion of Biological Processes and how to expand NPZ; Exercise 4: Build NPZD model with digestive lags, etc.
  • Introduction to the Equations of Motion
  • Shallow-Water equations
  • Discussions on numerical stability and noise; Exercise 5: Modified 1D advection/diffusion model
  • Analysis of shallow-water model: geostrophic adjustment; boundary conditions; transport-form of equations; and plane; Exercise 6: Shallow-Water model of rectangular ocean.
  • Ekman theory; wind forcing; basic tropical ocean planetary waves; Exercise 7: Wind-forced Shallow-Water model
  • Subtropical gyre circulation; western boundary currents; Exercise 8: Tropical Pacific, wind-forced, land-boundaries.
  • Spring Bloom: Introduction to physical influences on biology: advection and upwelling
  • Upwelling impacts from Ex. 10; nonlinear advection and impacts on biology; Exercise 9: Couple NPZD model with Shallow-Water model
  • Future of modeling, roles and tools in research, operations, and predictions.
  • Student investigations: additional biological constituents, changing climate, etc.


No text is required; however, these two texts are very useful:

Gill, A.E., 1982: Atmosphere-Ocean Dynamics. Academic Press.

Miller, C.B., 2004: Biological Oceanography. Blackwell Publishing.