#!/usr/bin/env python # Wenchang Yang (wenchang@princeton.edu) # Thu May 21 11:24:22 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 #from xtc import tc_count #maindir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) maindir = '/tigress/wenchang/analysis/seedTC' if maindir not in sys.path: sys.path.append(maindir) from IBTrACS.data_ntc_cycle import get_cycle from misc.cim import cim, sem #confidence interval of the mean # if __name__ == '__main__': tt.check('end import') #start from here """ ifile = '/tigress/wenchang/data/ibtracs/v04r00/analysis/v2/IBTrACS.ALL.v04r00.tracksByYear.1980-2019.nc' basin = 'NA' def get_ntc(basin='NA'): ds = xr.open_dataset(ifile) da = ds.pipe(tc_count, basin=basin, ws=17) return da #annual cycle def get_cycle(basin='NA', years=None): if years is None: years = slice('1980', '2018') da = get_ntc(basin=basin) da_mclim = da.sel(time=years).groupby('time.month').mean('time') da_cim = da.sel(time=years).groupby('time.month').map(cim, dim='time') da_sem = da.sel(time=years).groupby('time.month').map(sem, dim='time') ds_mclim = xr.Dataset(dict( mclim=da_mclim, cim=da_cim, sem=da_sem )) return ds_mclim """ if __name__ == '__main__': from wyconfig import * #my plot settings basin = 'SP' years = slice('1980', '2018') #figname = f'data_ntc_cycle_{basin}_IBTrACS_{tt.today()}.png' figname = __file__.replace('.py', f'_{basin}_IBTrACS_{tt.today()}.png') ds_ = get_cycle(basin=basin, years=years) long_name = f'N_TC({basin}, IBTrACS)' #ax = ds_.rename(mclim=long_name).to_dataframe().plot.bar(y=long_name, yerr='cim', rot=0) # cim used in 2020-05-21 ax = ds_.rename(mclim=long_name).to_dataframe().plot.bar(y=long_name, yerr='sem', rot=0) ax.legend(loc='upper left') plt.savefig(figname) print('[saved]:', figname) plt.show() tt.check(f'**Done**')