MATLAB Examples

cryosat2_interp documentation

The cryosat2_interp function interpolates the Helm et al. CryoSat-2 surface elevation DEM to any geo- or polar stereographic coordinates.

See also cryosat2_data.


Requirements and installation

This function requires the Antarctic Mapping Tools package found here. You'll also need the dataset(s) from Helm and/or Slater. You might just want one or both, it's up to you.

Helm: You can download the data manually here, unzip the two Antarctic folders containing .tif files, and make sure Matlab knows how to find the folders by adding a path to the folder. Alternatively you might able to just type the following two lines to download and unzip the Helm data:


Slater: Manually download the .tif files here. Or you can try typing this into your Command Window:



zi = cryosat2_interp(lati,loni)
zi = cryosat2_interp(xi,yi)
zi = cryosat2_interp(...,'uncertainty')
zi = cryosat2_interp(...,'method',InterpolationMethod)
zi = cryosat2_interp(...,'author',AuthorOption)


zi = cryosat2_interp(lati,loni) returns surface elevations relative to the WGS-84 ellipsoid at geo coordinates lati,loni in decimal degrees.

zi = cryosat2_interp(xi,yi) returns surface elevations relative to the WGS-84 ellipsoid at xi,yi which are locations in polar stereographic meters with a true latitude of 71 S.

zi = cryosat2_interp(...,'uncertainty') interpolates the uncertainty grid rather than the surface elevation grid.

zi = cryosat2_interp(...,'method',InterpolationMethod) specifies any interpolation method supported by Matlab's inbuilt interp2 function. Default interpolation method is 'linear'.

zi = cryosat2_interp(...,'author',AuthorOption) specifies either 'slater2018' (default), or 'helm2014'.

Example: Compare Helm and Slater DEMs.

For a 500 km wide grid at 500 m resolution centered on Wilkins Ice Shelf:

[lat,lon] = psgrid('wilkins ice shelf',500,0.5);
Z_slater = cryosat2_interp(lat,lon);
Z_helm = cryosat2_interp(lat,lon,'author','helm2014');

Now map it. Use surfps so we can apply relief shading to the Z_slater surface while letting the color signify the difference between the two DEMs. Below I'm using a cmocean divergent colormap (Thyng et al., 2016).


cb = colorbar;
ylabel(cb,'Z_{Slater} - Z_{Helm} (m)')
cmocean('-delta','pivot') % sets colormap that pivots about zero value

view(2)    % sets 2D view
axis tight % eliminates white space
axis off   % removes x y coordinates
shadem(-3) % applies hillshade

mapzoomps('sw') % places an inset map in the lower left corner

Citing these datasets

If you use CryoSat-2 data, please cite whichever dataset you use and, if you can, please also cite Antarctic Mapping Tools:

Slater, Shepherd, McMillan, Muir, Gilbert, Hogg, Konrad and Parrinello: A new digital elevation model of Antarctica derived from CryoSat-2 altimetry, The Cryosphere, 2018.

Helm, Veit; Humbert, Angelika; Miller, Heinz (2014): Elevation and elevation change of Greenland and Antarctica derived from CryoSat-2. The Cryosphere, 8(4), 1539-1559,

Greene, C. A., Gwyther, D. E., & Blankenship, D. D. Antarctic Mapping Tools for Matlab. Computers & Geosciences. 104 (2017) pp.151-157.

Author Info

This function was written by Chad A. Greene of the Institute for Geophysics at the University of Texas in Austin April 2016, updated May 2018 for Slater's new DEM.