clear


NX=35159453;
TX=8760;
aa=zeros([NX TX],'single');

fin='TIDE_SSH_NxT.bin';

seg=365;
bb=zeros([NX seg],'single');
TT=floor(TX/seg);
for t=1:TT
mydisp(t)
tic
	tt=(t-1)*seg+(1:seg);
%	disp([t tt(1) tt(end)])
	bb=readbin(fin,[NX seg], 1,'real*4',t -1);
	aa(:,tt)=bb;
toc	
end
%result:
%seg=1		8760*0.8==>7008 seconds
%seg=365	24*258.7==>6208 seconds

fout='TIDE_SSH_TxN.bin';
seg=1e6;
bb=zeros([TX seg],'single');
NN=floor(NX/seg);
for n=1:NN
mydisp(n)
tic
	nn=(n-1)*seg+(1:seg);
%	disp([n nn(1) nn(end)])
	bb=aa(nn,1:TX)';
%	writebin(fout,bb, 1,'real*4',n -1);
	writebin([fout '_n' myint2str(n,2)],bb);
toc	
end

n=NN+1;
mydisp(n)
tic
	nn=(NN*seg+1):NX;
	disp([n nn(1) nn(end)])
	bb=aa(nn,1:TX)';
	writebin([fout '_n' myint2str(n,2)],bb);
toc	

%bash: cat TIDE_SSH_TxN.bin_n??>>TIDE_SSH_TxN.bin


fout='TIDE_SSH_TxN.bin2';
seg=1;
bb=zeros([TX seg],'single');
NN=floor(NX/seg);
for n=1:NN
if mod(n,1e4)==0
mydisp(n)
        toc;tic
end

	nn=(n-1)*seg+(1:seg);
%	disp([n nn(1) nn(end)])
%	bb=aa(nn,1:TX)';
%	writebin(fout,bb, 1,'real*4',n -1);
	writebin(fout,aa(nn,1:TX), 1,'real*4',n -1);
end

