Global Index (short | long) | Local contents | Local Index (short | long)
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.
This script calls | |
---|---|
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;