Transitions Newsletter Header

Community Connections: Introducing Undergraduate Students to NWP by Using Software Containers

Contributed by Sam Ng
Autumn 2020

Jamie Wolff, the lead of the software containers and cloud computing task in the DTC, contacted me in the Spring of 2019 about a unique opportunity to collaborate on a course that would offer interested students at Metropolitan State University an opportunity to run and experiment with an end-to-end numerical weather prediction (NWP) system utilizing cloud computing.

The motivation behind this collaboration was to introduce undergraduates of a bachelor’s degree Meteorology program to NWP in a stress-free environment in which students would not spend unnecessary time configuring, compiling, and optimizing the code and libraries for the NWP system.  The DTC containers would streamline running the NWP system so the students would be able to grasp how beneficial NWP could be in their toolkit. The overarching goal was to empower the students to use and understand NWP models on a fundamental level and prepare them for post-undergraduate positions in the NWP arena.

It was decided that an active learning approach would be the ideal format to present the information and disseminate the material taught as a series of workshops/seminars.

During the 2019 Fall semester, I taught a Forecasting Lab course that met once a week for 2 hours.  The extended class time allowed the DTC team to teach the attendees and demonstrate how to compile and run the Weather Research and Forecasting (WRF) Model on the Amazon Web Service (AWS) Cloud Server. The DTC team met with my students for a total of eight hours (six face-to-face hours and two hours via Google Meet).

The initial design of the WRF Cloud Computing (WCC) course was somewhat challenging because the setup and configuration of the AWS on our UNIX-based workstations faced some computing and financial hurdles. Nevertheless, the DTC team created Docker container images for each component of the end-to-end WRF-based NWP system on the AWS Cloud. Docker makes it easier to create, deploy, and run applications by using “containers.” A container is a software tool that packages code and all of its dependencies, so the application runs quickly and reliably from one computing environment to another (Docker Website). The end-to-end system containers were built and configured by the DTC team ahead of classes. With the accessibility of the components in containers, it was possible to efficiently and effectively create a full end-to-end NWP system teaching toolkit for use by the students.

Next, the DTC team provided step-by-step instructions on how to use those images to access the WRF data and ecosystem to run several case studies through the end-to-end NWP system from pre-processing, to running the model, then post-processing, visualization, and verification.  The DTC team also recommended installing Docker on the MSU Denver Weather Lab network so the students could run the end-to-end NWP container system locally on our in-house desktops as well.

Was the class a success? Well, here are a few student quotes that endorsed its success.

“I thought the NCAR instructors were knowledgeable, patient, and helpful…”

“Was awesome to have the hands-on help”

“I enjoyed the class very much and want to express gratitude to all those from NCAR and Dr Ng for their time and patience with us (or at least me) in learning something foreign and more difficult to grasp.”

Metropolitan State University classroom Forecasting Lab course.