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

JLAB+JDATA version 1.0 is available as of July 8, 2014.

Please note that because of extensive changes to the graphics functionality in the latest release of Matlab, R2014b, it is recommended that you use R2014a or earlier with this version of JLAB.

In addition to a large set of freely distributed data analysis routines, in JLAB, this new 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.
  • tpjaos — 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, downloaded and run these two demo files, mooringdemo and drifterdemo, for an interactive tour through some of JLAB's functionality.

Click to download jlab-current.zip [10 MB] and jdata.zip [2 GB].
Alternatively, JDATA is available via ftp as follows:
     ftp ftp.nwra.com, name "anonymous", cd outgoing/lilly, get jdata.zip.

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".

For JDATA, similarly unzip the download and add a path to the "jdata" directory in your "startup.m" file.

If you have an older version, simply throw it away and install the new version.

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 about four hundred and thirty m-files spanning forty-five 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.