The ibcso_interp function interpolates bed elevations from the International Bathymetric Chart of the Southern Ocean (IBCSO) digital bathymetric model. IBCSO data are described in full on the IBCSO website and the GRL paper describing the IBSCO dataset is here.
Description of files in the IBCSO Toolbox:
- ibcso_install simply downloads and unzips IBCSO data.
- ibcso_data returns native-resolution gridded IBCSO DEM bathymetry or gridded distance-to-nearest-measurement.
- ibcso_interp interpolates to any arbitrary point(s) given by lat,lon or x,y.
- ibcso plots the official IBCSO RGB image, the IBCSO DEM as a color-scaled pcolor or contour plot, or distance-to-nearest measurement.
zi = ibcso_interp(lati,loni) zi = ibcso_interp(xi,yi) zi = ibcso_interp(...,method) zi = ibcso_interp(...,'wgs84')
zi = ibcso_interp(lati,loni) interpolates the IBCSO dem to georeferenced location(s) lati,loni. lati and loni can be scalar, vector, or 2D grid. Dimensions of lati and and loni must match.
zi = ibcso_interp(xi,yi) interpolates the IBCSO dem to polar stereographic (true lat 71°S) eastings and northings xi,yi, where xi and yi are in meters and can be scalar, vector, or 2D grid. Dimensions of xi and and yi must match. If any element in the first input of ibcso_interp has an absolute value exceeding 90, polar stereographic cartesian coordinates are assumed.
zi = ibcso_interp(...,method) specifies a 2D interpolation method. See interp2 for details. Default interpolation method is 'linear'.
zi = ibcso_interp(...,'wgs84') returns elevations relative to the WGS84 ellipsoid. By default, elevations are relative mean sea surface elevation, which is very close the GL04C geoid. The 'wgs84' option uses the Bedmap2 Toolbox to perform conversion.
This function requires
- Antarctic Mapping Tools found here.
- Matlab's Mapping Toolbox.
- The Bedmap2 Toolbox for Matlab is required for conversion to the WGS84 ellipsoid reference.
To install the IBCSO dataset, simply run ibcso_install.
Example 1: A line through the center of the continent, 750 meter spacing:
Here's a line through the center of the continent, defined by polar stereographic eastings and northings:
x = -3e6:750:3e6; y = zeros(size(x));
To see that line in context, we'll plot it as a red line over Antarctic boundaries via antbounds:
antbounds('gl','poly') hold on antbounds('shelves','poly') plot(x,y,'r','linewidth',3) axis tight
A bed elevation profile along the blue line can be found by:
z = ibcso_interp(x,y);
We can plot that:
figure plot(x/1000,z,'r') xlabel('easting (km)')
Example 2: Geo coordinates and cubic interpolation:
Using x,y from Example 1 above, get the same profile using georeferenced coordinates and perform cubic interpolation to get the bed elevation:
[lat,lon] = ps2ll(x,y); z2 = ibcso_interp(lat,lon,'cubic');
We can plot that too:
hold on plot(x,z2,'b') legend('xy linear','geo cubic')
Not surprisingly, they're very close.
Example 3: Compare IBCSO to the Bedmap2 grid:
For direct comparson, we can load the lat,lon grid of Bedmap2 and interpolate IBCSO data to Bedmap2's grid. We'll use a 5 km resolution dataset to keep computation time reasonable:
[lat,lon,bedmap2_z] = bedmap2_data('bed','res','5 km'); ibcso_z = ibcso_interp(lat,lon); % (give it a few seconds)
We can now plot the difference between IBCSO and Bedmap2. The colormap is from cmocean (Thyng et al., 2016):
figure pcolorps(lat,lon,ibcso_z-bedmap2_z) antbounds('gl','k') % black grounding line antbounds('coast','k') % black coast line axis tight off % remove axis labels and white space cb = colorbar; ylabel(cb,'IBCSO - Bedmap2 (m)') caxis([-500 500]) cmocean balance
Citing IBCSO data
If these functions are useful for you, please cite the following:
Arndt, J. E., et al. (2013), The International Bathymetric Chart of the Southern Ocean (IBCSO) Version 1.0-A new bathymetric compilation covering circum-Antarctic waters, Geophys. Res. Lett., 40, 3111-3117, doi:10.1002/grl.50413.
Greene, C. A., Gwyther, D. E., & Blankenship, D. D. Antarctic Mapping Tools for Matlab. Computers & Geosciences. 104 (2017) pp.151-157. doi:10.1016/j.cageo.2016.08.003.
This function was written by Chad A. Greene of the Institute for Geophysics at the University of Texas in Austin July 2015. Updated September 2015 to allow conversion to the WGS84 ellipsoid.