1 | #!/usr/bin/env python |
---|
2 | # -*- coding: utf-8 -*- |
---|
3 | import string |
---|
4 | import numpy as np |
---|
5 | import matplotlib.pyplot as plt |
---|
6 | from pylab import * |
---|
7 | from mpl_toolkits.basemap import Basemap |
---|
8 | from mpl_toolkits.basemap import shiftgrid, cm |
---|
9 | import netCDF4 |
---|
10 | |
---|
11 | |
---|
12 | |
---|
13 | ################################################### |
---|
14 | # definir variables du script 'read_data_test.py' # |
---|
15 | ################################################### |
---|
16 | |
---|
17 | |
---|
18 | ## sur un zone de l'ANTARC (autour de DomeC) ## |
---|
19 | bbzone_CH1_JAN=nonzero((lon1_JAN>=100.)&(lon1_JAN<=150.)&(lat1_JAN>=-85.)&(lat1_JAN<=-65.)) |
---|
20 | bbzone_CH2_JAN=nonzero((lon2_JAN>=100.)&(lon2_JAN<=150.)&(lat2_JAN>=-85.)&(lat2_JAN<=-65.)) |
---|
21 | bbzone_CH3_JAN=nonzero((lon3_JAN>=100.)&(lon3_JAN<=150.)&(lat3_JAN>=-85.)&(lat3_JAN<=-65.)) |
---|
22 | bbzone_CH4_JAN=nonzero((lon4_JAN>=100.)&(lon4_JAN<=150.)&(lat4_JAN>=-85.)&(lat4_JAN<=-65.)) |
---|
23 | bbzone_CH1_JUL=nonzero((lon1_JUL>=100.)&(lon1_JUL<=150.)&(lat1_JUL>=-85.)&(lat1_JUL<=-65.)) |
---|
24 | bbzone_CH2_JUL=nonzero((lon2_JUL>=100.)&(lon2_JUL<=150.)&(lat2_JUL>=-85.)&(lat2_JUL<=-65.)) |
---|
25 | bbzone_CH3_JUL=nonzero((lon3_JUL>=100.)&(lon3_JUL<=150.)&(lat3_JUL>=-85.)&(lat3_JUL<=-65.)) |
---|
26 | bbzone_CH4_JUL=nonzero((lon4_JUL>=100.)&(lon4_JUL<=150.)&(lat4_JUL>=-85.)&(lat4_JUL<=-65.)) |
---|
27 | ## sur Dome C (lon=123.23;lat=-75.06) - Pour JANUARY ## |
---|
28 | ind_lon=np.where(lon_JAN==123.23)[0] |
---|
29 | d=abs(abs(lat_JAN[ind_lon])-75.06) |
---|
30 | ind_d=np.where(d==min(d))[0] |
---|
31 | ind_lat=lat_JAN[ind_lon][ind_d][0] # coord lat du Dome C |
---|
32 | lonDC=lon_JAN[ind_lon][ind_d][0] |
---|
33 | latDC=ind_lat |
---|
34 | emis_JAN[ind_lon][ind_d] |
---|
35 | ## sur une zone de l'ANTARC (en altitude) ## |
---|
36 | bbalt_CH1_JAN=nonzero((orog1_JAN>=2000.)&(orog1_JAN<=4000.)) |
---|
37 | bbalt_CH2_JAN=nonzero((orog2_JAN>=2000.)&(orog2_JAN<=4000.)) |
---|
38 | bbalt_CH3_JAN=nonzero((orog3_JAN>=2000.)&(orog3_JAN<=4000.)) |
---|
39 | bbalt_CH4_JAN=nonzero((orog4_JAN>=2000.)&(orog4_JAN<=4000.)) |
---|
40 | ## sur une zone de l'ANTARC (en altitude) ## |
---|
41 | bbalt_CH1_JAN=nonzero((orog1_JAN>=2000.)&(orog1_JAN<=4000.)) |
---|
42 | bbalt_CH2_JAN=nonzero((orog2_JAN>=2000.)&(orog2_JAN<=4000.)) |
---|
43 | bbalt_CH3_JAN=nonzero((orog3_JAN>=2000.)&(orog3_JAN<=4000.)) |
---|
44 | bbalt_CH4_JAN=nonzero((orog4_JAN>=2000.)&(orog4_JAN<=4000.)) |
---|
45 | |
---|
46 | |
---|
47 | nbjr=np.array(31,28,31,30,31,30,31) |
---|
48 | i=0 # JANUARY |
---|
49 | emis1_JAN_moy=np.zeros([31],float) |
---|
50 | emis2_JAN_moy=np.zeros([31],float) |
---|
51 | emis3_JAN_moy=np.zeros([31],float) |
---|
52 | emis4_JAN_moy=np.zeros([31],float) |
---|
53 | #emis1_JUL_moy=np.zeros([31],float) |
---|
54 | #emis2_JUL_moy=np.zeros([31],float) |
---|
55 | #emis3_JUL_moy=np.zeros([31],float) |
---|
56 | #emis4_JUL_moy=np.zeros([31],float) |
---|
57 | ts1_JAN_moy=np.zeros([31],float) |
---|
58 | ts2_JAN_moy=np.zeros([31],float) |
---|
59 | ts3_JAN_moy=np.zeros([31],float) |
---|
60 | ts4_JAN_moy=np.zeros([31],float) |
---|
61 | #ts1_JUL_moy=np.zeros([31],float) |
---|
62 | #ts2_JUL_moy=np.zeros([31],float) |
---|
63 | #ts3_JUL_moy=np.zeros([31],float) |
---|
64 | #ts4_JUL_moy=np.zeros([31],float) |
---|
65 | tb1_JAN_moy=np.zeros([31],float) |
---|
66 | tb2_JAN_moy=np.zeros([31],float) |
---|
67 | tb3_JAN_moy=np.zeros([31],float) |
---|
68 | tb4_JAN_moy=np.zeros([31],float) |
---|
69 | #tb1_JUL_moy=np.zeros([31],float) |
---|
70 | #tb2_JUL_moy=np.zeros([31],float) |
---|
71 | #tb3_JUL_moy=np.zeros([31],float) |
---|
72 | #tb4_JUL_moy=np.zeros([31],float) |
---|
73 | orog1_JAN_moy=np.zeros([31],float) |
---|
74 | orog2_JAN_moy=np.zeros([31],float) |
---|
75 | orog3_JAN_moy=np.zeros([31],float) |
---|
76 | orog4_JAN_moy=np.zeros([31],float) |
---|
77 | #orog1_JUL_moy=np.zeros([31],float) |
---|
78 | #orog2_JUL_moy=np.zeros([31],float) |
---|
79 | #orog3_JUL_moy=np.zeros([31],float) |
---|
80 | #orog4_JUL_moy=np.zeros([31],float) |
---|
81 | |
---|
82 | for ijr in range(0,nbjr[i]): |
---|
83 | print 'jour=', ijr+1 |
---|
84 | ind_jr1=np.where(jjr1_JAN[bbalt_CH1_JAN]==ijr+1)[0] |
---|
85 | ind_jr2=np.where(jjr2_JAN[bbalt_CH2_JAN]==ijr+1)[0] |
---|
86 | ind_jr3=np.where(jjr3_JAN[bbalt_CH3_JAN]==ijr+1)[0] |
---|
87 | ind_jr4=np.where(jjr4_JAN[bbalt_CH4_JAN]==ijr+1)[0] |
---|
88 | a=emis1_JAN[bbalt_CH1_JAN][ind_jr1] |
---|
89 | b=emis2_JAN[bbalt_CH2_JAN][ind_jr2] |
---|
90 | c=emis3_JAN[bbalt_CH3_JAN][ind_jr3] |
---|
91 | d=emis4_JAN[bbalt_CH4_JAN][ind_jr4] |
---|
92 | e=ts1_JAN[bbalt_CH1_JAN][ind_jr1] |
---|
93 | f=ts2_JAN[bbalt_CH2_JAN][ind_jr2] |
---|
94 | g=ts3_JAN[bbalt_CH3_JAN][ind_jr3] |
---|
95 | h=ts4_JAN[bbalt_CH4_JAN][ind_jr4] |
---|
96 | l=tb1_JAN[bbalt_CH1_JAN][ind_jr1] |
---|
97 | m=tb2_JAN[bbalt_CH2_JAN][ind_jr2] |
---|
98 | n=tb3_JAN[bbalt_CH3_JAN][ind_jr3] |
---|
99 | o=tb4_JAN[bbalt_CH4_JAN][ind_jr4] |
---|
100 | p=orog1_JAN[bbalt_CH1_JAN][ind_jr1] |
---|
101 | q=orog2_JAN[bbalt_CH2_JAN][ind_jr2] |
---|
102 | r=orog3_JAN[bbalt_CH3_JAN][ind_jr3] |
---|
103 | s=orog4_JAN[bbalt_CH4_JAN][ind_jr4] |
---|
104 | emis1_JAN_moy[ijr]=mean(a[nonzero((a!=-500.)&(a<=1.))]) |
---|
105 | emis2_JAN_moy[ijr]=mean(b[nonzero((b!=-500.)&(b<=1.))]) |
---|
106 | emis3_JAN_moy[ijr]=mean(c[nonzero((c!=-500.)&(c<=1.))]) |
---|
107 | emis4_JAN_moy[ijr]=mean(d[nonzero((d!=-500.)&(d<=1.))]) |
---|
108 | ts1_JAN_moy[ijr]=mean(e[nonzero((e!=-500.))]) |
---|
109 | ts2_JAN_moy[ijr]=mean(f[nonzero((f!=-500.))]) |
---|
110 | ts3_JAN_moy[ijr]=mean(g[nonzero((g!=-500.))]) |
---|
111 | ts4_JAN_moy[ijr]=mean(h[nonzero((h!=-500.))]) |
---|
112 | tb1_JAN_moy[ijr]=mean(l[nonzero((l!=-500.))]) |
---|
113 | tb2_JAN_moy[ijr]=mean(m[nonzero((m!=-500.))]) |
---|
114 | tb3_JAN_moy[ijr]=mean(n[nonzero((n!=-500.))]) |
---|
115 | tb4_JAN_moy[ijr]=mean(o[nonzero((o!=-500.))]) |
---|
116 | orog1_JAN_moy[ijr]=mean(p[nonzero((p!=-500.))]) |
---|
117 | orog2_JAN_moy[ijr]=mean(q[nonzero((q!=-500.))]) |
---|
118 | orog3_JAN_moy[ijr]=mean(r[nonzero((r!=-500.))]) |
---|
119 | orog4_JAN_moy[ijr]=mean(s[nonzero((s!=-500.))]) |
---|
120 | |
---|
121 | |
---|
122 | |
---|
123 | i=1 # FEBRUARY |
---|
124 | emis_FEB_moy=np.zeros([nbjr[i]],float) |
---|
125 | tb_FEB_moy=np.zeros([nbjr[i]],float) |
---|
126 | ts_FEB_moy=np.zeros([nbjr[i]],float) |
---|
127 | for ijr in range(0,nbjr[i]): |
---|
128 | #print 'jour=', ijr+1 |
---|
129 | ind_jr1=np.where(jjr_FEB[bbplat_FEB]==ijr+1)[0] |
---|
130 | # ind_jr2=np.where(jjr_FEB[bb_tb_FEB]==ijr+1)[0] |
---|
131 | # ind_jr3=np.where(jjr_FEB[bb_ts_FEB]==ijr+1)[0] |
---|
132 | emis_FEB_moy[ijr]=emis_FEB[ind_jr1][nonzero(emis_FEB[ind_jr1]<=1.)].mean() |
---|
133 | tb_FEB_moy[ijr]=tb_FEB[ind_jr1][nonzero(tb_FEB[ind_jr1]!=-500.)].mean() |
---|
134 | ts_FEB_moy[ijr]=ts_FEB[ind_jr1][nonzero(ts_FEB[ind_jr1]!=-500.)].mean() |
---|
135 | |
---|
136 | |
---|
137 | i=2 # MARCH |
---|
138 | emis_MAR_moy=np.zeros([nbjr[i]],float) |
---|
139 | tb_MAR_moy=np.zeros([nbjr[i]],float) |
---|
140 | ts_MAR_moy=np.zeros([nbjr[i]],float) |
---|
141 | for ijr in range(0,nbjr[i]): |
---|
142 | #print 'jour=', ijr+1 |
---|
143 | ind_jr1=np.where(jjr_MAR[bb_emis_MAR]==ijr+1)[0] |
---|
144 | # ind_jr2=np.where(jjr_MAR[bb_tb_MAR]==ijr+1)[0] |
---|
145 | # ind_jr3=np.where(jjr_MAR[bb_ts_MAR]==ijr+1)[0] |
---|
146 | emis_MAR_moy[ijr]=emis_MAR[ind_jr1][nonzero(emis_MAR[ind_jr1]<=1.)].mean() |
---|
147 | tb_MAR_moy[ijr]=tb_MAR[ind_jr1][nonzero(tb_MAR[ind_jr1]!=500.)].mean() |
---|
148 | ts_MAR_moy[ijr]=ts_MAR[ind_jr1][nonzero(ts_MAR[ind_jr1]!=-500.)].mean() |
---|
149 | |
---|
150 | |
---|
151 | |
---|
152 | fig=plt.figure() |
---|
153 | plt.subplot(3,1,1) |
---|
154 | plt.plot(arange(1,32,1),emis1_JAN_moy,label='ch1',c='r') |
---|
155 | plt.plot(arange(1,32,1),emis2_JAN_moy,label='ch2',c='y') |
---|
156 | plt.plot(arange(1,32,1),emis3_JAN_moy,label='ch3',c='g') |
---|
157 | plt.plot(arange(1,32,1),emis4_JAN_moy,label='ch4',c='b') |
---|
158 | plt.xticks(arange(1,32,5)) |
---|
159 | grid(True) |
---|
160 | ylabel('emissivity') |
---|
161 | legend(loc=7) |
---|
162 | plt.title('JANUARY 2010') |
---|
163 | plt.subplot(3,1,2) |
---|
164 | plt.plot(arange(1,32,1),ts1_JAN_moy,label='ch1',c='r') |
---|
165 | plt.plot(arange(1,32,1),ts2_JAN_moy,label='ch2',c='y') |
---|
166 | plt.plot(arange(1,32,1),ts3_JAN_moy,label='ch3',c='g') |
---|
167 | plt.plot(arange(1,32,1),ts4_JAN_moy,label='ch4',c='b') |
---|
168 | plt.xticks(arange(1,32,5)) |
---|
169 | grid(True) |
---|
170 | ylabel('surface temp') |
---|
171 | legend(loc=7) |
---|
172 | plt.subplot(3,1,3) |
---|
173 | plt.plot(arange(1,32,1),tb1_JAN_moy,label='ch1',c='r') |
---|
174 | plt.plot(arange(1,32,1),tb2_JAN_moy,label='ch2',c='y') |
---|
175 | plt.plot(arange(1,32,1),tb3_JAN_moy,label='ch3',c='g') |
---|
176 | plt.plot(arange(1,32,1),tb4_JAN_moy,label='ch4',c='b') |
---|
177 | plt.xticks(arange(1,32,5)) |
---|
178 | grid(True) |
---|
179 | ylabel('brightness temp') |
---|
180 | legend(loc=7) |
---|
181 | #plt.subplot(4,1,4) |
---|
182 | plt.plot(arange(1,32,1),orog1_JAN_moy,label='ch1',c='r') |
---|
183 | plt.plot(arange(1,32,1),orog2_JAN_moy,label='ch2',c='y') |
---|
184 | plt.plot(arange(1,32,1),orog3_JAN_moy,label='ch3',c='g') |
---|
185 | plt.plot(arange(1,32,1),orog4_JAN_moy,label='ch4',c='b') |
---|
186 | plt.xticks(arange(1,32,5)) |
---|
187 | grid(True) |
---|
188 | ylabel('orography') |
---|
189 | legend(loc=7) |
---|
190 | fig.show() |
---|
191 | |
---|
192 | |
---|
193 | |
---|
194 | i=0 |
---|
195 | plt.subplot(3,1,1) |
---|
196 | plt.plot(arange(1,nbjr[i]+1,1),emis_JAN_moy,'o-',c='r',label='emis') |
---|
197 | legend() |
---|
198 | plt.subplot(3,1,2) |
---|
199 | plt.plot(arange(1,nbjr[i]+1,1),tb_JAN_moy,'+-',c='b', label='Tb') |
---|
200 | legend() |
---|
201 | plt.subplot(3,1,3) |
---|
202 | plt.plot(arange(1,nbjr[i]+1,1),ts_JAN_moy,'.-',c='y', label='Ts') |
---|
203 | plt.legend() |
---|
204 | plt.title('JANUARY') |
---|
205 | plt.hold() |
---|
206 | plt.show() |
---|
207 | |
---|
208 | i=1 |
---|
209 | fig=plt.figure() |
---|
210 | plt.subplot(3,1,1) |
---|
211 | plt.plot(arange(1,nbjr[i]+1,1),emis_FEB_moy,'o-',c='r',label='emis') |
---|
212 | legend() |
---|
213 | plt.subplot(3,1,2) |
---|
214 | plt.plot(arange(1,nbjr[i]+1,1),tb_FEB_moy,'+-',c='b', label='Tb') |
---|
215 | legend() |
---|
216 | plt.subplot(3,1,3) |
---|
217 | plt.plot(arange(1,nbjr[i]+1,1),ts_FEB_moy,'.-',c='y', label='Ts') |
---|
218 | plt.legend() |
---|
219 | plt.title('FEBRUARY') |
---|
220 | fig.show() |
---|
221 | |
---|
222 | e1=np.append(emis_JAN_moy,emis_FEB_moy) |
---|
223 | emis_month=np.append(emis_month1,emis_MAR_moy) |
---|
224 | ts1=np.append(ts_JAN_moy,ts_FEB_moy) |
---|
225 | ts_month=np.append(ts1,ts_MAR_moy) |
---|
226 | tb1=np.append(tb_JAN_moy,tb_FEB_moy) |
---|
227 | tb_month=np.append(tb1,tb_MAR_moy) |
---|
228 | |
---|
229 | fig=plt.figure() |
---|
230 | plt.subplot(3,1,1) |
---|
231 | plt.plot(arange(0,len(emis_month)),emis_month,'o-',c='r',label='emissivity') |
---|
232 | plt.legend() |
---|
233 | plt.grid() |
---|
234 | plt.subplot(3,1,2) |
---|
235 | plt.plot(arange(0,len(ts_month)),ts_month,'+-',c='g',label='Ts') |
---|
236 | plt.legend() |
---|
237 | plt.grid() |
---|
238 | plt.subplot(3,1,3) |
---|
239 | plt.plot(arange(0,len(tb_month)),tb_month,'.-',c='y',label='Tb') |
---|
240 | plt.legend() |
---|
241 | plt.grid() |
---|
242 | fig.show() |
---|