1 | function [result] = visuTRMM(Annee, Mois, Jour, timestep, lonmin, lonmax, latmin, latmax)
|
---|
2 |
|
---|
3 | %visuTRMM permet de faire une image des données préciptiations TRMM
|
---|
4 |
|
---|
5 | %
|
---|
6 | %+
|
---|
7 | %
|
---|
8 | % ==========
|
---|
9 | % visuTRMM.m
|
---|
10 | % ==========
|
---|
11 | %
|
---|
12 | % .. function:: visuTRMM(Annee, Mois, Jour, timestep, lonmin, lonmax, latmin, latmax)
|
---|
13 | %
|
---|
14 | % DESCRIPTION
|
---|
15 | % ===========
|
---|
16 | %
|
---|
17 | % - Données d'entrées :
|
---|
18 | %
|
---|
19 | % * Annee (en caractères) : Année (AAAA) du jour d'étude.
|
---|
20 | % * Mois (en caractères) : Numéro du mois (MM) du jour d'étude.
|
---|
21 | % * Jour (en caractères) : Numéro du jour d'étude
|
---|
22 | % * timestep : Numéro du pas de temps
|
---|
23 | %
|
---|
24 | % :param lonmin: longitude min, W < 0
|
---|
25 | % :units lonmin: deg
|
---|
26 | % :type lonmin: double
|
---|
27 | % :raise lonmin: required
|
---|
28 | %
|
---|
29 | % :param lonmax: longitude max, W < 0
|
---|
30 | % :units lonmax: deg
|
---|
31 | % :type lonmax: double
|
---|
32 | % :raise lonmax: required
|
---|
33 | %
|
---|
34 | % :param latmin: latitude min, N > 0
|
---|
35 | % :units latmin: deg
|
---|
36 | % :type latmin: double
|
---|
37 | % :raise latmin: required
|
---|
38 | %
|
---|
39 | % :param latmax: latitude max, N > 0
|
---|
40 | % :units latmax: deg
|
---|
41 | % :type latmax: double
|
---|
42 | % :raise latmax: required
|
---|
43 | %
|
---|
44 | % EXAMPLES
|
---|
45 | % ========
|
---|
46 | %
|
---|
47 | % Voir "demo".
|
---|
48 | %
|
---|
49 | % SEE ALSO
|
---|
50 | % ========
|
---|
51 | %
|
---|
52 | % :ref:`data_precipitation_microwave`
|
---|
53 | %
|
---|
54 | % :ref:`world_map`
|
---|
55 | %
|
---|
56 | % :func:`TRMMread`
|
---|
57 | %
|
---|
58 | % TODO
|
---|
59 | % ====
|
---|
60 | %
|
---|
61 | % make it work now bad look of plot (all blue - 0 or less precipitation)
|
---|
62 | %
|
---|
63 | % color bar limit (to compare plots)
|
---|
64 | %
|
---|
65 | % externalize reading
|
---|
66 | %
|
---|
67 | % demo with simulation
|
---|
68 | %
|
---|
69 | % save figure
|
---|
70 | %
|
---|
71 | % hard coded title (should be long_name and units)
|
---|
72 | %
|
---|
73 | % EVOLUTIONS
|
---|
74 | % ==========
|
---|
75 | %
|
---|
76 | % $Id$
|
---|
77 | %
|
---|
78 | % $URL$
|
---|
79 | %
|
---|
80 | % - pinsard 2011-06-08T11:29:08Z loholt1.ipsl.polytechnique.fr (Linux)
|
---|
81 | %
|
---|
82 | % * add box parameter
|
---|
83 | %
|
---|
84 | % - pinsard 2011-06-08T08:54:55Z loholt1.ipsl.polytechnique.fr (Linux)
|
---|
85 | %
|
---|
86 | % * creation from visuMSG.m to check TRMMread.m
|
---|
87 | %
|
---|
88 | %-
|
---|
89 |
|
---|
90 | result=-1;
|
---|
91 |
|
---|
92 | % Si les informations sur la date n'ont pas été données, on les demande.
|
---|
93 | if exist('Annee','var')~=1;
|
---|
94 | Annee = input('Année (AAAA) : ', 's');
|
---|
95 | end
|
---|
96 |
|
---|
97 | if exist('Mois','var')~=1;
|
---|
98 | Mois = input('Mois (MM) : ', 's');
|
---|
99 | end
|
---|
100 |
|
---|
101 | if exist('Jour','var')~=1;
|
---|
102 | Jour = input('Jour (JJ) : ', 's');
|
---|
103 | end
|
---|
104 |
|
---|
105 | if exist('timestep','var')~=1;
|
---|
106 | timestep = input('Numéro du pas de temps: ');
|
---|
107 | end
|
---|
108 |
|
---|
109 | %%%%%%%%%%%%%%%%%%%%%%
|
---|
110 | % Lecture des données
|
---|
111 | %%%%%%%%%%%%%%%%%%%%%%
|
---|
112 |
|
---|
113 | [data, Temps, Longitudes, Latitudes, Annee, Mois, Jour] = TRMMread(Annee, Mois, Jour, lonmin, lonmax, latmin, latmax);
|
---|
114 | %++ test si lecture ok
|
---|
115 | %
|
---|
116 | % reduce time domain
|
---|
117 | data=data(timestep,:,:);
|
---|
118 | Temps=Temps(timestep);
|
---|
119 | data=squeeze(data);
|
---|
120 | Temps=squeeze(Temps);
|
---|
121 |
|
---|
122 | %%%%%%%%%
|
---|
123 | % Figure
|
---|
124 | %%%%%%%%%
|
---|
125 |
|
---|
126 | % Ouverture d'une figure
|
---|
127 | figure();
|
---|
128 |
|
---|
129 | % Modification des bornes pour les axes.
|
---|
130 | axis([lonmin lonmax latmin latmax]);
|
---|
131 |
|
---|
132 | % Modification de la direction de l'axe Y (Latitudes).
|
---|
133 | set(gca,'Ydir','normal');
|
---|
134 |
|
---|
135 | % Chargement des données cotières.
|
---|
136 | load('cmgco_traitdecote.mat','Xgco','Ygco');
|
---|
137 |
|
---|
138 | % Ajout d'une barre de couleur
|
---|
139 | colorbar
|
---|
140 |
|
---|
141 | hold on;
|
---|
142 |
|
---|
143 | % Normalisation de la taille de la figure pour obtenir un carré.
|
---|
144 | set(gca, 'DataAspectRatio', [1 1 1]);
|
---|
145 |
|
---|
146 | % Ajout d'un titre.
|
---|
147 | title(['Precipitation (mm/h) d''apres TRMM pour le ' datestr(Temps, 'dd mm yyyy a HH:MM')])
|
---|
148 |
|
---|
149 | % Aperçu des données
|
---|
150 | imagesc(Longitudes,Latitudes,data);
|
---|
151 |
|
---|
152 | % Ajout des côtes.
|
---|
153 | coast=plot(Xgco,Ygco,'k.');
|
---|
154 |
|
---|
155 | % Modification du format des valeurs sur les axes.
|
---|
156 | set(gca,'Xtick',lonmin:2:lonmax);
|
---|
157 | set(gca,'Ytick',latmin:2:latmax);
|
---|
158 | set(gca,'TickDir','in');
|
---|
159 | %++ pb glyph octave ticklatlon()
|
---|
160 |
|
---|
161 | % Ajout de titres pour les axes.
|
---|
162 | xlabel('Longitudes','FontSize',15,'FontName','Times')
|
---|
163 | ylabel('Latitudes','FontSize',15,'FontName','Times')
|
---|
164 |
|
---|
165 | % Modification de la police utilisée.
|
---|
166 | set(gca,'FontSize',14,'FontName','Times');
|
---|
167 |
|
---|
168 | % Ajout d'un cadre sur la figure.
|
---|
169 | set(gca,'Box','on');
|
---|
170 |
|
---|
171 | result=0;
|
---|
172 |
|
---|
173 | end
|
---|
174 |
|
---|
175 | %!demo
|
---|
176 | %! clear all
|
---|
177 | %! close all
|
---|
178 | %! varamma_startup;
|
---|
179 | %! more off
|
---|
180 | %! Annee = '2006';
|
---|
181 | %! Mois = '08';
|
---|
182 | %! Jour = '01';
|
---|
183 | %! timestep = 1;
|
---|
184 | %! lonmin = -20;
|
---|
185 | %! lonmax = -10;
|
---|
186 | %! latmin = 10;
|
---|
187 | %! latmax = 20;
|
---|
188 | %! result=visuTRMM(Annee, Mois, Jour, timestep, lonmin, lonmax, latmin, latmax);
|
---|