#!/usr/bin/env python # Wenchang Yang (wenchang@princeton.edu) # Thu Jul 13 10:53:54 EDT 2023 if __name__ == '__main__': import sys,os from misc.timer import Timer tt = Timer(f'[{os.getcwd()}] 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 wython = '/tigress/wenchang/wython' if wython not in sys.path: sys.path.append(wython); print('added to python path:', wython) #from misc import get_kws_from_argv from misc.landmask import whereland from wyplot_maps import plot_lonlatbox # if __name__ == '__main__': tt.check('end import') # #start from here #ifile = '/tigress/wenchang/data/LMR/v2.1/prate_MCruns_ensemble_mean_LMRv2.1.nc' ifile = '/tigress/wenchang/data/LMR/v2.1/pdsi_MCruns_ensemble_mean_LMRv2.1.nc' ds = xr.open_dataset(ifile) da = ds.pdsi.sel(time=slice('1551', '1650')).mean('MCrun') da = da.groupby('time.year').mean('time') #daa = da - da.mean('year') #daa = (daa*24*3600).assign_attrs(units='mm/day') daa = da if __name__ == '__main__': from wyconfig import * #my plot settings from geoplots import mapplot fig,ax = plt.subplots() lonspan = slice(95, 140) latspan = slice(25, 50) yearspan = slice(1625, 1644) levels = 25 cmap = 'BrBG' daa.sel(year=yearspan).mean('year').sel(lon=lonspan, lat=latspan).pipe(whereland).plot(levels=levels, cmap=cmap, vmax=2.4, vmin=-2.4) mapplot() ax.set_prop_cycle(None) plot_lonlatbox('North China', ax=ax) plot_lonlatbox('Northeast China', ax=ax) plot_lonlatbox('Mongolia', ax=ax) ax.set_title(f'LMR2.1 pdsi over {yearspan.start}-{yearspan.stop}') ax.set_xlabel('') ax.set_ylabel('') #savefig if 'savefig' in sys.argv or 's' in sys.argv: figname = __file__.replace('.py', f'__{yearspan.start}-{yearspan.stop}.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 or 'n' in sys.argv: pass else: if 'plt' in globals(): plt.show()