{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Modify the RGI6 regions files for RGI7 "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**List of changes from RGI6 to RGI7**: \n",
"- The southern boundary of region 12 (Caucasus and Middle East) has been shifted south by 2° (from 32°N to 30°N) to encompass a cluster of glaciers which were previously unassigned.\n",
"- The region boxes for region 01 (Alaska) used to encompass some islands in the Bering Sea East of Kamtchatka. This subregion contains no glaciers (and probably hasn't for a long time) and is now removed. \n",
"- The data type of the `rgi_code` attribute in the first-order region file is now `str` (was `int`). The `rgi_code` now has a leading zero, for example `02` instead of `2`. \n",
"- Region 19 has been renamed to \"*Subantarctic and Antarctic Islands*\" (was: \"*Antarctic and Subantarctic*\")\n",
"- The polygon of RGI region 19 has been updated to remove antarctic mainland. Potentially, a new region (`20`, \"*Antarctic Mainland*\") might be used in the future if glaciers are inventorized there.\n",
"- All abbreviations in the second-order regions file have been replaced by their full name (e.g. \"East Central\" instead of \"EC\")\n",
"- The first-order and second-order region files now have a field called `long_code` which contains a string representing the full region name, using the lowercase with underscores format (e.g. `02_western_canada_usa`). This field is used to name the corresponding RGI shapefiles.\n",
"- The subregion `05-11` (Greenland Ice Sheet) has been removed.\n",
"- The `WGMS_CODE` column has been deleted from all files.\n",
"- The `RGI_CODE` column is now called `o1region` (first order files) and `o2region` (second-order files)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# go down from rgi7_scripts/workflow/preprocessing\n",
"data_dir = '../../../rgi7_data/'"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"import numpy as np\n",
"import pandas as pd\n",
"import shapely.geometry as shpg\n",
"import geopandas as gpd\n",
"from utils import mkdir\n",
"import shutil\n",
"from shapely.validation import make_valid"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Regions "
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'/home/www/fmaussion/misc/rgi7_data/00_rgi70_regions'"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"out_dir = os.path.abspath(os.path.join(data_dir, '00_rgi70_regions'))\n",
"mkdir(out_dir)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
FULL_NAME
\n",
"
RGI_CODE
\n",
"
LONG_CODE
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
Alaska
\n",
"
01
\n",
"
01_alaska
\n",
"
\n",
"
\n",
"
1
\n",
"
Western Canada and USA
\n",
"
02
\n",
"
02_western_canada_usa
\n",
"
\n",
"
\n",
"
2
\n",
"
Arctic Canada North
\n",
"
03
\n",
"
03_arctic_canada_north
\n",
"
\n",
"
\n",
"
3
\n",
"
Arctic Canada South
\n",
"
04
\n",
"
04_arctic_canada_south
\n",
"
\n",
"
\n",
"
4
\n",
"
Greenland Periphery
\n",
"
05
\n",
"
05_greenland_periphery
\n",
"
\n",
"
\n",
"
5
\n",
"
Iceland
\n",
"
06
\n",
"
06_iceland
\n",
"
\n",
"
\n",
"
6
\n",
"
Svalbard and Jan Mayen
\n",
"
07
\n",
"
07_svalbard_jan_mayen
\n",
"
\n",
"
\n",
"
7
\n",
"
Scandinavia
\n",
"
08
\n",
"
08_scandinavia
\n",
"
\n",
"
\n",
"
8
\n",
"
Russian Arctic
\n",
"
09
\n",
"
09_russian_arctic
\n",
"
\n",
"
\n",
"
9
\n",
"
North Asia
\n",
"
10
\n",
"
10_north_asia
\n",
"
\n",
"
\n",
"
10
\n",
"
Central Europe
\n",
"
11
\n",
"
11_central_europe
\n",
"
\n",
"
\n",
"
11
\n",
"
Caucasus and Middle East
\n",
"
12
\n",
"
12_caucasus_middle_east
\n",
"
\n",
"
\n",
"
12
\n",
"
Central Asia
\n",
"
13
\n",
"
13_central_asia
\n",
"
\n",
"
\n",
"
13
\n",
"
South Asia West
\n",
"
14
\n",
"
14_south_asia_west
\n",
"
\n",
"
\n",
"
14
\n",
"
South Asia East
\n",
"
15
\n",
"
15_south_asia_east
\n",
"
\n",
"
\n",
"
15
\n",
"
Low Latitudes
\n",
"
16
\n",
"
16_low_latitudes
\n",
"
\n",
"
\n",
"
16
\n",
"
Southern Andes
\n",
"
17
\n",
"
17_southern_andes
\n",
"
\n",
"
\n",
"
17
\n",
"
New Zealand
\n",
"
18
\n",
"
18_new_zealand
\n",
"
\n",
"
\n",
"
18
\n",
"
Subantarctic and Antarctic Islands
\n",
"
19
\n",
"
19_subantarctic_antarctic_islands
\n",
"
\n",
"
\n",
"
19
\n",
"
Antarctic Mainland
\n",
"
20
\n",
"
20_antarctic_mainland
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" FULL_NAME RGI_CODE \\\n",
"0 Alaska 01 \n",
"1 Western Canada and USA 02 \n",
"2 Arctic Canada North 03 \n",
"3 Arctic Canada South 04 \n",
"4 Greenland Periphery 05 \n",
"5 Iceland 06 \n",
"6 Svalbard and Jan Mayen 07 \n",
"7 Scandinavia 08 \n",
"8 Russian Arctic 09 \n",
"9 North Asia 10 \n",
"10 Central Europe 11 \n",
"11 Caucasus and Middle East 12 \n",
"12 Central Asia 13 \n",
"13 South Asia West 14 \n",
"14 South Asia East 15 \n",
"15 Low Latitudes 16 \n",
"16 Southern Andes 17 \n",
"17 New Zealand 18 \n",
"18 Subantarctic and Antarctic Islands 19 \n",
"19 Antarctic Mainland 20 \n",
"\n",
" LONG_CODE \n",
"0 01_alaska \n",
"1 02_western_canada_usa \n",
"2 03_arctic_canada_north \n",
"3 04_arctic_canada_south \n",
"4 05_greenland_periphery \n",
"5 06_iceland \n",
"6 07_svalbard_jan_mayen \n",
"7 08_scandinavia \n",
"8 09_russian_arctic \n",
"9 10_north_asia \n",
"10 11_central_europe \n",
"11 12_caucasus_middle_east \n",
"12 13_central_asia \n",
"13 14_south_asia_west \n",
"14 15_south_asia_east \n",
"15 16_low_latitudes \n",
"16 17_southern_andes \n",
"17 18_new_zealand \n",
"18 19_subantarctic_antarctic_islands \n",
"19 20_antarctic_mainland "
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Read the new names\n",
"df_ref = pd.read_csv(os.path.join(out_dir, '00_rgi70_rgi_region_names.csv'), dtype=str)\n",
"df_ref"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"# Read the RGI region files\n",
"rgi_dir = os.path.join(data_dir, 'l0_RGIv6')\n",
"rgi_reg = gpd.read_file('zip://' + os.path.join(data_dir, 'l0_RGIv6', '00_rgi60_regions.zip', '00_rgi60_O1Regions.shp'))"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"# Create a new region 20 based on the subregion outline\n",
"rgi_subreg = gpd.read_file('zip://' + os.path.join(data_dir, 'l0_RGIv6', '00_rgi60_regions.zip', '00_rgi60_O2Regions.shp'))"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"