#!/usr/bin/env python # Wenchang Yang (wenchang@princeton.edu) # Fri Sep 9 15:20:10 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.wyregionmask import flag_region # if __name__ == '__main__': tt.check('end import') # #start from here region = __file__.split('wymask')[-1].split('.')[0] print(region) region_file = f'region{region}.csv' df = pd.read_csv(region_file) lon = df['lon'] lat = df['lat'] #ifiles = 'precip_FLOR_HistRCP45_tigercpu_intelmpi_18_576PE_ens??_1860-2100_Pakistan.nc' ifiles = glob.glob('precip_AM2.5C360_*_Pakistan.nc') ifiles.sort() ifiles = [ifiles[0:10], ifiles[10:20], ifiles[20:30]] #n_files = len(glob.glob(ifiles)) #ofile = ifiles.replace('ens??', f'{n_files}ens').replace('.nc', f'_{region}.nc') ofile = f'precip_AM2.5C360_amipHadISSTlong_chancorr_tigercpu_intelmpi_18_1080PE_10ens_1871-2021_Pakistan_{region}.nc' print(f'{ifiles = }') print(f'{ofile = }') if os.path.exists(ofile) and not 'o' in sys.argv: print('[exists]:', ofile) sys.exit() print('reading...') ds = xr.open_mfdataset(ifiles, combine='nested', concat_dim=['time', 'ens']).load() #mask print('masking...') region_flags = flag_region(ds, lon, lat) ds = ds.where(region_flags==0) #save print('saving...') nc_encoding = {vv:{'zlib': True, 'complevel': 1} for vv in list(ds.data_vars)} ds.to_netcdf(ofile, encoding=nc_encoding) print('[saved]:', ofile) if __name__ == '__main__': #from wyconfig import * #my plot settings #savefig if 'savefig' in sys.argv or 's' in sys.argv: figname = __file__.replace('.py', f'.png') if 'overwritefig' in sys.argv or 'o' in sys.argv: wysavefig(figname, overwritefig=True) else: wysavefig(figname) tt.check(f'**Done**') print() if 'notshowfig' in sys.argv: pass else: plt.show()