#!/usr/bin/env python # Wenchang Yang (wenchang@princeton.edu) # Wed Jul 1 21:41:03 EDT 2020 if __name__ == '__main__': from misc.timer import Timer tt = Timer(f'start {__file__}') import sys, os.path, os, glob import xarray as xr, numpy as np, pandas as pd #import matplotlib.pyplot as plt #more imports # if __name__ == '__main__': tt.check('end import') # #start from here thisdir = os.path.dirname(__file__) #ifile = os.path.join(thisdir, 'ts.historical_ssp585.1850-2100.ens26.ocean.tc.nc') ifile = os.path.join(thisdir, 'ts.past1000.0850-1849.ens02.ocean.tc.nc') if __name__ == '__main__': from wyconfig import * #my plot settings with xr.open_dataset(ifile) as ds: HU = ds.HU PDI = ds.PDI years_base = slice(1800,1849) # slice(1981, 2000) years_warm = slice(850, 1849) # slice(2081, 2100) #HU fig, ax = plt.subplots() da = HU data_name = 'HU' da_mean = da.sel(year=years_base).mean('year') da_pct = (da/da_mean - 1)*100 for model in HU.model: da.sel(model=model).plot(color='C0', alpha=0.1, lw=1) da.mean('model').plot(color='C0', lw=2) figname = __file__.replace('.py', f'.line.{data_name}.{tt.today()}.png') plt.savefig(figname) print('**saved**:', figname) """ fig, ax = plt.subplots(figsize=(6, 5)) da_base = da.sel(year=years_base).mean('year') da_warm = da.sel(year=years_warm).mean('year') da_diff = (da_warm - da_base)/da_base*100 #pct da_diff.sortby(da_diff).to_pandas().plot.barh(ax=ax) ax.invert_yaxis() ax.axvline(0, color='gray') ax.set_ylabel('') ax.set_xlabel(f'{data_name} change from {years_base.start}-{years_base.stop} to {years_warm.start}-{years_warm.stop} [%]') figname = __file__.replace('.py', f'.bar.{data_name}.{tt.today()}.png') plt.savefig(figname) print('**saved**:', figname) """ #PDI fig, ax = plt.subplots() da = PDI data_name = 'PDI' da_mean = da.sel(year=years_base).mean('year') da_pct = (da/da_mean - 1)*100 for model in HU.model: da.sel(model=model).plot(color='C0', alpha=0.1, lw=1) da.mean('model').plot(color='C0', lw=2) figname = __file__.replace('.py', f'.line.{data_name}.{tt.today()}.png') plt.savefig(figname) print('**saved**:', figname) """ fig, ax = plt.subplots(figsize=(6, 5)) da_base = da.sel(year=years_base).mean('year') da_warm = da.sel(year=years_warm).mean('year') da_diff = (da_warm - da_base)/da_base*100 #pct da_diff.sortby(da_diff).to_pandas().plot.barh(ax=ax) ax.invert_yaxis() ax.axvline(0, color='gray') ax.set_ylabel('') ax.set_xlabel(f'{data_name} change from {years_base.start}-{years_base.stop} to {years_warm.start}-{years_warm.stop} [%]') figname = __file__.replace('.py', f'.bar.{data_name}.{tt.today()}.png') plt.savefig(figname) print('**saved**:', figname) """ tt.check(f'**Done**') plt.show()