source: trunk/PROGRAMMES/carte_SST.m @ 29

Last change on this file since 29 was 29, checked in by pinsard, 15 years ago

typo in headers

  • Property svn:keywords set to Id
File size: 7.4 KB
Line 
1%CARTE_SST Ce programme permet de visualiser les cartes mensuelles moyennes de temperature de surface
2%
3% Date: Avril-Mai 2008
4% Auteur: juliette.mignot@locean-ipsl.upmc.fr
5% Contexte Ecole d'ete ENVI-STAT 2008
6
7%+
8%
9% module
10% ======
11%
12% ``carte_SST``
13%
14% DESCRIPTION
15% ===========
16%
17% ``carte_SST`` visualise les cartes mensuelles moyennes de température
18% de surface.
19%
20% ``carte_SST`` lit les fichiers
21% ``../DONNEES/lsmask_tropatl_PacandMedblancs.mat``
22% et ``../DONNEES/skt.mon.tropatl.mat``.
23%
24% ``carte_SST`` calcule les moyennes mensuelles de SST dans
25% l'Atlantique tropical a partir d'un champ mensuel de 60 ans
26% fourni en entree
27%
28% ``carte_SST`` affiche à l'écran les moyennes mensuelles de SST.
29%
30% ``carte_SST`` sauve cette image dans ``./carte_SST.ps``.
31%
32% EXAMPLES
33% ========
34%
35% ::
36%
37% >> tpacpandreg_startup
38% >> carte_SST
39%
40% SEE ALSO
41% ========
42%
43% tpacpandreg_startup.m_
44%
45% .. _tpacpandreg_startup.m : tpacpandreg_startup.m.html
46%
47% initfig.m_
48%
49% .. _initfig.m : initfig.m.html
50%
51% whorldmap.m_
52%
53% .. _whorldmap.m : whorldmap.m.html
54%
55% colorbartype.m_
56%
57% .. _colorbartype.m : colorbartype.m.html
58%
59% contlab.m_
60%
61% .. _contlab.m : contlab.m.html
62%
63% TODO
64% ====
65%
66% improve description
67%
68% KNOWN PROBLEMS
69% ==============
70%
71% - fplod 2009-08-26T08:46:48Z aedon.locean-ipsl.upmc.fr (Darwin)
72%
73%   * ne fonctionne pas sous octave 3.2.2
74%     ::
75%     error: gnuplot (as of v4.2) only supports 3D filled triangular patches
76%     error: called from:
77%     error:   /usr/local_linux/octave/64/3.2.2//share/octave/3.2.2/m/plot/__go_draw_axes__.m at line 563, column 6
78%     error:   /usr/local_linux/octave/64/3.2.2//share/octave/3.2.2/m/plot/__go_draw_figure__.m at line 93, column 3
79%     error:   /usr/local_linux/octave/64/3.2.2//share/octave/3.2.2/m/plot/gnuplot_drawnow.m at line 88, column 5
80%     error:   /usr/local_linux/octave/64/3.2.2//share/octave/3.2.2/m/plot/print.m at line 696, column 7
81%     error:   /.autofs/home/fplod/incas/tpoctave/tpacpandreg_ws/PROGRAMMES/carte_SST.m at line 212, column 1
82%
83%
84% EVOLUTIONS
85% ==========
86%
87% $Id$
88%
89% - fplod 2009-08-26T09:00:11Z aedon.locean-ipsl.upmc.fr (Darwin)
90%
91%   * titre: nom de chaque mois
92%   * remplacement de ``eps`` par ``ps`` pour pouvoir imprimer les figures
93%     produites par ``octave``
94%
95%     Dans le fichier .eps produit par ``octave`` on pouvait lire
96%     ``!PS-Adobe-2.0 EPSF-2.0``.
97%
98%     Aucun message d'erreur n'apparaît suite à la demande d'impression
99%     ``zeus$ lpr -o job-sheets='none' carte_SST.ps``, mais aucune feuille ne
100%     sort.
101%
102%     Pour info dans le fichier .eps produit par matlab, on pouvait lire
103%     ``%!PS-Adobe-2.0 EPSF-1.2``. Aucun souci d'impression avec ce fichier !
104%
105%     En remplaçant ``eps`` par ``ps``, on n'a plus de souci d'impression.
106%
107%
108% - jmignot 2009-08-25
109%
110%   * suppression d'appel à contlab et colorbartype sous octave
111%
112% - fplod 2009-08-25T10:40:16Z aedon.locean-ipsl.upmc.fr (Darwin)
113%
114%   * modif commentaires liée au dernier chgt de Juliette
115%
116% - jmignot 2009-08-25
117%
118%   * remplacement de ``colorbar`` par ``colorbartype``
119%     parce pas beau ni en matlab ni en octave (dégradé, noir et blanc dans
120%     les .jpg)
121%   * contraintes sur les limites x et y de axes car matlab et octave ne
122%     fixent pas les même limites par défaut
123%   * utilisation de ``contlab`` pour ++
124%
125% - fplod 2009-08-17T12:39:51Z aedon.locean-ipsl.upmc.fr (Darwin)
126%
127%   * add header
128%   * répertoire de données relatifs au répertoire courant
129%   * suppression de ``clear all`` présent dans ``tpacpandreg_startup.m``
130%   * contournement pb octave pour ``contourf`` :
131%     Dans le fil de discussion [Pkg-octave-devel] Bug#492223: octave3.0: contourf only accepts vector X and Y if same+++,
132%     je comprends que j'ai affaire à un bug de octave 3.0 (donc à surveiller
133%     pour les prochaines versions) qui ne veut pas faire de contourf si les
134%     variables X et Y n'ont pas la même dimension et c'est le cas ici
135%     (lat = 42x1, lon= 70x1 vue avec size).
136%     http://lists.alioth.debian.org/pipermail/pkg-octave-devel/2008-July/004672.html
137%   * sauvegarde de la figure dans ``./carte_SST.eps``
138%
139%-
140
141%%
142%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
143%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
144%%%%              CHARGEMENT ET PREPARATION DES DONNEES
145%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
146
147nannees=60;
148
149   repertoire=[ '..' filesep 'DONNEES' filesep ] % a adapter a chaque cas: chemin d acces aux donnees
150
151%Mask
152%-----
153   file='lsmask_tropatl_PacandMedblancs.mat'
154   load([repertoire file]);
155% Data
156%--------
157  repertoire2=[repertoire 'MAT' filesep] % a adapter a chaque cas: chemin d acces aux donnees
158  file=['skt.mon.tropatl.mat']
159  load([repertoire2 file]); % chargement des donnees
160  tab=permute(tab,[2 3 1]); % permutation des dimensions pour organiser le tableau sous la forme [lat lon temps]
161
162% Application du masque
163%----------------------
164% le masque donne les positions des continents et des oceans
165mask3D=repmat(mask,[1 1 size(tab,3)]);
166tab(mask3D~=0)=NaN;
167
168%---------------------------------------------------
169%  MANIPULATIONS TEMPORELLES: MOYENNES
170%---------------------------------------------------
171tab=reshape(tab,size(tab,1),size(tab,2),12,nannees); %organisation du tableau sous la forme [lat lon mois annees]
172
173% Construction de moyennes mensuelles
174%---------------------------------------
175tab_mens=squeeze(mean(tab,4));
176
177
178%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
179%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
180%%%%               TRACE
181%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
182%parametres geographiques du graphe
183  geo=[-100 20 -30 30]; %[lonmin lonmax latmin latmax];
184  yti=[-30:10:30]; xti=[-100:30:20]; %labels de latitude et de longitude
185
186               
187% Variabilité saisonnière
188%-------------------------
189%niveaux de couleurs
190lev=[0:1:30];%contours a tracer, en unite du champ a dessiner, ici
191             %la SST en degC
192             %a adapter eventuellement
193clip_lev=[20 30];%definit les limites des couleurs: bleu fonce au
194                 %rouge fonce
195             %a adapter eventuellement
196
197
198ifigure=1;
199figure(ifigure);
200clf();
201initfig;
202for iplot=1:12
203  subplot(4,3,iplot)
204  if (run_octave == 0)
205   x=lon;
206   y=lat;
207  else
208   [x,y]=meshgrid(lon,lat);
209  end
210  z=squeeze(tab_mens(:,:,iplot));
211  contourf(x,y,z,lev)
212  caxis(clip_lev)
213  hold on
214  whorldmap
215
216  % limites géographiques et labels de longitude et de latitude
217  ylim([geo(3) geo(4)])
218  xlim([geo(1) geo(2)])
219  set(gca, 'Xtick', xti, 'Ytick', yti);
220  if (run_octave == 0)
221    [longstr, latstr] = contlab(xti, yti);
222    set(gca, 'Xticklabel', longstr, 'Yticklabel', latstr);
223  end;
224  if iplot>=10
225    xlabel('longitude')
226  end;
227  if iplot==1|iplot==4|iplot==7|iplot==10
228    ylabel('latitude')
229  end;
230
231  %titre: nom de chaque mois
232  cmois = datestr(datenum([2000 iplot 1 00 00 00]), 'mmm');
233  title(cmois);
234  clear cmois;
235
236end;
237
238%barre de couleur
239if (run_octave == 0)
240  pos=[.2 .03 .6 .013];
241  hpal=jet(100); %carte des couleurs: du bleu au rouge par defaut.
242  colorbartype(pos,lev,1,clip_lev,hpal,0)
243  title('SST mensuelle moyenne en degC')
244else
245 colorbar('East') %colorbar par defaut
246end;
247
248% sauvegarde de la figure
249printer='ps';
250print_printer=['-d', printer];
251fullfilename=['./', mfilename, '.', printer];
252clear printer;
253print(print_printer,fullfilename);
254clear print_printer;
255clear fullfilename;
256
257
258
Note: See TracBrowser for help on using the repository browser.