source: trunk/PROGRAMMES/carte_SST.m @ 40

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

dedale is known as glnxa64

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