Skip to main content

A TUI utility for creating test installations using Spack environment chaining

Project description

EMCEnvChainer

unit tests

The EMCEnvChainer utility allows NOAA developers to build their own copies of packages (i.e., model app dependencies) on top of existing spack-stack installations. It does so using Spack's environment chaining feature. Only the specifically requested package(s) and corresponding dependents need to be rebuilt, therefore as much of the existing installation as possible is reused, thereby reducing overall installation time and minimizing configuration differences (versions, build options) between the base and user software stacks.

The utility will automatically identify which platform (RDHPCS systems + Acorn) it is running on, and identify available base spack-stack installations, including the ones associated with the UFS Weather Model head of develop.

Installation & usage

To use the utility, install it, invoke the emcenvchainer command, and follow the prompts:

pip3 install emcenvchainer
emcenvchainer

After the installation is complete, instructions are provided for accessing the hybrid (base+user) stack. In short, Lmod module files and spack-stack metamodules for accessing the base and user packages are installed in a single location in the user's space (i.e., $MODULEPATH should not include the original spack-stack installation, only the one associated with the user's newly built spack-stack environment).

[!NOTE] This utility relies on Spack's built-in environment chaining capabilities. The ability to chain environments with Spack/spack-stack in some circumstances depends on using the same Python version/installation as the one that generated the main spack-stack installation. The Python versions/installations used to install each spack-stack environment on each platform are not particularly well documented or necessarily consistent. If you find in the concretization output that Spack does not reuse existing packages from the base installation in cases where it should ([^] in the concretization output indicates successful reuse of a package from the upstream/base installation), please reach out to the spack-stack maintainers for your HPC platform (typically EPIC; see https://spack-stack.readthedocs.io/en/latest/PreConfiguredSites.html) or create a spack-stack issue: https://github.com/JCSDA/spack-stack/issues/new/choose.

To override the automatic platform detection, export the SITE_OVERRIDE environment variable:

SITE_OVERRIDE=ursa emcenvchainer

[!IMPORTANT] xterm support must be enabled (such as for PuTTY, Tectia/sshg3, SecureCRT) or the utility will immediately fail with an error.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

emcenvchainer-0.2.0.tar.gz (81.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

emcenvchainer-0.2.0-py3-none-any.whl (40.1 kB view details)

Uploaded Python 3

File details

Details for the file emcenvchainer-0.2.0.tar.gz.

File metadata

  • Download URL: emcenvchainer-0.2.0.tar.gz
  • Upload date:
  • Size: 81.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for emcenvchainer-0.2.0.tar.gz
Algorithm Hash digest
SHA256 73cd0f0356b9add5f53a774b9d8455b14fc76bcc5f088b3bd016a0860052330e
MD5 7f5c511f1b1c4a7bef6253681ae401c7
BLAKE2b-256 ebb62f7c876bd649b0fdd54d057f08d73b195721c72758f6d56d0615eddd6b87

See more details on using hashes here.

Provenance

The following attestation bundles were made for emcenvchainer-0.2.0.tar.gz:

Publisher: publish_pypi.yml on AlexanderRichert-NOAA/EMCEnvChainer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file emcenvchainer-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: emcenvchainer-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 40.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for emcenvchainer-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ba6af055d6b7fbeff33dca97d4d0b20f3115359ddddcf685604b5b9a2382382e
MD5 f3d92dc2f6d3d82b0547fafff7e4d98a
BLAKE2b-256 1f25bdf4ac3448f4b17e3b2ad1e88914cc6546d73fc8fe3eaeee9caae278ed9b

See more details on using hashes here.

Provenance

The following attestation bundles were made for emcenvchainer-0.2.0-py3-none-any.whl:

Publisher: publish_pypi.yml on AlexanderRichert-NOAA/EMCEnvChainer

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page