Skip to content

Commit

Permalink
Merge branch 'NOAA-EMC:develop' into ci_jenkins_role_gaea6
Browse files Browse the repository at this point in the history
  • Loading branch information
TerrenceMcGuinness-NOAA authored Feb 27, 2025
2 parents 468b7bc + 25778ff commit 02486bc
Show file tree
Hide file tree
Showing 28 changed files with 350 additions and 37 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@ syndat_qctropcy.sh @JiayiPeng-NOAA
tropcy_relocate.sh @JiayiPeng-NOAA
tropcy_relocate_extrkr.sh @JiayiPeng-NOAA
wave_*.sh @JessicaMeixner-NOAA @sbanihash
regrid_gsiSfcIncr_to_tile.sh @ClaraDraper-NOAA

# ush/python
ush/python/pygfs/jedi/__init__.py @aerorahul @DavidNew-NOAA
Expand Down
6 changes: 6 additions & 0 deletions ci/cases/yamls/atmsoilDA_defaults_ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
defaults:
!INC {{ HOMEgfs }}/parm/config/gfs/yaml/defaults.yaml
base:
DO_GSISOILDA: "YES"
ACCOUNT: {{ 'HPC_ACCOUNT' | getenv }}
DO_TEST_MODE: "NO"
9 changes: 9 additions & 0 deletions env/GAEAC5.env
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,15 @@ case ${step} in
export NTHREADS_CYCLE=${threads_per_task:-14}
[[ ${NTHREADS_CYCLE} -gt ${max_tasks_per_node} ]] && export NTHREADS_CYCLE=${max_tasks_per_node}
export APRUN_CYCLE="${APRUN_default} --cpus-per-task=${NTHREADS_CYCLE}"

# REGRID requires multiple of 6 tasks
ntdiv6=$((ntasks/6))
ntasks_regrid=$((ntdiv6*6))
if [[ ${ntasks_regrid} -gt 36 ]]; then
ntasks_regrid=36
fi
export APRUN_REGRID="${launcher} -n ${ntasks_regrid} "

;;
"eobs")

Expand Down
9 changes: 9 additions & 0 deletions env/GAEAC6.env
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,15 @@ case ${step} in
export NTHREADS_CYCLE=${threads_per_task:-14}
[[ ${NTHREADS_CYCLE} -gt ${max_tasks_per_node} ]] && export NTHREADS_CYCLE=${max_tasks_per_node}
export APRUN_CYCLE="${APRUN_default} --cpus-per-task=${NTHREADS_CYCLE}"

# REGRID requires multiple of 6 tasks
ntdiv6=$((ntasks/6))
ntasks_regrid=$((ntdiv6*6))
if [[ ${ntasks_regrid} -gt 36 ]]; then
ntasks_regrid=36
fi
export APRUN_REGRID="${launcher} -n ${ntasks_regrid} "

;;
"eobs")

Expand Down
15 changes: 15 additions & 0 deletions env/HERA.env
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,14 @@ elif [[ "${step}" = "sfcanl" ]]; then
export NTHREADS_CYCLE=${threads_per_task:-14}
export APRUN_CYCLE="${APRUN_default} --cpus-per-task=${NTHREADS_CYCLE}"

# REGRID requires multiple of 6 tasks
ntdiv6=$((ntasks/6))
ntasks_regrid=$((ntdiv6*6))
if [[ ${ntasks_regrid} -gt 36 ]]; then
ntasks_regrid=36
fi
export APRUN_REGRID="${launcher} -n ${ntasks_regrid} "

elif [[ "${step}" = "eobs" ]]; then

export MKL_NUM_THREADS=4
Expand Down Expand Up @@ -248,6 +256,13 @@ elif [[ "${step}" = "esfc" ]]; then
[[ ${NTHREADS_CYCLE} -gt ${max_tasks_per_node} ]] && export NTHREADS_CYCLE=${max_tasks_per_node}
export APRUN_CYCLE="${APRUN_default} --cpus-per-task=${NTHREADS_CYCLE}"

ntdiv6=$((ntasks/6))
ntasks_regrid=$((ntdiv6*6))
if [[ ${ntasks_regrid} -gt 36 ]]; then
ntasks_regrid=36
fi
export APRUN_REGRID="${launcher} -n ${ntasks_regrid} "

elif [[ "${step}" = "epos" ]]; then

export NTHREADS_EPOS=${NTHREADSmax}
Expand Down
15 changes: 15 additions & 0 deletions env/HERCULES.env
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,14 @@ case ${step} in
export NTHREADS_CYCLE=${threads_per_task:-14}
[[ ${NTHREADS_CYCLE} -gt ${max_tasks_per_node} ]] && export NTHREADS_CYCLE=${max_tasks_per_node}
export APRUN_CYCLE="${APRUN_default} --cpus-per-task=${NTHREADS_CYCLE}"

# REGRID requires multiple of 6 tasks
ntdiv6=$((ntasks/6))
ntasks_regrid=$((ntdiv6*6))
if [[ ${ntasks_regrid} -gt 36 ]]; then
ntasks_regrid=36
fi
export APRUN_REGRID="${launcher} -n ${ntasks_regrid} "
;;
"eobs")

Expand Down Expand Up @@ -263,6 +271,13 @@ case ${step} in
[[ ${NTHREADS_CYCLE} -gt ${max_tasks_per_node} ]] && export NTHREADS_CYCLE=${max_tasks_per_node}
export APRUN_CYCLE="${APRUN_default} --cpus-per-task=${NTHREADS_CYCLE}"

ntdiv6=$((ntasks/6))
ntasks_regrid=$((ntdiv6*6))
if [[ ${ntasks_regrid} -gt 36 ]]; then
ntasks_regrid=36
fi
export APRUN_REGRID="${launcher} -n ${ntasks_regrid} "

;;
"epos")

Expand Down
15 changes: 15 additions & 0 deletions env/JET.env
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,14 @@ elif [[ "${step}" = "sfcanl" ]]; then
[[ ${NTHREADS_CYCLE} -gt ${max_tasks_per_node} ]] && export NTHREADS_CYCLE=${max_tasks_per_node}
export APRUN_CYCLE="${APRUN_default}"

# REGRID requires multiple of 6 tasks
ntdiv6=$((ntasks/6))
ntasks_regrid=$((ntdiv6*6))
if [[ ${ntasks_regrid} -gt 36 ]]; then
ntasks_regrid=36
fi
export APRUN_REGRID="${launcher} -n ${ntasks_regrid} "

elif [[ "${step}" = "eobs" ]]; then

export MKL_NUM_THREADS=4
Expand Down Expand Up @@ -221,6 +229,13 @@ elif [[ "${step}" = "esfc" ]]; then
[[ ${NTHREADS_CYCLE} -gt ${max_tasks_per_node} ]] && export NTHREADS_CYCLE=${max_tasks_per_node}
export APRUN_CYCLE="${APRUN_default}"

ntdiv6=$((ntasks/6))
ntasks_regrid=$((ntdiv6*6))
if [[ ${ntasks_regrid} -gt 36 ]]; then
ntasks_regrid=36
fi
export APRUN_REGRID="${launcher} -n ${ntasks_regrid} "

elif [[ "${step}" = "epos" ]]; then

export NTHREADS_EPOS=${NTHREADSmax}
Expand Down
15 changes: 15 additions & 0 deletions env/ORION.env
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,14 @@ elif [[ "${step}" = "sfcanl" ]]; then
[[ ${NTHREADS_CYCLE} -gt ${max_tasks_per_node} ]] && export NTHREADS_CYCLE=${max_tasks_per_node}
export APRUN_CYCLE="${APRUN_default} --cpus-per-task=${NTHREADS_CYCLE}"

# REGRID requires multiple of 6 tasks
ntdiv6=$((ntasks/6))
ntasks_regrid=$((ntdiv6*6))
if [[ ${ntasks_regrid} -gt 36 ]]; then
ntasks_regrid=36
fi
export APRUN_REGRID="${launcher} -n ${ntasks_regrid} "

elif [[ "${step}" = "eobs" ]]; then

export MKL_NUM_THREADS=4
Expand Down Expand Up @@ -252,6 +260,13 @@ elif [[ "${step}" = "esfc" ]]; then
[[ ${NTHREADS_CYCLE} -gt ${max_tasks_per_node} ]] && export NTHREADS_CYCLE=${max_tasks_per_node}
export APRUN_CYCLE="${APRUN_default} --cpus-per-task=${NTHREADS_CYCLE}"

ntdiv6=$((ntasks/6))
ntasks_regrid=$((ntdiv6*6))
if [[ ${ntasks_regrid} -gt 36 ]]; then
ntasks_regrid=36
fi
export APRUN_REGRID="${launcher} -n ${ntasks_regrid} "

elif [[ "${step}" = "epos" ]]; then

export NTHREADS_EPOS=${NTHREADSmax}
Expand Down
15 changes: 15 additions & 0 deletions env/WCOSS2.env
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,14 @@ elif [[ "${step}" = "sfcanl" ]]; then
[[ ${NTHREADS_CYCLE} -gt ${max_tasks_per_node} ]] && export NTHREADS_CYCLE=${max_tasks_per_node}
export APRUN_CYCLE="${APRUN_default}"

# REGRID requires multiple of 6 tasks
ntdiv6=$((ntasks/6))
ntasks_regrid=$((ntdiv6*6))
if [[ ${ntasks_regrid} -gt 36 ]]; then
ntasks_regrid=36
fi
export APRUN_REGRID="${launcher} -n ${ntasks_regrid} "

elif [[ "${step}" = "eobs" ]]; then

export OMP_PLACES=cores
Expand Down Expand Up @@ -260,6 +268,13 @@ elif [[ "${step}" = "esfc" ]]; then
[[ ${NTHREADS_CYCLE} -gt ${max_tasks_per_node} ]] && export NTHREADS_CYCLE=${max_tasks_per_node}
export APRUN_CYCLE="${APRUN_default} -ppn ${tasks_per_node_cycle} --cpu-bind depth --depth ${NTHREADS_CYCLE}"

ntdiv6=$((ntasks/6))
ntasks_regrid=$((ntdiv6*6))
if [[ ${ntasks_regrid} -gt 36 ]]; then
ntasks_regrid=36
fi
export APRUN_REGRID="${launcher} -n ${ntasks_regrid} "

elif [[ "${step}" = "epos" ]]; then

export NTHREADS_EPOS=${NTHREADSmax}
Expand Down
3 changes: 3 additions & 0 deletions jobs/JGLOBAL_ATMOS_SFCANL
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \
YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \
COMOUT_ATMOS_RESTART:COM_ATMOS_RESTART_TMPL

RUN="enkfgdas" MEMDIR="ensstat" YMD=${PDY} HH=${cyc} declare_from_tmpl -rx \
COMIN_ATMOS_ENKF_ANALYSIS_STAT:COM_ATMOS_ANALYSIS_TMPL

mkdir -p "${COMOUT_ATMOS_RESTART}"


Expand Down
3 changes: 3 additions & 0 deletions jobs/rocoto/esfc.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@ source "${HOMEgfs}/ush/preamble.sh"

###############################################################
# Source FV3GFS workflow modules
# For DO_GSISOILDA=YES need to switch to ufsda modules
# until g-w issue 3390 is resolved.
. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
#. ${HOMEgfs}/ush/load_ufsda_modules.sh
status=$?
[[ ${status} -ne 0 ]] && exit ${status}

Expand Down
3 changes: 3 additions & 0 deletions jobs/rocoto/sfcanl.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,10 @@ source "${HOMEgfs}/ush/preamble.sh"

###############################################################
# Source FV3GFS workflow modules
# For DO_GSISOILDA=YES need to switch to ufsda modules
# until g-w issue 3390 is resolved.
. ${HOMEgfs}/ush/load_fv3gfs_modules.sh
#. ${HOMEgfs}/ush/load_ufsda_modules.sh
status=$?
[[ ${status} -ne 0 ]] && exit ${status}

Expand Down
6 changes: 5 additions & 1 deletion parm/config/gfs/config.aeroanlgenb
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,11 @@ export aero_diagb_weight=0.9
export aero_staticb_rescaling_factor=2.0
export aero_diagb_n_halo=4
export aero_diagb_n_neighbors=16
export aero_diagb_smooth_horiz_iter=200
aero_diagb_smooth_horiz_iter=0
export aero_diagb_smooth_vert_iter=0
if [[ "${CASE_ANL}" == "C384" ]]; then
aero_diagb_smooth_horiz_iter=200
fi
export aero_diagb_smooth_horiz_iter

echo "END: config.aeroanlgenb"
4 changes: 2 additions & 2 deletions parm/config/gfs/config.anal
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,10 @@ export OZINFO=${FIXgfs}/gsi/global_ozinfo.txt
export SATINFO=${FIXgfs}/gsi/global_satinfo.txt
export OBERROR=${FIXgfs}/gsi/prepobs_errtable.global

if [[ ${GSI_SOILANAL} = "YES" ]]; then
if [[ ${DO_GSISOILDA} = "YES" ]]; then
export hofx_2m_sfcfile=".true."
export reducedgrid=".false." # not possible for sfc analysis, Jeff Whitaker says it's not useful anyway
export paranc=".false." # temporary until sfc io coded for parance (PR being prepared by T. Gichamo)
# NOTE: convinfo here will be over-written by date-specific files below.
export CONVINFO=${FIXgfs}/gsi/global_convinfo_2mObs.txt
export ANAVINFO=${FIXgfs}/gsi/global_anavinfo_soilanal.l127.txt
fi
Expand Down
2 changes: 1 addition & 1 deletion parm/config/gfs/config.base
Original file line number Diff line number Diff line change
Expand Up @@ -435,7 +435,7 @@ else
export restart_interval_gdas="6"
fi

export GSI_SOILANAL=@GSI_SOILANAL@
export DO_GSISOILDA=@DO_GSISOILDA@

# turned on nsst in anal and/or fcst steps, and turn off rtgsst
export DONST="YES"
Expand Down
13 changes: 10 additions & 3 deletions parm/config/gfs/config.esfc
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,17 @@ if [[ "${DO_JEDIATMENS}" == "YES" ]]; then
export DONST="NO"
fi

if [[ "${RUN/enkf}" == "gfs" ]]; then
echo "turning off gsi soilda for gfs run"
DO_GSISOILDA="NO"
fi

# set up soil analysis
if [[ ${GSI_SOILANAL} = "YES" ]]; then
export DO_LNDINC=".true."
export LND_SOI_FILE="lnd_incr"
if [[ ${DO_GSISOILDA} == "YES" ]]; then
export GCYCLE_DO_SOILINCR=".true."
export GCYCLE_INTERP_LANDINCR=".false."
export LSOIL_INCR=2
export REGRID_EXEC="${HOMEgfs}/sorc/gdas.cd/build/bin/regridStates.x"
fi

echo "END: config.esfc"
6 changes: 3 additions & 3 deletions parm/config/gfs/config.resources
Original file line number Diff line number Diff line change
Expand Up @@ -718,12 +718,12 @@ case ${step} in
ntasks_gfs=825
threads_per_task=5
;;
"C384")
"C384" | "C192")
ntasks_gdas=160
ntasks_gfs=160
threads_per_task=10
;;
"C192" | "C96" | "C48")
"C96" | "C48")
ntasks_gdas=84
ntasks_gfs=84
threads_per_task=5
Expand Down Expand Up @@ -1274,7 +1274,7 @@ case ${step} in
;;

"esfc")
walltime="00:25:00"
walltime="01:00:00"
ntasks=80
threads_per_task=1
tasks_per_node=$(( max_tasks_per_node / threads_per_task ))
Expand Down
12 changes: 12 additions & 0 deletions parm/config/gfs/config.sfcanl
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,16 @@ if [[ "${DO_JEDIATMVAR}" == "YES" ]]; then
export DONST="NO"
fi

if [[ "${RUN/enkf}" == "gfs" ]]; then
echo "turning off gsi soilda for gfs run"
DO_GSISOILDA="NO"
fi

if [[ "${DO_GSISOILDA}" == "YES" ]]; then
export GCYCLE_DO_SOILINCR=".true."
export GCYCLE_INTERP_LANDINCR=".false."
export LSOIL_INCR=2
export REGRID_EXEC=${REGRID_EXEC:-"${HOMEgfs}/sorc/gdas.cd/build/bin/regridStates.x"}
fi

echo "END: config.sfcanl"
2 changes: 1 addition & 1 deletion parm/config/gfs/yaml/defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ base:
FHMAX_GFS: 120
FHMAX_HF_GFS: 0
FCST_BREAKPOINTS: ""
GSI_SOILANAL: "NO"
DO_GSISOILDA: "NO"
EUPD_CYC: "gdas"
FHMAX_ENKF_GFS: 12
DOHYBVAR_OCN: "NO"
Expand Down
Loading

0 comments on commit 02486bc

Please sign in to comment.