/[MITgcm]/MITgcm_contrib/gael/profilesMatlabProcessing/profiles_devel/MITprof_stats.m
ViewVC logotype

Contents of /MITgcm_contrib/gael/profilesMatlabProcessing/profiles_devel/MITprof_stats.m

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


Revision 1.2 - (show annotations) (download)
Thu Jan 6 23:53:51 2011 UTC (14 years, 6 months ago) by gforget
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +0 -0 lines
FILE REMOVED
-removing MITprof_stats.m from devel dir, since
 this part is now handled in profiles_stats.

1
2 doPart1=1;
3 doDisplay=1;
4 doPlatformCheck=0;
5
6 if doPart1;
7
8 %load paths and grid:
9 %--------------------
10 startup_gcmfaces_and_mitprof;
11
12 %load data set:
13 %--------------
14
15 dirData='./MITprof/profiles_devel/';
16 fileData='seals_latest_MITprof.nc';
17 %fileData='argo_pacific_MITprof_latest.nc';
18 %fileData='argo_atlantic_MITprof_latest.nc';
19 %fileData='argo_indian_MITprof_latest.nc';
20 MITprof=MITprof_load([dirData fileData]);
21
22 %assign nameData:
23 %----------------
24
25 ii=strfind(fileData,'_MITprof_latest.nc');
26 if ~isempty(ii);
27 nameData=fileData(1:ii-1);
28 else;
29 ii=strfind(fileData,'_MITprof.nc');
30 if ~isempty(ii);
31 nameData=fileData(1:ii-1);
32 else;
33 ii=strfind(fileData,'.nc');
34 nameData=fileData(1:ii-1);
35 end;
36 end;
37
38 eval(['MITprof_' nameData '=MITprof;']);
39
40 %get platforms list:
41 %-------------------
42
43 prof_descrInd={}; prof_countInd=[];
44 prof_lonInd=[]; prof_latInd=[]; prof_dateInd=[];
45
46 npInd=0;
47 for pp=1:MITprof.np;
48 test0=isempty(find(strcmp(prof_descrInd,MITprof.prof_descr{pp})));
49 if test0;
50 %MITprof.prof_descr{pp}
51 npInd=npInd+1; prof_descrInd{npInd}=MITprof.prof_descr{pp};
52 test1=find(strcmp(prof_descrInd{npInd},MITprof.prof_descr));
53 prof_countInd=[prof_countInd length(test1)];
54 prof_lonInd=[prof_lonInd median(MITprof.prof_lon(test1))];
55 prof_latInd=[prof_latInd median(MITprof.prof_lat(test1))];
56 prof_dateInd=[prof_dateInd median(MITprof.prof_date(test1))];
57 end;
58 end;
59
60 [prof_countInd,ii]=sort(prof_countInd,'descend');
61 prof_descrInd=prof_descrInd(ii); prof_lonInd=prof_lonInd(ii);
62 prof_latInd=prof_latInd(ii); prof_dateInd=prof_dateInd(ii);
63
64 %store stats to structure:
65 %-------------------------
66
67 eval(['platform_stats_' nameData '.prof_descrInd=prof_descrInd;']);
68 eval(['platform_stats_' nameData '.prof_countInd=prof_countInd;']);
69 eval(['platform_stats_' nameData '.prof_lonInd=prof_lonInd;']);
70 eval(['platform_stats_' nameData '.prof_latInd=prof_latInd;']);
71 eval(['platform_stats_' nameData '.prof_dateInd=prof_dateInd;']);
72
73 end;
74
75 %display all platforms tracks:
76 %-----------------------------
77
78 if doDisplay>1;
79 cols='krymbw';
80
81 figure; set(gcf,'Units','Normalized','Position',[0.1 0.3 0.4 0.6]);
82 [X,Y,FLD]=convert2pcol(mygrid.XC,mygrid.YC,mygrid.mskC); pcolor(X,Y,FLD);
83 axis([-180 180 -90 90]); shading flat; xlabel('longitude'); ylabel('latitude');
84
85 for ppInd=1:npInd;
86 ii=circshift([1:length(cols)],[0 ppInd-1]); ii=ii(1); cc=cols(ii);
87 jj=find(strcmp(MITprof.prof_descr,prof_descrInd{ppInd}));
88 if length(jj)>20;
89 hold on; plot(MITprof.prof_lon(jj),MITprof.prof_lat(jj),[cc '.']);
90 title(prof_descrInd{ppInd}); pause(0.01);
91 end;
92 end;
93 end;%if doDisplay>0;
94
95 %refined analysis of a platform's data:
96 %--------------------------------------
97
98 if doPlatformCheck;
99 for ii=1:100;
100 MITprofSub=MITprof_subset(MITprof,'descr',prof_descrInd{ii});
101 if doDisplay>0;
102 figure; set(gcf,'Units','Normalized','Position',[0.1 0.1 0.8 0.8]);
103 subplot(3,1,1);
104 [X,Y,FLD]=convert2pcol(mygrid.XC,mygrid.YC,mygrid.mskC); pcolor(X,Y,FLD);
105 axis([-180 180 -90 90]); shading flat; xlabel('longitude'); ylabel('latitude');
106 hold on; plot(MITprofSub.prof_lon,MITprofSub.prof_lat,'k.');
107 ccT=prctile(MITprofSub.prof_T(:),[5 95]); ccS=prctile(MITprofSub.prof_S(:),[5 95]); if isnan(ccS(1)); ccS=[34 36]; end;
108 subplot(3,2,3); imagescnan(MITprofSub.prof_T'); caxis(ccT); colorbar; title('T obs');
109 subplot(3,2,4); imagescnan(MITprofSub.prof_S'); caxis(ccS); colorbar; title('S obs');
110 subplot(3,2,5); imagescnan(MITprofSub.prof_Testim'); caxis(ccT); colorbar; title('T estim');
111 subplot(3,2,6); imagescnan(MITprofSub.prof_Sestim'); caxis(ccS); colorbar; title('S estim');
112 %pause;
113 end;
114
115 MITprofSub=MITprof_subset(MITprofSub,'depth',[50 150]);
116 misfT=(MITprofSub.prof_T-MITprofSub.prof_Testim).*sqrt(MITprofSub.prof_Tweight); misfT=misfT(find(~isnan(misfT)&misfT~=0));
117 misfS=(MITprofSub.prof_S-MITprofSub.prof_Sestim).*sqrt(MITprofSub.prof_Sweight); misfS=misfS(find(~isnan(misfS)&misfS~=0));
118 if doDisplay>0;
119 figure; set(gcf,'Units','Normalized','Position',[0.1 0.1 0.8 0.8]);
120 subplot(2,2,1);
121 [X,Y,FLD]=convert2pcol(mygrid.XC,mygrid.YC,mygrid.mskC); pcolor(X,Y,FLD);
122 axis([-180 180 -90 90]); shading flat; xlabel('longitude'); ylabel('latitude');
123 hold on; plot(MITprofSub.prof_lon,MITprofSub.prof_lat,'k.');
124 subplot(2,2,2);
125 plot(MITprofSub.prof_T,MITprofSub.prof_S,'bx'); hold on; xlabel('T'); ylabel('S');
126 plot(MITprofSub.prof_Testim,MITprofSub.prof_Sestim,'rx'); title('blue: obs red: estim');
127 subplot(2,2,3); hist(misfT(find(~isnan(misfT))),[-8:0.25:8]);
128 aa=axis; aa(1:2)=[-1 1]*10; axis(aa); title('T normalized misfit');
129 subplot(2,2,4); hist(misfS(find(~isnan(misfS))),[-8:0.25:8]);
130 aa=axis; aa(1:2)=[-1 1]*10; axis(aa); title('S normalized misfit');
131 %pause;
132 end;
133
134 close; close;
135
136 end;
137 end;%if doPlatformCheck;
138
139

  ViewVC Help
Powered by ViewVC 1.1.22