diff --git a/parm/config/gefs/config.resources b/parm/config/gefs/config.resources index d98e437359..04d55ae082 100644 --- a/parm/config/gefs/config.resources +++ b/parm/config/gefs/config.resources @@ -252,13 +252,19 @@ case ${step} in export memory_wavepostsbs="10GB" ;; + # The wavepost*pnt* jobs are I/O heavy and do not scale well to large nodes. + # Limit the number of tasks/node to 40. "wavepostbndpnt") export wtime_wavepostbndpnt="01:00:00" export npe_wavepostbndpnt=240 export nth_wavepostbndpnt=1 export npe_node_wavepostbndpnt=$(( npe_node_max / nth_wavepostbndpnt )) - export NTASKS=${npe_wavepostbndpnt} export is_exclusive=True + if [[ ${npe_node_wavepostbndpnt} -gt 40 ]]; then + export npe_node_wavepostbndpnt=40 + export is_exclusive=False + fi + export NTASKS=${npe_wavepostbndpnt} ;; "wavepostbndpntbll") @@ -266,8 +272,12 @@ case ${step} in export npe_wavepostbndpntbll=448 export nth_wavepostbndpntbll=1 export npe_node_wavepostbndpntbll=$(( npe_node_max / nth_wavepostbndpntbll )) - export NTASKS=${npe_wavepostbndpntbll} export is_exclusive=True + if [[ ${npe_node_wavepostbndpntbll} -gt 40 ]]; then + export npe_node_wavepostbndpntbll=40 + export is_exclusive=False + fi + export NTASKS=${npe_wavepostbndpntbll} ;; "wavepostpnt") @@ -275,8 +285,12 @@ case ${step} in export npe_wavepostpnt=200 export nth_wavepostpnt=1 export npe_node_wavepostpnt=$(( npe_node_max / nth_wavepostpnt )) - export NTASKS=${npe_wavepostpnt} export is_exclusive=True + if [[ ${npe_node_wavepostpnt} -gt 40 ]]; then + export npe_node_wavepostpnt=40 + export is_exclusive=False + fi + export NTASKS=${npe_wavepostpnt} ;; *) diff --git a/parm/config/gfs/config.resources b/parm/config/gfs/config.resources index 3c6ccfff6f..e2893d6337 100644 --- a/parm/config/gfs/config.resources +++ b/parm/config/gfs/config.resources @@ -140,13 +140,19 @@ case ${step} in export memory_wavepostsbs_gfs="10GB" ;; + # The wavepost*pnt* jobs are I/O heavy and do not scale well to large nodes. + # Limit the number of tasks/node to 40. "wavepostbndpnt") export wtime_wavepostbndpnt="01:00:00" export npe_wavepostbndpnt=240 export nth_wavepostbndpnt=1 export npe_node_wavepostbndpnt=$(( npe_node_max / nth_wavepostbndpnt )) - export NTASKS=${npe_wavepostbndpnt} export is_exclusive=True + if [[ ${npe_node_wavepostbndpnt} -gt 40 ]]; then + export npe_node_wavepostbndpnt=40 + export is_exclusive=False + fi + export NTASKS=${npe_wavepostbndpnt} ;; "wavepostbndpntbll") @@ -154,8 +160,12 @@ case ${step} in export npe_wavepostbndpntbll=448 export nth_wavepostbndpntbll=1 export npe_node_wavepostbndpntbll=$(( npe_node_max / nth_wavepostbndpntbll )) - export NTASKS=${npe_wavepostbndpntbll} export is_exclusive=True + if [[ ${npe_node_wavepostbndpntbll} -gt 40 ]]; then + export npe_node_wavepostbndpntbll=40 + export is_exclusive=False + fi + export NTASKS=${npe_wavepostbndpntbll} ;; "wavepostpnt") @@ -163,8 +173,12 @@ case ${step} in export npe_wavepostpnt=200 export nth_wavepostpnt=1 export npe_node_wavepostpnt=$(( npe_node_max / nth_wavepostpnt )) - export NTASKS=${npe_wavepostpnt} export is_exclusive=True + if [[ ${npe_node_wavepostpnt} -gt 40 ]]; then + export npe_node_wavepostpnt=40 + export is_exclusive=False + fi + export NTASKS=${npe_wavepostpnt} ;; "wavegempak")