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

Annotation of /MITgcm_contrib/enderton/Diagnostics/DiagSliceGradsData.m

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


Revision 1.2 - (hide annotations) (download)
Fri Aug 19 22:33:46 2005 UTC (19 years, 11 months ago) by molod
Branch: MAIN
Changes since 1.1: +3 -3 lines
Fix bug for not taking zonal mean case

1 enderton 1.1 function [data,xax,yax,pltslc] = ...
2 molod 1.2 DiagSliceGradsData(fln,flu,slc,data,xaxin,yaxin,zaxin);
3 enderton 1.1
4     % Function: DiagSliceGradsData
5     % Author: Daniel Enderton
6     %
7     % Input Fields:
8     %
9     % Field Type (Brief) Description
10     % -----------------------------------------------------------------------
11     % slc string Slice type ('Zon','k=#',...)
12     %
13     % Output Fields:
14     %
15     % Field Type (Brief) Description
16     % -----------------------------------------------------------------------
17     % data array Sliced data.
18    
19     DiagFieldParamA;
20     DiagFieldParamO;
21     DiagFieldParamC;
22     DiagFieldParamI;
23    
24     if isequal(slc,'Sur')
25 molod 1.2 data = data';
26 enderton 1.1 xax = xaxin;
27     yax = yaxin;
28     pltslc='lonlat';
29    
30     elseif isequal(slc,'Zon')
31     data = squeeze(mean(data,1))';
32     xax=yaxin;
33     if isequal(length(zaxin),1)
34     yax=NaN;
35     pltslc='latfld';
36     else
37     yax=ZC;
38     pltslc='lathgt';
39     end
40    
41     elseif isequal(slc(1:2),'i=')
42     ii = str2num(slc(3:end));
43     data=squeeze(data(ii,:,:,:));
44     xax=yaxin;
45     if isequal(length(zaxin),1)
46     yax=NaN;
47     pltslc='latfld';
48     else
49     yax=ZC;
50     pltslc='lathgt';
51     end
52    
53     elseif isequal(slc(1:2),'j=')
54     jj = str2num(slc(3:end));
55     data = squeeze(data(:,jj,:,:));
56     if isequal(length(zaxin),1)
57     yax=NaN;
58     pltslc='lonfld';
59     else
60     yax=ZC;
61     pltslc='lonhgt';
62     end
63    
64     elseif isequal(slc(1:2),'k=')
65     kk = str2num(slc(3:end));
66     data = squeeze(data(:,:,kk,:));
67     xax = xaxin;
68     yax = yaxin;
69     pltslc='lonlat';
70    
71     else
72     error(['Unrecognized SliceType: ',slc]);
73     end
74    
75    
76     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
77     % Check range %
78     %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
79    
80     % Load fixed and data ranges, throw a warning is data out of range.
81     datarange = [min(data(:)),max(data(:))];
82     try
83     eval(['fixedrange = ',fln,'range',flu,';']);
84     if datarange(1) < fixedrange(1) | ...
85     datarange(2) > fixedrange(2)
86     disp(['***Warning*** Value out of range for ',fln]);
87     disp([' Data range: ',mat2str(datarange)]);
88     disp([' Fixed range: ',mat2str(fixedrange)]);
89     end
90     catch
91     disp(['***Warning*** No range information found for ',fln]);
92     disp([' Data range: ',mat2str(datarange)]);
93 molod 1.2 end

  ViewVC Help
Powered by ViewVC 1.1.22