%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%  Plot growth in computer speed at UKMO
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

year = 1958:1:2006;

Mercury = 3E3;	
KDF9    = 50E3;	
IBM360  = 4E6;	
CDC205  = 200E6;	
YMP     = 1E9;	
T3E     = 1.5E12;	
            T3E     = 3E11;	% New Value
SX6SX8  = 20E12;	
SX6     = 16E12;	
SX8     = 16E12;	

k = 0;
for yr=year
  k = k+1
  if(yr<1959) 
    Speed(k) = Mercury;
  elseif(yr<1965)
    Speed(k) = KDF9; 
  elseif(yr<1972)
    Speed(k) = IBM360; 
  elseif(yr<1982)
    Speed(k) = CDC205; 
  elseif(yr<1991)
    Speed(k) = YMP; 
  elseif(yr<1997)
    Speed(k) = T3E; 
  elseif(yr<2004)
    Speed(k) = SX6; 
  elseif(yr<2008)
    Speed(k) = SX8; 
  end
end


%plot(year,log10(Speed))
clf; hold on
plot([1959,1965],[log10(Mercury),log10(Mercury)],'LineWidth',6)
plot([1965,1972],[log10(KDF9),log10(KDF9)],'LineWidth',6)
plot([1972,1982],[log10(IBM360),log10(IBM360)],'LineWidth',6)
plot([1982,1991],[log10(CDC205),log10(CDC205)],'LineWidth',6)
plot([1991,1997],[log10(YMP),log10(YMP)],'LineWidth',6)
plot([1997,2004],[log10(T3E),log10(T3E)],'LineWidth',6)
plot([2004,2005],[log10(SX6SX8),log10(SX6SX8)],'LineWidth',6)
plot([2005,2007],[log10(SX6SX8),log10(SX6SX8)],'LineWidth',6)
title('\bf MET OFFICE COMPUTER SPEED') 
ylabel('log_1_0(Flops)')
box on
axis([1958,2007,2,14])
axis([1958,2007,3,14]); grid on

text(1965.5,log10(Mercury),'\bf Mercury')
text(1972.5,log10(KDF9),'\bf KDF9')
text(1982.5,log10(IBM360),'\bf IBM360')

text(1991.5,log10(CDC205),'\bf CDC205')
text(1997.5,log10(YMP),'\bf YMP')

%text(1976,log10(CDC205),'\bf CDC205')
%text(1987,log10(YMP),'\bf YMP')
text(1993,log10(T3E),'\bf T3E')
text(1997,log10(SX6SX8),'\bf SX6/SX8')

Moore = 2.^((year-1958)*(2/3));

plot(year(2:49),3.0+log10(Moore(2:49)))

print -deps 'MetOSpeed.eps'
