Changeset 49
- Timestamp:
- 08/04/14 18:12:02 (10 years ago)
- 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 47 47 # - second loop concerns AUGUST and SEPTEMBER - use of AMSUA30GHz SPEC emissivity to seperate ice from no_ice zones 48 48 ################################################################################################################## 49 frequ = 89# apply threshold on this frequency49 frequ = 23 # apply threshold on this frequency 50 50 # open .dat file to stack data (see end of loop) 51 51 #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 106 106 107 107 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 108 frequ = np.array(['23', '30', '50', '89'], int) 109 emis_spec = np.zeros([4, M, ny, nx], float) 110 emis_lamb = np.zeros([4, M, ny, nx], float) 111 emis_diff = np.zeros([4, M, ny, nx], float) 112 emis_ratio = np.zeros([4, M, ny, nx], float) 113 spec_ice = np.zeros([4, M, ny * nx], float) 114 lamb_ice = np.zeros([4, M, ny * nx], float) 115 diff_ice = np.zeros([4, M, ny * nx], float) 116 ratio_ice = np.zeros([4, M, ny * nx], float) 117 for 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 ###################### 147 params = np.zeros([M, 16, 5673], float) 148 for 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 152 corr_mat = np.zeros([M, 16, 16], float) 153 for 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 160 name_params = np.array(['spec89', 'lamb89', 'diff89', 'ratio89', 'spec50', 'lamb50', 'diff50', 'ratio50', 'spec30', 'lamb30', 'diff30', 'ratio30', 'spec23', 'lamb23', 'diff23', 'ratio23']) 161 figure() 162 cs = pcolor(corr_mat[imo, :, :], cmap = cm.s3pcpn_l_r) 163 xticks(np.arange(0, 16, 1), name_params, rotation = 45) 164 yticks(np.arange(0, 16, 1), name_params, rotation = 45) 165 colorbar(cs) 166 #ticks = np.arange(corr_mat[imo, :, :].min(), 1., 0.1) 167 grid() 147 168 148 169 … … 154 175 z_coast = z_ind 155 176 for 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') 157 178 title('AMSUA ' + str(frequ) + ' - ' + str(month[imo]) + ' 2009') 158 179 #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') … … 268 289 269 290 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 297 292 298 293 ticks=np.arange(corr_mat.min(), corr_mat.max(), 0.01)
Note: See TracChangeset
for help on using the changeset viewer.