{ "cells": [ { "cell_type": "code", "execution_count": null, "id": "6fd04c86-82b8-466f-81df-0a53926fa420", "metadata": {}, "outputs": [], "source": [ "import fsspec\n", "import xarray as xr\n", "import hvplot.xarray\n", "import hvplot.pandas\n", "import hvplot.dask\n", "# import intake\n", "import os\n", "import warnings\n", "# import intake_xarray\n", "import geopandas as gpd\n", "from pynhd import NLDI, WaterData\n", "# from dask.distributed import LocalCluster, Client\n", "# from gdptools.helpers import get_shp_bounds_w_buffer, build_subset\n", "# from helpers import configure_cluster\n", "\n", "warnings.filterwarnings('ignore')" ] }, { "cell_type": "code", "execution_count": null, "id": "edf27719-ce97-4d35-a7b0-8065b26874f7", "metadata": {}, "outputs": [], "source": [ "# USGS gage 01482100 Delaware River at Del Mem Bridge at Wilmington De\n", "gage_id = '01482100'\n", "nldi = NLDI()\n", "del_basins = nldi.get_basins(gage_id)\n", "huc12_basins = WaterData('huc12').bygeom(del_basins.geometry[0])\n", "\n", "import pandas as pd\n", "param_json = \"https://mikejohnson51.github.io/opendap.catalog/cat_params.json\"\n", "grid_json = \"https://mikejohnson51.github.io/opendap.catalog/cat_grids.json\"\n", "params = pd.read_json(param_json)\n", "grids = pd.read_json(grid_json)\n", "\n", "_id = \"gridmet\"\n", "_varname = \"daily_maximum_temperature\"\n", "tc = params.query(\"id == @_id & varname == @_varname\")\n", "print(type(tc), len(tc))\n", "tc" ] }, { "cell_type": "code", "execution_count": null, "id": "7d819411-bb81-46e2-8305-42f9f2c396d1", "metadata": {}, "outputs": [], "source": [ "# Create a dictionary of parameter dataframes for each variable\n", "vars = [\"tmmn\", \"tmmx\"]\n", "var_params = []\n", "for var in vars:\n", " var_params.append(params.query(\"id == @_id & variable == @var\"))\n", "param_dict = dict(zip(vars, var_params))\n", "param_dict.get('tmmn')" ] }, { "cell_type": "code", "execution_count": null, "id": "0d1876e8-4b97-49eb-8d72-0f97843fef3b", "metadata": {}, "outputs": [], "source": [ "# Create a dictionary of grid dataframes for each variable\n", "var_grid = []\n", "for var in vars:\n", " gridid = param_dict.get(var)['grid_id'].values[0]\n", " var_grid.append(grids.query('grid_id == @gridid'))\n", "grid_dict = dict(zip(vars, var_grid))\n", "grid_dict.get('tmmn')" ] }, { "cell_type": "code", "execution_count": null, "id": "75be1872-a9c1-42b1-84d4-eaf85e9d63d1", "metadata": {}, "outputs": [], "source": [ "import tempfile\n", "from gdptools.helpers import calc_weights_catalog\n", "wghtf = calc_weights_catalog(\n", " params_json=param_dict.get(\"tmmn\"),\n", " grid_json=grid_dict.get(\"tmmn\"),\n", " shp_file=huc12_basins,\n", " shp_poly_idx='huc12',\n", " wght_gen_file=tempfile.NamedTemporaryFile().name,\n", " wght_gen_proj=6931,\n", " )\n", "\n", "tmp = 0" ] }, { "cell_type": "code", "execution_count": null, "id": "70139be4-efcd-4d47-9302-0142b7990cb4", "metadata": {}, "outputs": [], "source": [ "from gdptools.run_weights_engine import RunWghtEngine\n", "eng = RunWghtEngine()\n", "eng.initialize(\n", " param_dict=param_dict,\n", " grid_dict=grid_dict,\n", " wghts=wghtf,\n", " gdf=huc12_basins,\n", " gdf_poly_idx='huc12',\n", " start_date=\"2020-01-01\",\n", " end_date=\"2020-01-07\"\n", ")\n", "ngdf, nvals = eng.run(numdiv=1) " ] }, { "cell_type": "code", "execution_count": null, "id": "36812590-fb33-4162-bf22-f6455bea4ee8", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3.9.13", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.13" }, "vscode": { "interpreter": { "hash": "3365295dbac4842fc2bf269a7ec44c70d326e0f953d0b638b14de2730fd8846e" } } }, "nbformat": 4, "nbformat_minor": 5 }