MATLAB Examples

heatflux_interp documentation

The heatflux_interp function returns basal geothermal heat flux from the Community Ice Sheet Model (CISM).


Requirements and installation

This function requires Matlab and Antarctic Mapping Tools. If the function cannot find it will attempt to automatically download basal heat flux data from


bhi = heatflux_interp(lati,loni)
bhi = heatflux_interp(xi,yi)
bhi = heatflux_interp(...,'dataset',dataset)
bhi = heatflux_interp(...,'method',method)


bhi = heatflux_interp(lati,loni) interpolates basal heat flux in units of W/m^2 to geo location(s) given by lati,loni.

bhi = heatflux_interp(xi,yi) interpolates basal heat flux in units of W/m^2 to polar stereographic coordinates (true latitude -71) xi,yi. Coordinates are automatically determined by the islatlon function.

bhi = heatflux_interp(...,'dataset',dataset) specifies a dataset. Default is 'maule2005', but can alternatively be 'shapiro2004'.

bhi = heatflux_interp(...,'method',method) specifies an interpolation method. Default is 'linear'. Any changes you see by specifying a different interpolation method will probably be very small compared to the much larger uncertainties which have already been introduced into this dataset when it was gridded from spase scattered data.

Example: Make a grid and interpolate data to that grid

Map the heat flux anomaly for an 5500 km wide grid centered on South Pole. We'll sample at 10 km resolution:

[lat,lon] = psgrid('south pole',5500,10);

hf_maule = heatflux_interp(lat,lon);
hf_shapiro = heatflux_interp(lat,lon,'dataset','shapiro2004');

Mask out the ocean

The gridded heat flux anomaly dataset was extrapolated beyond the extents of scattered data, so might be best to set heat flux data to NaN wherever ice is not grounded. We can use the Antarctic Boundaries function isgrounded for that:

hf_maule(~isgrounded(lat,lon)) = NaN;
hf_shapiro(~isgrounded(lat,lon)) = NaN;

Plot the data

Again I'm using Mouginot's Antarctic Boundaries dataset to plot a grounding line, but you can delete that line if you wish. Also using the cmocean (Thyng et al., 2016) thermal colormap because it's more attractive and more accurate than Matlab's colormap(hot).

figure('pos',[100 100 725 330])
cb = colorbar;
ylabel(cb,'geothermal heat flux (mW/m^2)')
axis tight off
caxis([50 150])
title 'Shapiro 2004'

cb = colorbar;
ylabel(cb,'geothermal heat flux (mW/m^2)')
axis tight off
caxis([50 150])
title 'Maule 2005'

cmocean thermal

Data citations:

Please be sure to cite whichever dataset you use and also cite Antarctic Mapping Tools if you don't mind.

Greene, C. A., Gwyther, D. E., & Blankenship, D. D. (2016). Antarctic Mapping Tools for Matlab. Computers & Geosciences.

Maule, Cathrine Fox, et al. "Heat flux anomalies in Antarctica revealed by satellite magnetic data." Science 309.5733 (2005): 464-467.

Shapiro, Nikolai M., and Michael H. Ritzwoller. "Inferring surface heat flux distributions guided by a global seismic model: particular application to Antarctica." Earth and Planetary Science Letters 223.1 (2004): 213-224.

Author Info

This function was written by Chad A. Greene of the University of Texas at Austin's Institute for Geophysics (UTIG), January 2016. Chad did not create the data, just this function and supporting documentation. Thanks to Gail Muldoon for updating this function for use with Shapiro and Ritzwoller data.