Skip to content

Commit

Permalink
Merge branch 'NOAA-EMC:develop' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
ADCollard committed Feb 5, 2024
2 parents 9261dcb + 1ccc989 commit 931e472
Show file tree
Hide file tree
Showing 25 changed files with 209 additions and 499 deletions.
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,16 @@ parm/post/nam_micro_lookup.dat
parm/post/optics_luts_DUST.dat
parm/post/gtg.config.gfs
parm/post/gtg_imprintings.txt
parm/post/optics_luts_DUST_nasa.dat
parm/post/optics_luts_NITR_nasa.dat
parm/post/optics_luts_SALT.dat
parm/post/optics_luts_SALT_nasa.dat
parm/post/optics_luts_SOOT.dat
parm/post/optics_luts_SOOT_nasa.dat
parm/post/optics_luts_SUSO.dat
parm/post/optics_luts_SUSO_nasa.dat
parm/post/optics_luts_WASO.dat
parm/post/optics_luts_WASO_nasa.dat
parm/post/params_grib2_tbl_new
parm/post/post_tag_gfs128
parm/post/post_tag_gfs65
Expand All @@ -77,6 +83,9 @@ parm/post/postcntrl_gfs_wafs.xml
parm/post/postcntrl_gfs_wafs_anl.xml
parm/post/postxconfig-NT-GEFS-ANL.txt
parm/post/postxconfig-NT-GEFS-F00.txt
parm/post/postxconfig-NT-GEFS-F00-aerosol.txt
parm/post/postxconfig-NT-GEFS-WAFS.txt
parm/post/postxconfig-NT-GEFS-aerosol.txt
parm/post/postxconfig-NT-GEFS.txt
parm/post/postxconfig-NT-GFS-ANL.txt
parm/post/postxconfig-NT-GFS-F00-TWO.txt
Expand Down
84 changes: 0 additions & 84 deletions jobs/JGDAS_ENKF_FCST

This file was deleted.

60 changes: 24 additions & 36 deletions jobs/JGLOBAL_FORECAST
Original file line number Diff line number Diff line change
@@ -1,40 +1,19 @@
#! /usr/bin/env bash

source "${HOMEgfs}/ush/preamble.sh"
source "${HOMEgfs}/ush/jjob_header.sh" -e "fcst" -c "base fcst"

##############################################
# Set variables used in the script
##############################################
export CDUMP=${RUN/enkf}
if (( ${ENSMEM:-0} > 0 )); then
source "${HOMEgfs}/ush/jjob_header.sh" -e "efcs" -c "base fcst efcs"
else
source "${HOMEgfs}/ush/jjob_header.sh" -e "fcst" -c "base fcst"
fi

##############################################
# Begin JOB SPECIFIC work
##############################################

# Restart conditions for GFS cycle come from GDAS
rCDUMP=${CDUMP}
[[ ${CDUMP} = "gfs" ]] && export rCDUMP="gdas"

# Forecast length for GFS forecast
case ${RUN} in
*gfs | *gefs)
# shellcheck disable=SC2153
export FHMAX=${FHMAX_GFS}
# shellcheck disable=SC2153
export FHOUT=${FHOUT_GFS}
export FHMAX_HF=${FHMAX_HF_GFS}
export FHOUT_HF=${FHOUT_HF_GFS}
;;
*gdas)
export FHMAX_HF=0
export FHOUT_HF=0
;;
*)
echo "FATAL ERROR: Unsupported RUN '${RUN}'"
exit 1
esac

rCDUMP=${RUN}
[[ ${RUN} == "gfs" ]] && export rCDUMP="gdas"

# Ignore possible spelling error (nothing is misspelled)
# shellcheck disable=SC2153
Expand Down Expand Up @@ -78,11 +57,21 @@ fi

###############################################################
# Run relevant exglobal script

###############################################################
${FORECASTSH:-${SCRgfs}/exglobal_forecast.sh}
status=$?
[[ ${status} -ne 0 ]] && exit ${status}

[[ ${status} -ne 0 ]] && exit "${status}"

# Send DBN alerts for EnKF
# TODO: Should these be in post manager instead?
if [[ "${RUN}" =~ "enkf" ]] && [[ "${SENDDBN}" = YES ]]; then
for (( fhr = FHOUT; fhr <= FHMAX; fhr + FHOUT )); do
if (( fhr % 3 == 0 )); then
fhr3=$(printf %03i "${fhr}")
"${DBNROOT}/bin/dbn_alert" MODEL GFS_ENKF "${job}" "${COM_ATMOS_HISTORY}/${RUN}.t${cyc}z.sfcf${fhr3}.nc"
fi
done
fi

##############################################
# End JOB SPECIFIC work
Expand All @@ -91,15 +80,14 @@ status=$?
##############################################
# Final processing
##############################################
if [ -e "${pgmout}" ] ; then
cat ${pgmout}
if [[ -e "${pgmout}" ]] ; then
cat "${pgmout}"
fi

##########################################
# Remove the Temporary working directory
##########################################
cd ${DATAROOT}
[[ ${KEEPDATA} = "NO" ]] && rm -rf ${DATA}

cd "${DATAROOT}" || true
[[ ${KEEPDATA} = "NO" ]] && rm -rf "${DATA}"

exit 0
25 changes: 0 additions & 25 deletions jobs/rocoto/efcs.sh

This file was deleted.

8 changes: 1 addition & 7 deletions parm/config/gefs/config.base.emc.dyn
Original file line number Diff line number Diff line change
Expand Up @@ -219,13 +219,7 @@ export gfs_cyc=@gfs_cyc@ # 0: no GFS cycle, 1: 00Z only, 2: 00Z and 12Z only, 4:
# GFS output and frequency
export FHMIN_GFS=0
export FHMIN=${FHMIN_GFS}

export FHMAX_GFS_00=120
export FHMAX_GFS_06=120
export FHMAX_GFS_12=120
export FHMAX_GFS_18=120
current_fhmax_var=FHMAX_GFS_${cyc}; declare -x FHMAX_GFS=${!current_fhmax_var}

export FHMAX_GFS=@FHMAX_GFS@
export FHOUT_GFS=6 # Must be 6 for S2S until #1629 is addressed; 3 for ops
export FHMAX_HF_GFS=0
export FHOUT_HF_GFS=1
Expand Down
35 changes: 21 additions & 14 deletions parm/config/gefs/config.efcs
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,16 @@

echo "BEGIN: config.efcs"

# Turn off components in ensemble via _ENKF, or use setting from deterministic
export DO_AERO=${DO_AERO_ENKF:-${DO_AERO:-"NO"}}
export DO_OCN=${DO_OCN_ENKF:-${DO_OCN:-"NO"}}
export DO_ICE=${DO_ICE_ENKF:-${DO_ICE:-"NO"}}
export DO_WAVE=${DO_WAVE_ENKF:-${DO_WAVE:-"NO"}}
# Turn off components in ensemble
# export DO_AERO="NO"
# export DO_OCN="NO"
# export DO_ICE="NO"
# export DO_WAVE="NO"

export CASE="${CASE_ENS}"

# Source model specific information that is resolution dependent
string="--fv3 ${CASE_ENS}"
string="--fv3 ${CASE}"
# Ocean/Ice/Waves ensemble configurations are identical to deterministic member
[[ "${DO_OCN}" == "YES" ]] && string="${string} --mom6 ${OCNRES}"
[[ "${DO_ICE}" == "YES" ]] && string="${string} --cice6 ${ICERES}"
Expand All @@ -24,17 +26,22 @@ source "${EXPDIR}/config.ufs" ${string}
# Get task specific resources
source "${EXPDIR}/config.resources" efcs

# nggps_diag_nml
export FHOUT=${FHOUT_ENKF:-3}
if [[ "${RUN}" == "enkfgfs" ]]; then
export FHOUT=${FHOUT_ENKF_GFS:-${FHOUT}}
fi

# model_configure
export FHMAX=${FHMAX_ENKF:-9}
if [[ "${RUN}" == "enkfgfs" ]]; then
export FHMAX=${FHMAX_ENKF_GFS:-${FHMAX}}
fi

# Use serial I/O for ensemble (lustre?)
export OUTPUT_FILETYPE_ATM="netcdf"
export OUTPUT_FILETYPE_SFC="netcdf"

# Number of enkf members per fcst job
export NMEM_EFCSGRP=1
export RERUN_EFCSGRP="NO"

# Turn off inline UPP for EnKF forecast
export WRITE_DOPOST=".true."

# Stochastic physics parameters (only for ensemble forecasts)
export DO_SKEB="YES"
export SKEB=0.3
Expand All @@ -54,6 +61,6 @@ export SPPT_LSCALE=500000.
export SPPT_LOGIT=".true."
export SPPT_SFCLIMIT=".true."

export restart_interval=${restart_interval_gfs}
export restart_interval="${restart_interval_gfs}"

echo "END: config.efcs"
6 changes: 6 additions & 0 deletions parm/config/gefs/config.fcst
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ string="--fv3 ${CASE}"
# shellcheck disable=SC2086
source "${EXPDIR}/config.ufs" ${string}

# shellcheck disable=SC2153
export FHMAX=${FHMAX_GFS}
# shellcheck disable=SC2153
export FHOUT=${FHOUT_GFS}
export FHMAX_HF=${FHMAX_HF_GFS}
export FHOUT_HF=${FHOUT_HF_GFS}

# Get task specific resources
source "${EXPDIR}/config.resources" fcst
Expand Down
1 change: 1 addition & 0 deletions parm/config/gefs/yaml/defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ base:
DO_JEDIOCNVAR: "NO"
DO_JEDILANDDA: "NO"
DO_MERGENSST: "NO"
FHMAX_GFS: 120
8 changes: 1 addition & 7 deletions parm/config/gfs/config.base.emc.dyn
Original file line number Diff line number Diff line change
Expand Up @@ -256,13 +256,7 @@ export gfs_cyc=@gfs_cyc@ # 0: no GFS cycle, 1: 00Z only, 2: 00Z and 12Z only, 4:

# GFS output and frequency
export FHMIN_GFS=0

export FHMAX_GFS_00=120
export FHMAX_GFS_06=120
export FHMAX_GFS_12=120
export FHMAX_GFS_18=120
current_fhmax_var=FHMAX_GFS_${cyc}; declare -x FHMAX_GFS=${!current_fhmax_var}

export FHMAX_GFS=@FHMAX_GFS@
export FHOUT_GFS=6 # Must be 6 for S2S until #1629 is addressed; 3 for ops
export FHMAX_HF_GFS=0
export FHOUT_HF_GFS=1
Expand Down
Loading

0 comments on commit 931e472

Please sign in to comment.