When SHiELD meets Container Technology

SHiELD (System for High-resolution prediction on Earth-to-Local Domains) is a unified atmospheric model supporting various configurations, including severe weather nowcasting, hurricane forecasting, and subseasonal-to-seasonal prediction.

SHiELD has become easy to use, thanks to container technology. Better yet, SHiELD can runs on all major operating systems (Windows, macOS, and Linux), as well as on the cloud.

Container technology leverages the flexibility of SHiELD and opens many possibilities for research and education.

SHiELD

  • “One code, one executable, one workflow” for weather-to-seasonal prediction. SHiELD can be a global, a global-nest, or a regional model.

  • FV3 Dynamical Core provides a powerful foundation for unified prediction modeling.

Learn more

Container

  • A container is a stand-alone, software artifact that packages applications (e.g., an atmospheric model) for portability.

  • Model installation made easy. No need to worry about environmental variables and library dependencies.

  • Model becomes portable, from laptop to cloud.

  • Ensure bitwise identical results, regardless of different computing systems.

Learn more about container on Wikipedia.

Containerization of SHiELD

  • SHiELD and its dependencies are packaged using Docker.

  • Designed for collaboration. No proprietary software is used.

  • Parallelism in mind. Support Message Passing Interface (MPI) and OpenMP.

  • High performance computer (HPC) ready. Seamless deployment on HPCs through Singularity.

Learn more in Cheng et al. (2022).

Your path to unified modeling systems starts here

Try out running SHiELD on your computer.

Conduct Hurricane Laura simulation in just three steps.

Choose your preferred container platform:

  • Most popular container platform

    1. Install

    docker pull gfdlfv3/shield

    2. Download

    Hurricane Laura case
    GFS fix files

    3. Run

    docker run --cap-add=SYS_PTRACE --ulimit='stack=-1:-1' -v PATH_OF_CASE:/rundir -v PATH_OF_GFSFIX:/GFS_fix -it gfdlfv3/shield mpirun -np 2 SHiELD_nh.prod.32bit.x
  • Designed for supercomputer

    1. Install

    singularity pull docker://gfdlfv3/shield

    2. Download

    Hurricane Laura case
    GFS fix files

    3. Run

    cd PATH_OF_CASE
    singularity exec --no-home --bind PATH_OF_GFSFIX:/GFS_fix PATH_OF_IMAGE mpirun -np 2 SHiELD_nh.prod.32bit.x
  • PATH_OF_CASE: absolute path of the case folder (e.g., /home/fv3/regional_Laura); PATH_OF_GFSFIX: absolute path of the GFS fix folder; PATH_OF_IMAGE: absolute path of the Singularity image (e.g., /home/fv3/shield_latest.sif).
  • This one-hour simulation should finish in a few minutes on x86 systems. It may take much longer on ARM systems (e.g., Apple M1).
  • Guide for FV3 and configuration (namelist) can be found here.
  • This workflow can be applied to any simulations. Simply modify the content in above case folder with your desired case. We recommend using UFS UTILS to generate initial/boundary conditions.
  • An example of a global-nest simulation can be downloaded here.
  • Docker recipe can be found here.