import xarray as xr
import xesmf as xe
import os
import sys
import warnings

xlon = 122.73183
ylat = 47.59737
res = 1/16

ifile = sys.argv[1]
obase = "/home/disk/rocinante/DATA/temp/WRF/BIA-WRF-forcing/nc/"

ds = xr.open_dataset(ifile)
ne = xe.util.grid_2d(xlon-res/2, xlon+res/2, res, ylat-res/2, ylat+res/2, res)
dg = ds.sel(times=ds.times[0])
rgr = xe.Regridder(dg, ne, method='bilinear', reuse_weights=True, filename='grid.nc')
#rgr = xe.Regridder(dg, ne, method='bilinear')

warnings.simplefilter('ignore')
dr = rgr(ds)

s = os.path.basename(ifile).split('_')
gcm = "_".join(s[0:2])
var = s[2]
yr = s[-1]


if var == 'LWDNB':
    dr = dr.rename({'LWDNB':'GLW'})    
    var = 'GLW'
elif var == 'SWDNB':
    dr = dr.rename({'SWDNB':'SWDOWN'})
    var = 'SWDOWN'
        
odir = "{}/{}/{}/".format(obase, gcm, var)
fname = "{}_{}_{}".format(gcm, var, yr)
os.makedirs(odir, exist_ok=True)
ofile = "{}/{}".format(odir, fname)
dr.to_netcdf(ofile)

