#!/usr/bin/env python # Wenchang Yang (wenchang@princeton.edu) # Mon Oct 31 13:56:02 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.modelout import update_modelout_data from misc.landmask import whereocean import xfilter nwindow, dimlp = 9, 'year' lowpass = lambda x: x.filter.lowpass(1/nwindow, dim=dimlp, padtype='old') # if __name__ == '__main__': tt.check('end import') # #start from here daname = 'ice_mask' model = 'CM2.1p1' #expname = 'CTL1860_m6pctSolar_tigercpu_intelmpi_18_80PE' #model = 'FLOR' #expname = 'm6p0sol_CTL1860_tigercpu_intelmpi_18_576PE' #label = '$-$6% solar' expname = 'CTL1860_m4pctSolar_tigercpu_intelmpi_18_80PE' label = '$-$4% solar' func = lambda x: x.load().pipe(whereocean).mean('lon') if model == 'FLOR': func = lambda x: x.load().rename(grid_xt='lon', grid_yt='lat').pipe(whereocean).mean('lon') funcname = 'olonmean' da = update_modelout_data(daname=daname, model=model, expname=expname, func=func, funcname=funcname) if __name__ == '__main__': from wyconfig import * #my plot settings fig,ax = plt.subplots() da_ = da.groupby('time.year').mean('time') da_.plot.contourf(x='year', cmap='Blues_r', levels=11) title = f'{daname} {label} {model} {funcname}' ax.set_title(title) tag = title.replace('$-$', 'm').replace('%', '').replace(' ', '_') #savefig if 'savefig' in sys.argv or 's' in sys.argv: figname = __file__.replace('.py', f'__{tag}.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()