@@ -616,8 +616,7 @@ Docker Hub.
616616
617617.. code-block :: console
618618
619- singularity build rocky9-gcc13-ss192-ompi416.sif \
620- docker://noaaepic/rocky9-gcc13.3.1-spack-stack:v1.9.2-ufs-env-ompi416
619+ singularity build rocky9-gcc13-ss192-ompi416.sif docker://noaaepic/rocky9-gcc13.3.1-spack-stack:v1.9.2-ufs-env-ompi416
621620
622621 export IMG=${PWD}/rocky9-gcc13-ss192-ompi416.sif
623622
@@ -654,12 +653,11 @@ instructs otherwise.
654653 singularity build -B </top_dir> -B </bind_add> --sandbox --fix-perms rocky9-oneapi2024.2-ss192 \
655654 docker://noaaepic/rocky9-oneapi2024.2-spack-stack:v1.9.2-ufs-wm-env
656655
657- #. Copy the helper scripts out of the sandbox.
656+ #. Copy the helper scripts, * intel-sandbox.sh * and * compilers_cp.sh * out of the sandbox.
658657
659658 .. code-block :: console
660659
661- singularity exec rocky9-oneapi2024.2-ss192 cp /opt/intel-sandbox.sh .
662- singularity exec rocky9-oneapi2024.2-ss192 cp /opt/compilers_cp.sh .
660+ singularity exec rocky9-oneapi2024.2-ss192 cp /opt/*.sh .
663661
664662 These scripts retrieve the Intel compiler and MPI components and reinstall
665663 them for use with the software-stack sandbox.
@@ -686,6 +684,9 @@ instructs otherwise.
686684 After this step, the software-stack sandbox contains the compilers, MPI, and
687685 required software stack. The Intel sandbox, ``intel-sandbox ``, can then be removed.
688686
687+ If users encounter problems building or combining sandboxes with SingularityCE,
688+ refer to :ref: `Note on possible SingularityCE restrictions <NoteBuildSandboxC >`.
689+
689690 The assembled sandbox can be used for runs, but it is large compared to a
690691 compressed image. For production runs, convert the sandbox into a SIF image,
691692 as shown in the next step.
@@ -707,6 +708,33 @@ instructs otherwise.
707708
708709 Proceed with downloading, building, and running the SRW App.
709710
711+ .. _NoteBuildSandboxC :
712+
713+ .. note ::
714+
715+ Site-specific SingularityCE installations may restrict image and sandbox
716+ builds more than Apptainer installations. These restrictions are configured
717+ by system administrators for security reasons and therefore vary by system.
718+ If users encounter errors when building images or sandboxes with
719+ SingularityCE, they should use Apptainer for the build step when it is
720+ available. SingularityCE can still be used later to run the completed
721+ container image.
722+
723+ On Tier 1 platforms **Orion ** and **Hercules **, for example, users who want
724+ to build the Intel sandbox and then create a combined sandbox that includes
725+ the full software stack and spack-stack libraries can load Apptainer with:
726+
727+ .. code-block :: shell
728+
729+ module load spack-managed-x86-64_v3/v1.0 apptainer/1.3.3
730+
731+ Here, the Apptainer module is loaded in a specific module environment that is
732+ not easily combined with other host modules. However, this environment is
733+ needed only while building the sandbox or image. After the final combined
734+ image has been created, the Apptainer module environment can be unloaded, and
735+ the more readily available SingularityCE module can be used for container
736+ runtime.
737+
710738.. _DownloadSRWC :
711739
712740Download the UFS SRW App and Submodules
@@ -732,10 +760,12 @@ Save the environment variable SRW for later use:
732760
733761Shell into the Software-Stack Container
734762^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
735- Open an interactive shell inside the container before building the SRW App. Bind
736- the top-level host filesystem that contains the SRW App checkout, the input
737- data, and the intended experiment directories. If additional site filesystems
738- are required, bind them with additional ``-B `` options.
763+ Open an interactive shell inside the container before building the SRW App.
764+ Bind-mount all host filesystems and directories that contain the SRW App, input
765+ data, and experiment directories. These filesystems are identified during the
766+ build stage and recorded in the runtime environment files so that the required
767+ paths are accessible inside the container at runtime.
768+ Any additional host directory can be added with a preceding ``-B `` flag.
739769
740770.. code-block :: console
741771
0 commit comments