-
Notifications
You must be signed in to change notification settings - Fork 4
/
aws_preamble_cpld_slurm
57 lines (55 loc) · 2.1 KB
/
aws_preamble_cpld_slurm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/sh
#SBATCH -t 00:30:00
#SBATCH -p compute
#SBATCH --ntasks 2688
#SBATCH --nodes 28
#SBATCH -J ufs_era5_replay
export NODES=$SLURM_NNODES
export corespernode=$SLURM_CPUS_ON_NODE
echo NODES=$NODES
echo corespernode=$corespernode
export machine='aws'
# for control forecast
if [ $NODES -eq 27 ]; then # 0.25 degree setup
export control_threads=1
export control_proc=2592
export write_groups=1 # write groups for control forecast.
export write_tasks=48
export layout="12,24" # layout_x,layout_y (total # mpi tasks = $layout_x*$layout_y*6=($fg_proc/$fg_threads) - $write_tasks*$write_groups)
export nprocs_cpl=1728
export nprocs_atm=1824
export nprocs_ice=192
export nprocs_ocn=384
export nprocs_wav=192
export nprocs_gsi=1728
elif [ $NODES -eq 28 ]; then # 0.25 degree setup
export control_threads=1
export control_proc=2688
export write_groups=2 # write groups for control forecast.
export write_tasks=48
export layout="12,12" # layout_x,layout_y (total # mpi tasks = $layout_x*$layout_y*6=($fg_proc/$fg_threads) - $write_tasks*$write_groups) # 2 threads
# export layout="12,24" # layout_x,layout_y (total # mpi tasks = $layout_x*$layout_y*6=($fg_proc/$fg_threads) - $write_tasks*$write_groups) # no threads
export nprocs_cpl=1728
export nprocs_atm=1920
export nprocs_ice=192
export nprocs_ocn=288
export nprocs_wav=288
export nprocs_gsi=1728
elif [ $NODES -eq 29 ]; then # 0.25 degree setup
export control_threads=1
export control_proc=2784
export write_groups=2 # write groups for control forecast.
export write_tasks=48
export layout="12,12" # layout_x,layout_y (total # mpi tasks = $layout_x*$layout_y*6=($fg_proc/$fg_threads) - $write_tasks*$write_groups) # 2 threads
# export layout="12,24" # layout_x,layout_y (total # mpi tasks = $layout_x*$layout_y*6=($fg_proc/$fg_threads) - $write_tasks*$write_groups) # no threads
export nprocs_cpl=1728
export nprocs_atm=1920
export nprocs_ice=192
export nprocs_ocn=384
export nprocs_wav=288
export nprocs_gsi=1728
else
echo "processor layout for $NODES nodes not set"
exit 1
fi
export gsi_control_threads=6