Skip to content

Commit

Permalink
Add config.resources.nco.static
Browse files Browse the repository at this point in the history
- added parm/config/config.resources.nco.static; contains resources for operations
- added copy of config.resources.nco.static in link_fv3gfs.sh when nco mode

Refs: #1,#238
  • Loading branch information
KateFriedman-NOAA committed Mar 5, 2021
1 parent 9ccb24c commit 9027452
Show file tree
Hide file tree
Showing 2 changed files with 324 additions and 0 deletions.
323 changes: 323 additions & 0 deletions parm/config/config.resources.nco.static
Original file line number Diff line number Diff line change
@@ -0,0 +1,323 @@
#!/bin/ksh -x

########## config.resources ##########
# Set resource information for job tasks
# e.g. walltime, node, cores per node, memory etc.

if [ $# -ne 1 ]; then

echo "Must specify an input task argument to set resource variables!"
echo "argument can be any one of the following:"
echo "anal analcalc analdiag gldas fcst post vrfy metp arch echgres"
echo "eobs ediag eomg eupd ecen esfc efcs epos earc"
echo "waveinit waveprep wavepostsbs wavepostbndpnt wavepostpnt"
echo "wavegempak waveawipsbulls waveawipsgridded"
echo "postsnd awips gempak"
echo "wafs wafsgrib2 wafsblending wafsgrib20p25 wafsblending0p25 wafsgcip"
exit 1

fi

step=$1

echo "BEGIN: config.resources"

export npe_node_max=28
if [ "$QUEUE" = "dev2" -o "$QUEUE" = "devonprod2" -o "$QUEUE" = "devmax2" ]; then # WCOSS Dell 3.5
export npe_node_max=40
fi

if [ $step = "prep" -o $step = "prepbufr" ]; then

eval "export wtime_$step='00:45:00'"
eval "export npe_$step=4"
eval "export npe_node_$step=2"
eval "export nth_$step=1"

elif [ $step = "waveinit" ]; then

export wtime_waveinit="00:10:00"
export npe_waveinit=12
export nth_waveinit=1
export npe_node_waveinit=$(echo "$npe_node_max / $nth_waveinit" | bc)
export NTASKS=${npe_waveinit}

elif [ $step = "waveprep" ]; then

export wtime_waveprep="00:10:00"
export wtime_waveprep_gfs="00:30:00"
export npe_waveprep=84
export nth_waveprep=1
export npe_node_waveprep=$(echo "$npe_node_max / $nth_waveprep" | bc)
export NTASKS=${npe_waveprep}

elif [ $step = "wavepostsbs" ]; then

export wtime_wavepostsbs="00:20:00"
export wtime_wavepostsbs_gfs="03:00:00"
export npe_wavepostsbs=28
export npe_wavepostsbs_gfs=280
export nth_wavepostsbs=1
export npe_node_wavepostsbs=$(echo "$npe_node_max / $nth_wavepostsbs" | bc)
export NTASKS=${npe_wavepostsbs}

elif [ $step = "wavepostbndpnt" ]; then

export wtime_wavepostbndpnt="01:00:00"
export npe_wavepostbndpnt=280
export nth_wavepostbndpnt=1
export npe_node_wavepostbndpnt=$(echo "$npe_node_max / $nth_wavepostbndpnt" | bc)
export NTASKS=${npe_wavepostbndpnt}

elif [ $step = "wavepostpnt" ]; then

export wtime_wavepostpnt="00:12:00"
export wtime_wavepostpnt_gfs="01:30:00"
export npe_wavepostpnt=280
export nth_wavepostpnt=1
export npe_node_wavepostpnt=$(echo "$npe_node_max / $nth_wavepostpnt" | bc)
export NTASKS=${npe_wavepostpnt}

elif [ $step = "wavegempak" ]; then

export wtime_wavegempak="01:00:00"
export npe_wavegempak=$npe_node_max
export nth_wavegempak=1
export npe_node_wavegempak=$(echo "$npe_node_max / $nth_wavegempak" | bc)
export NTASKS=${npe_wavegempak}

elif [ $step = "waveawipsbulls" ]; then

export wtime_waveawipsbulls="00:30:00"
export npe_waveawipsbulls=$npe_node_max
export nth_waveawipsbulls=1
export npe_node_waveawipsbulls=$(echo "$npe_node_max / $nth_waveawipsbulls" | bc)
export NTASKS=${npe_waveawipsbulls}

elif [ $step = "waveawipsgridded" ]; then

export wtime_waveawipsgridded="00:30:00"
export npe_waveawipsgridded=$npe_node_max
export nth_waveawipsgridded=1
export npe_node_waveawipsgridded=$(echo "$npe_node_max / $nth_waveawipsgridded" | bc)
export NTASKS=${npe_waveawipsgridded}

elif [ $step = "anal" ]; then

export wtime_anal="01:00:00"
export wtime_anal_gfs="00:40:00"
export npe_anal=1000
export npe_anal_gfs=1000
export nth_anal=7
export npe_node_anal=$(echo "$npe_node_max / $nth_anal" | bc)
export nth_cycle=$npe_node_max

elif [ $step = "analcalc" ]; then

export wtime_analcalc="00:10:00"
export npe_analcalc=127
export nth_analcalc=1
export npe_node_analcalc=$npe_node_max

elif [ $step = "analdiag" ]; then

export wtime_analdiag="00:10:00"
export npe_analdiag=112
export nth_analdiag=1
export npe_node_analdiag=$npe_node_max

elif [ $step = "gldas" ]; then

export wtime_gldas="00:20:00"
export npe_gldas=112
export nth_gldas=1
export npe_node_gldas=$npe_node_max
export npe_gaussian=96
export nth_gaussian=1
export npe_node_gaussian=24

elif [ $step = "fcst" ]; then

export wtime_fcst="01:00:00"
export wtime_fcst_gfs="02:30:00"
export npe_fcst=$(echo "$layout_x * $layout_y * 6" | bc)
export npe_fcst_gfs=$(echo "$layout_x_gfs * $layout_y_gfs * 6" | bc)
export nth_fcst=${nth_fv3:-2}
export npe_node_fcst=$(echo "$npe_node_max / $nth_fcst" | bc)

elif [ $step = "post" ]; then

export wtime_post="00:12:00"
export wtime_post_gfs="00:20:00"
export npe_post=98
export npe_post_gfs=112
export nth_post=1
export npe_node_post=14
export npe_node_post_gfs=28
export npe_node_dwn=$npe_node_max

elif [ $step = "wafs" ]; then

export wtime_wafs="00:30:00"
export npe_wafs=1
export npe_node_wafs=1
export nth_wafs=1

elif [ $step = "wafsgcip" ]; then

export wtime_wafsgcip="00:30:00"
export npe_wafsgcip=2
export npe_node_wafsgcip=1
export nth_wafsgcip=1

elif [ $step = "wafsgrib2" ]; then

export wtime_wafsgrib2="00:30:00"
export npe_wafsgrib2=1
export npe_node_wafsgrib2=1
export nth_wafsgrib2=1

elif [ $step = "wafsblending" ]; then

export wtime_wafsblending="00:30:00"
export npe_wafsblending=1
export npe_node_wafsblending=1
export nth_wafsblending=1

elif [ $step = "wafsgrib20p25" ]; then

export wtime_wafsgrib20p25="00:30:00"
export npe_wafsgrib20p25=1
export npe_node_wafsgrib20p25=1
export nth_wafsgrib20p25=1

elif [ $step = "wafsblending0p25" ]; then

export wtime_wafsblending0p25="00:30:00"
export npe_wafsblending0p25=1
export npe_node_wafsblending0p25=1
export nth_wafsblending0p25=1

elif [ $step = "vrfy" ]; then

export wtime_vrfy="03:00:00"
export wtime_vrfy_gfs="06:00:00"
export npe_vrfy=3
export nth_vrfy=1
export npe_node_vrfy=1
export npe_vrfy_gfs=1
export npe_node_vrfy_gfs=1

elif [ $step = "metp" ]; then

export nth_metp=1
export wtime_metp="03:00:00"
export npe_metp=4
export npe_node_metp=4
export wtime_metp_gfs="06:00:00"
export npe_metp_gfs=4
export npe_node_metp_gfs=4

elif [ $step = "echgres" ]; then

export wtime_echgres="00:10:00"
export npe_echgres=3
export nth_echgres=$npe_node_max
export npe_node_echgres=1

elif [ $step = "arch" -o $step = "earc" -o $step = "getic" ]; then

eval "export wtime_$step='06:00:00'"
eval "export npe_$step=1"
eval "export npe_node_$step=1"
eval "export nth_$step=1"
eval "export memory_$step=2048M"

elif [ $step = "eobs" -o $step = "eomg" ]; then


export wtime_eobs="00:10:00"
export wtime_eomg="01:00:00"
export npe_eobs=480
export nth_eobs=7
export npe_node_eobs=$(echo "$npe_node_max / $nth_eobs" | bc)

elif [ $step = "ediag" ]; then

export wtime_ediag="00:06:00"
export npe_ediag=56
export nth_ediag=1
export npe_node_ediag=$npe_node_max

elif [ $step = "eupd" ]; then

export wtime_eupd="00:30:00"
export npe_eupd=960
export nth_eupd=7
export npe_node_eupd=$(echo "$npe_node_max / $nth_eupd" | bc)

elif [ $step = "ecen" ]; then

export wtime_ecen="00:10:00"
export npe_ecen=80
export nth_ecen=7
export npe_node_ecen=$(echo "$npe_node_max / $nth_ecen" | bc)
export nth_cycle=$nth_ecen

elif [ $step = "esfc" ]; then

export wtime_esfc="00:06:00"
export npe_esfc=80
export npe_node_esfc=$npe_node_max
export nth_esfc=1
export nth_cycle=$nth_esfc

elif [ $step = "efcs" ]; then

export wtime_efcs="00:40:00"
export npe_efcs=$(echo "$layout_x * $layout_y * 6" | bc)
export nth_efcs=${nth_fv3:-2}
export npe_node_efcs=$(echo "$npe_node_max / $nth_efcs" | bc)

elif [ $step = "epos" ]; then

export wtime_epos="00:15:00"
export npe_epos=80
export nth_epos=7
export npe_node_epos=$(echo "$npe_node_max / $nth_epos" | bc)

elif [ $step = "postsnd" ]; then

export wtime_postsnd="02:00:00"
export npe_postsnd=40
export nth_postsnd=1
export npe_node_postsnd=5
export npe_postsndcfp=9
export npe_node_postsndcfp=3
if [ $OUTPUT_FILE == "nemsio" ]; then
export npe_postsnd=13
export npe_node_postsnd=4
fi

elif [ $step = "awips" ]; then

export wtime_awips="03:30:00"
export npe_awips=2
export npe_node_awips=2
export nth_awips=1

elif [ $step = "gempak" ]; then

export wtime_gempak="02:00:00"
export npe_gempak=17
export npe_node_gempak=4
export nth_gempak=3

else

echo "Invalid step = $step, ABORT!"
exit 2

fi

echo "END: config.resources"
1 change: 1 addition & 0 deletions sorc/link_fv3gfs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,7 @@ cd $pwd/../parm/config
[[ -s config.base ]] && rm -f config.base
if [ $RUN_ENVIR = nco ] ; then
cp -p config.base.nco.static config.base
cp -p config.resources.nco.static config.resources
else
cp -p config.base.emc.dyn config.base
fi
Expand Down

0 comments on commit 9027452

Please sign in to comment.