Difference between mpas-bundle and spack-stack

Hello everyone,
I’m attempting to do some data assimilation with using JEDI MPAS.

I started by looking at this repo GitHub mpas-jedi which suggested that I use mpas-bundle. After attempting to build, I came across another repo spack-stack which also looks like it bundles MPAS.

Which of these should I focus on building?

Also, I’ve been building mpas-bundle version 3.0.1. Is that the most widely used version? It seems like the last “release” was 1.0.0.

Thanks!

1 Like

spack-stack and mpas-bundle are not really building the same thing. spack-stack builds and creates modules for all the prerequisite packages that are required in order to build all the JEDI repositories. If you are working on an HPC, there is a good chance that spack-stack is already installed on it. See the “Preconfigured Sites” list here: Table of contents — spack-stack develop documentation

If you are working on a PC, then you need to build spack-stack locally first, following the instructions in the “Generating new site configs” section of the above link.
This is a time-consuming process, and the instructions must be followed carefully. If you have access to an HPC, it might be simpler to use that with the pre-installed spack-stack.

Once you have your spack-stack environment in place, you are ready to build a JEDI bundle. The JCSDA supports a bundle called jedi-bundle. You can find instructions on how to build it here:
https://jointcenterforsatellitedataassimilation-jedi-docs.readthedocs-hosted.com/en/latest/using/building_and_running/building_jedi.html
jedi-bundle builds everything needed by mpas-jedi, fv3-jedi, and soca, and so builds everything you need, but also builds things you do not need if you’re just working with mpas-jedi.

Which brings us to mpas-bundle. mpas-bundle serves the same purpose as jedi-bundle, but leaves out the JEDI repositories that are not needed for building and running mpas-jedi. So the build might be a little faster and lighter. mpas-bundle is not supported by the JCSDA, and is (or is not) maintained by NCAR/MMM. I don’t know its current maintenance status.

Depending on your level of CMAKE expertise, you can modify the main CMakeLists.txt file in jedi-bundle to comment-out the repositories that are not needed by mpas-jedi. Or you can just build the whole thing if you don’t mind building extra repositories.

1 Like