#!/usr/bin/env python # Wenchang Yang (wenchang@princeton.edu) # Tue Mar 31 14:53:32 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 # 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 model = 'reanalysis' expname = 'ERA5' data_name = 'eta' ens = None#range(1, 6) years = range(1979, 2019) ofile = f'data.{data_name}.nc' if os.path.exists(ofile): print('[exists]:', ofile) sys.exit() ifiles = [f'/tigress/wenchang/data/era5/analysis_wy/TCI/era5.monthly.{year:04d}.{data_name}.nc' for year in years] # read data print('reading data ...') ds = ( xr.open_mfdataset(ifiles, combine='by_coords') .rename(latitude='lat', longitude='lon') .load() ) ds.attrs['model'] = model ds.attrs['expname'] = expname # save data print('saving data to netcdf ...') encoding = {data_name: {'dtype': 'float32', 'zlib': True, 'complevel': 1}} ds.to_netcdf(ofile, encoding=encoding) print('[saved]:', ofile) 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()