--- MITgcm_contrib/enderton/Diagnostics/DiagLoad.m 2005/08/10 20:00:35 1.10 +++ MITgcm_contrib/enderton/Diagnostics/DiagLoad.m 2005/09/05 18:48:27 1.13 @@ -53,15 +53,15 @@ if DiagDebug, disp([' Debug -- Loading GRADS field.']); end [data,xax,yax,zax,months,time,dim] = ... DiagLoadGradsData(Grads,dad,fln,DiagDebug); - if DiagDebug, disp([' Debug -- ''data'' size after load: ',mat2str(size(data))]); end + if DiagDebug, disp([' Debug -- ''data'' size after load: ',... + mat2str(size(data))]); end data = DiagAverage(data,fln,avg,months,ddf,dim); - if DiagDebug, disp([' Debug -- ''data'' size after averaging: ',mat2str(size(data))]); end - if isequal(slc,'Sur') - data = data'; - pltslc='lonlat'; - else - error('Loading grads data only set to handle surface plots!'); - end + if DiagDebug, disp([' Debug -- ''data'' size after averaging: ',... + mat2str(size(data))]); end + [data,xax,yax,pltslc] = ... + DiagSliceGradsData(fln,flu,slc,data,xax,yax,zax); + if DiagDebug, disp([' Debug -- ''data'' size after slicing: ',... + mat2str(size(data))]); end % Load monitor data. elseif isequal(dat(1:2),'Mn') @@ -189,7 +189,7 @@ V = DiagAverage(V,fln,avg,months,ddf,Dim); [XC,XG,YC,YG,Ylat,ZC,ZG,RAC,drC,drF,HFacC,HFacW,HFacS,dxG,dyG,dxC,dyC] = ... DiagLoadGridData(LoadGridData,grd,gdf,flu,GridSuffix,ZcordFile); - %[U,V]=uvcube2latlon(XC,YC,U,V,XL,YL); + [U,V]=uvcube2latlon(XC,YC,U,V,XL,YL); if ismember(fln,{'U','uVel','fizhi_U'}) data = U; elseif ismember(fln,{'V','vVel','fizhi_V'}) @@ -370,9 +370,15 @@ if DiagDebug, disp([' Debug -- ''data'' size after vector manipulation: ',mat2str(size(data))]); end else % Sequence here for Vector = 0 - if ~isequal(Index,0) + if ~isequal(Index,0) & isequal(size(Index),[1 1]) & isequal(sign(Index),1) if isequal(Dim,2), data = squeeze(data(:,:,Index,:)); elseif isequal(Dim,3), data = squeeze(data(:,:,:,Index,:)); end + elseif isequal(size(Index),[1 1]) & ~isequal(sign(Index),1) + if isequal(Dim,2), data = sign(Index(1)).*squeeze(data(:,:,abs(Index(1)),:)); + elseif isequal(Dim,3), data = sign(Index(1)).*squeeze(data(:,:,:,abs(Index(1)),:)); end + elseif isequal(size(Index),[1 2]) + if isequal(Dim,2), data = sign(Index(1)).*squeeze(data(:,:,abs(Index(1)),:)) + sign(Index(2)).*squeeze(data(:,:,abs(Index(2)),:)); + elseif isequal(Dim,3), data = sign(Index(1)).*squeeze(data(:,:,:,abs(Index(1)),:)) + sign(Index(2)).*squeeze(data(:,:,:,abs(Index(2)),:)); end end if DiagDebug, disp([' Debug -- ''data'' size after indexing: ',mat2str(size(data))]); end data = DiagAverage(data,fln,avg,months,ddf,Dim); @@ -411,7 +417,7 @@ data = rdmds([dad,'/',fln,filesuffix],itr); elseif isequal(dfm,'MNC') data = rdmnc_mod2([dad,mnchandle],[fln,filesuffix],'iter','T',itr); - if ~isequal(itr,data.iter'), error('Missing iterations in data!'); end + %if ~isequal(itr,data.iter'), error('Missing iterations in data!'); end eval(['data = data.',fln,filesuffix,';']); else error(['Unrecognized data type: ',dfm]);