def time_serie_sea_ice_ext(path, var, lat_min, basin, path_salinity, deg): yr, xr, time = loading.extracting_coord_2D(path) if deg == 'grid': ice = loading.extracting_var(path, 'ileadfra') else: ice = loading.extracting_var(path, var) #S = loading.extracting_var(path_salinity,'sal') if basin == 'undefined': mask = loading.latitudinal_band_mask(yr, lat_min, 90) else: mask = loading.Ocean_mask(xr, yr, basin) if deg == 'grid': path_grid = '/media/fig010/LACIE SHARE/EC_data/CERFACS_cell_area.nc' area = loading.reading_grid(path_grid) * 1E-6 else: area = size_each_bins(xr, yr, deg) print(np.shape(area), np.shape(ice)) ice[np.where(ice < 0.15)] = 0. ice[np.where(ice > 0.15)] = 1. print(np.nanmean(area)) '''nt = np.size(ice[0,0,:]) ice_extent=np.zeros_like((ice[mask])) for i in range(0,nt): ice_extent[:,i] = ice[mask,i]*area[mask] '''# same as # ice_extent = area[mask] * ice[mask].transpose(1, 0) mean_ice_ext = np.nansum(ice_extent, axis=1) return time, mean_ice_ext
def time_serie(path, var, lat_min, basin): yr, xr, time = loading.extracting_coord_2D(path) melted_ice = loading.extracting_var(path, var) S = loading.extracting_var(path, 'sal') if basin == 'undefined': mask = loading.latitudinal_band_mask(yr, lat_min, 90) else: mask = loading.Ocean_mask(xr, yr, basin) area = size_each_bins(xr, yr) FWF = area[mask] * melted_ice[mask].transpose(1, 0) * 1E6 mean_FWF = np.nansum(FWF, axis=1) return time, mean_FWF
def time_serie_Arctic_2D(path, var, lat_min, basin): yr, xr, time = loading.extracting_coord_2D(path) ice = loading.extracting_var(path, var) S = loading.extracting_var(path, 'sal') ice[np.where(S[:, :, 0, :] == 0.)] = np.nan if basin == 'undefined': mask = loading.latitudinal_band_mask(yr, lat_min, 90) else: mask = loading.Ocean_mask(xr, yr, basin) #make_plot.points_on_map(xr[mask],yr[mask],var,basin) arctic = ice[mask, :] mean_Arctic = np.nanmean(arctic, axis=0) return time, mean_Arctic
def time_serie_sea_ice_ext(path, var, lat_min, basin): yr, xr, time = loading.extracting_coord_2D(path) ice = loading.extracting_var(path, var) S = loading.extracting_var(path, 'sal') if basin == 'undefined': mask = loading.latitudinal_band_mask(yr, lat_min, 90) else: mask = loading.Ocean_mask(xr, yr, basin) area = size_each_bins(xr, yr) ice[np.where(ice < 0.15)] = 0. ice[np.where(ice > 0.15)] = 1. ice_extent = area[mask] * ice[mask].transpose(1, 0) mean_ice_ext = np.nansum(ice_extent, axis=1) return time, mean_ice_ext
def time_serie_Arctic(path, var, lat_min, basin): yr, xr, time, depth = loading.extracting_coord(path) TorS = loading.extracting_var(path, var) print(np.shape(TorS)) S = loading.extracting_var(path, 'sal') TorS[np.where(S == 0.)] = np.nan if basin == 'undefined': mask = loading.latitudinal_band_mask(yr, lat_min, 90) else: mask = loading.Ocean_mask(xr, yr, basin) make_plot.points_on_map(xr[mask], yr[mask], var, basin) arctic = TorS[mask, :, :] print(np.nanmax(arctic)) mean_Arctic = np.nanmean(arctic, axis=0) return time, depth, mean_Arctic
def time_serie_Arctic_2D(path, var_name, lat_min, basin): yr, xr, time = loading.extracting_coord_2D(path) VAR = loading.extracting_var(path, var_name) S = loading.extracting_var(path, 'sal') VAR[np.where(S[:, :, 0, :] == 0.)] = 0 #np.nan print(np.max(VAR), np.min(VAR)) VAR[np.where(VAR > 1E10)] = 0 #np.nan print(np.max(VAR), np.min(VAR)) if basin == 'undefined': mask = loading.latitudinal_band_mask(yr, lat_min, 90) else: mask = loading.Ocean_mask(xr, yr, basin) make_plot.points_on_map(xr[mask], yr[mask], var_name, basin) VAR[np.where(VAR == 0)] = np.nan arctic = VAR[mask, :] mean_Arctic = np.nansum(arctic, axis=0) return time, mean_Arctic
def time_serie_Arctic_2D(path, var_name, lat_min, basin): yr, xr, time = loading.extracting_coord_2D(path) VAR = loading.extracting_var(path, var_name) S = loading.extracting_var(path, 'sal') VAR[np.where(S[:, :, 0, :] == 0.)] = 0 #np.nan VAR[np.where(VAR > 1E10)] = 0 #np.nan if basin == 'undefined': mask = loading.latitudinal_band_mask(yr, lat_min, 90) else: mask = loading.Ocean_mask(xr, yr, basin) VAR[np.where(VAR == 0)] = np.nan area = size_each_bins(xr, yr) FWF = area[mask] * VAR[mask, :].transpose(1, 0) * 1E6 mean_FWF = np.nansum(FWF, axis=1) return time, mean_FWF
simu = yearly_LongPeriod(option, var, y1, y2, basin, lat_min, month) yr, xr, time, depth = loading.extracting_coord(simu.path) VarArray_simuRho = loading.extracting_var(simu.path, 'rho') # Practical Salinity index_y1 = np.min( np.where(simu.first_year + time[:] / (3600 * 24 * 364.5) > simu.y1)) index_y2 = np.min( np.where(simu.first_year + time[:] / (3600 * 24 * 364.5) > y2)) if basin == 'undefined': mask = loading.latitudinal_band_mask(yr, lat_min, 90) else: mask = loading.Ocean_mask(xr, yr, basin) make_plot.points_on_map(xr[mask], yr[mask], var, basin) VarArray_simuRho[np.where(VarArray_simuRho == 0)] = np.nan region = VarArray_simuRho[mask, :, :] mean_region = np.nanmean(region, axis=0) #make_plot.vertical_profile(mean_region[:,index_y1],mean_region[:,index_y2],y1,y2,var,simu.vmin,simu.vmax,depth,simu.max_depth,basin,lat_min,simu.output_file) mean_region_pro = mean_region[:, index_y1:index_y2 + 1] MEAN = np.zeros_like((mean_region_pro[:, 0])) MEAN2 = np.zeros_like((mean_region_pro[:, 0])) sig = np.zeros_like(mean_region_pro[:, 0]) MEAN = np.nanmean(mean_region_pro, axis=1) MEAN2 = np.nanmean(mean_region_pro**2, axis=1)
np.where(simu.first_year + time[:] / (3600 * 24 * 364.5) > simu.y1h)) index_y2 = np.min( np.where(simu.first_year + time[:] / (3600 * 24 * 364.5) > simu.y1f)) b1 = 'arctic_ocean' b2 = 'Siberian_seas' b3 = 'BS_and_KS' ''' if basin =='undefined': mask = loading.latitudinal_band_mask(yr,lat_min,90) else: mask = loading.Ocean_mask(xr,yr,basin) make_plot.points_on_map(xr[mask],yr[mask],var,basin) ''' mask1 = loading.Ocean_mask(xr, yr, b1) mask2 = loading.Ocean_mask(xr, yr, b2) mask3 = loading.Ocean_mask(xr, yr, b3) r1 = VarArray_simuRho[mask1, :, :] r2 = VarArray_simuRho[mask2, :, :] r3 = VarArray_simuRho[mask3, :, :] mean_region1 = np.nanmean(r1, axis=0) mean_region2 = np.nanmean(r2, axis=0) mean_region3 = np.nanmean(r3, axis=0) vertical_profile(np.nanmean(mean_region1[:,index_y1:index_y1+10],axis=1),\ np.nanmean(mean_region2[:,index_y1:index_y1+10],axis=1),\ np.nanmean(mean_region3[:,index_y1:index_y1+10],axis=1),simu.y1h,b1,b2,b3,var,simu.vmin, \ simu.vmax,depth,simu.max_depth,basin,lat_min,simu.output_fileH)
self.vmin = 0 #// self.vmax = 10 #// return #// #////////////////////////////////////////////////////////////////////////////////////////// m1 = 'arctic_mediterranean' m2 = 'greenland_sea' m3 = 'BS_and_KS' m4 = 'around_greenland' m5 = 'arctic_ocean' simu = From1950to2100(option, var, y1, y2, comparison, lat_min, basin) yr, xr, time = loading.extracting_coord_2D(simu.path) mask1 = loading.latitudinal_band_mask(yr, lat_min, 90) mask2 = loading.Ocean_mask(xr, yr, m2) mask3 = loading.Ocean_mask(xr, yr, m3) mask4 = loading.Ocean_mask(xr, yr, m4) mask5 = loading.Ocean_mask(xr, yr, m5) make_plot.masks_on_map(var,xr[mask1],yr[mask1],m1, \ xr[mask2],yr[mask2],m2, \ xr[mask3],yr[mask3],m3, \ xr[mask4],yr[mask4],m4, \ xr[mask5],yr[mask5],m5 ) make_plot.masks2_on_map(var,xr[mask5],yr[mask5],m5, \ xr[mask3],yr[mask3],m3)