Documentation of wtrsfcairtemppna


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


Help text

This program draws regression and one-pt. correlation maps corresponding to
daily surface air temperatures for dec,jan and feb and the four centers of
 the daily pna index.

Cross-Reference Information

This script calls

Listing of script wtrsfcairtemppna



clear

cd /home/disk/tao/cabrown/matlab/pnascripts
load normpnahawaii.mat;
load normpnaaleutia.mat;
load normpnaalberta.mat;
load normpnaflorida.mat;
load normnoleapPNA.mat;

filin = '/home/disk/tao/data/nmc.reanalysis/daily/sfctemp/nhemsfcairtemp_19481952.nc';
nc = netcdf(filin,'nowrite');
lat = nc{'lat'}(:);
long = nc{'lon'}(:);

[xk, yk] = keep_var([220 240 50 60], long, lat);


j = 92:93;
for i = 15;
i

filin = '/home/disk/tao/data/nmc.reanalysis/daily/sfctemp/nhemsfcairtemp_19481952.nc';
nc = netcdf(filin,'nowrite');
partialtemp = nc{'air',1}(:,i,j);
partialtemp = squeeze(partialtemp);
globaltemp = partialtemp;
nc=close(nc);

filin = '/home/disk/tao/data/nmc.reanalysis/daily/sfctemp/nhemsfcairtemp_19531957.nc';
nc = netcdf(filin,'nowrite');
partialtemp = nc{'air',1}(:,i,j);
partialtemp = squeeze(partialtemp);
globaltemp = [globaltemp;partialtemp];
nc=close(nc);

filin = '/home/disk/tao/data/nmc.reanalysis/daily/sfctemp/nhemsfcairtemp_19581962.nc';
nc = netcdf(filin,'nowrite');
partialtemp = nc{'air',1}(:,i,j);
partialtemp = squeeze(partialtemp);
globaltemp = [globaltemp;partialtemp];
nc=close(nc);

filin = '/home/disk/tao/data/nmc.reanalysis/daily/sfctemp/nhemsfcairtemp_19631967.nc';
nc = netcdf(filin,'nowrite');
partialtemp = nc{'air',1}(:,i,j);
partialtemp = squeeze(partialtemp);
globaltemp = [globaltemp;partialtemp];
nc=close(nc);

filin = '/home/disk/tao/data/nmc.reanalysis/daily/sfctemp/nhemsfcairtemp_19681972.nc';
nc = netcdf(filin,'nowrite');
partialtemp = nc{'air',1}(:,i,j);
partialtemp = squeeze(partialtemp);
globaltemp = [globaltemp;partialtemp];
nc=close(nc);

filin = '/home/disk/tao/data/nmc.reanalysis/daily/sfctemp/nhemsfcairtemp_19731977.nc';
nc = netcdf(filin,'nowrite');
partialtemp = nc{'air',1}(:,i,j);
partialtemp = squeeze(partialtemp);
globaltemp = [globaltemp;partialtemp];
nc=close(nc);

filin = '/home/disk/tao/data/nmc.reanalysis/daily/sfctemp/nhemsfcairtemp_19781982.nc';
nc = netcdf(filin,'nowrite');
partialtemp = nc{'air',1}(:,i,j);
partialtemp = squeeze(partialtemp);
globaltemp = [globaltemp;partialtemp];
nc=close(nc);

filin = '/home/disk/tao/data/nmc.reanalysis/daily/sfctemp/nhemsfcairtemp_19831987.nc';
nc = netcdf(filin,'nowrite');
partialtemp = nc{'air',1}(:,i,j);
partialtemp = squeeze(partialtemp);
globaltemp = [globaltemp;partialtemp];
nc=close(nc);

filin = '/home/disk/tao/data/nmc.reanalysis/daily/sfctemp/nhemsfcairtemp_19881992.nc';
nc = netcdf(filin,'nowrite');
partialtemp = nc{'air',1}(:,i,j);
partialtemp = squeeze(partialtemp);
globaltemp = [globaltemp;partialtemp];
nc=close(nc);

filin = '/home/disk/tao/data/nmc.reanalysis/daily/sfctemp/nhemsfcairtemp_19931997.nc';
nc = netcdf(filin,'nowrite');
partialtemp = nc{'air',1}(:,i,j);
partialtemp = squeeze(partialtemp);
globaltemp = [globaltemp;partialtemp];
nc=close(nc);

filin = '/home/disk/tao/data/nmc.reanalysis/daily/sfctemp/nhemsfcairtemp_19981999.nc';
nc = netcdf(filin,'nowrite');
partialtemp = nc{'air',1}(:,i,j);
partialtemp = squeeze(partialtemp);
globaltemp = [globaltemp;partialtemp];
nc=close(nc);


%Remove the rows in globaltemp corresponding to leap days
ind1 = 60:(365.25*4):18993;
ind2 = 1:18993;
ind3 = find(~ismember(ind2,ind1));
globaltemp = globaltemp(ind3,:);

%create a climatology matrix with 365 rows for days and 144 columns for long.
clim = ones(365, 2);
for day = 1:365
ind4 = day:365:18980;
clim(day,:) = mean(globaltemp(ind4,:));
standdev(day,:) = std(globaltemp(ind4,:));
end
clim = myrunning_ave(clim,-11);
clim = myrunning_ave(clim,-15);
standdev = myrunning_ave(standdev, -11);
standdev = myrunning_ave(standdev, -15);

%normalize globaltemp, change name to temp when normalized
temp = ones(18980,2);
for day = 1:365
ind4 = day:365:18980;
temp(ind4,:) = globaltemp(ind4,:) - (ones(52,1)*clim(day,:));
temp(ind4,:) = temp(ind4,:)./(ones(52,1)*standdev(day,:));
end


%Shorten temp to include only the days in Dec.,Jan. and Feb.
wintertemp = temp(1:59,:);
b = 365;
for x = 0:50;
wintertemp = [wintertemp;temp(335+b*x:424+b*x,:)];
end;
wintertemp = [wintertemp;temp(18950:18980,:)];

%Shorten the PNA index in the same way
wtrPNA = normnoleapPNA1(1:59);
for x = 0:50;
wtrPNA = [wtrPNA,normnoleapPNA1(335+b*x:424+b*x)];
end;
wtrPNA = [wtrPNA,normnoleapPNA1(18950:18980)];

%calculate the regression and corrcoef to the winter PNA index
[regwtrPNA,ccwtrPNA] = regress_eof(temp, normnoleapPNA1);

if i == 1
regwtrtempPNA = regwtrPNA;
ccwtrtempPNA = ccwtrPNA;
 
else
regwtrtempPNA = [regwtrtempPNA;regwtrPNA];
ccwtrtempPNA = [ccwtrtempPNA;ccwtrPNA];

end;
end;