function [fld0]=convert2arctic(fld00,varargin);

if fld00.nFaces==1; fld00=convert2cube(fld00); end;

n1=size(fld00{1},1);	%90
n2=size(fld00{1},2);	%270
n3=size(fld00{1},3);	%1
n4=size(fld00{1},4);	%1

f1=flipdim(permute(fld00{1},[2 1 3 4]),2);
f2=fld00{2};                       
f3=fld00{3};
f4=fld00{4};
f5=flipdim(permute(fld00{5},[2 1 3 4]),1);
if isempty(fld00{3}); f3=NaN*zeros(n1,n1,n3,n4); end;

fld0=NaN*zeros(n2*2+n1,n2*2+n1,n3,n4);
fld0(1:n2,n2+1:n2+n1,:,:)=f1;
fld0(n2+1:n2+n1,n2+1:n2+n1,:,:)=f3;
fld0(n2+n1+1:end,n2+1:n2+n1,:,:)=f4;
fld0(n2+1:n2+n1,1:n2,:,:)=f2;
fld0(n2+1:n2+n1,n2+n1+1:end,:,:)=f5;

%nn=round(n2/2); 
nn=round(2*n2/3); 
nn2=n2-nn+1; nn1=n2*2+n1-nn2+1;
fld0=fld0(nn2:nn1,nn2:nn1);

if nargin==2; doFill=varargin{1}; else; doFill=1; end;
if doFill;

if n3>1; fprintf('not implemented yet\n'); return; end;
%fill the corners of fld0:
warning('off','MATLAB:interp1:NaNinY');
%for pp=1:4;
%%do the interpolation in polar coordinates...
%  ii=[0:nn]'*ones(1,nn+1); jj=ones(nn+1,1)*[0:nn];
%  aa=angle(ii+i*jj); bb=min(abs(ii+i*jj),nn);
%%
%  v0=fld0(end-nn:end,end-nn:end);
%  k1=find(aa==0); k2=find(aa>0&aa<=pi/4); v0(k2)=interp1(bb(k1),v0(k1),bb(k2));
%  k1=find(aa==pi/2); k2=find(aa>pi/4&aa<=pi/2); v0(k2)=interp1(bb(k1),v0(k1),bb(k2));
%  fld0(end-nn+1:end,end-nn+1:end)=v0(2:end,2:end);
%  fld0=sym_g(fld0,5,0);
%%
%end;
warning('on','MATLAB:interp1:NaNinY');

end;%if doFill;

