#!/usr/bin/env python # Wenchang Yang (wenchang@princeton.edu) # Mon Feb 19 12:04:12 EST 2024 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 # if __name__ == '__main__': tt.check('end import') # #start from here ifile = '/tigress/gvecchi/HIRAM/exp/input_gav/ideal_pert/hadisst_sst.clim.1986-2005.repeat.nc' ds0 = xr.open_dataset(ifile) da0 = ds0.sst.mean('time') #default is 28 logistic label = '28' ifile = '/tigress/gvecchi/HIRAM/exp/input_gav/ideal_pert/hadisst_sst_pluslogistic1kat28C.clim.1986-2005.repeat.nc' if '28i' in sys.argv: label = '28i' ifile = '/tigress/gvecchi/HIRAM/exp/input_gav/ideal_pert/hadisst_sst_plusinvlogistic1kat28C.clim.1986-2005.repeat.nc' ds = xr.open_dataset(ifile) da = ds.SST.mean('TIME').rename(LAT='lat', LON='lon') if __name__ == '__main__': from wyconfig import * #my plot settings from geoplots import mapplot from misc.landmask import whereocean daa = da - da0 if daa.min()>-0.01: daa = daa.clip(0) if daa.max()<1.01: daa = daa.clip(0,1) daa.pipe(whereocean).plot.contourf(levels=11) mapplot(fill_continents=True) ax = plt.gca() ax.set_xlabel('') ax.set_ylabel('') if label.endswith('i'): title = f'inverse logistic warming pattern: {label}' else: title = f'logistic warming pattern: {label}' ax.set_title(title) #savefig if 'savefig' in sys.argv or 's' in sys.argv: figname = __file__.replace('.py', f'__{label}.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()