#!/usr/bin/env python # Wenchang Yang (wenchang@princeton.edu) # Sat Jul 23 19:17:20 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 # if __name__ == '__main__': tt.check('end import') # #start from here daname = 't_ref' if 't_ref' in sys.argv else 't_ref_max' ens = range(1,10+1) ofile = f'{daname}_AM2.5C360_amipHadISSTlong_chancorr_tigercpu_intelmpi_18_1080PE_{len(ens)}ens_1871-2021_UK.nc' if os.path.exists(ofile): print('[exists]:', ofile) sys.exit() #concat da_ens = [] for ii in ens: ifiles = [f'{daname}_AM2.5C360_amipHadISSTlong_chancorr_tigercpu_intelmpi_18_1080PE_ens{ii}_1871-2019_UK.nc', f'{daname}_AM2.5C360_amipHadISSTlong_chancorr_tigercpu_intelmpi_18_1080PE_extend2020_ens{ii}_2020-2020_UK.nc', f'{daname}_AM2.5C360_amipHadISSTlong_chancorr_tigercpu_intelmpi_18_1080PE_extend2021_ens{ii}_2021-2021_UK.nc', ] da = xr.open_mfdataset(ifiles)[daname] da_ens.append(da) da = xr.concat(da_ens, dim='ens') #shift lon da = da.roll(lon=-2, roll_coords=True) lon_new = da.lon.where(da.lon<180, other=da.lon-360).values da = da.assign_coords(lon=lon_new) #save da.to_dataset(name=daname).to_netcdf(ofile) print('[saved]:', ofile) 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() if 'notshowfig' in sys.argv: pass else: plt.show()