1 |
gforget |
1.1 |
%author : Gael Forget |
2 |
|
|
%date : 07/25/2005 |
3 |
|
|
%object : display information from a doubtful profiler |
4 |
|
|
%remark : works with the outputs of profiles_prep_write_nc |
5 |
|
|
|
6 |
|
|
%parameters of the check : |
7 |
|
|
%cur_pnum='1900278'; %identification number of the instrument |
8 |
|
|
%date_ref=[2004 8 1 0 0 0]; %reference date to be plot as a black line |
9 |
|
|
caxis_anoms=[1 0.2]; %limits for the colors for T and S misfits |
10 |
|
|
depth_max=2500; %maximum depth ploted |
11 |
|
|
|
12 |
|
|
|
13 |
|
|
global dataIsLoaded; |
14 |
|
|
|
15 |
|
|
repr='/net/altix3700/raid4/gforget/ARGO/ifremer/ECCOformat/'; |
16 |
|
|
filename='ARGOifremerEDW'; |
17 |
|
|
%load the data: |
18 |
|
|
if isempty(dataIsLoaded) |
19 |
|
|
|
20 |
|
|
model_time0=jul_0h([2002 01 01 06 00 00]); |
21 |
|
|
|
22 |
|
|
eval(['ncload ' repr filename 'CHECK.nc prof_T prof_S;']); prof_Tequi=prof_T; prof_Sequi=prof_S; |
23 |
|
|
eval(['ncload ' repr filename '.nc']); |
24 |
|
|
eval(['ncload ' repr filename 'CHECK.nc prof_Tweight prof_Sweight prof_Ttest prof_Stest;']); |
25 |
|
|
|
26 |
|
|
prof_descr(prof_descr==32)=0; prof_descr=char(prof_descr); |
27 |
|
|
bb=prof_descr'; cc=size(bb); |
28 |
|
|
prof_descr2=reshape(bb,1,cc(1)*cc(2)); |
29 |
|
|
|
30 |
|
|
prof_date00=prof_YYYYMMDD; |
31 |
|
|
prof_date00=prof_date00-1e4*floor(prof_date00*1e-4); prof_date=[1e-4*(prof_YYYYMMDD-prof_date00) floor(prof_date00*1e-2)]; |
32 |
|
|
prof_date00=prof_date00-1e2*floor(prof_date00*1e-2); prof_date=[prof_date prof_date00]; |
33 |
|
|
prof_date00=prof_HHMMSS; |
34 |
|
|
prof_date00=prof_date00-1e4*floor(prof_date00*1e-4); prof_date=[prof_date 1e-4*(prof_HHMMSS-prof_date00) floor(prof_date00*1e-2)]; |
35 |
|
|
prof_date00=prof_date00-1e2*floor(prof_date00*1e-2); prof_date=[prof_date prof_date00]; |
36 |
|
|
prof_date=(jul_0h(prof_date)-model_time0); |
37 |
|
|
|
38 |
|
|
dataIsLoaded=1; |
39 |
|
|
end |
40 |
|
|
|
41 |
|
|
|
42 |
|
|
figure; |
43 |
|
|
set(gcf,'Units','normalized'); set(gcf,'Position',[0.1 0.3 0.8 0.6]); colormap(jet(16)); |
44 |
|
|
|
45 |
|
|
|
46 |
|
|
fidgrey=fopen('/net/altix3700/raid4/gforget/ARGO/ifremer/ar_greylist.txt','rt'); |
47 |
|
|
tmp1=fgetl(fidgrey); |
48 |
|
|
cur_pnum_old=''; |
49 |
|
|
while ~feof(fidgrey); |
50 |
|
|
tmp1=fgetl(fidgrey); tmp2=strfind(tmp1,','); |
51 |
|
|
cur_pnum=double(tmp1(1:tmp2(1)-1)); |
52 |
|
|
cur_pnum=cur_pnum(find(cur_pnum~=0&cur_pnum~=32)); |
53 |
|
|
cur_pnum=char(cur_pnum); |
54 |
|
|
if ~strcmp(cur_pnum,cur_pnum_old) |
55 |
|
|
cur_pnum_old=cur_pnum; |
56 |
|
|
date_ref=double(tmp1(tmp2(2)+1:tmp2(3)-1)); |
57 |
|
|
date_ref=date_ref(find(date_ref~=0&date_ref~=32)); |
58 |
|
|
date_ref=char(date_ref); |
59 |
|
|
date_ref=[str2num(date_ref(1:4)) str2num(date_ref(5:6)) str2num(date_ref(7:8)) 0 0 0]; |
60 |
|
|
|
61 |
|
|
eval(['!grep ' cur_pnum ' /net/altix3700/raid4/gforget/ARGO/ifremer/ar_greylist.txt']); |
62 |
|
|
|
63 |
|
|
|
64 |
|
|
dd=horzcat(cur_pnum,char(zeros(1,size(prof_descr,2)-length(cur_pnum)))); |
65 |
|
|
ee=strfind(prof_descr2,dd); ee=(ee-1)/30+1; |
66 |
|
|
list_prof=ee(find(ee==round(ee))); |
67 |
|
|
[tmp3,tmp4]=sort(prof_date(list_prof)); list_prof=list_prof(tmp4); |
68 |
|
|
|
69 |
|
|
%preparation of the plot : |
70 |
|
|
xplot=prof_date(list_prof)*ones(1,length(depth)); yplot=-ones(length(list_prof),1)*depth'; |
71 |
|
|
tmp_axis=[min(xplot(:,1)) max(xplot(:,1)) -depth_max 0]; |
72 |
|
|
date_ref=jul_0h(date_ref)-model_time0; |
73 |
|
|
|
74 |
|
|
|
75 |
|
|
%the plot itself : |
76 |
|
|
suptitle(['profiler nb ' cur_pnum]); |
77 |
|
|
|
78 |
|
|
zplot=prof_T(list_prof,:); zplot(zplot<-1000)=NaN; |
79 |
|
|
subplot(3,2,1); pcolor(xplot,yplot,zplot); colorbar; shading flat; |
80 |
|
|
axis(tmp_axis);title('observed temperature'); |
81 |
|
|
hold on;plot([date_ref date_ref],[-depth_max 0],'k','LineWidth',2); |
82 |
|
|
ylabel('depth'); |
83 |
|
|
zplot=zplot-prof_Tequi(list_prof,:); zplot(prof_Tequi(list_prof,:)<-1000)=NaN; |
84 |
|
|
subplot(3,2,3); pcolor(xplot,yplot,zplot); caxis([-1 1]*caxis_anoms(1)); colorbar; shading flat; |
85 |
|
|
axis(tmp_axis); title('observed temperature anomaly'); |
86 |
|
|
hold on;plot([date_ref date_ref],[-depth_max 0],'k','LineWidth',2); |
87 |
|
|
ylabel('depth'); |
88 |
|
|
zplot=prof_Ttest(list_prof,:); zplot(zplot<-1000)=NaN; |
89 |
|
|
subplot(3,2,5); pcolor(xplot,yplot,zplot); caxis([0 8]); colorbar; shading flat; |
90 |
|
|
axis(tmp_axis);title('data rejected (values>0)'); |
91 |
|
|
hold on;plot([date_ref date_ref],[-depth_max 0],'k','LineWidth',2); |
92 |
|
|
xlabel('day'); ylabel('depth'); |
93 |
|
|
|
94 |
|
|
zplot=prof_S(list_prof,:); zplot(zplot<-1000)=NaN; |
95 |
|
|
subplot(3,2,2); pcolor(xplot,yplot,zplot); colorbar; shading flat; |
96 |
|
|
axis(tmp_axis);title('observed salinity'); |
97 |
|
|
hold on;plot([date_ref date_ref],[-depth_max 0],'k','LineWidth',2); |
98 |
|
|
ylabel('depth'); |
99 |
|
|
zplot=zplot-prof_Sequi(list_prof,:); zplot(prof_Sequi(list_prof,:)<-1000)=NaN; |
100 |
|
|
subplot(3,2,4); pcolor(xplot,yplot,zplot); caxis([-1 1]*caxis_anoms(2)); colorbar; shading flat; |
101 |
|
|
axis(tmp_axis); title('observed salinity anomaly'); |
102 |
|
|
hold on;plot([date_ref date_ref],[-depth_max 0],'k','LineWidth',2); |
103 |
|
|
ylabel('depth'); |
104 |
|
|
zplot=prof_Stest(list_prof,:); zplot(zplot<-1000)=NaN; |
105 |
|
|
subplot(3,2,6); pcolor(xplot,yplot,zplot); caxis([0 7]); colorbar; shading flat; |
106 |
|
|
axis(tmp_axis);title('data rejected (values>0)'); |
107 |
|
|
hold on;plot([date_ref date_ref],[-depth_max 0],'k','LineWidth',2); |
108 |
|
|
xlabel('day'); ylabel('depth'); |
109 |
|
|
|
110 |
|
|
pause; |
111 |
|
|
clf; |
112 |
|
|
|
113 |
|
|
end%if ~strcmp(cur_pnum,cur_pnum_old) |
114 |
|
|
end%while ~feof(fidgrey); |
115 |
|
|
fclose(fidgrey) |
116 |
|
|
|
117 |
|
|
|