Skip to content

Commit

Permalink
add Nick as reviewer, fix typos, more details of ground truth data
Browse files Browse the repository at this point in the history
  • Loading branch information
acocac committed Nov 10, 2021
1 parent d0b1b8b commit cea3f56
Showing 1 changed file with 40 additions and 27 deletions.
67 changes: 40 additions & 27 deletions IceNet/polar-modelling-icenet.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"\n",
"## Context\n",
"### Purpose\n",
"Demonstrate IceNet, a deep learninßg sea ice forecasting system trained using climate simulations and observational data.\n",
"Demonstrate IceNet, a deep learning sea ice forecasting system trained using climate simulations and observational data.\n",
"\n",
"### Modelling approach\n",
"**IceNet** is a probabilistic, deep learning sea ice forecasting system. The model, an ensemble of U-Net networks, learns how sea ice changes from climate simulations and observational data to forecast up to 6 months of monthly-averaged sea ice concentration maps at 25 km resolution. IceNet advances the range of accurate sea ice forecasts, outperforming a state-of-the-art dynamical model in seasonal forecasts of summer sea ice, particularly for extreme sea ice events. IceNet was implemented in Python 3.7 using TensorFlow v2.2.0. Further details can be found in the Nature Communications paper [*Seasonal Arctic sea ice forecasting with probabilistic deep learning*](https://www.nature.com/articles/s41467-021-25257-4).\n",
Expand All @@ -18,29 +18,22 @@
"* Visualise IceNet’s seasonal ice edge predictions at 4- to 1-month lead times.\n",
"* Interactive plots comparing IceNet predictions against ECMWF SEAS5 physics-based sea ice concentration and a linear trend statistical benchmark.\n",
"\n",
"### Notebook contributions\n",
"#### Author\n",
"Alejandro Coca-Castro, The Alan Turing Institute, [@acocac](https://github.com/acocac)\n",
"### Contributions\n",
"\n",
"#### Reviewers\n",
"Tom R. Andersson, British Antarctic Survey, [@tom-andersson](https://github.com/tom-andersson), 21/10/21 (latest revision)\n",
"#### Notebook\n",
"* Alejandro Coca-Castro (author), The Alan Turing Institute, [@acocac](https://github.com/acocac)\n",
"* Tom R. Andersson (reviewer), British Antarctic Survey, [@tom-andersson](https://github.com/tom-andersson), 26/10/21 (latest revision)\n",
"* Nick Barlow (reviewer), The Alan Turing Institute, [@nbarlowATI](https://github.com/nbarlowATI), 04/11/21 (latest revision)\n",
"\n",
"#### Version\n",
"The initial version of this notebook was generated through the Environmental AI book, see the commit <mark>[2495c64](https://github.com/acocac/environmental-ai-book/commits/master/book/polar/modelling/polar-modelling-icenet.ipynb)</mark>. The version was adapted to the Pangeo examples repo.\n",
" \n",
"### Modelling contributions\n",
"#### Codebase\n",
"- Tom R. Andersson (author), British Antarctic Survey, [@tom-andersson](https://github.com/tom-andersson)\n",
"- James Byrne (contributor), British Antarctic Survey, [@JimCircadian](https://github.com/JimCircadian)\n",
"- Tony Phillips (contributor), British Antarctic Survey\n",
"#### Modelling codebase\n",
"* Tom R. Andersson (author), British Antarctic Survey, [@tom-andersson](https://github.com/tom-andersson)\n",
"* James Byrne (contributor), British Antarctic Survey, [@JimCircadian](https://github.com/JimCircadian)\n",
"* Tony Phillips (contributor), British Antarctic Survey\n",
"\n",
"#### Paper\n",
"Tom R. Andersson, J. Scott Hosking, María Pérez-Ortiz, Brooks Paige, Andrew Elliott, Chris Russell, Stephen Law, Daniel C. Jones, Jeremy Wilkinson, Tony Phillips, James Byrne, Steffen Tietsche, Beena Balan Sarojini, Eduardo Blanchard-Wrigglesworth, Yevgeny Aksenov, Rod Downie & Emily Shuckburgh. See [here](https://www.nature.com/articles/s41467-021-25257-4#author-information) further author information (affiliations and contributions).\n",
"#### Modelling publications\n",
"* Tom R Andersson, J Scott Hosking, María Pérez-Ortiz, Brooks Paige, Andrew Elliott, Chris Russell, Stephen Law, Daniel C Jones, Jeremy Wilkinson, Tony Phillips, James Byrne, Steffen Tietsche, Beena Balan Sarojini, Eduardo Blanchard-Wrigglesworth, Yevgeny Aksenov, Rod Downie, and Emily Shuckburgh. Seasonal arctic sea ice forecasting with probabilistic deep learning. Nature Communications, 12:5124, 2021. URL: [https://doi.org/10.1038/s41467-021-25257-4](https://doi.org/10.1038/s41467-021-25257-4).\n",
"\n",
"#### Version\n",
"The version explored of the IceNet codebase is 1.0.0 commit <mark>[9d69ad7](https://github.com/tom-andersson/icenet-paper/compare/v1.0.0...main)</mark>\n",
"\n",
"### Funding\n",
"#### Modelling funding\n",
"The IceNet project was supported by Wave 1 of The UKRI Strategic Priorities Fund under the EPSRC Grant EP/T001569/1, particularly the AI for Science’ theme within that grant and The Alan Turing Institute.\n",
"\n",
":::{note}\n",
Expand Down Expand Up @@ -225,7 +218,7 @@
"source": [
"## Download input data and models\n",
"\n",
"IceNet consists of 25 ensemble members i.e. models. For this demonstrator, we only download three of them to reduce computational cost (note that this will reduce performance compared with the full ensemble). We also fetch analysis-ready i.e. preprocessed data of climate observations, ground thruth sea ice concentration (SIC) and a IceNet's project configuration file from a Zenodo repository. Finally, we call a script from the IceNet paper repo to generate masks required for computing metrics and visualisation."
"IceNet consists of 25 ensemble members i.e. models. For this demonstrator, we only download three of them to reduce computational cost (note that this will reduce performance compared with the full ensemble). We also fetch analysis-ready i.e. preprocessed data of climate observations, ground truth sea ice concentration (SIC) and a IceNet's project configuration file from a Zenodo repository. Finally, we call a script from the IceNet paper repo to generate masks required for computing metrics and visualisation."
],
"metadata": {
"collapsed": false
Expand Down Expand Up @@ -302,7 +295,11 @@
{
"cell_type": "markdown",
"source": [
"### Download ground truth SIC"
"### Download ground truth SIC\n",
"\n",
":::{note}\n",
"The analysis-ready ground truth SIC data were generated by running the script python3 icenet/download_sic_data.py in step **2) Download data** according to the [icenet-paper repository](https://github.com/tom-andersson/icenet-paper). The script downloads and concatenate [OSI-SAF SIC data](https://osisaf-hl.met.no/v2p1-sea-ice-index), OSI-450 (1979-2015) and OSI-430-b (2016-ownards), and saves it as monthly averages in a netCDF file.\n",
":::"
],
"metadata": {
"collapsed": false
Expand Down Expand Up @@ -333,7 +330,11 @@
"\n",
"The script `icenet/gen_masks.py` generates masks for land, the polar holes, OSI-SAF monthly maximum ice extent (the *active\n",
"grid cell region*), and the Arctic regions & coastline. Figures of the\n",
"masks are saved in the **./figures** folder."
"masks are saved in the **./figures** folder.\n",
"\n",
":::{note}\n",
"The python route after the exclamation in the line below works on the AzureML VM. The route should be changed in other systems (local or remote).\n",
":::"
],
"metadata": {
"collapsed": false
Expand Down Expand Up @@ -390,7 +391,7 @@
{
"cell_type": "markdown",
"source": [
"The `input_data` element of the IceNet's `JSON` file lists input variables and corresponding settings. We use the same input data of Nature Communications' paper which consists of SIC, 11 climate variables, statistical SIC forecasts, and metadata (see [Supplementary Table 2](https://static-content.springer.com/esm/art%3A10.1038%2Fs41467-021-25257-4/MediaObjects/41467_2021_25257_MOESM1_ESM.pdf)). These layers are stacked in an identical manner to the RGB channels of a traditional image, amounting to 50 channels in total."
"The `input_data` element of the IceNet's `JSON` file lists input variables and corresponding settings. We use the same input data in the Nature Communications' paper which consists of SIC, 11 climate variables, statistical SIC forecasts, and metadata (see [Supplementary Table 2](https://static-content.springer.com/esm/art%3A10.1038%2Fs41467-021-25257-4/MediaObjects/41467_2021_25257_MOESM1_ESM.pdf)). These layers are stacked in an identical manner to the RGB channels of a traditional image, amounting to 50 channels in total."
],
"metadata": {
"collapsed": false
Expand Down Expand Up @@ -542,7 +543,7 @@
"source": [
"### Set up forecast DataArray dictionary\n",
"\n",
"Now we are setting up an empty `xarray DataArray` object that we will use to store IceNet's forecasts. `DataArrays` let you conveniently handle, query and visualise spatio-temporal data as the forecast predictions generated by the IceNet system."
"Now we are setting up an empty `xarray DataArray` object that we will use to store IceNet's forecasts. `DataArrays` let you conveniently handle, query and visualise spatio-temporal data, such as the forecast predictions generated by the IceNet system."
],
"metadata": {
"collapsed": false
Expand Down Expand Up @@ -1004,7 +1005,7 @@
"source": [
"## Analysis\n",
"\n",
"In this section, we explore the forecast results and provide some interpretation. Note we use a sample data so the results are only for demonstration purposes."
"In this section, we explore the forecast results and provide some interpretation. Note we use a small sample of the data so the results are only for demonstration purposes."
],
"metadata": {
"collapsed": false,
Expand Down Expand Up @@ -1142,7 +1143,7 @@
"cell_type": "markdown",
"source": [
"::::{important}\n",
"The interactive figure below essentially reproduces [Figure 2](https://www.nature.com/articles/s41467-021-25257-4/figures/2) of the IceNet paper, however it covers a larger geographical extent i.e. in March when the ice edge extent is largest. Also, we visualise each month of the target period of this demonstrator (January to December 2020). Some script snippets were extracted from the IceNet script `python3 icenet/plot_paper_figures.py` (see [line 182](https://github.com/tom-andersson/icenet-paper/blob/main/icenet/plot_paper_figures.py)). Note we define alpha and colours for coastline and land mask object. These configurations allow overlapping these layers correctly to differenciate IceNet predictions and SIC ground thruth.\n",
"The interactive figure below essentially reproduces [Figure 2](https://www.nature.com/articles/s41467-021-25257-4/figures/2) of the IceNet paper, however it covers a larger geographical extent i.e. in March when the ice edge extent is largest. Also, we visualise each month of the target period of this demonstrator (January to December 2020). Some script snippets were extracted from the IceNet script `python3 icenet/plot_paper_figures.py` (see [line 182](https://github.com/tom-andersson/icenet-paper/blob/main/icenet/plot_paper_figures.py)). Note we define alpha and colours for coastline and land mask object. These configurations allow overlapping these layers correctly to differentiate IceNet predictions and SIC ground truth.\n",
"::::"
],
"metadata": {
Expand Down Expand Up @@ -1378,6 +1379,18 @@
"name": "#%% md\n"
}
}
},
{
"cell_type": "markdown",
"source": [
"## Version\n",
"\n",
"* Notebook: commit <mark>[9e1fb10](https://github.com/acocac/environmental-ai-book/commits/master/book/polar/modelling/polar-modelling-icenet.ipynb)</mark>\n",
"* Codebase: 1.0.0 with commit <mark>[9d69ad7](https://github.com/tom-andersson/icenet-paper/compare/v1.0.0...main)</mark>"
],
"metadata": {
"collapsed": false
}
}
],
"metadata": {
Expand Down

0 comments on commit cea3f56

Please sign in to comment.