diff --git a/env/HERA.env b/env/HERA.env index 124b3e8b9a..51a7c85a33 100755 --- a/env/HERA.env +++ b/env/HERA.env @@ -5,6 +5,7 @@ if [ $# -ne 1 ]; then echo "Must specify an input argument to set runtime environment variables!" echo "argument can be any one of the following:" echo "atmanalrun atmensanalrun" + echo "aeroanlrun" echo "anal sfcanl fcst post vrfy metp" echo "eobs eupd ecen efcs epos" echo "postsnd awips gempak" @@ -75,6 +76,16 @@ elif [ $step = "atmensanalrun" ]; then [[ $NTHREADS_ATMENSANAL -gt $nth_max ]] && export NTHREADS_ATMENSANAL=$nth_max export APRUN_ATMENSANAL="$launcher -n $npe_atmensanalrun" +elif [ $step = "aeroanlrun" ]; then + + export APRUNCFP="$launcher -n \$ncmd --multi-prog" + + nth_max=$(($npe_node_max / $npe_node_aeroanlrun)) + + export NTHREADS_AEROANL=${nth_aeroanlrun:-$nth_max} + [[ $NTHREADS_AEROANL -gt $nth_max ]] && export NTHREADS_AEROANL=$nth_max + export APRUN_AEROANL="$launcher -n $npe_aeroanlrun" + elif [ $step = "anal" ]; then export MKL_NUM_THREADS=4 diff --git a/env/ORION.env b/env/ORION.env index bef0661f47..8dc267631f 100755 --- a/env/ORION.env +++ b/env/ORION.env @@ -5,6 +5,7 @@ if [ $# -ne 1 ]; then echo "Must specify an input argument to set runtime environment variables!" echo "argument can be any one of the following:" echo "atmanalrun atmensanalrun" + echo "aeroanlrun" echo "anal sfcanl fcst post vrfy metp" echo "eobs eupd ecen efcs epos" echo "postsnd awips gempak" @@ -74,6 +75,16 @@ elif [ $step = "atmensanalrun" ]; then [[ $NTHREADS_ATMENSANAL -gt $nth_max ]] && export NTHREADS_ATMENSANAL=$nth_max export APRUN_ATMENSANAL="$launcher -n $npe_atmensanalrun" +elif [ $step = "aeroanlrun" ]; then + + export APRUNCFP="$launcher -n \$ncmd --multi-prog" + + nth_max=$(($npe_node_max / $npe_node_aeroanlrun)) + + export NTHREADS_AEROANL=${nth_aeroanlrun:-$nth_max} + [[ $NTHREADS_AEROANL -gt $nth_max ]] && export NTHREADS_AEROANL=$nth_max + export APRUN_AEROANL="$launcher -n $npe_aeroanlrun" + elif [ $step = "anal" ]; then export MKL_NUM_THREADS=4 diff --git a/parm/config/config.aeroanl b/parm/config/config.aeroanl new file mode 100755 index 0000000000..d1c28a3e10 --- /dev/null +++ b/parm/config/config.aeroanl @@ -0,0 +1,17 @@ +#!/bin/bash -x + +########## config.aeroanl ########## +# configuration common to all aero analysis tasks + +echo "BEGIN: config.aeroanl" + +export OBS_YAML_DIR=$HOMEgfs/sorc/gdas.cd/parm/aero/obs/config/ +export OBS_LIST=$HOMEgfs/sorc/gdas.cd/parm/aero/obs/lists/aero_prototype.yaml +export AEROVARYAML=$HOMEgfs/sorc/gdas.cd/parm/aero/variational/3dvar_dripcg.yaml +export BERROR_YAML=$HOMEgfs/sorc/gdas.cd/parm/aero/berror/static_bump.yaml +export FV3JEDI_FIX=$HOMEgfs/fix/fix_jedi + +export io_layout_x=1 +export io_layout_y=1 + +echo "END: config.aeroanl" diff --git a/parm/config/config.aeroanlfinal b/parm/config/config.aeroanlfinal new file mode 100755 index 0000000000..230ec5205a --- /dev/null +++ b/parm/config/config.aeroanlfinal @@ -0,0 +1,10 @@ +#!/bin/bash -x + +########## config.aeroanlfinal ########## +# Post Aero Analysis specific + +echo "BEGIN: config.aeroanlfinal" + +# Get task specific resources +. $EXPDIR/config.resources aeroanlfinal +echo "END: config.aeroanlfinal" diff --git a/parm/config/config.aeroanlinit b/parm/config/config.aeroanlinit new file mode 100755 index 0000000000..72175b8d0c --- /dev/null +++ b/parm/config/config.aeroanlinit @@ -0,0 +1,10 @@ +#!/bin/bash -x + +########## config.aeroanlinit ########## +# Pre Aero Analysis specific + +echo "BEGIN: config.aeroanlinit" + +# Get task specific resources +. $EXPDIR/config.resources aeroanlinit +echo "END: config.aeroanlinit" diff --git a/parm/config/config.aeroanlrun b/parm/config/config.aeroanlrun new file mode 100755 index 0000000000..537f33081f --- /dev/null +++ b/parm/config/config.aeroanlrun @@ -0,0 +1,14 @@ +#!/bin/bash -x + +########## config.aeroanlrun ########## +# Aerosol Analysis specific + +echo "BEGIN: config.aeroanlrun" + +# Get task specific resources +. $EXPDIR/config.resources aeroanlrun + +# Task specific variables +export JEDIVAREXE=$HOMEgfs/exec/fv3jedi_var.x + +echo "END: config.aeroanlrun" diff --git a/parm/config/config.resources b/parm/config/config.resources index b2390970ae..b69e87b800 100755 --- a/parm/config/config.resources +++ b/parm/config/config.resources @@ -11,6 +11,7 @@ if [ $# -ne 1 ]; then echo "getic init coupled_ic aerosol_init" echo "atmanalprep atmanalrun atmanalpost" echo "atmensanalprep atmensanalrun atmensanalpost" + echo "aeroanlinit aeroanlrun aeroanlfinal" echo "anal sfcanl analcalc analdiag gldas fcst post vrfy metp arch echgres" echo "eobs ediag eomg eupd ecen esfc efcs epos earc" echo "init_chem mom6ic ocnpost" @@ -156,6 +157,47 @@ elif [ $step = "atmanalpost" ]; then export nth_atmanalpost=1 export npe_node_atmanalpost=$(echo "$npe_node_max / $nth_atmanalpost" | bc) +elif [ $step = "aeroanlinit" ]; then + + export wtime_aeroanlinit="00:10:00" + export npe_aeroanlinit=1 + export nth_aeroanlinit=1 + export npe_node_aeroanlinit=$(echo "$npe_node_max / $nth_aeroanlinit" | bc) + export memory_aeroanlinit="3072M" + +elif [ $step = "aeroanlrun" ]; then + + case $CASE in + C768) + layout_x=6 + layout_y=6 + ;; + C384) + layout_x=5 + layout_y=5 + ;; + C192 | C96 | C48) + layout_x=3 + layout_y=3 + ;; + esac + + export wtime_aeroanlrun="00:30:00" + export npe_aeroanlrun=$(echo "$layout_x * $layout_y * 6" | bc) + export npe_aeroanlrun_gfs=$(echo "$layout_x * $layout_y * 6" | bc) + export nth_aeroanlrun=1 + export nth_aeroanlrun_gfs=1 + export native_aeroanlrun="--exclusive" + export npe_node_aeroanlrun=$(echo "$npe_node_max / $nth_aeroanlrun" | bc) + +elif [ $step = "aeroanlfinal" ]; then + + export wtime_aeroanlfinal="00:10:00" + export npe_aeroanlfinal=1 + export nth_aeroanlfinal=1 + export npe_node_aeroanlfinal=$(echo "$npe_node_max / $nth_aeroanlfinal" | bc) + export memory_aeroanlfinal="3072M" + elif [ $step = "anal" ]; then export wtime_anal="01:00:00"