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

Add NEPTUNE standalone virtual package and template, add Atlantis site config #1103

Merged
merged 26 commits into from
May 23, 2024

Conversation

climbfuji
Copy link
Collaborator

@climbfuji climbfuji commented May 3, 2024

Summary

  1. Add spack-ext/repos/spack-stack/packages/neptune-env virtual package for standalone neptune (no JEDI)
  2. Update spack-ext/repos/spack-stack/packages/jedi-neptune-env/package.py to avoid code duplication
  3. Add configs/templates/neptune-dev

Testing

  • Build neptune-dev environment on my macOS
  • CI (unified-dev environments using jedi-neptune-env)
  • Build neptune-dev environment on Nautilus or Narwhal and verify that all required dependencies for NEPTUNE standalone are there (except the plotting package xnrl, which will be added in a follow-up PR).

Applications affected

NEPTUNE standalone

Systems affected

None

Dependencies

None

Issue(s) addressed

Resolves #1102

Checklist

  • This PR addresses one issue/problem/enhancement, or has a very good reason for not doing so.
  • These changes have been tested on the affected systems and applications.
  • All dependency PRs/issues have been resolved and this PR can be merged.

…ext/repos/spack-stack/packages/jedi-neptune-env/package.py, add configs/templates/neptune-dev
@climbfuji climbfuji self-assigned this May 3, 2024
@climbfuji climbfuji added the NAVY United States Naval Research Lab label May 3, 2024
@climbfuji
Copy link
Collaborator Author

@areinecke Here is a PR for a minimal NEPTUNE standalone env in case you want to give this a try before I get to testing it with NEPTUNE.

@climbfuji climbfuji marked this pull request as ready for review May 3, 2024 20:10
@climbfuji
Copy link
Collaborator Author

@areinecke @sking112 @fcvdb I created a test spack-stack install on Nautilus with Intel based on the neptune-env template (standalone NEPTUNE) in this PR. Here is how to use it:

umask 0022
module purge
module use /p/work1/heinzell/spack-stack-neptune-mini-env/envs/neptune-env-intel-2021.5.0/install/modulefiles/Core
module load stack-intel/2021.5.0
module load stack-openmpi/4.1.6
module load stack-python/3.10.13
module load neptune-env/1.4.0

This works (for building) with the head of neptune_atmos when making the following code changes:

$ git diff
diff --git a/Makefile b/Makefile
index d465943ee..059523494 100644
--- a/Makefile
+++ b/Makefile
@@ -106,7 +106,7 @@ M4DIR  := $(SRC_DIR)/m4
 # examining the build system makefile code.

 # t = true, f = false
-export SPACK_STACK_INSTALL ?= f
+export SPACK_STACK_INSTALL ?= t
 export DEBUG               ?= f
 export FOR_GPU             ?= f
 export NUOPC_BUILD         ?= f
diff --git a/cfg/config.general_settings b/cfg/config.general_settings
index 24dc31bad..a54215e12 100644
--- a/cfg/config.general_settings
+++ b/cfg/config.general_settings
@@ -213,11 +213,12 @@ ifeq ($(PHYSICS),t)
     INCLUDE  += -I$(NETCDFHOME)/include
     EXTLIBS  += -L$(NETCDFHOME)/lib -lnetcdf -lnetcdff
   else
-    EXTLIBS  += -L$(w3nco_ROOT)/lib -L$(bacio_ROOT)/lib -L$(sp_ROOT)/lib -L$(sp_ROOT)/lib64
+    # DO WE NEED LIB AND LIB64
+    EXTLIBS  += -L$(w3nco_ROOT)/lib -L$(bacio_ROOT)/lib -L$(ip_ROOT)/lib -L$(ip_ROOT)/lib64
     ifneq ($(SINGLE),t)
-      EXTLIBS  += -lw3nco_d -lbacio_8 -lsp_d
+      EXTLIBS  += -lw3nco_d -lbacio_8 -lip_d
     else
-      EXTLIBS  += -lw3nco_4 -lbacio_4 -lsp_4
+      EXTLIBS  += -lw3nco_4 -lbacio_4 -lip_4
     endif

     INCLUDE  += -I$(netcdf_c_ROOT)/include -I$(netcdf_fortran_ROOT)/include

Please check if the environment contains everything you expect and let me know. Thanks!

@climbfuji climbfuji changed the title Add NEPTUNE standalone virtual package and template Add NEPTUNE standalone virtual package and template, add Atlantis site config May 21, 2024
@climbfuji
Copy link
Collaborator Author

@areinecke I think we should merge this PR (NEPTUNE standalone env without xnrl) and add xnrl as a follow-up PR - we already have an issue to cover that. For the moment, we/I can install xnrl in a separate location and provide instructions on loading it into the environment after loading the spack-stack modules. Does that sound ok?

climbfuji and others added 5 commits May 23, 2024 04:22
* Configure [email protected] in  configs/common/modules_*.yaml
* Update submodule pointer for spack
* Add gcc12 + [email protected] to Nautilus site config
* fix bugs in util/check_package_config.py

---------

Co-authored-by: Dom Heinzeller <[email protected]>
@climbfuji climbfuji requested a review from areinecke May 23, 2024 15:44
@climbfuji climbfuji merged commit 7e9fb1c into JCSDA:develop May 23, 2024
7 checks passed
@climbfuji climbfuji deleted the feature/neptune_standalone_env branch May 23, 2024 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
NAVY United States Naval Research Lab
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

Add NEPTUNE standalone template
3 participants