Changeset 13


Ignore:
Timestamp:
08/24/09 13:04:41 (15 years ago)
Author:
pinsard
Message:

eof_NCEP_an : : header and octave compatibility and save figures

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/RESULTATS/eof_NCEP_an.m

    r2 r13  
    1 % Ce programme calcule les EOFs et composantes principales du champs de temperature de surface en moyennes mensuelles climatologiques 
     1%EOF_NCEP_AN calcule les EOFs et composantes principales du champs de temperature de surface en moyennes mensuelles climatologiques 
    22% (12 points temporels) 
    3  
     3% 
    44% le programme enregistre automatiquement les resultats du calcul 
    55% (attention: penser a changer le nom du fichier de sortie en cas de 
    66% modification de parametres du programme: domaine spatial, moyenne 
    77% temporelle effectuee: annee / mois, etc. parametre "nomfic" ci dessous) 
    8  
     8% 
    99% le programme permet egalement de visualiser les resultats. Voir le doc 
    1010% .pdf joint pour l'interpretation de cette visualisation.  
    11  
     11% 
    1212% Date: Avril-Mai 2008 
    1313% Auteur: juliette.mignot@locean-ipsl.upmc.fr 
    1414% Contexte Ecole d'ete ENVI-STAT 2008 
     15%+ 
     16% 
     17% module 
     18% ====== 
     19% 
     20% ``eof_NCEP_an``  
     21% 
     22% DESCRIPTION 
     23% =========== 
     24% 
     25% ``eof_NCEP_an`` lit les fichiers  
     26% ``../DONNEES/lsmask_tropatl_PacandMedblancs.mat`` 
     27% et ``../DONNEES/skt.mon.tropatl.mat``. 
     28% 
     29% ``eof_NCEP_an`` calcule ++blabla++ 
     30% 
     31% ``eof_NCEP_an`` sauvegarde dans ``../DONNEES/EOF_SSTmens_tropAtl++.mat``  
     32% ou ``++/DONNEES/EOF_SSTan++.mat`` ++ 
     33% 
     34% Ces fichiers sont lus par ``Reg_serietemporelles.m_``. 
     35% 
     36% ``eof_NCEP_an`` affiche trois figures : 
     37%  - ++ 
     38%  - ++ 
     39%  - valeurs propres de la matrice de covariance 
     40% 
     41% ``eof_NCEP_an`` sauve ces images dans ``./EOF_SSTmens_tropAtl++_[123].eps``. 
     42% 
     43% ++ 
     44% 
     45% EXAMPLES 
     46% ======== 
     47% 
     48% :: 
     49% 
     50% >> addpath('../PROGRAMMES/') 
     51% >> tpacpandreg_startup 
     52% >> eof_NCEP_an 
     53% 
     54% SEE ALSO 
     55% ======== 
     56% 
     57% tpacpandreg_startup.m_ 
     58% 
     59% .. _tpacpandreg_startup.m : tpacpandreg_startup.m.html 
     60% 
     61% initfig.m_ 
     62% .. _initfig.m : initfig.m.html 
     63% 
     64% Reg_seriestemporelles.m_ 
     65% 
     66% .. _Reg_seriestemporelles.m : Reg_seriestemporelles.m.html 
     67% 
     68% whorldmap.m_ 
     69% 
     70% .. _whorldmap.m : whorldmap.m.html 
     71% 
     72% TODO 
     73% ==== 
     74% 
     75% improve description 
     76% 
     77% tester la branche NetCDF 
     78% 
     79% sous octave, triangle bizarre dans la dernière barre du graphique valeurs  
     80% propres. 
     81% 
     82% EVOLUTIONS 
     83% ========== 
     84% 
     85% $Id$ 
     86% 
     87% - fplod 2009-08-21T15:04:16Z aedon.locean-ipsl.upmc.fr (Darwin) 
     88% 
     89%   * as octave save default format is ASCII and no default extension  
     90%     while matlab save default format is MAT v5 mat-file (little endian) and  
     91%     default extension is ``.mat``, write more precise save instruction 
     92% 
     93% 
     94%   * add header 
     95%   * répertoire de données relatifs au répertoire courant 
     96%   * suppression de ``clear all`` présent dans ``tpacpandreg_startup.m`` 
     97%   * contournement pb octave pour ``contourf`` : 
     98%     Dans le fil de discussion [Pkg-octave-devel] Bug#492223: octave3.0: contourf only accepts vector X and Y if same+++, 
     99%     je comprends que j'ai affaire à un bug de octave 3.0 (donc à surveiller 
     100%     pour les prochaines versions) qui ne veut pas faire de contourf si les 
     101%     variables X et Y n'on pas la même dimension et c'est le cas ici 
     102%     (lat = 42x1, lon= 70x1 vue avec size). 
     103%     http://lists.alioth.debian.org/pipermail/pkg-octave-devel/2008-July/004672.html 
     104%   * sauvegarde des figures 
     105% 
     106%- 
     107 
    15108 
    16109%% 
    17 clear all; 
    18110N=4; %nb d'EOF a tracer 
    19111 
     
    29121nannees=60; 
    30122    
    31 %repertoire=['C:' filesep 'TPACPandReg' filesep 'DONNEES' filesep] % a adapter a chaque cas: chemin d acces aux donnees 
    32    repertoire=['/usr/temp/jmignot/TPOCTAVE/TPACPandReg/DONNEES/'] % a adapter a chaque cas: chemin d acces aux donnees 
     123repertoire=[ '..' filesep 'DONNEES' filesep ] % a adapter a chaque cas: chemin d acces aux donnees 
    33124 
    34125% Mask 
     
    171262end; 
    172263 
    173 eval(['save ' repertoire nomfic num2str(limite_latN) 'N' num2str(limite_latS) 'S TABEOF PC p_var lon lat mask']) 
     264fullfilename=[repertoire nomfic num2str(limite_latN) 'N' num2str(limite_latS) 'S.mat']; 
     265if (run_octave == 0) 
     266 save(fullfilename,'TABEOF','PC','p_var','lon','lat','mask','-v7'); 
     267else 
     268 save('-v7',fullfilename,'TABEOF','PC','p_var','lon','lat','mask'); 
     269end 
     270clear fullfilename; 
    174271 
    175272 
    176273 %%               TRACE 
    177 figure(1); initfig; 
    178 figure(2); initfig; 
     274figure(1); 
     275initfig; 
     276figure(2);  
     277initfig; 
    179278 
    180279for i=1:4 
    181280     
    182281   %subplot(4,2,2*i-1) 
    183    figure(1) 
     282   ifigure=1; 
     283   figure(ifigure); 
    184284   subplot(2,2,i) 
    185    contourf(lon,lat,squeeze(TABEOF(:,:,i))) 
     285   if (run_octave == 0) 
     286    x=lon; 
     287    y=lat; 
     288   else 
     289    [x,y]=meshgrid(lon,lat); 
     290   end 
     291   z=squeeze(TABEOF(:,:,i)); 
     292   contourf(x,y,z); 
    186293   caxis([-0.06 0.06]) 
    187294   hold on 
     
    193300   set(gca,'xtick',[-100;-70;-40;-10;20],'xticklabel',['100W';' 70W';' 40W';' 10W';' 20E']) 
    194301   set(gca,'ytick',[-30;-15;0;15;30],'yticklabel',['30S';'15S';' 0 ';'15N';'30N']) 
     302 
     303   % sauvegarde de la figure 
     304   printer='eps'; 
     305   print_printer=['-d', printer]; 
     306   fullfilename=['.' filesep nomfic num2str(limite_latN) 'N' num2str(limite_latS) 'S_' , num2str(ifigure) '.' printer]; 
     307   print(print_printer,fullfilename); 
     308   clear fullfilename; 
     309   clear printer; 
    195310    
    196311   %subplot(4,2,2*i) 
    197    figure(2) 
     312   ifigure=2; 
     313   figure(ifigure); 
    198314   subplot(2,2,i) 
    199315   plot(PC(:,i),'x-') 
     
    203319   xlim([1 ntemp]) 
    204320   xlabel('mois') 
     321 
     322   % sauvegarde de la figure 
     323   printer='eps'; 
     324   print_printer=['-d', printer]; 
     325   fullfilename=['.' filesep nomfic num2str(limite_latN) 'N' num2str(limite_latS) 'S_' , num2str(ifigure) '.' printer]; 
     326   print(print_printer,fullfilename); 
     327   clear fullfilename; 
     328   clear printer; 
     329 
    205330end; 
    206331 
    207332 
    208333% Graphe pourcentages de variance expliqué 
    209 figure;  
     334ifigure=3; 
     335figure(ifigure);  
    210336bar(flipud(pctg_var)) 
    211337xlim([0 10]) 
     
    214340xlabel('indice du vecteur propre') 
    215341 
     342% sauvegarde de la figure 
     343printer='eps'; 
     344print_printer=['-d', printer]; 
     345fullfilename=['.' filesep nomfic num2str(limite_latN) 'N' num2str(limite_latS) 'S_' , num2str(ifigure) '.' printer]; 
     346print(print_printer,fullfilename); 
     347clear fullfilename; 
     348clear printer; 
     349 
Note: See TracChangeset for help on using the changeset viewer.