source: branches/branche-mb/data_out/plot_results.m @ 62

Last change on this file since 62 was 62, checked in by berrada, 13 years ago

filtre vertical-schema explicite- et normalisation

File size: 5.0 KB
Line 
1f=netcdf('exp_T_2D.nc');
2
3addpath('../scripts/matlab_toolbox');
4sparam=cell(0,5);
5sparam(end+1,:)={'t',[12:1:24],[0:2:24],[-1:0.2:1],[-1:0.2:1]};
6sparam(end+1,:)={'s',[36.3:0.05:36.8],[35.1:0.1:36.8],[-0.1:0.05:0.1],[-0.15:0.05:0.15]};
7sparam(end+1,:)={'u',[-0.2:0.02:0.2],[-0.2:0.015:0.2],[-0.14:0.02:0.14],[-0.14:0.02:0.14]};
8sparam(end+1,:)={'v',[-0.2:0.02:0.2],[-0.2:0.015:0.2],[-0.14:0.02:0.14],[-0.14:0.02:0.14]};
9sparam(end+1,:)={'ssh',[-0.8:0.05:0.2],[-0.2:0.015:0.2],[-0.14:0.02:0.14],[-0.14:0.02:0.14]};
10
11suff=cell(0,2);
12suff(end+1,:)={'a_c_init','first guess (FG)'};
13suff(end+1,:)={'b_forw0_48','forward du FG'};
14suff(end+1,:)={'a_c_fin','param control final (AP)'};
15suff(end+1,:)={'b_forwfin_48','forward du PA'};
16suff(end+1,:)={'a_c_true','parametre vrai (TP)'};
17suff(end+1,:)={'b_obs_48','forward du TP'};
18
19suff2=cell(0,2);
20suff2(end+1,:)={'n_c_init','first guess (FG)'};
21suff2(end+1,:)={'b_forw0_48','forward du FG'};
22suff2(end+1,:)={'n_c_fin','param control final (AP)'};
23suff2(end+1,:)={'b_forwfin_48','forward du PA'};
24suff2(end+1,:)={'n_c_true','parametre vrai (TP)'};
25suff2(end+1,:)={'b_obs_48','forward du TP'};
26
27
28delta=cell(0,2);
29delta(end+1,:)={[1 5],'FG-true'};
30delta(end+1,:)={[2 6],'obs-forwFG'};
31delta(end+1,:)={[3 5],'true-rest'};
32delta(end+1,:)={[4 6],'obs-forwPA'};
33
34cmapdif=scol_dif_lin(64);
35
36
37lati=f{'nav_lat'}(:,:);
38longi=f{'nav_lon'}(:,:);
39zlev=f{'nav_lev'}(:);
40
41lat0=41;
42
43for j=1:size(sparam,1)
44  figure(j);clf
45  figure(j+size(sparam,1));clf;
46  figure(j+2*size(sparam,1));clf;
47  figure(j+3*size(sparam,1));clf;
48  paramy=cell(length(suff),1);
49 
50  for k=1:length(suff)
51   
52   if strcmp(sparam{j,1},'ssh')
53     param=f{[sparam{j,1} suff2{k,1}]}(:,:,:);
54     
55      param=squeeze(param);
56     paramy{k}=mat2yao(param);
57     paramy{k}=mat2yao(param);
58     paramy{k}(:,1:2)=fliplr(paramy{k}(:,1:2));
59     paramy{k}=sortrows(paramy{k},[1 2]);
60     figure(j);
61    subplot(3,2,k)
62    % contourf(longi(2:end-1,2:end-1),lati(2:end-1,2:end-1),param(2:end-1,2:end-1),sparam{j,2});
63    % caxis([sparam{j,2}(1) sparam{j,2}(end)])
64     %xlabel('longitude','Fontsize',9)
65     %ylabel('latitude','Fontsize',9)
66      plot_nemo_3D(paramy{k},longi,lati,zlev,1,sparam{j,2},1);
67
68   
69    title(suff2{k,2});
70     if (k==1)
71      colorbar
72     end
73   
74   else
75     param=f{[sparam{j,1} suff{k,1}]}(:,:,:,:);
76     param=squeeze(param);
77     paramy{k}=mat2yao(param);
78     paramy{k}(:,1:3)=fliplr(paramy{k}(:,1:3));
79     paramy{k}=sortrows(paramy{k},[1 2 3]);
80    figure(j);
81    subplot(3,2,k)
82    plot_nemo_3D(paramy{k},longi,lati,zlev,1,sparam{j,2},1);
83    title(suff{k,2})
84 
85   
86    if (k==1)
87      colorbar
88    end
89    figure(j+size(sparam,1));
90    subplot(3,2,k)   
91    plot_nemo_3D(paramy{k},longi,lati,zlev,lat0,sparam{j,3},2);
92    title(suff{k,2})
93    if (k==1)
94      colorbar
95    end
96   end %if ~ssh
97   
98  end %for k   
99 
100     %%Graphe des différences
101    for k=1:size(delta,1)
102     
103     
104      param=paramy{delta{k,1}(1)};
105      param(:,end)=param(:,end)-paramy{delta{k,1}(2)}(:,end);
106     
107      figure(j+2*size(sparam,1))
108      subplot(2,2,k)
109      plot_nemo_3D(param,longi,lati,zlev,1,sparam{j,4},1);
110      colormap(cmapdif);
111      title(delta{k,2});
112      if (k==2)
113        colorbar
114      end
115      if ~strcmp(sparam{j,1},'ssh')
116        figure(j+3*size(sparam,1))
117        subplot(2,2,k)
118        plot_nemo_3D(param,longi,lati,zlev,lat0,sparam{j,5},2);
119        colormap(cmapdif);
120        title(delta{k,2});
121        if (k==2)
122          colorbar
123        end
124      end % if ~ssh
125     
126      if strcmp(sparam{j,1},'ssh')
127        n1=max(paramy{delta{k}(1)}(:,1));
128        n2=max(paramy{delta{k}(1)}(:,2));
129        iok=find(paramy{delta{k}(1)}(:,1)>1 & paramy{delta{k}(1)}(:,1)<n1 & paramy{delta{k}(1)}(:,2)>1 & ...
130                 paramy{delta{k}(1)}(:,2)<n2);
131      else
132        n1=max(paramy{delta{k}(1)}(:,1));
133        n2=max(paramy{delta{k}(1)}(:,2));
134        n3=max(paramy{delta{k}(1)}(:,3));
135        iok=find(paramy{delta{k}(1)}(:,1)>1 & paramy{delta{k}(1)}(:,1)<n1 & paramy{delta{k}(1)}(:,2)>1 & ...
136                 paramy{delta{k}(1)}(:,2)<n2 & paramy{delta{k}(1)}(:,3)<n3);
137      end
138     
139     
140         %  fprintf(1,[int2str(j) sparam{j,1} ' ' delta{k,2} '\n']);
141      [N(j,k),RPD(j,k),URPD(j,k),MAD(j,k),RMS(j,k),slope(j,k),intercept(j,k),r2(j,k) ]=make_stats(paramy{delta{k,1}(1)}(iok,end),paramy{delta{k,1}(2)} (iok,end));
142
143    end %for k
144 
145 
146  figure(j)
147  suptitle(['parametre ' sparam{j,1} ' surface'])
148  figure(j+size(sparam,1));
149  suptitle(['parametre ' sparam{j,1} ' lat=40'])
150  figure(j+2*size(sparam,1))
151  suptitle(['erreur ' sparam{j,1} ' surface'])
152  figure(j+3*size(sparam,1))
153  suptitle(['erreur ' sparam{j,1} ' lat=40'])
154end
155close(f)
156
157%sauvegarde du tableau
158
159fid=fopen('tab.txt','w');
160for j=1:size(sparam,1)
161
162  fprintf(fid,'\n * ParamÚtre %s \n',sparam{j,1});
163  fprintf(fid,'||Name  ||bias|| RMS || rel. err || r2    ||\n');
164    for k=1:size(delta,1)
165     
166
167fprintf(fid,'||%s %s || %4.3e ||  %4.3e ||   %4.3f  || %4.3f ||\n',sparam{j,1},delta{k,2}, MAD(j,k),RMS(j,k), ...
168        URPD(j,k),r2(j,k));
169
170    end
171
172    fprintf(fid,'\n');
173
174end
175fclose(fid);
Note: See TracBrowser for help on using the repository browser.