@@ -20,28 +20,30 @@ case_in=$1
2020echo " BEGIN: config.fv3"
2121
2222
23- if [[ " $machine " = " JET" ]]; then
24- if [[ " $PARTITION_BATCH " = " xjet" ]]; then
23+ if [[ " ${machine} " = " WCOSS2" ]]; then
24+ export npe_node_max=128
25+ elif [[ " ${machine} " = " JET" ]]; then
26+ if [[ " ${PARTITION_BATCH} " = " xjet" ]]; then
2527 export npe_node_max=24
26- elif [[ " $PARTITION_BATCH " = " vjet" || " $PARTITION_BATCH " = " sjet" ]]; then
28+ elif [[ " ${ PARTITION_BATCH} " = " vjet" || " ${ PARTITION_BATCH} " = " sjet" ]]; then
2729 export npe_node_max=16
28- elif [[ " $PARTITION_BATCH " = " kjet" ]]; then
30+ elif [[ " ${ PARTITION_BATCH} " = " kjet" ]]; then
2931 export npe_node_max=40
3032 fi
31- elif [[ " $machine " = " HERA" ]]; then
33+ elif [[ " ${ machine} " = " HERA" ]]; then
3234 export npe_node_max=40
33- elif [[ " $machine " = " S4" ]]; then
34- if [[ " $PARTITION_BATCH " = " s4" ]]; then
35+ elif [[ " ${ machine} " = " S4" ]]; then
36+ if [[ " ${ PARTITION_BATCH} " = " s4" ]]; then
3537 export npe_node_max=32
36- elif [[ " $PARTITION_BATCH " = " ivy" ]]; then
38+ elif [[ " ${ PARTITION_BATCH} " = " ivy" ]]; then
3739 export npe_node_max=20
3840 fi
39- elif [[ " $machine " = " ORION" ]]; then
41+ elif [[ " ${ machine} " = " ORION" ]]; then
4042 export npe_node_max=40
4143fi
4244
4345# (Standard) Model resolution dependent variables
44- case $case_in in
46+ case ${ case_in} in
4547 " C48" )
4648 export DELTIM=450
4749 export layout_x=3
@@ -52,9 +54,11 @@ case $case_in in
5254 export nth_fv3_gfs=2
5355 export cdmbgwd=" 0.071,2.1,1.0,1.0" # mountain blocking, ogwd, cgwd, cgwd src scaling
5456 export WRITE_GROUP=1
55- export WRTTASK_PER_GROUP=$npe_node_max
57+ export WRTTASK_PER_GROUP=64
58+ if [[ " ${WRTTASK_PER_GROUP} " -gt " ${npe_node_max} " ]]; then export WRTTASK_PER_GROUP=${npe_node_max} ; fi
5659 export WRITE_GROUP_GFS=1
57- export WRTTASK_PER_GROUP_GFS=$npe_node_max
60+ export WRTTASK_PER_GROUP_GFS=64
61+ if [[ " ${WRTTASK_PER_GROUP_GFS} " -gt " ${npe_node_max} " ]]; then export WRTTASK_PER_GROUP_GFS=${npe_node_max} ; fi
5862 export WRTIOBUF=" 1M"
5963 ;;
6064 " C96" )
@@ -67,9 +71,11 @@ case $case_in in
6771 export nth_fv3_gfs=1
6872 export cdmbgwd=" 0.14,1.8,1.0,1.0" # mountain blocking, ogwd, cgwd, cgwd src scaling
6973 export WRITE_GROUP=1
70- export WRTTASK_PER_GROUP=$npe_node_max
74+ export WRTTASK_PER_GROUP=64
75+ if [[ " ${WRTTASK_PER_GROUP} " -gt " ${npe_node_max} " ]]; then export WRTTASK_PER_GROUP=${npe_node_max} ; fi
7176 export WRITE_GROUP_GFS=1
72- export WRTTASK_PER_GROUP_GFS=$npe_node_max
77+ export WRTTASK_PER_GROUP_GFS=64
78+ if [[ " ${WRTTASK_PER_GROUP_GFS} " -gt " ${npe_node_max} " ]]; then export WRTTASK_PER_GROUP_GFS=${npe_node_max} ; fi
7379 export WRTIOBUF=" 4M"
7480 export n_split=6
7581 ;;
@@ -79,28 +85,32 @@ case $case_in in
7985 export layout_y=6
8086 export layout_x_gfs=4
8187 export layout_y_gfs=6
82- export nth_fv3=2
88+ export nth_fv3=1
8389 export nth_fv3_gfs=2
8490 export cdmbgwd=" 0.23,1.5,1.0,1.0" # mountain blocking, ogwd, cgwd, cgwd src scaling
8591 export WRITE_GROUP=1
86- export WRTTASK_PER_GROUP=$npe_node_max
92+ export WRTTASK_PER_GROUP=64
93+ if [[ " ${WRTTASK_PER_GROUP} " -gt " ${npe_node_max} " ]]; then export WRTTASK_PER_GROUP=${npe_node_max} ; fi
8794 export WRITE_GROUP_GFS=2
88- export WRTTASK_PER_GROUP_GFS=$npe_node_max
95+ export WRTTASK_PER_GROUP_GFS=64
96+ if [[ " ${WRTTASK_PER_GROUP_GFS} " -gt " ${npe_node_max} " ]]; then export WRTTASK_PER_GROUP_GFS=${npe_node_max} ; fi
8997 export WRTIOBUF=" 8M"
9098 ;;
9199 " C384" )
92- export DELTIM=${DELTIM:- 300 }
100+ export DELTIM=${DELTIM:- 200 }
93101 export layout_x=6
94102 export layout_y=8
95103 export layout_x_gfs=${layout_x_gfs:- 8}
96104 export layout_y_gfs=${layout_y_gfs:- 12}
97- export nth_fv3=2
105+ export nth_fv3=1
98106 export nth_fv3_gfs=${nth_fv3_gfs:- 2}
99107 export cdmbgwd=" 1.1,0.72,1.0,1.0" # mountain blocking, ogwd, cgwd, cgwd src scaling
100- export WRITE_GROUP=1
101- export WRTTASK_PER_GROUP=$npe_node_max
108+ export WRITE_GROUP=2
109+ export WRTTASK_PER_GROUP=64
110+ if [[ " ${WRTTASK_PER_GROUP} " -gt " ${npe_node_max} " ]]; then export WRTTASK_PER_GROUP=${npe_node_max} ; fi
102111 export WRITE_GROUP_GFS=${WRITE_GROUP_GFS:- 2}
103- export WRTTASK_PER_GROUP_GFS=${WRTTASK_PER_GROUP_GFS:- $npe_node_max }
112+ export WRTTASK_PER_GROUP_GFS=${WRTTASK_PER_GROUP_GFS:- 64}
113+ if [[ " ${WRTTASK_PER_GROUP_GFS} " -gt " ${npe_node_max} " ]]; then export WRTTASK_PER_GROUP_GFS=${npe_node_max} ; fi
104114 export WRTIOBUF=${WRTIOBUF:- " 16M" }
105115 ;;
106116 " C768" )
@@ -113,9 +123,11 @@ case $case_in in
113123 export nth_fv3_gfs=4
114124 export cdmbgwd=" 4.0,0.15,1.0,1.0" # mountain blocking, ogwd, cgwd, cgwd src scaling
115125 export WRITE_GROUP=2
116- export WRTTASK_PER_GROUP=$( echo " 2*${npe_node_max} " | bc)
126+ export WRTTASK_PER_GROUP=64
127+ if [[ " ${WRTTASK_PER_GROUP} " -gt " ${npe_node_max} " ]]; then export WRTTASK_PER_GROUP=${npe_node_max} ; fi
117128 export WRITE_GROUP_GFS=4
118- export WRTTASK_PER_GROUP_GFS=$( echo " 2*${npe_node_max} " | bc)
129+ export WRTTASK_PER_GROUP_GFS=64
130+ if [[ " ${WRTTASK_PER_GROUP_GFS} " -gt " ${npe_node_max} " ]]; then export WRTTASK_PER_GROUP_GFS=${npe_node_max} ; fi
119131 export WRTIOBUF=" 32M"
120132 ;;
121133 " C1152" )
@@ -164,11 +176,11 @@ export kchunk3d=1
164176
165177# Determine whether to use parallel NetCDF based on resolution
166178case ${case_in} in
167- " C48" | " C96" | " C192" )
179+ " C48" | " C96" | " C192" | " C384 " )
168180 export OUTPUT_FILETYPE_ATM=" netcdf"
169181 export OUTPUT_FILETYPE_SFC=" netcdf"
170182 ;;
171- " C384 " | " C768" | " C1152" | " C3072" )
183+ " C768" | " C1152" | " C3072" )
172184 export OUTPUT_FILETYPE_ATM=" netcdf_parallel"
173185 export OUTPUT_FILETYPE_SFC=" netcdf_parallel"
174186 ;;
0 commit comments