Documentation of plot_olr


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


Help text

  Get oi_clim data

Cross-Reference Information

This script calls

Listing of script plot_olr



cd /cdrom
filin = 'clim_dec82-jun98.nc';
nc = netcdf(filin, 'nowrite');
  lat = nc{'lat'}(:);
  lon = nc{'lon'}(:);
  olr = nc{'FLNT'}(:);
nc = close(nc);

%  Get NCEP product

cd /home/disk/tao/data/olr
filin = 'olr.monthly.7498.nc';
nc = netcdf(filin, 'nowrite');
  olat = nc{'lat'}(:);
  olon = nc{'lon'}(:);
  otim = nc{'time'}(97:290);
  datolr = nc{'data'}(97:290,:,:);
nc = close(nc);


fid = ncmex('OPEN', filin, 'NC_NOWRITE');
  [time_base, status] = ncmex('ATTGET', fid, 'time', 1);
fid = ncmex('CLOSE', fid);

%  Convert to W/m^2

fid = ncmex('OPEN', filin, 'NC_NOWRITE');
  [ao, status] = ncmex('ATTGET', fid, 'data', 'add_offset');
  [sf, status] = ncmex('ATTGET', fid, 'data', 'scale_factor');
fid = ncmex('CLOSE', fid);

datolr = datolr*sf + ao;
mv = max(max(max(datolr)));
datolr(find(datolr == mv)) = NaN*ones(size(find(datolr == mv)));

cd ~/matlab/CCM/oi_plots
latk = find(lat >= -45 & lat <= 45);
olatk = find(olat >= -45 & olat <= 45);

%  Plot DJF values

[ntim, nlat, nlon] = size(datolr);
datolr = reshape(datolr, ntim, nlat*nlon);
[datolr, clim] = annave(datolr);
clim = reshape(clim, 12, nlat, nlon);

global XAX YAX FRAME
FRAME = [0 360 -45 45];

orient tall

XAX = lon;
YAX = lat(latk);
tem = squeeze(mean(olr([1 2 12],latk,:)));
subplot('Position', [.1 .53 .8 .42])
%     gcont(tem, lims, [-200:10:200])
     mcont(tem, [-100:20:400], 'eqdcylin', 1);
     title('DJF OLR OI\_CLIM')
     xlabel('Contour Interval:  20 W/m^2')
     set(gca, 'DataAspectRatio', [1.8 1 1])
XAX = olon;
YAX = olat(olatk);
tem = squeeze(mean(clim([1 2 12],olatk,:)));
subplot('Position', [.1 .0525 .8 .42])
%     gcont(tem, lims, [-100:20:200])
     mcont(tem, [-100:20:400], 'eqdcylin', 1);
     title('DJF OLR NCEP Product')
     xlabel('Contour Interval: 20 W/m^2')
     set(gca, 'DataAspectRatio', [1.8 1 1])

%  Get ENSO climatologies
%  First, get time axis

tem = otim - otim(1);
mo = [];
for i = 1:(ceil(ntim/12));
  mo = [mo 1:12];
end
mo = mo(1:ntim);
yr = floor(tem / 365) + 1982;

%  Get cold and warm year climatologies;

cd /home/disk/tao/data/olr
filin = 'olr.monthly.7498.nc';
nc = netcdf(filin, 'nowrite');
  datolr = nc{'data'}(97:290,:,:);
nc = close(nc);
datolr = datolr*sf + ao;
mv = max(max(max(datolr)));
datolr(find(datolr == mv)) = NaN*ones(size(find(datolr == mv)));

wyr = [1983 1988 1992 1995 1998];
cyr = [1984 1985 1989 1996 1997];

wind = intersect(find(ismember(yr, wyr)), find(ismember(mo, 1)));
cind = intersect(find(ismember(yr, cyr)), find(ismember(mo, 1)));

wolrdat = reshape(mean2(datolr([wind wind-1 wind+1],:,:)),nlat,nlon);
colrdat = reshape(mean2(datolr([cind cind-1 cind+1],:,:)),nlat,nlon);

%  Get WCLIM and CCLIM data from cd

cd /cdrom
filin = 'coldenso.nc';
nc = netcdf(filin, 'nowrite');
  colr = nc{'FLNT'}(:);
nc = close(nc);
colr = squeeze(mean(colr(2:4,:,:)));

filin = 'warmenso.nc';
nc = netcdf(filin, 'nowrite');
  wolr = nc{'FLNT'}(:);
nc = close(nc);
wolr = squeeze(mean(wolr(2:4,:,:)));

%  Plot warm events

cd ~/matlab/CCM/oi_plots

XAX = lon;
YAX = lat(latk);
tem = wolr(latk,:);
subplot('Position', [.1 .53 .8 .42])
%     gcont(tem, lims, [-200:10:200])
     mcont(tem, [-100:20:400], 'eqdcylin', 1);
     title('Warm Event DJF OLR OI\_CLIM')
     xlabel('Contour Interval:  20 W/m^2')
     set(gca, 'DataAspectRatio', [1.8 1 1])
XAX = olon;
YAX = olat(olatk);
tem = wolrdat(olatk,:);
subplot('Position', [.1 .0525 .8 .42])
%     gcont(tem, lims, [-100:20:200])
     mcont(tem, [-100:20:400], 'eqdcylin', 1);
     title('Warm Event DJF OLR NCEP Product')
     xlabel('Contour Interval: 20 W/m^2')
     set(gca, 'DataAspectRatio', [1.8 1 1])

%  Plot cold events

XAX = lon;
YAX = lat(latk);
tem = colr(latk,:);
subplot('Position', [.1 .53 .8 .42])
%     gcont(tem, lims, [-200:10:200])
     mcont(tem, [-100:20:400], 'eqdcylin', 1);
     title('Cold Event DJF OLR OI\_CLIM')
     xlabel('Contour Interval:  20 W/m^2')
     set(gca, 'DataAspectRatio', [1.8 1 1])
XAX = olon;
YAX = olat(olatk);
tem = colrdat(olatk,:);
subplot('Position', [.1 .0525 .8 .42])
     mcont(tem, [-100:20:400], 'eqdcylin', 1);
     title('Cold Event DJF OLR NCEP Product')
     xlabel('Contour Interval: 20 W/m^2')
     set(gca, 'DataAspectRatio', [1.8 1 1])

%  Plot differences

tem = squeeze(mean2(clim([12 1 2],:,:)));
tem = interp2(olon, olat, tem, lon', lat);

XAX = lon;
YAX = lat(latk);
tem = squeeze(mean2(olr([12 1 2],latk,:))) - tem(latk,:);
subplot('Position', [.1 .53 .8 .42])
     mcont(tem, [-100:10:100], 'eqdcylin', 1);
     title('OLR (OI\_CLIM - NCEP)')
     xlabel('Contour Interval:  10 W/m**2')
     set(gca, 'DataAspectRatio', [1.8 1 1])

tem = interp2(olon, olat, wolrdat, lon', lat);
tem = wolr(latk,:) - tem(latk,:);
subplot('Position', [.1 .53 .8 .42])
     mcont(tem, [-100:10:100], 'eqdcylin', 1);
     title('Warm Event DJF OLR (OI\_CLIM - NCEP)')
     xlabel('Contour Interval:  10 W/m**2')
     set(gca, 'DataAspectRatio', [1.8 1 1])

tem = interp2(olon, olat, colrdat, lon', lat);
tem = colr(latk,:) - tem(latk,:);
subplot('Position', [.1 .0525 .8 .42])
     mcont(tem, [-100:10:100], 'eqdcylin', 1);
     title('Cold Event DJF OLR (OI\_CLIM - NCEP)')
     xlabel('Contour Interval:  10 W/m**2')
     set(gca, 'DataAspectRatio', [1.8 1 1])

%  Plot warm vs. cold anomalies:

XAX = lon;
YAX = lat(latk);
tem = wolr(latk,:)-squeeze(mean(olr([12 1 2],latk,:)));
subplot('Position', [.1 .53 .8 .42])
     mcont(tem, [-105:10:105], 'eqdcylin', 1);
     title('Warm Event DJF OLR anom (OI\_WARM - OI\_CLIM)')
     xlabel('Contour Interval:  10 W/m**2')
     set(gca, 'DataAspectRatio', [1.8 1 1])
tem = colr(latk,:)-squeeze(mean(olr([12 1 2],latk,:)));
subplot('Position', [.1 .0525 .8 .42])
     mcont(tem, [-105:10:105], 'eqdcylin', 1);
     title('Cold Event DJF OLR anom (OI\_COLD - OI\_CLIM)')
     xlabel('Contour Interval:  10 W/m**2')
     set(gca, 'DataAspectRatio', [1.8 1 1])

%  ENSO - CLIM  (ncep stuff)

XAX = olon;
YAX = olat(olatk);
tem = wolrdat(olatk,:)-squeeze(mean(clim([12 1 2],olatk,:)));
subplot('Position', [.1 .53 .8 .42])
     mcont(tem, [-105:10:105], 'eqdcylin', 1);
     title('Warm Event DJF OLR anom (NCEP\_WARM - NCEP\_CLIM)')
     xlabel('Contour Interval:  10 W/m**2')
     set(gca, 'DataAspectRatio', [1.8 1 1])
tem = colrdat(olatk,:)-squeeze(mean(clim([12 1 2],olatk,:)));
subplot('Position', [.1 .0525 .8 .42])
     mcont(tem, [-105:10:105], 'eqdcylin', 1);
     title('Cold Event DJF OLR anom (NCEP\_COLD - NCEP\_CLIM)')
     xlabel('Contour Interval:  10 W/m**2')
     set(gca, 'DataAspectRatio', [1.8 1 1])

%  Warm and Cold OI - NCEP

tem1 = wolr-squeeze(mean(olr([12 1 2],:,:)));
tem2 = wolrdat-squeeze(mean(clim([12 1 2],:,:)));
tem2 = interp2(olon, olat, tem2, lon', lat);
tem = tem1(latk,:)-tem2(latk,:);
XAX = lon;
YAX = lat(latk);
subplot('Position', [.1 .53 .8 .42])
     mcont(tem, [-105:10:105], 'eqdcylin', 1);
     title('Warm Event DJF OLR anom (OI\_WARM\_ANOM - NCEP\_WARM\_ANOM)')
     xlabel('Contour Interval:  10 W/m**2')
     set(gca, 'DataAspectRatio', [1.8 1 1])
tem1 = colr-squeeze(mean(olr([12 1 2],:,:)));
tem2 = colrdat-squeeze(mean(clim([12 1 2],:,:)));
tem2 = interp2(olon, olat, tem2, lon', lat);
tem = tem1(latk,:)-tem2(latk,:);
subplot('Position', [.1 .0525 .8 .42])
     mcont(tem, [-105:10:105], 'eqdcylin', 1);
     title('Warm Event DJF OLR anom (OI\_COLD\_ANOM - NCEP\_COLD\_ANOM)')
     xlabel('Contour Interval:  10 W/m**2')
     set(gca, 'DataAspectRatio', [1.8 1 1])

%  Linear component of OLR response:  OI

XAX = lon;
YAX = lat(latk);
tem = wolr(latk,:) - colr(latk,:);
subplot('Position', [.1 .53 .8 .42])
     mcont(tem, [-105:10:105], 'eqdcylin', 1);
     title('OI Linear Component (OI\_WARM - OI\_COLD)')
     xlabel('Contour Interval:  10 W/m**2')
     set(gca, 'DataAspectRatio', [1.8 1 1])
subplot('Position', [.1 .0525 .8 .42])
tem = (wolr(latk,:) + colr(latk,:)) - ...
             2*(squeeze(mean(olr([12 1 2],latk,:))));
     mcont(tem, [-105:10:105], 'eqdcylin', 1);
     title('OI Non-Linear Component (OI\_WARM + OI\_COLD - 2*OI\_CLIM)')
     xlabel('Contour Interval:  10 W/m**2')
     set(gca, 'DataAspectRatio', [1.8 1 1])

%  Linear component of OLR response:  NCEP

XAX = olon;
YAX = olat(olatk);
tem = wolrdat(olatk,:) - colrdat(olatk,:);
subplot('Position', [.1 .53 .8 .42])
     mcont(tem, [-105:10:105], 'eqdcylin', 1);
     title('NCEP Linear Component (WARM - COLD)')
     xlabel('Contour Interval:  10 W/m**2')
     set(gca, 'DataAspectRatio', [1.8 1 1])
subplot('Position', [.1 .0525 .8 .42])
tem = (wolrdat(olatk,:) + colrdat(olatk,:)) - ...
             2*(squeeze(mean(clim([12 1 2],olatk,:))));
     mcont(tem, [-105:10:105], 'eqdcylin', 1);
     title('NCEP Non-Linear Component (WARM + COLD - 2*CLIM)')
     xlabel('Contour Interval:  10 W/m**2')
     set(gca, 'DataAspectRatio', [1.8 1 1])