#!/usr/bin/env python
# Wenchang Yang (wenchang@princeton.edu)
# Wed Mar 11 16:43:12 EDT 2020
import sys, os.path, os, datetime
import xarray as xr, numpy as np, pandas as pd
#import matplotlib.pyplot as plt
#more imports
from xtc.basins import tc_basins
from geoplots import mapplot
#
if __name__ == '__main__':
    print()
    today = datetime.date.today()
    today_s = today.strftime('%Y-%m-%d')
    tformat = '%Y-%m-%dT%H:%M:%S'
    t_start = datetime.datetime.now()
    print('[start]:', t_start.strftime(tformat))
    
#start from here
basin = 'NA'
data_name = 'VI'
long_name  = 'HiRAM p(VI): 1/(1+VI/0.02)'
years = slice('1981', '2018')
bs = tc_basins()
ifile = 'data.VI.nc'
if 'da' not in locals():
    ds = xr.open_dataset(ifile)
    da = ds[data_name].sel(time=years).pipe(lambda x: 1./(1.+x/0.02)).groupby('time.month').mean('time').mean('en')

plt.close('all')
g = da.where(bs.mask(da)==bs.map_keys(basin)) \
    .sel(lat=slice(0, 40), lon=slice(260, 360)) \
    .assign_attrs(long_name=long_name) \
    .plot(col='month', col_wrap=3, cmap='Spectral_r', levels=21, vmin=0, vmax=1, figsize=(8,6))
for ax in g.axes.flatten():
    plt.sca(ax)
    mapplot(coastlines_color='gray')
    ax.set_xlabel('')
    ax.set_ylabel('')
plt.tight_layout(rect=(0,0,0.84,1))

figname = 'fig.map.p.clim.NA.png'
plt.savefig(figname)
 
if __name__ == '__main__':
    t_end = datetime.datetime.now()
    print('[end]:', t_end.strftime(tformat))
    print('[total time used]:', f'{(t_end - t_start).seconds:,} seconds')
    print()
