Documentation of get_20deg_isodepth


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


Help text

tim = [551:1000];

Cross-Reference Information

This script calls

Listing of script get_20deg_isodepth


clear
cd /home/disk/hayes2/dvimont/csiro/data
filin = 'temp_A_L1-10.nc';
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,yk,xk);
  mv = nc{'temp'}.missing_value(:);

nc = close(nc);
temp(temp == mv) = NaN;
lat1 = lat(yk); lon1 = lon(xk);
clim = squeeze(mean(temp));
[ntim, nlev, nlat, nlon] = size(temp);

%  Get climatological max and min outcropping latitudes for 20deg isotherm

tiso = 20;
latind = [];
for i = 1:nlon;
  tem = [max(find(clim(:,i) >= tiso)) min(find(clim(:,i) >= tiso))];
  latind = [max([latind tem]) min([latind tem])];
end
if rem(size([latind(2):latind(1)]), 2);
  latind(1) = latind(1)+1;
end
lat = lat1(latind(2):latind(1));

ctlim = [110 300 floor(lat1(latind(2))) ceil(lat1(latind(1)))];

%  load variables within outcropping latitudes

tim = [551:1000];
cd /home/disk/hayes2/dvimont/csiro/data
nc = netcdf(filin, 'nowrite');

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

  [xk, yk] = keep_var(ctlim, lon, lat);

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

nc = close(nc);
temp(temp == mv) = NaN;
[ntim, nlev, nlat, nlon] = size(temp);
lat = lat(yk); lon = lon(xk);

%  Average every other lat and lon

clim = squeeze(mean(temp));
if 1;

  temp = shiftdim(temp, 2);
  clim = shiftdim(clim, 1);
  temp2 = NaN * ones(ntim, nlev, nlat/2, nlon/2);
  clim2 = NaN * ones(nlev, nlat/2, nlon/2);
  for i = 1:nlat/2;
    indy = 2*(i-1)+[1:2];
    for j = 1:nlon/2;
      indx = 2*(j-1)+[1:2];
      temp2(:,:,i,j) = squeeze(mean2(mean2(temp(indy,indx,:,:))));
      clim2(:,i,j) = squeeze(mean2(mean2(clim(indy,indx,:))));
    end
  end
  lat = mean([lat(1:2:nlat)' ; lat(2:2:nlat)']);
  lon = mean([lon(1:2:nlon)' ; lon(2:2:nlon)']);

else

  temp2 = temp;
  clim2 = clim;
end

[ntim, nlev, nlat, nlon] = size(temp2);
kp20 = find(clim2(1,:) >= tiso);

temp2 = reshape(temp2, ntim, nlev, nlat*nlon);
temp2 = temp2(:,:,kp20);
[ntim, nlev, nkp] = size(temp2);
temp2 = reshape(shiftdim(temp2, 1), nlev, nkp*ntim);

d20 = NaN * ones(1, nkp*ntim);
for i = 1:nkp*ntim
  if ~sum(diff(temp2(:,i)) > 0);
    d20(i) = interp1(temp2(:,i), depth, 20);
  end
end

d20 = reshape(d20, nkp, ntim);
d20 = shiftdim(d20, 1);
d20tot = NaN * ones(ntim, nlat*nlon);
d20tot(:,kp20) = d20;
nlat = length(lat); nlon = length(lon);
d20tot = reshape(d20tot, ntim, nlat, nlon);

cd /home/disk/hayes2/dvimont/csiro/matlab_data/20Deg_Isotherm

save depth_20deg_ave_yr551-1000.mat d20tot lat lon ctlim