#!/usr/bin/env python # Wenchang Yang (wenchang@princeton.edu) # Sat May 7 11:36:44 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 misc import roll_lon # if __name__ == '__main__': tt.check('end import') # #start from here #daname = 't_ref_max' daname = 't_ref' #if 't_ref' in sys.argv: # daname = 't_ref' #default is t_ref_max #daname = 'precip' dsname = 'atmos_daily' #specific event definition #funcname = 'Pernambuco' #5S-10S, 34.5-36W #func = lambda x: x.sel(grid_xt=slice(360-36, 360-34.5), grid_yt=slice(-10, -5)).load() #funcname = 'UK' #51.25-54N, 3.5W-0.5E #func = lambda x: xr.concat([x.sel(grid_xt=slice(360-3.5, None), grid_yt=slice(51.25, 54)).load(), # x.sel(grid_xt=slice(None,0.5), grid_yt=slice(51.25, 54)).load()], dim='grid_lon') #func = lambda x: x.isel(grid_xt=(x.grid_xt>=(360-3.5))|(x.grid_xt<=0.5)).sel(grid_yt=slice(51.25, 54)).load() #func = lambda x: x.sel(grid_yt=slice(20,40), grid_xt=slice(60,90)).load() #funcname = 'WAfrica' #West Africa #func = lambda da: da.sel(grid_yt=slice(14,16)).load().rename(grid_xt='lon', grid_yt='lat').pipe(roll_lon).sel(lon=slice(-3,24)) funcname = 'Argentina' # func = lambda x: x.sel(grid_xt=slice(360-75, 360-50), grid_yt=slice(-45, -15)).load() #model and experiment model = 'FLOR' if 'AM2.5C360' in sys.argv: model = 'AM2.5C360' if model == 'FLOR': expname = 'HistRCP45_tigercpu_intelmpi_18_576PE' ens = range(1,10+1) years = range(1991,2020+1) else: #expname = 'amipHadISSTlong_chancorr_tigercpu_intelmpi_18_1080PE' #ens = range(1,11)# range(1,6) #years = range(1871, 2019+1)# range(1981,2011)# range(1860,2101) expname = 'amipHadISSTrcp45_tigercpu_intelmpi_18_1080PE' ens = range(6,8+1)# range(1,6) years = range(1991, 2020+1)# range(1981,2011)# range(1860,2101) #overwrite the default ens if en=* appears in the input argument aa = [s for s in sys.argv if s.startswith('en=')] if aa: ii = int( aa[-1].split('=')[-1] ) ens = range(ii,ii+1) #get data #da = get_modelout_data_ens(daname=daname, model=model, expname=expname, ens=ens, years=years, func=func, funcname=funcname, # dsname=dsname, loop_files=True) da = get_modelout_data(daname=daname, model=model, expname=expname, ens=ens, years=years, func=func, funcname=funcname, dsname=dsname) if __name__ == '__main__': #from wyconfig import * #my plot settings #savefig if len(sys.argv)>1 and 'savefig' in sys.argv[1:]: figname = __file__.replace('.py', f'.png') if 'overwritefig' in sys.argv[1:]: wysavefig(figname, overwritefig=True) else: wysavefig(figname) tt.check(f'**Done**') print() #plt.show()