{ "cells": [ { "cell_type": "markdown", "id": "d4185627-8c90-40df-be43-405dd22a6cf0", "metadata": {}, "source": [ "# Workflow to analyse the raw oggm output per glacier projection files " ] }, { "cell_type": "code", "execution_count": 1, "id": "89e71823-f643-4620-8b81-2aa2864435af", "metadata": {}, "outputs": [], "source": [ "import xarray as xr\n", "import pandas as pd\n", "import progressbar\n", "import numpy as np\n", "from oggm.utils import mkdir\n", "import matplotlib.pyplot as plt\n", "import json\n", "import os" ] }, { "cell_type": "code", "execution_count": 2, "id": "71b8a117-a7e4-43fc-91dc-8cce26277771", "metadata": {}, "outputs": [], "source": [ "# raw output files -> change that to your local path\n", "dirpath = '/home/www/oggm/oggm-standard-projections/oggm_v16/2023.3'" ] }, { "cell_type": "code", "execution_count": 3, "id": "0e635d01-50fb-43fa-9108-e28744994798", "metadata": {}, "outputs": [], "source": [ "### get the GCMs and SSPs until 2100 (those \n", "# can download it like that, or do it manually ... \n", "import oggm\n", "fp_metadata = oggm.utils.file_downloader('/home/www/oggm/oggm-standard-projections/oggm-standard-projections-csv-files/1.6.1/common_running_2100/metadata.csv')\n", "pd_meta_2100 = pd.read_csv(fp_metadata, index_col=0)\n", "pd_meta_2100 = pd_meta_2100.loc[pd_meta_2100.end_year == 2100]\n", "pd_meta_2100['gcm_scenario'] = pd_meta_2100.gcm_original + '_' + pd_meta_2100.scenario # we use here gcm_original, as some GCMs have upper and lower cases \n", "pd_meta_2100 = pd_meta_2100.loc[(pd_meta_2100.cmip == 'CMIP6')]\n", "gcms_scenarios = pd_meta_2100['gcm_scenario'].unique()\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "61b7b431-bcc7-48ce-becf-8c6857316f98", "metadata": {}, "outputs": [], "source": [ "RGI_Shylok = pd.read_csv('RGI_Shylok.csv')\n", "RGI_Upper_Indus = pd.read_csv(\"RGI_Upper_Indus.csv\")\n", "\n", "list_RGI_Shylok = list(RGI_Shylok[\"RGIId\"])\n", "list_RGI_Upper_Indus = list(RGI_Upper_Indus[\"RGIId\"])\n", "\n", "#list_RGI_Upper_Indus" ] }, { "cell_type": "code", "execution_count": 5, "id": "0c178b78-dd40-442f-a4ce-dbf1e102ef5e", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "GFDL-ESM4_ssp370\n", "GFDL-ESM4_ssp119\n", "EC-Earth3-Veg_ssp245\n", "CESM2-WACCM_ssp534-over\n", "EC-Earth3_ssp126\n", "NorESM2-MM_ssp126\n", "FGOALS-f3-L_ssp245\n", "ACCESS-CM2_ssp585\n", "CESM2_ssp126\n", "CanESM5_ssp534-over\n", "IPSL-CM6A-LR_ssp585\n", "BCC-CSM2-MR_ssp245\n", "MRI-ESM2-0_ssp534-over\n", "BCC-CSM2-MR_ssp370\n", "CAMS-CSM1-0_ssp585\n", "FGOALS-f3-L_ssp370\n", "CESM2-WACCM_ssp585\n", "MPI-ESM1-2-HR_ssp585\n", "EC-Earth3-Veg_ssp370\n", "EC-Earth3-Veg_ssp119\n", "INM-CM5-0_ssp126\n", "INM-CM4-8_ssp126\n", "CanESM5_ssp126\n", "GFDL-ESM4_ssp245\n", "MRI-ESM2-0_ssp370\n", "MRI-ESM2-0_ssp119\n", "IPSL-CM6A-LR_ssp126\n", "ACCESS-CM2_ssp126\n", "CESM2_ssp585\n", "NorESM2-MM_ssp585\n", "EC-Earth3_ssp585\n", "MPI-ESM1-2-HR_ssp126\n", "CESM2-WACCM_ssp126\n", "CAMS-CSM1-0_ssp126\n", "CMCC-CM2-SR5_ssp245\n", "CanESM5_ssp585\n", "INM-CM5-0_ssp585\n", "INM-CM4-8_ssp585\n", "MRI-ESM2-0_ssp245\n", "EC-Earth3-Veg_ssp585\n", "MPI-ESM1-2-HR_ssp370\n", "CESM2-WACCM_ssp370\n", "CAMS-CSM1-0_ssp370\n", "FGOALS-f3-L_ssp585\n", "ACCESS-ESM1-5_ssp585\n", "BCC-CSM2-MR_ssp585\n", "CAMS-CSM1-0_ssp119\n", "IPSL-CM6A-LR_ssp534-over\n", "CAMS-CSM1-0_ssp245\n", "CESM2-WACCM_ssp245\n", "MPI-ESM1-2-HR_ssp245\n", "MRI-ESM2-0_ssp126\n", "MRI-ESM2-0_ssp460\n", "GFDL-ESM4_ssp585\n", "EC-Earth3-Veg_ssp126\n", "INM-CM5-0_ssp370\n", "INM-CM4-8_ssp370\n", "BCC-CSM2-MR_ssp126\n", "ACCESS-ESM1-5_ssp126\n", "CESM2_ssp245\n", "FGOALS-f3-L_ssp126\n", "TaiESM1_ssp585\n", "NorESM2-MM_ssp245\n", "EC-Earth3_ssp245\n", "MRI-ESM2-0_ssp434\n", "EC-Earth3_ssp370\n", "NorESM2-MM_ssp370\n", "CESM2_ssp370\n", "CMCC-CM2-SR5_ssp585\n", "GFDL-ESM4_ssp126\n", "INM-CM4-8_ssp245\n", "INM-CM5-0_ssp245\n", "MRI-ESM2-0_ssp585\n" ] } ], "source": [ "bc = '_bc_2000_2019' # bias correction from 2000 to 2019 (at the moment, this is the only option that has been simulated globally)\n", "cmip = 'CMIP6' \n", "endyr = 2100 # take the simulations that go until 2300\n", "hist = 'gcm_from_2000' # take the simulations where we use the GCMs from 2000 onwards\n", "\n", "dfs = []\n", "for rgi_reg in [14]: # all RGI regions would be np.arange(1,20,1)\n", " df = []\n", " for gcm_scen in gcms_scenarios: \n", " #try:\n", " # need to download the data first, if you are not on the oggm cluster and then adapt the path here:\n", " dpath = f'{dirpath}/{cmip}/{endyr}/RGI{rgi_reg:02}'\n", " with xr.open_mfdataset(f'{dpath}/run_hydro_{hist}_{gcm_scen}{bc}*.nc') as ds:\n", " ds = ds.sel(rgi_id = list_RGI_Upper_Indus) #list_RGI_Shylok\n", " ds = ds[['melt_off_glacier_monthly', 'melt_on_glacier_monthly', 'liq_prcp_off_glacier_monthly', 'liq_prcp_on_glacier_monthly',\n", " 'volume']].load()\n", " #ds['runoff'] = ds['melt_off_glacier']+ds['melt_on_glacier']+ ds['liq_prcp_off_glacier'] +ds['liq_prcp_on_glacier']\n", " ds['runoff_monthly'] = ds['melt_off_glacier_monthly']+ds['melt_on_glacier_monthly']+ ds['liq_prcp_off_glacier_monthly'] +ds['liq_prcp_on_glacier_monthly']\n", " \n", " # could also instead select the common running glaciers if they have been computed already\n", " # ds = ds.sel(rgi_id=rgi_reg_glaciers_working)\n", " # and then directly do the sum or anything\n", " n_running_rgis = len(ds.rgi_id)\n", " #ds = ds.sum(dim='rgi_id')\n", " ds.coords['rgi_reg'] = f'{rgi_reg:02}'\n", " ds.coords['gcm_scenario'] = gcm_scen\n", " ds.coords['gcm'] = gcm_scen.split('_')[0]\n", " ds.coords['scenario'] = gcm_scen.split('_')[1]\n", " df.append(ds)\n", "\n", " \n", " print(gcm_scen) \n", " #dff = xr.concat(df, dim='gcm_scenario', fill_value=np.NaN)\n", " #df = df.expand_dims('rgi_reg')\n", " #dfs.append(dff)\n", "\n", "#dff_sel_1 = xr.concat(dfs, dim='rgi_reg')\n", "#dff_sel_1.coords['bias_correction'] = bc[1:]\n", "#dff_sel_1.coords['hist'] = hist" ] }, { "cell_type": "code", "execution_count": 6, "id": "8ca35330-514b-467a-81b6-6648e238e4c5", "metadata": {}, "outputs": [], "source": [ "dff = xr.concat(df, dim='gcm_scenario', fill_value=np.NaN)" ] }, { "cell_type": "code", "execution_count": 7, "id": "05fbac25-ada5-4370-ad50-d7046e0e0b83", "metadata": {}, "outputs": [], "source": [ "dff.to_netcdf('runoff_monthly_upper_indus.nc')\n", "#dff.to_netcdf('runoff_monthly_shylok.nc')" ] }, { "cell_type": "code", "execution_count": null, "id": "251a907e-2bf1-48d9-8d37-7ddabd2d010a", "metadata": {}, "outputs": [], "source": [ "#dff.to_netcdf(\"Upper_Indus_monthly\")" ] }, { "cell_type": "code", "execution_count": null, "id": "680af684-878c-49cf-a3d6-f92f6ff5f7a7", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "cc55cfc4-cf30-4700-a4ae-6aa70505a444", "metadata": {}, "outputs": [], "source": [ "# IPCC colors from: https://pyam-iamc.readthedocs.io/en/stable/tutorials/ipcc_colors.html\n", "colors_scenario = {'ssp126': '#003466',\n", " 'ssp370':'#df0000',\n", " 'ssp585':'#980002'}\n", "\n", "import seaborn as sns\n", "# create a pandas dataframe which facilitates plotting with seaborn\n", "pd_runoff = dff.runoff.to_dataframe().reset_index().dropna()\n", "for scen in ['ssp126', 'ssp370', 'ssp585']:\n", " pd_sel = pd_runoff.loc[pd_runoff.scenario==scen]\n", " n_gcm = len(pd_sel.gcm.unique())\n", " sns.lineplot(data=pd_sel,\n", " x='time', y= 'runoff',\n", " errorbar=('pi', 100), estimator='median',\n", " color= colors_scenario[scen],\n", " label=f'{scen}, n={n_gcm} GCMs'\n", " )\n", "plt.ylabel('runoff (kg year-1)')\n", "plt.legend(title='median and total range')" ] }, { "cell_type": "code", "execution_count": null, "id": "d0f1483a-05af-4291-84d8-d1438718b2a5", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "fb4722df-0532-4ec4-8702-40598c377ca2", "metadata": {}, "source": [ "### Load a single file" ] }, { "cell_type": "code", "execution_count": 3, "id": "a13c426b-f2d4-4ac3-ab71-46ebd91ff424", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_660/3982805575.py:4: DeprecationWarning: dropping variables using `drop` is deprecated; use drop_vars.\n", " ds = ds.drop(['hydro_year', 'hydro_month', 'calendar_year', 'calendar_month','calendar_month_2d'])\n" ] }, { "data": { "text/html": [ "
<xarray.Dataset> Size: 46MB\n",
"Dimensions: (time: 101, rgi_id: 1000, month_2d: 12)\n",
"Coordinates:\n",
" * time (time) float64 808B 2e+03 ... 2.1e+03\n",
" * rgi_id (rgi_id) <U14 56kB 'RGI60-14.00001' ... 'RG...\n",
" * month_2d (month_2d) int64 96B 1 2 3 4 5 ... 9 10 11 12\n",
"Data variables: (12/29)\n",
" volume (time, rgi_id) float32 404kB dask.array<chunksize=(101, 1000), meta=np.ndarray>\n",
" volume_bsl (time, rgi_id) float32 404kB dask.array<chunksize=(101, 1000), meta=np.ndarray>\n",
" volume_bwl (time, rgi_id) float32 404kB dask.array<chunksize=(101, 1000), meta=np.ndarray>\n",
" area (time, rgi_id) float32 404kB dask.array<chunksize=(101, 1000), meta=np.ndarray>\n",
" length (time, rgi_id) float32 404kB dask.array<chunksize=(101, 1000), meta=np.ndarray>\n",
" calving (time, rgi_id) float32 404kB dask.array<chunksize=(101, 1000), meta=np.ndarray>\n",
" ... ...\n",
" snowfall_on_glacier_monthly (time, month_2d, rgi_id) float32 5MB dask.array<chunksize=(101, 12, 1000), meta=np.ndarray>\n",
" snow_bucket_monthly (time, month_2d, rgi_id) float32 5MB dask.array<chunksize=(101, 12, 1000), meta=np.ndarray>\n",
" residual_mb_monthly (time, month_2d, rgi_id) float32 5MB dask.array<chunksize=(101, 12, 1000), meta=np.ndarray>\n",
" water_level (rgi_id) float32 4kB dask.array<chunksize=(1000,), meta=np.ndarray>\n",
" glen_a (rgi_id) float32 4kB dask.array<chunksize=(1000,), meta=np.ndarray>\n",
" fs (rgi_id) float32 4kB dask.array<chunksize=(1000,), meta=np.ndarray>\n",
"Attributes:\n",
" description: OGGM model output\n",
" oggm_version: 1.6.1.dev26+gf8a1745\n",
" calendar: 365-day no leap\n",
" creation_date: 2023-07-27 12:45:22<xarray.Dataset> Size: 46MB\n",
"Dimensions: (time: 101, rgi_id: 1000, month_2d: 12)\n",
"Coordinates:\n",
" * time (time) float64 808B 2e+03 ... 2.1e+03\n",
" * rgi_id (rgi_id) <U14 56kB 'RGI60-14.00001' ... 'RG...\n",
" * month_2d (month_2d) int64 96B 1 2 3 4 5 ... 9 10 11 12\n",
"Data variables: (12/29)\n",
" volume (time, rgi_id) float32 404kB dask.array<chunksize=(101, 1000), meta=np.ndarray>\n",
" volume_bsl (time, rgi_id) float32 404kB dask.array<chunksize=(101, 1000), meta=np.ndarray>\n",
" volume_bwl (time, rgi_id) float32 404kB dask.array<chunksize=(101, 1000), meta=np.ndarray>\n",
" area (time, rgi_id) float32 404kB dask.array<chunksize=(101, 1000), meta=np.ndarray>\n",
" length (time, rgi_id) float32 404kB dask.array<chunksize=(101, 1000), meta=np.ndarray>\n",
" calving (time, rgi_id) float32 404kB dask.array<chunksize=(101, 1000), meta=np.ndarray>\n",
" ... ...\n",
" snowfall_on_glacier_monthly (time, month_2d, rgi_id) float32 5MB dask.array<chunksize=(101, 12, 1000), meta=np.ndarray>\n",
" snow_bucket_monthly (time, month_2d, rgi_id) float32 5MB dask.array<chunksize=(101, 12, 1000), meta=np.ndarray>\n",
" residual_mb_monthly (time, month_2d, rgi_id) float32 5MB dask.array<chunksize=(101, 12, 1000), meta=np.ndarray>\n",
" water_level (rgi_id) float32 4kB dask.array<chunksize=(1000,), meta=np.ndarray>\n",
" glen_a (rgi_id) float32 4kB dask.array<chunksize=(1000,), meta=np.ndarray>\n",
" fs (rgi_id) float32 4kB dask.array<chunksize=(1000,), meta=np.ndarray>\n",
"Attributes:\n",
" description: OGGM model output\n",
" oggm_version: 1.6.1.dev26+gf8a1745\n",
" calendar: 365-day no leap\n",
" creation_date: 2023-07-27 12:45:22| \n", " | description | \n", "unit | \n", "coords | \n", "
|---|---|---|---|
| variable | \n", "\n", " | \n", " | \n", " |
| volume | \n", "Total glacier volume | \n", "m 3 | \n", "['time', 'rgi_id'] | \n", "
| volume_bsl | \n", "Glacier volume below sea-level | \n", "m 3 | \n", "['time', 'rgi_id'] | \n", "
| volume_bwl | \n", "Glacier volume below water-level | \n", "m 3 | \n", "['time', 'rgi_id'] | \n", "
| area | \n", "Total glacier area | \n", "m 2 | \n", "['time', 'rgi_id'] | \n", "
| length | \n", "Glacier length | \n", "m | \n", "['time', 'rgi_id'] | \n", "
| calving | \n", "Total accumulated calving flux | \n", "m 3 | \n", "['time', 'rgi_id'] | \n", "
| calving_rate | \n", "Calving rate | \n", "m yr-1 | \n", "['time', 'rgi_id'] | \n", "
| off_area | \n", "Off-glacier area | \n", "m 2 | \n", "['time', 'rgi_id'] | \n", "
| on_area | \n", "On-glacier area | \n", "m 2 | \n", "['time', 'rgi_id'] | \n", "
| melt_off_glacier | \n", "Off-glacier melt | \n", "kg yr-1 | \n", "['time', 'rgi_id'] | \n", "
| melt_on_glacier | \n", "On-glacier melt | \n", "kg yr-1 | \n", "['time', 'rgi_id'] | \n", "
| liq_prcp_off_glacier | \n", "Off-glacier liquid precipitation | \n", "kg yr-1 | \n", "['time', 'rgi_id'] | \n", "
| liq_prcp_on_glacier | \n", "On-glacier liquid precipitation | \n", "kg yr-1 | \n", "['time', 'rgi_id'] | \n", "
| snowfall_off_glacier | \n", "Off-glacier solid precipitation | \n", "kg yr-1 | \n", "['time', 'rgi_id'] | \n", "
| snowfall_on_glacier | \n", "On-glacier solid precipitation | \n", "kg yr-1 | \n", "['time', 'rgi_id'] | \n", "
| snow_bucket | \n", "Off-glacier snow reservoir (state variable) | \n", "kg | \n", "['time', 'rgi_id'] | \n", "
| model_mb | \n", "Annual mass balance from dynamical model | \n", "kg yr-1 | \n", "['time', 'rgi_id'] | \n", "
| residual_mb | \n", "Difference (before correction) between mb mode... | \n", "kg yr-1 | \n", "['time', 'rgi_id'] | \n", "
| melt_off_glacier_monthly | \n", "\n", " | kg month-1 | \n", "['time', 'rgi_id', 'month_2d'] | \n", "
| melt_on_glacier_monthly | \n", "\n", " | kg month-1 | \n", "['time', 'rgi_id', 'month_2d'] | \n", "
| liq_prcp_off_glacier_monthly | \n", "\n", " | kg month-1 | \n", "['time', 'rgi_id', 'month_2d'] | \n", "
| liq_prcp_on_glacier_monthly | \n", "\n", " | kg month-1 | \n", "['time', 'rgi_id', 'month_2d'] | \n", "
| snowfall_off_glacier_monthly | \n", "\n", " | kg month-1 | \n", "['time', 'rgi_id', 'month_2d'] | \n", "
| snowfall_on_glacier_monthly | \n", "\n", " | kg month-1 | \n", "['time', 'rgi_id', 'month_2d'] | \n", "
| snow_bucket_monthly | \n", "\n", " | kg month-1 | \n", "['time', 'rgi_id', 'month_2d'] | \n", "
| residual_mb_monthly | \n", "\n", " | kg month-1 | \n", "['time', 'rgi_id', 'month_2d'] | \n", "
| water_level | \n", "Calving water level | \n", "\n", " | ['rgi_id'] | \n", "
| glen_a | \n", "Simulation Glen A | \n", "\n", " | ['rgi_id'] | \n", "
| fs | \n", "Simulation sliding parameter | \n", "\n", " | ['rgi_id'] | \n", "
<xarray.Dataset> Size: 46MB\n",
"Dimensions: (time: 101, rgi_id: 999, month_2d: 12)\n",
"Coordinates:\n",
" * time (time) float64 808B 2e+03 ... 2.1e+03\n",
" * rgi_id (rgi_id) <U14 56kB 'RGI60-14.00001' ... 'RG...\n",
" * month_2d (month_2d) int64 96B 1 2 3 4 5 ... 9 10 11 12\n",
"Data variables: (12/29)\n",
" volume (time, rgi_id) float32 404kB dask.array<chunksize=(101, 999), meta=np.ndarray>\n",
" volume_bsl (time, rgi_id) float32 404kB dask.array<chunksize=(101, 999), meta=np.ndarray>\n",
" volume_bwl (time, rgi_id) float32 404kB dask.array<chunksize=(101, 999), meta=np.ndarray>\n",
" area (time, rgi_id) float32 404kB dask.array<chunksize=(101, 999), meta=np.ndarray>\n",
" length (time, rgi_id) float32 404kB dask.array<chunksize=(101, 999), meta=np.ndarray>\n",
" calving (time, rgi_id) float32 404kB dask.array<chunksize=(101, 999), meta=np.ndarray>\n",
" ... ...\n",
" snowfall_on_glacier_monthly (time, month_2d, rgi_id) float32 5MB dask.array<chunksize=(101, 12, 999), meta=np.ndarray>\n",
" snow_bucket_monthly (time, month_2d, rgi_id) float32 5MB dask.array<chunksize=(101, 12, 999), meta=np.ndarray>\n",
" residual_mb_monthly (time, month_2d, rgi_id) float32 5MB dask.array<chunksize=(101, 12, 999), meta=np.ndarray>\n",
" water_level (rgi_id) float32 4kB dask.array<chunksize=(999,), meta=np.ndarray>\n",
" glen_a (rgi_id) float32 4kB dask.array<chunksize=(999,), meta=np.ndarray>\n",
" fs (rgi_id) float32 4kB dask.array<chunksize=(999,), meta=np.ndarray>\n",
"Attributes:\n",
" description: OGGM model output\n",
" oggm_version: 1.6.1.dev26+gf8a1745\n",
" calendar: 365-day no leap\n",
" creation_date: 2023-07-27 12:45:22| \n", " | cmip | \n", "gcm_original | \n", "gcm | \n", "scenario | \n", "rgi_reg | \n", "end_year | \n", "bias_correction | \n", "perc_area_missing | \n", "fpath | \n", "exp | \n", "historical_future_option | \n", "oggm_version | \n", "gcm_scenario | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ISIMIP3b_CMIP6:2100:MRI-ESM2-0:ssp585:RGI11 | \n", "ISIMIP3b_CMIP6 | \n", "mri-esm2-0 | \n", "MRI-ESM2-0 | \n", "ssp585 | \n", "RGI11 | \n", "2100 | \n", "ISIMIP3b:1979-2014 | \n", "0.000495 | \n", "/home/www/oggm/oggm-standard-projections/oggm_... | \n", "match_geod_pergla | \n", "w5e5_gcm_merged | \n", "oggm_v1.6.1_2023.3 | \n", "mri-esm2-0_ssp585 | \n", "
| ISIMIP3b_CMIP6:2100:UKESM1-0-LL:ssp585:RGI11 | \n", "ISIMIP3b_CMIP6 | \n", "ukesm1-0-ll | \n", "UKESM1-0-LL | \n", "ssp585 | \n", "RGI11 | \n", "2100 | \n", "ISIMIP3b:1979-2014 | \n", "0.000495 | \n", "/home/www/oggm/oggm-standard-projections/oggm_... | \n", "match_geod_pergla | \n", "w5e5_gcm_merged | \n", "oggm_v1.6.1_2023.3 | \n", "ukesm1-0-ll_ssp585 | \n", "
| ISIMIP3b_CMIP6:2100:MRI-ESM2-0:ssp126:RGI11 | \n", "ISIMIP3b_CMIP6 | \n", "mri-esm2-0 | \n", "MRI-ESM2-0 | \n", "ssp126 | \n", "RGI11 | \n", "2100 | \n", "ISIMIP3b:1979-2014 | \n", "0.000495 | \n", "/home/www/oggm/oggm-standard-projections/oggm_... | \n", "match_geod_pergla | \n", "w5e5_gcm_merged | \n", "oggm_v1.6.1_2023.3 | \n", "mri-esm2-0_ssp126 | \n", "
| ISIMIP3b_CMIP6:2100:UKESM1-0-LL:ssp370:RGI11 | \n", "ISIMIP3b_CMIP6 | \n", "ukesm1-0-ll | \n", "UKESM1-0-LL | \n", "ssp370 | \n", "RGI11 | \n", "2100 | \n", "ISIMIP3b:1979-2014 | \n", "0.000495 | \n", "/home/www/oggm/oggm-standard-projections/oggm_... | \n", "match_geod_pergla | \n", "w5e5_gcm_merged | \n", "oggm_v1.6.1_2023.3 | \n", "ukesm1-0-ll_ssp370 | \n", "
| ISIMIP3b_CMIP6:2100:MRI-ESM2-0:ssp370:RGI11 | \n", "ISIMIP3b_CMIP6 | \n", "mri-esm2-0 | \n", "MRI-ESM2-0 | \n", "ssp370 | \n", "RGI11 | \n", "2100 | \n", "ISIMIP3b:1979-2014 | \n", "0.000495 | \n", "/home/www/oggm/oggm-standard-projections/oggm_... | \n", "match_geod_pergla | \n", "w5e5_gcm_merged | \n", "oggm_v1.6.1_2023.3 | \n", "mri-esm2-0_ssp370 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| CMIP5:2100:GFDL-CM3:rcp45:RGI04 | \n", "CMIP5 | \n", "GFDL-CM3 | \n", "GFDL-CM3 | \n", "rcp45 | \n", "RGI04 | \n", "2100 | \n", "2000-2019 | \n", "0.000053 | \n", "/home/www/oggm/oggm-standard-projections/oggm_... | \n", "match_geod_pergla | \n", "w5e5_gcm_merged | \n", "oggm_v1.6.1_2023.3 | \n", "GFDL-CM3_rcp45 | \n", "
| CMIP5:2100:CSIRO-MK3-6-0:rcp26:RGI04 | \n", "CMIP5 | \n", "CSIRO-Mk3-6-0 | \n", "CSIRO-MK3-6-0 | \n", "rcp26 | \n", "RGI04 | \n", "2100 | \n", "2000-2019 | \n", "0.000073 | \n", "/home/www/oggm/oggm-standard-projections/oggm_... | \n", "match_geod_pergla | \n", "w5e5_gcm_merged | \n", "oggm_v1.6.1_2023.3 | \n", "CSIRO-Mk3-6-0_rcp26 | \n", "
| CMIP5:2100:IPSL-CM5A-LR:rcp45:RGI04 | \n", "CMIP5 | \n", "IPSL-CM5A-LR | \n", "IPSL-CM5A-LR | \n", "rcp45 | \n", "RGI04 | \n", "2100 | \n", "2000-2019 | \n", "0.000063 | \n", "/home/www/oggm/oggm-standard-projections/oggm_... | \n", "match_geod_pergla | \n", "w5e5_gcm_merged | \n", "oggm_v1.6.1_2023.3 | \n", "IPSL-CM5A-LR_rcp45 | \n", "
| CMIP5:2100:GFDL-CM3:rcp85:RGI04 | \n", "CMIP5 | \n", "GFDL-CM3 | \n", "GFDL-CM3 | \n", "rcp85 | \n", "RGI04 | \n", "2100 | \n", "2000-2019 | \n", "0.000053 | \n", "/home/www/oggm/oggm-standard-projections/oggm_... | \n", "match_geod_pergla | \n", "w5e5_gcm_merged | \n", "oggm_v1.6.1_2023.3 | \n", "GFDL-CM3_rcp85 | \n", "
| CMIP5:2100:IPSL-CM5A-LR:rcp60:RGI04 | \n", "CMIP5 | \n", "IPSL-CM5A-LR | \n", "IPSL-CM5A-LR | \n", "rcp60 | \n", "RGI04 | \n", "2100 | \n", "2000-2019 | \n", "0.000057 | \n", "/home/www/oggm/oggm-standard-projections/oggm_... | \n", "match_geod_pergla | \n", "w5e5_gcm_merged | \n", "oggm_v1.6.1_2023.3 | \n", "IPSL-CM5A-LR_rcp60 | \n", "
2432 rows × 13 columns
\n", "<xarray.Dataset> Size: 54kB\n",
"Dimensions: (gcm_scenario: 16, time: 301)\n",
"Coordinates:\n",
" * time (time) float64 2kB 2e+03 2.001e+03 ... 2.299e+03 2.3e+03\n",
" hydro_year (time) int64 2kB 2000 2001 2002 2003 ... 2298 2299 2300\n",
" hydro_month (time) int64 2kB 4 4 4 4 4 4 4 4 4 4 ... 4 4 4 4 4 4 4 4 4\n",
" calendar_year (time) int64 2kB 2000 2001 2002 2003 ... 2298 2299 2300\n",
" calendar_month (time) int64 2kB 1 1 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1 1\n",
" * gcm_scenario (gcm_scenario) <U24 2kB 'CanESM5_ssp585' ... 'ACCESS-ESM...\n",
" gcm (gcm_scenario) <U13 832B 'CanESM5' ... 'ACCESS-ESM1-5'\n",
" scenario (gcm_scenario) <U11 704B 'ssp585' ... 'ssp585'\n",
" bias_correction <U12 48B 'bc_2000_2019'\n",
" hist <U13 52B 'gcm_from_2000'\n",
"Data variables:\n",
" volume (gcm_scenario, time) float32 19kB 1.429e+13 ... 2.508e+07\n",
" volume_bsl (gcm_scenario, time) float32 19kB 1.613e+12 ... 8.174e+06<xarray.Dataset> Size: 19MB\n",
"Dimensions: (gcm_scenario: 16, time: 301, rgi_id: 498)\n",
"Coordinates:\n",
" * time (time) float64 2kB 2e+03 2.001e+03 ... 2.299e+03 2.3e+03\n",
" * rgi_id (rgi_id) <U14 28kB 'RGI60-09.00027' ... 'RGI60-09.01069'\n",
" hydro_month (time) int64 2kB 4 4 4 4 4 4 4 4 4 4 ... 4 4 4 4 4 4 4 4 4\n",
" calendar_month (time) int64 2kB 1 1 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1 1\n",
" rgi_reg (rgi_id) <U2 4kB '09' '09' '09' '09' ... '09' '09' '09'\n",
" * gcm_scenario (gcm_scenario) <U24 2kB 'CanESM5_ssp585' ... 'ACCESS-ESM...\n",
" gcm (gcm_scenario) <U13 832B 'CanESM5' ... 'ACCESS-ESM1-5'\n",
" scenario (gcm_scenario) <U11 704B 'ssp585' ... 'ssp585'\n",
" bias_correction <U12 48B 'bc_2000_2019'\n",
" hist <U13 52B 'gcm_from_2000'\n",
"Data variables:\n",
" volume (gcm_scenario, time, rgi_id) float32 10MB 9.405e+08 ... 0.0\n",
" volume_bsl (gcm_scenario, time, rgi_id) float32 10MB 3.694e+07 ... 0.0\n",
"Attributes:\n",
" description: OGGM model output\n",
" oggm_version: 1.6.1.dev26+gf8a1745\n",
" calendar: 365-day no leap\n",
" creation_date: 2023-07-26 14:41:40"
],
"text/plain": [
"<xarray.Dataset> Size: 84kB\n",
"Dimensions: (rgi_reg: 1, scenario: 3, gcm: 5, time: 100, month_2d: 12)\n",
"Coordinates: (12/13)\n",
" * time (time) float64 800B 2e+03 2.001e+03 ... 2.099e+03\n",
" hydro_year (time) int64 800B 2000 2001 2002 2003 ... 2097 2098 2099\n",
" hydro_month (time) int64 800B 4 4 4 4 4 4 4 4 4 ... 4 4 4 4 4 4 4 4 4\n",
" calendar_year (time) int64 800B 2000 2001 2002 2003 ... 2097 2098 2099\n",
" calendar_month (time) int64 800B 1 1 1 1 1 1 1 1 1 ... 1 1 1 1 1 1 1 1 1\n",
" * month_2d (month_2d) int64 96B 1 2 3 4 5 6 7 8 9 10 11 12\n",
" ... ...\n",
" * rgi_reg (rgi_reg) <U2 8B '11'\n",
" gcm_scenario (scenario, gcm) <U20 1kB 'mri-esm2-0_ssp585' ... 'ipsl...\n",
" * gcm (gcm) <U13 260B 'mri-esm2-0' ... 'ipsl-cm6a-lr'\n",
" * scenario (scenario) <U6 72B 'ssp585' 'ssp126' 'ssp370'\n",
" bias_correction <U1 4B ''\n",
" hist <U15 60B 'w5e5_gcm_merged'\n",
"Data variables:\n",
" runoff (rgi_reg, scenario, gcm, time) float32 6kB 8.553e+12 ....\n",
" runoff_monthly (rgi_reg, scenario, gcm, time, month_2d) float32 72kB ...| \n", " | MRBID | \n", "RIVER_BASI | \n", "CONTINENT | \n", "OCEAN | \n", "SEA | \n", "AREA_CALC | \n", "Shape_Leng | \n", "Shape_Area | \n", "RGI_AREA | \n", "geometry | \n", "
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "2103 | \n", "INDIGIRKA | \n", "Asia | \n", "Arctic Ocean | \n", "East Siberian Sea | \n", "341234.0 | \n", "85.604051 | \n", "70.212499 | \n", "171.941 | \n", "POLYGON ((151.72500 70.97500, 151.72500 70.970... | \n", "
| 1 | \n", "2108 | \n", "OB | \n", "Asia | \n", "Arctic Ocean | \n", "Kara Sea | \n", "3040606.1 | \n", "168.355250 | \n", "448.342075 | \n", "763.493 | \n", "POLYGON ((91.75000 57.70417, 91.74542 57.70299... | \n", "
| 2 | \n", "2302 | \n", "BRAHMAPUTRA | \n", "Asia | \n", "Indian Ocean | \n", "Bay of Bengal | \n", "540782.5 | \n", "66.054440 | \n", "49.686611 | \n", "10528.496 | \n", "POLYGON ((97.76667 28.77083, 97.76335 28.77168... | \n", "
| 3 | \n", "2306 | \n", "GANGES | \n", "Asia | \n", "Indian Ocean | \n", "Bay of Bengal | \n", "1006558.6 | \n", "122.349983 | \n", "90.946880 | \n", "7906.081 | \n", "MULTIPOLYGON (((88.02555 21.57150, 88.02361 21... | \n", "
| 4 | \n", "2309 | \n", "INDUS | \n", "Asia | \n", "Indian Ocean | \n", "Arabian Sea | \n", "865012.6 | \n", "81.286291 | \n", "82.852275 | \n", "27206.546 | \n", "MULTIPOLYGON (((67.44167 23.97006, 67.44028 23... | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 70 | \n", "6241 | \n", "PO | \n", "Europe | \n", "Atlantic Ocean | \n", "Adriatic Sea | \n", "73289.5 | \n", "21.576098 | \n", "8.425867 | \n", "313.417 | \n", "POLYGON ((9.68333 46.42500, 9.68418 46.42168, ... | \n", "
| 71 | \n", "6242 | \n", "RHINE | \n", "Europe | \n", "Atlantic Ocean | \n", "North Sea | \n", "163122.3 | \n", "48.247612 | \n", "20.200160 | \n", "336.922 | \n", "POLYGON ((4.45638 52.14527, 4.46175 52.14110, ... | \n", "
| 72 | \n", "6243 | \n", "RHONE | \n", "Europe | \n", "Atlantic Ocean | \n", "Mediterranean Sea | \n", "96637.6 | \n", "28.004916 | \n", "11.197342 | \n", "917.302 | \n", "POLYGON ((6.84167 47.82083, 6.84167 47.81667, ... | \n", "
| 73 | \n", "6254 | \n", "THJORSA | \n", "Europe | \n", "Atlantic Ocean | \n", "North Atlantic | \n", "8277.8 | \n", "9.270847 | \n", "1.545336 | \n", "972.419 | \n", "POLYGON ((-17.50000 64.62500, -17.50035 64.605... | \n", "
| 74 | \n", "6255 | \n", "TORNEALVEN (also TORNIONJOKI, also TORNIONVAYLA) | \n", "Europe | \n", "Atlantic Ocean | \n", "Baltic Sea | \n", "40545.2 | \n", "28.919025 | \n", "8.685652 | \n", "34.257 | \n", "POLYGON ((23.69167 68.84167, 23.70214 68.84102... | \n", "
75 rows × 10 columns
\n", "