source: trunk/RESULTATS/carteetstd_SST.m @ 25

Last change on this file since 25 was 25, checked in by jmignot, 15 years ago

homogeneisation case noms programmes & sorties

File size: 10.1 KB
Line 
1%CARTEETSTD_SST permet de visualiser les cartes mensuelles moyennes
2% de temperature de surface       
3% ainsi que les cartes annuelles moyennes et les ecart type
4% correspondants
5
6% Date: Avril-Mai 2008
7% Auteur: juliette.mignot@locean-ipsl.upmc.fr
8% Contexte Ecole d'ete ENVI-STAT 2008
9%+
10%
11% module
12% ======
13%
14% ``carteetstd_SST``
15%
16% DESCRIPTION
17% ===========
18%
19% ``carteetstd_SST`` permet de visualiser les cartes mensuelles moyennes
20% de temperature de surface
21% ainsi que les cartes annuelles moyennes et les ecart type
22% correspondants.
23%
24% ``carteetstd_SST`` lit les fichiers
25% ``../DONNEES/lsmask_tropatl_PacandMedblancs.mat``
26% et ``../DONNEES/skt.mon.tropatl.mat``.
27%
28% ``carteetstd_SST`` calcule les moyennes mensuelles d'une part et
29% les moyennes interannuelles d'autre part de la SST dans
30% l'Atlantique tropical à partir d'un champ mensuel de 60 ans
31% fourni en entrée.
32%
33% ``carteetstd_SST`` affiche à l'écran les 12 valeurs de moyennes
34% mensuelles (figure 1), une sélection de 12 valeurs annuelles
35% moyennes (figure 2) et les écart-type mensuels et interannuels
36% (figure 3).
37%
38% ``carteetstd_SST`` sauve ces images dans ``./carteetstd_SST_[123].eps``.
39%
40% EXAMPLES
41% ========
42%
43% ::
44%
45% >> addpath('../PROGRAMMES/')
46% >> tpacpandreg_startup
47% >> carteetstd_SST
48%
49% SEE ALSO
50% ========
51%
52% tpacpandreg_startup.m_
53%
54% .. _tpacpandreg_startup.m : tpacpandreg_startup.m.html
55%
56% initfig.m_
57%
58% .. _initfig.m : initfig.m.html
59%
60% whorldmap.m_
61%
62% .. _whorldmap.m : whorldmap.m.html
63%
64% colorbartype.m_
65%
66% .. _colorbartype.m : colorbartype.m.html
67%
68% contlab.m_
69%
70% .. _contlab.m : contlab.m.html
71%
72% TODO
73% ====
74%
75% improve description
76%
77% EVOLUTIONS
78% ==========
79%
80% $Id$
81%
82% - fplod 2009-08-25T10:40:16Z aedon.locean-ipsl.upmc.fr (Darwin)
83%
84%    * modif commentaires liée au dernier chgt de Juliette
85%
86% - jmignot 2009-08-25
87%
88%  * remplacement de ``colorbar`` par ``colorbartype``
89%    parce pas beau ni en matlab ni en octave (dégradé, noir et blanc dans
90%    les .jpg)
91%  * contraintes sur les limites x et y de axes car matlab et octave ne
92%    fixent pas les même limites par défaut
93%  * utisation de ``contlab`` pour ++
94%
95% - fplod 2009-08-17T12:39:51Z aedon.locean-ipsl.upmc.fr (Darwin)
96%
97%   * add header
98%   * répertoire de données relatifs au répertoire courant
99%   * suppression de ``clear all`` présent dans ``tpacpandreg_startup.m``
100%   * contournement pb octave pour ``contourf`` :
101%     Dans le fil de discussion [Pkg-octave-devel] Bug#492223: octave3.0: contourf only accepts vector X and Y if same+++,
102%     je comprends que j'ai affaire à un bug de octave 3.0 (donc à surveiller
103%     pour les prochaines versions) qui ne veut pas faire de contourf si les
104%     variables X et Y n'ont pas la même dimension et c'est le cas ici
105%     (lat = 42x1, lon= 70x1 vue avec size).
106%     http://lists.alioth.debian.org/pipermail/pkg-octave-devel/2008-July/004672.html
107%   * sauvegarde de la figure dans ``./carteetstd_SST.eps``
108%   * ajout de ``clf`` après les appels à ``figure`` sinon sous
109%     octave (pas sous matlab?) on retrouve des subplots de la figure 2 dans
110%     la figure 3 !
111%
112%-
113
114%%
115%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
116%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
117%%%%              CHARGEMENT ET PREPARATION DES DONNEES
118%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
119
120nannees=60;
121
122repertoire=[ '..' filesep 'DONNEES' filesep ] % a adapter a chaque cas: chemin d acces aux donnees
123
124%Mask
125%------
126file='lsmask_tropatl_PacandMedblancs.mat'
127   load([repertoire file]);
128% Data
129%--------
130  repertoire2=[repertoire 'MAT' filesep] % a adapter a chaque cas: chemin d acces aux donnees
131  file=['skt.mon.tropatl.mat']
132  load([repertoire2 file]); % chargement des donnees
133  tab=permute(tab,[2 3 1]); % permutation des dimensions pour organiser le tableau sous la forme [lat lon temps]
134
135% Application du masque
136%----------------------
137% le masque donne les positions des continents et des oceans
138mask3D=repmat(mask,[1 1 size(tab,3)]);
139tab(mask3D~=0)=NaN;
140
141%---------------------------------------------------
142%  MANIPULATIONS TEMPORELLES: MOYENNES
143%---------------------------------------------------
144tab=reshape(tab,size(tab,1),size(tab,2),12,nannees); %organisation du tableau sous la forme [lat lon mois annees]
145
146% Construction de moyennes annuelles
147%---------------------------------------
148tab_an=squeeze(mean(tab,3));
149
150% Construction de moyennes mensuelles
151%---------------------------------------
152tab_mens=squeeze(mean(tab,4));
153
154%calcul des ecart-types
155%------------------------
156%ecart-type mensuel moyen:
157std_mens=squeeze(std(tab_mens,0,3));
158
159%ecart-type interannuel moyen:
160std_an=squeeze(std(tab_an,0,3));
161
162%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
163%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
164%%%%               TRACE
165%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
166%parametres geographiques du graphe
167  geo=[-100 20 -30 30]; %[lonmin lonmax latmin latmax];
168  yti=[-30:10:30]; xti=[-100:30:20]; %labels de latitude et de longitude
169
170                 
171% Variabilité saisonnière
172%-------------------------
173%niveaux de couleurs
174lev=[0:1:30];%contours a tracer, en unite du champ a dessiner, ici
175             %la SST en degC
176clip_lev=[20 30];%definit les limites des couleurs: bleu fonce au
177                 %rouge fonce
178
179
180ifigure=1;
181figure(ifigure);
182clf();
183initfig;
184for iplot=1:12
185  subplot(4,3,iplot)
186  if (run_octave == 0)
187   x=lon;
188   y=lat;
189  else
190   [x,y]=meshgrid(lon,lat);
191  end
192  z=squeeze(tab_mens(:,:,iplot));
193  contourf(x,y,z,lev)
194  caxis(clip_lev)
195  hold on
196  whorldmap
197
198  % limites geographies et labels de longitude et de latitude
199  ylim([geo(3) geo(4)])
200  xlim([geo(1) geo(2)])
201  set(gca, 'Xtick', xti, 'Ytick', yti)
202  if (run_octave == 0)
203   [longstr, latstr] = contlab(xti, yti);
204   set(gca, 'Xticklabel', longstr, 'Yticklabel', latstr)
205  end;
206  if iplot>=10
207    xlabel('longitude')
208  end;
209  if iplot==1|iplot==4|iplot==7|iplot==10
210    ylabel('latitude')
211  end;
212 
213  %titre: nom de chaque mois
214  title(['mois ' num2str(iplot)])
215 
216end;
217
218%barre de couleur
219if (run_octave == 0)
220  pos=[.2 .03 .6 .013];
221  hpal=jet(100); %carte des couleurs: du bleu au rouge par defaut.
222  colorbartype(pos,lev,1,clip_lev,hpal,0);
223  title('SST mensuelle moyenne en degC')
224else
225  colorbar('East') %colorbar par defaut
226end;
227
228% sauvegarde de la figure
229printer='eps';
230print_printer=['-d', printer];
231fullfilename=['./',mfilename,'_',num2str(ifigure),'.',printer];
232clear printer;
233print(print_printer,fullfilename);
234clear print_printer;
235clear fullfilename;
236
237
238% Variabilité interannuelle
239%-------------------------
240%niveaux de couleurs
241lev=[0:1:30];%contours a tracer, en unite du champ a dessiner, ici
242             %la SST en degC
243clip_lev=[20 30];%definit les limites des couleurs: bleu fonce au
244                 %rouge fonce
245
246% Cartes individuelles
247
248ifigure=ifigure+1;
249figure(ifigure);
250clf();
251initfig;
252for iplot=1:5:60 
253  subplot(4,3,((iplot-1)/5)+1) 
254    if (run_octave == 0)
255   x=lon;
256   y=lat;
257  else
258   [x,y]=meshgrid(lon,lat);
259  end
260  z=squeeze(tab_an(:,:,iplot));
261  contourf(x,y,z,lev)
262  caxis(clip_lev)
263  hold on
264  whorldmap
265
266  % limites geographies et labels de longitude et de latitude
267  ylim([geo(3) geo(4)])
268  xlim([geo(1) geo(2)])
269  set(gca, 'Xtick', xti, 'Ytick', yti)
270  if (run_octave == 0)
271   [longstr, latstr] = contlab(xti, yti);
272   set(gca, 'Xticklabel', longstr, 'Yticklabel', latstr)
273  end;
274  if iplot>=10
275    xlabel('longitude')
276  end;
277  if iplot==1|iplot==4|iplot==7|iplot==10
278    ylabel('latitude')
279  end;
280
281  %titre: numero de l'annee
282  title(['annee ' num2str(iplot+1948-1)])
283end;
284
285%barre de couleur
286if (run_octave == 0)
287  pos=[.2 .03 .6 .013];
288  hpal=jet(100); %carte des couleurs: du bleu au rouge par defaut.
289  colorbartype(pos,lev,1,clip_lev,hpal,0);
290  title('SST mensuelle moyenne en degC')
291else
292  colorbar('East') %colorbar par defaut
293end;
294
295% sauvegarde de la figure
296printer='eps';
297print_printer=['-d', printer];
298fullfilename=['./',mfilename,'_',num2str(ifigure),'.',printer];
299clear printer;
300print(print_printer,fullfilename);
301clear print_printer;
302clear fullfilename;
303
304
305% ecart type
306%-----------
307
308
309%trace
310ifigure=ifigure+1;
311figure(ifigure);
312clf();
313initfig;
314
315%ecart-type mensuel moyen
316
317%niveaux de couleurs
318lev=[0:.4:5];
319clip_lev=[0 3.6];
320
321subplot(2,2,1)
322if (run_octave == 0)
323 x=lon;
324 y=lat;
325else
326 [x,y]=meshgrid(lon,lat);
327end
328z=std_mens;
329contourf(x,y,z,lev)
330caxis([clip_lev])
331hold on
332whorldmap
333  % limites geographies et labels de longitude et de latitude
334  ylim([geo(3) geo(4)])
335  xlim([geo(1) geo(2)])
336  set(gca, 'Xtick', xti, 'Ytick', yti)
337  if (run_octave == 0)
338   [longstr, latstr] = contlab(xti, yti);
339   set(gca, 'Xticklabel', longstr, 'Yticklabel', latstr)
340  end;
341  xlabel('longitude')
342  ylabel('latitude')
343
344title('ecart-type mensuel moyen')
345%barre de couleur
346if (run_octave == 0)
347  pos=[.1 .5 .35 .013];
348  hpal=jet(100); %carte des couleurs: du bleu au rouge par defaut.
349  colorbartype(pos,lev,1,clip_lev,hpal,0);
350  title('degC')
351else
352  colorbar('East') %colorbar par defaut
353end;
354
355
356
357%ecart-type interannuel  moyen
358
359%niveaux de couleurs
360lev=[0:.05:.7];%la variabilite interannuelle est moins forte que la
361               %variabilite saisonniere moyenne.
362clip_lev=[0.2 .55];
363
364subplot(2,2,2)
365z=std_an;
366contourf(x,y,z,lev)
367caxis(clip_lev)
368hold on
369whorldmap
370  % limites geographies et labels de longitude et de latitude
371  ylim([geo(3) geo(4)])
372  xlim([geo(1) geo(2)])
373  set(gca, 'Xtick', xti, 'Ytick', yti)
374  if (run_octave == 0)
375   [longstr, latstr] = contlab(xti, yti);
376   set(gca, 'Xticklabel', longstr, 'Yticklabel', latstr)
377  end;
378  xlabel('longitude')
379  ylabel('latitude')
380
381title('ecart-type interannuel')
382%barre de couleur
383if (run_octave == 0)
384  pos=[.55 .5 .35 .013];
385  hpal=jet(100); %carte des couleurs: du bleu au rouge par defaut.
386  colorbartype(pos,lev,1,clip_lev,hpal,0);
387  title('degC')
388else
389  colorbar('East') %colorbar par defaut
390end;
391
392
393
394% sauvegarde de la figure
395printer='eps';
396print_printer=['-d', printer];
397fullfilename=['./',mfilename,'_',num2str(ifigure),'.',printer];
398clear printer;
399print(print_printer,fullfilename);
400clear print_printer;
401clear fullfilename;
Note: See TracBrowser for help on using the repository browser.