var_list = [] for cvar in ds.data_vars: # 0 to NaN hack #offset = 10 #da_coarse = regridder(ds[cvar]+10) #da_coarse = da_coarse.where(da_coarse>(offset)) - offset #var_list.append(da_coarse) # When doing nearest neighbor da_coarse = regridder(ds[cvar]) var_list.append(da_coarse) ds_out = xr.merge(var_list) # Expand dims ds_out = import_data.expand_to_sipn_dims(ds_out) # # Save regridded to netcdf file ds_out.to_netcdf(f_out) ds_out = None # Memory clean up print('Saved ', f_out) # In[ ]: # Clean up if weights_flag: regridder.clean_weight_file() # clean-up # # Plotting
fore_sic = fore_sic.where(fore_sic <= 1, other=1).where(ocnmask) # Add cords fore_sic.coords['fore_time'] = np.timedelta64(int(fore_days), 'D') da_l.append(fore_sic) # xr.exit() da_sic = xr.concat(da_l, dim='fore_time') da_sic.coords['init_time'] = c_sic.time da_sic = da_sic.drop(['xm', 'ym', 'lag', 'doy', 'hole_mask', 'time']) da_sic.name = 'sic' da_sic = import_data.expand_to_sipn_dims(da_sic) da_sic = da_sic.rename({'x': 'nj', 'y': 'ni'}) da_sic.to_netcdf(file_out) print("Saved file:", file_out) # In[ ]: # Test plots for presentations # In[ ]: if test_plots: fig_dir = '/home/disk/sipn/nicway/Nic/figures/pres/A'
# Loop through each variable (xemsf not dataset enabled yet) da_out_all_list = [] for cvar in native_top.data_vars: da_out_all_list.append( import_data.regrid_gfdl_split_domain(ds_all, native_top[cvar], native_bottom[cvar], regridder_top, regridder_bottom)) ds_out_all = xr.merge(da_out_all_list) # Rename to common sipn variable names ds_out_all = ds_out_all.rename({'CN': 'sic', 'HI': 'hi'}) # Expand dims ds_out_all = import_data.expand_to_sipn_dims(ds_out_all) # Save regridded to netcdf file ds_out_all.to_netcdf(f_out) # Save regridded to multiple netcdf files by month # months, datasets = zip(*ds_out_all.groupby('init_time.month')) # paths = [os.path.join(data_out, 'GFDL_FLOR_'+str(year)+'_'+str(m)+'_Stereo.nc') for m in months] # xr.save_mfdataset(datasets, paths) ds_out_all = None # Memory clean up print('Saved file', f_out) # In[ ]:
# now add the damped anomly to the climo predict.load() fore_climo.load() predict = predict + fore_climo predict.coords['init_time'] = time_hold.drop('doy') predict = predict.drop(['xm', 'ym', 'time']) predict = predict.rename({'fore_doy': 'fore_time'}) predict['fore_time'] = pd.to_timedelta(predict.fore_time.values, unit='d') # print('predict ', predict) # must limit to [0,1] predict = predict.where(predict > 0, other=0).where(oceanmask) predict = predict.where(predict < 1, other=1).where(oceanmask) predict = import_data.expand_to_sipn_dims(predict) predict = predict.rename({'x': 'nj', 'y': 'ni'}) # print('predict for saving ',predict) predict.to_netcdf(file_out) print("Saved file:", file_out) # In[13]: # set up colors and print some stuff cmap_diff_2 = matplotlib.colors.LinearSegmentedColormap.from_list( "", ["purple", "white", "green"]) cmap_diff_2.set_bad(color='lightgrey') cmap_sic = matplotlib.colors.ListedColormap(sns.color_palette("Blues_r", 10))