12 |
|
|
13 |
global mygrid; |
global mygrid; |
14 |
|
|
15 |
if doGcm2Faces; |
if doGcm2Faces&mygrid.gcm2facesFast; |
16 |
|
|
17 |
|
[n1,n2,n3,n4,n5]=size(v0); |
18 |
|
|
19 |
|
v0=reshape(v0,[n1*n2 n3*n4*n5]); |
20 |
|
for iFace=1:mygrid.nFaces; |
21 |
|
v1{iFace}=reshape(mygrid.gcm2faces{iFace}*v0,[size(mygrid.XC{iFace}) n3 n4 n5]); |
22 |
|
end; |
23 |
|
|
24 |
|
v1=gcmfaces(v1); |
25 |
|
|
26 |
|
elseif ~doGcm2Faces&mygrid.gcm2facesFast; |
27 |
|
|
28 |
|
[n1,n2,n3,n4,n5]=size(v0{1}); |
29 |
|
|
30 |
|
v1=zeros(mygrid.faces2gcmSize(1)*mygrid.faces2gcmSize(2),n3*n4*n5); |
31 |
|
for iFace=1:mygrid.nFaces; |
32 |
|
nn=size(mygrid.XC{iFace}); |
33 |
|
v1(mygrid.faces2gcm{iFace},:)=reshape(v0{iFace},[nn(1)*nn(2) n3*n4*n5]); |
34 |
|
end; |
35 |
|
v1=reshape(v1,[mygrid.faces2gcmSize n3 n4 n5]); |
36 |
|
|
37 |
|
elseif doGcm2Faces; |
38 |
|
|
39 |
[n1,n2,n3,n4,n5]=size(v0); |
[n1,n2,n3,n4,n5]=size(v0); |
40 |
|
|
60 |
|
|
61 |
end; |
end; |
62 |
|
|
63 |
if mygrid.nFaces==1; gridType='ll'; |
v1=gcmfaces(v1); |
|
elseif mygrid.nFaces==5; gridType='llc'; |
|
|
elseif mygrid.nFaces==6; gridType='cube'; |
|
|
end; |
|
|
v1=gcmfaces(v1,gridType); |
|
64 |
|
|
65 |
else; |
else; |
66 |
|
|