Nonlinear Filtering for Data Assimilation of SemiLagrangian Ocean Glider Data
Contents
Nonlinear Filtering for Data Assimilation of SemiLagrangian Ocean Glider Data
The goal of this project is to develop efficient techniques for assimilating glider data into nonlinear ocean models. First, it will involve taking current particle filtering data assimilation techniques for 2D ocean models and scaling them to work on higher dimensional, more realistic, and more complex models—such as models with unknown time varying strengths of vortices—in a computationally feasible way. To start, these techniques will focus on assimilating data from tracers which only move with the flow, unlike gliders which can maneuver themselves. Then, the next task is to develop techniques for assimilating gliderlike data (instead of tracer data) into these models and utilizing modelbased prediction to help inform future flight paths of the glider. The final task will be to scale the ocean model to include a third spatial dimension and adapting the previous method to inform the glider's future flight path in three dimensions.
You can find my NSF GRFP proposal for this project here
Outline/Timeline of Research
1/13/11
Info
This version marks the start of Spring 2011 research. I have turned the particle filter script into a generic function that takes the system and filter parameters as arguments. It is restricted to just two vortices, but allows for different strengths. Also, the vortex strengths are unknown to the particle filter. I also have included the experiment_script.m
script which runs numerous simulations of the particle filter. The resulting error time series are saved in errors.mat
and all the variables are saved in workspace.mat
.
Notes
 The variances for the initial distribution of particles is still hardcoded into
two_point_vortex_particle_filter.m
instead of being arguments.  The variance (actually st. dev) of the stochastic part of the differential equation is hardcoded into
g.m
instead of being an argument to the particle filter. I'm not sure which is more appropriate, so I'm keeping it ing.m
for now.
Files
Directory ~/research/1_13_11/
Filename  Description 

experiment_script.m

Driver script for running numerous simulations of the particle filter. All variables saved in workspace.mat . Error timeseries for the weighted mean of the particle cloud are saved in errors.mat .

two_point_vortex_particle_filter.m

Generic function for performing a single simulation using the particle filter. Vortex strengths are unknown. Allows arbitrary number of observations, arbitrary time steps, arbitrary number of particles, arbitrary strengths for vortices. Can only handle two vortices. 
SRK4.m

Numerical RungeKutta integration for stochastic differential equations. Function f.m is the deterministic part. Function g.m is the stochastic part.

f.m

Deterministic part of the stochastic differential equation describing the system used in two_point_vortex_particle_filter.m .

g.m

Stochastic part of the stochastic differential equation describing the system used in two_point_vortex_particle_filter.m .

H.m

Observation operator. Here, it maps the entire state vector to a two vector containing just the first two entries (the tracer location) of the state vector. 
R.m

Fitness function for determining weights of particles after comparison with an observation. 
Fall 2010
Info
This directory contains all files used in Fall 2010.
 It contains a script for a particle filter with resampling applied to the two point vortex system with equal and known vortex strengths.
 It contains a script for a particle filter with resampling applied to the two point vortex system with different, but known, vortex strengths.
 It contains a script for a particle filter with resampling applied to the two point vortex system with different and unknown vortex strengths.
 It contains a numerical RungeKutta integration routine for stochastic differential equations.
Files
Directory ~/research/Fall_2010