/CNN-Atmospheric-Rivers

In this tutorial, we will use an Atmospheric Rivers dataset to train a Convolutional Neural Network (CNN) that can identify whether a map contains an atmospheric river or not.

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

CNN-Atmospheric-Rivers

DOI

In this tutorial (CNN_AR_tutorial.ipynb), we will use an Atmospheric Rivers dataset to train a Convolutional Neural Network (CNN) that can identify whether a map contains an atmospheric river or not.

  • Load training data: the training data consists of chips of Integrated Vapor Transport (IVT) maps and their corresponding labels ('Atmospheric River', 'Ambiguous', or empty if these two shapes are not present. We be begin by loading the data, and preparing it for input into our neural network.
  • Train a CNN: using the TensorFlow and Keras libraries, we'll train a CNN to classify the IVT chips (images) into one of two predifined classes. Here, Class 1 is assigned to images containing an atmospheric river, and Class 0 is assigned to images not containing an atmospheric river or containing an ambiguous shape.
  • Evaluate model performance: after training, we'll evaluate the model on data that was not used during training.

The data being used is avaiable here: https://doi.org/10.5281/zenodo.12177339 and can be cited using: Pathiranage, A. S., Reid, K., & Hobeichi, S. (2024). Atmospheric rivers dataset for machine learning training (v1.0.0) [Data set]. Zenodo. https://doi.org/10.5281/zenodo.12177339