clear

nx=2160; ny=nx*13; nz=90;
ss=nz/6; %6 segments

pp='/nobackupp11/dmenemen/DYAMOND/c1440_llc2160/mit_output/';

pout='../W/';
fld='W';
ssh=zeros([nx ny ss],'single');

%output
%yearly: 1 map
ssh_yr_mean=zeros([nx ny ss],'single');
ssh_yr_sq_hr=zeros([nx ny ss],'single');
ssh_yr_sq_dy=zeros([nx ny ss],'single');
%monthly: 12 map
ssh_mn_mean=zeros([nx ny ss],'single');
ssh_mn_sq_hr=zeros([nx ny ss],'single');
ssh_mn_sq_dy=zeros([nx ny ss],'single');
%daily: 365 map
ssh_dy_mean=zeros([nx ny ss],'single');

%time
t0 = datenum(2020,1,19,21,0,0);        deltaT = 45;
ts1=(datenum(2020,3,1)-t0)*86400/deltaT+3600/deltaT;
ts2=(datenum(2021,3,1)-t0)*86400/deltaT;
ts=ts1:3600/deltaT:ts2; %length(ts)==365*24

k=1;
seg=(k-1)*ss+(1:ss);

ssh_yr_mean=zeros([nx ny ss],'single');
ssh_yr_sq_hr=zeros([nx ny ss],'single');
ssh_yr_sq_dy=zeros([nx ny ss],'single');

yr=2020;
for mn=3:14 %2020/03 to 2021/02
	ssh_mn_mean=zeros([nx ny ss],'single');
	ssh_mn_sq_hr=zeros([nx ny ss],'single');
	ssh_mn_sq_dy=zeros([nx ny ss],'single');

	days=datenum(yr,mn+1,1)-datenum(yr,mn,1);
	for dy=1:days
			ssh_dy_mean=zeros([nx ny ss],'single');
		for hr=1:24
			t=( datenum(yr,mn,dy,hr,0,0)-t0 )*86400/deltaT;

			fn=[pp fld '/' fld '.' myint2str(t,10) '.data']; 
			ssh = readbin(fn,[nx ny ss],1,'real*4', k -1);

			ssh_dy_mean = ssh_dy_mean + ssh;
			ssh_yr_mean = ssh_yr_mean + ssh;
			ssh_yr_sq_hr = ssh_yr_sq_hr + ssh.^2;
			ssh_mn_sq_hr = ssh_mn_sq_hr + ssh.^2;
		end %hr			
		%daily mean:
			ssh_dy_mean = ssh_dy_mean/24;
		f_day=datestr(t0 + t*deltaT/86400-1,'yyyymmdd');
		disp(f_day)
		writebin([pout fld '_' f_day '_k' myint2str(k,2) '.bin'],ssh_dy_mean)

		ssh_yr_sq_dy = ssh_yr_sq_dy + ssh_dy_mean.^2;
		ssh_mn_sq_dy = ssh_mn_sq_dy + ssh_dy_mean.^2;
		ssh_mn_mean  = ssh_mn_mean  + ssh_dy_mean;
	end %dy		
	%monthly mean:
		ssh_mn_mean = ssh_mn_mean/days;
		ssh_mn_sq_dy = ssh_mn_sq_dy/days;
		ssh_mn_sq_hr = ssh_mn_sq_hr/(days*24);
	f_mon=datestr(t0 + t*deltaT/86400-1,'yyyymm');
	writebin([pout fld '_' f_mon '_k' myint2str(k,2) '.bin'],ssh_mn_mean, 1,'real*4',1 -1)
	writebin([pout fld '_' f_mon '_k' myint2str(k,2) '.bin'],ssh_mn_sq_hr,1,'real*4',2 -1)
	writebin([pout fld '_' f_mon '_k' myint2str(k,2) '.bin'],ssh_mn_sq_dy,1,'real*4',3 -1)
end %mn

%yearly mean
ssh_yr_mean = ssh_yr_mean/length(ts);
ssh_yr_sq_hr = ssh_yr_sq_hr/length(ts);
ssh_yr_sq_dy = ssh_yr_sq_dy/365;
%save
writebin([pout fld '_year_k' myint2str(k,2) '.bin'],ssh_yr_mean, 1,'real*4',1 -1);
writebin([pout fld '_year_k' myint2str(k,2) '.bin'],ssh_yr_sq_hr,1,'real*4',2 -1);
writebin([pout fld '_year_k' myint2str(k,2) '.bin'],ssh_yr_sq_dy,1,'real*4',3 -1);

