%%%%%% cloud OD distributions from different UCI met fields and resolutions %%%% for averaging and for all ICAs. % read in grid and set up for N40, N80, N160 YlatC80 = ncread('Jstat_ODmetUCI.nc','YlatC80'); XlonC80 = ncread('Jstat_ODmetUCI.nc','XlonC80'); NXC80 = length(XlonC80); NYC80 = length(YlatC80); Acld1 = ncread('Jstat_ODmetUCI.nc','Acld1'); Acld2 = ncread('Jstat_ODmetUCI.nc','Acld2'); Acld3 = ncread('Jstat_ODmetUCI.nc','Acld3'); Acld4 = ncread('Jstat_ODmetUCI.nc','Acld4'); Acld5 = ncread('Jstat_ODmetUCI.nc','Acld5'); % define N40 and N160 grids NXC40 = NXC80/2 NYC40 = NYC80/2 NXC160 = NXC80*2 NYC160 = NYC80*2 for i = 2:2:NXC160 XlonC160(i-1) = XlonC80(i/2); XlonC160(i) = XlonC160(i-1) + 0.55; end XlonC160 = XlonC160'; for i = 1:2:NXC80 XlonC40((i+1)/2) = XlonC80(i); end XlonC40 = XlonC40'; YlatC160 = 0.56*((1:320)*1 - 160.5); YlatC160 = YlatC160'; YlatC40 = 2.24*((1:80)*1 - 40.5); YlatC40 = YlatC40'; % define cosine(latitude) weights cwtC40 = cos(YlatC40(:)*pi/180.); cwtC80 = cos(YlatC80(:)*pi/180.); cwtC160 = cos(YlatC160(:)*pi/180.); % define blocks Blocks = 3; LAT1 = [ -20; +20; -55]; LAT2 = [ +20; +50 +55]; LON1 = [ 160; 170; 0]; LON2 = [ 240; 225; 360]; blockC40(1:NXC40,1:NYC40,1:Blocks) = int16(0); for j=1:NYC40 for i=1:NXC40 for b=1:Blocks if YlatC40(j)>=LAT1(b) & YlatC40(j)<=LAT2(b) if XlonC40(i)>=LON1(b) & XlonC40(i)<=LON2(b) blockC40(i,j,b) = 1; end end end end end blockC80(1:NXC80,1:NYC80,1:Blocks) = int16(0); for j=1:NYC80 for i=1:NXC80 for b=1:Blocks if YlatC80(j)>=LAT1(b) & YlatC80(j)<=LAT2(b) if XlonC80(i)>=LON1(b) & XlonC80(i)<=LON2(b) blockC80(i,j,b) = 1; end end end end end blockC160(1:NXC160,1:NYC160,1:Blocks) = int16(0); for j=1:NYC160 for i=1:NXC160 for b=1:Blocks if YlatC160(j)>=LAT1(b) & YlatC160(j)<=LAT2(b) if XlonC160(i)>=LON1(b) & XlonC160(i)<=LON2(b) blockC160(i,j,b) = 1; end end end end end % A159a = importdata('ODmetT159.txt') ; % A159b = importdata('ODmetT159N40.txt'); % A319a = importdata('ODmetT319.txt') ; % A319b = importdata('ODmetT319N80.txt'); % A319c = importdata('ODmetT319N40.txt'); MDLname = ['T159 N80 '; 'T159 N40 '; 'T319 N160'; 'T319 N80 '; 'T319 N40 ']; for m=1:5 if m==1 clear Acld, clear N, clear NX, clear NY, clear cwt Acld = Acld1; N = size(Acld,1) NX = NXC80 NY = NYC80 cwt = cwtC80; block = blockC80; end if m==2 clear Acld, clear N, clear NX, clear NY, clear cwt Acld = Acld2; N = size(Acld,1) NX = NXC40 NY = NYC40 cwt = cwtC40; block = blockC40; end if m==3 clear Acld, clear N, clear NX, clear NY, clear cwt Acld = Acld3; N = size(Acld,1) NX = NXC160 NY = NYC160 cwt = cwtC160; block = blockC160; end if m==4 clear Acld, clear N, clear NX, clear NY, clear cwt Acld = Acld4; N = size(Acld,1) NX = NXC80 NY = NYC80 cwt = cwtC80; block = blockC80; end if m==5 clear Acld, clear N, clear NX, clear NY, clear cwt Acld = Acld5; N = size(Acld,1) NX = NXC40 NY = NYC40 cwt = cwtC40; block = blockC40; end Cloud1(1:31,1:3) = 0; WCloud1(1:3) = 0; Cloud2(1:31,1:3) = 0; WCloud2(1:3) = 0; Cloud3(1:31,1:3) = 0; WCloud3(1:3) = 0; Cloud7(1:31,1:3) = 0; WCloud7(1:3) = 0; for b=1:Blocks for n=1:N i = Acld(n,1); j = Acld(n,2); if block(i,j,b) == 1 Q(1) = Acld(n,4); W(1) = Acld(n,5); Q(2) = Acld(n,6); W(2) = Acld(n,7); Q(3) = Acld(n,8); W(3) = Acld(n,9); Q(4) = Acld(n,10); W(4) = Acld(n,11); Q5 = Acld(n,12); Q6 = Acld(n,13); Q7 = Q(1)*W(1)+Q(2)*W(2)+Q(3)*W(3)+Q(4)*W(4); for q=1:4 COD = Q(q); WOD = W(q); if COD < 0.1 nOD = 1; else nOD = min(31, floor(10*log10(COD*10))+1); end Cloud1(nOD,b) = Cloud1(nOD,b) + cwt(j)*WOD; WCloud1(b) = WCloud1(b) + cwt(j)*WOD; end COD = Q5; if COD < 0.1 nOD = 1; else nOD = min(31, floor(10*log10(COD*10))+1); end Cloud2(nOD,b) = Cloud2(nOD,b) + cwt(j); WCloud2(b) = WCloud2(b) + cwt(j); COD = Q6; if COD < 0.1 nOD = 1; else nOD = min(31, floor(10*log10(COD*10))+1); end Cloud3(nOD,b) = Cloud3(nOD,b) + cwt(j); WCloud3(b) = WCloud3(b) + cwt(j); COD = Q7; if COD < 0.1 nOD = 1; else nOD = min(31, floor(10*log10(COD*10))+1); end Cloud7(nOD,b) = Cloud7(nOD,b) + cwt(j); WCloud7(b) = WCloud7(b) + cwt(j); end end % n loop Cld(:,1,b,m) = 100*Cloud1(:,b)/WCloud1(b); Cld(:,2,b,m) = 100*Cloud2(:,b)/WCloud2(b); Cld(:,3,b,m) = 100*Cloud3(:,b)/WCloud3(b); Cld(:,4,b,m) = 100*Cloud7(:,b)/WCloud7(b); end % b loop end % m loop XOD = -1:.1:2; for m=1:5 for b=1:3 for k=1:4 Clr(k,b,m) = sum(Cld(1:5,k,b,m)); CldOD(k,b,m)= sum(XOD(6:31)*Cld(6:31,k,b,m))/sum(Cld(6:31,k,b,m)); end end end C_red = [0.9047 0.1918 0.1988]; C_blue = [0.2539 0.4102 0.8789]; C_blue2 = [0.2941 0.5447 0.7494]; C_green = [0.1328 0.5430 0.1328]; C_green2 = [0.3718 0.7176 0.3612]; C_magenta = [0.7266 0.3320 0.8242]; C_pink = [0.9718 0.5553 0.7741]; C_cyan = [ 0 0.8047 0.8164]; C_yellow = [0.8650 0.8110 0.4330]; C_black = [ 0 0 0]; C_gray = [0.7000 0.7000 0.7000]; C_orange = [1.0000 0.5482 0.1000]; C_brown = [0.6859 0.4035 0.2412]; C_gold = [1.0000 0.8398 0]; Mclr(1,:) = C_black; Mclr(2,:) = C_brown; Mclr(3,:) = C_red; Mclr(4,:) = C_pink; Mclr(5,:) = C_gray; CLDname = ['ICAs corr-ovrlp'; 'SCA average cld'; 'SCA B-avg cld ']; %%%%%%%%%%%%%%%%%plot prob-dist for cloud total OD vs resolution N160-80-40 T319 Ymax = 12 for k=1:2:3 figure(43+k) hold on set(gcf, 'units','points','outerposition',[50 50 600 600]); figure(gcf) set(gca, 'FontSize',12, 'LineWidth',1) set(gca, 'YGrid', 'off', 'XGrid', 'off','Box','on') set(gca, 'YLim',[0,2*Ymax]) set(gca,'YTick',0:2:2*Ymax) set(gca,'YTickLabel','0|2|4|6|8|10|0|2|4|6|8|10|12') b=1 for mm=1:3 m = mm+2; plot(XOD,Cld(:,k,b,m)+Ymax,'Color',Mclr(m,:),'Marker','.','MarkerSize',24,'LineWidth',2) text(-0.70,2*Ymax-1-mm, num2str(Clr(k,b,m),'% 4.0f'),'FontSize',14,'Color',Mclr(m,:)) text(-0.00,2*Ymax-1-mm, num2str(CldOD(k,b,m),'% 4.2f'),'FontSize',14,'Color',Mclr(m,:)) end text(-0.80,2*Ymax-.9, '% clear','FontSize',13,'Color','k') text(-0.20,2*Ymax-.9, '','FontSize',13,'Color','k') legend(MDLname(3:5,:)) b=2 for mm=1:3 m = mm+2; plot(XOD,Cld(:,k,b,m),'Color',Mclr(m,:),'Marker','.','MarkerSize',24,'LineWidth',2) text(-0.70,Ymax-1-mm, num2str(Clr(k,b,m),'% 4.0f'),'FontSize',14,'Color',Mclr(m,:)) text(-0.00,Ymax-1-mm, num2str(CldOD(k,b,m),'% 4.2f'),'FontSize',14,'Color',Mclr(m,:)) end text(-0.80,Ymax-.9, '% clear','FontSize',13,'Color','k') text(-0.20,Ymax-.9, '','FontSize',13,'Color','k') plot([-1,2],[12,12],'k','LineWidth',2) xlabel('log_1_0(Cloud OD)','FontSize',14) ylabel('North Pacific (% per bin) Tropical Pacific (%/bin)','FontSize',14) title(CLDname(k,:),'FontSize',14) end %%%%%%%%%%%%%%%%%%%%%%%%%plot prob-dist for cloud total OD for T159N80 - different averages Kclr(1,:) = C_blue2; Kclr(2,:) = C_green2; Kclr(3,:) = C_orange; Ymax = 12 m=1 figure(42) hold on set(gcf, 'units','points','outerposition',[50 50 600 600]); figure(gcf) set(gca, 'FontSize',12, 'LineWidth',1) set(gca, 'YGrid', 'off', 'XGrid', 'off','Box','on') set(gca, 'YLim',[0,2*Ymax]) set(gca,'YTick',0:2:2*Ymax) set(gca,'YTickLabel','0|2|4|6|8|10|0|2|4|6|8|10|12') b=1 for k=1:3 plot(XOD,Cld(:,k,b,m)+Ymax,'Color',Kclr(k,:),'Marker','.','MarkerSize',24,'LineWidth',2) text(-0.70,2*Ymax-1-k, num2str(Clr(k,b,m),'% 4.0f'),'FontSize',14,'Color',Kclr(k,:)) text(-0.00,2*Ymax-1-k, num2str(CldOD(k,b,m),'% 4.2f'),'FontSize',14,'Color',Kclr(k,:)) end text(-0.80,2*Ymax-.9, '% clear','FontSize',13,'Color','k') text(-0.10,2*Ymax-.9, '','FontSize',13,'Color','k') legend(CLDname(1:3,:)) b=2 for k=1:3 plot(XOD,Cld(:,k,b,m),'Color',Kclr(k,:),'Marker','.','MarkerSize',24,'LineWidth',2) text(-0.70,Ymax-1-k, num2str(Clr(k,b,m),'% 4.0f'),'FontSize',14,'Color',Kclr(k,:)) text(-0.00,Ymax-1-k, num2str(CldOD(k,b,m),'% 4.2f'),'FontSize',14,'Color',Kclr(k,:)) end text(-0.80,Ymax-.9, '% clear','FontSize',13,'Color','k') text(-0.10,Ymax-.9, '','FontSize',13,'Color','k') plot([-1,2],[12,12],'k','LineWidth',2) xlabel('log_1_0(Cloud OD)','FontSize',14) ylabel('North Pacific (% per bin) Tropical Pacific (%/bin)','FontSize',14) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%