month = ['Aug', 'Sep', 'Oct', 'Nov', 'Dec', 'Jan', 'Feb'] if ~os.path.isfile('pf_oct_50_2.npz'): hgt50 = xr.open_dataset(PATH_DATA + FILE_HGT50_S4, chunks={'latitude':10}) hgt50 = hgt50 - hgt50.mean(dim='longitude') hgt50 = hgt50.sel(latitude=slice(10, -90)).compute() winds = xr.open_dataset(PATH_DATA + FILE_WINDS50, chunks={'latitude':10}) winds = winds.transpose('month', 'realiz', 'latitude', 'longitude') winds = winds.sel(latitude=slice(10, -90)).compute() winds_clm = winds.mean(dim='realiz') i = 2 var50_normal = np.mean(hgt50.z.values[i, :, :, :], axis=0) var50_ninio_WPV = hgt50.z.values[i, index_ninio_WPV, :, :] pf50_ninio_WPV = plumb_flux.ComputePlumbFluxesDecomp(winds_clm.u.values[i, :, :], winds_clm.v.values[i, :, :], var50_ninio_WPV, var50_normal, hgt50.latitude.values, hgt50.longitude.values, 5000) var50_ninia_WPV = hgt50.z.values[i, index_ninia_WPV, :, :] pf50_ninia_WPV = plumb_flux.ComputePlumbFluxesDecomp(winds_clm.u.values[i, :, :], winds_clm.v.values[i, :, :], var50_ninia_WPV, var50_normal, hgt50.latitude.values, hgt50.longitude.values, 5000) var50_ninio_SPV = hgt50.z.values[i, index_ninio_SPV, :, :] pf50_ninio_SPV = plumb_flux.ComputePlumbFluxesDecomp(winds_clm.u.values[i, :, :], winds_clm.v.values[i, :, :], var50_ninio_SPV, var50_normal, hgt50.latitude.values, hgt50.longitude.values, 5000) var50_ninia_SPV = hgt50.z.values[i, index_ninia_SPV, :, :] pf50_ninia_SPV = plumb_flux.ComputePlumbFluxesDecomp(winds_clm.u.values[i, :, :], winds_clm.v.values[i, :, :], var50_ninia_SPV, var50_normal, hgt50.latitude.values, hgt50.longitude.values, 5000) var50_WPV_neutral = hgt50.z.values[i, index_WPV_neutral, :, :] pf50_WPV_neutral = plumb_flux.ComputePlumbFluxesDecomp(winds_clm.u.values[i, :, :], winds_clm.v.values[i, :, :], var50_WPV_neutral, var50_normal, hgt50.latitude.values, hgt50.longitude.values, 5000) var50_SPV_neutral = hgt50.z.values[i, index_SPV_neutral, :, :] pf50_SPV_neutral = plumb_flux.ComputePlumbFluxesDecomp(winds_clm.u.values[i, :, :], winds_clm.v.values[i, :, :], var50_SPV_neutral, var50_normal, hgt50.latitude.values, hgt50.longitude.values, 5000)
month = ['Aug', 'Sep', 'Oct', 'Nov', 'Dec', 'Jan', 'Feb'] seas = ['ASO', 'SON', 'OND', 'NDJ', 'DJF'] hgt = xr.open_dataset(PATH_DATA + FILE_HGT_S4, chunks={'latitude':10}) hgt = hgt - hgt.mean(dim='longitude') hgt = hgt.sel(latitude=slice(10, -90)).compute() winds = xr.open_dataset(PATH_DATA + FILE_WINDS, chunks={'latitude':10}) winds = winds.transpose('month', 'realiz', 'latitude', 'longitude') winds = winds.sel(latitude=slice(10, -90)).compute() winds_clm = winds.mean(dim='realiz') for i in np.arange(0, 7): var_normal = np.mean(hgt.z.values[i, :, :, :], axis=0) var_ninio_WPV = hgt.z.values[i, index_ninio_WPV, :, :] pf_ninio_WPV = plumb_flux.ComputePlumbFluxesDecomp(winds_clm.u.values[i, :, :], winds_clm.v.values[i, :, :], var_ninio_WPV, var_normal, hgt.latitude.values, hgt.longitude.values, 5000) var_ninia_WPV = hgt.z.values[i, index_ninia_WPV, :, :] pf_ninia_WPV = plumb_flux.ComputePlumbFluxesDecomp(winds_clm.u.values[i, :, :], winds_clm.v.values[i, :, :], var_ninia_WPV, var_normal, hgt.latitude.values, hgt.longitude.values, 5000) var_ninio_SPV = hgt.z.values[i, index_ninio_SPV, :, :] pf_ninio_SPV = plumb_flux.ComputePlumbFluxesDecomp(winds_clm.u.values[i, :, :], winds_clm.v.values[i, :, :], var_ninio_SPV, var_normal, hgt.latitude.values, hgt.longitude.values, 5000) var_ninia_SPV = hgt.z.values[i, index_ninia_SPV, :, :] pf_ninia_SPV = plumb_flux.ComputePlumbFluxesDecomp(winds_clm.u.values[i, :, :], winds_clm.v.values[i, :, :], var_ninia_SPV, var_normal, hgt.latitude.values, hgt.longitude.values, 5000) var_ninio_all = hgt.z.values[i, index_ninio_all, :, :] pf_ninio_all = plumb_flux.ComputePlumbFluxesDecomp(winds_clm.u.values[i, :, :], winds_clm.v.values[i, :, :], var_ninio_all, var_normal, hgt.latitude.values, hgt.longitude.values, 5000) var_ninia_all = hgt.z.values[i, index_ninia_all, :, :] pf_ninia_all = plumb_flux.ComputePlumbFluxesDecomp(winds_clm.u.values[i, :, :], winds_clm.v.values[i, :, :], var_ninia_all, var_normal, hgt.latitude.values, hgt.longitude.values, 5000) var_SPV_all = hgt.z.values[i, index_SPV_lower, :, :] pf_SPV_all = plumb_flux.ComputePlumbFluxesDecomp(winds_clm.u.values[i, :, :], winds_clm.v.values[i, :, :], var_SPV_all, var_normal, hgt.latitude.values, hgt.longitude.values, 5000) var_WPV_all = hgt.z.values[i, index_SPV_upper, :, :] pf_WPV_all = plumb_flux.ComputePlumbFluxesDecomp(winds_clm.u.values[i, :, :], winds_clm.v.values[i, :, :], var_WPV_all, var_normal, hgt.latitude.values, hgt.longitude.values, 5000) var ={'z1': pf_WPV_all['divl'],