Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: add last spack-stack instruction

...

  1. Profile should be established this umask  will be required later in the stack install as will the ulimit  settings
    Code Block
    languageshell
    # .bash_profile
    umask 0022
    ulimit -S -s unlimited
    
    if [[ ~/.bashrc ]]; then
      . ~/.bashrc
    fi
    
    cd ~

  2. Follow the instructions for Prerequisites for Ubuntu (one-off):  https://spack-stack.readthedocs.io/en/latest/NewSiteConfigs.html#prerequisites-ubuntu-one-off 
    1. When installing the gcc compilers, if you would like to make sure you install version 13
      Code Block
      languageshell
      # Compilers
      apt install -y gcc-13 g++-13 gfortran-13 gdb
  3. Follow the instructions for creating a new environment:   https://spack-stack.readthedocs.io/en/latest/NewSiteConfigs.html#newsiteconfigs-linux-createenv 
    1. 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
      languageshell
      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
    2. Step 2: Create a unified-dev environment - complete step following newsiteconfigs 
      Code Block
      languageshell
      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] .
    3. Step 3: follow newsiteconfigs 
    4. Step 4: follow newsiteconfigs 
    5. Step 5: Check that “spack compiler find --scope system” reports version 13.x)
    6. Step 6: follow newsiteconfigs 
    7. Step 7:  Use openmpi 5.0.5, can skip  add of mpich.  
        1. Code Block
          languageshell
          gcc --version
          # insert your gcc version here (example 13.3.0)
          spack config add "packages:all:compiler:[gcc@13.3.0]"
        2. Code Block
          languageshell
          # openmpi v5.0.5 skip mpich install
          spack config add "packages:all:providers:mpi:[openmpi@5.0.5]"
    8. Step 8: follow newsiteconfigs 
    9. Step 9: skip - if new Orbstack 
    10. Step 10: skip - if new Orbstack
    11. Step 11: concretize and install: follow newsiteconfigs 
    12. Step 12 - 14: follow newsiteconfigs 

Building jedi-bundle and running skylab

  1. Follow instructions in the JEDI documentation
    1. HOST=localhost
    2. COMPILER=gnu
    3. And uncomment/modify the module command lines so they look like
      1. module purge
      2. module use /home/steveherbener/spack-stack/envs/ue-gcc/install/modulefiles/Core
      3. module load stack-gcc/13.3.0
      4. module load stack-openmpi/5.0.5
      5. module load stack-python/3.11.7
    4. https://jointcenterforsatellitedataassimilation-jedi-docs.readthedocs-hosted.com/en/latest/using/running_skylab/running_skylab.html
    5. In the jedi-tools provided setup.sh script, set:
  2. You will need to setup the mysql and r2d2 localhost. I followed the instructions in the R2D2 repo.
    1. sudo su
    2. mysql -u root
    3.   use mysql;
    4.   alter user ‘root’@’localhost’ identified with mysql_native_password by ‘’;
    5.   flush privileges;
    6.   exit;   # exit mysql
    7. exit  # exit sudo
    8. https://github.com/JCSDA-internal/r2d2/blob/develop/TUTORIAL.md#prerequisites-for-hpc-macos-and-aws-single-nodes
    9. To start the mysql server use: sudo service mysql start
    10. 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.
  3. 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 :
    1. 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.
  4. https://github.com/orbstack/orbstack/
  5. (https://github.com/orbstack/orbstack/issues/139#issuecomment-1595364746
  6. 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).
  7. ):
    Let's transcribe these specifically for our environment:

    1. step 0: install Xquartz (desktop app or brew)
    2. step 1: make sure you've created an orb machine (such as the Ubuntu example)
    3. 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
      languageshell
      cat /mnt/mac/Users/$USER/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
      chmod 600 ~/.ssh/authorized_keys
    4. Step 3: install SSH server
      Code Block
      languageshell
      sudo apt-get update
      sudo apt install openssh-server
      
      # change ListenStream from 22 to 2222
      sudo vim /lib/systemd/system/ssh.socket

    5. Step 4: restart the machine:
      Code Block
      languageshell
      # exit orb machine
      exit
      
      # from Mac restart orb machine
      orbctl restart <name>

    6. 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
      languageshell
      # 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

Changes for running skylab with R2D2 V3

...