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

[develop:] Add the RRFS_SaS physics suite to SRW options #1201

Open
wants to merge 21 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 9 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
6dab2ea
Add the RRFS_SaS physics suite
Feb 14, 2025
ee11896
updating a script scripts/exregional_make_ics.sh, set convert_nst = f…
Feb 18, 2025
5094d94
Updating External.cfg, temporary changes to test the PR
Feb 18, 2025
96c6ee5
temporarily add two WE2WE tests, test_3km_bcs_HRRR_suite_RRFS_sas and…
Feb 18, 2025
7b9e25e
Update ./parm/FV3.input to set nst_anl=null for RRFS_sas physics suite
Feb 18, 2025
5de81d2
update exregional_run_fcst.sh to allow RRFS_sas suite
Feb 18, 2025
457db6e
USE_MERRA_CLIMO is set to true in config_defaults.yaml for RRFS_sas s…
Feb 19, 2025
7cbf5f2
Update UFS weather-model hash
Feb 20, 2025
789b202
Temporary turn off mosaic vegetation and soil for RRFS_sas suite: mos…
Feb 20, 2025
d2ea5a3
[develop] Update SRW reference chapter (#1184)
selbigmtnwx23 Feb 20, 2025
9e5f510
[develop] Doc test bug fixes (#1206)
gspetro-NOAA Feb 21, 2025
69b0ff7
Added tests for RRFS_sas physics suite, 3-km, 13-km, and 25-km grids
Feb 21, 2025
0cedc66
Updating Externals.cfg
Feb 21, 2025
5fecedc
Merge branch 'develop' into feature/rrfs_sas
natalie-perlin Feb 24, 2025
2fa2c93
updated comprehensive and coverage suites to add tests with RRFS_sas …
Feb 25, 2025
907cb08
adapt tests to use RRFS_sas physics suite instead of RRFS_v1beta
Feb 25, 2025
824aaa2
Updating the test suites to remove tests with FV3_RRFS_v1beta and to …
Feb 25, 2025
94572a6
removed config.specify_DOT_OR_USCORE.yaml pointing to the outdated te…
Feb 26, 2025
fd51037
exregional_make_ics.sh updated for fully supported RRFS option as ICS…
Feb 27, 2025
e56c7f0
Leave RRFS_v1beta suite functionality in FV3.input.yml, but remove th…
Feb 27, 2025
4f1fa93
Removed smoke/dust tracer variables from field_table.RRFS_sas
Feb 28, 2025
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
5 changes: 3 additions & 2 deletions Externals.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ protocol = git
repo_url = https://github.com/NOAA-EPIC/UFS_UTILS
# Specify either a branch name or a hash but not both.
#branch = release/srw-v3.0.0
hash = 1ee0fee
#hash = 1ee0fee
hash = 0efd4ee
local_path = sorc/UFS_UTILS
required = True

Expand All @@ -12,7 +13,7 @@ protocol = git
repo_url = https://github.com/ufs-community/ufs-weather-model
# Specify either a branch name or a hash but not both.
#branch = develop
hash = 3a5e52e
hash = 8933749
local_path = sorc/ufs-weather-model
required = True

Expand Down
115 changes: 115 additions & 0 deletions parm/FV3.input.yml
Original file line number Diff line number Diff line change
Expand Up @@ -702,3 +702,118 @@ FV3_GFS_v17_p8:
deflate_level: 1
shuffle: 1
surf_map_nml: null

RRFS_sas:
atmos_model_nml:
avg_max_length: 3600.
ignore_rst_cksum: true
fv_core_nml:
agrid_vel_rst: true
d_con: 0.5
d2_bg_k2: 0.04
dz_min: 2.0
hord_dp: 6
hord_mt: 6
hord_tm: 6
hord_tr: 8
hord_vt: 6
k_split: 2
kord_mt: 9
kord_tm: -9
kord_tr: 9
kord_wz: 9
n_split: 5
psm_bc: 1
nord_tr: 0
nrows_blend: 10
range_warn: False
regional_bcs_from_gsi: false
rf_cutoff: 2000.0
vtdm4: 0.02
write_restart_with_bcs: false
gfs_physics_nml:
betadcu: 1.0
cdmbgwd: [3.5, 1.0]
diag_log: true
do_deep: true
do_gsl_drag_ls_bl: true
do_gsl_drag_ss: true
do_gsl_drag_tofd: true
do_mynnsfclay: true
do_sfcperts: null
do_tofd : false
do_ugwp : false
do_ugwp_v0 : false
do_ugwp_v0_nst_only : false
do_ugwp_v0_orog_only : false
dt_inner : 36
ebb_dcycle : 1
effr_in: true
gwd_opt: 3
fhlwr: 900.0
fhswr: 900.0
iaer: 1011
ialb: 2
iccn: 2
icliq_sw: 2
iems: 2
imfdeepcnv: 2
imfshalcnv: -1
iopt_alb: 2
iopt_btr: 1
iopt_crs: 1
iopt_dveg: 2
iopt_frz: 1
iopt_inf: 1
iopt_rad: 1
iopt_run: 1
iopt_sfc: 1
iopt_snf: 4
iopt_stc: 1
iopt_tbot: 2
iovr: 3
ldiag_ugwp: false
lgfdlmprad: false
lightning_threat: true
mosaic_lu: 0
mosaic_soil: 0
isncond_opt: 2
isncovr_opt: 3
progsigma: true
sfclay_compute_flux: true
sigmab_coldstart : true
thsfc_loc: false
nst_anl: null
nstf_name: null
# Smoke/dust options
rrfs_sd : false
rrfs_smoke_debug : false
seas_opt : 0
mix_chem : true
dust_opt : 1
coarsepm_settling : 1
smoke_conv_wet_coef : [0.5, 0.5, 0.5]
hwp_method : 1
aero_ind_fdb : false
aero_dir_fdb : true
addsmoke_flag : 1
wetdep_ls_opt : 1
do_plumerise : true
do_smoke_transport : true
plumerisefire_frq : 30
plume_wind_eff : 1
dust_moist_correction : 2.0
dust_drylimit_factor : 0.5
dust_alpha : 10.0
dust_gamma : 1.3
drydep_opt : 1
enh_mix : false
wetdep_ls_alpha : 0.5
smoke_conv_wet_coef : [ 0.50, 0.50, 0.50 ]
do_smoke_transport : true
ebb_dcycle : 2
sc_factor : 1.0

fv_diagnostics_nml:
do_hailcast: true

523 changes: 523 additions & 0 deletions parm/diag_table.RRFS_sas

Large diffs are not rendered by default.

85 changes: 85 additions & 0 deletions parm/field_table.RRFS_sas
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# added by FRE: sphum must be present in atmos
# specific humidity for moist runs
"TRACER", "atmos_mod", "sphum"
"longname", "specific humidity"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=1.e-6" /
# prognostic cloud water mixing ratio
"TRACER", "atmos_mod", "liq_wat"
"longname", "cloud water mixing ratio"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=1.e30" /
# prognostic ice water mixing ratio
"TRACER", "atmos_mod", "ice_wat"
"longname", "cloud ice mixing ratio"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=1.e30" /
# prognostic rain water mixing ratio
"TRACER", "atmos_mod", "rainwat"
"longname", "rain water mixing ratio"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=1.e30" /
# prognostic snow water mixing ratio
"TRACER", "atmos_mod", "snowwat"
"longname", "snow water mixing ratio"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=1.e30" /
# prognostic graupel mixing ratio
"TRACER", "atmos_mod", "graupel"
"longname", "graupel mixing ratio"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=1.e30" /
# prognostic cloud water number concentration
"TRACER", "atmos_mod", "water_nc"
"longname", "cloud liquid water number concentration"
"units", "/kg"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic cloud ice number concentration
"TRACER", "atmos_mod", "ice_nc"
"longname", "cloud ice water number concentration"
"units", "/kg"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic rain number concentration
"TRACER", "atmos_mod", "rain_nc"
"longname", "rain number concentration"
"units", "/kg"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic ozone mixing ratio tracer
"TRACER", "atmos_mod", "o3mr"
"longname", "ozone mixing ratio"
"units", "kg/kg"
"profile_type", "fixed", "surface_value=1.e30" /
# water- and ice-friendly aerosols (Thompson)
"TRACER", "atmos_mod", "liq_aero"
"longname", "water-friendly aerosol number concentration"
"units", "/kg"
"profile_type", "fixed", "surface_value=0.0" /
"TRACER", "atmos_mod", "ice_aero"
"longname", "ice-friendly aerosol number concentration"
"units", "/kg"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic subgrid scale turbulent kinetic energy
"TRACER", "atmos_mod", "sgs_tke"
"longname", "subgrid scale turbulent kinetic energy"
"units", "m2/s2"
"profile_type", "fixed", "surface_value=0.0" /
# prognotsitc sigmab tracer
"TRACER", "atmos_mod", "sigmab"
"longname", "sigma fraction"
"units", "fraction"
"profile_type", "fixed", "surface_value=0.0" /
# prognostic smoke mixing ratio tracer
"TRACER", "atmos_mod", "smoke"
"longname", "smoke mixing ratio"
"units", "ug/kg"
"profile_type", "fixed", "surface_value=1.e-12" /
# prognostic dust mixing ratio tracer
"TRACER", "atmos_mod", "dust"
"longname", "dust mixing ratio"
"units", "ug/kg"
"profile_type", "fixed", "surface_value=1.e-12" /
# prognostic coarsepm mixing ratio tracer
"TRACER", "atmos_mod", "coarsepm"
"longname", "coarsepm mixing ratio"
"units", "ug/kg"
"profile_type", "fixed", "surface_value=1.e-12" /
25 changes: 23 additions & 2 deletions scripts/exregional_make_ics.sh
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,8 @@ case "${CCPP_PHYS_SUITE}" in
"FV3_WoFS_v0" | \
"FV3_HRRR" | \
"FV3_HRRR_gf" | \
"FV3_RAP" )
"FV3_RAP" | \
"RRFS_sas" )
if [ "${EXTRN_MDL_NAME_ICS}" = "RAP" ] || \
[ "${EXTRN_MDL_NAME_ICS}" = "RRFS" ] || \
[ "${EXTRN_MDL_NAME_ICS}" = "HRRR" ]; then
Expand Down Expand Up @@ -528,7 +529,7 @@ case "${EXTRN_MDL_NAME_ICS}" in
tg3_from_soil=False
;;

"HRRR"|"RRFS")
"HRRR")
external_model="HRRR"

fn_grib2="${EXTRN_MDL_FNS[0]}"
Expand All @@ -548,6 +549,26 @@ case "${EXTRN_MDL_NAME_ICS}" in
convert_nst=False
;;

"RRFS")
external_model="RRFS"

fn_grib2="${EXTRN_MDL_FNS[0]}"
input_type="grib2"
#
# Path to the HRRRX geogrid file.
#
geogrid_file_input_grid="${FIXgsm}/geo_em.d01.nc_HRRRX"
# Note that vgfrc, shdmin/shdmax (minmax_vgfrc), and lai fields are only available in HRRRX
# files after mid-July 2019, and only so long as the record order didn't change afterward
vgtyp_from_climo=False
sotyp_from_climo=False
vgfrc_from_climo=True
minmax_vgfrc_from_climo=True
lai_from_climo=True
tg3_from_soil=True
convert_nst=False
;;

"RAP")
external_model="RAP"
fn_grib2="${EXTRN_MDL_FNS[0]}"
Expand Down
3 changes: 2 additions & 1 deletion scripts/exregional_make_lbcs.sh
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,8 @@ case "${CCPP_PHYS_SUITE}" in
"FV3_WoFS_v0" | \
"FV3_HRRR" | \
"FV3_HRRR_gf" | \
"FV3_RAP")
"FV3_RAP" | \
"RRFS_sas")
if [ "${EXTRN_MDL_NAME_LBCS}" = "RAP" ] || \
[ "${EXTRN_MDL_NAME_LBCS}" = "RRFS" ] || \
[ "${EXTRN_MDL_NAME_LBCS}" = "HRRR" ]; then
Expand Down
2 changes: 1 addition & 1 deletion scripts/exregional_make_orog.sh
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@ mv "${raw_orog_fp_orig}" "${raw_orog_fp}"
#
#-----------------------------------------------------------------------
#
suites=( "FV3_RAP" "FV3_HRRR" "FV3_HRRR_gf" "FV3_GFS_v15_thompson_mynn_lam3km" "FV3_GFS_v17_p8" )
suites=( "FV3_RAP" "FV3_HRRR" "FV3_HRRR_gf" "FV3_GFS_v15_thompson_mynn_lam3km" "FV3_GFS_v17_p8" "RRFS_sas" )
if [[ ${suites[@]} =~ "${CCPP_PHYS_SUITE}" ]] ; then
DATA="${DATA:-${OROG_DIR}/temp_orog_data}"
mkdir -p ${DATA}
Expand Down
3 changes: 1 addition & 2 deletions scripts/exregional_run_fcst.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
#!/usr/bin/env bash


#
#-----------------------------------------------------------------------
#
Expand Down Expand Up @@ -297,7 +296,7 @@ create_symlink_to_file $target $symlink ${relative_link_flag}
# that the FV3 model is hardcoded to recognize, and those are the names
# we use below.
#
suites=( "FV3_RAP" "FV3_HRRR" "FV3_HRRR_gf" "FV3_GFS_v15_thompson_mynn_lam3km" "FV3_GFS_v17_p8" )
suites=( "FV3_RAP" "FV3_HRRR" "FV3_HRRR_gf" "FV3_GFS_v15_thompson_mynn_lam3km" "FV3_GFS_v17_p8" "RRFS_sas")
if [[ ${suites[@]} =~ "${CCPP_PHYS_SUITE}" ]] ; then
file_ids=( "ss" "ls" )
for file_id in "${file_ids[@]}"; do
Expand Down
2 changes: 1 addition & 1 deletion sorc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ if (BUILD_UFS)
if(CPL_AQM)
set(CCPP_SUITES "FV3_GFS_v15p2,FV3_GFS_v16,FV3_GFS_v17_p8")
else()
set(CCPP_SUITES "FV3_GFS_v15p2,FV3_GFS_v16,FV3_GFS_v17_p8,FV3_RRFS_v1beta,FV3_HRRR,FV3_HRRR_gf,FV3_RAP,FV3_GFS_v15_thompson_mynn_lam3km,FV3_WoFS_v0")
set(CCPP_SUITES "FV3_GFS_v15p2,FV3_GFS_v16,FV3_GFS_v17_p8,FV3_RRFS_v1beta,FV3_HRRR,FV3_HRRR_gf,FV3_RAP,FV3_GFS_v15_thompson_mynn_lam3km,FV3_WoFS_v0,RRFS_sas")
endif()
endif()

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
metadata:
description: |-
This test is to ensure that the workflow running in community mode
completes successfully on the SUBCONUS_Ind_3km grid using the HRRR
physics suite with ICs and LBCs derived from the HRRR model output.
This test also tests the ensemble capability with stochastic
user:
RUN_ENVIR: community
workflow:
CCPP_PHYS_SUITE: FV3_HRRR
PREDEF_GRID_NAME: SUBCONUS_Ind_3km
DATE_FIRST_CYCL: '2020081000'
DATE_LAST_CYCL: '2020081000'
FCST_LEN_HRS: 3
PREEXISTING_DIR_METHOD: rename
VERBOSE: true
DEBUG: true
task_get_extrn_ics:
EXTRN_MDL_NAME_ICS: HRRR
USE_USER_STAGED_EXTRN_FILES: true
EXTRN_MDL_FILES_ICS:
- '{yy}{jjj}{hh}00{fcst_hr:02d}00'
task_get_extrn_lbcs:
EXTRN_MDL_NAME_LBCS: HRRR
LBC_SPEC_INTVL_HRS: 3
USE_USER_STAGED_EXTRN_FILES: true
EXTRN_MDL_FILES_LBCS:
- '{yy}{jjj}{hh}00{fcst_hr:02d}00'
global:
DO_ENSEMBLE: false
NUM_ENS_MEMBERS: 2
DO_SHUM: true
DO_SPPT: true
DO_SKEB: true
DO_SPP: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
metadata:
description: |-
This test is to ensure that the workflow running in community mode
completes successfully on the SUBCONUS_Ind_3km grid using the HRRR
physics suite with ICs and LBCs derived from the HRRR model output.
This test also tests the ensemble capability with stochastic
user:
RUN_ENVIR: community
workflow:
CCPP_PHYS_SUITE: RRFS_sas
PREDEF_GRID_NAME: SUBCONUS_Ind_3km
DATE_FIRST_CYCL: '2020081000'
DATE_LAST_CYCL: '2020081000'
FCST_LEN_HRS: 3
PREEXISTING_DIR_METHOD: rename
VERBOSE: true
DEBUG: true
task_get_extrn_ics:
EXTRN_MDL_NAME_ICS: HRRR
USE_USER_STAGED_EXTRN_FILES: true
EXTRN_MDL_FILES_ICS:
- '{yy}{jjj}{hh}00{fcst_hr:02d}00'
task_get_extrn_lbcs:
EXTRN_MDL_NAME_LBCS: HRRR
LBC_SPEC_INTVL_HRS: 3
USE_USER_STAGED_EXTRN_FILES: true
EXTRN_MDL_FILES_LBCS:
- '{yy}{jjj}{hh}00{fcst_hr:02d}00'
global:
DO_ENSEMBLE: false
NUM_ENS_MEMBERS: 2
DO_SHUM: true
DO_SPPT: true
DO_SKEB: true
DO_SPP: true
2 changes: 1 addition & 1 deletion ush/config_defaults.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1929,7 +1929,7 @@ task_run_fcst:
#
#-----------------------------------------------------------------------
#
USE_MERRA_CLIMO: '{{ workflow.CCPP_PHYS_SUITE == "FV3_GFS_v15_thompson_mynn_lam3km" or workflow.CCPP_PHYS_SUITE == "FV3_HRRR_gf" or workflow.CCPP_PHYS_SUITE == "FV3_GFS_v17_p8" }}'
USE_MERRA_CLIMO: '{{ workflow.CCPP_PHYS_SUITE == "FV3_GFS_v15_thompson_mynn_lam3km" or workflow.CCPP_PHYS_SUITE == "FV3_HRRR_gf" or workflow.CCPP_PHYS_SUITE == "FV3_GFS_v17_p8" or workflow.CCPP_PHYS_SUITE == "RRFS_sas" }}'
#
#-----------------------------------------------------------------------
#
Expand Down
Loading
Loading