4. Getting Started
4.1. What to Expect
This guide contains instructions to demonstrate how to use containers to run WRF to generate model output and METplus to perform verification of the WRF output using observations.
Future work will add instructions to easily generate plots of the WRF and METplus output to visualize the results.
4.2. Container Software
The examples in this guide are run using containers. The Docker or Apptainer (formerly Singularity) containerization software is required to run I-WRF. Both Docker and Apptainer serve the same fundamental purpose of running containerized applications, but they differ in their design and typical use cases. Docker is widely available and can be installed on most computing platforms, making it ideal for personal workstations and cloud instances where users have administrative privileges. Apptainer was specifically designed for high-performance computing (HPC) environments and scientific computing, with a key advantage being that it does not require root privileges to run containers. On NCAR HPCs like Casper and Derecho, only Apptainer is available as a module, while platforms like Jetstream2 and Red Cloud allow users to install Docker. Your choice between the two will typically be determined by what’s available on your computing platform rather than personal preference.
Check if either of these options is already installed on your system.
Instructions
To check if Docker is already available, the following command should display the usage statement:
docker --help
To check if Apptainer is already available, the following command should display the usage statement:
apptainer --help
Refer to the relevant section below for instructions to obtain this software on various supported environments.
NSF NCAR Instructions
On the NCAR supercomputers Casper and Derecho, Apptainer is available as a module.
To load apptainer, run the following:
module load apptainer
Refer to NCAR HPC User Documentation for additional details.
Jetstream2 Instructions
If running on a Jetstream2 instance, Docker must be available on the instance. The Ubuntu instance you created already has the Docker Engine installed and running. you can verify that the Docker command line tool works by asking for its version:
docker --version
Red Cloud Instructions
If running on a Red Cloud instance, the Docker Engine must be installed on the instance.
The instructions for installing Docker Engine on Ubuntu are very thorough and make a good reference, but we only need to perform a subset of those steps. These commands run a script that sets up the Docker software repository on your instance, then installs Docker:
curl --location https://bit.ly/3R3lqMU > install-docker.sh
source install-docker.sh
rm install-docker.sh
If a text dialog is displayed asking which services should be restarted, type Enter.
When the installation is complete, you can verify that the Docker command line tool works by asking for its version:
docker --version
The Docker daemon should start automatically, but it sometimes runs into issues. First, check to see if the daemon started successfully:
sudo systemctl --no-pager status docker
If you see a message saying the daemon failed to start because a “Start request repeated too quickly”, wait a few minutes and issue this command to try again to start it:
sudo systemctl start docker
If the command seems to succeed, confirm that the daemon is running using the status command above. Repeat these efforts as necessary until it is started.
User Workstation Instructions
To install Docker or Apptainer on a personal workstation, please refer to the installation instructions to Get Docker or Install Apptainer.
4.3. Next Steps
Once you have confirmed access to a platform on which you can run Docker or Apptainer, the next step is running an I-WRF use case. Instructions are provided for a handful of use cases, but Hurricane Matthew is the simplest and serves as a great starting place. Users are strongly encourged to run the Hurricane Matthew use case before proceeding to more complex ones or making any changes to the default configuration settings.