def collect_WRF(location, minyear, maxyear): """ Load uncorrected WRF run data. """ wrf_ds = xr.open_dataset('_Data/Bannister/Bannister_WRF_raw.nc') if type(location) == str: loc_ds = ls.select_basin(wrf_ds, location) else: lat, lon = location loc_ds = wrf_ds.interp( coords={"lon": lon, "lat": lat}, method="nearest") tim_ds = loc_ds.sel(time=slice(minyear, maxyear)) ds = tim_ds.assign_attrs(plot_legend="WRF") return ds
def collect_ERA5(location, minyear, maxyear): """ Downloads data from ERA5 for a given location""" era5_ds = download_data(location, xarray=True) if type(location) == str: loc_ds = ls.select_basin(era5_ds, location) else: lat, lon = location loc_ds = era5_ds.interp(coords={ "lon": lon, "lat": lat }, method="nearest") tim_ds = loc_ds.sel(time=slice(minyear, maxyear)) ds = tim_ds.assign_attrs(plot_legend="ERA5") # in mm/day return ds
def collect_GPM(location, minyear, maxyear): """ Load GPM data """ gpm_ds = xr.open_dataset("_Data/GPM/gpm_pr_unc_2000-2010.nc") if type(location) == str: loc_ds = ls.select_basin(gpm_ds, location) else: lat, lon = location loc_ds = gpm_ds.interp(coords={ "lon": lon, "lat": lat }, method="nearest") tim_ds = loc_ds.sel(time=slice(minyear, maxyear)) ds = tim_ds.assign_attrs(plot_legend="TRMM") # in mm/day return ds
def collect_CRU(location, minyear, maxyear): """ Downloads interpolated data from CRU model""" cru_ds = xr.open_dataset("_Data/CRU/interpolated_cru_1901-2019.nc") if type(location) == str: loc_ds = ls.select_basin(cru_ds, location) else: lat, lon = location loc_ds = cru_ds.interp(coords={ "lon": lon, "lat": lat }, method="nearest") tim_ds = loc_ds.sel(time=slice(minyear, maxyear)) ds = tim_ds.assign_attrs(plot_legend="CRU") # in mm/month return ds
def collect_APHRO(location, minyear, maxyear): """ Downloads data from APHRODITE model""" aphro_ds = xr.open_dataset("_Data/APHRODITE/aphrodite_indus_1951_2016.nc") if type(location) == str: loc_ds = ls.select_basin(aphro_ds, location) else: lat, lon = location loc_ds = aphro_ds.interp(coords={ "lon": lon, "lat": lat }, method="nearest") tim_ds = loc_ds.sel(time=slice(minyear, maxyear)) ds = tim_ds.assign_attrs(plot_legend="APHRODITE") # in mm/day return ds