i NASA ECCO - Analysis Tools

Analysis Tools

A major ECCO goal is enabling the community to reproduce our model output or solution. All code is completely open source, shareable and reproducible; although it isn’t necessary to reproduce the simulation on your own machine.

We provide many of the fields as monthly means and daily means. These come in two forms: (1) Gridded by 0.5-deg latitude / longitude; and (2) Output as realized by the numerical model. The latter is essential for closed budget calculations (e.g., heat, volume, or salt); however, it can be tricky to work with since the spherical earth has been decomposed into a number of curvilinear tiles. Thus, we provide tools to make it easier to work with this decomposition of the surface.

Analyze ECCO with the Julia Language

View full screen »
This StoryMap has step-by-step instructions to help you analyze ECCO using a high-performance computer language: Julia. Four example notebooks are featured, providing jumping off points for you to carry out your own investigations.

ECCO Version 4 Python Tutorial and Python Package

To support user analysis of the ECCO Central Production Version 4 (ECCO v4) state estimate, we have developed the ECCO Version 4 tutorial. These tutorials are written in Python and make use of the ecco_v4_py Python library. The ecco_v4_py library was written specifically for loading, plotting, and analyzing ECCO v4 state estimate output provided on the native model grid.

All of the tutorials are available as Python code, both as standard Python files and as Python Jupyter Notebooks. Consequently, every tutorial can be reproduced on your own machine. You’ll only need to edit the tutorials so that they know the correct location of the ECCO v4 state estimate output files on your disk.

Default orientation of the lat-lon-cap tile fields
Default orientation of the lat-lon-cap tile fields.


gcmfaces is toolbox to handle gridded Earth variables as sets of connected arrays. Compatible with both Matlab and Octave, the object-oriented approach of gcmfaces allows users to write generic, compact analysis codes that readily become applicable to a wide variety of grids (including the lat-lon-cap used in ECCO version 4).

gcmfaces notably allows for analysis of MITgcm output on any of its familiar grids. It was originally developed as part the ECCO version 4 framework along with the companion MITprof toolbox that handles unevenly distributed in-situ ocean observations.

Four approaches to gridding the Earth
Four approaches to gridding the Earth which are all commonly used in numerical models.


xmitgcm is a Python package for reading MITgcm binary MDS files into xarray data structures. By storing data in dask arrays, xmitgcm enables parallel, out-of-core analysis of MITgcm output data.

Stream function
This image shows stream function. The xmitgcm package enables diagnostic computations like deriving stream function (orange in the equation) from velocity (purple in the equation).