#!/usr/bin/env python # Wenchang Yang (wenchang@princeton.edu) # Tue Dec 2 03:21:47 PM EST 2025 if __name__ == '__main__': import sys,os try: from misc.timer import Timer tt = Timer(f'[{os.getcwd()}] start ' + ' '.join(sys.argv)) except: pass 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 # if __name__ == '__main__': try: tt.check('end import') except: pass # #start from here ifile = '/projects/GEOCLIM/wenchang/MODEL_OUT/AM2.5C360/amipHadISST_chancorr_tigercpu_intelmpi_18_1080PE/en01/POSTP/19820101.atmos_daily.nc' ds = xr.open_dataset(ifile) u850_yr = ds['u850'].load() u250_yr = ds['u250'].load() v850_yr = ds['v850'].load() v250_yr = ds['v250'].load() vws = np.sqrt((u850_yr - u250_yr)**2 + (v850_yr - v250_yr)**2) #T11 ifile = 'amipHadISSTlong_chancorr_tigercpu_intelmpi_18_1080PE/vertical_wind_shear_T11_amipHadISSTlong_chancorr_tigercpu_intelmpi_18_1080PE_ens01_1982.nc' ds = xr.open_dataset(ifile) vws_T11 = ds['vws_T11'].load() if __name__ == '__main__': from wyconfig import * #my plot settings from geoplots import mapplot fig,axes = plt.subplots(2, 1, figsize=(6,6)) da = vws da11 = vws_T11.clip(0) ax = axes[0] long_name = 'vertical wind shear' da.isel(time=-1).assign_attrs(long_name=long_name, units='m/s').plot(ax=ax, vmax=80) ax.set_title('raw '+long_name, loc='right') ax = axes[1] da11.isel(time=-1).assign_attrs(units='m/s').plot(ax=ax, vmax=80) ax.set_title('T11', loc='right') for ax in axes: plt.sca(ax) mapplot() ax.set_xlabel('') ax.set_ylabel('') #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) try: tt.check(f'**Done**') except: pass print() if 'notshowfig' in sys.argv or 'n' in sys.argv: pass else: if 'plt' in globals(): plt.show()