MATLAB Examples

fopprofile documentation

The fopprofile function creates a vertical profile of surface elevation, bed elevation, and aircraft elevation along a flight line given waypoints. This function does NOT require Matlab's Mapping Toolbox but it does require Antarctic Mapping Tools and the Bedmap2 Toolbox.

Contents

Syntax

fopprofile(lat,lon,z)
fopprofile(x,y,z)
fopprofile(lat,lon,'height',h)
fopprofile(x,y,'height',h)
fopprofile(...,'turns',turns)
fopprofile(...,'turns',turns,'radius',TurningRadius_m)
fopprofile(...,'speedkn',Speed_in_knots)
fopprofile(...,'science')

Description

fopprofile(lat,lon,z) plots a Bedmap2 profile of ice surface and bed elevations along the transect given by lat,lon. Geo coordinates can be in the form of decimal degrees or at two-column matrices of degrees and decimal minutes (i.e., [latdeg latmin],[londeg lonmin] ). The third input z is altitude in meters above the GL04c geoid. z can be a scalar to set flying height to a constant, or can be set at each waypoint. Starting and ending z values are always set to the Bedmap2 surface elevation.

fopprofile(x,y,z) specifies input waypoints in ps71 coordinates. Polar stereo- graphic coordinates are automatically determined via the islatlon function.

fopprofile(lat,lon,'height',h) sets flying height relative to the surface rathern than relative to the ellipsoid. If h is a scalar, flying altitude is the surface elevation + h at each waypoint. If h is a vector heights are set for each waypoint. Height is automatically set to zero at the start and end points. Units are meters.

fopprofile(x,y,'height',h) as above, but with ps71 input coordinates.

fopprofile(...,'turns',turns) specifies a vector of turn types for calculation by the fopturns function. Use zeros for each waypoint except 270 where at waypoints where you want big loopy turns and set turns to 180 at the at the beginning of a 180 degree turn. For more info see the fopturns documentation. If turns are not specified, straight-line distances and times are calculated.

fopprofile(...,'turns',turns,'radius',TurningRadius_m) specifies an aircraft turning radius in meters. Default turning radius is 5000 m.

fopprofile(...,'speedkn',Speed_in_knots) specifies flying speed in knots. Must be constant (scalar). Default speed is 165 knots.

fopprofile(...,'science') generates a profile tailored for science. By default, if the science option is not selected, the profile is tailored for pilots.

Example 1: Simple case

Specify waypoints in decimal degrees and a constant 3003 meter flying elevation:

lats = [-79.4677  -79.5170  -75.2492  -75.3733  -79.6945  -79.8210  -78.0170  -79.4677];
lons = [-112.0860 -121.7898 -131.0195 -132.3613 -123.5588 -124.9253 -129.2335 -112.0860];
z = 3003;

modismoa(mean(lats),mean(lons),900,'inset','nw')
plotm(lats,lons,'g-','linewidth',2)

Get an elevation profile along the green straight-line path:

figure
fopprofile(lats,lons,z)

Example 2: Polar stereographic units and height above surface

Specify waypoints as ps71 coordinates, set flying height above surface at each waypoint, and estimate flight time based on 140 knot flying speed:

[x,y] = ll2ps(lats,lons);
h = [0 1000 1600 1300 1100 1100 800 0];

figure
fopprofile(x,y,'height',h,'speedkn',140)

Example 3: Include turns

Same as Example 1, but specifying 270 degree turns at waypoints 2, 3, and 7 and start a 180 degree turn at waypoint 5:

turns = [0 0 270 270 180 0 270 0];

figure
fopprofile(lats,lons,z,'turns',turns);

Note that waypoints 2, 3, and 7 are marked twice in the profile because they are passed twice--once before the loop and once after the loop.

Example 4: Specify turning radius

Same as Example 3, but specify a 12 km turning radius and plot a science profile:

figure
fopprofile(lats,lons,z,'turns',turns,'radius',12000,'science');

Author Info:

The fopprofile function and supporting documentation were written by Chad A. Greene of the University of Texas at Austin's Institute for Geophysics (UTIG), November 2015.