#!/usr/bin/env python # Wenchang Yang (wenchang@princeton.edu) # Wed Oct 19 19:06:25 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 get_modelout_data from geoplots import mapplot import geoxarray from misc import get_kws_from_argv from misc.landmask import whereocean # if __name__ == '__main__': tt.check('end import') # #start from here das = dict() daname = 't_surf' #daname = 'ice_mask' transform = get_kws_from_argv('transform', None) years_ctl = range(101,201) model = 'CM2.1p1' expname = 'CTL1860_tigercpu_intelmpi_18_80PE' label = 'cm2p1_ctl' das[label] = get_modelout_data(daname=daname, model=model, expname=expname, years=years_ctl) model = 'FLOR' expname = 'CTL1860_newdiag_tigercpu_intelmpi_18_576PE' label = 'flor_ctl' das[label] = get_modelout_data(daname=daname, model=model, expname=expname, years=years_ctl) def wyplot(**kws): ax = kws.pop('ax', plt.gca()) #common lon/lat to use lon = das['cm2p1_ctl'].lon.values lat = das['cm2p1_ctl'].lat.values daa = das['flor_ctl'].mean('time').interp(lon=lon, lat=lat) - das['cm2p1_ctl'].mean('time') daa.attrs['units'] = das['flor_ctl'].attrs['units'] daa.pipe(whereocean).plot.contourf(levels=21, extend='both', center=0, **kws) mapplot(fill_continents=True) title = f'{daname} years {years_ctl[0]:04d}-{years_ctl[-1]:04d} FLOR$-$CM2.1' ax.set_title(title) return title if __name__ == '__main__': from wyconfig import * #my plot settings fig,ax = plt.subplots() title = wyplot() #savefig tag = title.replace('$-$', '-').replace(' ', '_') 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) """ fig,ax = plt.subplots() title = wyplot('-6% Solar') #savefig tag = '_' + title.replace('+6%', 'p6').replace('-6%', 'm6').replace(' ', '_') 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) fig,ax = plt.subplots() title = wyplot('-6% Solar', transform='flip') #savefig tag = '_' + title.replace('+6%', 'p6').replace('-6%', 'm6').replace(' ', '_') 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) #fig,ax = plt.subplots() #wyplot('+6% Solar', transform='norm') #fig,ax = plt.subplots() #wyplot('-6% Solar', transform='norm') """ tt.check(f'**Done**') print() if 'notshowfig' in sys.argv: pass else: plt.show()