Files
polymarket-reverse-arbitrag…/recipe/tests/data/gridmet_DRB_example.ipynb
T
2023-10-24 18:46:43 +08:00

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
}