Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge SFS updates from Neil into SFS_container #8

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions ci/cases/sfs/C96mx100_S2S.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
experiment:
system: gefs
mode: forecast-only

arguments:
idate: 1994050100
edate: 1994050100
pslot: {{ 'pslot' | getenv }}
app: S2S
resdetatmos: 96
resensatmos: 96
resdetocean: 1
start: 'cold'
gfs_cyc: 1
nens: 10
comroot: {{ 'RUNTESTS' | getenv }}/COMROOT
expdir: {{ 'RUNTESTS' | getenv }}/EXPDIR
icsdir: {{ 'TOPICDIR' | getenv }}/HR4/C96mx100
yaml: {{ HOMEgfs }}/ci/cases/yamls/sfs_defaults.yaml

Original file line number Diff line number Diff line change
Expand Up @@ -7,23 +7,25 @@ base:
DO_BUFRSND: "NO"
DO_GEMPAK: "NO"
DO_AWIPS: "NO"
KEEPDATA: "NO"
KEEPDATA: "YES"
DO_EXTRACTVARS: "NO"
FHMAX_GFS: 2976
FHMAX_HF_GFS: 0
FHOUT_HF_GFS: 1
FHOUT_GFS: 24
FHOUT_OCN_GFS: 24
FHOUT_ICE_GFS: 24
FCST_BREAKPOINTS: ""
REPLAY_ICS: "NO"
HPSSARCH: "NO"
LOCALARCH: "NO"
SFS_POST: "YES"
ACCOUNT: {{ 'HPC_ACCOUNT' | getenv }}
fcst:
TYPE: "hydro"
MONO: "mono"
reforecast: "YES"
FHZER: 12
POST_SFS: "YES"
FHZER: 24
stage_ic:
USE_OCN_ENS_PERTURB_FILES: "YES"
USE_ATM_ENS_PERTURB_FILES: "YES"
Expand Down
6 changes: 3 additions & 3 deletions parm/config/gefs/config.atmos_products
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ export FLXGF="NO" # Create interpolated sflux.1p00 file

# paramlist files for the different forecast hours and downsets
if [[ ${SFS_POST} == "YES" ]]; then
local post_prefix='sfs'
export post_prefix='sfs'
else
local post_prefix='gefs'
export post_prefix='gefs'
fi
export paramlista="${PARMgfs}/product/${post_preix}.0p25.fFFF.paramlist.a.txt"
export paramlista="${PARMgfs}/product/${post_prefix}.0p25.fFFF.paramlist.a.txt"
export paramlista_anl="${PARMgfs}/product/${post_prefix}.0p25.anl.paramlist.a.txt"
export paramlista_f000="${PARMgfs}/product/${post_prefix}.0p25.f000.paramlist.a.txt"
export paramlistb="${PARMgfs}/product/${post_prefix}.0p25.fFFF.paramlist.b.txt"
Expand Down
3 changes: 2 additions & 1 deletion parm/config/gefs/config.base
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ export REALTIME="YES"

# Experiment mode (cycled or forecast-only)
export MODE="@MODE@" # cycled/forecast-only
export SFS_POST=@SFS_POST@ # TODO, place holder until RUN=SFS is developed

####################################################
# DO NOT ADD MACHINE DEPENDENT STUFF BELOW THIS LINE
Expand Down Expand Up @@ -244,7 +245,7 @@ export FHMAX_GFS="@FHMAX_GFS@"
breakpnts="@FCST_BREAKPOINTS@"
export FCST_SEGMENTS="${FHMIN_GFS},${breakpnts:+${breakpnts},}${FHMAX_GFS}"

export FHOUT_GFS=6
export FHOUT_GFS=@FHOUT_GFS@
export FHMAX_HF_GFS=@FHMAX_HF_GFS@
export FHOUT_HF_GFS=@FHOUT_HF_GFS@
export FHOUT_OCN_GFS=@FHOUT_OCN_GFS@
Expand Down
2 changes: 1 addition & 1 deletion parm/config/gefs/config.efcs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ if [[ "${RUN}" == "enkfgfs" ]]; then
fi

# Stochastic physics parameters (only for ensemble forecasts)
export DO_SKEB="YES"
export DO_SKEB=${DO_SKEB:-"YES"} # C96 SKEB defaults to NO/False
export SKEB="0.8,-999,-999,-999,-999"
export SKEB_TAU="2.16E4,2.592E5,2.592E6,7.776E6,3.1536E7"
export SKEB_LSCALE="500.E3,1000.E3,2000.E3,2000.E3,2000.E3"
Expand Down
16 changes: 12 additions & 4 deletions parm/config/gefs/config.fcst
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ export FHOUT_HF=${FHOUT_HF_GFS}
export FHOUT_OCN=${FHOUT_OCN_GFS}
export FHOUT_ICE=${FHOUT_ICE_GFS}
export FHZER=@FHZER@
export POST_SFS=@POST_SFS@

# Get task specific resources
source "${EXPDIR}/config.resources" fcst
Expand All @@ -67,8 +66,8 @@ export FCSTEXEC="ufs_model.x"

#######################################################################
# Model configuration
export TYPE="nh"
export MONO="non-mono"
export TYPE=@TYPE@
export MONO=@MONO@

# Use stratosphere h2o physics
export h2o_phys=".true."
Expand Down Expand Up @@ -202,6 +201,11 @@ case ${imp_physics} in
export hord_xx_nh_nonmono=5
export vtdm4_nh_nonmono=0.02
export nord=2
if [[ "${TYPE}" == "nh"* ]]; then
export dddmp=0.1
else
export dddmp=0.
fi
export dddmp=0.1
export d4_bg=0.12
;;
Expand All @@ -222,7 +226,11 @@ case ${imp_physics} in
export vtdm4_nh_nonmono=0.02
export nord=2
export d4_bg=0.12
export dddmp=0.1
if [[ "${TYPE}" == "nh"* ]]; then
export dddmp=0.1
else
export dddmp=0.
fi
;;
*) echo "Unknown microphysics option, ABORT!" ;;
esac
Expand Down
7 changes: 4 additions & 3 deletions parm/config/gefs/config.ufs
Original file line number Diff line number Diff line change
Expand Up @@ -98,13 +98,13 @@ case "${fv3_res}" in
export DELTIM=600
export layout_x=2
export layout_y=2
export layout_x_gfs=2
export layout_y_gfs=2
export layout_x_gfs=4
export layout_y_gfs=4
export nthreads_fv3=1
export nthreads_fv3_gfs=1
export nthreads_ufs=1
export nthreads_ufs_gfs=1
export xr_cnvcld=".false." # Do not pass conv. clouds to Xu-Randall cloud fraction
export xr_cnvcld=".true." # Pass conv. clouds to Xu-Randall cloud fraction
export cdmbgwd="0.14,1.8,1.0,1.0" # mountain blocking, ogwd, cgwd, cgwd src scaling
export cdmbgwd_gsl="20.0,2.5,1.0,1.0" # settings for GSL drag suite
export knob_ugwp_tauamp=3.0e-3 # setting for UGWPv1 non-stationary GWD
Expand All @@ -131,6 +131,7 @@ case "${fv3_res}" in
export cdmbgwd="0.23,1.5,1.0,1.0" # mountain blocking, ogwd, cgwd, cgwd src scaling
export cdmbgwd_gsl="10.0,3.5,1.0,1.0" # settings for GSL drag suite
export knob_ugwp_tauamp=1.5e-3 # setting for UGWPv1 non-stationary GWD
export xr_cnvcld=".true." # Pass conv. clouds to Xu-Randall cloud fraction
export k_split=2
export n_split=4
export tau=6.0
Expand Down
3 changes: 3 additions & 0 deletions parm/config/gefs/yaml/defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ base:
FCST_BREAKPOINTS: "48"
REPLAY_ICS: "NO"
USE_OCN_PERTURB_FILES: "false"
FHOUT_GFS: 6
FHOUT_OCN_GFS: 6
FHOUT_ICE_GFS: 6
HPSSARCH: "NO"
Expand All @@ -23,4 +24,6 @@ fcst:
reforecast: "YES"
FHZER: 6
POST_SFS: "NO"
TYPE: "nh"
MONO: "non-mono"

10 changes: 7 additions & 3 deletions sorc/build_all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ function _usage() {
Builds all of the global-workflow components by calling the individual build
scripts in sequence.

Usage: ${BASH_SOURCE[0]} [-a UFS_app][-c build_config][-d][-f][-h][-j n][-v][-w]
Usage: ${BASH_SOURCE[0]} [-a UFS_app][-c build_config][-d][-f][-h][-j n][-v][-w][-y]
-a UFS_app:
Build a specific UFS app instead of the default
-d:
Expand All @@ -37,6 +37,8 @@ Usage: ${BASH_SOURCE[0]} [-a UFS_app][-c build_config][-d][-f][-h][-j n][-v][-w]
Execute all build scripts with -v option to turn on verbose where supported
-w:
Use structured wave grid
-y:
Use hystrostatic version of FV3
EOF
exit 1
}
Expand All @@ -51,11 +53,12 @@ _build_gsi="NO"
_build_debug=""
_verbose_opt=""
_wave_opt=""
_hydro_opt=""
_build_job_max=20
_quick_kill="NO"
# Reset option counter in case this script is sourced
OPTIND=1
while getopts ":a:dfghj:kuvw" option; do
while getopts ":a:dfghj:kuvwy" option; do
case "${option}" in
a) _build_ufs_opt+="-a ${OPTARG} ";;
f) _build_ufs_opt+="-f ";;
Expand All @@ -67,6 +70,7 @@ while getopts ":a:dfghj:kuvw" option; do
u) _build_ufsda="YES" ;;
v) _verbose_opt="-v";;
w) _wave_opt="-w";;
y) _hydro_opt="-y";;
:)
echo "[${BASH_SOURCE[0]}]: ${option} requires an argument"
_usage
Expand Down Expand Up @@ -129,7 +133,7 @@ declare -A build_opts
big_jobs=0
build_jobs["ufs"]=8
big_jobs=$((big_jobs+1))
build_opts["ufs"]="${_wave_opt} ${_verbose_opt} ${_build_ufs_opt} ${_build_debug}"
build_opts["ufs"]="${_wave_opt} ${_hydro_opt} ${_verbose_opt} ${_build_ufs_opt} ${_build_debug}"

build_jobs["upp"]=1
build_opts["upp"]="${_build_debug}"
Expand Down
4 changes: 4 additions & 0 deletions ush/forecast_det.sh
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,10 @@ UFS_det(){
# TODO: add checks for other MOM6 restarts as well
mom6_rst_ok="NO"
fi
MOM6_RESTART_SETTING='r'
MOM6_INIT_FROM_Z=True
MOM6_WARMSTART_FILE="none"
MOM6_INIT_UV="zero"
fi

# Check for CICE6 restart availability
Expand Down
10 changes: 9 additions & 1 deletion ush/forecast_predet.sh
Original file line number Diff line number Diff line change
Expand Up @@ -332,19 +332,27 @@ FV3_predet(){
if [[ "${TYPE}" == "nh" ]]; then # monotonic and non-hydrostatic
hord_mt=${hord_mt_nh_mono:-"10"}
hord_xx=${hord_xx_nh_mono:-"10"}
hord_dp=-${hord_xx_nh_nonmono:-"5"}
else # monotonic and hydrostatic
hord_mt=${hord_mt_hydro_mono:-"10"}
hord_xx=${hord_xx_hydro_mono:-"10"}
hord_dp=-${hord_xx_nh_nonmono:-"10"}
fi
else # non-monotonic options
d_con=${d_con_nonmono:-"1."}
do_vort_damp=".true."
if [[ "${TYPE}" == "nh" ]]; then # non-monotonic and non-hydrostatic
hord_mt=${hord_mt_nh_nonmono:-"5"}
hord_xx=${hord_xx_nh_nonmono:-"5"}
hord_dp=${hord_xx_hydro_mono:-"10"}
else # non-monotonic and hydrostatic
hord_mt=${hord_mt_hydro_nonmono:-"10"}
hord_xx=${hord_xx_hydro_nonmono:-"10"}
hord_dp=${hord_xx_hydro_mono:-"10"}
kord_tm=${kord_tm_hydro_mono:-"-12"}
kord_mt=${kord_mt_hydro_mono:-"12"}
kord_wz=${kord_wz_hydro_mono:-"12"}
kord_tr=${kord_tr_hydro_mono:-"12"}
fi
fi

Expand Down Expand Up @@ -540,7 +548,7 @@ FV3_predet(){
${NCP} "${POSTGRB2TBL:-${PARMgfs}/post/params_grib2_tbl_new}" "${DATA}/params_grib2_tbl_new"
${NCP} "${PARMgfs}/ufs/post_itag_gfs" "${DATA}/itag" # TODO: Need a GEFS version when available in the UFS-weather-model
# TODO: These should be replaced with ones from the ufs-weather-model when available there
if [[ "${RUN}" =~ "gdas" || "${RUN}" =~ "gfs" || "${POST_SFS:-NO}" == "YES" ]]; then # RUN = gdas | enkfgdas | gfs | enkfgfs
if [[ "${RUN}" =~ "gdas" || "${RUN}" =~ "gfs" || "${SFS_POST:-NO}" == "YES" ]]; then # RUN = gdas | enkfgdas | gfs | enkfgfs
${NCP} "${PARMgfs}/post/gfs/postxconfig-NT-gfs-two.txt" "${DATA}/postxconfig-NT.txt"
${NCP} "${PARMgfs}/post/gfs/postxconfig-NT-gfs-f00-two.txt" "${DATA}/postxconfig-NT_FH00.txt"
elif [[ "${RUN}" == "gefs" ]]; then # RUN = gefs
Expand Down
2 changes: 1 addition & 1 deletion ush/parsing_namelists_FV3.sh
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ cat > input.nml <<EOF
hord_mt = ${hord_mt}
hord_vt = ${hord_xx}
hord_tm = ${hord_xx}
hord_dp = -${hord_xx}
hord_dp = ${hord_dp}
hord_tr = ${hord_tr:-"8"}
adjust_dry_mass = ${adjust_dry_mass:-".true."}
dry_mass=${dry_mass:-98320.0}
Expand Down
Loading