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

Annotation of /MITgcm_contrib/gael/profilesMatlabProcessing/profiles_devel/MITprof_platforms.m

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


Revision 1.4 - (hide annotations) (download)
Fri Aug 5 22:11:27 2011 UTC (13 years, 11 months ago) by gforget
Branch: MAIN
CVS Tags: checkpoint65r, checkpoint65p, checkpoint65q
Changes since 1.3: +2 -2 lines
- replace gcmfaces_path and 'global mygrid' calls with gcmfaces_global calls

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

  ViewVC Help
Powered by ViewVC 1.1.22