...
- Profile should be established this
umaskwill be required later in the stack install as will theulimitsettingsCode Block language shell # .bash_profile umask 0022 ulimit -S -s unlimited if [[ ~/.bashrc ]]; then . ~/.bashrc fi cd ~
- Follow the instructions for Prerequisites for Ubuntu (one-off):
- apt install -y gcc-13 g++-13 gfortran-13 gdb
- gcc –version
- When installing the gcc compilers, if you would like to make sure you install version 13
- Check that you have the links for the gcc compilers installed, and that the version is 13.x
- Follow the instructions for creating a new environment
- Place the spack-stack clone in you home directory
- git clone -b release/1.9.0 --recurse-submodules https://github.com/jcsda/spack-stack.git
- spack stack create env --site linux.default --template unified-dev --name unified-env.gcc --compiler=gcc
- In the section where you are adding the compiler and mpi to the config, use (example is based on “gcc –version” returning 13.3.0)
- spack config add "packages:all:compiler:[gcc@13.3.0]"
- spack config add "packages:all:providers:mpi:[openmpi@5.0.5]"
- https://spack-stack.readthedocs.io/en/latest/NewSiteConfigs.html#newsiteconfigs-linux-createenv
- Step 1: For now use the 1.9.0 release branch when cloning spack-stack
- Step 2: Create a unified-dev environment
- Step 5: Check that “spack compiler find --scope system” reports version 13.x
- Step 7: Use openmpi 5.0.5 instead of mpich
- Step 9: Leave the module configuration as is (tcl), so skip this step
Building jedi-bundle and running skylab
Code Block language shell # Compilers apt install -y gcc-13 g++-13 gfortran-13 gdb
- Follow the instructions for creating a new environment: https://spack-stack.readthedocs.io/en/latest/NewSiteConfigs.html#newsiteconfigs-linux-createenv
- Step 1: For now use the 1.9.0 release branch when cloning spack-stack (Place the spack-stack clone in you home directory.)
Code Block language shell git clone -b release/1.9.0 --recurse-submodules https://github.com/jcsda/spack-stack.git cd spack-stack # Sources Spack from submodule and sets ${SPACK_STACK_DIR} source setup.sh - Step 2: Create a unified-dev environment - complete step following
newsiteconfigsCode Block language shell spack stack create env --site linux.default --template unified-dev --name unified-env.gcc --compiler=gcc cd envs/unified-env.gcc/ spack env activate [-p] . - Step 3: follow
newsiteconfigs - Step 4: follow
newsiteconfigs - Step 5: Check that “spack compiler find --scope system” reports version 13.x)
- Step 6: follow
newsiteconfigs - Step 7: Use openmpi 5.0.5, can
skipadd of mpich.Code Block language shell gcc --version # insert your gcc version here (example 13.3.0) spack config add "packages:all:compiler:[gcc@13.3.0]"Code Block language shell # openmpi v5.0.5 skip mpich install spack config add "packages:all:providers:mpi:[openmpi@5.0.5]"
- Step 8: follow
newsiteconfigs - Step 9: skip - if new Orbstack
- Step 10: skip - if new Orbstack
- Step 11: concretize and install: follow
newsiteconfigs - Step 12 - 14: follow
newsiteconfigs
- Step 1: For now use the 1.9.0 release branch when cloning spack-stack (Place the spack-stack clone in you home directory.)
Building jedi-bundle and running skylab
- Follow instructions in the JEDI documentation
- HOST=localhost
- COMPILER=gnu
- And uncomment/modify the module command lines so they look like
- module purge
- module use /home/steveherbener/spack-stack/envs/ue-gcc/install/modulefiles/Core
- module load stack-gcc/13.3.0
- module load stack-openmpi/5.0.5
- module load stack-python/3.11.7
- https://jointcenterforsatellitedataassimilation-jedi-docs.readthedocs-hosted.com/en/latest/using/running_skylab/running_skylab.html
- In the jedi-tools provided setup.sh script, set:
- You will need to setup the mysql and r2d2 localhost. I followed the instructions in the R2D2 repo.
- sudo su
- mysql -u root
- use mysql;
- alter user ‘root’@’localhost’ identified with mysql_native_password by ‘’;
- flush privileges;
- exit; # exit mysql
- exit # exit sudo
- https://github.com/JCSDA-internal/r2d2/blob/develop/TUTORIAL.md#prerequisites-for-hpc-macos-and-aws-single-nodes
- To start the mysql server use: sudo service mysql start
- I had trouble getting the local database setup script to run due to permission problems with logging into the mysql server as ‘root’@’localhost’. I had to do the following to get this working. What this does is remove the password on the root user in the mysql server.
- Initially, I could not get the ecflow UI to connect to the mac display. I had to follow the instructions here to get this working (https://github.com/orbstack/orbstack/issues/139#issuecomment-1595364746):
Let's transcribe these specifically for our environment:- step 0: install Xquartz (desktop app or brew)
- step 1: make sure you've created an orb machine (such as the Ubuntu example)
- Step 2: copy the contents of the ~/.ssh/id_rsa.pub file on your mac home directory into the ~/.ssh/authorized_keys file on your OrbStack (ubuntu) home directory.
Code Block language shell cat /mnt/mac/Users/$USER/.ssh/id_rsa.pub > ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys - Step 3: install SSH server
Code Block language shell sudo apt-get update sudo apt install openssh-server # change ListenStream from 22 to 2222 sudo vim /lib/systemd/system/ssh.socket - Step 4: restart the machine:
Code Block language shell # exit orb machine exit # from Mac restart orb machine orbctl restart <name> - Step 5: Every time you access OrbStack machine and wish to use X11 forwarding you will need to use a terminal on the Mac and run the given ssh command (ssh -Y -p 2222 127.0.0.1).
Code Block language shell # from Mac access X11 enabled Orb ssh -Y -p 2222 127.0.0.1 # if you want these utilities and to test xclock (optional) sudo apt-get install -y x11-apps
- Follow instructions in the JEDI documentation
- HOST=localhost
- COMPILER=gnu
- And uncomment/modify the module command lines so they look like
- module purge
- module use /home/steveherbener/spack-stack/envs/ue-gcc/install/modulefiles/Core
- module load stack-gcc/13.3.0
- module load stack-openmpi/5.0.5
- module load stack-python/3.11.7
- https://jointcenterforsatellitedataassimilation-jedi-docs.readthedocs-hosted.com/en/latest/using/running_skylab/running_skylab.html
- In the jedi-tools provided setup.sh script, set:
- You will need to setup the mysql and r2d2 localhost. I followed the instructions in the R2D2 repo.
- sudo su
- mysql -u root
- use mysql;
- alter user ‘root’@’localhost’ identified with mysql_native_password by ‘’;
- flush privileges;
- exit; # exit mysql
- exit # exit sudo
- https://github.com/JCSDA-internal/r2d2/blob/develop/TUTORIAL.md#prerequisites-for-hpc-macos-and-aws-single-nodes
- To start the mysql server use: sudo service mysql start
- I had trouble getting the local database setup script to run due to permission problems with logging into the mysql server as ‘root’@’localhost’. I had to do the following to get this working. What this does is remove the password on the root user in the mysql server.
- Initially, I could not get the ecflow UI to connect to the mac display. I had to follow the instructions here to get this working:
- Step 2 in these instructions didn’t work for me. What you want to do is simply copy the contents of the ~/.ssh/id_rsa.pub file on your mac home directory into the ~/.ssh/authorized_keys file on your OrbStack (ubuntu) home directory.
- https://github.com/orbstack/orbstack/issues/139#issuecomment-1595364746 Take note in Step 5 of the manner in which you connect to the OrbStack machine from the mac. Every time you access the OrbStack machine you will need to open a terminal on the mac (not through ObsStack) and run the given ssh command (ssh -Y -p 2222 127.0.0.1).
Changes for running skylab with R2D2 V3
...