164 lines
4.4 KiB
Plaintext
164 lines
4.4 KiB
Plaintext
{
|
|
"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
|
|
}
|