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.
- 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.
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 over an inferred Bedmap2 grounding line in polar stereographic coordinates:
A bed elevation profile along the blue line can be found by:
z = ibcso_interp(x,y);
We can plot that:
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,'r') legend('xy linear','geo cubic')
Not surprisingly, they're very close.
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. I'm using brewermap to get that real nice red-white-blue color scale:
antmap pcolorm(lat,lon,ibcso_z-bedmap2_z) cb = colorbar; ylabel(cb,'IBCSO - Bedmap2 (m)') caxis([-500 500]) brewermap(256,'RdBu')
If you use IBCSO data, 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.
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.