Lobster Visualization

From SuperMe

Jump to: navigation, search

My focus in the Lobster Larvae Visualization project is using the mountain of data we have to visualize lobster larvae migration.

This is a challenge because we do not yet know of visualization software that is compatible with our data. Prior, the team had been looking to UNH's visualization software, GeoZui4D -- however, our data isn't quite compatible with the software and UNH has been slow to produce their code for tailoring.

This is a personal challenge because I am unfamiliar with oceanography, MatLab, netCDF, and visualization software. I hope to learn a lot about a field that I have never considered.

Weekly Progress -- Week 1: June 8 - June 14

This week was spent ascertaining what my involvement in the Lobster Larvae visualization project will be. I have made a To-Do list for the coming week:

  • familiarize myself with the files and file formats that I am to be working with
  • go over the shell scripts Steve Cousins has written to understand how the data is currently being output to a netCDF file
  • download GeoZui4D and see if our data is compatible with it
  • look for visualization software alternatives to GeoZui4

Weekly Progress -- Week 2: June 15 - 21

June 15

June 16

  • Read up on CDL Syntax with this page: CDL Syntax
  • Tried to determine what purpose each file in the tracer-to-geozui4d directory serve

- all-days.nc: This is the netCDF file generated from ncgen of the CDF file all-days.ncl via the utm-to-nc shell script

- all-days.ncl: CDL file that provides the information for the generation of the netCDF file all-days.nc

- utm-to-nc: Converts CDL file all-days.ncl to netCDF file all-days.nc

- utm-subsample-to-nc: same as utm-to-nc except a few differences; works with a subsample of the data

- go: calls convert-tracer-to-utm.pl to convert all tracer files to UTM (Universal Transverse Mercator) coordinates

- go.subsample: does the same thing as go on a subsample

- header.template: contains the header for the CDL file used to create the netCDF file

- figure-seconds.sh: for all numbers i from 0 to 79, $TOTAL = i*10800+1117584000; thus, 1117584000 through 1118437200 printed

- sedXgxIzZ, test.txt: These two files are very similar to all-days.ncl except they contain less info; not sure what this is used for yet.

- convert-tracer-to-utm.pl

- convert-and-subsample-tracer-to-utm.pl


June 17


Jim Manning has sent a helpful email about one approach to visualizing data. He has outlined the following steps for animation using Matlab:

  • loop through time making a new ppm figure with each time step
  • make a list of figure filenames
  • run ppm2fli listname flifilename
  • view result with xanim or some other viewer that handles it
  • convert fli to flash with flash software (for optional web viewing)

- ppm: Netpbm color image format; PPM format is a lowest common denominator color image file format.

- ppm2fli: generates FLI animation files form a series of images

- xanim: a program for playing a wide variety of animation, audio and video formats on unix X11 machines

he advises to run code on a subset, as he has never run as many particles as we use. he also provided his animate.m file but suggests that i write my own from scratch.


Weeding through Jim's file has not been particularly illuminating, so I am setting off to explore his methodology on my own. I thought it might expedite progress if I wrote in a language I was more familiar with, such as C or Java. I decided to explore the option of using C-based Matlab compatible MEX-files.


June 18

  • Read up on PPM formatting with its man page and this website: Using PPM/PGM
  • Experimented with PPM files
  • Looked for other viable 3D visualization software
  • started a program in C that tries to convert tracer files to PPM images


Tomorrow I will look into implementing this program in Matlab or Perl, as C is complicated when dealing with files and strings. The reason I am trying C is because I have had experience with it. I am having a hard time getting the hang of Matlab.


Weekly Progress -- Week 3: June 22 - 28

June 22

  • trying to get the data for tracers at 1 depth in order to plot them on the coastline plot
  • trying to get a subsample of the data using Matlab

June 23

  • worked on plotting tracers at a single depth in Matlab
  • worked on editing existing Perl files in order to output a subsample of the data



Weekly Progress: Week 4: June 29 - July 3

June 29

  • edited the Perl subsample script to take in a tracer file and a depth and to output a file that contains only the longitudes and latitudes for that depth

July 2

  • getting movie function to work



Weekly Progress: Week 5: July 6 - 10

July 6

  • made file names compatible with Matlab
  • changed 2 for loops in move.m to 1
  • worked on having tracers from the previous frame not show up in the next while maintaining the plot coast