Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modules created by Spack need Module version 4.7 #8

Open
penguian opened this issue Jul 2, 2024 · 8 comments
Open

Modules created by Spack need Module version 4.7 #8

penguian opened this issue Jul 2, 2024 · 8 comments
Assignees

Comments

@penguian
Copy link

penguian commented Jul 2, 2024

Attempting to load the access-esm1p5/pr5-22 module results in the error Modulefile requires at least Modules version 4.7 as follows:

[pcl851@gadi-login-08 access-esm1.5-configs]$ module use /g/data/vk83/prerelease/apps/spack/0.21/release/modules/linux-rocky8-x86_64_v4
[pcl851@gadi-login-08 access-esm1.5-configs]$ module load access-esm1p5/pr5-22
Loading cice4/2024.05.21-rhp3hnn
  Module ERROR: Modulefile requires at least Modules version 4.7
    In '/g/data/vk83/prerelease/apps/spack/0.21/release/modules/linux-rocky8-x86_64_v4/oasis3-mct/.modulerc'
    Please contact <root@localhost>

Loading access-esm1p5/pr5-22
  Module ERROR: Modulefile requires at least Modules version 4.7
    In '/g/data/vk83/prerelease/apps/spack/0.21/release/modules/linux-rocky8-x86_64_v4/cice4/.modulerc'
    Please contact <root@localhost>
  Module ERROR: Modulefile requires at least Modules version 4.7
    In '/g/data/vk83/prerelease/apps/spack/0.21/release/modules/linux-rocky8-x86_64_v4/mom5/.modulerc'
    Please contact <root@localhost>
  Module ERROR: Modulefile requires at least Modules version 4.7
    In '/g/data/vk83/prerelease/apps/spack/0.21/release/modules/linux-rocky8-x86_64_v4/um7/.modulerc'
    Please contact <root@localhost>
  Loading requirement: oasis3-mct/git.access-esm1.5_2024.05.24_access-esm1.5-z26jkwl cice4/2024.05.21-rhp3hnn mom5/access-esm1.5_2024.05.24-ba7yz2v um7/2024.05.21-igag7xt
[pcl851@gadi-login-08 access-esm1.5-configs]$ module --version
Modules Release 4.3.0 (2019-07-26)
@aidanheerdegen
Copy link

This is because the spack.yaml has hide_implicits: true, which tries to hide implicit dependencies.

We don't get these errors with ACCESS-OM2, which has the same settings.

We could trying setting this to false and set autoload: run to minimise the number of module files generated and loaded

https://spack.readthedocs.io/en/latest/module_file_support.html#autoloading-and-hiding-dependencies

@CodeGat
Copy link
Contributor

CodeGat commented Jul 4, 2024

Hrm. Why does it work for ACCESS-OM2 and not ESM1.5? I'm not sure I understand.

@aidanheerdegen
Copy link

Me either, but @CodeGat did mention the old exclude_implicits vs hide_implicits oddness we encountered some time ago. I thought they were largely synonyms, but might be worth doing some tests and regenerating the module files.

@CodeGat
Copy link
Contributor

CodeGat commented Jul 4, 2024

We could trying setting this to false and set autoload: run to minimise the number of module files generated and loaded

This worked, @aidanheerdegen! See 1edb1aa

$ module use /g/data/vk83/prerelease/apps/spack/0.22/release/modules/linux-rocky8-x86_64_v4/
$ module load access-esm1p5/pr5-31

@penguian
Copy link
Author

penguian commented Jul 4, 2024

Loading the module apparently results in an empty bundle. Is this expected? If so, what is the purpose of this module?

$ module use /g/data/vk83/prerelease/apps/spack/0.22/release/modules/linux-rocky8-x86_64_v4/
$ module load access-esm1p5/pr5-31
$ which cice_access_360x300_12x1_12p.exe
/usr/bin/which: no cice_access_360x300_12x1_12p.exe in (/home/851/pcl851/.local/bin:/g/data/tm70/pcl851/src/ACCESS-NRI/spack/bin:/home/851/pcl851/.local/bin:/home/851/pcl851/bin:/opt/pbs/default/bin:/opt/nci/bin:/opt/bin:/opt/Modules/v4.3.0/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/pbs/default/bin)
$ module show access-esm1p5/pr5-31
-------------------------------------------------------------------
/g/data/vk83/prerelease/apps/spack/0.22/release/modules/linux-rocky8-x86_64_v4/access-esm1p5/pr5-31:

module-whatis   {ACCESS-ESM1.5 bundle contains the coupled UM7, CICE4 and MOM5 models.}
conflict        access-esm1p5
prepend-path    CMAKE_PREFIX_PATH /g/data/vk83/prerelease/apps/spack/0.22/restricted/ukmo/release/linux-rocky8-x86_64_v4/intel-19.0.3.199/access-esm1p5-latest-vawzi2p6rhblpvvrhlezwmd4siawp4jk/.
setenv          SPACK_ACCESS_ESM1P5_ROOT /g/data/vk83/prerelease/apps/spack/0.22/restricted/ukmo/release/linux-rocky8-x86_64_v4/intel-19.0.3.199/access-esm1p5-latest-vawzi2p6rhblpvvrhlezwmd4siawp4jk
-------------------------------------------------------------------
$ ls $SPACK_ACCESS_ESM1P5_ROOT
$ 

@penguian
Copy link
Author

penguian commented Jul 4, 2024

Try using autoload: direct or even autoload: all instead?

@harshula
Copy link
Collaborator

harshula commented Jul 5, 2024

Refer to: spack/spack#40940

Looks like we need to use exclude_implicits because Gadi has an old version of modules:

$ module --version
Modules Release 4.3.0 (2019-07-26)

hide_implicits was added in Spack v0.21, hence not relevant for releases made on Spack v0.20.

@harshula
Copy link
Collaborator

harshula commented Jul 5, 2024

Hi @penguian , FYI, we took a wrong turn at:
ACCESS-NRI/ACCESS-OM2#65
ACCESS-NRI/ACCESS-OM2#60

@harshula harshula self-assigned this Jul 5, 2024
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

No branches or pull requests

4 participants