# User:Rutarindwar

From REU@MU

## Contents

# Regis Rutarindwa

Hello, my name is Regis Rutarindwa, I am from Rwanda and I will be a senior this coming fall at Wofford College (S.C). I am majoring in Physics and Mathematics with a minor in Computer Science and an emphasis in Computational Sciences.

## Summer 2011 Research : Use of Lagrangian Data Assimilation to model a two-layer 2-vortex-points System

This summer I am working with Dr. Spiller on implementing numerical methods to simulate a 2-level point-vortex model using Lagrangian data assimilation. (click here, to learn more)

### Goals and Milestones

- Implement a 2-level point-vortex model in Matlab. (3 weeks)
- Familiarize myself with data assimilation. (3 weeks)
- Modify existing code for data assimilation of a 1-layer system to model a 2-layers point-vortex system.(July)

## Journal

### Week One

- Tuesday
- Orientation meeting,
- campus tour,
- lunch with mentors, Lab orientation,...

- Wednesday
- Met with Dr Spiller to talk about the research project.
- Read through chapters 1 and 3 of Liyan Liu's thesis
*Lagrangian Data Assimilation into Layered Ocean Model*.

- Thursday
- attended Dr Factor and Dr Brylow talk on Good Research Practices, and the Art of Keeping Logs.
- Tour of the library
- Met with Dr Spiller to set the goals of this research and milestones to be achieved.
- Read a paper handed to me by Dr Spiller on chaotic behavior and dynamical systems.

- Friday
- Went through some existing Matlab code simulating a one-layer 2-point vortex system and tried to understand what it was doing.
- Met with Adam and Dr Spiller and tried to get a better understanding of the code mentioned above.
- Worked on rewriting the complex equations in Dr Spiller's paper,
*Modified particle filter methods for assimilating Lagrangian data into a point-vortex model*in Cartesian form and tried to match them with the ones in the code mentioned above. This will help me when coding Liyan's equations for a 2-layer point-vortex system next week.

### Week Two

- Monday
- Re-read the existing code mentioned above and went through the Runge-Kutta method used to solve the differential equations.
- Finished rewriting Liyan's equations for a 2-layers system with 2 vortices on the top layer and a tracer on the lower layer.
- Implemented these equations in Matlab by modifying the existing code for a one-layer system.
- Searched for reading materials on Data Assimilation in general and Lagrangian D.A. in particular.

- Tuesday
- Re-Read Chapter 6 in
*Numerical Analysis*by Tim Sauer on ODE solvers - Trying to fix the 2-layers with 2 vortices system (mentioned above) implementation. We are expecting the phase graphs to have some sort of symmetry, which we are currently not getting.
- Met with Amanda, Paul and Dr Spiller to talk about ODE solvers.

- Re-Read Chapter 6 in

- Wednesday
- Got the model of the 2-layer system with 2 vortices to work.
- Read the Introduction and the first section of Geir Evensen's book
*Data Assimilation, The Ensemble Kalman Filter*

- Thursday
- Calculated the angular velocity at which the vortices in a 2-layer system spin around each other and use that as a correction factor to rotate the vortices back to their initial positions. The calculated angular velocity provided a rough estimate from which I had to use trials and errors to get a better estimate of a correction factor to rotate the vortices back into place.
- For a fixed lambda, it turns out results I had earlier (previous bullet-point) have a time-scale dependency, they are not suppose to have... Trying to figure out why this is.
- Trying to determine whether the error/time-scale dependency is a numerical error or this is intrinsic to the problem i.e. the system is simply not periodic as we suspected.

- Friday
- No work. Attending Rwanda day in Chicago.

### Week Three

- Monday
- ran the simulation successively with decreasing time steps from 1/625 to 1/5000 to verify if the error we are getting was of order four which would agree with our prediction (error generated by Runge-Kutta method RK4). The error we found was not of order 4.
- Read Chapter 2 and the first couple of section from chapter 3 of
*Data Assimilation, The Ensemble Kalman Filter*

- Tuesday
- Still trying to figure out whether the errors we are getting are numerical or belong to the system we are trying to model. To do this I'm trying to prove that the RK4 works for very small step size where the error of the period does not have a big effect yet.
- Attended Dr Brylow's talk on
*Good Presentations, Good Technical Writing, and the Difference Between Them*

- Wednesday
- still working on yesterday's stuff,... Can't get it to work. Successively testing the Runge-Kutta method to see if it's working, but can't get any really satisfactory results.

- Thursday
- Work lunch with mentors and other REU participants.
- Training on
*Responsible Conduct of Research*, by Tim Melchert, MU Graduate School. - Finally proved that the RK4 method is indeed doing what it's supposed to do and concluded that the errors we are getting are coming from the angular velocity of the vortices (calculated from the period of rotation, which was itself estimated at very small time-steps) and a relatively large time-steps ( 1/20 ~ 1/30 secs).

- Friday
- Read Chapter 1 of
*Dynamic Data Assimilation: A Least Square Approach* - Met with Dr Spiller to go over Chapters 2-3 of
*Data Assimilation, The Ensemble Kalman Filter*.

- Read Chapter 1 of

### Week Four

- Monday
- Tried to add some noises(randomness) into the two previous codes I was working on, and see how it affects them.
- Read the last section of Chapter 3 and some sections of chapter 4 of Evensen's book on Sequential data Assimilation

- Tuesday
- Began to work on modifying the pre-existing code for a 2-layers 2-vortices system to model a 2-layers 4-vortices system.
- Rewrote the vortex equations to include the effect of the added vortices.
- Re-calculated the period of rotation of the vortices (they all rotate at the same speed) and was able to rotate the vortices back to normal position.

- Wednesday
- Worked on implementing the equations for the tracer where it is affected by 4 vortices, whose equations I implemented yesterday.

- Thursday
- Got some velocity field for a tracer on a top layer and on a bottom layer.
- Working lunch and instructions on "How and Where to save data" by Dr Brylow and Dr Factor.
- Finished reading Chapter 4 of Evensen's book.
- Started to read "An introduction to Sequential Monte Carlo Methods".

- Friday
- Compared to Liyan's results, my 2 graphs should have been similar but one rotated 90 degrees from the other. Currently working on fixing that, but first I need to see if I can recreate Liyan's result by using her initial conditions and figure out where the problem is in my code.

### Week Five

- Monday

- Worked on changing the period used to rotate back the tracer and ran the simulation multiple time with different initial values to get new streamlines. This was done on the 2-layer 2 vortices system and the 2-layer 4 vortices system.
- Wrote a layout for thursday's presentation
- met with Dr Spiller to go over a chapter on sequential Monte Carlo method as a technique of Data assimilation.

- Tuesday
- Worked on midway presentation

- Wednesday
- Finished working on midway presentation.
- Had Dr Spiller review the presentation and add comments and suggestions.
- met with Dr Spiller to talk about the upcoming work: writing a particle filter using the Sequential Monte Carlo Method ( (SMC)). Wrote up a very superficial algorithm and looked over all the equations needed to implement the particle filter. Finally, looked over a bullet list of things to do in sequence to get the filter working and post-implementation tests to be run IF the filter works.

- Thursday
- Practise presentation
- Mini-presentation of my work to REU students and Mentors
- modified the existing code to be able to plot Period vs Lambda.

- Friday
- still modifying the code to plot T vs lambda.
- Trying to split the obtained code for parallel processing on pere.
- talked to Adam Mullen on how to log in, copy to/from, run parallel processes on pere.
- My mentor, Dr Spiller, is gone for three weeks. :-(

### Week Six

- Tuesday
- started working on the particle filter.
- successfully ran multiple samples to run through time and have their weights updated at each observations. However, my scoring method was not quite right and had to talk to Adam about it.

- Wednesday
- changed the Runge-kutta integrator to take a array of particles and integrate them at once returning all the steps for all the samples at once. Until now, to get multiples results, I had to manually enter the inputs.
- Tried to adjust the filter code for the change I made above.

- Thursday
- Run again in the problem where the list of weight dont update correctly. I fixed it.
- Corrected the scoring method in the filter.

- Friday
- Try to devise an algorithm to re-sample the cloud of particle if most of the weight is contained by a relatively small portion of the particle cloud.
- Had a lot of troubles with indexes in wlist and xmag.

### Week Seven

- Monday
- Finalize a first what the filter (with no error and doing what it is suppose to do so far) and emailed to Dr Spiller for checking.
- ran test of the code for different values of tmax, nsteps, nbrobs, sysnoise ans sysobs.
- Starting to read Dr Spiller talks on probability, simulation, importance sampling,...

- Tuesday
- Made all the changes Adam suggested that I do on the code including
- use a 3d matrix for xmag
- change the observation time limit
- tried to have the particles predict the vortex positions after each time step and have that used for the next time step.

- Continued reading Dr Spiller's talk on Monte Carlo simulation and Sampling.
- Did some research on singular value decomposition in order to understand the kalman filter code Dr Spiller sent me.

- Made all the changes Adam suggested that I do on the code including

- Wednesday
- More research on SVD and kalman filters.
- started implementing the resampling process of the filter.

- Thursday
- Still working on the resampling process filter of the filter.
- Continued reading Dr Spiller's talk on Monte Carlo simulation and Sampling.

- Friday
- Finished the resampling section of the filter.
- ran a couple of times the filter with/without resampling, averaged the error generated by all runs and tried to see if the resampling was indeed reducing the filtering error. Both of the errors(with and without resampling) are the same until after a couple (6-8) resampling processes take place, then resampling scheme really helps the filter keeping the error down.

### Week Eight

- Monday
- read Dr. Eric Kostelich talks on Ensemble Kalman filter. (Located here )
- Tried to understand the code of an ensemble filter that Dr Spiller sent me.

- Tuesday
- still working on the ensemble filter
- tried to reduce the filtering error by using smaller time steps and more sample particles. However, this drastically increase the running time of the filter.
- Implemented another resampling scheme Adam suggested.

- Wednesday
- Implemented another resampling scheme Dr Spiller suggested.
- started modifying this filter to accommodate the 2 layer PV system with 4 vortices.

- Thursday
- Mostly worked on the new version of the filter for 2 layer PV systems with 4 vortices.

- Friday
- got the new version of the filter to finally work, but its error is much greater than the error of the 2-vortices system. I'm working on finding whether that is due to the dynamics of the system itself or the implementation
- started to sketch out an outline for my presentation and looking into poster samples and best editor option between latex and powerpoint.
- ran the first working version of the filter (for 2 vortices) 500 times on pere, gathered all the data and is looking into whether averaging all these runs would show that the filter indeed does a better job than I can currently see with one run of the filter.

### Week Nine

- Monday
- Met with Dr Spiller, showed her my results on the particle filter for 2 vortices and my work on the PF for 4 vortices, my abstract for the math conference at Ohio State I'm applying to, and a draft of my poster.
- gained some new directions on how to test the efficiency of the filters.
- re-ran the 500 test runs again but this time recording the randn seed, to be able to reproduce worst and best case filtering and analyse why and how exactly these occcured.
- continued editing my poster.

- Tuesday
- continued editing my poster
- ran 500 test runs of the filter for 4-vortices system on pere, and it is taking 3 times longer than the previous experiments.

- Wednesday
- Finished poster.
- The results from the filtering of PV system with 4 vortices aren't quite good. Dr Spiller suggested that I ran the filter without the rotating frame feature.
- Started to modify particle filter to assimilate observation from 2 drifters.

- Thursday
- still working on the even newer version of the PF (2 drifters)