/[MITgcm]/MITgcm_contrib/enderton/Diagnostics/DiagPlot.m
ViewVC logotype

Diff of /MITgcm_contrib/enderton/Diagnostics/DiagPlot.m

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.4 by enderton, Mon Feb 7 05:31:45 2005 UTC revision 1.7 by enderton, Tue Sep 13 19:32:03 2005 UTC
# Line 42  for inrow = 1:nrow Line 42  for inrow = 1:nrow
42            
43      ntrl = length(page{inrow}); if ntrl ~= 1, ntrl = ntrl - 1; end      ntrl = length(page{inrow}); if ntrl ~= 1, ntrl = ntrl - 1; end
44      if ntrl == 1, cmp = 'Sep'; else, cmp = page{inrow}{end}; end      if ntrl == 1, cmp = 'Sep'; else, cmp = page{inrow}{end}; end
45      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
46            
47      dx = (1-dxl-dxr-(ncol-1)*dxm)/ncol;      dx = (1-dxl-dxr-(ncol-1)*dxm)/ncol;
48      dy = (1-dyb-dyt-(nrow-1)*dym)/nrow;      dy = (1-dyb-dyt-(nrow-1)*dym)/nrow;
49            
50      for incol = 1:ncol      for incol = 1:ncol
51                    
52          if size(data{inrow}{incol}) == [6*hres,hres], isCS = 1; else, isCS = 0; end          if ~isequal(data{inrow}{incol},'Empty')
         fln = page{inrow}{incol}{ifln};  
         pst = page{inrow}{incol}{ipst};  
         flu = page{inrow}{incol}{iflu};  
53                    
54          % Set panel settings to default values, override with optional              % Very crude test to see if cube sphere, must be fixed!
55          % settings.              test = size(data{inrow}{incol});
56                  ExpInfo = page{inrow}{incol};              if test(1)./test(2) == 6, isCS = 1; else, isCS = 0; end
57                  for iarg = 14:2:length(ExpInfo)              fln = page{inrow}{incol}{ifln};
58              if ~ismember(ExpInfo{iarg},diagrunparam)              pst = page{inrow}{incol}{ipst};
59                  ivalue=ExpInfo{iarg+1};              flu = page{inrow}{incol}{iflu};
60                  if isstr(ivalue), fvalue=['''',ivalue,''''];              
61                  elseif prod(size(ivalue))>1, fvalue=mat2str(ivalue);              % Set panel settings to default values, override with optional
62                  else fvalue=num2str(ivalue); end              % settings.
63                  evalexpr = [ExpInfo{iarg},'=',fvalue,';'];              DiagPlotDefaults;
64                  if DiagDebug, disp(['  Optional plot parameter evaluation:  ',evalexpr]); end                          ExpInfo = page{inrow}{incol};
65                  eval(evalexpr);                          for iarg = 14:2:length(ExpInfo)
66              end                  if ~ismember(ExpInfo{iarg},diagrunparam)
67                  end                      ivalue=ExpInfo{iarg+1};
68                                if isstr(ivalue), fvalue=['''',ivalue,''''];
69          disp(['  Row: ',num2str(inrow),'/',num2str(nrow),...                      elseif prod(size(ivalue))>1, fvalue=mat2str(ivalue);
70                '; Col: ',num2str(incol),'/',num2str(ncol),...                      else fvalue=num2str(ivalue); end
71                '; Cmp: ',cmp]);                      evalexpr = [ExpInfo{iarg},'=',fvalue,';'];
72                                if DiagDebug, disp(['  Optional plot parameter evaluation:  ',evalexpr]); end
73          % Load contour intervals, units (loaded in 'DiagFieldParam[A,O]').                      eval(evalexpr);
74          try, contint; catch                  end
75              try, eval(['contint = ',fln,'contour',flu,';']);                          end
76              catch, disp(['***Warning***  No contour information for ',fln]);              
77                     disp(['               Using 10 generic contour levels.']);              disp(['  Row: ',num2str(inrow),'/',num2str(nrow),...
78                     contint = 10; end, end                    '; Col: ',num2str(incol),'/',num2str(ncol),...
79          try, units; catch                    '; Cmp: ',cmp]);
80              try, eval(['units = ',fln,'units',flu,';']);              
81              catch, disp(['***Warning***  No unit information found for ',fln]);              % Load contour intervals, units (loaded in
82                     disp(['               Using question mark.']);              % 'DiagFieldParam[A,O]').
83                     units = '?'; end, end              if ~isequal(cmp,'Dif')
84                          try, contint; catch
85          xi = dxl + (incol-1)*(dx+dxm);                      try, eval(['contint = ',fln,'contour',flu,';']);
86          yi = 1-dyt-inrow*dy-(inrow-1)*dym;                      catch, disp(['***Warning***  No contour information for ',fln]);
87                                       disp(['               Using 10 generic contour levels.']);
88          isp = (inrow-1)*ncol+incol;                             contint = 10; end, end
89          if DiagDebug, disp(['  DiagDebug:  Subplot:  ',mat2str([nrow,ncol,isp])]); end              else, try, contint; catch, contint = 10; end, end
90          if DiagDebug, disp(['  DiagDebug:  SP Range: ',mat2str([xi,yi,dx,dy])]); end              try, units; catch
91          subplot(nrow,ncol,isp); hold on;                  try, eval(['units = ',fln,'units',flu,';']);
92          set(gca,'position',[xi,yi,dx,dy],'fontsize',fs_axis);                  catch, disp(['***Warning***  No unit information found for ',fln]);
93                                   disp(['               Using question mark.']);
94          % (Re)set axes and color axis -- Accounts for things like a possible                         units = '?'; end, end
95          % colorbar, or trimming the axis in certain ways.              
96          % Apply desired colorbar, contour label, tick labels, box, grid, and              xi = dxl + (incol-1)*(dx+dxm);
97          % other such odds and ends.              yi = 1-dyt-inrow*dy-(inrow-1)*dym;
98          DiagPlotMakePlot;              
99          DiagPlotResetAxes;              isp = (inrow-1)*ncol+incol;
100          DiagPlotMisc;              if DiagDebug, disp(['  DiagDebug:  Subplot:  ',mat2str([nrow,ncol,isp])]); end
101          DiagPlotTitles;              if DiagDebug, disp(['  DiagDebug:  SP Range: ',mat2str([xi,yi,dx,dy])]); end
102          clear contint units              subplot(nrow,ncol,isp); hold on;
103                set(gca,'position',[xi,yi,dx,dy],'fontsize',fs_axis);
104                
105                if Coast
106                    fac = pi./180;
107                    xax{inrow}{incol} = xax{inrow}{incol}.*fac;
108                    yax{inrow}{incol} = yax{inrow}{incol}.*fac;
109                else, fac = 1; end
110                
111                % (Re)set axes and color axis -- Accounts for things like a possible
112                % colorbar, or trimming the axis in certain ways.
113                % Apply desired colorbar, contour label, tick labels, box, grid, and
114                % other such odds and ends.
115                DiagPlotMakePlot;
116                DiagPlotResetAxes;
117                DiagPlotMisc;
118                DiagPlotTitles;
119                clear contint units crange
120            end
121      end      end
122  end  end
123    

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.7

  ViewVC Help
Powered by ViewVC 1.1.22