JLAB + JDATA v. 1.5
Open Source Oceanographic Data and Analysis Software

JLAB+JDATA version 1.5 is available as of April 14, 2015.

Click to download jlab-full.zip [2.4 GB] which includes four major oceanographic datasets in the JDATA module, or jlab-spartan.zip [67 MB] which does not. Make sure to follow the installation instructions.

If the above links are slow, you can alternatively ftp to ftp.jmlilly.net with username "lillyguest" and password "jlabftp", then "get jlab-full.zip" or "get jlab-spartan.zip". If both of these download methods are slow please let me know.

This is a major new release that includes changes to accommodate the graphics changes introduced in Matlab R2014b, as well as a new modular organization. The entire package has been streamlined and modernized, with many obsolete or redundant routines removed, and many others improved or updated.

In addition to a large set of freely distributed data analysis routines, this release also includes four major oceanographic datasets in conveniently organized mat-files in the supplementary JDATA module:

  • floats — Historical dataset of eddy-resolving subsurface floats.
  • drifters — Global surface drifter dataset from the Global Drifter Program.
  • alongtrack — Alongtrack sea surface height anomalies from the Beckley merged TOPEX/Poseidon/Jason dataset.
  • jtopo — A one-sixth degree global topography mat-file based on Smith and Sandwell, plus their full one-minute dataset accessible via readtopo.

JLAB has many routines intended to work specifically with the formats of these datasets. All data is distributed in accordance with the copyright policies of the data sources, as described in the JDATA documentation. All processing steps in generating the mat-files are also made available.

To get started with JLAB, check out the extensive online help files, some of which now include embedded figures, as well as the highlights file. See the changelog to find out what's new.

Also, download and run two demo files, drifterdemo and mooringdemo, for an interactive tour through some of JLAB's functionality. Run these by typing 'echodemo drifterdemo' or 'echodemo mooringdemo' at the command prompt.

Please send comments, questions, and bug reports to eponym at jmlilly dot net.

JLAB has been downloaded thousands of times globally. Thanks for your interest!

The online help files were built using the m2html documentation system.


Upon unzipping, the JLAB package will be located in a folder called "jlab". Put this folder in a convenient location and put an "addpath" statement in your "startup.m" file, e.g. "addpath /Users/lilly/matlab/jlab". Then add the line 'jlab_addpath' to your startup.m file and execute it; this adds the various JLAB subdirectories to your path.

Then type "jlab_runtests tests" at the Matlab command prompt to run a series of tests to check that everything is working properly. If any tests fail, it's probably not going to cause you any trouble, but I'd appreciate it if you would let me know.

If you end up using JLAB then please subscribe to the mailing list so I can keep you informed about new releases.


JLAB is a set of Matlab functions I have written or co-written over the past twenty years for the purpose of analyzing data, with an emphasis on oceanographic application and time series analysis. It consists of over two hundred and fifty m-files spanning thirty-seven thousand lines of code. JLAB includes functions ranging in complexity from one-line aliases to high-level algorithms for certain specialized tasks. About five hundred automated tests and dozens of scripts for sample figures help keep things organized. These functions have been made publicly available for you to use, modify, and—subject to certain very reasonable constraints—to redistribute.