1 |
gforget |
1.1 |
function a = mk3D(b,c) |
2 |
|
|
|
3 |
|
|
a=c; |
4 |
|
|
|
5 |
|
|
if isa(b,'gcmfaces'); |
6 |
|
|
%go from 2D field to 3D field |
7 |
gforget |
1.2 |
n3=size(a.f1,3); |
8 |
gforget |
1.1 |
for iFace=1:a.nFaces; |
9 |
|
|
iF=num2str(iFace); |
10 |
gforget |
1.2 |
eval(['tmp1=b.f' iF ';']); [n1,n2]=size(tmp1); tmp1=tmp1(:); |
11 |
|
|
tmp1=tmp1*ones(1,size(a.f1,3)); tmp1=reshape(tmp1,[n1 n2 n3]); |
12 |
|
|
eval(['a.f' iF '=tmp1;']); |
13 |
gforget |
1.1 |
end; |
14 |
|
|
elseif isa(b,'double'); |
15 |
gforget |
1.2 |
n3=length(b); |
16 |
|
|
if size(b,1)~=1; b=b'; end; |
17 |
gforget |
1.1 |
for iFace=1:a.nFaces; |
18 |
|
|
iF=num2str(iFace); |
19 |
gforget |
1.2 |
eval(['tmp1=c.f' iF ';']); tmp2=size(tmp1); n1=tmp2(1); n2=tmp2(2); |
20 |
|
|
tmp1=reshape(ones(n1*n2,1)*b,[n1 n2 n3]);; |
21 |
|
|
eval(['a.f' iF '=tmp1;']); |
22 |
gforget |
1.1 |
end; |
23 |
|
|
else |
24 |
|
|
error('indexing not supported by gcmfaces objects') |
25 |
|
|
end |
26 |
|
|
|
27 |
|
|
|