--- MITgcm_contrib/enderton/Diagnostics/DiagPlot.m 2005/02/07 05:31:45 1.4 +++ MITgcm_contrib/enderton/Diagnostics/DiagPlot.m 2005/08/10 19:58:03 1.6 @@ -42,20 +42,23 @@ ntrl = length(page{inrow}); if ntrl ~= 1, ntrl = ntrl - 1; end if ntrl == 1, cmp = 'Sep'; else, cmp = page{inrow}{end}; end - if ntrl == 1, ncol = 1; elseif cmp == 'Sbs', ncol = ntrl; else ncol = 1; end + if ntrl == 1, ncol = 1; elseif isequal(cmp,'Sbs'), ncol = ntrl; else ncol = 1; end dx = (1-dxl-dxr-(ncol-1)*dxm)/ncol; dy = (1-dyb-dyt-(nrow-1)*dym)/nrow; for incol = 1:ncol - if size(data{inrow}{incol}) == [6*hres,hres], isCS = 1; else, isCS = 0; end + % Very crude test to see if cube sphere, must be fixed! + test = size(data{inrow}{incol}); + if test(1)./test(2) == 6, isCS = 1; else, isCS = 0; end fln = page{inrow}{incol}{ifln}; pst = page{inrow}{incol}{ipst}; flu = page{inrow}{incol}{iflu}; % Set panel settings to default values, override with optional % settings. + DiagPlotDefaults; ExpInfo = page{inrow}{incol}; for iarg = 14:2:length(ExpInfo) if ~ismember(ExpInfo{iarg},diagrunparam) @@ -74,17 +77,19 @@ '; Cmp: ',cmp]); % Load contour intervals, units (loaded in 'DiagFieldParam[A,O]'). - try, contint; catch - try, eval(['contint = ',fln,'contour',flu,';']); - catch, disp(['***Warning*** No contour information for ',fln]); - disp([' Using 10 generic contour levels.']); - contint = 10; end, end + if ~isequal(cmp,'Dif') + try, contint; catch + try, eval(['contint = ',fln,'contour',flu,';']); + catch, disp(['***Warning*** No contour information for ',fln]); + disp([' Using 10 generic contour levels.']); + contint = 10; end, end + end try, units; catch try, eval(['units = ',fln,'units',flu,';']); catch, disp(['***Warning*** No unit information found for ',fln]); disp([' Using question mark.']); units = '?'; end, end - + xi = dxl + (incol-1)*(dx+dxm); yi = 1-dyt-inrow*dy-(inrow-1)*dym; @@ -94,6 +99,12 @@ subplot(nrow,ncol,isp); hold on; set(gca,'position',[xi,yi,dx,dy],'fontsize',fs_axis); + if Coast + fac = pi./180; + xax{inrow}{incol} = xax{inrow}{incol}.*fac; + yax{inrow}{incol} = yax{inrow}{incol}.*fac; + else, fac = 1; end + % (Re)set axes and color axis -- Accounts for things like a possible % colorbar, or trimming the axis in certain ways. % Apply desired colorbar, contour label, tick labels, box, grid, and @@ -102,7 +113,7 @@ DiagPlotResetAxes; DiagPlotMisc; DiagPlotTitles; - clear contint units + clear contint units crange end end