#!/usr/bin/env python # Wenchang Yang (wenchang@princeton.edu) # Mon Sep 19 13:41:47 EDT 2022 if __name__ == '__main__': import sys from misc.timer import Timer tt = Timer('start ' + ' '.join(sys.argv)) import sys, os.path, os, glob, datetime import xarray as xr, numpy as np, pandas as pd, matplotlib.pyplot as plt #more imports from misc.seasons import sel_season from misc.ttest import ttest_ind # if __name__ == '__main__': tt.check('end import') # #start from here season = 'JJA' lmr_version = '2019' years = slice(1620,1640) def do_season_anom(da, season): da = da.pipe(sel_season, season=season).groupby('time.year').mean('time').mean('ens') da0 = da da1 = da.sel(year=years) daa,pvalue = ttest_ind(da1, da0, dim='year') return daa, pvalue ifile = f'precip_AM2.1p1_LMR2019SST1551_ens_tigercpu_intelmpi_18_30PE_5ens_1551-1650_monthly.nc' da = xr.open_dataarray(ifile).load() daa,pvalue = do_season_anom(da, season) print(da) if __name__ == '__main__': from wyconfig import * #my plot settings from geoplots import mapplot cmap = 'BrBG' func = lambda da: da.sel(lon=slice(60, 180), lat=slice(0,60)) daa.pipe(func).plot.contourf(cmap=cmap, levels=21) pvalue.where(pvalue<0.05).pipe(func).plot.contourf(colors='none', hatches=['......'], add_colorbar=False) mapplot() #savefig if 'savefig' in sys.argv or 's' in sys.argv: figname = __file__.replace('.py', f'.png') if 'overwritefig' in sys.argv or 'o' in sys.argv: wysavefig(figname, overwritefig=True) else: wysavefig(figname) tt.check(f'**Done**') print() if 'notshowfig' in sys.argv: pass else: plt.show()