Advertisement
Guest User

Untitled

a guest
Sep 23rd, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 4.16 KB | None | 0 0
  1. clear all;close all;
  2. x=['UVQ_1980.mat';'UVQ_1981.mat';'UVQ_1982.mat';'UVQ_1983.mat';'UVQ_1984.mat';...,
  3.     'UVQ_1985.mat';'UVQ_1986.mat';'UVQ_1987.mat';'UVQ_1988.mat';'UVQ_1989.mat';...,
  4.     'UVQ_1990.mat';'UVQ_1991.mat';'UVQ_1992.mat';'UVQ_1993.mat';'UVQ_1994.mat';...,
  5.     'UVQ_1995.mat';'UVQ_1996.mat';'UVQ_1997.mat';'UVQ_1998.mat';'UVQ_1999.mat';...,
  6.     'UVQ_2000.mat';'UVQ_2001.mat';'UVQ_2002.mat'; 'UVQ_2003.mat'; 'UVQ_2004.mat';...,
  7.     'UVQ_2005.mat';'UVQ_2006.mat';'UVQ_2007.mat';'UVQ_2008.mat';'UVQ_2009.mat'];
  8. x1=NaN(length(x),151,241,92,'single'); %x1=years,151,241,days
  9. y1=NaN(length(x),151,241,92,'single'); %y1=years,151,241,days
  10. for i=1:length(x)
  11.     fprintf('STEP 1.%d\n',i);
  12.     cd narr_data\NARR_UVQ_BIG\;
  13.     load(x(i,:),'newVQ','lat','lon','newUQ');
  14.     cd ..\..
  15.     x1(i,:,:,:)=squeeze(nmean(newUQ(:,:,:,:),4))/(60*60*3);
  16.     y1(i,:,:,:)=squeeze(nmean(newVQ(:,:,:,:),4))/(60*60*3);
  17.     clear newVQ newUQ
  18. end;
  19.  
  20. vspeed=NaN(30,151,241,92,'single');
  21. vspeed(:,:,:,:)=sqrt(y1(:,:,:,:).^2+x1(:,:,:,:).^2); %vspeed=yrs,151,241,days
  22. vsmax=max(vspeed(:));
  23. vscale=double(vsmax/500);
  24.  
  25. avg=NaN(151,241,92,'single'); %avg=151,241,days
  26. avgx=NaN(151,241,92,'single'); %avg=151,241,days
  27. avgy=NaN(151,241,92,'single'); %avg=151,241,days
  28. avg(:,:,:)=squeeze(nmean(vspeed(:,:,:,:),1));
  29. avgx(:,:,:)=squeeze(nmean(x1(:,:,:,:),1));
  30. avgy(:,:,:)=squeeze(nmean(y1(:,:,:,:),1));
  31.  
  32. anom=NaN(30,151,241,92,'single'); %year,151,241,days
  33. anomx=NaN(30,151,241,92,'single'); %year,151,241,days
  34. anomy=NaN(30,151,241,92,'single'); %year,151,241,days
  35.  
  36. for i=1:30
  37.     fprintf('STEP 2.%d\n',i);
  38.     for j=1:92
  39.         anom(i,:,:,j)=squeeze(vspeed(i,:,:,j))-squeeze(avg(:,:,j));
  40.         anomx(i,:,:,j)=squeeze(x1(i,:,:,j))-squeeze(avgx(:,:,j));
  41.         anomy(i,:,:,j)=squeeze(y1(i,:,:,j))-squeeze(avgy(:,:,j));
  42.     end
  43. end
  44.  
  45. load e90events.mat
  46. type=e90r; %choose r for ridge... or t for trough
  47. % c=NaN(length(type),6,length(P),29,57);
  48. for i=1:length(type)
  49.     fprintf('run 3.%d\n',i);
  50.     yr=type(i,1)-1979;
  51.     a=type(i,2)-4;
  52.     b=type(i,2)+1;
  53.     c(i,:,:,:)=squeeze(anom(yr,:,:,a:b));%c=events,151,241,day
  54.     clear a b yr
  55. end;
  56. c_avg(:,:,:)=squeeze(nmean(c(:,:,:,:),1)); %c_avg=151,241,day
  57.  
  58. tc=NaN(151,241,6,'single');
  59. for i=1:6
  60.     fprintf('run 4.%d\n',i);
  61.     for j=1:151
  62.         for k=1:241
  63.             tc(j,k,i)=ttest(c(:,j,k,i)); %tc=151,241,day
  64.         end
  65.     end
  66. end
  67.  
  68. ff=find(tc(:,:,:)==0);
  69. tc_avg=c_avg;
  70. tc_avg(ff)=NaN;
  71.  
  72. cx1=NaN(length(type),151,241,6,'single');
  73. cy1=NaN(length(type),151,241,6,'single');
  74. for i=1:length(type)
  75.     fprintf('run 5.%d\n',i);
  76.     yr=type(i,1)-1979;fprintf('yr \n');
  77.     a=type(i,2)-4;fprintf('a \n');
  78.     b=type(i,2)+1;fprintf('b \n');
  79.     cx1(i,:,:,:)=squeeze(x1(yr,:,:,a:b));fprintf('cx1 \n');%c=events,151,241,day
  80.     cy1(i,:,:,:)=squeeze(y1(yr,:,:,a:b));fprintf('cy1 \n');%c=events,151,241,day
  81.     clear a b yr
  82. end;
  83.  
  84. cx1_avg(:,:,:)=squeeze(nmean(cx1(:,:,:,:),1)); %c_avg=151,241,day
  85. cy1_avg(:,:,:)=squeeze(nmean(cy1(:,:,:,:),1)); %c_avg=151,241,day
  86.  
  87.  
  88. a=squeeze(min(min(min(c_avg(:,:,:)))));
  89. b=squeeze(max(max(max(c_avg(:,:,:)))));
  90. if abs(a)>abs(b)
  91.     lim=abs(a);
  92. else
  93.     lim=abs(b);
  94. end
  95.  
  96. %START HERE AGAIN
  97. for j = 1:6
  98.     fprintf('PLOTTING\n');
  99.     subplot(2,3,j);
  100.     plotANOM(squeeze(tc_avg(:,:,j)),lon,lat);
  101.     hold on;
  102.     clim=[-1*lim lim];
  103.     caxis(clim);
  104.     m_quiver(lon(3:4:151,3:4:241),lat(3:4:151,3:4:241),...,
  105.         squeeze(cx1_avg(3:4:151,3:4:241,j)),...,
  106.         squeeze(cy1_avg(3:4:151,3:4:241,j)),vscale,'k');
  107.     if j==5
  108.         filename2=char(cellstr([' Day **' num2str(j) '**']));
  109.     else
  110.         filename2=char(cellstr([' Day ' num2str(j)]));
  111.     end;
  112.     title(filename2,'fontsize',16);
  113. end;
  114. subplotspace('vertical',-40);
  115. subplotspace('horizontal',-15);
  116. cd temp\
  117. screen_size = get(0, 'ScreenSize');
  118. set(gcf,'paperpositionmode','auto')
  119. f1 = figure(1);
  120. set(f1, 'Position', [0 0 screen_size(3) screen_size(4) ] );
  121. h=colorbar;
  122. ylabel(h,'Moisture Flux Anomaly (kg/m/s)','fontsize',14)
  123. set(h,'position',[0.91 0.275 0.02 0.50])
  124. % text(-5,4,['Series of Meridional Moisture Flux Anomalies for Trough Events'],'fontsize',24);
  125. suptitle('Series of Moisture Flux Anomalies for RIDGE Events (with VECTORS) [STATSIG]  ');
  126. saveas(gcf,['RIDGE Events UVQ Anom with Vectors [STATSIG]  '],'png');
  127. clear a b h;
  128. clf;close;
  129. cd ..
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement