diff --git a/Top-down/notebooks/Coastal_flood.ipynb b/Top-down/notebooks/Coastal_flood.ipynb index 58c9f1a2..fb469f0c 100644 --- a/Top-down/notebooks/Coastal_flood.ipynb +++ b/Top-down/notebooks/Coastal_flood.ipynb @@ -48,7 +48,11 @@ " \"MLI\": 155,\n", " \"NER\": 181,\n", " \"TCD\": 50,\n", - " \"MRT\": 159\n", + " \"MRT\": 159,\n", + " \"NGA\": 182,\n", + " \"DOM\": 'DO',\n", + " \"PNG\": 'PG',\n", + " \"GNB\": 'GW'\n", "}" ] }, @@ -72,6 +76,7 @@ " .. [1] JRC, 2017\n", " \"\"\"\n", " #return np.maximum(0.0, np.minimum(1.0, -0.0028*x**3 + 0.0362*x**2 + 0.0095*x)) # Floods - AFRICA\n", + " #return np.maximum(0.0, np.minimum(1.0, 0.9981236 - 0.9946279*np.exp(-1.711056*x))) # Floods - LAC\n", " return np.maximum(0.0, np.minimum(1.0, 0.00723*x**3 - 0.1000*x**2 + 0.5060*x)) # Floods - ASIA" ] }, @@ -194,7 +199,7 @@ " else:\n", " min_haz_threshold = min_haz_slider.value\n", "\n", - " valid_RPs = [10, 100, 1000]\n", + " valid_RPs = [5, 10, 25, 50, 100, 250]\n", "\n", " # Testing data file locations\n", " # TODO: Temp data store, to be replaced with a config spec (.env file?) before deployment\n", @@ -202,13 +207,13 @@ " exposure_dir = f\"{DATA_DIR}/EXP/{country}\"\n", " if exp_cat_dd.value == 'pop':\n", " damage_factor = mortality_factor\n", - " exp_raster_fn = f\"{exposure_dir}_WPOP20.tif\"\n", + " exp_raster_fn = f\"{exposure_dir}_POP.tif\"\n", " elif exp_cat_dd.value == 'builtup':\n", " damage_factor = damage_factor_builtup\n", - " exp_raster_fn = f\"{exposure_dir}_WSF19.tif\"\n", + " exp_raster_fn = f\"{exposure_dir}_BU.tif\"\n", " elif exp_cat_dd.value == 'agri':\n", " damage_factor = damage_factor_agri\n", - " exp_raster_fn = f\"{exposure_dir}_ESA20_agri.tif\"\n", + " exp_raster_fn = f\"{exposure_dir}_AGR.tif\"\n", " else:\n", " ValueError(f\"Missing or unknown data layer {exp_cat_dd.value}\")\n", "\n", @@ -400,7 +405,8 @@ "country_dd = widgets.Dropdown(\n", " options=[('Nepal', 'NPL'), ('Pakistan', 'PAK'),('Bangladesh', 'BGD'),('Ghana', 'GHA'),\n", " ('Ethiopia', 'ETH'), ('Burkina Faso', 'BFA'), ('Mali', 'MLI'), ('Niger', 'NER'),\n", - " ('Chad', 'TCD'), ('Mauritania', 'MRT')],\n", + " ('Chad', 'TCD'), ('Mauritania', 'MRT'), ('Nigeria', 'NGA'), ('Dominican Republic', 'DOM'), \n", + " ('Papua New Guinea', 'PNG'), ('Guinea-Bissau', 'GNB')],\n", " value='NPL',\n", " description='Country:',\n", " style={'description_width': 'initial'}\n", @@ -414,7 +420,7 @@ ")\n", "\n", "adm_dd = widgets.Dropdown(\n", - " options=['ADM1', 'ADM2', 'ADM3'],\n", + " options=['ADM1', 'ADM2', 'ADM3', 'ADM4'],\n", " value='ADM2',\n", " description='Administrative Unit Level:',\n", " style={'description_width': 'initial'}\n", @@ -565,7 +571,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ae3810566f0240a190267bb13010eec7", + "model_id": "a7ee0ffe7cbb4cabbed3a2e46e9eb387", "version_major": 2, "version_minor": 0 }, @@ -579,7 +585,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "33094bbc2be649e9b1523bc3cce5f8c8", + "model_id": "0072891302af484d805ae5d83bb0fabd", "version_major": 2, "version_minor": 0 }, @@ -593,12 +599,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2f3930e0b9c74600882bed16b22938d8", + "model_id": "6e9c84a2bb6c48f685eca52f05292746", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "Dropdown(description='Administrative Unit Level:', index=1, options=('ADM1', 'ADM2', 'ADM3'), style=Descriptio…" + "Dropdown(description='Administrative Unit Level:', index=1, options=('ADM1', 'ADM2', 'ADM3', 'ADM4'), style=De…" ] }, "metadata": {}, @@ -607,7 +613,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a0af220c62bf4d62ae3a422e5a429310", + "model_id": "7978151702d241c38aec27e927d9ba36", "version_major": 2, "version_minor": 0 }, @@ -621,7 +627,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "cd7a8a3e2335412b9dd0ac8c924facc7", + "model_id": "25be641ce0b040bb885835e116781c4f", "version_major": 2, "version_minor": 0 }, @@ -635,7 +641,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "14c135c26bd948e39bb59da413acf26d", + "model_id": "45278e7ec7b6407cb6903419649a7ed6", "version_major": 2, "version_minor": 0 }, @@ -649,7 +655,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "edc092cf40e84eaaaed24bf672c2cd33", + "model_id": "44991d71a38a445eae379335806820d0", "version_major": 2, "version_minor": 0 }, @@ -663,7 +669,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7c9b958724314a0c93c8d4e56ed0c999", + "model_id": "b04ed87a1e0a443ea80fc7ee319c8695", "version_major": 2, "version_minor": 0 }, @@ -677,7 +683,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4f85ad17c23f4f9b8f184b952357d9e2", + "model_id": "e2a00ed631c14621acafc574508ea952", "version_major": 2, "version_minor": 0 }, @@ -691,7 +697,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "080d41549f3f42a6a6591a90e7178533", + "model_id": "5b2691df8d7c499ebb9f55d93562ac25", "version_major": 2, "version_minor": 0 }, @@ -705,7 +711,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "40e32a9b7c984095a0ecabb3bc2e75c7", + "model_id": "464e14997b784a96a25695294d4374cf", "version_major": 2, "version_minor": 0 }, @@ -719,7 +725,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "f230341479084e6a8e53b2342425b6c6", + "model_id": "296565d47bbf45bd8dd33c6e72c111cf", "version_major": 2, "version_minor": 0 }, @@ -733,7 +739,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8cbd1ca0371349c08498692bce304da6", + "model_id": "b906823b2129442dbd8e5e0553f68aa9", "version_major": 2, "version_minor": 0 }, @@ -747,7 +753,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "54aaafe6e20342d0b506e99928d6b4ce", + "model_id": "0692a24d6b7248b1be08aa1babfdfb52", "version_major": 2, "version_minor": 0 }, @@ -761,7 +767,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8b370a76bd85420fadb810f80f3e94ce", + "model_id": "2df37411104a4eab9b3e69733ab77463", "version_major": 2, "version_minor": 0 }, diff --git a/Top-down/notebooks/Flood.ipynb b/Top-down/notebooks/Flood.ipynb index 93965023..31f38919 100644 --- a/Top-down/notebooks/Flood.ipynb +++ b/Top-down/notebooks/Flood.ipynb @@ -44,11 +44,15 @@ " \"BGD\": 23,\n", " \"GHA\": 94,\n", " \"ETH\": 79,\n", - " \"BFA\": 42,\n", + " \"BFA\": 'BFA',\n", " \"MLI\": 155,\n", " \"NER\": 181,\n", " \"TCD\": 50,\n", - " \"MRT\": 159\n", + " \"MRT\": 159,\n", + " \"NGA\": 182,\n", + " \"DOM\": 'DO',\n", + " \"PNG\": 'PG',\n", + " \"GNB\": 'GW'\n", "}" ] }, @@ -72,6 +76,7 @@ " .. [1] JRC, 2017\n", " \"\"\"\n", " return np.maximum(0.0, np.minimum(1.0, -0.0028*x**3 + 0.0362*x**2 + 0.0095*x)) # Floods - AFRICA\n", + " #return np.maximum(0.0, np.minimum(1.0, 0.9981236 - 0.9946279*np.exp(-1.711056*x))) # Floods - LAC\n", " #return np.maximum(0.0, np.minimum(1.0, 0.00723*x**3 - 0.1000*x**2 + 0.5060*x)) # Floods - ASIA" ] }, @@ -196,19 +201,18 @@ "\n", " valid_RPs = [10, 100, 1000]\n", "\n", - " # Testing data file locations\n", - " # TODO: Temp data store, to be replaced with a config spec (.env file?) before deployment\n", - " \n", + " # Data file locations\n", + "\n", " exposure_dir = f\"{DATA_DIR}/EXP/{country}\"\n", " if exp_cat_dd.value == 'pop':\n", " damage_factor = mortality_factor\n", - " exp_raster_fn = f\"{exposure_dir}_WPOP20.tif\"\n", + " exp_raster_fn = f\"{exposure_dir}_POP.tif\"\n", " elif exp_cat_dd.value == 'builtup':\n", " damage_factor = damage_factor_builtup\n", - " exp_raster_fn = f\"{exposure_dir}_WSF19.tif\"\n", + " exp_raster_fn = f\"{exposure_dir}_BU.tif\"\n", " elif exp_cat_dd.value == 'agri':\n", " damage_factor = damage_factor_agri\n", - " exp_raster_fn = f\"{exposure_dir}_ESA20_agri.tif\"\n", + " exp_raster_fn = f\"{exposure_dir}_AGR.tif\"\n", " else:\n", " ValueError(f\"Missing or unknown data layer {exp_cat_dd.value}\")\n", "\n", @@ -400,7 +404,8 @@ "country_dd = widgets.Dropdown(\n", " options=[('Nepal', 'NPL'), ('Pakistan', 'PAK'),('Bangladesh', 'BGD'),('Ghana', 'GHA'),\n", " ('Ethiopia', 'ETH'), ('Burkina Faso', 'BFA'), ('Mali', 'MLI'), ('Niger', 'NER'),\n", - " ('Chad', 'TCD'), ('Mauritania', 'MRT')],\n", + " ('Chad', 'TCD'), ('Mauritania', 'MRT'), ('Nigeria', 'NGA'), ('Dominican Republic', 'DOM'), \n", + " ('Papua New Guinea', 'PNG'), ('Guinea-Bissau', 'GNB')],\n", " value='NPL',\n", " description='Country:',\n", " style={'description_width': 'initial'}\n", @@ -414,7 +419,7 @@ ")\n", "\n", "adm_dd = widgets.Dropdown(\n", - " options=['ADM1', 'ADM2', 'ADM3'],\n", + " options=['ADM1', 'ADM2', 'ADM3', 'ADM4'],\n", " value='ADM2',\n", " description='Administrative Unit Level:',\n", " style={'description_width': 'initial'}\n", @@ -565,7 +570,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9cb2833df2b542aaab42bc3122dc48ae", + "model_id": "39589002d38c4cf3b8093baa28ecc9d8", "version_major": 2, "version_minor": 0 }, @@ -579,7 +584,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "33d5034cbbfb4c08b6c6ce8e1abc4327", + "model_id": "76c3600f94ed4e0297dddddd1b427610", "version_major": 2, "version_minor": 0 }, @@ -593,12 +598,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d08afe60865d4227ac78fcfae979f0dc", + "model_id": "4bd48827e4634490960e08a595de4de4", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "Dropdown(description='Administrative Unit Level:', index=1, options=('ADM1', 'ADM2', 'ADM3'), style=Descriptio…" + "Dropdown(description='Administrative Unit Level:', index=1, options=('ADM1', 'ADM2', 'ADM3', 'ADM4'), style=De…" ] }, "metadata": {}, @@ -607,7 +612,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9e2d2009cd084c2385079d4f4dce51a0", + "model_id": "0f7a002f28de426fbc9089ee7847a794", "version_major": 2, "version_minor": 0 }, @@ -621,7 +626,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d469d4657d9447f0bf97514dbc9d9c8f", + "model_id": "1fe2b47f856b4fef9e4b64244d089a28", "version_major": 2, "version_minor": 0 }, @@ -635,7 +640,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a350def7d3bd4f068baf9d9384e7d845", + "model_id": "bb4a8c363e5140bcbfc1b7372da0ee7b", "version_major": 2, "version_minor": 0 }, @@ -649,7 +654,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "20a3075f5dfb48d0a7bb80c954fa189c", + "model_id": "238e14ff53234dcaafb03fd55ce937d2", "version_major": 2, "version_minor": 0 }, @@ -663,7 +668,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b29b5df2f9784802a32c6e99434f205e", + "model_id": "15c875a531074fe1a91e86bafe3e5778", "version_major": 2, "version_minor": 0 }, @@ -677,7 +682,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "27f264c9aba44dc382da7aab0465ffb1", + "model_id": "dc37dfaa9d81415ab71296c651cc8ecf", "version_major": 2, "version_minor": 0 }, @@ -691,7 +696,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "72990be6e3dd4b0b878d1dad59f3a189", + "model_id": "e3137a5d66fb469cb040d80beac6e787", "version_major": 2, "version_minor": 0 }, @@ -705,7 +710,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "17dd4fb4cdb2476980af2b7f83485cb3", + "model_id": "6d46e4e1e6054d10bb2159a6991b5031", "version_major": 2, "version_minor": 0 }, @@ -719,7 +724,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "05029e047adb463596f7ca2f578efe21", + "model_id": "fb8ca75baec34761a814f68b9ba39f75", "version_major": 2, "version_minor": 0 }, @@ -733,7 +738,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e02f5592e3684e5a9ce824256fb40c3d", + "model_id": "edbeec410df243acad830fd5f4a569df", "version_major": 2, "version_minor": 0 }, @@ -747,7 +752,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "cc3aa2ce53834de9ba77beeb07f93694", + "model_id": "6c24ac19df9347f291d95bf343ed5ad7", "version_major": 2, "version_minor": 0 }, @@ -761,7 +766,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "be89bc9eba54485f9de03336ecffb6a2", + "model_id": "665ec661d7894c20a9680c5c3f0de82d", "version_major": 2, "version_minor": 0 }, diff --git a/Top-down/notebooks/Heat_stress.ipynb b/Top-down/notebooks/Heat_stress.ipynb index 311d6cb8..2a40aa41 100644 --- a/Top-down/notebooks/Heat_stress.ipynb +++ b/Top-down/notebooks/Heat_stress.ipynb @@ -38,7 +38,10 @@ " \"MLI\": 155,\n", " \"NER\": 181,\n", " \"TCD\": 50,\n", - " \"MRT\": 159\n", + " \"MRT\": 159,\n", + " \"NGA\": 182,\n", + " \"PNG\": 'PG',\n", + " \"GNB\": 'GW'\n", "}" ] }, @@ -88,11 +91,11 @@ " exp_ras = f\"{DATA_DIR}/EXP/{country}_WPOP20.tif\"\n", " except ValueError:\n", " # TODO: Download from website if layer not available\n", - " exp_ras = f\"{DATA_DIR}/EXP/{country}_WPOP20.tif\"\n", + " exp_ras = f\"{DATA_DIR}/EXP/{country}_POP.tif\"\n", " elif exp_cat_dd.value == 'builtup':\n", - " exp_ras = f\"{DATA_DIR}/EXP/{country}_WSF19.tif\"\n", + " exp_ras = f\"{DATA_DIR}/EXP/{country}_BU.tif\"\n", " elif exp_cat_dd.value == 'agri':\n", - " exp_ras = f\"{DATA_DIR}/EXP/{country}_ESA20_agri.tif\"\n", + " exp_ras = f\"{DATA_DIR}/EXP/{country}_AGR.tif\"\n", " else:\n", " ValueError(\"Missing data layer\")\n", "\n", @@ -197,7 +200,8 @@ "country_dd = widgets.Dropdown(\n", " options=[('Nepal', 'NPL'), ('Pakistan', 'PAK'),('Bangladesh', 'BGD'),('Ghana', 'GHA'),\n", " ('Ethiopia', 'ETH'), ('Burkina Faso', 'BFA'), ('Mali', 'MLI'), ('Niger', 'NER'),\n", - " ('Chad', 'TCD'), ('Mauritania', 'MRT')],\n", + " ('Chad', 'TCD'), ('Mauritania', 'MRT'), ('Nigeria', 'NGA'), ('Dominican Republic', 'DOM'), \n", + " ('Papua New Guinea', 'PNG'), ('Guinea-Bissau', 'GNB')],\n", " value='NPL',\n", " description='Country:',\n", " style={'description_width': 'initial'}\n", @@ -289,7 +293,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "fb84c8a42c7a416a9ce84d4c2519aa8b", + "model_id": "9dc41cbdd7f940569e87e1753ac797d2", "version_major": 2, "version_minor": 0 }, @@ -303,7 +307,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "376618ed2bfc4288ad6461b2c550c99f", + "model_id": "d096484f89754032ae568943cd67f766", "version_major": 2, "version_minor": 0 }, @@ -317,7 +321,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b93a1af285fc45b3ada3223344148113", + "model_id": "ba371f6d9ac340dcaf4172d79daf7c92", "version_major": 2, "version_minor": 0 }, @@ -331,7 +335,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "2933e9975b1a462c9a2b8baccfe42d65", + "model_id": "fdb548bb55c24f749f4d137bd8da66f6", "version_major": 2, "version_minor": 0 }, @@ -345,7 +349,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "624da0d588304fbea15218a2fc7e41ee", + "model_id": "d2ed567d444b4c6d800175cbcc7ebf73", "version_major": 2, "version_minor": 0 }, @@ -359,7 +363,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "01fc8a5059464348bed6f2cf1d00e405", + "model_id": "39fcc60fbbe940d491a862e21a2d5a75", "version_major": 2, "version_minor": 0 }, @@ -373,7 +377,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "20373a43bed7404c94f16b8c88a7f0ab", + "model_id": "37cac408099a43b19340018ca276d2aa", "version_major": 2, "version_minor": 0 }, @@ -387,7 +391,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5463013517474d4f92c740b308199212", + "model_id": "ed007896d0244e87a35d21811acce638", "version_major": 2, "version_minor": 0 }, @@ -401,7 +405,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1430616257914146ac194381738c867a", + "model_id": "516c9679486646a283b0bf18934694ed", "version_major": 2, "version_minor": 0 }, @@ -415,7 +419,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "4c46d94a27af4b04b2e1d6d997317153", + "model_id": "3022a3ff6efc4a2da75b0d5a948fd63f", "version_major": 2, "version_minor": 0 }, @@ -429,7 +433,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "741f1860bad24009843108cc8d0f554c", + "model_id": "9ce23a1518a54f31bf2130566b935152", "version_major": 2, "version_minor": 0 }, diff --git a/Top-down/notebooks/Landslide.ipynb b/Top-down/notebooks/Landslide.ipynb index 65f86108..4770a630 100644 --- a/Top-down/notebooks/Landslide.ipynb +++ b/Top-down/notebooks/Landslide.ipynb @@ -11,7 +11,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 1, "id": "27ad9a5b-154d-4f7a-8579-59487c6a7d76", "metadata": {}, "outputs": [], @@ -23,14 +23,14 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 2, "id": "6738bd3b", "metadata": {}, "outputs": [], "source": [ "country_code_map = {\n", " \"NPL\": 175,\n", - " \"PAK\": 188,\n", + " \"PAK\": 'PK',\n", " \"BGD\": 23,\n", " \"GHA\": 94,\n", " \"ETH\": 79,\n", @@ -38,13 +38,17 @@ " \"MLI\": 155,\n", " \"NER\": 181,\n", " \"TCD\": 50,\n", - " \"MRT\": 159\n", + " \"MRT\": 159,\n", + " \"NGA\": 182,\n", + " \"DOM\": 'DO',\n", + " \"PNG\": 'PG',\n", + " \"GNB\": 'GW'\n", "}" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 3, "id": "53ebd7a3", "metadata": {}, "outputs": [], @@ -90,11 +94,11 @@ " # TODO: Temp data store, to be replaced with a config spec (.env file?) before deployment\n", " \n", " if exp_cat_dd.value == 'pop':\n", - " exp_ras = f\"{DATA_DIR}/EXP/{country}_WPOP20.tif\"\n", + " exp_ras = f\"{DATA_DIR}/EXP/{country}_POP.tif\"\n", " elif exp_cat_dd.value == 'builtup':\n", - " exp_ras = f\"{DATA_DIR}/EXP/{country}_WSF19.tif\"\n", + " exp_ras = f\"{DATA_DIR}/EXP/{country}_BU.tif\"\n", " elif exp_cat_dd.value == 'agri':\n", - " exp_ras = f\"{DATA_DIR}/EXP/{country}_ESA20_agri.tif\"\n", + " exp_ras = f\"{DATA_DIR}/EXP/{country}_AGR.tif\"\n", " else:\n", " ValueError(\"Missing data layer\")\n", "\n", @@ -185,7 +189,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 4, "id": "526bfa3f", "metadata": {}, "outputs": [], @@ -194,7 +198,8 @@ "country_dd = widgets.Dropdown(\n", " options=[('Nepal', 'NPL'), ('Pakistan', 'PAK'),('Bangladesh', 'BGD'),('Ghana', 'GHA'),\n", " ('Ethiopia', 'ETH'), ('Burkina Faso', 'BFA'), ('Mali', 'MLI'), ('Niger', 'NER'),\n", - " ('Chad', 'TCD'), ('Mauritania', 'MRT')],\n", + " ('Chad', 'TCD'), ('Mauritania', 'MRT'), ('Nigeria', 'NGA'), ('Dominican Republic', 'DOM'), \n", + " ('Papua New Guinea', 'PNG'), ('Guinea-Bissau', 'GNB')],\n", " value='NPL',\n", " description='Country:',\n", " style={'description_width': 'initial'}\n", @@ -208,7 +213,7 @@ ")\n", "\n", "adm_dd = widgets.Dropdown(\n", - " options=['ADM1', 'ADM2', 'ADM3'],\n", + " options=['ADM1', 'ADM2', 'ADM3', 'ADM4'],\n", " value='ADM2',\n", " description='Administrative Unit Level:',\n", " style={'description_width': 'initial'}\n", @@ -286,16 +291,17 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 5, "id": "59a0428c", "metadata": { + "scrolled": false, "tags": [] }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "d2bde0c6e00448629fed327098e55a01", + "model_id": "da59e78ce12747e58d510d25647aea0e", "version_major": 2, "version_minor": 0 }, @@ -309,7 +315,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b6aae74626dd46c48c630f4eea9e84c2", + "model_id": "62c6924a9c634f6594b69114ebbfd664", "version_major": 2, "version_minor": 0 }, @@ -323,12 +329,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a50220d7832f4ac7b870c53d1c4a5d5c", + "model_id": "27134aa6b87b452b8f2d79488cbd5413", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "Dropdown(description='Administrative Unit Level:', index=1, options=('ADM1', 'ADM2', 'ADM3'), style=Descriptio…" + "Dropdown(description='Administrative Unit Level:', index=1, options=('ADM1', 'ADM2', 'ADM3', 'ADM4'), style=De…" ] }, "metadata": {}, @@ -337,7 +343,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "19fa12e1211745c18bc83f3f27f82d2f", + "model_id": "31341c19699b4e09bef46109527a67d5", "version_major": 2, "version_minor": 0 }, @@ -351,7 +357,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "9c2a38045f9a4a4880e804bd68a75070", + "model_id": "ae269e4f06c545fa97e69e30b718815a", "version_major": 2, "version_minor": 0 }, @@ -365,7 +371,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1cad1e3178d8410ea87f0b9a9dff3f7a", + "model_id": "6a1b340cdee243868d4f3a43dd02a470", "version_major": 2, "version_minor": 0 }, @@ -379,7 +385,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "b55cea59af9f46ba97e619f6f13bb558", + "model_id": "87563a07c2f9491b95c9ec883455072a", "version_major": 2, "version_minor": 0 }, @@ -393,7 +399,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "ff7213378cbc4bd59b40e6b7e5d756d0", + "model_id": "2a0f0833fb4b487d9973ed844f621661", "version_major": 2, "version_minor": 0 }, @@ -407,7 +413,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "044620ab8dab42b29ed618fcd505feb4", + "model_id": "6d6df255200b47df850c80a3fc1aebbb", "version_major": 2, "version_minor": 0 }, @@ -421,7 +427,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "25e732b59fc142bcbc1fe8745bc818f9", + "model_id": "033668103cca465e8820084273f2c7e5", "version_major": 2, "version_minor": 0 }, diff --git a/Top-down/notebooks/Tropical_cyclones.ipynb b/Top-down/notebooks/Tropical_cyclones.ipynb index 5640fe13..c31fa6e8 100644 --- a/Top-down/notebooks/Tropical_cyclones.ipynb +++ b/Top-down/notebooks/Tropical_cyclones.ipynb @@ -48,7 +48,8 @@ " \"MLI\": 155,\n", " \"NER\": 181,\n", " \"TCD\": 50,\n", - " \"MRT\": 159\n", + " \"MRT\": 159,\n", + " \"DOM\": 'DO'\n", "}" ] }, @@ -60,17 +61,26 @@ "outputs": [], "source": [ "def damage_factor_builtup(x):\n", - " \"\"\"A general arithmetic function for cyclone wind damage over builtup land cover.\n", - "\n", - " =MAX(WS-92.52;0)/176.4)^3)/(1+(WS(O6-92.52;0)/176.4)^3\n", - "\n", - " Values are capped between 0 and 1, where values >= 556 km/h = 1\n", - "\n", - " References\n", - " ----------\n", - " .. [1] Emanuel et al, 2011; Sealy and Strobl, 2017\n", + " \n", + " \"\"\"\n", + " Tropical Cyclone - Global equation from Climada\n", + " A general arithmetic function for cyclone wind damage over builtup land cover, with regionalisation parameters.\n", + " \n", + " Reference: Emanuel et al, 2011; Sealy and Strobl, 2017\n", + " \n", " \"\"\"\n", - " return np.maximum(0.0, np.minimum(1.0, ((np.maximum(x-92.52, 0)/176.4)**3)/(1+(np.maximum(x-92.52, 0)/176.4)**3)))" + " #Vhalf = 59.6 # m/s, where half damage occurs - NA1 - Caribbean and Mexico\n", + " #Vhalf = 91.8 # m/s, where half damage occurs - NA2 - USA and Canada\n", + " Vhalf = 67.3 # m/s, where half damage occurs - NI - North Indian\n", + " #Vhalf = 54.4 # m/s, where half damage occurs - OC - Oceania\n", + " #Vhalf = 42.6 # m/s, where half damage occurs - SI - South Indian\n", + " #Vhalf = 58.9 # m/s, where half damage occurs - WP1 - South East Asia\n", + " #Vhalf = 87.6 # m/s, where half damage occurs - WP2 - Philippines\n", + " #Vhalf = 86.3 # m/s, where half damage occurs - WP3 - China Mainland\n", + " #Vhalf = 183.7 # m/s, where half damage occurs - WP4 - North West Pacific\n", + " Vthres = 25.7 # m/s, below to wihch no damage occurs - Global\n", + " v = np.maximum(0.0, (x-Vthres))/(Vhalf-Vthres)\n", + " return (v**3)/(1+(v**3)) # Tropical Cyclone - Global equation" ] }, { @@ -83,7 +93,7 @@ "def damage_factor_agri(x):\n", " \"\"\"\n", " \"\"\"\n", - " return np.maximum(0.0, np.minimum(1.0, x))\n" + " return np.maximum(0.0, np.minimum(1.0, x))" ] }, { @@ -189,13 +199,13 @@ " exposure_dir = f\"{DATA_DIR}/EXP/{country}\"\n", " if exp_cat_dd.value == 'pop':\n", " damage_factor = mortality_factor\n", - " exp_raster_fn = f\"{exposure_dir}_WPOP20.tif\"\n", + " exp_raster_fn = f\"{exposure_dir}_POP.tif\"\n", " elif exp_cat_dd.value == 'builtup':\n", " damage_factor = damage_factor_builtup\n", - " exp_raster_fn = f\"{exposure_dir}_WSF19.tif\"\n", + " exp_raster_fn = f\"{exposure_dir}_BU.tif\"\n", " elif exp_cat_dd.value == 'agri':\n", " damage_factor = damage_factor_agri\n", - " exp_raster_fn = f\"{exposure_dir}_ESA20_agri.tif\"\n", + " exp_raster_fn = f\"{exposure_dir}_AGR.tif\"\n", " else:\n", " ValueError(f\"Missing or unknown data layer {exp_cat_dd.value}\")\n", "\n", @@ -387,7 +397,7 @@ "country_dd = widgets.Dropdown(\n", " options=[('Nepal', 'NPL'), ('Pakistan', 'PAK'),('Bangladesh', 'BGD'),('Ghana', 'GHA'),\n", " ('Ethiopia', 'ETH'), ('Burkina Faso', 'BFA'), ('Mali', 'MLI'), ('Niger', 'NER'),\n", - " ('Chad', 'TCD'), ('Mauritania', 'MRT')],\n", + " ('Chad', 'TCD'), ('Mauritania', 'MRT'), ('Dominican Republic', 'DOM')],\n", " value='NPL',\n", " description='Country:',\n", " style={'description_width': 'initial'}\n", @@ -401,7 +411,7 @@ ")\n", "\n", "adm_dd = widgets.Dropdown(\n", - " options=['ADM1', 'ADM2', 'ADM3'],\n", + " options=['ADM1', 'ADM2', 'ADM3','ADM4'],\n", " value='ADM2',\n", " description='Administrative Unit Level:',\n", " style={'description_width': 'initial'}\n", @@ -552,7 +562,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "0ac90cf937fa4d28add97a14d5a24f9f", + "model_id": "0536b283090244deb542af199f139e63", "version_major": 2, "version_minor": 0 }, @@ -566,7 +576,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5544cba7011e4fe29f5287f050f7f460", + "model_id": "6228deb54ad24e2c94b8313e0649951b", "version_major": 2, "version_minor": 0 }, @@ -580,12 +590,12 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "18dec8e4562b488e9a7bf1b0dbd70c29", + "model_id": "5177e09bd3f34c9b81f15d2440431f28", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "Dropdown(description='Administrative Unit Level:', index=1, options=('ADM1', 'ADM2', 'ADM3'), style=Descriptio…" + "Dropdown(description='Administrative Unit Level:', index=1, options=('ADM1', 'ADM2', 'ADM3', 'ADM4'), style=De…" ] }, "metadata": {}, @@ -594,7 +604,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "fd175f9475704a7ea14063e6b38bfbf2", + "model_id": "bae0b2866a404f0192dd8c403be9f01c", "version_major": 2, "version_minor": 0 }, @@ -608,7 +618,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "03a0d971bcda4191b7a15264ded0dc32", + "model_id": "bc48973b57ce483b977a983d000732d6", "version_major": 2, "version_minor": 0 }, @@ -622,7 +632,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "39456a4e50cc4de5898d0628ff1aa97f", + "model_id": "19f93023c66446b8a8c77961cbf3dc2f", "version_major": 2, "version_minor": 0 }, @@ -636,7 +646,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "65c0221bb632422fbeb5935be44cbdbb", + "model_id": "13afd18a25c44d508c7f7791d4ea58cf", "version_major": 2, "version_minor": 0 }, @@ -650,7 +660,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8e260b5d16b54edc8718cf5ff51ce312", + "model_id": "55205eff016f4ce1aefc7702003f0614", "version_major": 2, "version_minor": 0 }, @@ -664,7 +674,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5c0f82e141554e6390257ca822796399", + "model_id": "df7e26d5daf749578525a7c361738da6", "version_major": 2, "version_minor": 0 }, @@ -678,7 +688,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "aeb60e9b3a95460992c9c00116e99431", + "model_id": "04a4cca1b4f149d6a0d58b8724b04449", "version_major": 2, "version_minor": 0 }, @@ -692,7 +702,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "7de83a53e2374075aff27aba5d6aecd1", + "model_id": "cdf02f1fd86c441cae6f5b4ba1f26f90", "version_major": 2, "version_minor": 0 }, @@ -706,7 +716,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "905944d44d304247bf94674576294277", + "model_id": "8263e608cf7b4ee990f7c3af3284fd9c", "version_major": 2, "version_minor": 0 }, @@ -720,7 +730,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6fdb4823052640beb67b5cbaaf12ce9b", + "model_id": "10787c18d2ba44af9867c71d220c9a94", "version_major": 2, "version_minor": 0 }, @@ -734,7 +744,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "a47b04c94ba94f20a8ec5e04e67127a8", + "model_id": "cecc2237132f47d6b60f2459ddc4e1ec", "version_major": 2, "version_minor": 0 }, @@ -748,7 +758,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "e3352bef2429419c9ed7ca85e39139b8", + "model_id": "37a5d8ee7f374c1eb15c05f5554e8c01", "version_major": 2, "version_minor": 0 }, @@ -758,30 +768,6 @@ }, "metadata": {}, "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" } ], "source": [