1 |
gforget |
1.1 |
function [FLD]=convert2array_llpc(fld,varargin); |
2 |
|
|
|
3 |
|
|
if isa(fld,'gcmfaces'); do_gcmfaces2array=1; else; do_gcmfaces2array=0; end; |
4 |
|
|
|
5 |
|
|
if do_gcmfaces2array; |
6 |
|
|
n3=max(size(fld.f1,3),1); n4=max(size(fld.f1,4),1); |
7 |
|
|
n1=size(fld.f1,1)*4; n2=size(fld.f1,2); |
8 |
|
|
FLD=squeeze(zeros(n1,n2,n3,n4)); |
9 |
|
|
else; |
10 |
|
|
n3=max(size(fld,3),1); n4=max(size(fld,4),1); |
11 |
|
|
FLD=NaN*varargin{1}; |
12 |
|
|
for k3=1:n3; for k4=1:n4; for iFace=1:FLD.nFaces; |
13 |
|
|
iF=num2str(iFace); eval(['FLD.f' iF '(:,:,k3,k4)=FLD.f' iF '(:,:,1,1);']); |
14 |
|
|
end; end; end; |
15 |
|
|
end; |
16 |
|
|
|
17 |
|
|
for k3=1:n3; for k4=1:n4; |
18 |
|
|
|
19 |
|
|
if do_gcmfaces2array; |
20 |
|
|
%ASSEMBLE SIDE FACES: |
21 |
|
|
%---------------------- |
22 |
|
|
FLD1=[fld.f1(:,:,k3,k4);fld.f2(:,:,k3,k4);sym_g(fld.f3(:,:,k3,k4),7,0);sym_g(fld.f4(:,:,k3,k4),7,0)]; |
23 |
|
|
%store: |
24 |
|
|
%------ |
25 |
|
|
FLD(:,:,k3,k4)=FLD1; |
26 |
|
|
else; |
27 |
|
|
n1=size(FLD.f1,1); n2=size(FLD.f1,2); |
28 |
|
|
FLD.f1(:,:,k3,k4)=fld(1:n1,1:n2,k3,k4); |
29 |
|
|
FLD.f2(:,:,k3,k4)=fld(n1+[1:n1],1:n2,k3,k4); |
30 |
|
|
FLD.f3(:,:,k3,k4)=sym_g(fld(n1*2+[1:n1],1:n2,k3,k4),5,0); |
31 |
|
|
FLD.f4(:,:,k3,k4)=sym_g(fld(n1*3+[1:n1],1:n2,k3,k4),5,0); |
32 |
|
|
end; |
33 |
|
|
|
34 |
|
|
end; end; |
35 |
|
|
|