Skip to content

LAVA Access for NAS Users

If you have access to NASA Advanced Supercomputing (NAS) systems with compute time allocations, a valid Software User Agreement, and want to run LAVA on NAS, submit a NAMS request on IdMax (Launch, Ascent, and Vehicle Aerodynamics (LAVA) Computational Fluid Dynamics (CFD) Access on NAS). Once approved, you can use the module system described below.

Please note the LAVA development team does not have the authority to grant access or issue computer time on NAS systems. You may visit the following page for instructions on how to request NAS computer resources and to see if you qualify.

If you are an external user, go to External Users (Tarball Installation).

Setup Instructions

  1. Add the LAVA module path:

    module use /swbuild/LAVA/LAVA_modules
    

    Warning

    If you use --append in the above command, you might not end up loading the right module below. Please make sure to prepend or use the above command as is to avoid conflicts with other modules.

  2. View available LAVA versions:

    module avail LAVA
    
  3. Load the LAVA module:

    module load LAVA
    

    Tip

    The above will give you access to the latest version of LAVA release. You can also choose to load a specific version of LAVA using module load LAVA/<version>

  4. Start using LAVA:

    The module automatically:

    • Detects your current system (Aitken, Electra, Athena, Cabeus A100, Cabeus Grace Hopper etc.)
    • Loads the appropriate compiler and MPI environment
    • Adds the correct LAVA executables to your PATH
    • Sets necessary environment variables

Sample PBS scripts to run on NAS

For example PBS scripts and NAS runtime guidance, see Running LAVA on NAS.

Troubleshooting

Module LAVA not found

Solution: Ensure you've added the module path: module use /swbuild/LAVA/LAVA_modules

Wrong architecture executable selected

Solution: The module should auto-detect your system. If issues persist, contact LAVA support.

Module conflicts when loading LAVA on Athena (e.g., PrgEnv-intel conflicts with PrgEnv-cray)

Solution: Run module purge to clear all loaded modules, then load LAVA again:

module purge
module use /swbuild/LAVA/LAVA_modules
module load LAVA/<version>

Permission denied errors when loading LAVA_deps (e.g., ERROR: Permission denied on '/nasa/modulefiles/toss4/cmake')

Loading LAVA_deps/rome_old
  Module ERROR: no such variable
        (read trace on "::env(LAVA_REPO_DIR)")
        invoked from within
    "set base        $::env(LAVA_REPO_DIR)"
        (file "/swbuild/LAVA/LAVA_GROUP/LAVA_modules/LAVA_deps/rome_old" line 14)
    Please contact <root@localhost>

Loading LAVA_voro/dev
  ERROR: Load of requirement 'LAVA_deps' failed
No Modulefiles Currently Loaded.
Solution: This occurs when you have conflicting module paths in your environment (e.g., from /swbuild/LAVA/LAVA_GROUP/LAVA_modules/). Ensure that you are prepending the recommended path:
module purge
module use /swbuild/LAVA/LAVA_modules
module load LAVA/<version>
or use the --prepend option on newer TCL module version systems.
module purge
module use --prepend /swbuild/LAVA/LAVA_modules
module load LAVA/<version>
Make sure to also check your .bashrc or .profile and remove (or comment) other conflicting module paths like module use -a /swbuild/LAVA/LAVA_GROUP/LAVA_modules.

Module loading errors on Athena

Loading PrgEnv-intel/8.6.0
  ERROR: Module cannot be loaded due to a conflict.
    HINT: Might try "module unload PrgEnv-cray" first.

Loading LAVA_deps/intel
  ERROR: Load of requirement PrgEnv-intel failed
Solution: On Athena systems, the global profile script /usr/local/lib/init/global.profile can cause conflicts with LAVA modules. Add this safeguard to your .bashrc or .profile to prevent loading it on Athena:
if [[ $(hostname) != athfe* ]] && [[ $(hostname) != x100* ]] && [ -e /usr/local/lib/init/global.profile ]; then
    . /usr/local/lib/init/global.profile
fi
This ensures the global profile is only sourced on non-Athena systems. Alternatively, the issue might be related to using an incorrect version of the module command. Your scripts might need to be modified to use the correct module command for Athena:
if [ -f /opt/cray/pe/modules/default/init/bash ]; then
  source /opt/cray/pe/modules/default/init/bash
else
  source /usr/local/lib/global.profile
fi
After updating your .bashrc or .profile, start a new terminal session, then try loading the module again. Refer to the following for more details.

Executable not found or module loading errors in PBS jobs on Athena

mbind.x: execvp: lavaunst.3D.NS1.AVX512: No such file or directory
x1000c0s4b0n1.hsn.ath.nas.nasa.gov: rank 0 exited with code 255
or
Loading craype/2.7.35
  ERROR: Conflicting PrgEnv-intel/8.6.0 is loading

Loading PrgEnv-intel/8.6.0
  ERROR: Requirement craype is not loaded
Solution: When running PBS jobs on Athena, the environment may not be properly initialized. Add source ~/.bashrc at the beginning of your PBS script after the PBS directives and before loading LAVA modules:
#!/bin/bash
#PBS -S /bin/bash
#PBS -N lava_turin_job
#PBS -q normal
#PBS -l select=16:ncpus=512:mpiprocs=4:model=tur_ath
#PBS -l walltime=04:00:00
#PBS -j oe
#PBS -r n

# Source your bashrc to initialize the environment properly
source ~/.bashrc

# Load LAVA module
module use /swbuild/LAVA/LAVA_modules
module load LAVA/v1.0.0

# ... rest of your script
This ensures your .bashrc settings (including the Athena-specific global profile exclusion) are applied in the PBS job environment. See the NAS Athena documentation for more details.

Module loading fails due to NFS group limitations (Error: "Permission denied" or modules not loading)

Solution: If you are a member of many Unix groups (more than 16), you may encounter NFS filesystem limitations where only the first 16 groups are loaded, potentially causing access issues to LAVA modules and dependencies.

Symptoms:

  • Module loading works on some systems but not others
  • Inconsistent behavior across different frontends
  • Permission denied errors when accessing module files

Workaround: Use the newgrp command to ensure you're logged into the correct group before loading LAVA:

newgrp <your_group>  # e.g., newgrp n1546
module use /swbuild/LAVA/LAVA_modules
module load LAVA/<version>
You can check which groups you're a member of with groups or id -Gn. Contact your system administrator if you need help determining the correct group to use.

md5sum error when running LAVA executables (Error: md5.c line 18: cannot open file)

ERROR: md5.c line 18: cannot open file: /path/to/lavaunst.3D.NS1.AVX2
Solution: This error is benign and can be safely ignored. NAS systems automatically attempt to compute md5 checksums of all executables for auditing. LAVA binaries are distributed with execute-only permissions, which prevents the md5sum utility from reading the binary file. This does not affect LAVA's functionality - the executable will run correctly despite this error message appearing in your output.

Cannot find executable mbind.x

Cannot find executable mbind.x
Solution: The module should add the path to mbind to your environment. But for any reason if you see an error similar to the above use the full path in your run command or PBS script:
  • All systems except GH:
    /u/scicon/tools/bin/mbind.x
    
  • GH systems:
    /u/scicon/tools/arm/bin/mbind.x
    

LAVA Access validation failed

[I]   Using access file: /path/to/access/file
[E]  (Rank=00000) LAVA Access validation failed.
 Reason: User '<userid>' not authorized for this license
Solution: This is very unlikely and should not happen when you are loading the LAVA release modules. But if it does you can try unset LAVA_ACCESS_FILE.