#!/usr/bin/env python import numpy as np import xarray as xr import os, glob #ens = range(2,5) ens = range(4,5) for en in ens: ifiles = f'/tigress/wenchang/MODEL_OUT/HIRAM/amipLong_tigercpu_intelmpi_18_540PE/en{en:02d}/POSTP/????0101.atmos_daily.nc' ifile = glob.glob(ifiles)[0] data_name = "precip" ofile = f'data/hiram.amipLong_tigercpu_intelmpi_18_540PE.en{en:02d}.atmos_daily.{data_name}.nc' xname = 'grid_xt' xlim = (30, 50) yname = 'grid_yt' ylim = (-10, 10) x = xr.open_mfdataset(ifile)[xname].values ix = x.argsort() L = (x>=xlim[0]) & (x<=xlim[1]) ixlim = ix[L][0], ix[L][-1] print(f'xlim: {xlim}; ixlim: {ixlim}') y = xr.open_mfdataset(ifile)[yname].values iy = y.argsort() L = (y>=ylim[0]) & (y<=ylim[1]) iylim = iy[L][0], iy[L][-1] print(f'ylim: {ylim}; iylim: {iylim}') cmd = f'ncrcat -v {data_name} -d {xname},{ixlim[0]},{ixlim[1]} -d {yname},{iylim[0]},{iylim[1]} {ifiles} {ofile}' print(cmd, '...') s = os.system(cmd) if s==0: print('[OK]:', cmd)