Documentation of get_20deg_vel


Global Index (short | long) | Local contents | Local Index (short | long)


Help text

  First, load temperature field to get climatology

Cross-Reference Information

This script calls

Listing of script get_20deg_vel


clear

cd /home/disk/hayes2/dvimont/csiro/data

filin = 'temp_A_L1-10.nc'; lev = 1:10;
%tim = [551:1000];
tim = [101:550];
nc = netcdf(filin, 'nowrite');

  depth = nc{'depth'}(:);
  lat = nc{'latitude'}(:);
  lon = nc{'longitude'}(:);

  ctlim = [110 300 -60 60];
  [xk, yk] = keep_var(ctlim, lon, lat);

  temp = nc{'temp'}(tim,1:10,yk,xk);
  mv = nc{'temp'}.missing_value(:);

nc = close(nc);
[ntim, nlev, nlat, nlon] = size(temp);
temp(find(temp == mv)) = NaN * ones(size(find(temp == mv)));
lat1 = lat(yk); lon1 = lon(xk);
get_global; default_global; FRAME = ctlim;

clim = squeeze(mean(temp(:,:,:,:)));

%  Determine the max and min outcropping latitudes of the 20 deg. isotherm

tiso = 20;
latind = [];
for i = 1:nlon;
  tem = [max(find(clim(1,:,i) >= tiso)) min(find(clim(1,:,i) >= tiso))];
  latind = [max([latind tem]) min([latind tem])];
end
latind = latind(2):latind(1);

temp = temp(:,:,latind,:);
clim = clim(:,latind,:);
[ntim, nlev, nlat, nlon] = size(temp);

lat = lat(yk(latind));
lon = lon(xk);
ctlim2 = [ctlim(1:2) floor(min(lat)) ceil(max(lat))];

%  Now, load u and v, ocean velocities

cd /home/disk/hayes2/dvimont/csiro/data

nc = netcdf('ul_L1-10.nc', 'nowrite');
  depth2 = nc{'depth'}(:);
  lat2 = nc{'latitude'}(:);
  lon2 = nc{'longitude'}(:);
  [xk, yk] = keep_var(ctlim2, lon2, lat2);

  u = nc{'u'}(tim,lev,yk,xk);
  mv = nc{'u'}.missing_value(:);
nc = close(nc);
u(u == mv) = NaN;

nc = netcdf('vl_L1-10.nc', 'nowrite');
  v = nc{'v'}(tim,lev,yk,xk);
nc = close(nc);
v(v == mv) = NaN;

lon2 = lon2(xk); lat2 = lat2(yk);

%  Get depth of 20deg isotherm (climatological)

kp1 = find(~isnan(clim(1,:,:))); nkp = length(kp1);
clim = clim(:,kp1);

kp2 = [];
for j = 1:nkp;
  if isempty(find(diff(clim(:,j)) > 0));
    kp2 = [kp2 j];
  end
end

d20clim = NaN * ones(1, nkp);
for i = kp2;
  d20clim(i) = interp1(clim(:,i), depth, 20);
end

d20 = NaN * ones(1, nlat*nlon);
d20(kp1) = d20clim;
d20 = reshape(d20, nlat, nlon);

%  Interpolate depth to get depth of 20deg isotherm
depth20 = NaN * ones(ntim, nkp);
for i = 1:ntim;
  for j = ind;
    depth20(i,j) = interp1(clim2(:,j), squeeze(temp2(i,:,j)), 20);
  end
end


%  Interpolate d20 to u,v grid

d20uv = interp2(lon, lat, d20, lon2, lat2');