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

Annotation 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 - (hide 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 gforget 1.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