format compact;clear all

en_number = 10;

cases = {'b.e21.BSSP245smbb.f09_g17.001';...
         'b.e21.BSSP245smbb.f09_g17.002';...
         'b.e21.BSSP245smbb.f09_g17.003';...
         'b.e21.BSSP245smbb.f09_g17.004';...
         'b.e21.BSSP245smbb.f09_g17.005';...
         'b.e21.BSSP245smbb.f09_g17.006';...
         'b.e21.BSSP245smbb.f09_g17.007';...
         'b.e21.BSSP245smbb.f09_g17.009';...
         'b.e21.BSSP245smbb.f09_g17.010';...
         'b.e21.BSSP245smbb.f09_g17.011';... 
         'b.e21.BSSP245smbb.f09_g17.MCB-050PCT.001';...
         'b.e21.BSSP245smbb.f09_g17.MCB-050PCT.002';...
         'b.e21.BSSP245smbb.f09_g17.MCB-050PCT.003';...
         'b.e21.BSSP245smbb.f09_g17.MCB-050PCT.004';...
         'b.e21.BSSP245smbb.f09_g17.MCB-050PCT.005';...
         'b.e21.BSSP245smbb.f09_g17.MCB-050PCT.006';...
         'b.e21.BSSP245smbb.f09_g17.MCB-050PCT.007';...
         'b.e21.BSSP245smbb.f09_g17.MCB-050PCT.009';...
         'b.e21.BSSP245smbb.f09_g17.MCB-050PCT.010';...
         'b.e21.BSSP245smbb.f09_g17.MCB-050PCT.011'};

vars = {'LANDFRAC';'PRECT'};

dates = {'201501-210012';...
         '201501-210012';...
         '201501-210012';...
         '201501-210012';...
         '201501-210012';...
         '201501-210012';...
         '201501-210012';...
         '201501-210012';...
         '201501-210012';...
         '201501-210012';...
         '203501-206912';...
         '203501-206912';...
         '203501-206912';...
         '203501-206912';...
         '203501-206912';...
         '203501-206912';...
         '203501-206912';...
         '203501-206912';...
         '203501-206912';...
         '203501-206912'};

data = struct('casename',{},'varname',{},'lon',{},'lat',{},'date',{},'year',{},'month',{},'gw',{},'value',{},'global_avg',{},'annual_avg',{},'annual_avg_year',{});

vars_name = {'land fraction';'(a) Global Mean Temperature';'(b) Inter-hemispheric Temperature Gradient';...
             '(c) Equator-to-pole Temperature Gradient';'(d) Global mean precipitation (mm/day)'};

for i=1:length(cases);
for j=1:length(vars);
    
    if( j<=length(vars) )
     if( i<= 10)
      f = ['../../' char(cases(i)) '/atm/proc/tseries/month_1/' char(cases(i)) '.cam.h0.' char(vars(j)) '.201501-206412.nc']
      f2 = ['../../' char(cases(i)) '/atm/proc/tseries/month_1/' char(cases(i)) '.cam.h0.' char(vars(j)) '.206501-210012.nc'];
      date1 = ncread(f,'date');
      date2 = ncread(f2,'date');
      data(i,j).date = [ncread(f,'date');ncread(f2,'date')];
      if(j==length(vars))
      data(i,j).value = ncread(f,char(vars(j)))*1e2*86400;
      data(i,j).value(:,:,length(date1)+1:length(date1)+length(date2)) = ncread(f2,char(vars(j)))*1e2*86400;
      else
      data(i,j).value = ncread(f,char(vars(j)));
      data(i,j).value(:,:,length(date1)+1:length(date1)+length(date2)) = ncread(f2,char(vars(j)));
      end 
      clear date1 date2
     else
      f = ['../' char(cases(i)) '/atm/proc/tseries/month_1/' char(cases(i)) '.cam.h0.' char(vars(j)) '.' char(dates(i)) '.nc']
      data(i,j).date = ncread(f,'date');
      if(j==length(vars))
      data(i,j).value = ncread(f,char(vars(j)))*1e2*86400;
      else
      data(i,j).value = ncread(f,char(vars(j)));
      end
     end

    data(i,j).varname = char(vars(j));
    data(i,j).lon = ncread(f,'lon');
    data(i,j).lat = ncread(f,'lat');
    data(i,j).gw = ncread(f,'gw');

    else
      data(i,j).casename = data(i,j-1).casename;
      data(i,j).varname = char(vars_name(j));
      data(i,j).lon = data(i,1).lon;
      data(i,j).lat = data(i,1).lat;
      data(i,j).date = data(i,1).date;
      data(i,j).gw = data(i,1).gw;   
      data(i,j).value = data(i,2).value;
    end
    [data(i,j).year data(i,j).month] = set_yr_mon(data(i,j).date);

    for n=1:length(data(i,j).date)
        data(i,j).global_avg(:,n) =  global_avg(squeeze(data(i,j).value(:,:,n)),data(i,j).gw,squeeze(data(i,1).value(:,:,n)));
    end 
    
    for m=1:3
       [data(i,j).annual_avg(m,:) data(i,j).annual_avg_year] = annual_avg_1d(squeeze(data(i,j).global_avg(m,:)),data(i,j).year,data(i,j).month);
    end
end
end


figure;orient tall;orient landscape
subplot('position',[.1 .4 .7 .25])
for i=1:en_number
a(i) = avg(data(i,j).annual_avg(3,:),data(i,j).annual_avg_year,2020,2039);
for year = 2020:2069
aa(i,year-2020+1) = avg(data(i,j).annual_avg(3,:),data(i,j).annual_avg_year,year,year);
end
end
for i=en_number+1:length(cases)
b(i-en_number) = avg(data(i,j).annual_avg(3,:),data(i,j).annual_avg_year,2050,2069);
for year = 2035:2069
bb(i-en_number,year-2035+1) = avg(data(i,j).annual_avg(3,:),data(i,j).annual_avg_year,year,year);
end
end
yy1 = mean(aa,1)-2*std(aa,1);
yy2 = mean(aa,1)+2*std(aa,1);
hhh = patch([[2020:1:2069] fliplr([2020:1:2069])],[yy1 fliplr(yy2)],[0.6 0.6 0.6]);
hold on;clear yy1 yy2 hhh
yy1 = mean(bb,1)-2*std(bb,1);
yy2 = mean(bb,1)+2*std(bb,1);
hhh = patch([[2035:1:2069] fliplr([2035:1:2069])],[yy1 fliplr(yy2)],[0.6 0.0 0.0]);
hold on;clear yy1 yy2 hhh
l1=plot([2020:1:2069],mean(aa,1),'k-');
l2=plot([2035:1:2069],mean(bb,1),'r-');
set(l1,'linewidth',1);
set(l2,'linewidth',2);
set(title('(a) Mean precipitation over ocean (mm/day)'),'fontsize',10)
set(gca,'xlim',[2020 2069])
plot([2020 2039],[mean(a) mean(a)],'k--')
plot([2050 2069],[mean(b) mean(b)],'r--')
clear a b aa bb
box on
set(gca,'fontsize',8)
alpha(0.7)
set(gca,'xticklabel',[])

subplot('position',[.1 .1 .7 .25])
for i=1:en_number
a(i) = avg(data(i,j).annual_avg(2,:),data(i,j).annual_avg_year,2020,2039);
for year = 2020:2069
aa(i,year-2020+1) = avg(data(i,j).annual_avg(2,:),data(i,j).annual_avg_year,year,year);
end
end
for i=en_number+1:length(cases)
b(i-en_number) = avg(data(i,j).annual_avg(2,:),data(i,j).annual_avg_year,2050,2069);
for year = 2035:2069
bb(i-en_number,year-2035+1) = avg(data(i,j).annual_avg(2,:),data(i,j).annual_avg_year,year,year);
end
end
yy1 = mean(aa,1)-2*std(aa,1);
yy2 = mean(aa,1)+2*std(aa,1);
hhh = patch([[2020:1:2069] fliplr([2020:1:2069])],[yy1 fliplr(yy2)],[0.6 0.6 0.6]);
hold on;clear yy1 yy2 hhh
yy1 = mean(bb,1)-2*std(bb,1);
yy2 = mean(bb,1)+2*std(bb,1);
hhh = patch([[2035:1:2069] fliplr([2035:1:2069])],[yy1 fliplr(yy2)],[0.6 0.0 0.0]);
hold on;clear yy1 yy2 hhh
l1=plot([2020:1:2069],mean(aa,1),'k-');
l2=plot([2035:1:2069],mean(bb,1),'r-');
set(l1,'linewidth',1);
set(l2,'linewidth',2);
set(title('(b) Mean precipitation over land (mm/day)'),'fontsize',10)
set(gca,'xlim',[2020 2069])
plot([2020 2039],[mean(a) mean(a)],'k--')
plot([2050 2069],[mean(b) mean(b)],'r--')
clear a b aa bb
box on
set(gca,'fontsize',8)
alpha(0.7)
set(xlabel('year'),'fontsize',8)

