| 1 | These directions should be good on any of the Canadian super computer systems using the common StdEnv/2020 Compute [https://docs.computecanada.ca/wiki/Standard_software_environments#StdEnv.2F2020 Canada module software stack] |
| 2 | |
| 3 | == Download ISSM == |
| 4 | {{{ |
| 5 | #!sh |
| 6 | svn --username XXX --password XXX checkout http://issm.ess.uci.edu/svn/issm/issm/trunk-jpl |
| 7 | }}} |
| 8 | |
| 9 | == ssh configuration == |
| 10 | |
| 11 | You should first create and upload an SSH key so you don't have to keep typing in your password. See directions: [https://docs.computecanada.ca/wiki/SSH_Keys] |
| 12 | |
| 13 | == Environment == |
| 14 | On Sherlock, add the following lines to `~/.bashrc`: |
| 15 | {{{ |
| 16 | #!sh |
| 17 | module load gcc/9.3.0 openmpi/4.0.3 matlab/2020a metis parmetis imkl petsc |
| 18 | export ISSM_DIR=PATHTOTRUNK |
| 19 | source $ISSM_DIR/etc/environment.sh |
| 20 | }}} |
| 21 | |
| 22 | Change PATHTOTRUNK. Log out and log back in to apply this change. |
| 23 | |
| 24 | == Installing ISSM on the cluster == |
| 25 | You need to install the following packages in this exact sequence: |
| 26 | - m1qn3 (install.sh) |
| 27 | |
| 28 | Use the following configuration script (adapt to your needs): |
| 29 | |
| 30 | {{{ |
| 31 | #!sh |
| 32 | ./configure \ |
| 33 | --prefix=$ISSM_DIR \ |
| 34 | --with-numthreads=2 \ |
| 35 | --with-mkl-libflags="-lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lmkl_blacs_openmpi_lp64 -lmkl_scalapack_lp64" \ |
| 36 | --with-petsc-dir="$EBROOTPETSC" \ |
| 37 | --with-mumps-dir="$EBROOTPETSC" \ |
| 38 | --with-m1qn3-dir="$ISSM_DIR/externalpackages/m1qn3/install" \ |
| 39 | --with-mpi-include="/some/path/just/to/enable" \ |
| 40 | --with-mpi-libflags="-lmpi_cxx -lmpi_mpifh -lmpi" \ |
| 41 | --with-fortran-lib="-L$EBROOTGCC/lib64 -lgfortran" |
| 42 | }}} |
| 43 | |
| 44 | == XXX_settings.m == |
| 45 | |
| 46 | You have to add a file in `$ISSM_DIR/src/m` entitled `sherlock_settings.m` with your personal settings: |
| 47 | |
| 48 | {{{ |
| 49 | #!m |
| 50 | cluster.login='XXX'; |
| 51 | cluster.port=0; |
| 52 | cluster.codepath=XXX'; |
| 53 | cluster.executionpath='XXX'; |
| 54 | }}} |
| 55 | |
| 56 | Use your username for the `login` and enter your `codepath` and `executionpath`. These settings will be picked up automatically by MATLAB when you do `md.cluster=XXX()` |