#!/usr/bin/env python # Wenchang Yang (wenchang@princeton.edu) # Tue Jun 29 16:14:32 EDT 2021 if __name__ == '__main__': from misc.timer import Timer tt = Timer(f'start {__file__}') import sys, os.path, os, glob, datetime import xarray as xr, numpy as np, pandas as pd, matplotlib.pyplot as plt #more imports import geoxarray # if __name__ == '__main__': tt.check('end import') # #start from here ofile_nc = __file__.replace('.py', '.nc') ofile_csv = __file__.replace('.py', '.csv') daname = 't_ref_max' daname_new = 'TXx' rename_grid = lambda x: x.rename(grid_xt='lon', grid_yt='lat') sel_region = lambda x: x.sel(lon=slice(360-123, 360-119), lat=slice(47, 52)) years = range(101,1001) idir = '/tigress/wenchang/MODEL_OUT/CTL1860_v201904_tigercpu_intelmpi_18_576PE/POSTP' ifiles = [os.path.join(idir, f'{year:04d}0101.atmos_month.nc') for year in years] print('openning...') da = xr.open_mfdataset(ifiles)[daname].pipe(rename_grid) print('loading...') da = da.pipe(sel_region).load() print('calculating...') da = da.groupby('time.year').max('time').geo.fldmean() print('saving...') da.to_dataset(name=daname_new).to_netcdf(ofile_nc) print('[saved]:', ofile_nc) da.rename(daname_new).to_dataframe().to_csv(ofile_csv) print('[saved]:', ofile_csv) if __name__ == '__main__': #from wyconfig import * #my plot settings #savefig if 'savefig' in sys.argv: figname = __file__.replace('.py', f'.png') wysavefig(figname) tt.check(f'**Done**') plt.show()