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

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

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


Revision 1.2 - (show 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 function [data,xax,yax,pltslc] = ...
2 DiagSliceGradsData(fln,flu,slc,data,xaxin,yaxin,zaxin);
3
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 data = data';
26 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 end

  ViewVC Help
Powered by ViewVC 1.1.22