Skip to content

Commit

Permalink
Merge branch 'develop' into feature/gocart_variable_fh
Browse files Browse the repository at this point in the history
  • Loading branch information
WalterKolczynski-NOAA committed Nov 14, 2024
2 parents 50a15d3 + 57c8aa3 commit 914c8a4
Show file tree
Hide file tree
Showing 45 changed files with 904 additions and 124 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ parm/post/params_grib2_tbl_new
parm/post/post_tag_gfs128
parm/post/gfs
parm/post/gefs
parm/post/sfs
parm/post/ocean.csv
parm/post/ice.csv
parm/post/ocnicepost.nml.jinja2
Expand Down
2 changes: 1 addition & 1 deletion ci/cases/pr/C96C48_ufs_hybatmDA.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ skip_ci_on_hosts:
- gaea
- orion
- hercules

- wcoss2
19 changes: 19 additions & 0 deletions ci/cases/sfs/C96mx100_S2S.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
experiment:
system: gefs
mode: forecast-only

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

8 changes: 8 additions & 0 deletions ci/cases/yamls/gefs_defaults_ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,11 @@ defaults:
!INC {{ HOMEgfs }}/parm/config/gefs/yaml/defaults.yaml
base:
ACCOUNT: {{ 'HPC_ACCOUNT' | getenv }}
SFS_POST: "NO"
FHOUT_GFS: 6
stage_ic:
USE_OCN_ENS_PERTURB_FILES: "NO"
USE_ATM_ENS_PERTURB_FILES: "NO"
ocn:
MOM6_INTERP_ICS: "NO"

4 changes: 4 additions & 0 deletions ci/cases/yamls/gefs_replay_ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,8 @@ base:
FHOUT_OCN_GFS: 24
FHOUT_ICE_GFS: 24
HOMEDIR: {{ 'RUNTESTS' | getenv }}/GLOBAL
SFS_POST: "NO"
stage_ic:
USE_OCN_ENS_PERTURB_FILES: "YES"
USE_ATM_ENS_PERTURB_FILES: "YES"

33 changes: 33 additions & 0 deletions ci/cases/yamls/sfs_defaults.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
base:
DO_JEDIATMVAR: "NO"
DO_JEDIATMENS: "NO"
DO_JEDIOCNVAR: "NO"
DO_JEDISNOWDA: "NO"
DO_MERGENSST: "NO"
DO_BUFRSND: "NO"
DO_GEMPAK: "NO"
DO_AWIPS: "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: 24
stage_ic:
USE_OCN_ENS_PERTURB_FILES: "YES"
USE_ATM_ENS_PERTURB_FILES: "YES"
ocn:
MOM6_INTERP_ICS: "YES"
1 change: 0 additions & 1 deletion ci/cases/yamls/ufs_hybatmDA_defaults.ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,3 @@ nsst:
NST_MODEL: "1"
sfcanl:
DONST: "NO"

3 changes: 3 additions & 0 deletions modulefiles/module_gwsetup.wcoss2.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,8 @@ Load environment to run GFS workflow ci scripts on WCOSS2

prepend_path("MODULEPATH", "/apps/ops/test/nco/modulefiles/core")
load(pathJoin("rocoto","1.3.5"))
load(pathJoin("PrgEnv-intel"))
load(pathJoin("intel","19.1.3.304"))
load(pathJoin("python", "3.8.6"))

whatis("Description: GFS run setup environment")
4 changes: 2 additions & 2 deletions parm/archive/gfs_downstream.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ gfs_downstream:
- "{{ COMIN_ATMOS_GEMPAK | relpath(ROTDIR) }}/gfs_{{ cycle_YMDH }}.sfc"
- "{{ COMIN_ATMOS_GEMPAK | relpath(ROTDIR) }}/gfs_{{ cycle_YMDH }}.snd"
{% for i in range(1, NUM_SND_COLLECTIVES) %}
- "{{ COMIN_ATMOS_WMO | relpath(ROTDIR) }}/gfs_collective{{ i }}.postsnd_{{ cycle_HH }}"
- "{{ COMIN_ATMOS_BUFR | relpath(ROTDIR) }}/gfs_collective{{ i }}.fil"
{% endfor %}
- "{{ COMIN_ATMOS_BUFR | relpath(ROTDIR) }}/bufr.t{{ cycle_HH }}z"
- "{{ COMIN_ATMOS_BUFR | relpath(ROTDIR) }}/bufr.??????.{{ cycle_YMDH }}"
- "{{ COMIN_ATMOS_BUFR | relpath(ROTDIR) }}/gfs.t{{ cycle_HH }}z.bufrsnd.tar.gz"
13 changes: 9 additions & 4 deletions parm/config/gefs/config.atmos_products
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,14 @@ fi
export FLXGF="NO" # Create interpolated sflux.1p00 file

# paramlist files for the different forecast hours and downsets
export paramlista="${PARMgfs}/product/gefs.0p25.fFFF.paramlist.a.txt"
export paramlista_anl="${PARMgfs}/product/gefs.0p25.anl.paramlist.a.txt"
export paramlista_f000="${PARMgfs}/product/gefs.0p25.f000.paramlist.a.txt"
export paramlistb="${PARMgfs}/product/gefs.0p25.fFFF.paramlist.b.txt"
if [[ ${SFS_POST} == "YES" ]]; then
export post_prefix='sfs'
else
export post_prefix='gefs'
fi
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"

echo "END: config.atmos_products"
18 changes: 7 additions & 11 deletions 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 @@ -206,12 +207,13 @@ case "${APP}" in

if [[ "${APP}" =~ ^S2SW ]]; then
export DO_WAVE="YES"
export WAVE_RUN="both"
export cplwav2atm=".true."
fi
;;
*)
echo "Unrecognized APP: ${1}"
exit 1
echo "FATAL ERROR: Unrecognized APP: '${APP}'"
exit 2
;;
esac

Expand All @@ -235,15 +237,14 @@ else
export OFFSET_START_HOUR=0
fi


# GFS output and frequency
export FHMIN_GFS=0
export FHMAX_GFS="@FHMAX_GFS@"
# Intermediate times to stop forecast when running in segments
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 Expand Up @@ -293,6 +294,7 @@ export ENSMEM=${ENSMEM:-"000"}
export MEMDIR="mem${ENSMEM}"

export DOIAU="NO" # While we are not doing IAU, we may want to warm start w/ IAU in the future

# Check if cycle is warm starting with IAU
if [[ "${EXP_WARM_START}" = ".true." ]]; then
if [[ "${DOIAU}" = "YES" ]]; then
Expand Down Expand Up @@ -324,7 +326,7 @@ export HPSSARCH="@HPSSARCH@" # save data to HPSS archive
export LOCALARCH="@LOCALARCH@" # save data to local archive
if [[ ${HPSSARCH} = "YES" ]] && [[ ${LOCALARCH} = "YES" ]]; then
echo "Both HPSS and local archiving selected. Please choose one or the other."
exit 2
exit 3
fi
export ARCH_CYC=00 # Archive data at this cycle for warm_start capability
export ARCH_WARMICFREQ=4 # Archive frequency in days for warm_start capability
Expand All @@ -335,10 +337,4 @@ export DELETE_COM_IN_ARCHIVE_JOB="YES" # NO=retain ROTDIR. YES default in arc
# Number of regional collectives to create soundings for
export NUM_SND_COLLECTIVES=${NUM_SND_COLLECTIVES:-9}

# The tracker, genesis, and METplus jobs are not supported on CSPs yet
# TODO: we should place these in workflow/hosts/[aws|azure|google]pw.yaml as part of CSP's setup, not for general.
if [[ "${machine}" =~ "PW" ]]; then
export DO_WAVE="NO"
fi

echo "END: config.base"
6 changes: 5 additions & 1 deletion parm/config/gefs/config.efcs
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,11 @@ source "${EXPDIR}/config.ufs" ${string}
source "${EXPDIR}/config.resources" efcs

# Stochastic physics parameters (only for ensemble forecasts)
export DO_SKEB="YES"
if [[ "${CASE}" == "C96" ]] ; then
export DO_SKEB="NO" # SKEB turned off for C96
else
export DO_SKEB="YES" # SKEB turned on for all other resolutions
fi
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
20 changes: 14 additions & 6 deletions parm/config/gefs/config.fcst
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ export FHOUT=${FHOUT_GFS}
export FHOUT_HF=${FHOUT_HF_GFS}
export FHOUT_OCN=${FHOUT_OCN_GFS}
export FHOUT_ICE=${FHOUT_ICE_GFS}
export FHZER=@FHZER@

# Get task specific resources
source "${EXPDIR}/config.resources" fcst
Expand All @@ -66,8 +67,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 @@ -201,6 +202,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 @@ -221,7 +227,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 Expand Up @@ -268,9 +278,7 @@ else
export io_layout="1,1"
fi

if (( OFFSET_START_HOUR != 0 )); then
export reforecast="YES"
fi
export reforecast=@reforecast@
# Remember config.efcs will over-ride these values for ensemble forecasts
# if these variables are re-defined there.
# Otherwise, the ensemble forecast will inherit from config.fcst
Expand Down
4 changes: 4 additions & 0 deletions parm/config/gefs/config.stage_ic
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,8 @@ if [[ -z "${ICSDIR}" ]] ; then

fi

#use of perturbations files for ensembles
export USE_OCN_ENS_PERTURB_FILES=@USE_OCN_ENS_PERTURB_FILES@
export USE_ATM_ENS_PERTURB_FILES=@USE_ATM_ENS_PERTURB_FILES@

echo "END: config.stage_ic"
11 changes: 6 additions & 5 deletions parm/config/gefs/config.ufs
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ case "${fv3_res}" in
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.071,2.1,1.0,1.0" # mountain blocking, ogwd, cgwd, cgwd src scaling
export cdmbgwd_gsl="40.0,1.77,1.0,1.0" # settings for GSL drag suite
export k_split=1
Expand All @@ -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 Expand Up @@ -337,7 +338,7 @@ if [[ "${skip_mom6}" == "false" ]]; then
DT_THERM_MOM6='3600'
FRUNOFF="runoff.daitren.clim.1deg.nc"
CHLCLIM="seawifs_1998-2006_smoothed_2X.nc"
MOM6_RESTART_SETTING='r'
MOM6_RESTART_SETTING=${MOM6_RESTART_SETTING:-'r'}
MOM6_RIVER_RUNOFF='False'
eps_imesh="2.5e-1"
TOPOEDITS="ufs.topo_edits_011818.nc"
Expand Down
13 changes: 13 additions & 0 deletions parm/config/gefs/yaml/defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,20 @@ 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"
LOCALARCH: "NO"
SFS_POST: "NO"
fcst:
reforecast: "NO"
FHZER: 6
TYPE: "nh"
MONO: "non-mono"
stage_ic:
USE_OCN_ENS_PERTURB_FILES: "NO"
USE_ATM_ENS_PERTURB_FILES: "NO"
ocn:
MOM6_INTERP_ICS: "NO"

30 changes: 1 addition & 29 deletions parm/config/gfs/config.aero
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,8 @@

# UFS-Aerosols settings

# Turn off warnings about unused variables
# shellcheck disable=SC2034


# Path to the input data tree
case ${machine} in
"HERA")
AERO_INPUTS_DIR="/scratch1/NCEPDEV/global/glopara/data/gocart_emissions"
;;
"ORION" | "HERCULES")
AERO_INPUTS_DIR="/work2/noaa/global/wkolczyn/noscrub/global-workflow/gocart_emissions"
;;
"S4")
AERO_INPUTS_DIR="/data/prod/glopara/gocart_emissions"
;;
"WCOSS2")
AERO_INPUTS_DIR="/lfs/h2/emc/global/noscrub/emc.global/data/gocart_emissions"
;;
"GAEA")
AERO_INPUTS_DIR="/gpfs/f5/epic/proj-shared/global/glopara/data/gocart_emissions"
;;
"JET")
AERO_INPUTS_DIR="/lfs5/HFIP/hfv3gfs/glopara/data/gocart_emissions"
;;
*)
echo "FATAL ERROR: Machine ${machine} unsupported for aerosols"
exit 2
;;
esac
export AERO_INPUTS_DIR
export AERO_INPUTS_DIR=@AERO_INPUTS_DIR@

export AERO_DIAG_TABLE="${PARMgfs}/ufs/fv3/diag_table.aero"
export AERO_FIELD_TABLE="${PARMgfs}/ufs/fv3/field_table.aero"
Expand Down
Loading

0 comments on commit 914c8a4

Please sign in to comment.