Skip to content

Add Dockerfile for dev and testing#1406

Open
danrosen25 wants to merge 1 commit intoMPAS-Dev:masterfrom
NCAR:container
Open

Add Dockerfile for dev and testing#1406
danrosen25 wants to merge 1 commit intoMPAS-Dev:masterfrom
NCAR:container

Conversation

@danrosen25
Copy link

@danrosen25 danrosen25 commented Feb 5, 2026

Adds a folder for containers that includes the docker/dev container.

The docker/dev container uses spack to install all the required libraries needed for MPAS builds. It also includes PIO and ESMF for development of the ESMF/NUOPC coupling interface.

This work precedes creating and pushing an image to the GitHub Container Registry. The docker/dev container here can later be used as a Dev Container within VSCode or in Codespaces. It creates a containerized environment for both development and testing, including CI/CD.

@danrosen25
Copy link
Author

@mgduda @uturuncoglu @scrasmussen
Preliminary work on a Dev Container for portable development and testing. The image size is kind of large at ~2GB but spack based installations are larger because they install every dependency.

gcc-14 is installed via apt

These libraries are installed via spack

  • mpich: MPI implementation
  • netcdf-c: NetCDF C library
  • netcdf-fortran: NetCDF Fortran library
  • parallel-netcdf: PnetCDF library
  • parallelio: PIO library
  • esmf: Earth System Modeling Framework

These variables are set up during bash -l

  • SPACK_ROOT Path to spack installation
  • SPACK_ROOT Path to spack installation
  • MPICH_ROOT Path to mpich installation
  • NETCDF_C_ROOT Path to netcdf-c installation
  • NETCDF_FORTRAN_ROOT Path to netcdf-fortran installation
  • PARALLEL_NETCDF_ROOT Path to parallel-netcdf installation
  • PARALLELIO_ROOT Path to parallelio installation
  • ESMF_ROOT Path to esmf installation
  • LD_LIBRARY_PATH Includes paths to installed libraries
  • PNETCDF Set to PARALLEL_NETCDF_ROOT

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant