From f0656340e3cf7220842db18ef0a339d57643dc81 Mon Sep 17 00:00:00 2001 From: Johannes Keller Date: Fri, 25 Sep 2026 14:36:51 +0200 Subject: [PATCH 1/5] docs: separate JSC HPC and generic HPC quick-start guides - JSC-HPC: namelist files are simply cloned, not generated, which remove ectk dependency --- docs/users_guide/introduction/quick_start.md | 45 ++++++++++++++++++-- 1 file changed, 41 insertions(+), 4 deletions(-) diff --git a/docs/users_guide/introduction/quick_start.md b/docs/users_guide/introduction/quick_start.md index b6deda9e8..34d01bbc8 100644 --- a/docs/users_guide/introduction/quick_start.md +++ b/docs/users_guide/introduction/quick_start.md @@ -47,6 +47,8 @@ mpirun -np 1 eclm.exe ## Setting up eCLM on HPC systems +### HPC at Forschungszentrum Jülich (Jülich Supercomputing Centre, JSC) + The steps are similar to above. The only difference is the build step and running step. 1. Download TSMP2 build system. @@ -70,7 +72,9 @@ cd TSMP2 cd .. git clone https://icg4geo.icg.kfa-juelich.de/ExternalReposPublic/tsmp2-static-files/extpar_eclm_wuestebach_sp.git cd extpar_eclm_wuestebach_sp/static.resources -./generate_wtb_namelists.sh 1x1_wuestebach + +# Download Wüstebach namelist configuration (internal repository, login needed) +git clone --branch relative-paths https://icg4geo.icg.kfa-juelich.de/Configurations/CLM/wtb_eclm.git 1x1_wuestebach # Download large files (possibly git-lfs needs to be configured) cd .. @@ -79,8 +83,7 @@ git lfs pull cd static.resources ``` -4a. (ONLY on JSC systems) Set up the run directory with symlinks and a -job script. +4. Set up the run directory with symlinks and a job script. ```sh cd 1x1_wuestebach @@ -114,7 +117,41 @@ Run eCLM: sbatch jobscript.slurm ``` -4b. (GENERIC HPC) Run eCLM. +### Generic HPC + +The steps are similar to above. The only difference is the build step and running step. + +1. Download TSMP2 build system. + +```sh +# eCLM can be easily built via the TSMP2 build system. The following step will download TSMP2. +git clone https://github.com/HPSCTerrSys/TSMP2.git +``` + +2. Build eCLM + +```sh +# Build eCLM +cd TSMP2 +./build_tsmp2.sh eCLM +``` + +3. Set up a simulation experiment. + +```sh +cd .. +git clone https://icg4geo.icg.kfa-juelich.de/ExternalReposPublic/tsmp2-static-files/extpar_eclm_wuestebach_sp.git +cd extpar_eclm_wuestebach_sp/static.resources +./generate_wtb_namelists.sh 1x1_wuestebach + +# Download large files (possibly git-lfs needs to be configured) +cd .. +git lfs install +git lfs pull +cd static.resources +``` + +4b. Run eCLM. ```sh cd 1x1_wuestebach From 69338bcdd8775564ab0a95ff18da2bd457a2696f Mon Sep 17 00:00:00 2001 From: Johannes Keller Date: Fri, 25 Sep 2026 14:55:32 +0200 Subject: [PATCH 2/5] docs: make account and partition more general --- docs/users_guide/introduction/quick_start.md | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/docs/users_guide/introduction/quick_start.md b/docs/users_guide/introduction/quick_start.md index 34d01bbc8..a19a2d345 100644 --- a/docs/users_guide/introduction/quick_start.md +++ b/docs/users_guide/introduction/quick_start.md @@ -83,7 +83,7 @@ git lfs pull cd static.resources ``` -4. Set up the run directory with symlinks and a job script. +4a. Set up the run directory with symlinks. ```sh cd 1x1_wuestebach @@ -91,14 +91,23 @@ cd 1x1_wuestebach # Symlink the eCLM executable and the JSC environment file ln -s ../../../TSMP2/bin/JUWELS_eCLM/bin/eclm.exe eclm.exe ln -s ../../../TSMP2/bin/JUWELS_eCLM/jsc.2025.intel.psmpi loadenvs +``` + +4b. Set up the run directory with a job script adding your account +information. + +```sh +# Set your compute account and CPU partition +ACCOUNT= +PARTITION= -cat > jobscript.slurm << 'EOF' +cat > jobscript.slurm << EOF #!/usr/bin/env bash #SBATCH --job-name=1x1_wuestebach #SBATCH --nodes=1 #SBATCH --ntasks-per-node=48 -#SBATCH --account=jibg36 -#SBATCH --partition=batch +#SBATCH --account=${ACCOUNT} +#SBATCH --partition=${PARTITION} #SBATCH --time=0:30:00 #SBATCH --output=logs/%j.eclm.1x1_wuestebach.out #SBATCH --error=logs/%j.eclm.1x1_wuestebach.err @@ -107,7 +116,7 @@ cat > jobscript.slurm << 'EOF' source loadenvs # Run model -srun -n $SLURM_NTASKS eclm.exe +srun -n \$SLURM_NTASKS eclm.exe EOF ``` From 4f909fb62cfb68afb68371a4f6b4d8b837fcb4d6 Mon Sep 17 00:00:00 2001 From: Johannes Keller Date: Mon, 28 Sep 2026 13:56:50 +0200 Subject: [PATCH 3/5] docs: update docs from @kvrigor's suggestions --- docs/users_guide/introduction/quick_start.md | 46 +++++++++++--------- 1 file changed, 26 insertions(+), 20 deletions(-) diff --git a/docs/users_guide/introduction/quick_start.md b/docs/users_guide/introduction/quick_start.md index a19a2d345..45987f5fe 100644 --- a/docs/users_guide/introduction/quick_start.md +++ b/docs/users_guide/introduction/quick_start.md @@ -66,48 +66,54 @@ cd TSMP2 ./build_tsmp2.sh eCLM ``` -3. Set up a simulation experiment. +3. Clone namelist files for the simulation experiment Wüstebach. ```sh cd .. -git clone https://icg4geo.icg.kfa-juelich.de/ExternalReposPublic/tsmp2-static-files/extpar_eclm_wuestebach_sp.git -cd extpar_eclm_wuestebach_sp/static.resources # Download Wüstebach namelist configuration (internal repository, login needed) git clone --branch relative-paths https://icg4geo.icg.kfa-juelich.de/Configurations/CLM/wtb_eclm.git 1x1_wuestebach - -# Download large files (possibly git-lfs needs to be configured) -cd .. -git lfs install -git lfs pull -cd static.resources ``` -4a. Set up the run directory with symlinks. +4. Set up the executable and environment file with symlinks. ```sh cd 1x1_wuestebach # Symlink the eCLM executable and the JSC environment file -ln -s ../../../TSMP2/bin/JUWELS_eCLM/bin/eclm.exe eclm.exe -ln -s ../../../TSMP2/bin/JUWELS_eCLM/jsc.2025.intel.psmpi loadenvs +ln -s ../TSMP2/bin/JUWELS_eCLM/bin/eclm.exe eclm.exe +ln -s ../TSMP2/bin/JUWELS_eCLM/jsc.2025.intel.psmpi loadenvs ``` -4b. Set up the run directory with a job script adding your account -information. +5. Activate your JSC account ```sh -# Set your compute account and CPU partition +# Select a compute project with a non-empty 'budget-accounts'. If you don't have +# one, request access via JuDOOR: https://judoor.fz-juelich.de +jutil user projects -u $USER + +# Set your compute account, examples `cjicg41`, `cslts` ACCOUNT= -PARTITION= + +# Activate project +jutil env activate -p ${ACCOUNT} + +# Check if $BUDGET_ACCOUNTS was set +echo $BUDGET_ACCOUNTS +``` + +6. Write the job script including your account information +(automatically if `$BUDGET_ACCOUNTS` is set). + +```sh cat > jobscript.slurm << EOF #!/usr/bin/env bash #SBATCH --job-name=1x1_wuestebach #SBATCH --nodes=1 #SBATCH --ntasks-per-node=48 -#SBATCH --account=${ACCOUNT} -#SBATCH --partition=${PARTITION} +#SBATCH --account=${BUDGET_ACCOUNTS} +#SBATCH --partition=dc-cpu #SBATCH --time=0:30:00 #SBATCH --output=logs/%j.eclm.1x1_wuestebach.out #SBATCH --error=logs/%j.eclm.1x1_wuestebach.err @@ -116,11 +122,11 @@ cat > jobscript.slurm << EOF source loadenvs # Run model -srun -n \$SLURM_NTASKS eclm.exe +srun -n 1 eclm.exe EOF ``` -Run eCLM: +6. Run eCLM using the jobscript: ```sh # On JSC systems (submit via Slurm): sbatch jobscript.slurm From 9fcfaa787c06ecc83db5b18e6ba9a3803efa5f05 Mon Sep 17 00:00:00 2001 From: Johannes Keller Date: Mon, 28 Sep 2026 20:06:09 +0200 Subject: [PATCH 4/5] docs: simplify account handling in quick start resolves https://github.com/HPSCTerrSys/eCLM/pull/148#discussion_r4123377118 --- docs/users_guide/introduction/quick_start.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/docs/users_guide/introduction/quick_start.md b/docs/users_guide/introduction/quick_start.md index 45987f5fe..d0526eba3 100644 --- a/docs/users_guide/introduction/quick_start.md +++ b/docs/users_guide/introduction/quick_start.md @@ -92,11 +92,8 @@ ln -s ../TSMP2/bin/JUWELS_eCLM/jsc.2025.intel.psmpi loadenvs # one, request access via JuDOOR: https://judoor.fz-juelich.de jutil user projects -u $USER -# Set your compute account, examples `cjicg41`, `cslts` -ACCOUNT= - # Activate project -jutil env activate -p ${ACCOUNT} +jutil env activate -p # Check if $BUDGET_ACCOUNTS was set echo $BUDGET_ACCOUNTS From c72316c3ca39d5e0b652334f7b31292ffe9aa8f7 Mon Sep 17 00:00:00 2001 From: Johannes Keller Date: Mon, 28 Sep 2026 20:14:31 +0200 Subject: [PATCH 5/5] docs: use master branch of namelist repo --- docs/users_guide/introduction/quick_start.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/users_guide/introduction/quick_start.md b/docs/users_guide/introduction/quick_start.md index d0526eba3..a9e2cc99c 100644 --- a/docs/users_guide/introduction/quick_start.md +++ b/docs/users_guide/introduction/quick_start.md @@ -72,7 +72,7 @@ cd TSMP2 cd .. # Download Wüstebach namelist configuration (internal repository, login needed) -git clone --branch relative-paths https://icg4geo.icg.kfa-juelich.de/Configurations/CLM/wtb_eclm.git 1x1_wuestebach +git clone https://icg4geo.icg.kfa-juelich.de/Configurations/CLM/wtb_eclm.git 1x1_wuestebach ``` 4. Set up the executable and environment file with symlinks.