Changeset 21


Ignore:
Timestamp:
05/27/14 18:52:15 (10 years ago)
Author:
lahlod
Message:

modifs laura

Location:
trunk/src
Files:
1 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/scripts_Laura/read_SSMIS_test.py

    r20 r21  
    77from mpl_toolkits.basemap import Basemap 
    88from mpl_toolkits.basemap import shiftgrid, cm 
    9 import netCDF4 
     9from netCDF4 import Dataset 
    1010import ffgrid2 
    1111 
    12  
    13 ################ fichiers par mois - CH1 ################################################### 
    1412 
    1513f1 = '/net/dedale/usr/dedale/surf/lelod/ANTARC/SSMIS_CH' 
    1614f3 = '_ANTARC_JUNE2010.DAT' 
    17 #date=np.array(['JANUARY', 'FEBRUARY', 'MARCH', 'APRIL', 'MAY', 'JUNE', 'JULY']) 
    1815channel = np.array([12, 13, 15, 16, 17, 18]) 
    1916numlines = np.zeros([len(channel)],int) 
     
    2623     for line in fichier: numlines[ich] += 1 
    2724 
    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 
     31ich = 0 # 37GHz, H  
    3232fichier = open(f1 + str(channel[ich]) + f3, 'r') 
    3333ssmis = np.zeros([18, numlines[ich]], float) 
     
    159159 
    160160 
    161 ich = 5 # 91.66GHz, V polar 
     161ich = 5 # 91.66GHz, H polar 
    162162fichier = open(f1 + str(channel[ich]) + f3, 'r') 
    163163ssmis = np.zeros([18, numlines[ich]], float) 
     
    184184orog18_JUN=ssch18_JUN[11,:] 
    185185 
     186 
     187 
     188################ fichiers par mois - canal 17 ################################################### 
     189 
     190f1 = '/net/dedale/usr/dedale/surf/lelod/ANTARC/SSMIS_CH17_ANTARC_' 
     191f3 = '2010.DAT' 
     192date=np.array(['FEBRUARY', 'APRIL', 'MAY', 'JUNE', 'JULY']) 
     193numlines = np.zeros([len(date)],int) 
     194 
     195for 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 
     205imo = 0 # FEBUARY 
     206fichier = open(f1 + str(date[imo]) + f3, 'r') 
     207ssmis = np.zeros([18, numlines[imo]], float) 
     208for 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 
     216ssch17_FEB=ssmis 
     217lon17_FEB=ssch17_FEB[0,:] 
     218lat17_FEB=ssch17_FEB[1,:] 
     219jjr17_FEB=ssch17_FEB[4,:] 
     220ts17_FEB=ssch17_FEB[8,:] 
     221emis17_FEB=ssch17_FEB[14,:] 
     222tb17_FEB=ssch17_FEB[13,:] 
     223tup17_FEB=ssch17_FEB[16,:] 
     224tdn17_FEB=ssch17_FEB[15,:] 
     225trans17_FEB=ssch17_FEB[17,:] 
     226orog17_FEB=ssch17_FEB[11,:] 
     227 
     228 
     229imo = 1 # APRIL 
     230fichier = open(f1 + str(date[imo]) + f3, 'r') 
     231ssmis = np.zeros([18, numlines[imo]], float) 
     232for 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 
     240ssch17_APR=ssmis 
     241lon17_APR=ssch17_APR[0,:] 
     242lat17_APR=ssch17_APR[1,:] 
     243jjr17_APR=ssch17_APR[4,:] 
     244ts17_APR=ssch17_APR[8,:] 
     245emis17_APR=ssch17_APR[14,:] 
     246tb17_APR=ssch17_APR[13,:] 
     247tup17_APR=ssch17_APR[16,:] 
     248tdn17_APR=ssch17_APR[15,:] 
     249trans17_APR=ssch17_APR[17,:] 
     250orog17_APR=ssch17_APR[11,:] 
     251 
     252 
     253imo = 2 # MAY 
     254fichier = open(f1 + str(date[imo]) + f3, 'r') 
     255ssmis = np.zeros([18, numlines[imo]], float) 
     256for 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 
     264ssch17_MAY=ssmis 
     265lon17_MAY=ssch17_MAY[0,:] 
     266lat17_MAY=ssch17_MAY[1,:] 
     267jjr17_MAY=ssch17_MAY[4,:] 
     268ts17_MAY=ssch17_MAY[8,:] 
     269emis17_MAY=ssch17_MAY[14,:] 
     270tb17_MAY=ssch17_MAY[13,:] 
     271tup17_MAY=ssch17_MAY[16,:] 
     272tdn17_MAY=ssch17_MAY[15,:] 
     273trans17_MAY=ssch17_MAY[17,:] 
     274orog17_MAY=ssch17_MAY[11,:] 
     275 
     276 
     277imo = 3 # JUNE 
     278fichier = open(f1 + str(date[imo]) + f3, 'r') 
     279ssmis = np.zeros([18, numlines[imo]], float) 
     280for 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 
     288ssch17_JUN=ssmis 
     289lon17_JUN=ssch17_JUN[0,:] 
     290lat17_JUN=ssch17_JUN[1,:] 
     291jjr17_JUN=ssch17_JUN[4,:] 
     292ts17_JUN=ssch17_JUN[8,:] 
     293emis17_JUN=ssch17_JUN[14,:] 
     294tb17_JUN=ssch17_JUN[13,:] 
     295tup17_JUN=ssch17_JUN[16,:] 
     296tdn17_JUN=ssch17_JUN[15,:] 
     297trans17_JUN=ssch17_JUN[17,:] 
     298orog17_JUN=ssch17_JUN[11,:] 
     299 
     300 
     301imo = 4 # JULY 
     302fichier = open(f1 + str(date[imo]) + f3, 'r') 
     303ssmis = np.zeros([18, numlines[imo]], float) 
     304for 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 
     312ssch17_JUL=ssmis 
     313lon17_JUL=ssch17_JUL[0,:] 
     314lat17_JUL=ssch17_JUL[1,:] 
     315jjr17_JUL=ssch17_JUL[4,:] 
     316ts17_JUL=ssch17_JUL[8,:] 
     317emis17_JUL=ssch17_JUL[14,:] 
     318tb17_JUL=ssch17_JUL[13,:] 
     319tup17_JUL=ssch17_JUL[16,:] 
     320tdn17_JUL=ssch17_JUL[15,:] 
     321trans17_JUL=ssch17_JUL[17,:] 
     322orog17_JUL=ssch17_JUL[11,:] 
     323 
     324 
    186325######################## 
    187326# EVOLUTION TEMPORELLE # 
    188327######################## 
    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 ## 
    191330## 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 ## 
     339bbzone_CH17_FEB = nonzero((lon17_FEB >= -60.) & (lon17_FEB <= -40.) & (lat17_FEB >= -85.) & (lat17_FEB <= -75.)) 
     340bbzone_CH17_APR = nonzero((lon17_APR >= -60.) & (lon17_APR <= -40.) & (lat17_APR >= -85.) & (lat17_APR <= -75.)) 
     341bbzone_CH17_MAY = nonzero((lon17_MAY >= -60.) & (lon17_MAY <= -40.) & (lat17_MAY >= -85.) & (lat17_MAY <= -75.)) 
    193342bbzone_CH17_JUN = nonzero((lon17_JUN >= -60.) & (lon17_JUN <= -40.) & (lat17_JUN >= -85.) & (lat17_JUN <= -75.)) 
     343bbzone_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 ## 
     353emis17_FEB_moy = np.zeros([28],float) 
     354tb17_FEB_moy = np.zeros([28],float) 
     355ts17_FEB_moy = np.zeros([28],float) 
     356orog17_FEB_moy = np.zeros([28],float) 
     357for 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 ## 
     372emis17_APR_moy = np.zeros([30],float) 
     373tb17_APR_moy = np.zeros([30],float) 
     374ts17_APR_moy = np.zeros([30],float) 
     375orog17_APR_moy = np.zeros([30],float) 
     376for 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 ## 
     390emis17_MAY_moy = np.zeros([31],float) 
     391tb17_MAY_moy = np.zeros([31],float) 
     392ts17_MAY_moy = np.zeros([31],float) 
     393orog17_MAY_moy = np.zeros([31],float) 
     394for 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 ## 
    194408emis17_JUN_moy = np.zeros([30],float) 
    195409tb17_JUN_moy = np.zeros([30],float) 
    196410ts17_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) 
    207415#emis16_JUN_moy = np.zeros([30],float) 
    208416#tb16_JUN_moy = np.zeros([30],float) 
    209417#ts16_JUN_moy = np.zeros([30],float) 
    210  
    211418for ijr in range (0,30): 
    212419     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] 
    218425     emis17_JUN_moy[ijr] = mean(a[nonzero((a!=-500.)&(a<=1.))]) 
    219426     tb17_JUN_moy[ijr] = mean(b[nonzero((b!=-500.)&(b!=0.))]) 
    220427     ts17_JUN_moy[ijr] = mean(c[nonzero((c!=-500.)&(c!=0.))]) 
     428#     orog17_JUN_moy[ijr] = mean(d[nonzero((d!=-500.))]) 
    221429     ## 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.))]) 
    229437     ## ch16 ## 
    230438#     ind_jr16 = np.where(jjr16_JUN[bbzone_CH16_JUN]==ijr+1)[0] 
     
    237445 
    238446 
     447## JULY ## 
     448emis17_JUL_moy = np.zeros([31],float) 
     449tb17_JUL_moy = np.zeros([31],float) 
     450ts17_JUL_moy = np.zeros([31],float) 
     451orog17_JUL_moy = np.zeros([31],float) 
     452for 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 ## 
     467fig = plt.figure() 
     468plt.subplot(3, 1, 1) 
     469plt.title('FEBUARY') 
     470plt.plot(arange(0, 28, 1), emis17_FEB_moy, c = 'b') 
     471plt.ylabel('Emissivity') 
     472xticks(arange(0, 28, 1), arange(1, 29, 1)) 
     473xlim (0, 28) 
     474grid(True) 
     475plt.subplot(3, 1, 2) 
     476plt.plot(arange(0, 28, 1), tb17_FEB_moy, c = 'g', label = 'Tb') 
     477ylabel('Brightness temperature') 
     478xticks(arange(0, 28, 1), arange(1, 29, 1)) 
     479xlim (0, 28) 
     480grid(True) 
     481plt.subplot(3, 1, 3) 
     482plt.plot(arange(0, 28, 1), ts17_FEB_moy, c = 'r', label = 'Ts') 
     483plt.ylabel('Surface temperature') 
     484xticks(arange(0, 28, 1), arange(1, 29, 1)) 
     485xlim (0, 28) 
     486grid(True) 
     487fig.show() 
     488 
     489## from APRIL to JULY ## 
     490emis1 = np.append(emis17_APR_moy, emis17_MAY_moy) 
     491emis2 = np.append(emis1, emis17_JUN_moy) 
     492emis17_moy = np.append(emis2, emis17_JUL_moy) 
     493tb1 = np.append(tb17_APR_moy, tb17_MAY_moy) 
     494tb2 = np.append(tb1, tb17_JUN_moy) 
     495tb17_moy = np.append(tb2, tb17_JUL_moy) 
     496ts1 = np.append(ts17_APR_moy, ts17_MAY_moy) 
     497ts2 = np.append(ts1, ts17_JUN_moy) 
     498ts17_moy = np.append(ts2, ts17_JUL_moy) 
     499fig = plt.figure() 
     500plt.subplot(3, 1, 1) 
     501plt.plot(arange(0, 122, 1), emis17_moy, c = 'b') 
     502plt.ylabel('Emissivity') 
     503xticks(array([0, 30, 61, 91, 122]), date[1:]) 
     504xlim (0, 122) 
     505grid(True) 
     506plt.subplot(3, 1, 2) 
     507plt.plot(arange(0, 122, 1), tb17_moy, c = 'g', label = 'Tb') 
     508ylabel('Brightness temperature') 
     509xticks(array([0, 30, 61, 91, 122]), date[1:]) 
     510xlim (0, 122) 
     511grid(True) 
     512plt.subplot(3, 1, 3) 
     513plt.plot(arange(0, 122, 1), ts17_moy, c = 'r', label = 'Ts') 
     514plt.ylabel('Surface temperature') 
     515xticks(array([0, 30, 61, 91, 122]), date[1:]) 
     516xlim (0, 122) 
     517grid(True) 
     518fig.show() 
     519 
     520## JUNE ## 
    239521## ch17 - ch18 ## 
    240522fig=plt.figure() 
     
    262544legend(loc=7) 
    263545fig.show() 
    264  
    265 ## ch16 ## 
     546## ch16 - ch17 ## 
    266547fig=plt.figure() 
    267548plt.subplot(3,1,1) 
     
    290571 
    291572 
    292  
    293 tb17_JUN_anom = np.zeros([30],float) 
    294 tb18_JUN_anom = np.zeros([30],float) 
     573## calcul anomalie de Tb 
     574## FEBUARY ## 
     575tb17_FEB_anom = np.zeros([28], float) 
     576for 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 ## 
     581tb17_APR_anom = np.zeros([30], float) 
    295582for ijr in range (0,30): 
    296583     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 ## 
     587bbnan = nonzero(isnan(tb17_MAY_moy) == False) 
     588tb17_MAY_anom = np.zeros([31], float) 
     589for 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 ## 
     594tb17_JUN_anom = np.zeros([30],float) 
     595#tb18_JUN_anom = np.zeros([30],float) 
     596for 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 ## 
     602tb17_JUL_anom = np.zeros([31],float) 
     603for 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 
     609a1 = np.append(tb17_APR_anom, tb17_MAY_anom) 
     610a2 = np.append(a1, tb17_JUN_anom) 
     611tb17_month_anom = np.append(a2, tb17_JUL_anom) 
     612 
     613 
     614## for APRIL to JULY ## 
     615fig = plt.figure() 
     616plt.plot(arange(0, 122, 1), tb17_month_anom, c = 'k') 
     617plt.plot(arange(0, 122, 1), np.zeros([122]), '--', c = 'r') 
     618ylabel('Tb anomaly (K)') 
     619xlim(0, 122) 
     620xticks(array([0, 30, 61, 91 122]), date[1:]) 
     621grid(True) 
     622plt.title('SSMIS - zone2') 
     623fig.show() 
     624 
     625## FEBRUARY ## 
     626fig = plt.figure() 
     627plt.plot(arange(0, 28, 1), tb17_FEB_anom, c = 'k') 
     628plt.plot(arange(0, 28, 1), np.zeros([28]), '--', c = 'r') 
     629ylabel('Tb anomaly (K)') 
     630xlim(0, 27) 
     631xticks(arange(0, 28, 1), arange(1, 29, 1)) 
     632grid(True) 
     633plt.xlabel('FABRUARY') 
     634plt.title('SSMIS - zone2') 
     635fig.show() 
     636 
     637## JUNE ## 
    301638fig=plt.figure() 
    302639plt.plot(arange(0,30,1),tb17_JUN_anom,label='91.66Ghz-V',c='r') 
     
    324661y0, y1 = -90, -30 
    325662 
     663 
     664## FEBRUARY ## 
     665bbtb_ch17_FEB = nonzero((tb17_FEB != -500.) & (tb17_FEB != 0.)) 
     666OUTZCH17_FEB = np.zeros([len(np.arange(y0, y1+1, dy)),len(np.arange(x0, x1+1, dx)),28], float) 
     667outzch17_FEB = np.zeros([len(np.arange(y0, y1+1, dy)),len(np.arange(x0, x1+1, dx))], float) 
     668lonch17_FEB = np.zeros([len(np.arange(x0, x1+1, dx))], float) 
     669latch17_FEB = np.zeros([len(np.arange(y0, y1+1, dy))], float) 
     670for 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 ## 
     686bbtb_ch17_APR = nonzero((tb17_APR != -500.) & (tb17_APR != 0.)) 
     687OUTZCH17_APR = np.zeros([len(np.arange(y0, y1+1, dy)),len(np.arange(x0, x1+1, dx)),30], float) 
     688outzch17_APR = np.zeros([len(np.arange(y0, y1+1, dy)),len(np.arange(x0, x1+1, dx))], float) 
     689lonch17_APR = np.zeros([len(np.arange(x0, x1+1, dx))], float) 
     690latch17_APR = np.zeros([len(np.arange(y0, y1+1, dy))], float) 
     691for 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 ## 
     707bbtb_ch17_MAY = nonzero((tb17_MAY != -500.) & (tb17_MAY != 0.)) 
     708OUTZCH17_MAY = np.zeros([len(np.arange(y0, y1+1, dy)),len(np.arange(x0, x1+1, dx)),31], float) 
     709outzch17_MAY = np.zeros([len(np.arange(y0, y1+1, dy)),len(np.arange(x0, x1+1, dx))], float) 
     710lonch17_MAY = np.zeros([len(np.arange(x0, x1+1, dx))], float) 
     711latch17_MAY = np.zeros([len(np.arange(y0, y1+1, dy))], float) 
     712for 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 ## 
    326728## 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.)) 
     729bbtb_ch17_JUN = nonzero((tb17_JUN != -500.) & (tb17_JUN != 0.)) 
    329730OUTZCH17_JUN = np.zeros([len(np.arange(y0, y1+1, dy)),len(np.arange(x0, x1+1, dx)),30], float) 
    330731outzch17_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  
     732lonch17_JUN = np.zeros([len(np.arange(x0, x1+1, dx))], float) 
     733latch17_JUN = np.zeros([len(np.arange(y0, y1+1, dy))], float) 
    334734## ch18 ## 
    335735bbemis_ch18_JUN=nonzero((emis18_JUN!=-500.)&(emis18_JUN<1.)&(emis18_JUN>0.)) 
     
    339739lonch18_JUN=np.zeros([len(np.arange(x0, x1+1, dx))], float) 
    340740latch18_JUN=np.zeros([len(np.arange(y0, y1+1, dy))], float) 
    341  
    342741for ijr in range(0,30): 
    343742    print 'jour=', ijr+1 
     
    367766    OUTZCH18_JUN[:,:,ijr] = outzch18_JUN[:,:] 
    368767 
    369      
     768## JULY ## 
     769bbtb_ch17_JUL = nonzero((tb17_JUL != -500.) & (tb17_JUL != 0.)) 
     770OUTZCH17_JUL = np.zeros([len(np.arange(y0, y1+1, dy)),len(np.arange(x0, x1+1, dx)),31], float) 
     771outzch17_JUL = np.zeros([len(np.arange(y0, y1+1, dy)),len(np.arange(x0, x1+1, dx))], float) 
     772lonch17_JUL = np.zeros([len(np.arange(x0, x1+1, dx))], float) 
     773latch17_JUL = np.zeros([len(np.arange(y0, y1+1, dy))], float) 
     774for 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 ## 
     792mean_outzch17_FEB = np.zeros([len(latch17_FEB), len(lonch17_FEB)], float) 
     793for 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 
     797tbch17_anom_FEB = np.zeros([len(latch17_FEB),len(lonch17_FEB),28], float) 
     798for ijr in range (0,28): 
     799    tbch17_anom_FEB[:,:,ijr] = OUTZCH17_FEB[:,:,ijr] - mean_outzch17_FEB[:,:] 
     800 
     801## APRIL ## 
     802mean_outzch17_APR = np.zeros([len(latch17_APR), len(lonch17_APR)], float) 
     803for 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 
     807tbch17_anom_APR = np.zeros([len(latch17_APR),len(lonch17_APR),30], float) 
     808for ijr in range (0,30): 
     809    tbch17_anom_APR[:,:,ijr] = OUTZCH17_APR[:,:,ijr] - mean_outzch17_APR[:,:] 
     810 
     811## MAY ## 
     812mean_outzch17_MAY = np.zeros([len(latch17_MAY), len(lonch17_MAY)], float) 
     813for 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 
     817tbch17_anom_MAY = np.zeros([len(latch17_MAY),len(lonch17_MAY),31], float) 
     818for ijr in range (0,31): 
     819    tbch17_anom_MAY[:,:,ijr] = OUTZCH17_MAY[:,:,ijr] - mean_outzch17_MAY[:,:] 
     820 
     821 
     822## JUNE ## 
    370823## ch17 ## 
    371824mean_outzch17_JUN = np.zeros([len(latch17_JUN), len(lonch17_JUN)], float) 
     
    374827        mean_outzch17_JUN[ilat,ilon] = OUTZCH17_JUN[ilat,ilon,:].mean() 
    375828 
     829tbch17_anom_JUN = np.zeros([len(latch17_JUN),len(lonch17_JUN),30], float) 
     830for ijr in range (0,30): 
     831    tbch17_anom_JUN[:,:,ijr] = OUTZCH17_JUN[:,:,ijr] - mean_outzch17_JUN[:,:] 
    376832 
    377833## ch18 ## 
     
    381837        mean_outzch18_JUN[ilat,ilon] = OUTZCH18_JUN[ilat,ilon,:].mean() 
    382838 
    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 ## 
    391839tbch18_anom_JUN = np.zeros([len(latch18_JUN),len(lonch18_JUN),30], float) 
    392840for ijr in range (0,30): 
    393841    tbch18_anom_JUN[:,:,ijr] = OUTZCH18_JUN[:,:,ijr] - mean_outzch18_JUN[:,:] 
     842 
    394843 
    395844 
     
    416865m = Basemap(llcrnrlon=-180, urcrnrlon=180, llcrnrlat=-90, urcrnrlat=-30, projection='cyl', resolution='c', fix_aspect=True) 
    417866m.drawcoastlines(linewidth = 1) 
    418 m.drawparallels(np.arange(-90., 90., 20)) 
     867m.drawparallels(np.arange(-90., -30., 20)) 
    419868m.drawmeridians(np.arange(-180., 180., 20)) 
    420869#m.fillcontinents() 
    421 xii,yii = m(*np.meshgrid(lonch17_JUN, latch17_JUN)) 
    422  
     870xii,yii = m(*np.meshgrid(lonch17_FEB, latch17_FEB)) 
     871plt.xticks(arange(-180, 200, 20)) 
     872plt.yticks(arange(-90, -30, 20)) 
     873## ch17 ## 
     874clevs = arange(150., 270., 1.) 
     875cs = m.contourf(xii, yii, mean_outzch17_FEB, clevs, cmap=cm.s3pcpn_l_r) 
     876cbar = colorbar(cs) 
     877cbar.set_label('Mean Tb FEB [CH17] - SSMIS') 
    423878## BIAIS ch17-ch18 ##  
    424879biais_JUN = mean_outzch17_JUN - mean_outzch18_JUN 
     
    447902# DIAGRAMME DE HOVMOLLER # 
    448903########################## 
    449  
    450904# shape(tbch17_anom_JUN) = [ilat, ilon, ijr] 
    451  
    452 ## tranche de latitude étudiée ## 
    453 #bbtranche17_JUN = nonzero((latch17_JUN == -75.)) 
     905## FEBRUARY ## 
     906bbtranche17_FEB = nonzero((latch17_FEB >= -85.) & (latch17_FEB <= -75)) 
     907mean_tbch17_anom_FEB = np.zeros([len(lonch17_FEB), 28], float) 
     908for 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 
     912y_time, x_space = np.meshgrid(arange(0,28,1), lonch17_FEB) 
     913fig = plt.figure() 
     914plt.pcolor(x_space, y_time, mean_tbch17_anom_FEB, cmap=cm.s3pcpn_l_r, vmin = -10., vmax = 15.) 
     915plt.axis([-180., 180., 0, 28]) 
     916cb = plt.colorbar() 
     917cb.set_label('Tb anomaly - SSMIS CH17') 
     918plt.xticks(arange(-180.,200.,40)) 
     919plt.yticks(arange(0, 28, 1), arange (1, 29, 1)) 
     920plt.xlabel('longitude') 
     921plt.ylabel('FEBRUARY 2010') 
     922 
     923## MAY ## 
     924bbtranche17_MAY = nonzero((latch17_MAY >= -85.) & (latch17_MAY <= -75)) 
     925mean_tbch17_anom_MAY = np.zeros([len(lonch17_MAY), 31], float) 
     926for 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 
     930y_time, x_space = np.meshgrid(arange(0,31,1), lonch17_MAY) 
     931fig = plt.figure() 
     932plt.pcolor(x_space, y_time, mean_tbch17_anom_MAY, cmap=cm.s3pcpn_l_r, vmin = -12., vmax = 25.) 
     933plt.axis([-180., 180., 0, 30]) 
     934cb = plt.colorbar() 
     935cb.set_label('Tb anomaly - SSMIS CH17') 
     936plt.xticks(arange(-180.,200.,40)) 
     937plt.yticks(arange(0, 30, 1), arange(1,31,1)) 
     938plt.xlabel('longitude') 
     939plt.ylabel('MAY 2010') 
     940 
     941## JUNE ## 
    454942bbtranche17_JUN = nonzero((latch17_JUN >= -85.) & (latch17_JUN <= -75)) 
    455 #bbtranche17_JUN = nonzero((latch17_JUN >= -90.) & (latch17_JUN <= -85)) 
    456943mean_tbch17_anom_JUN = np.zeros([len(lonch17_JUN), 30], float) 
    457944for ilon in range (0, len(lonch17_JUN)): 
     
    460947 
    461948 
    462 y_time, x_space = m(*np.meshgrid(arange(0,30,1), lonch17_JUN)) 
     949y_time, x_space = np.meshgrid(arange(0,30,1), lonch17_APR) 
    463950fig = plt.figure() 
    464 plt.pcolor(x_space, y_time, mean_tbch17_anom_JUN, cmap=cm.s3pcpn_l_r, vmin = -30., vmax = 25.) 
     951plt.pcolor(x_space, y_time, mean_tbch17_anom_APR, cmap=cm.s3pcpn_l_r, vmin = -30., vmax = 25.) 
    465952plt.axis([-180., 180., 0, 29]) 
    466953cb = plt.colorbar() 
Note: See TracChangeset for help on using the changeset viewer.