Page tree

Introduction:

IceNet is an ongoing joint project among several well-known institutes including the British Antarctic Survey (https://data.bas.ac.uk/full-record.php?id=GB/NERC/BAS/PDC/01526), the Alan Turing Institute (https://www.turing.ac.uk/news/artificial-intelligence-help-predict-arctic-sea-ice-loss), and the University of Cambridge (https://www.repository.cam.ac.uk/bitstream/handle/1810/327266/41467_2021_25257_MOESM1_ESM.pdf). 


The purpose of the project is to deploy Deep learning models to predict the Arctic sea ice coverage in the upcoming months. Sea ice is the frozen seawater that is present in areas near both the North and South poles, and sea ice coverage forecasting is important to both communication and scientific authorities. However, actual forecasting is notoriously difficult because of the complex relationship among the atmosphere, ocean surface, and sea ice, itself.  

Research prospect: 

The use of Deep Learning in sea ice forecasting is a relative field and there are a lot of new opportunities in this area. The IceNet research team published a Journal paper in 2021 detailing their finding so far (https://www.nature.com/articles/s41467-021-25257-4). Their work shows that the sea ice coverage of months ahead can be predicted with 95% accuracy using their deep learning model. That makes it more accurate than many existing prediction systems and it means that deep learning has a lot of potential in this area. Interested researchers can find further details in the paper.

The IceNet is derived from another well-known Deep learning architecture known as U-Net, they have repurposed the architecture for sea ice prediction. Interested readers can find the detail about the neural networks and their configuration in the following Cambridge university technical report: https://www.repository.cam.ac.uk/bitstream/handle/1810/327266/41467_2021_25257_MOESM1_ESM.pdf

The sea ice coverage prediction in the notebook:

The conceptual architecture of the IceNet is shown in the Fig.1 below. From the left hand side the model takes in images as the input, and extracts the features using the Deep learning. The useful features are stored in the middle layers are trained to capture important features from the input. Then, on the right hand side the prediction image is created from the captured features. 

Figure1. IceNet model (Source: https://github.com/tom-andersson/icenet-paper).

The notebook implements one of the predictions from the paper: https://www.nature.com/articles/s41467-021-25257-4. Figure 2 shows a set of prediction results from the paper, it makes the sea ice coverage prediction for the twelve months of the year 2020. Each picture has two lines, black is the observed sea ice coverage, and green line is the prediction. Prediction can be made up to four months ahead. Code to achieve this prediction can be found in the notebook. Once you have run all the cells in the notebook, you will have an interactive prediction at the end. The IceNet team has created about 60 models, the notebook uses three of those models. The IceNet code repository is available on the GitHub (https://github.com/tom-andersson/icenet-paper). 


Figure 2. A set of predictions from the paper replicated in the notebook.

The IceNet uses both ERA5 and CMIP6 data for model building. The entire dataset requires more than several hundred Gigabytes of space; however, only the data required for the notebook is downloaded. The rest of the data will be available to the GADI users in near future. The entire project has a nested structure for code and data, interested readers can find out more on the about mentioned GitHub page.

Data and Code Location

The data, models and results used in the notebook for IceNet are available on Gadi storage. The data is located at g/data/wb00/IceNet . A description of the IceNet collection on Gadi is presented in the figure below. 

The notebook for IceNet is available on the NCI IceNet Github Repository. The notebook for IceNet is available in the notebook folder. By default, the notebook uses the data on gadi storage. The notebook also provides an option to download the data locally by tweaking some flags (instructions included in the notebook). 

Run the notebook in ARE

The IceNet notebook is available under NCI IceNet Github Repository. You need to clone the whole directory to your own storage space.

Then you can run the notebook from NCI ARE by doing the following steps:

  1. Go to the link:  https://are.nci.org.au/ and login. 
  2. Click on the Jupyter notebook app and a form will appear.
  3. Request '1gpu' from "Computer Size" field from the 'gpuvolta' queue.
  4. Select your own project in 'Project' field.
  5. Specify the appropriate storage options by including "gdata/dk92" and the other storage space containing the copy of icenet example.


 



6. Go to the "Advanced section..." and specify the following fields:
     Modules directories: /g/data/dk92/apps/Modules/modulefiles
     Modules: NCI-ai-ml/22.11

7. Wait for the session to start and open the JupyterLab.

 



Launching the Jupyter notebook:

  1. Once the job has started, navigate to icenet-prediction.ipynb in the notebook folder. In the notebook, change the current working directory to the IceNet directory (such as "/scratch/PROJECT/USER_ID/icenet/" as below ). 
  2. The IceNet notebook should now open and looks as follows: 



Run the notebook in a GPU node without internet

The notebook is suitable to run on a GPU node without internet access. Conditional statements have been used to avoid downloads when there is no internet access, and in other cases comments have been added to not run the code on a GPU. An example is given in Fig.3 below. 

Figure 3: The code can run without the internet.


In Fig.3, there are two cells. On the top cell, a conditional statement is used to avoid the need to access the internet during GPU execution. First, we have run the code from a node where there is internet access and the data is downloaded. Later, when you run the code on a GPU node the file is already there and we do not need the internet access anymore. The if-condition is making this check in the first node. 

Once you have downloaded the data it may not be necessary to run a command at all. Such an example is shown in the second cell. In this case, we do not need to run the code for GPU so after processing the data, the line is simply commented out to avoid being accidentally run during GPU execution. 

Prediction result

If you run all the cells successfully, you will see an interactive prediction output like Fig.4 below. to produce the results. Fig.4 shows a screen recording of the predictions made for twelve months of the year 2020. The prediction chart is interactive, so it can be switched to predictions for different months. It is also possible to see predictions for more than one month ahead using the slider below. Both the predicted and actual sea ice coverage is shown in the graphs. According to the published paper, the prediction can be up to 95% accurate. 

Figure 4. Sea ice prediction for twelve months with Deep learning. 



  • No labels