1 |
function [fldOut]=rdmds2gcmfaces(fileName,varargin); |
function [fldOut,IT,M]=rdmds2gcmfaces(varargin); |
2 |
|
%object: read with rmds then apply convert2gcmfaces |
3 |
|
%input: varargin are the options to pass to rdmds (type help rdmds) |
4 |
|
%output: fldOut is a gcmfaces object |
5 |
|
% |
6 |
|
%note: an earlier version was expecting nFaces to be passed |
7 |
|
% as the last argument; this is not the case anymore. |
8 |
|
|
9 |
if nargin>=3&~isempty(varargin{1}); |
gcmfaces_global; |
10 |
v0=rdmds(fileName,varargin{1:end-1}); nFaces=varargin{end}; |
|
11 |
elseif nargin>=3&isempty(varargin{1}); |
[v0,IT,M]=rdmds(varargin{1:end}); |
12 |
v0=rdmds(fileName,varargin{2:end-1}); nFaces=varargin{end}; |
|
13 |
elseif nargin==2~isempty(varargin{1}); |
nn=size(v0); |
14 |
v0=rdmds(fileName,varargin{1}); nFaces=5; |
test1=isfield(mygrid,'xtrct'); |
15 |
else; |
test1=test1&(prod(mygrid.ioSize)~=prod(nn(1:2))); |
16 |
v0=rdmds(fileName); nFaces=5; |
if test1; |
17 |
|
if length(nn)==2; nn=[nn 1]; end; |
18 |
|
v0=reshape(v0,[nn(1)*nn(2) nn(3:end)]); |
19 |
|
v0=v0(mygrid.xtrct_inFull,:,:,:); |
20 |
|
v0=reshape(v0,[mygrid.ioSize nn(3:end)]); |
21 |
end; |
end; |
|
|
|
|
fldOut=convert2gcmfaces(v0,nFaces); |
|
22 |
|
|
23 |
|
fldOut=convert2gcmfaces(v0); |