Changeset 21
- Timestamp:
- 05/27/14 18:52:15 (10 years ago)
- Location:
- trunk/src
- Files:
-
- 1 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/scripts_Laura/read_SSMIS_test.py
r20 r21 7 7 from mpl_toolkits.basemap import Basemap 8 8 from mpl_toolkits.basemap import shiftgrid, cm 9 import netCDF4 9 from netCDF4 import Dataset 10 10 import ffgrid2 11 11 12 13 ################ fichiers par mois - CH1 ###################################################14 12 15 13 f1 = '/net/dedale/usr/dedale/surf/lelod/ANTARC/SSMIS_CH' 16 14 f3 = '_ANTARC_JUNE2010.DAT' 17 #date=np.array(['JANUARY', 'FEBRUARY', 'MARCH', 'APRIL', 'MAY', 'JUNE', 'JULY'])18 15 channel = np.array([12, 13, 15, 16, 17, 18]) 19 16 numlines = np.zeros([len(channel)],int) … … 26 23 for line in fichier: numlines[ich] += 1 27 24 28 29 fichier.close() 30 31 ich = 2 # 37GHz, H polar 25 fichier.close() 26 27 28 ################ fichiers par canal - mois de juin ################################################### 29 30 31 ich = 0 # 37GHz, H 32 32 fichier = open(f1 + str(channel[ich]) + f3, 'r') 33 33 ssmis = np.zeros([18, numlines[ich]], float) … … 159 159 160 160 161 ich = 5 # 91.66GHz, Vpolar161 ich = 5 # 91.66GHz, H polar 162 162 fichier = open(f1 + str(channel[ich]) + f3, 'r') 163 163 ssmis = np.zeros([18, numlines[ich]], float) … … 184 184 orog18_JUN=ssch18_JUN[11,:] 185 185 186 187 188 ################ fichiers par mois - canal 17 ################################################### 189 190 f1 = '/net/dedale/usr/dedale/surf/lelod/ANTARC/SSMIS_CH17_ANTARC_' 191 f3 = '2010.DAT' 192 date=np.array(['FEBRUARY', 'APRIL', 'MAY', 'JUNE', 'JULY']) 193 numlines = np.zeros([len(date)],int) 194 195 for imo in range (0, len(date)): 196 print date[imo] 197 f = f1 + str(date[imo]) + f3 198 fichier = open(f, 'r') 199 numlines[imo] = 0 200 for line in fichier: numlines[imo] += 1 201 202 fichier.close() 203 204 205 imo = 0 # FEBUARY 206 fichier = open(f1 + str(date[imo]) + f3, 'r') 207 ssmis = np.zeros([18, numlines[imo]], float) 208 for iligne in range (0,numlines[imo]): 209 line = fichier.readline() 210 liste = line.split() 211 for j in range(0,18): 212 ssmis[j,iligne] = float(liste[j]) 213 214 fichier.close 215 216 ssch17_FEB=ssmis 217 lon17_FEB=ssch17_FEB[0,:] 218 lat17_FEB=ssch17_FEB[1,:] 219 jjr17_FEB=ssch17_FEB[4,:] 220 ts17_FEB=ssch17_FEB[8,:] 221 emis17_FEB=ssch17_FEB[14,:] 222 tb17_FEB=ssch17_FEB[13,:] 223 tup17_FEB=ssch17_FEB[16,:] 224 tdn17_FEB=ssch17_FEB[15,:] 225 trans17_FEB=ssch17_FEB[17,:] 226 orog17_FEB=ssch17_FEB[11,:] 227 228 229 imo = 1 # APRIL 230 fichier = open(f1 + str(date[imo]) + f3, 'r') 231 ssmis = np.zeros([18, numlines[imo]], float) 232 for iligne in range (0,numlines[imo]): 233 line = fichier.readline() 234 liste = line.split() 235 for j in range(0,18): 236 ssmis[j,iligne] = float(liste[j]) 237 238 fichier.close 239 240 ssch17_APR=ssmis 241 lon17_APR=ssch17_APR[0,:] 242 lat17_APR=ssch17_APR[1,:] 243 jjr17_APR=ssch17_APR[4,:] 244 ts17_APR=ssch17_APR[8,:] 245 emis17_APR=ssch17_APR[14,:] 246 tb17_APR=ssch17_APR[13,:] 247 tup17_APR=ssch17_APR[16,:] 248 tdn17_APR=ssch17_APR[15,:] 249 trans17_APR=ssch17_APR[17,:] 250 orog17_APR=ssch17_APR[11,:] 251 252 253 imo = 2 # MAY 254 fichier = open(f1 + str(date[imo]) + f3, 'r') 255 ssmis = np.zeros([18, numlines[imo]], float) 256 for iligne in range (0,numlines[imo]): 257 line = fichier.readline() 258 liste = line.split() 259 for j in range(0,18): 260 ssmis[j,iligne] = float(liste[j]) 261 262 fichier.close 263 264 ssch17_MAY=ssmis 265 lon17_MAY=ssch17_MAY[0,:] 266 lat17_MAY=ssch17_MAY[1,:] 267 jjr17_MAY=ssch17_MAY[4,:] 268 ts17_MAY=ssch17_MAY[8,:] 269 emis17_MAY=ssch17_MAY[14,:] 270 tb17_MAY=ssch17_MAY[13,:] 271 tup17_MAY=ssch17_MAY[16,:] 272 tdn17_MAY=ssch17_MAY[15,:] 273 trans17_MAY=ssch17_MAY[17,:] 274 orog17_MAY=ssch17_MAY[11,:] 275 276 277 imo = 3 # JUNE 278 fichier = open(f1 + str(date[imo]) + f3, 'r') 279 ssmis = np.zeros([18, numlines[imo]], float) 280 for iligne in range (0,numlines[imo]): 281 line = fichier.readline() 282 liste = line.split() 283 for j in range(0,18): 284 ssmis[j,iligne] = float(liste[j]) 285 286 fichier.close 287 288 ssch17_JUN=ssmis 289 lon17_JUN=ssch17_JUN[0,:] 290 lat17_JUN=ssch17_JUN[1,:] 291 jjr17_JUN=ssch17_JUN[4,:] 292 ts17_JUN=ssch17_JUN[8,:] 293 emis17_JUN=ssch17_JUN[14,:] 294 tb17_JUN=ssch17_JUN[13,:] 295 tup17_JUN=ssch17_JUN[16,:] 296 tdn17_JUN=ssch17_JUN[15,:] 297 trans17_JUN=ssch17_JUN[17,:] 298 orog17_JUN=ssch17_JUN[11,:] 299 300 301 imo = 4 # JULY 302 fichier = open(f1 + str(date[imo]) + f3, 'r') 303 ssmis = np.zeros([18, numlines[imo]], float) 304 for iligne in range (0,numlines[imo]): 305 line = fichier.readline() 306 liste = line.split() 307 for j in range(0,18): 308 ssmis[j,iligne] = float(liste[j]) 309 310 fichier.close 311 312 ssch17_JUL=ssmis 313 lon17_JUL=ssch17_JUL[0,:] 314 lat17_JUL=ssch17_JUL[1,:] 315 jjr17_JUL=ssch17_JUL[4,:] 316 ts17_JUL=ssch17_JUL[8,:] 317 emis17_JUL=ssch17_JUL[14,:] 318 tb17_JUL=ssch17_JUL[13,:] 319 tup17_JUL=ssch17_JUL[16,:] 320 tdn17_JUL=ssch17_JUL[15,:] 321 trans17_JUL=ssch17_JUL[17,:] 322 orog17_JUL=ssch17_JUL[11,:] 323 324 186 325 ######################## 187 326 # EVOLUTION TEMPORELLE # 188 327 ######################## 189 ## Autour de "Dome C" (lon=123.23;lat=-75.06) - mois: JUNE ## 190 ## Autre zone de glace de mer / de continent (lon entre -40 et -60 // lat entre -75 et -85)##328 329 ## ZONE1 = Autour de "Dome C" (lon=123.23;lat=-75.06) - mois: JUNE ## 191 330 ## ch17 ## 192 #bbzone_CH17_JUN = nonzero((lon17_JUN>=120.23)&(lon17_JUN<=126.23)&(lat17_JUN>=-78.06)&(lat17_JUN<=-72.06)) 331 #bbzone_CH17_JUN = nonzero((lon17_JUN >= 120.23) & (lon17_JUN <= 126.23) & (lat17_JUN >= -78.06) & (lat17_JUN <= -72.06)) 332 333 ## ch18 ## 334 #bbzone_CH18_JUN = nonzero((lon18_JUN >= 120.23) & (lon18_JUN <= 126.23) & (lat18_JUN >= -78.06) & (lat18_JUN <= -72.06)) 335 336 337 ## ZONE2 = Autre zone de glace de mer / de continent (lon entre -40 et -60 // lat entre -75 et -85) ## 338 ## ch17 ## 339 bbzone_CH17_FEB = nonzero((lon17_FEB >= -60.) & (lon17_FEB <= -40.) & (lat17_FEB >= -85.) & (lat17_FEB <= -75.)) 340 bbzone_CH17_APR = nonzero((lon17_APR >= -60.) & (lon17_APR <= -40.) & (lat17_APR >= -85.) & (lat17_APR <= -75.)) 341 bbzone_CH17_MAY = nonzero((lon17_MAY >= -60.) & (lon17_MAY <= -40.) & (lat17_MAY >= -85.) & (lat17_MAY <= -75.)) 193 342 bbzone_CH17_JUN = nonzero((lon17_JUN >= -60.) & (lon17_JUN <= -40.) & (lat17_JUN >= -85.) & (lat17_JUN <= -75.)) 343 bbzone_CH17_JUL = nonzero((lon17_JUL >= -60.) & (lon17_JUL <= -40.) & (lat17_JUL >= -85.) & (lat17_JUL <= -75.)) 344 345 ## ch18 ## 346 #bbzone_CH18_JUN = nonzero((lon18_JUN >= -60.) & (lon18_JUN <= -40.) & (lat18_JUN >= -85.) & (lat18_JUN <= -75.)) 347 348 ## ch 16 ## 349 #bbzone_CH16_JUN = nonzero((lon16_JUN >= 120.23) & (lon16_JUN <= 126.23) & (lat16_JUN >= -78.06) & (lat16_JUN <= -72.06)) 350 351 352 ## FEBUARY ## 353 emis17_FEB_moy = np.zeros([28],float) 354 tb17_FEB_moy = np.zeros([28],float) 355 ts17_FEB_moy = np.zeros([28],float) 356 orog17_FEB_moy = np.zeros([28],float) 357 for ijr in range (0,28): 358 print 'jour=', ijr+1 359 ## ch17 ## 360 ind_jr17_FEB = np.where(jjr17_FEB[bbzone_CH17_FEB]==ijr+1)[0] 361 a = emis17_FEB[bbzone_CH17_FEB][ind_jr17_FEB] 362 b = tb17_FEB[bbzone_CH17_FEB][ind_jr17_FEB] 363 c = ts17_FEB[bbzone_CH17_FEB][ind_jr17_FEB] 364 d = orog17_FEB[bbzone_CH17_FEB][ind_jr17_FEB] 365 emis17_FEB_moy[ijr] = mean(a[nonzero((a!=-500.)&(a<=1.))]) 366 tb17_FEB_moy[ijr] = mean(b[nonzero((b!=-500.)&(b!=0.))]) 367 ts17_FEB_moy[ijr] = mean(c[nonzero((c!=-500.)&(c!=0.))]) 368 orog17_FEB_moy[ijr] = mean(d[nonzero((d!=-500.))]) 369 370 371 ## APRIL ## 372 emis17_APR_moy = np.zeros([30],float) 373 tb17_APR_moy = np.zeros([30],float) 374 ts17_APR_moy = np.zeros([30],float) 375 orog17_APR_moy = np.zeros([30],float) 376 for ijr in range (0,30): 377 print 'jour=', ijr+1 378 ind_jr17_APR = np.where(jjr17_APR[bbzone_CH17_APR]==ijr+1)[0] 379 a = emis17_APR[bbzone_CH17_APR][ind_jr17_APR] 380 b = tb17_APR[bbzone_CH17_APR][ind_jr17_APR] 381 c = ts17_APR[bbzone_CH17_APR][ind_jr17_APR] 382 d = orog17_APR[bbzone_CH17_APR][ind_jr17_APR] 383 emis17_APR_moy[ijr] = mean(a[nonzero((a!=-500.)&(a<=1.))]) 384 tb17_APR_moy[ijr] = mean(b[nonzero((b!=-500.)&(b!=0.))]) 385 ts17_APR_moy[ijr] = mean(c[nonzero((c!=-500.)&(c!=0.))]) 386 orog17_APR_moy[ijr] = mean(d[nonzero((d!=-500.))]) 387 388 389 ## MAY ## 390 emis17_MAY_moy = np.zeros([31],float) 391 tb17_MAY_moy = np.zeros([31],float) 392 ts17_MAY_moy = np.zeros([31],float) 393 orog17_MAY_moy = np.zeros([31],float) 394 for ijr in range (0,31): 395 print 'jour=', ijr+1 396 ind_jr17_MAY = np.where(jjr17_MAY[bbzone_CH17_MAY]==ijr+1)[0] 397 a = emis17_MAY[bbzone_CH17_MAY][ind_jr17_MAY] 398 b = tb17_MAY[bbzone_CH17_MAY][ind_jr17_MAY] 399 c = ts17_MAY[bbzone_CH17_MAY][ind_jr17_MAY] 400 d = orog17_MAY[bbzone_CH17_MAY][ind_jr17_MAY] 401 emis17_MAY_moy[ijr] = mean(a[nonzero((a!=-500.)&(a<=1.))]) 402 tb17_MAY_moy[ijr] = mean(b[nonzero((b!=-500.)&(b!=0.))]) 403 ts17_MAY_moy[ijr] = mean(c[nonzero((c!=-500.)&(c!=0.))]) 404 orog17_MAY_moy[ijr] = mean(d[nonzero((d!=-500.))]) 405 406 407 ## JUNE ## 194 408 emis17_JUN_moy = np.zeros([30],float) 195 409 tb17_JUN_moy = np.zeros([30],float) 196 410 ts17_JUN_moy = np.zeros([30],float) 197 198 ## ch18 ## 199 #bbzone_CH18_JUN = nonzero((lon18_JUN >= 120.23) & (lon18_JUN <= 126.23) & (lat18_JUN >= -78.06) & (lat18_JUN <= -72.06)) 200 bbzone_CH18_JUN = nonzero((lon18_JUN >= -60.) & (lon18_JUN <= -40.) & (lat18_JUN >= -85.) & (lat18_JUN <= -75.)) 201 emis18_JUN_moy = np.zeros([30],float) 202 tb18_JUN_moy = np.zeros([30],float) 203 ts18_JUN_moy = np.zeros([30],float) 204 205 ## ch 16 ## 206 #bbzone_CH16_JUN = nonzero((lon16_JUN >= 120.23) & (lon16_JUN <= 126.23) & (lat16_JUN >= -78.06) & (lat16_JUN <= -72.06)) 411 #orog17_JUN_moy = np.zeros([30],float) 412 #emis18_JUN_moy = np.zeros([30],float) 413 #tb18_JUN_moy = np.zeros([30],float) 414 #ts18_JUN_moy = np.zeros([30],float) 207 415 #emis16_JUN_moy = np.zeros([30],float) 208 416 #tb16_JUN_moy = np.zeros([30],float) 209 417 #ts16_JUN_moy = np.zeros([30],float) 210 211 418 for ijr in range (0,30): 212 419 print 'jour=', ijr+1 213 ## ch17 ##214 ind_jr17 = np.where(jjr17_JUN[bbzone_CH17_JUN]==ijr+1)[0]215 a = emis17_JUN[bbzone_CH17_JUN][ind_jr17]216 b = tb17_JUN[bbzone_CH17_JUN][ind_jr17]217 c = ts17_JUN[bbzone_CH17_JUN][ind_jr17]420 ind_jr17_JUN = np.where(jjr17_JUN[bbzone_CH17_JUN]==ijr+1)[0] 421 a = emis17_JUN[bbzone_CH17_JUN][ind_jr17_JUN] 422 b = tb17_JUN[bbzone_CH17_JUN][ind_jr17_JUN] 423 c = ts17_JUN[bbzone_CH17_JUN][ind_jr17_JUN] 424 d = orog17_JUN[bbzone_CH17_JUN][ind_jr17_JUN] 218 425 emis17_JUN_moy[ijr] = mean(a[nonzero((a!=-500.)&(a<=1.))]) 219 426 tb17_JUN_moy[ijr] = mean(b[nonzero((b!=-500.)&(b!=0.))]) 220 427 ts17_JUN_moy[ijr] = mean(c[nonzero((c!=-500.)&(c!=0.))]) 428 # orog17_JUN_moy[ijr] = mean(d[nonzero((d!=-500.))]) 221 429 ## ch18 ## 222 ind_jr18 = np.where(jjr18_JUN[bbzone_CH18_JUN]==ijr+1)[0]223 d = emis18_JUN[bbzone_CH18_JUN][ind_jr18]224 e = tb18_JUN[bbzone_CH18_JUN][ind_jr18]225 f = ts18_JUN[bbzone_CH18_JUN][ind_jr18]226 emis18_JUN_moy[ijr] = mean(d[nonzero((d != -500.) & (d <= 1.))])227 tb18_JUN_moy[ijr] = mean(e[nonzero((e != -500.) & (e != 0.))])228 ts18_JUN_moy[ijr] = mean(f[nonzero((f != -500.) & (f != 0.))])430 # ind_jr18 = np.where(jjr18_JUN[bbzone_CH18_JUN]==ijr+1)[0] 431 # d = emis18_JUN[bbzone_CH18_JUN][ind_jr18] 432 # e = tb18_JUN[bbzone_CH18_JUN][ind_jr18] 433 # f = ts18_JUN[bbzone_CH18_JUN][ind_jr18] 434 # emis18_JUN_moy[ijr] = mean(d[nonzero((d != -500.) & (d <= 1.))]) 435 # tb18_JUN_moy[ijr] = mean(e[nonzero((e != -500.) & (e != 0.))]) 436 # ts18_JUN_moy[ijr] = mean(f[nonzero((f != -500.) & (f != 0.))]) 229 437 ## ch16 ## 230 438 # ind_jr16 = np.where(jjr16_JUN[bbzone_CH16_JUN]==ijr+1)[0] … … 237 445 238 446 447 ## JULY ## 448 emis17_JUL_moy = np.zeros([31],float) 449 tb17_JUL_moy = np.zeros([31],float) 450 ts17_JUL_moy = np.zeros([31],float) 451 orog17_JUL_moy = np.zeros([31],float) 452 for ijr in range (0,31): 453 print 'jour=', ijr+1 454 ind_jr17_JUL = np.where(jjr17_JUL[bbzone_CH17_JUL]==ijr+1)[0] 455 a = emis17_JUL[bbzone_CH17_JUL][ind_jr17_JUL] 456 b = tb17_JUL[bbzone_CH17_JUL][ind_jr17_JUL] 457 c = ts17_JUL[bbzone_CH17_JUL][ind_jr17_JUL] 458 d = orog17_JUL[bbzone_CH17_JUL][ind_jr17_JUL] 459 emis17_JUL_moy[ijr] = mean(a[nonzero((a!=-500.)&(a<=1.))]) 460 tb17_JUL_moy[ijr] = mean(b[nonzero((b!=-500.)&(b!=0.))]) 461 ts17_JUL_moy[ijr] = mean(c[nonzero((c!=-500.)&(c!=0.))]) 462 orog17_JUL_moy[ijr] = mean(d[nonzero((d!=-500.))]) 463 464 465 ## plot evolution temporelle ## 466 ## FEBUARY ## 467 fig = plt.figure() 468 plt.subplot(3, 1, 1) 469 plt.title('FEBUARY') 470 plt.plot(arange(0, 28, 1), emis17_FEB_moy, c = 'b') 471 plt.ylabel('Emissivity') 472 xticks(arange(0, 28, 1), arange(1, 29, 1)) 473 xlim (0, 28) 474 grid(True) 475 plt.subplot(3, 1, 2) 476 plt.plot(arange(0, 28, 1), tb17_FEB_moy, c = 'g', label = 'Tb') 477 ylabel('Brightness temperature') 478 xticks(arange(0, 28, 1), arange(1, 29, 1)) 479 xlim (0, 28) 480 grid(True) 481 plt.subplot(3, 1, 3) 482 plt.plot(arange(0, 28, 1), ts17_FEB_moy, c = 'r', label = 'Ts') 483 plt.ylabel('Surface temperature') 484 xticks(arange(0, 28, 1), arange(1, 29, 1)) 485 xlim (0, 28) 486 grid(True) 487 fig.show() 488 489 ## from APRIL to JULY ## 490 emis1 = np.append(emis17_APR_moy, emis17_MAY_moy) 491 emis2 = np.append(emis1, emis17_JUN_moy) 492 emis17_moy = np.append(emis2, emis17_JUL_moy) 493 tb1 = np.append(tb17_APR_moy, tb17_MAY_moy) 494 tb2 = np.append(tb1, tb17_JUN_moy) 495 tb17_moy = np.append(tb2, tb17_JUL_moy) 496 ts1 = np.append(ts17_APR_moy, ts17_MAY_moy) 497 ts2 = np.append(ts1, ts17_JUN_moy) 498 ts17_moy = np.append(ts2, ts17_JUL_moy) 499 fig = plt.figure() 500 plt.subplot(3, 1, 1) 501 plt.plot(arange(0, 122, 1), emis17_moy, c = 'b') 502 plt.ylabel('Emissivity') 503 xticks(array([0, 30, 61, 91, 122]), date[1:]) 504 xlim (0, 122) 505 grid(True) 506 plt.subplot(3, 1, 2) 507 plt.plot(arange(0, 122, 1), tb17_moy, c = 'g', label = 'Tb') 508 ylabel('Brightness temperature') 509 xticks(array([0, 30, 61, 91, 122]), date[1:]) 510 xlim (0, 122) 511 grid(True) 512 plt.subplot(3, 1, 3) 513 plt.plot(arange(0, 122, 1), ts17_moy, c = 'r', label = 'Ts') 514 plt.ylabel('Surface temperature') 515 xticks(array([0, 30, 61, 91, 122]), date[1:]) 516 xlim (0, 122) 517 grid(True) 518 fig.show() 519 520 ## JUNE ## 239 521 ## ch17 - ch18 ## 240 522 fig=plt.figure() … … 262 544 legend(loc=7) 263 545 fig.show() 264 265 ## ch16 ## 546 ## ch16 - ch17 ## 266 547 fig=plt.figure() 267 548 plt.subplot(3,1,1) … … 290 571 291 572 292 293 tb17_JUN_anom = np.zeros([30],float) 294 tb18_JUN_anom = np.zeros([30],float) 573 ## calcul anomalie de Tb 574 ## FEBUARY ## 575 tb17_FEB_anom = np.zeros([28], float) 576 for ijr in range (0,28): 577 print 'jour=', ijr + 1 578 tb17_FEB_anom[ijr]=tb17_FEB_moy[ijr]-mean(tb17_FEB_moy) 579 580 ## APRIL ## 581 tb17_APR_anom = np.zeros([30], float) 295 582 for ijr in range (0,30): 296 583 print 'jour=', ijr + 1 297 tb17_JUN_anom[ijr]=tb17_JUN_moy[ijr]-tb17_JUN_moy.mean() 298 tb18_JUN_anom[ijr]=tb18_JUN_moy[ijr]-tb18_JUN_moy.mean() 299 300 584 tb17_APR_anom[ijr]=tb17_APR_moy[ijr]-mean(tb17_APR_moy) 585 586 ## MAY ## 587 bbnan = nonzero(isnan(tb17_MAY_moy) == False) 588 tb17_MAY_anom = np.zeros([31], float) 589 for ijr in range (0,31): 590 print 'jour=', ijr + 1 591 tb17_MAY_anom[ijr]=tb17_MAY_moy[ijr]-mean(tb17_MAY_moy[bbnan]) 592 593 ## JUNE ## 594 tb17_JUN_anom = np.zeros([30],float) 595 #tb18_JUN_anom = np.zeros([30],float) 596 for ijr in range (0,30): 597 print 'jour=', ijr + 1 598 tb17_JUN_anom[ijr]=tb17_JUN_moy[ijr]-mean(tb17_JUN_moy) 599 # tb18_JUN_anom[ijr]=tb18_JUN_moy[ijr]-mean(tb18_JUN_moy) 600 601 ## JULY ## 602 tb17_JUL_anom = np.zeros([31],float) 603 for ijr in range (0,30): 604 print 'jour=', ijr + 1 605 tb17_JUL_anom[ijr]=tb17_JUL_moy[ijr]-mean(tb17_JUL_moy) 606 607 608 609 a1 = np.append(tb17_APR_anom, tb17_MAY_anom) 610 a2 = np.append(a1, tb17_JUN_anom) 611 tb17_month_anom = np.append(a2, tb17_JUL_anom) 612 613 614 ## for APRIL to JULY ## 615 fig = plt.figure() 616 plt.plot(arange(0, 122, 1), tb17_month_anom, c = 'k') 617 plt.plot(arange(0, 122, 1), np.zeros([122]), '--', c = 'r') 618 ylabel('Tb anomaly (K)') 619 xlim(0, 122) 620 xticks(array([0, 30, 61, 91 122]), date[1:]) 621 grid(True) 622 plt.title('SSMIS - zone2') 623 fig.show() 624 625 ## FEBRUARY ## 626 fig = plt.figure() 627 plt.plot(arange(0, 28, 1), tb17_FEB_anom, c = 'k') 628 plt.plot(arange(0, 28, 1), np.zeros([28]), '--', c = 'r') 629 ylabel('Tb anomaly (K)') 630 xlim(0, 27) 631 xticks(arange(0, 28, 1), arange(1, 29, 1)) 632 grid(True) 633 plt.xlabel('FABRUARY') 634 plt.title('SSMIS - zone2') 635 fig.show() 636 637 ## JUNE ## 301 638 fig=plt.figure() 302 639 plt.plot(arange(0,30,1),tb17_JUN_anom,label='91.66Ghz-V',c='r') … … 324 661 y0, y1 = -90, -30 325 662 663 664 ## FEBRUARY ## 665 bbtb_ch17_FEB = nonzero((tb17_FEB != -500.) & (tb17_FEB != 0.)) 666 OUTZCH17_FEB = np.zeros([len(np.arange(y0, y1+1, dy)),len(np.arange(x0, x1+1, dx)),28], float) 667 outzch17_FEB = np.zeros([len(np.arange(y0, y1+1, dy)),len(np.arange(x0, x1+1, dx))], float) 668 lonch17_FEB = np.zeros([len(np.arange(x0, x1+1, dx))], float) 669 latch17_FEB = np.zeros([len(np.arange(y0, y1+1, dy))], float) 670 for ijr in range(0,28): 671 print 'jour=', ijr+1 672 ## ch17 ## 673 ind_jr17_FEB = np.where(jjr17_FEB[bbtb_ch17_FEB] == ijr+1)[0] 674 xx = lon17_FEB[bbtb_ch17_FEB][ind_jr17_FEB] 675 yy = lat17_FEB[bbtb_ch17_FEB][ind_jr17_FEB] 676 zz = tb17_FEB[bbtb_ch17_FEB][ind_jr17_FEB] 677 zz0 = min(zz) 678 zz1 = max(zz) 679 outz, outx, outy = ffgrid2.ffgrid(xx, yy, zz, dx, dy, x0, x1, y0, y1, zz0, zz1) 680 outzch17_FEB = outz 681 lonch17_FEB = outx 682 latch17_FEB = outy 683 OUTZCH17_FEB[:,:,ijr] = outzch17_FEB[:,:] 684 685 ## APRIL ## 686 bbtb_ch17_APR = nonzero((tb17_APR != -500.) & (tb17_APR != 0.)) 687 OUTZCH17_APR = np.zeros([len(np.arange(y0, y1+1, dy)),len(np.arange(x0, x1+1, dx)),30], float) 688 outzch17_APR = np.zeros([len(np.arange(y0, y1+1, dy)),len(np.arange(x0, x1+1, dx))], float) 689 lonch17_APR = np.zeros([len(np.arange(x0, x1+1, dx))], float) 690 latch17_APR = np.zeros([len(np.arange(y0, y1+1, dy))], float) 691 for ijr in range(0,30): 692 print 'jour=', ijr+1 693 ## ch17 ## 694 ind_jr17_APR = np.where(jjr17_APR[bbtb_ch17_APR] == ijr+1)[0] 695 xx = lon17_APR[bbtb_ch17_APR][ind_jr17_APR] 696 yy = lat17_APR[bbtb_ch17_APR][ind_jr17_APR] 697 zz = tb17_APR[bbtb_ch17_APR][ind_jr17_APR] 698 zz0 = min(zz) 699 zz1 = max(zz) 700 outz, outx, outy = ffgrid2.ffgrid(xx, yy, zz, dx, dy, x0, x1, y0, y1, zz0, zz1) 701 outzch17_APR = outz 702 lonch17_APR = outx 703 latch17_APR = outy 704 OUTZCH17_APR[:,:,ijr] = outzch17_APR[:,:] 705 706 ## MAY ## 707 bbtb_ch17_MAY = nonzero((tb17_MAY != -500.) & (tb17_MAY != 0.)) 708 OUTZCH17_MAY = np.zeros([len(np.arange(y0, y1+1, dy)),len(np.arange(x0, x1+1, dx)),31], float) 709 outzch17_MAY = np.zeros([len(np.arange(y0, y1+1, dy)),len(np.arange(x0, x1+1, dx))], float) 710 lonch17_MAY = np.zeros([len(np.arange(x0, x1+1, dx))], float) 711 latch17_MAY = np.zeros([len(np.arange(y0, y1+1, dy))], float) 712 for ijr in range(0,31): 713 print 'jour=', ijr+1 714 ## ch17 ## 715 ind_jr17_MAY = np.where(jjr17_MAY[bbtb_ch17_MAY] == ijr+1)[0] 716 xx = lon17_MAY[bbtb_ch17_MAY][ind_jr17_MAY] 717 yy = lat17_MAY[bbtb_ch17_MAY][ind_jr17_MAY] 718 zz = tb17_MAY[bbtb_ch17_MAY][ind_jr17_MAY] 719 zz0 = min(zz) 720 zz1 = max(zz) 721 outz, outx, outy = ffgrid2.ffgrid(xx, yy, zz, dx, dy, x0, x1, y0, y1, zz0, zz1) 722 outzch17_MAY = outz 723 lonch17_MAY = outx 724 latch17_MAY = outy 725 OUTZCH17_MAY[:,:,ijr] = outzch17_MAY[:,:] 726 727 ## JUNE ## 326 728 ## ch17 ## 327 bbemis_ch17_JUN=nonzero((emis17_JUN!=-500.)&(emis17_JUN<1.)&(emis17_JUN>0.)) 328 bbtb_ch17_JUN=nonzero((tb17_JUN!=-500.)&(tb17_JUN!=0.)) 729 bbtb_ch17_JUN = nonzero((tb17_JUN != -500.) & (tb17_JUN != 0.)) 329 730 OUTZCH17_JUN = np.zeros([len(np.arange(y0, y1+1, dy)),len(np.arange(x0, x1+1, dx)),30], float) 330 731 outzch17_JUN = np.zeros([len(np.arange(y0, y1+1, dy)),len(np.arange(x0, x1+1, dx))], float) 331 lonch17_JUN=np.zeros([len(np.arange(x0, x1+1, dx))], float) 332 latch17_JUN=np.zeros([len(np.arange(y0, y1+1, dy))], float) 333 732 lonch17_JUN = np.zeros([len(np.arange(x0, x1+1, dx))], float) 733 latch17_JUN = np.zeros([len(np.arange(y0, y1+1, dy))], float) 334 734 ## ch18 ## 335 735 bbemis_ch18_JUN=nonzero((emis18_JUN!=-500.)&(emis18_JUN<1.)&(emis18_JUN>0.)) … … 339 739 lonch18_JUN=np.zeros([len(np.arange(x0, x1+1, dx))], float) 340 740 latch18_JUN=np.zeros([len(np.arange(y0, y1+1, dy))], float) 341 342 741 for ijr in range(0,30): 343 742 print 'jour=', ijr+1 … … 367 766 OUTZCH18_JUN[:,:,ijr] = outzch18_JUN[:,:] 368 767 369 768 ## JULY ## 769 bbtb_ch17_JUL = nonzero((tb17_JUL != -500.) & (tb17_JUL != 0.)) 770 OUTZCH17_JUL = np.zeros([len(np.arange(y0, y1+1, dy)),len(np.arange(x0, x1+1, dx)),31], float) 771 outzch17_JUL = np.zeros([len(np.arange(y0, y1+1, dy)),len(np.arange(x0, x1+1, dx))], float) 772 lonch17_JUL = np.zeros([len(np.arange(x0, x1+1, dx))], float) 773 latch17_JUL = np.zeros([len(np.arange(y0, y1+1, dy))], float) 774 for ijr in range(0,31): 775 print 'jour=', ijr+1 776 ## ch17 ## 777 ind_jr17_JUL = np.where(jjr17_JUL[bbtb_ch17_JUL] == ijr+1)[0] 778 xx = lon17_JUL[bbtb_ch17_JUL][ind_jr17_JUL] 779 yy = lat17_JUL[bbtb_ch17_JUL][ind_jr17_JUL] 780 zz = tb17_JUL[bbtb_ch17_JUL][ind_jr17_JUL] 781 zz0 = min(zz) 782 zz1 = max(zz) 783 outz, outx, outy = ffgrid2.ffgrid(xx, yy, zz, dx, dy, x0, x1, y0, y1, zz0, zz1) 784 outzch17_JUL = outz 785 lonch17_JUL = outx 786 latch17_JUL = outy 787 OUTZCH17_JUL[:,:,ijr] = outzch17_JUL[:,:] 788 789 790 ## calcul de la climatologie moyenne sur le mois et anomalie en chaque lon/lat ## 791 ## FEBRUARY ## 792 mean_outzch17_FEB = np.zeros([len(latch17_FEB), len(lonch17_FEB)], float) 793 for ilon in range (0,len(lonch17_FEB)): 794 for ilat in range (0,len(latch17_FEB)): 795 mean_outzch17_FEB[ilat,ilon] = mean(OUTZCH17_FEB[ilat,ilon,:]) 796 797 tbch17_anom_FEB = np.zeros([len(latch17_FEB),len(lonch17_FEB),28], float) 798 for ijr in range (0,28): 799 tbch17_anom_FEB[:,:,ijr] = OUTZCH17_FEB[:,:,ijr] - mean_outzch17_FEB[:,:] 800 801 ## APRIL ## 802 mean_outzch17_APR = np.zeros([len(latch17_APR), len(lonch17_APR)], float) 803 for ilon in range (0,len(lonch17_APR)): 804 for ilat in range (0,len(latch17_APR)): 805 mean_outzch17_APR[ilat,ilon] = mean(OUTZCH17_APR[ilat,ilon,:]) 806 807 tbch17_anom_APR = np.zeros([len(latch17_APR),len(lonch17_APR),30], float) 808 for ijr in range (0,30): 809 tbch17_anom_APR[:,:,ijr] = OUTZCH17_APR[:,:,ijr] - mean_outzch17_APR[:,:] 810 811 ## MAY ## 812 mean_outzch17_MAY = np.zeros([len(latch17_MAY), len(lonch17_MAY)], float) 813 for ilon in range (0,len(lonch17_MAY)): 814 for ilat in range (0,len(latch17_MAY)): 815 mean_outzch17_MAY[ilat,ilon] = mean(OUTZCH17_MAY[ilat,ilon,:]) 816 817 tbch17_anom_MAY = np.zeros([len(latch17_MAY),len(lonch17_MAY),31], float) 818 for ijr in range (0,31): 819 tbch17_anom_MAY[:,:,ijr] = OUTZCH17_MAY[:,:,ijr] - mean_outzch17_MAY[:,:] 820 821 822 ## JUNE ## 370 823 ## ch17 ## 371 824 mean_outzch17_JUN = np.zeros([len(latch17_JUN), len(lonch17_JUN)], float) … … 374 827 mean_outzch17_JUN[ilat,ilon] = OUTZCH17_JUN[ilat,ilon,:].mean() 375 828 829 tbch17_anom_JUN = np.zeros([len(latch17_JUN),len(lonch17_JUN),30], float) 830 for ijr in range (0,30): 831 tbch17_anom_JUN[:,:,ijr] = OUTZCH17_JUN[:,:,ijr] - mean_outzch17_JUN[:,:] 376 832 377 833 ## ch18 ## … … 381 837 mean_outzch18_JUN[ilat,ilon] = OUTZCH18_JUN[ilat,ilon,:].mean() 382 838 383 384 ## ch17 ##385 tbch17_anom_JUN = np.zeros([len(latch17_JUN),len(lonch17_JUN),30], float)386 for ijr in range (0,30):387 tbch17_anom_JUN[:,:,ijr] = OUTZCH17_JUN[:,:,ijr] - mean_outzch17_JUN[:,:]388 389 390 ## ch18 ##391 839 tbch18_anom_JUN = np.zeros([len(latch18_JUN),len(lonch18_JUN),30], float) 392 840 for ijr in range (0,30): 393 841 tbch18_anom_JUN[:,:,ijr] = OUTZCH18_JUN[:,:,ijr] - mean_outzch18_JUN[:,:] 842 394 843 395 844 … … 416 865 m = Basemap(llcrnrlon=-180, urcrnrlon=180, llcrnrlat=-90, urcrnrlat=-30, projection='cyl', resolution='c', fix_aspect=True) 417 866 m.drawcoastlines(linewidth = 1) 418 m.drawparallels(np.arange(-90., 90., 20))867 m.drawparallels(np.arange(-90., -30., 20)) 419 868 m.drawmeridians(np.arange(-180., 180., 20)) 420 869 #m.fillcontinents() 421 xii,yii = m(*np.meshgrid(lonch17_JUN, latch17_JUN)) 422 870 xii,yii = m(*np.meshgrid(lonch17_FEB, latch17_FEB)) 871 plt.xticks(arange(-180, 200, 20)) 872 plt.yticks(arange(-90, -30, 20)) 873 ## ch17 ## 874 clevs = arange(150., 270., 1.) 875 cs = m.contourf(xii, yii, mean_outzch17_FEB, clevs, cmap=cm.s3pcpn_l_r) 876 cbar = colorbar(cs) 877 cbar.set_label('Mean Tb FEB [CH17] - SSMIS') 423 878 ## BIAIS ch17-ch18 ## 424 879 biais_JUN = mean_outzch17_JUN - mean_outzch18_JUN … … 447 902 # DIAGRAMME DE HOVMOLLER # 448 903 ########################## 449 450 904 # shape(tbch17_anom_JUN) = [ilat, ilon, ijr] 451 452 ## tranche de latitude étudiée ## 453 #bbtranche17_JUN = nonzero((latch17_JUN == -75.)) 905 ## FEBRUARY ## 906 bbtranche17_FEB = nonzero((latch17_FEB >= -85.) & (latch17_FEB <= -75)) 907 mean_tbch17_anom_FEB = np.zeros([len(lonch17_FEB), 28], float) 908 for ilon in range (0, len(lonch17_FEB)): 909 for ijr in range (0,28): 910 mean_tbch17_anom_FEB[ilon,ijr] = mean(tbch17_anom_FEB[bbtranche17_FEB][:,ilon,ijr]) 911 912 y_time, x_space = np.meshgrid(arange(0,28,1), lonch17_FEB) 913 fig = plt.figure() 914 plt.pcolor(x_space, y_time, mean_tbch17_anom_FEB, cmap=cm.s3pcpn_l_r, vmin = -10., vmax = 15.) 915 plt.axis([-180., 180., 0, 28]) 916 cb = plt.colorbar() 917 cb.set_label('Tb anomaly - SSMIS CH17') 918 plt.xticks(arange(-180.,200.,40)) 919 plt.yticks(arange(0, 28, 1), arange (1, 29, 1)) 920 plt.xlabel('longitude') 921 plt.ylabel('FEBRUARY 2010') 922 923 ## MAY ## 924 bbtranche17_MAY = nonzero((latch17_MAY >= -85.) & (latch17_MAY <= -75)) 925 mean_tbch17_anom_MAY = np.zeros([len(lonch17_MAY), 31], float) 926 for ilon in range (0, len(lonch17_MAY)): 927 for ijr in range (0,31): 928 mean_tbch17_anom_MAY[ilon,ijr] = mean(tbch17_anom_MAY[bbtranche17_MAY][:,ilon,ijr]) 929 930 y_time, x_space = np.meshgrid(arange(0,31,1), lonch17_MAY) 931 fig = plt.figure() 932 plt.pcolor(x_space, y_time, mean_tbch17_anom_MAY, cmap=cm.s3pcpn_l_r, vmin = -12., vmax = 25.) 933 plt.axis([-180., 180., 0, 30]) 934 cb = plt.colorbar() 935 cb.set_label('Tb anomaly - SSMIS CH17') 936 plt.xticks(arange(-180.,200.,40)) 937 plt.yticks(arange(0, 30, 1), arange(1,31,1)) 938 plt.xlabel('longitude') 939 plt.ylabel('MAY 2010') 940 941 ## JUNE ## 454 942 bbtranche17_JUN = nonzero((latch17_JUN >= -85.) & (latch17_JUN <= -75)) 455 #bbtranche17_JUN = nonzero((latch17_JUN >= -90.) & (latch17_JUN <= -85))456 943 mean_tbch17_anom_JUN = np.zeros([len(lonch17_JUN), 30], float) 457 944 for ilon in range (0, len(lonch17_JUN)): … … 460 947 461 948 462 y_time, x_space = m(*np.meshgrid(arange(0,30,1), lonch17_JUN))949 y_time, x_space = np.meshgrid(arange(0,30,1), lonch17_APR) 463 950 fig = plt.figure() 464 plt.pcolor(x_space, y_time, mean_tbch17_anom_ JUN, cmap=cm.s3pcpn_l_r, vmin = -30., vmax = 25.)951 plt.pcolor(x_space, y_time, mean_tbch17_anom_APR, cmap=cm.s3pcpn_l_r, vmin = -30., vmax = 25.) 465 952 plt.axis([-180., 180., 0, 29]) 466 953 cb = plt.colorbar()
Note: See TracChangeset
for help on using the changeset viewer.