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'],