{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "b1fbbee8-6432-4a7e-98e9-8d821393977c",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import oggm\n",
    "import rioxarray as rioxr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "6abd6e6f-de3b-4da7-95e7-beca8cfbb036",
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_parquet('iceboost_compiled_rgi70G_v20260705.parquet')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "ba71a8fd-2150-4524-b37f-0a548af23349",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "np.float64(149317.72455807065)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.vol_km3.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "dcf10ed1-aae6-41b4-891a-13e1e3817283",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "id": "3dad3aa1-b179-4003-8592-89d7c99319e9",
   "metadata": {},
   "outputs": [],
   "source": [
    "df = df[['vol_km3_attrs', 'vol_bsl_km3_attrs', 'area']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "id": "1d3861e6-01fc-4c8a-b903-0009923abcaf",
   "metadata": {},
   "outputs": [],
   "source": [
    "df.columns = ['vol_km3', 'vol_bsl_km3', 'area']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "id": "2a7ce9b8-dc1f-4e81-8b2a-1b87a2ecaa1e",
   "metadata": {},
   "outputs": [],
   "source": [
    "df.to_csv('iceboostv2_compiled_rgi70G_v20260701.csv')\n",
    "df.to_parquet('iceboostv2_compiled_rgi70G_v20260701.parquet', \n",
    "              engine='pyarrow', compression='zstd')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "id": "941bd977-7d2d-43e0-8053-587a93202408",
   "metadata": {},
   "outputs": [],
   "source": [
    "df.to_hdf('iceboostv2_compiled_rgi70G_v20260701.hdf', key='df')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "e95855ae-af16-4b97-9de4-76c2aa487dc5",
   "metadata": {},
   "outputs": [],
   "source": [
    "from oggm.utils import get_rgi7c_to_g_links"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "8f3a3596-7a88-4abf-80f5-8e06fdbb331c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "01\n",
      "02\n",
      "03\n",
      "04\n",
      "05\n",
      "06\n",
      "07\n",
      "08\n",
      "09\n",
      "10\n",
      "11\n",
      "12\n",
      "13\n",
      "14\n",
      "15\n",
      "16\n",
      "17\n",
      "18\n",
      "19\n"
     ]
    }
   ],
   "source": [
    "odf = {}\n",
    "for reg in range(1, 20):\n",
    "    print(f'{reg:02d}')\n",
    "    rgi7c_to_g_links = get_rgi7c_to_g_links(f'{reg:02d}')\n",
    "    for rgi7cid, rgi7gids in rgi7c_to_g_links.items():\n",
    "        odf[rgi7cid] = df.loc[rgi7gids].sum()\n",
    "odf = pd.DataFrame.from_dict(odf, orient='index')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "9db315f4-55d7-4cfa-ba4d-5095049ac25b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "vol_km3_grid        1.537251e+05\n",
       "vol_bsl_km3_grid    1.462739e+04\n",
       "area_km2_grid       7.705675e+05\n",
       "dx_grid             9.849176e+06\n",
       "vol_km3             1.493177e+05\n",
       "vol_err_km3         3.762614e+04\n",
       "vol_bsl_km3         1.407836e+04\n",
       "vol_bsl_err_km3     8.611883e+03\n",
       "area_km2            7.067441e+05\n",
       "dtype: float64"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "odf.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "9696ca22-2f2f-43a0-8e66-041fb8eb8115",
   "metadata": {},
   "outputs": [],
   "source": [
    "odf.to_csv('iceboostv2_compiled_rgi70C_v20260705.csv')\n",
    "odf.to_parquet('iceboostv2_compiled_rgi70C_v20260705.parquet', \n",
    "              engine='pyarrow', compression='zstd')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "948d887d-4a94-4a85-9050-20289ad64ac5",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "id": "1b8ac3e8-2039-4e0d-8a15-8d561610f90f",
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_csv('iceboost_compiled_rgi62.csv', index_col=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "id": "09624383-bd2b-4e24-9678-ec3da03680d1",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "np.float64(162556.9218972969)"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.vol_km3_attrs.sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "id": "352fda3e-e472-4508-8479-c94205ace7aa",
   "metadata": {},
   "outputs": [],
   "source": [
    "df = df[['vol_km3_attrs', 'vol_bsl_km3_attrs', 'area']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "id": "63595615-c8d5-4a80-b096-a5873c9ff5b2",
   "metadata": {},
   "outputs": [],
   "source": [
    "df.columns = ['vol_km3', 'vol_bsl_km3', 'area']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "id": "24d2451a-2028-42b0-b4a8-d5495cea59f0",
   "metadata": {},
   "outputs": [],
   "source": [
    "df.to_csv('iceboostv2_compiled_rgi62_v20260701.csv')\n",
    "df.to_parquet('iceboostv2_compiled_rgi62_v20260701.parquet', \n",
    "              engine='pyarrow', compression='zstd')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "id": "71014499-02b5-40d2-b128-ba48596d99bb",
   "metadata": {},
   "outputs": [],
   "source": [
    "df.to_hdf('iceboostv2_compiled_rgi62_v20260701.hdf', key='df')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "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.13.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
