Changeset 49


Ignore:
Timestamp:
08/04/14 18:12:02 (10 years ago)
Author:
lahlod
Message:

new scripts

Location:
trunk/src/scripts_Laura/ARCTIC/Travail_CEN
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/scripts_Laura/ARCTIC/Travail_CEN/choose_new_classified_points.py

    r48 r49  
    4747# - second loop concerns AUGUST and SEPTEMBER - use of AMSUA30GHz SPEC emissivity to seperate ice from no_ice zones 
    4848################################################################################################################## 
    49 frequ = 89 # apply threshold on this frequency 
     49frequ = 23 # apply threshold on this frequency 
    5050# open .dat file to stack data (see end of loop) 
    5151#data_classif = open ('/net/argos/data/parvati/lahlod/ARCTIC/AMSUA_ice_class/sub_classification/AMSUA'+str(frequ)+'_data_classification_parameters_ice_no-ice_with_AMSUA23-and-30-spec_2009.dat', 'a') 
  • trunk/src/scripts_Laura/ARCTIC/Travail_CEN/read_sub_classification_cross_correlation.py

    r48 r49  
    106106 
    107107 
    108 frequ = 89 
    109 spec_ice_seas = np.zeros([M, ny, nx], float) 
    110 lamb_ice_seas = np.zeros([M, ny, nx], float) 
    111 diff_ice_seas = np.zeros([M, ny, nx], float) 
    112 ratio_ice_seas = np.zeros([M, ny, nx], float) 
    113 for imo in range (0, 1): 
    114     print 'month ' + month[imo] 
    115     ######################## 
    116     # read ice extent data # 
    117     ######################## 
    118     print 'open emissivity to sub_classify file' 
    119     ## data of emis SPEC, LAMB, DIFF(SPEC-LAMB) 
    120     fichier_e = Dataset('/net/argos/data/parvati/lahlod/ARCTIC/AMSUA_ice_class/sub_classification/cartesian_grid_map_sea_ice_extent_with-AMSUA23-and-30_'+month[imo]+'2009_AMSUA'+str(frequ)+'_spec_lamb_thresholds.nc', 'r', format='NETCDF3_CLASSIC') 
    121     emis_spec = fichier_e.variables['spec_ice_area'][:] 
    122     emis_lamb = fichier_e.variables['lamb_ice_area'][:] 
    123     emis_diff = fichier_e.variables['diff_ice_area'][:] 
    124     emis_ratio = fichier_e.variables['ratio_ice_area'][:] 
    125     fichier_e.close() 
    126     for ilon in range (0, nx): 
    127         for ilat in range (0, ny): 
    128             if (isnan(emis_spec[ilat, ilon]) == True): 
    129                spec_ice_seas[imo, ilat, ilon] = NaN 
    130                lamb_ice_seas[imo, ilat, ilon] = NaN 
    131                diff_ice_seas[imo, ilat, ilon] = NaN 
    132                ratio_ice_seas[imo, ilat, ilon] = NaN 
    133             if (emis_spec[ilat, ilon] >= 0.87): 
    134                 spec_ice_seas[imo, ilat, ilon] = emis_spec[ilat, ilon] 
    135                 lamb_ice_seas[imo, ilat, ilon] = emis_lamb[ilat, ilon] 
    136                 diff_ice_seas[imo, ilat, ilon] = emis_diff[ilat, ilon] 
    137                 ratio_ice_seas[imo, ilat, ilon] = emis_ratio[ilat, ilon] 
    138             else: 
    139                 spec_ice_seas[imo, ilat, ilon] = NaN 
    140                 lamb_ice_seas[imo, ilat, ilon] = NaN 
    141                 diff_ice_seas[imo, ilat, ilon] = NaN 
    142                 ratio_ice_seas[imo, ilat, ilon] = NaN 
    143  
    144  
    145  
    146  
     108frequ = np.array(['23', '30', '50', '89'], int) 
     109emis_spec = np.zeros([4, M, ny, nx], float) 
     110emis_lamb = np.zeros([4, M, ny, nx], float) 
     111emis_diff = np.zeros([4, M, ny, nx], float) 
     112emis_ratio = np.zeros([4, M, ny, nx], float) 
     113spec_ice = np.zeros([4, M, ny * nx], float) 
     114lamb_ice = np.zeros([4, M, ny * nx], float) 
     115diff_ice = np.zeros([4, M, ny * nx], float) 
     116ratio_ice = np.zeros([4, M, ny * nx], float) 
     117for ifr in range (0, 4): 
     118    for imo in range (0, M): 
     119        print 'month ' + month[imo] 
     120        ######################## 
     121        # read ice extent data # 
     122        ######################## 
     123        print 'open emissivity to sub_classify file' 
     124        ## data of emis SPEC, LAMB, DIFF(SPEC-LAMB) 
     125        fichier_e = Dataset('/net/argos/data/parvati/lahlod/ARCTIC/AMSUA_ice_class/sub_classification/cartesian_grid_map_sea_ice_extent_with-AMSUA23-and-30_'+month[imo]+'2009_AMSUA'+str(frequ[ifr])+'_spec_lamb_thresholds.nc', 'r', format='NETCDF3_CLASSIC') 
     126        emis_spec[ifr, imo, :, :] = fichier_e.variables['spec_ice_area'][:] 
     127        emis_lamb[ifr, imo, :, :] = fichier_e.variables['lamb_ice_area'][:] 
     128        emis_diff[ifr, imo, :, :] = fichier_e.variables['diff_ice_area'][:] 
     129        emis_ratio[ifr, imo, :, :] = fichier_e.variables['ratio_ice_area'][:] 
     130        fichier_e.close() 
     131        a = reshape(emis_spec[ifr, imo, :, :], size(emis_spec[ifr, imo, :, :])) 
     132        spec_ice[ifr, imo, 0 : len(a[nonzero(isnan(a) == False)])] = a[nonzero(isnan(a) == False)] 
     133        b = reshape(emis_lamb[ifr, imo, :, :], size(emis_lamb[ifr, imo, :, :])) 
     134        lamb_ice[ifr, imo, 0 : len(a[nonzero(isnan(a) == False)])] = b[nonzero(isnan(b) == False)] 
     135        c = reshape(emis_diff[ifr, imo, :, :], size(emis_diff[ifr, imo, :, :])) 
     136        diff_ice[ifr, imo, 0 : len(a[nonzero(isnan(a) == False)])] = c[nonzero(isnan(c) == False)] 
     137        d = reshape(emis_ratio[ifr, imo, :, :], size(emis_ratio[ifr, imo, :, :])) 
     138        ratio_ice[ifr, imo, 0 : len(a[nonzero(isnan(a) == False)])] = d[nonzero(isnan(d) == False)] 
     139 
     140 
     141 
     142 
     143 
     144###################### 
     145# correlation matrix # 
     146###################### 
     147params = np.zeros([M, 16, 5673], float) 
     148for imo in range (0, M): 
     149    params[imo, :, :] = np.array([spec_ice[0, imo, :][nonzero(spec_ice[0, imo, :] != 0.)], spec_ice[1, imo, :][nonzero(spec_ice[1, imo, :] != 0.)], spec_ice[2, imo, :][nonzero(spec_ice[2, imo, :] != 0.)], spec_ice[3, imo, :][nonzero(spec_ice[3, imo, :] != 0.)], lamb_ice[0, imo, :][nonzero(lamb_ice[0, imo, :] != 0.)], lamb_ice[1, imo, :][nonzero(lamb_ice[1, imo, :] != 0.)], lamb_ice[2, imo, :][nonzero(lamb_ice[2, imo, :] != 0.)], lamb_ice[3, imo, :][nonzero(lamb_ice[3, imo, :] != 0.)], diff_ice[0, imo, :][nonzero(diff_ice[0, imo, :] != 0.)], diff_ice[1, imo, :][nonzero(diff_ice[1, imo, :] != 0.)], diff_ice[2, imo, :][nonzero(diff_ice[2, imo, :] != 0.)], diff_ice[3, imo, :][nonzero(diff_ice[3, imo, :] != 0.)], ratio_ice[0, imo, :][nonzero(ratio_ice[0, imo, :] != 0.)], ratio_ice[1, imo, :][nonzero(ratio_ice[1, imo, :] != 0.)], ratio_ice[2, imo, :][nonzero(ratio_ice[2, imo, :] != 0.)], ratio_ice[3, imo, :][nonzero(ratio_ice[3, imo, :] != 0.)], ]) 
     150 
     151 
     152corr_mat = np.zeros([M, 16, 16], float) 
     153for imo in range (0, M):  
     154    for i in range (0, 16): 
     155        for j in range (0, 16): 
     156            corr_mat[imo, i, j] = np.corrcoef(params[imo, i, :], params_c[imo, j, :])[0][1] 
     157 
     158 
     159 
     160name_params = np.array(['spec89', 'lamb89', 'diff89', 'ratio89', 'spec50', 'lamb50', 'diff50', 'ratio50', 'spec30', 'lamb30', 'diff30', 'ratio30', 'spec23', 'lamb23', 'diff23', 'ratio23']) 
     161figure() 
     162cs = pcolor(corr_mat[imo, :, :], cmap = cm.s3pcpn_l_r) 
     163xticks(np.arange(0, 16, 1), name_params, rotation = 45) 
     164yticks(np.arange(0, 16, 1), name_params, rotation = 45) 
     165colorbar(cs) 
     166#ticks = np.arange(corr_mat[imo, :, :].min(), 1., 0.1) 
     167grid() 
    147168 
    148169 
     
    154175z_coast = z_ind 
    155176for imo in range (0, M): 
    156     map_cartesian_grid.draw_map_cartes_l(x_coast, y_coast, z_coast, volume, xvec, yvec, spec_ice_seas[0, :, :], 0.7, 1.02, 0.01, cm.s3pcpn_l_r, 'Sea ice extent - emissivity spec') 
     177    map_cartesian_grid.draw_map_cartes_l(x_coast, y_coast, z_coast, volume, xvec, yvec, emis_ratio[0, :, :], 0.07, 3.40, 0.01, cm.s3pcpn_l_r, 'Sea ice extent - emissivity spec') 
    157178    title('AMSUA ' + str(frequ) + ' - ' + str(month[imo]) + ' 2009') 
    158179    #plt.savefig('/usr/home/lahlod/twice_d/fig_output_ARCTIC/fig_output_sea_ice_study/ice_class_AMSUA/sub_classification/maps_sea_ice_extent/emiss_ratio_map_AMSUA'+str(frequ)+'_with_AMSUA23-and-30-spec_'+str(month[imo])+'_2009.png') 
     
    268289 
    269290 
    270 ''' 
    271 ###################### 
    272 # correlation matrix # 
    273 ###################### 
    274 params_c = np.zeros([M, 16, 200], float) 
    275 params_h = np.zeros([M, 16, 200], float) 
    276 for imo in range (0, M): 
    277     params_c[imo, :, :] = np.array([c_s[imo, 0, :], c_l[imo, 0, :], c_d[imo, 0, :], c_r[imo, 0, :], c_s[imo, 1, :], c_l[imo, 1, :], c_d[imo, 1, :], c_r[imo, 1, :], c_s[imo, 2, :], c_l[imo, 2, :], c_d[imo, 2, :], c_r[imo, 2, :], c_s[imo, 3, :], c_l[imo, 3, :], c_d[imo, 3, :], c_r[imo, 3, :]]) 
    278     params_h[imo, :, :] = np.array([h_s[imo, 0, :], h_l[imo, 0, :], h_d[imo, 0, :], h_r[imo, 0, :], h_s[imo, 1, :], h_l[imo, 1, :], h_d[imo, 1, :], h_r[imo, 1, :], h_s[imo, 2, :], h_l[imo, 2, :], h_d[imo, 2, :], h_r[imo, 2, :], h_s[imo, 3, :], h_l[imo, 3, :], h_d[imo, 3, :], h_r[imo, 3, :]]) 
    279  
    280  
    281 corr_mat = np.zeros([M, 16, 16], float) 
    282 for imo in range (0, M):  
    283     for i in range (0, 16): 
    284         for j in range (0, 16): 
    285             corr_mat[imo, i, j] = np.corrcoef(params_c[imo, i, :], params_c[imo, j, :])[0][1] 
    286  
    287 ''' 
    288  
    289 name_params = np.array(['spec89', 'lamb89', 'diff89', 'ratio89', 'spec50', 'lamb50', 'diff50', 'ratio50', 'spec30', 'lamb30', 'diff30', 'ratio30', 'spec23', 'lamb23', 'diff23', 'ratio23']) 
    290 figure() 
    291 cs = pcolor(corr_mat[imo, :, :], cmap = cm.s3pcpn_l_r) 
    292 xticks(np.arange(0, 16, 1), name_params, rotation = 45) 
    293 yticks(np.arange(0, 16, 1), name_params, rotation = 45) 
    294 colorbar(cs) 
    295 #ticks = np.arange(corr_mat[imo, :, :].min(), 1., 0.1) 
    296 grid() 
     291 
    297292 
    298293ticks=np.arange(corr_mat.min(), corr_mat.max(), 0.01) 
Note: See TracChangeset for help on using the changeset viewer.