JCSDA / spack-stack

Creative Commons Zero v1.0 Universal
21 stars 41 forks source link

How to handle multiple variants of FMS? #1139

Open mathomp4 opened 2 weeks ago

mathomp4 commented 2 weeks ago

Something I just thought about. Currently in spack-stack in configs/common/packages.yaml there is:

    fms:
      version: ['2023.04']
      variants: precision=32,64 +quad_precision +gfs_phys +openmp +pic constants=GFS build_type=Release +deprecated_io

But eventually if GEOS moves in here and we use FMS from spack, it would most likely be built as:

variants: precision=32,64 +quad_precision ~gfs_phys +openmp +pic constants=GEOS build_type=Release +deprecated_io

aka we don't use GFS Physics and we have a different set of constants.

Would it be perhaps a new entry in modules.yaml based off of...the constants: a la:

      fms:
        suffixes:
          constants=GEOS: 'geos'
          constants=GFS: 'gfs'

🤷🏼 Not too sure, just thinking ahead.

(I suppose something similar for if yaml support is built in as well?)

climbfuji commented 2 weeks ago

Yes, exactly - we can encode the flavor of fms in the module name. Thanks for thinking about this ahead of time!