{ "cells": [ { "cell_type": "markdown", "id": "486f3cc3-ada8-4fc2-9055-bf55597b8ab0", "metadata": {}, "source": [ "# Flattening and glacier gridpoint selection tests:" ] }, { "cell_type": "markdown", "id": "0fbca102-4775-4389-b48c-bc0f04900593", "metadata": {}, "source": [ "- the tests take too long inside of the OGGM framework and would need all the flattened datasets. Therefore it is done here:\n", " - We check if the climate is the same of the flattened and unflattened files,\n", " - we also check if GSWP3-W5E5 is equal to the flattened W5E5v2.0 in the common time period!\n", " - did we always select the nearest glacier gridpoints? (this was wrong for around 11900 glaciers in v2022.2, but now work in v2023.2 upwards)\n", "- created test GSWP3-W5E5, ERA5 and ISIMIP3b files for pytest\n", "\n", "**Currently updated to check if RGI6, RGI7C and RGI7G glacier gridpoints are correctly included**" ] }, { "cell_type": "code", "execution_count": 14, "id": "65269134-d855-49fd-9005-725bd2f19194", "metadata": {}, "outputs": [], "source": [ "import xarray as xr\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import time\n", "from oggm import utils\n", "import sys\n", "import pandas as pd\n", "import os" ] }, { "cell_type": "markdown", "id": "f78e7cfd-ede7-4ffb-a820-9e2299e8a075", "metadata": {}, "source": [ "**Let's get all glacier longitude / latitude to check later the distance to the nearest gridpoints:**" ] }, { "cell_type": "code", "execution_count": 38, "id": "b700c805-2c0c-4097-a638-0cc543a7fdf7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "RGI60-01.00001 (-146.823, 63.689)\n", "RGI60-01.00002 (-146.668, 63.404)\n", "RGI60-01.00003 (-146.08, 63.376)\n", "RGI60-01.00004 (-146.12, 63.381)\n", "RGI60-01.00005 (-147.057, 63.551)\n", " ... \n", "RGI2000-v7.0-G-19-02738 (-3.254146774869713, -71.1422615)\n", "RGI2000-v7.0-G-19-02739 (1.161198746966389, -70.2348605)\n", "RGI2000-v7.0-G-19-02740 (2.039157613598415, -70.63090700000001)\n", "RGI2000-v7.0-G-19-02741 (2.929238357467267, -70.5055405)\n", "RGI2000-v7.0-G-19-02742 (4.329046288919026, -70.37280200000001)\n", "Name: coords, Length: 683902, dtype: object" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# get the dataset where coordinates of glaciers are stored\n", "frgi_6 = utils.file_downloader('https://cluster.klima.uni-bremen.de/~oggm/rgi/rgi62_stats.h5')\n", "odf_6 = pd.read_hdf(frgi_6, index_col=0)\n", "odf_6['coords'] = [(lon,lat) for lon,lat in zip(odf_6['CenLon'],odf_6['CenLat'])]\n", "\n", "#### glacier complexes\n", "frgi_7C = utils.file_downloader('https://cluster.klima.uni-bremen.de/~oggm/rgi/RGI2000-v7.0-C-global-attributes.csv')\n", "odf_7C = pd.read_csv(frgi_7C, index_col=0)\n", "odf_7C['coords'] = [(lon,lat) for lon,lat in zip(odf_7C['cenlon'],odf_7C['cenlat'])]\n", "#### glaciers \n", "frgi_7G = utils.file_downloader('https://cluster.klima.uni-bremen.de/~oggm/rgi/RGI2000-v7.0-G-global-attributes.csv')\n", "odf_7G = pd.read_csv(frgi_7G, index_col=0)\n", "odf_7G['coords'] = [(lon,lat) for lon,lat in zip(odf_7G['cenlon'],odf_7G['cenlat'])]\n", "\n", "# this includes now all cen lon/latitudes from the three versions, there may be \"duplicates\", but that just means that the long test takes a bit longer \n", "odf = pd.concat([odf_6, odf_7C, odf_7G]) \n", "odf['coords']" ] }, { "cell_type": "markdown", "id": "98fca757-3883-4ffe-9cd8-bfec6adccf01", "metadata": {}, "source": [ "### We start by the ultimative test that should work at the end (after reproducing preprocessing levels 3)\n", "- todo: once RGI7 gdirs are out, need to repeat this with these ones!!!" ] }, { "cell_type": "code", "execution_count": 71, "id": "92e4dd10-45e9-4b24-a9e4-a94e210a8b6e", "metadata": { "scrolled": true }, "outputs": [ { "ename": "ValueError", "evalue": "No objects to concatenate", "output_type": "error", "traceback": [ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mValueError\u001b[39m Traceback (most recent call last)", "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[71]\u001b[39m\u001b[32m, line 14\u001b[39m\n\u001b[32m 11\u001b[39m odf_prepro = pd.read_csv(filename, low_memory=\u001b[38;5;28;01mFalse\u001b[39;00m)\n\u001b[32m 12\u001b[39m li.append(odf_prepro)\n\u001b[32m---> \u001b[39m\u001b[32m14\u001b[39m odf_prepro = \u001b[43mpd\u001b[49m\u001b[43m.\u001b[49m\u001b[43mconcat\u001b[49m\u001b[43m(\u001b[49m\u001b[43mli\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[43m=\u001b[49m\u001b[32;43m0\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mignore_index\u001b[49m\u001b[43m=\u001b[49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m)\u001b[49m\n\u001b[32m 15\u001b[39m condi1 = np.abs(odf_prepro.cenlon - odf_prepro.baseline_climate_ref_pix_lon)>\u001b[32m0.25\u001b[39m\n\u001b[32m 16\u001b[39m condi2 = np.abs(odf_prepro.cenlat - odf_prepro.baseline_climate_ref_pix_lat)>\u001b[32m0.25\u001b[39m\n", "\u001b[36mFile \u001b[39m\u001b[32m~/mambaforge/envs/oggm_env_2025/lib/python3.11/site-packages/pandas/core/reshape/concat.py:382\u001b[39m, in \u001b[36mconcat\u001b[39m\u001b[34m(objs, axis, join, ignore_index, keys, levels, names, verify_integrity, sort, copy)\u001b[39m\n\u001b[32m 379\u001b[39m \u001b[38;5;28;01melif\u001b[39;00m copy \u001b[38;5;129;01mand\u001b[39;00m using_copy_on_write():\n\u001b[32m 380\u001b[39m copy = \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m382\u001b[39m op = \u001b[43m_Concatenator\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 383\u001b[39m \u001b[43m \u001b[49m\u001b[43mobjs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 384\u001b[39m \u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[43m=\u001b[49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 385\u001b[39m \u001b[43m \u001b[49m\u001b[43mignore_index\u001b[49m\u001b[43m=\u001b[49m\u001b[43mignore_index\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 386\u001b[39m \u001b[43m \u001b[49m\u001b[43mjoin\u001b[49m\u001b[43m=\u001b[49m\u001b[43mjoin\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 387\u001b[39m \u001b[43m \u001b[49m\u001b[43mkeys\u001b[49m\u001b[43m=\u001b[49m\u001b[43mkeys\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 388\u001b[39m \u001b[43m \u001b[49m\u001b[43mlevels\u001b[49m\u001b[43m=\u001b[49m\u001b[43mlevels\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 389\u001b[39m \u001b[43m \u001b[49m\u001b[43mnames\u001b[49m\u001b[43m=\u001b[49m\u001b[43mnames\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 390\u001b[39m \u001b[43m \u001b[49m\u001b[43mverify_integrity\u001b[49m\u001b[43m=\u001b[49m\u001b[43mverify_integrity\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 391\u001b[39m \u001b[43m \u001b[49m\u001b[43mcopy\u001b[49m\u001b[43m=\u001b[49m\u001b[43mcopy\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 392\u001b[39m \u001b[43m \u001b[49m\u001b[43msort\u001b[49m\u001b[43m=\u001b[49m\u001b[43msort\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 393\u001b[39m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 395\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m op.get_result()\n", "\u001b[36mFile \u001b[39m\u001b[32m~/mambaforge/envs/oggm_env_2025/lib/python3.11/site-packages/pandas/core/reshape/concat.py:445\u001b[39m, in \u001b[36m_Concatenator.__init__\u001b[39m\u001b[34m(self, objs, axis, join, keys, levels, names, ignore_index, verify_integrity, copy, sort)\u001b[39m\n\u001b[32m 442\u001b[39m \u001b[38;5;28mself\u001b[39m.verify_integrity = verify_integrity\n\u001b[32m 443\u001b[39m \u001b[38;5;28mself\u001b[39m.copy = copy\n\u001b[32m--> \u001b[39m\u001b[32m445\u001b[39m objs, keys = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_clean_keys_and_objs\u001b[49m\u001b[43m(\u001b[49m\u001b[43mobjs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkeys\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 447\u001b[39m \u001b[38;5;66;03m# figure out what our result ndim is going to be\u001b[39;00m\n\u001b[32m 448\u001b[39m ndims = \u001b[38;5;28mself\u001b[39m._get_ndims(objs)\n", "\u001b[36mFile \u001b[39m\u001b[32m~/mambaforge/envs/oggm_env_2025/lib/python3.11/site-packages/pandas/core/reshape/concat.py:507\u001b[39m, in \u001b[36m_Concatenator._clean_keys_and_objs\u001b[39m\u001b[34m(self, objs, keys)\u001b[39m\n\u001b[32m 504\u001b[39m objs_list = \u001b[38;5;28mlist\u001b[39m(objs)\n\u001b[32m 506\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(objs_list) == \u001b[32m0\u001b[39m:\n\u001b[32m--> \u001b[39m\u001b[32m507\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[33m\"\u001b[39m\u001b[33mNo objects to concatenate\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m 509\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m keys \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m 510\u001b[39m objs_list = \u001b[38;5;28mlist\u001b[39m(com.not_none(*objs_list))\n", "\u001b[31mValueError\u001b[39m: No objects to concatenate" ] } ], "source": [ "import glob\n", "sum_paths = ['/home/www/oggm/gdirs/oggm_v1.6/L3-L5_files/2025.6/elev_bands/W5E5/per_glacier_spinup/RGI62/b_160/L3/summary',\n", " '/home/www/oggm/gdirs/oggm_v1.6/L3-L5_files/2025.6/elev_bands/W5E5/regional_spinup/RGI62/b_160/L3/summary/',\n", " '/home/www/oggm/gdirs/oggm_v1.6/L3-L5_files/2025.6/elev_bands/ERA5/per_glacier_spinup/RGI62/b_160/L3/summary/',\n", " '/home/www/oggm/gdirs/oggm_v1.6/L3-L5_files/2023.3/elev_bands/W5E5_spinup/RGI62/b_160/L3/summary/']\n", "for sum_path in sum_paths:\n", " all_files = glob.glob(f'{sum_path}/glacier_statistics_*.csv')\n", " \n", " li = []\n", " for filename in all_files:\n", " odf_prepro = pd.read_csv(filename, low_memory=False)\n", " li.append(odf_prepro)\n", " \n", " odf_prepro = pd.concat(li, axis=0, ignore_index=True)\n", " condi1 = np.abs(odf_prepro.cenlon - odf_prepro.baseline_climate_ref_pix_lon)>0.25\n", " condi2 = np.abs(odf_prepro.cenlat - odf_prepro.baseline_climate_ref_pix_lat)>0.25\n", " assert len(odf_prepro.loc[condi1 | condi2]) == 0" ] }, { "cell_type": "code", "execution_count": 76, "id": "e2be981e-765b-4796-8a6e-027c21f77d8f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'/home/www/oggm/gdirs/oggm_v1.6/L3-L5_files/2023.3/elev_bands/W5E5_spinup/RGI62/b_160/L3/summary/'" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sum_path" ] }, { "cell_type": "code", "execution_count": 78, "id": "d8b9430d-56ab-47a1-b202-8a97977bbcfd", "metadata": {}, "outputs": [ { "ename": "AssertionError", "evalue": "", "output_type": "error", "traceback": [ "\u001b[31m---------------------------------------------------------------------------\u001b[39m", "\u001b[31mAssertionError\u001b[39m Traceback (most recent call last)", "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[78]\u001b[39m\u001b[32m, line 22\u001b[39m\n\u001b[32m 20\u001b[39m condi1 = np.abs(odf_prepro.cenlon - odf_prepro.baseline_climate_ref_pix_lon)>res\n\u001b[32m 21\u001b[39m condi2 = np.abs(odf_prepro.cenlat - odf_prepro.baseline_climate_ref_pix_lat)>res\n\u001b[32m---> \u001b[39m\u001b[32m22\u001b[39m \u001b[38;5;28;01massert\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(odf_prepro.loc[condi1 | condi2]) == \u001b[32m0\u001b[39m\n", "\u001b[31mAssertionError\u001b[39m: " ] } ], "source": [ "import glob\n", "sum_paths = ['/home/www/oggm/gdirs/oggm_v1.6/L3-L5_files/2025.6/elev_bands/W5E5/per_glacier_spinup/RGI62/b_160/L3/summary',\n", " '/home/www/oggm/gdirs/oggm_v1.6/L3-L5_files/2025.6/elev_bands/W5E5/regional_spinup/RGI62/b_160/L3/summary/',\n", " '/home/www/oggm/gdirs/oggm_v1.6/L3-L5_files/2023.3/elev_bands/W5E5_spinup/RGI62/b_160/L5/summary/',\n", " '/home/www/oggm/gdirs/oggm_v1.6/L3-L5_files/2025.6/elev_bands/ERA5/per_glacier_spinup/RGI62/b_160/L3/summary/']\n", "\n", "for sum_path in sum_paths:\n", " if 'ERA5' in sum_path:\n", " res = 0.25/2\n", " else:\n", " res = 0.25\n", " all_files = glob.glob(f'{sum_path}/glacier_statistics_*.csv')\n", " \n", " li = []\n", " for filename in all_files:\n", " odf_prepro = pd.read_csv(filename, low_memory=False)\n", " li.append(odf_prepro)\n", " \n", " odf_prepro = pd.concat(li, axis=0, ignore_index=True)\n", " condi1 = np.abs(odf_prepro.cenlon - odf_prepro.baseline_climate_ref_pix_lon)>res\n", " condi2 = np.abs(odf_prepro.cenlat - odf_prepro.baseline_climate_ref_pix_lat)>res\n", " assert len(odf_prepro.loc[condi1 | condi2]) == 0" ] }, { "cell_type": "code", "execution_count": 79, "id": "84e9e4f6-b9f8-4781-9a88-12dc69a70926", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | rgi_id | \n", "rgi_region | \n", "rgi_subregion | \n", "name | \n", "cenlon | \n", "cenlat | \n", "rgi_area_km2 | \n", "rgi_year | \n", "glacier_type | \n", "terminus_type | \n", "... | \n", "reference_period | \n", "temp_default_gradient | \n", "temp_all_solid | \n", "temp_all_liq | \n", "temp_melt | \n", "dem_needed_interpolation | \n", "dem_invalid_perc | \n", "dem_needed_extrapolation | \n", "dem_extrapol_perc | \n", "dem_invalid_perc_in_mask | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 180145 | \n", "RGI60-19.01497 | \n", "19 | \n", "19-01 | \n", "NaN | \n", "-179.917000 | \n", "-67.400600 | \n", "0.071 | \n", "1995 | \n", "Glacier | \n", "Marine-terminating | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 186438 | \n", "RGI60-10.05038 | \n", "10 | \n", "10-06 | \n", "NaN | \n", "-179.918259 | \n", "66.267303 | \n", "0.078 | \n", "2009 | \n", "Glacier | \n", "Land-terminating | \n", "... | \n", "2000-01-01_2020-01-01 | \n", "-0.0065 | \n", "0.0 | \n", "2.0 | \n", "-1.0 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 186449 | \n", "RGI60-10.05049 | \n", "10 | \n", "10-06 | \n", "NaN | \n", "-179.915527 | \n", "66.276108 | \n", "0.063 | \n", "2009 | \n", "Glacier | \n", "Land-terminating | \n", "... | \n", "2000-01-01_2020-01-01 | \n", "-0.0065 | \n", "0.0 | \n", "2.0 | \n", "-1.0 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 186450 | \n", "RGI60-10.05050 | \n", "10 | \n", "10-06 | \n", "NaN | \n", "-179.928802 | \n", "66.261826 | \n", "0.046 | \n", "2009 | \n", "Glacier | \n", "Land-terminating | \n", "... | \n", "2000-01-01_2020-01-01 | \n", "-0.0065 | \n", "0.0 | \n", "2.0 | \n", "-1.0 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 211310 | \n", "RGI60-11.03228 | \n", "11 | \n", "11-02 | \n", "Taillon | \n", "-0.039683 | \n", "42.695419 | \n", "0.083 | \n", "2011 | \n", "Glacier | \n", "Land-terminating | \n", "... | \n", "2000-01-01_2020-01-01 | \n", "-0.0065 | \n", "0.0 | \n", "2.0 | \n", "-1.0 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 211311 | \n", "RGI60-11.03229 | \n", "11 | \n", "11-02 | \n", "Gabietous | \n", "-0.057456 | \n", "42.695129 | \n", "0.087 | \n", "2011 | \n", "Glacier | \n", "Land-terminating | \n", "... | \n", "2000-01-01_2020-01-01 | \n", "-0.0065 | \n", "0.0 | \n", "2.0 | \n", "-1.0 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
6 rows × 69 columns
\n", "| \n", " | rgi_id | \n", "rgi_region | \n", "rgi_subregion | \n", "name | \n", "cenlon | \n", "cenlat | \n", "rgi_area_km2 | \n", "rgi_year | \n", "glacier_type | \n", "terminus_type | \n", "... | \n", "reference_period | \n", "temp_default_gradient | \n", "temp_all_solid | \n", "temp_all_liq | \n", "temp_melt | \n", "dem_needed_interpolation | \n", "dem_invalid_perc | \n", "dem_needed_extrapolation | \n", "dem_extrapol_perc | \n", "dem_invalid_perc_in_mask | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 32589 | \n", "RGI60-19.01497 | \n", "19 | \n", "19-01 | \n", "NaN | \n", "-179.917000 | \n", "-67.400600 | \n", "0.071 | \n", "1995 | \n", "Glacier | \n", "Marine-terminating | \n", "... | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 38882 | \n", "RGI60-10.05038 | \n", "10 | \n", "10-06 | \n", "NaN | \n", "-179.918259 | \n", "66.267303 | \n", "0.078 | \n", "2009 | \n", "Glacier | \n", "Land-terminating | \n", "... | \n", "2000-01-01_2020-01-01 | \n", "-0.0065 | \n", "0.0 | \n", "2.0 | \n", "-1.0 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 38893 | \n", "RGI60-10.05049 | \n", "10 | \n", "10-06 | \n", "NaN | \n", "-179.915527 | \n", "66.276108 | \n", "0.063 | \n", "2009 | \n", "Glacier | \n", "Land-terminating | \n", "... | \n", "2000-01-01_2020-01-01 | \n", "-0.0065 | \n", "0.0 | \n", "2.0 | \n", "-1.0 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 38894 | \n", "RGI60-10.05050 | \n", "10 | \n", "10-06 | \n", "NaN | \n", "-179.928802 | \n", "66.261826 | \n", "0.046 | \n", "2009 | \n", "Glacier | \n", "Land-terminating | \n", "... | \n", "2000-01-01_2020-01-01 | \n", "-0.0065 | \n", "0.0 | \n", "2.0 | \n", "-1.0 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 63754 | \n", "RGI60-11.03228 | \n", "11 | \n", "11-02 | \n", "Taillon | \n", "-0.039683 | \n", "42.695419 | \n", "0.083 | \n", "2011 | \n", "Glacier | \n", "Land-terminating | \n", "... | \n", "2000-01-01_2020-01-01 | \n", "-0.0065 | \n", "0.0 | \n", "2.0 | \n", "-1.0 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
| 63755 | \n", "RGI60-11.03229 | \n", "11 | \n", "11-02 | \n", "Gabietous | \n", "-0.057456 | \n", "42.695129 | \n", "0.087 | \n", "2011 | \n", "Glacier | \n", "Land-terminating | \n", "... | \n", "2000-01-01_2020-01-01 | \n", "-0.0065 | \n", "0.0 | \n", "2.0 | \n", "-1.0 | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "NaN | \n", "
6 rows × 87 columns
\n", "| \n", " | rgi_id | \n", "rgi_subregion | \n", "name | \n", "cenlon | \n", "cenlat | \n", "rgi_area_km2 | \n", "rgi_year | \n", "glacier_type | \n", "terminus_type | \n", "is_tidewater | \n", "... | \n", "reference_period | \n", "temp_default_gradient | \n", "temp_all_solid | \n", "temp_all_liq | \n", "temp_melt | \n", "dem_needed_interpolation | \n", "dem_invalid_perc | \n", "dem_needed_extrapolation | \n", "dem_extrapol_perc | \n", "dem_invalid_perc_in_mask | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| rgi_region | \n", "\n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " | \n", " |
0 rows × 68 columns
\n", "