From a2c6926d8f74931f1d68d8232890c56df3b13c5e Mon Sep 17 00:00:00 2001 From: "siwei.he" Date: Mon, 17 Aug 2020 21:36:03 +0000 Subject: [PATCH 1/6] RRFS_v1beta test finished --- scripts/exregional_make_ics.sh | 5 +- scripts/exregional_make_lbcs.sh | 4 +- scripts/exregional_make_orog.sh | 3 + scripts/exregional_run_fcst.sh | 21 ++ ush/config.sh | 32 ++ ush/generate_FV3SAR_wflow.sh | 1 + ush/link_fix.sh | 2 + ush/set_predef_grid_params.sh | 2 +- ush/templates/FV3.input.yml | 13 + ush/templates/diag_table.FV3_RRFS_v1beta | 340 ++++++++++++++++++ ush/templates/field_table.FV3_RRFS_v1beta | 65 ++++ ush/templates/model_configure.FV3_RRFS_v1beta | 23 ++ ush/valid_param_vals.sh | 1 + 13 files changed, 509 insertions(+), 3 deletions(-) create mode 100644 ush/config.sh create mode 100644 ush/templates/diag_table.FV3_RRFS_v1beta create mode 100644 ush/templates/field_table.FV3_RRFS_v1beta create mode 100644 ush/templates/model_configure.FV3_RRFS_v1beta diff --git a/scripts/exregional_make_ics.sh b/scripts/exregional_make_ics.sh index 55a66af25..125c91ed7 100755 --- a/scripts/exregional_make_ics.sh +++ b/scripts/exregional_make_ics.sh @@ -107,7 +107,7 @@ case "${CCPP_PHYS_SUITE}" in "FV3_GFS_2017_gfdlmp" | "FV3_GFS_2017_gfdlmp_regional" ) phys_suite="GFS" ;; -"FV3_GSD_v0" | "FV3_GSD_SAR" | "FV3_GSD_SAR_v1" |"FV3_RRFS_v0" ) +"FV3_GSD_v0" | "FV3_GSD_SAR" | "FV3_GSD_SAR_v1" |"FV3_RRFS_v0" |"FV3_RRFS_v1beta") phys_suite="GSD" ;; "FV3_CPT_v0") @@ -307,6 +307,7 @@ case "${EXTRN_MDL_NAME_ICS}" in elif [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_v0" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR_v1" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v0" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR" ]; then # For GSD physics, add three additional tracers (the ice, rain and water # number concentrations) that are required for Thompson microphysics. @@ -363,6 +364,7 @@ HRRRX grib2 files created after about \"${cdate_min_HRRRX}\"..." if [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_2017_gfdlmp" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR_v1" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v0" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_CPT_v0" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_v15p2" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_v16beta" ]; then @@ -403,6 +405,7 @@ HRRRX grib2 files created after about \"${cdate_min_HRRRX}\"..." [ "${CCPP_PHYS_SUITE}" = "FV3_CPT_v0" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR_v1" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v0" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_v15p2" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_v16beta" ]; then numsoil_out="4" diff --git a/scripts/exregional_make_lbcs.sh b/scripts/exregional_make_lbcs.sh index 3f7c7e6a1..c53884586 100755 --- a/scripts/exregional_make_lbcs.sh +++ b/scripts/exregional_make_lbcs.sh @@ -107,7 +107,7 @@ case "${CCPP_PHYS_SUITE}" in "FV3_GFS_2017_gfdlmp" | "FV3_GFS_2017_gfdlmp_regional") phys_suite="GFS" ;; -"FV3_GSD_v0" | "FV3_GSD_SAR" | "FV3_GSD_SAR_v1" | "FV3_RRFS_v0" ) +"FV3_GSD_v0" | "FV3_GSD_SAR" | "FV3_GSD_SAR_v1" | "FV3_RRFS_v0" | "FV3_RRFS_v1beta" ) phys_suite="GSD" ;; "FV3_CPT_v0" ) @@ -290,6 +290,7 @@ case "${EXTRN_MDL_NAME_LBCS}" in elif [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_v0" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR_v1" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v0" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR" ]; then # For GSD physics, add three additional tracers (the ice, rain and water # number concentrations) that are required for Thompson microphysics. @@ -332,6 +333,7 @@ case "${EXTRN_MDL_NAME_LBCS}" in [ "${CCPP_PHYS_SUITE}" = "FV3_CPT_v0" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR_v1" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v0" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_v15p2" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_GFS_v16beta" ]; then numsoil_out="4" diff --git a/scripts/exregional_make_orog.sh b/scripts/exregional_make_orog.sh index a8a39dcc0..a99b9d477 100755 --- a/scripts/exregional_make_orog.sh +++ b/scripts/exregional_make_orog.sh @@ -352,6 +352,9 @@ raw_orog_fn="${raw_orog_fn_prefix}.${fn_suffix_with_halo}" raw_orog_fp="${raw_dir}/${raw_orog_fn}" mv_vrfy "${raw_orog_fp_orig}" "${raw_orog_fp}" +# copy two files for drag_suite to the orog directory (temporary) +cp_vrfy /scratch2/BMC/gsd-fv3-test/she/orog/* ${OROG_DIR} # temporary code + print_info_msg "$VERBOSE" " Orography file generation complete." # diff --git a/scripts/exregional_run_fcst.sh b/scripts/exregional_run_fcst.sh index 10b7fed07..73c9ab566 100755 --- a/scripts/exregional_run_fcst.sh +++ b/scripts/exregional_run_fcst.sh @@ -229,6 +229,26 @@ Cannot create symlink because target does not exist: target = \"$target}\"" fi +# two files for drag_suite scheme +# Symlink to orographic statistics fields file with "${CRES}_" and "halo0" stripped from name. +target="${FIXsar}/${CRES}${DOT_OR_USCORE}oro_data_ls.tile${TILE_RGNL}.halo${NH0}.nc" +symlink="oro_data_ls.nc" +if [ -f "${target}" ]; then + ln_vrfy -sf ${relative_or_null} $target $symlink +else + print_err_msg_exit "\ +Cannot create symlink because target does not exist: + target = \"$target}\"" +fi +target="${FIXsar}/${CRES}${DOT_OR_USCORE}oro_data_ss.tile${TILE_RGNL}.halo${NH0}.nc" +symlink="oro_data_ss.nc" +if [ -f "${target}" ]; then + ln_vrfy -sf ${relative_or_null} $target $symlink +else + print_err_msg_exit "\ +Cannot create symlink because target does not exist: + target = \"$target}\"" +fi # # Symlink to halo-4 orography file with "${CRES}_" stripped from name. # @@ -383,6 +403,7 @@ if [ "${USE_CCPP}" = "TRUE" ]; then if [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_v0" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR_v1" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v0" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR" ]; then ln_vrfy -sf ${relative_or_null} $EXPTDIR/CCN_ACTIVATE.BIN ${CYCLE_DIR} fi diff --git a/ush/config.sh b/ush/config.sh new file mode 100644 index 000000000..75459a452 --- /dev/null +++ b/ush/config.sh @@ -0,0 +1,32 @@ +MACHINE="hera" +ACCOUNT="gsd-fv3-test" +EXPT_SUBDIR="RRFS_v1beta" + +QUEUE_DEFAULT="batch" +QUEUE_HPSS="service" +QUEUE_FCST="batch" + +VERBOSE="TRUE" + +RUN_ENVIR="community" +PREEXISTING_DIR_METHOD="rename" + +PREDEF_GRID_NAME="GSD_HRRR25km" +GRID_GEN_METHOD="JPgrid" +QUILTING="TRUE" +USE_CCPP="TRUE" +CCPP_PHYS_SUITE="FV3_RRFS_v1beta" +FCST_LEN_HRS="06" +LBC_SPEC_INTVL_HRS="6" + +DATE_FIRST_CYCL="20190701" +DATE_LAST_CYCL="20190701" +CYCL_HRS=( "00" ) + +EXTRN_MDL_NAME_ICS="FV3GFS" +EXTRN_MDL_NAME_LBCS="FV3GFS" + +RUN_TASK_MAKE_GRID="TRUE" +RUN_TASK_MAKE_OROG="TRUE" +RUN_TASK_MAKE_SFC_CLIMO="TRUE" + diff --git a/ush/generate_FV3SAR_wflow.sh b/ush/generate_FV3SAR_wflow.sh index 7c003bf30..f148f2128 100755 --- a/ush/generate_FV3SAR_wflow.sh +++ b/ush/generate_FV3SAR_wflow.sh @@ -455,6 +455,7 @@ the forecast model directory sturcture to the experiment directory..." if [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_v0" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR_v1" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v0" ] || \ + [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ] || \ [ "${CCPP_PHYS_SUITE}" = "FV3_GSD_SAR" ]; then print_info_msg "$VERBOSE" " Copying the fixed file containing cloud condensation nuclei (CCN) data diff --git a/ush/link_fix.sh b/ush/link_fix.sh index e07cee411..17222ff4e 100755 --- a/ush/link_fix.sh +++ b/ush/link_fix.sh @@ -244,6 +244,8 @@ Creating links in the FIXsar directory to the grid files..." fns=( \ "C*${DOT_OR_USCORE}oro_data.tile${TILE_RGNL}.halo${NH0}.nc" \ "C*${DOT_OR_USCORE}oro_data.tile${TILE_RGNL}.halo${NH4}.nc" \ +"C*${DOT_OR_USCORE}oro_data_ss.tile${TILE_RGNL}.halo${NH0}.nc" \ +"C*${DOT_OR_USCORE}oro_data_ls.tile${TILE_RGNL}.halo${NH0}.nc" \ ) fps=( "${fns[@]/#/${OROG_DIR}/}" ) run_task="${RUN_TASK_MAKE_OROG}" diff --git a/ush/set_predef_grid_params.sh b/ush/set_predef_grid_params.sh index 0eb0636f9..2992494dc 100644 --- a/ush/set_predef_grid_params.sh +++ b/ush/set_predef_grid_params.sh @@ -345,7 +345,7 @@ predefined domain: JPgrid_WIDE_HALO_WIDTH=6 - DT_ATMOS="300" + DT_ATMOS="40" LAYOUT_X="2" LAYOUT_Y="2" diff --git a/ush/templates/FV3.input.yml b/ush/templates/FV3.input.yml index a0a838434..aa48a8e80 100644 --- a/ush/templates/FV3.input.yml +++ b/ush/templates/FV3.input.yml @@ -44,6 +44,18 @@ FV3_RRFS_v0: lsm: 2 lsoil_lsm: 4 +FV3_RRFS_v1beta: + gfs_physics_nml: + <<: *gsd_sar_phys + lsm: 2 + lsoil_lsm: 4 + imfshalcnv: -1 + IMFDEEPCNV: -1 + DO_MYNNSFCLAY: true + GWD_OPT: 3 + atmos_model_nml: + fdiag: 3 + FV3_GFS_2017_gfdlmp: atmos_model_nml: avg_max_length: 3600.0 @@ -450,3 +462,4 @@ FV3_CPT_v0: xkzm_s: 1.0 nam_sfcperts: !!python/none surf_map_nml: !!python/none + diff --git a/ush/templates/diag_table.FV3_RRFS_v1beta b/ush/templates/diag_table.FV3_RRFS_v1beta new file mode 100644 index 000000000..99034ff0a --- /dev/null +++ b/ush/templates/diag_table.FV3_RRFS_v1beta @@ -0,0 +1,340 @@ +{{ starttime.strftime("%Y%m%d.%H") }}Z.{{ cres }}.32bit.non-hydro.regional +{{ starttime.strftime("%Y %m %d %H %M %S") }} + +"grid_spec", -1, "months", 1, "days", "time" +"atmos_static", -1, "hours", 1, "hours", "time" +#"atmos_4xdaily", 1, "hours", 1, "days", "time" +"fv3_history", 1, "years", 1, "hours", "time" +"fv3_history2d", 1, "years", 1, "hours", "time" + +# +#======================= +# ATMOSPHERE DIAGNOSTICS +#======================= +### +# grid_spec +### + "dynamics", "grid_lon", "grid_lon", "grid_spec", "all", .false., "none", 2, + "dynamics", "grid_lat", "grid_lat", "grid_spec", "all", .false., "none", 2, + "dynamics", "grid_lont", "grid_lont", "grid_spec", "all", .false., "none", 2, + "dynamics", "grid_latt", "grid_latt", "grid_spec", "all", .false., "none", 2, + "dynamics", "area", "area", "grid_spec", "all", .false., "none", 2, +### +# 4x daily output +### +# "dynamics", "slp", "slp", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "vort850", "vort850", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "vort200", "vort200", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "us", "us", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "u1000", "u1000", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "u850", "u850", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "u700", "u700", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "u500", "u500", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "u200", "u200", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "u100", "u100", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "u50", "u50", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "u10", "u10", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "vs", "vs", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "v1000", "v1000", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "v850", "v850", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "v700", "v700", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "v500", "v500", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "v200", "v200", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "v100", "v100", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "v50", "v50", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "v10", "v10", "atmos_4xdaily", "all", .false., "none", 2 +#### +# "dynamics", "tm", "tm", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "t1000", "t1000", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "t850", "t850", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "t700", "t700", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "t500", "t500", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "t200", "t200", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "t100", "t100", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "t50", "t50", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "t10", "t10", "atmos_4xdaily", "all", .false., "none", 2 +#### +# "dynamics", "z1000", "z1000", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "z850", "z850", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "z700", "z700", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "z500", "z500", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "z200", "z200", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "z100", "z100", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "z50", "z50", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "z10", "z10", "atmos_4xdaily", "all", .false., "none", 2 +#### +# "dynamics", "w1000", "w1000", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "w850", "w850", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "w700", "w700", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "w500", "w500", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "w200", "w200", "atmos_4xdaily", "all", .false., "none", 2 +#### +# "dynamics", "q1000", "q1000", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "q850", "q850", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "q700", "q700", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "q500", "q500", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "q200", "q200", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "q100", "q100", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "q50", "q50", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "q10", "q10", "atmos_4xdaily", "all", .false., "none", 2 +#### +# "dynamics", "rh1000", "rh1000", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "rh850", "rh850", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "rh700", "rh700", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "rh500", "rh500", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "rh200", "rh200", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "omg1000", "omg1000", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "omg850", "omg850", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "omg700", "omg700", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "omg500", "omg500", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "omg200", "omg200", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "omg100", "omg100", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "omg50", "omg50", "atmos_4xdaily", "all", .false., "none", 2 +# "dynamics", "omg10", "omg10", "atmos_4xdaily", "all", .false., "none", 2 +### +# gfs static data +### + "dynamics", "pk", "pk", "atmos_static", "all", .false., "none", 2 + "dynamics", "bk", "bk", "atmos_static", "all", .false., "none", 2 + "dynamics", "hyam", "hyam", "atmos_static", "all", .false., "none", 2 + "dynamics", "hybm", "hybm", "atmos_static", "all", .false., "none", 2 + "dynamics", "zsurf", "zsurf", "atmos_static", "all", .false., "none", 2 +### +# FV3 variabls needed for NGGPS evaluation +### +"gfs_dyn", "ucomp", "ugrd", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "vcomp", "vgrd", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "sphum", "spfh", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "temp", "tmp", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "liq_wat", "clwmr", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "o3mr", "o3mr", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "delp", "dpres", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "delz", "delz", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "w", "dzdt", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "ice_wat", "icmr", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "rainwat", "rwmr", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "snowwat", "snmr", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "graupel", "grle", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "ps", "pressfc", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "hs", "hgtsfc", "fv3_history", "all", .false., "none", 2 +"gfs_phys", "refl_10cm" "refl_10cm" "fv3_history", "all", .false., "none", 2 +#"gfs_dyn", "ice_nc", "nicp", "fv3_history", "all", .false., "none", 2 +#"gfs_dyn", "rain_nc", "ntrnc", "fv3_history", "all", .false., "none", 2 + +"gfs_dyn", "wmaxup", "upvvelmax", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "wmaxdn", "dnvvelmax", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "uhmax03", "uhmax03", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "uhmax25", "uhmax25", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "uhmin03", "uhmin03", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "uhmin25", "uhmin25", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "maxvort01", "maxvort01", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "maxvort02", "maxvort02", "fv3_history", "all", .false., "none", 2 +"gfs_dyn", "maxvorthy1", "maxvorthy1", "fv3_history", "all", .false., "none", 2 + +"gfs_phys", "ALBDO_ave", "albdo_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "cnvprcp_ave", "cprat_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "cnvprcpb_ave", "cpratb_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "totprcp_ave", "prate_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "totprcpb_ave", "prateb_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "DLWRF", "dlwrf_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "DLWRFI", "dlwrf", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "ULWRF", "ulwrf_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "ULWRFI", "ulwrf", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "DSWRF", "dswrf_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "DSWRFI", "dswrf", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "USWRF", "uswrf_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "USWRFI", "uswrf", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "DSWRFtoa", "dswrf_avetoa","fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "USWRFtoa", "uswrf_avetoa","fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "ULWRFtoa", "ulwrf_avetoa","fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "gflux_ave", "gflux_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "hpbl", "hpbl", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "lhtfl_ave", "lhtfl_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "shtfl_ave", "shtfl_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "pwat", "pwatclm", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "soilm", "soilm", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "TCDC_aveclm", "tcdc_aveclm", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "TCDC_avebndcl", "tcdc_avebndcl", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "TCDC_avehcl", "tcdc_avehcl", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "TCDC_avelcl", "tcdc_avelcl", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "TCDC_avemcl", "tcdc_avemcl", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "TCDCcnvcl", "tcdccnvcl", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "PREScnvclt", "prescnvclt", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "PREScnvclb", "prescnvclb", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "PRES_avehct", "pres_avehct", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "PRES_avehcb", "pres_avehcb", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "TEMP_avehct", "tmp_avehct", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "PRES_avemct", "pres_avemct", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "PRES_avemcb", "pres_avemcb", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "TEMP_avemct", "tmp_avemct", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "PRES_avelct", "pres_avelct", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "PRES_avelcb", "pres_avelcb", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "TEMP_avelct", "tmp_avelct", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "u-gwd_ave", "u-gwd_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "v-gwd_ave", "v-gwd_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "dusfc", "uflx_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "dvsfc", "vflx_ave", "fv3_history2d", "all", .false., "none", 2 +#"gfs_phys", "cnvw", "cnvcldwat", "fv3_history2d", "all", .false., "none", 2 + +"gfs_phys", "psurf", "pressfc", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "u10m", "ugrd10m", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "v10m", "vgrd10m", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "crain", "crain", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "tprcp", "tprcp", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "hgtsfc", "orog", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "weasd", "weasd", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "f10m", "f10m", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "q2m", "spfh2m", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "t2m", "tmp2m", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "tsfc", "tmpsfc", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "vtype", "vtype", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "stype", "sotyp", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "slmsksfc", "land", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "vfracsfc", "veg", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "zorlsfc", "sfcr", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "uustar", "fricv", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "soilt1", "soilt1" "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "soilt2", "soilt2" "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "soilt3", "soilt3" "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "soilt4", "soilt4" "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "soilw1", "soilw1" "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "soilw2", "soilw2" "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "soilw3", "soilw3" "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "soilw4", "soilw4" "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "slc_1", "soill1", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "slc_2", "soill2", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "slc_3", "soill3", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "slc_4", "soill4", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "slope", "sltyp", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "alnsf", "alnsf", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "alnwf", "alnwf", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "alvsf", "alvsf", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "alvwf", "alvwf", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "canopy", "cnwat", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "facsf", "facsf", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "facwf", "facwf", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "ffhh", "ffhh", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "ffmm", "ffmm", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "fice", "icec", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "hice", "icetk", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "snoalb", "snoalb", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "shdmax", "shdmax", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "shdmin", "shdmin", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "snowd", "snod", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "tg3", "tg3", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "tisfc", "tisfc", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "tref", "tref", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "z_c", "zc", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "c_0", "c0", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "c_d", "cd", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "w_0", "w0", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "w_d", "wd", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "xt", "xt", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "xz", "xz", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "dt_cool", "dtcool", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "xs", "xs", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "xu", "xu", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "xv", "xv", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "xtts", "xtts", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "xzts", "xzts", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "d_conv", "dconv", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "qrain", "qrain", "fv3_history2d", "all", .false., "none", 2 + +"gfs_phys", "acond", "acond", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "cduvb_ave", "cduvb_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "cpofp", "cpofp", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "duvb_ave", "duvb_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "csdlf_ave", "csdlf", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "csusf_ave", "csusf", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "csusf_avetoa", "csusftoa", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "csdsf_ave", "csdsf", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "csulf_ave", "csulf", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "csulf_avetoa", "csulftoa", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "cwork_ave", "cwork_aveclm", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "evbs_ave", "evbs_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "evcw_ave", "evcw_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "fldcp", "fldcp", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "hgt_hyblev1", "hgt_hyblev1", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "spfh_hyblev1", "spfh_hyblev1", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "ugrd_hyblev1", "ugrd_hyblev1", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "vgrd_hyblev1", "vgrd_hyblev1", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "tmp_hyblev1", "tmp_hyblev1", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "gfluxi", "gflux", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "lhtfl", "lhtfl", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "shtfl", "shtfl", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "pevpr", "pevpr", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "pevpr_ave", "pevpr_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "sbsno_ave", "sbsno_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "sfexc", "sfexc", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "snohf", "snohf", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "snowc_ave", "snowc_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "spfhmax2m", "spfhmax_max2m", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "spfhmin2m", "spfhmin_min2m", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "tmpmax2m", "tmax_max2m", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "tmpmin2m", "tmin_min2m", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "ssrun_acc", "ssrun_acc", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "sunsd_acc", "sunsd_acc", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "watr_acc", "watr_acc", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "wilt", "wilt", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "vbdsf_ave", "vbdsf_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "vddsf_ave", "vddsf_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "nbdsf_ave", "nbdsf_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "nddsf_ave", "nddsf_ave", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "trans_ave", "trans_ave", "fv3_history2d", "all", .false., "none", 2 +# Aerosols (CCN, IN) from Thompson microphysics +"gfs_phys", "nwfa", "nwfa", "fv3_history", "all", .false., "none", 2 +"gfs_phys", "nifa", "nifa", "fv3_history", "all", .false., "none", 2 +"gfs_sfc", "nwfa2d", "nwfa2d", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "nifa2d", "nifa2d", "fv3_history2d", "all", .false., "none", 2 +# Cloud effective radii from Thompson and WSM6 microphysics +"gfs_phys", "cleffr", "cleffr", "fv3_history", "all", .false., "none", 2 +"gfs_phys", "cieffr", "cieffr", "fv3_history", "all", .false., "none", 2 +"gfs_phys", "cseffr", "cseffr", "fv3_history", "all", .false., "none", 2 +# Prognostic/diagnostic variables from MYNN +"gfs_phys", "QC_BL", "qc_bl", "fv3_history", "all", .false., "none", 2 +"gfs_phys", "CLDFRA_BL", "cldfra_bl", "fv3_history", "all", .false., "none", 2 +"gfs_phys", "EL_PBL", "el_pbl", "fv3_history", "all", .false., "none", 2 +"gfs_phys", "QKE", "qke", "fv3_history", "all", .false., "none", 2 +"gfs_sfc", "maxmf", "maxmf", "fv3_history2d", "all", .false., "none", 2 +#"gfs_sfc", "nupdraft", "nupdrafts", "fv3_history2d", "all", .false., "none", 2 +#"gfs_sfc", "ktop_shallow", "ktop_shallow", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "zol", "zol", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "flhc", "flhc", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "flqc", "flqc", "fv3_history2d", "all", .false., "none", 2 +# Prognostic/diagnostic variables from RUC LSM +"gfs_sfc", "snowfall_acc", "snowfall_acc", "fv3_history2d", "all", .false., "none", 2 +"gfs_sfc", "swe_snowfall_acc", "swe_snowfall_acc", "fv3_history2d", "all", .false., "none", 2 + +#============================================================================================= +# +#====> This file can be used with diag_manager/v2.0a (or higher) <==== +# +# +# FORMATS FOR FILE ENTRIES (not all input values are used) +# ------------------------ +# +#"file_name", output_freq, "output_units", format, "time_units", "long_name", +# +# +#output_freq: > 0 output frequency in "output_units" +# = 0 output frequency every time step +# =-1 output frequency at end of run +# +#output_units = units used for output frequency +# (years, months, days, minutes, hours, seconds) +# +#time_units = units used to label the time axis +# (days, minutes, hours, seconds) +# +# +# FORMAT FOR FIELD ENTRIES (not all input values are used) +# ------------------------ +# +#"module_name", "field_name", "output_name", "file_name" "time_sampling", time_avg, "other_opts", packing +# +#time_avg = .true. or .false. +# +#packing = 1 double precision +# = 2 float +# = 4 packed 16-bit integers +# = 8 packed 1-byte (not tested?) diff --git a/ush/templates/field_table.FV3_RRFS_v1beta b/ush/templates/field_table.FV3_RRFS_v1beta new file mode 100644 index 000000000..0a927de45 --- /dev/null +++ b/ush/templates/field_table.FV3_RRFS_v1beta @@ -0,0 +1,65 @@ +# 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.e30" / +# 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=1.e30" / +# prognostic cloud ice number concentration + "TRACER", "atmos_mod", "ice_nc" + "longname", "cloud ice water number concentration" + "units", "/kg" + "profile_type", "fixed", "surface_value=1.e30" / +# prognostic rain number concentration + "TRACER", "atmos_mod", "rain_nc" + "longname", "rain number concentration" + "units", "/kg" + "profile_type", "fixed", "surface_value=1.e30" / +# 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=1.e30" / diff --git a/ush/templates/model_configure.FV3_RRFS_v1beta b/ush/templates/model_configure.FV3_RRFS_v1beta new file mode 100644 index 000000000..de2185635 --- /dev/null +++ b/ush/templates/model_configure.FV3_RRFS_v1beta @@ -0,0 +1,23 @@ +total_member: 1 +PE_MEMBER01: +start_year: +start_month: +start_day: +start_hour: +start_minute: 0 +start_second: 0 +nhours_fcst: +RUN_CONTINUE: .false. +ENS_SPS: .false. +dt_atmos: +cpl: .false. +calendar: 'julian' +memuse_verbose: .false. +atmos_nthreads: 2 +use_hyper_thread: .false. +ncores_per_node: +debug_affinity: .true. +restart_interval: 0 +output_1st_tstep_rst: .false. +quilting: +print_esmf: diff --git a/ush/valid_param_vals.sh b/ush/valid_param_vals.sh index 793c568c8..8ced8a070 100644 --- a/ush/valid_param_vals.sh +++ b/ush/valid_param_vals.sh @@ -29,6 +29,7 @@ valid_vals_CCPP_PHYS_SUITE=( \ "FV3_GFS_v15p2" \ "FV3_GFS_v16beta" \ "FV3_GSD_SAR_v1" \ +"FV3_RRFS_v1beta" \ "FV3_RRFS_v0" ) valid_vals_OZONE_PARAM_NO_CCPP=("ozphys_2015" "ozphys") valid_vals_GFDLgrid_RES=("48" "96" "192" "384" "768" "1152" "3072") From 26b866cb3a950b96b3d89d4929e635ecf8bebc64 Mon Sep 17 00:00:00 2001 From: "siwei.he" Date: Tue, 18 Aug 2020 23:00:40 +0000 Subject: [PATCH 2/6] remove config.sh --- ush/config.sh | 32 -------------------------------- 1 file changed, 32 deletions(-) delete mode 100644 ush/config.sh diff --git a/ush/config.sh b/ush/config.sh deleted file mode 100644 index 75459a452..000000000 --- a/ush/config.sh +++ /dev/null @@ -1,32 +0,0 @@ -MACHINE="hera" -ACCOUNT="gsd-fv3-test" -EXPT_SUBDIR="RRFS_v1beta" - -QUEUE_DEFAULT="batch" -QUEUE_HPSS="service" -QUEUE_FCST="batch" - -VERBOSE="TRUE" - -RUN_ENVIR="community" -PREEXISTING_DIR_METHOD="rename" - -PREDEF_GRID_NAME="GSD_HRRR25km" -GRID_GEN_METHOD="JPgrid" -QUILTING="TRUE" -USE_CCPP="TRUE" -CCPP_PHYS_SUITE="FV3_RRFS_v1beta" -FCST_LEN_HRS="06" -LBC_SPEC_INTVL_HRS="6" - -DATE_FIRST_CYCL="20190701" -DATE_LAST_CYCL="20190701" -CYCL_HRS=( "00" ) - -EXTRN_MDL_NAME_ICS="FV3GFS" -EXTRN_MDL_NAME_LBCS="FV3GFS" - -RUN_TASK_MAKE_GRID="TRUE" -RUN_TASK_MAKE_OROG="TRUE" -RUN_TASK_MAKE_SFC_CLIMO="TRUE" - From 8f09ac1a3f5a7cf3fe59ee2a0d82356e762c4ff1 Mon Sep 17 00:00:00 2001 From: "siwei.he" Date: Tue, 18 Aug 2020 23:17:06 +0000 Subject: [PATCH 3/6] revoke change on DT_ATMOS --- ush/set_predef_grid_params.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ush/set_predef_grid_params.sh b/ush/set_predef_grid_params.sh index 679cd21a2..55a162cd6 100644 --- a/ush/set_predef_grid_params.sh +++ b/ush/set_predef_grid_params.sh @@ -345,7 +345,7 @@ predefined domain: JPgrid_WIDE_HALO_WIDTH=6 - DT_ATMOS="40" + DT_ATMOS="300" LAYOUT_X="20" LAYOUT_Y="2" From feb09a176fb6a95a9c19377305e85241516e1672 Mon Sep 17 00:00:00 2001 From: "siwei.he" Date: Fri, 21 Aug 2020 21:24:33 +0000 Subject: [PATCH 4/6] add if condition for RRFS_v1beta --- scripts/exregional_run_fcst.sh | 38 ++++++++++++++++++---------------- ush/link_fix.sh | 16 ++++++++++---- 2 files changed, 32 insertions(+), 22 deletions(-) diff --git a/scripts/exregional_run_fcst.sh b/scripts/exregional_run_fcst.sh index c201675a3..b87449e18 100755 --- a/scripts/exregional_run_fcst.sh +++ b/scripts/exregional_run_fcst.sh @@ -253,24 +253,26 @@ Cannot create symlink because target does not exist: fi # two files for drag_suite scheme -# Symlink to orographic statistics fields file with "${CRES}_" and "halo0" stripped from name. -target="${FIXsar}/${CRES}${DOT_OR_USCORE}oro_data_ls.tile${TILE_RGNL}.halo${NH0}.nc" -symlink="oro_data_ls.nc" -if [ -f "${target}" ]; then - ln_vrfy -sf ${relative_or_null} $target $symlink -else - print_err_msg_exit "\ -Cannot create symlink because target does not exist: - target = \"$target}\"" -fi -target="${FIXsar}/${CRES}${DOT_OR_USCORE}oro_data_ss.tile${TILE_RGNL}.halo${NH0}.nc" -symlink="oro_data_ss.nc" -if [ -f "${target}" ]; then - ln_vrfy -sf ${relative_or_null} $target $symlink -else - print_err_msg_exit "\ -Cannot create symlink because target does not exist: - target = \"$target}\"" +if [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ]; then + # Symlink to orographic statistics fields file with "${CRES}_" and "halo0" stripped from name. + target="${FIXsar}/${CRES}${DOT_OR_USCORE}oro_data_ls.tile${TILE_RGNL}.halo${NH0}.nc" + symlink="oro_data_ls.nc" + if [ -f "${target}" ]; then + ln_vrfy -sf ${relative_or_null} $target $symlink + else + print_err_msg_exit "\ + Cannot create symlink because target does not exist: + target = \"$target}\"" + fi + target="${FIXsar}/${CRES}${DOT_OR_USCORE}oro_data_ss.tile${TILE_RGNL}.halo${NH0}.nc" + symlink="oro_data_ss.nc" + if [ -f "${target}" ]; then + ln_vrfy -sf ${relative_or_null} $target $symlink + else + print_err_msg_exit "\ + Cannot create symlink because target does not exist: + target = \"$target}\"" + fi fi # # Symlink to halo-4 orography file with "${CRES}_" stripped from name. diff --git a/ush/link_fix.sh b/ush/link_fix.sh index 17222ff4e..cc841c216 100755 --- a/ush/link_fix.sh +++ b/ush/link_fix.sh @@ -241,12 +241,20 @@ Creating links in the FIXsar directory to the grid files..." ;; # "orog") + if [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ]; then fns=( \ -"C*${DOT_OR_USCORE}oro_data.tile${TILE_RGNL}.halo${NH0}.nc" \ -"C*${DOT_OR_USCORE}oro_data.tile${TILE_RGNL}.halo${NH4}.nc" \ -"C*${DOT_OR_USCORE}oro_data_ss.tile${TILE_RGNL}.halo${NH0}.nc" \ -"C*${DOT_OR_USCORE}oro_data_ls.tile${TILE_RGNL}.halo${NH0}.nc" \ + "C*${DOT_OR_USCORE}oro_data.tile${TILE_RGNL}.halo${NH0}.nc" \ + "C*${DOT_OR_USCORE}oro_data.tile${TILE_RGNL}.halo${NH4}.nc" \ + "C*${DOT_OR_USCORE}oro_data_ss.tile${TILE_RGNL}.halo${NH0}.nc" \ + "C*${DOT_OR_USCORE}oro_data_ls.tile${TILE_RGNL}.halo${NH0}.nc" \ ) + else + fns=( \ + "C*${DOT_OR_USCORE}oro_data.tile${TILE_RGNL}.halo${NH0}.nc" \ + "C*${DOT_OR_USCORE}oro_data.tile${TILE_RGNL}.halo${NH4}.nc" \ + ) + fi + fps=( "${fns[@]/#/${OROG_DIR}/}" ) run_task="${RUN_TASK_MAKE_OROG}" ;; From 9eb7f59067e0d73aa549577663012cf43c971bb2 Mon Sep 17 00:00:00 2001 From: "siwei.he" Date: Fri, 21 Aug 2020 22:56:06 +0000 Subject: [PATCH 5/6] bug fix for atmos_nthreads --- ush/templates/model_configure.FV3_RRFS_v1beta | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ush/templates/model_configure.FV3_RRFS_v1beta b/ush/templates/model_configure.FV3_RRFS_v1beta index de2185635..083016571 100644 --- a/ush/templates/model_configure.FV3_RRFS_v1beta +++ b/ush/templates/model_configure.FV3_RRFS_v1beta @@ -13,7 +13,7 @@ dt_atmos: cpl: .false. calendar: 'julian' memuse_verbose: .false. -atmos_nthreads: 2 +atmos_nthreads: use_hyper_thread: .false. ncores_per_node: debug_affinity: .true. From 081dc3c0e979a204186470992d633275a0019ab5 Mon Sep 17 00:00:00 2001 From: "siwei.he" Date: Sat, 22 Aug 2020 03:54:49 +0000 Subject: [PATCH 6/6] FIXsar to FIXLAM --- scripts/exregional_run_fcst.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/exregional_run_fcst.sh b/scripts/exregional_run_fcst.sh index bf24e794b..8136710e9 100755 --- a/scripts/exregional_run_fcst.sh +++ b/scripts/exregional_run_fcst.sh @@ -255,7 +255,7 @@ fi # two files for drag_suite scheme if [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ]; then # Symlink to orographic statistics fields file with "${CRES}_" and "halo0" stripped from name. - target="${FIXsar}/${CRES}${DOT_OR_USCORE}oro_data_ls.tile${TILE_RGNL}.halo${NH0}.nc" + target="${FIXLAM}/${CRES}${DOT_OR_USCORE}oro_data_ls.tile${TILE_RGNL}.halo${NH0}.nc" symlink="oro_data_ls.nc" if [ -f "${target}" ]; then ln_vrfy -sf ${relative_or_null} $target $symlink @@ -264,7 +264,7 @@ if [ "${CCPP_PHYS_SUITE}" = "FV3_RRFS_v1beta" ]; then Cannot create symlink because target does not exist: target = \"$target}\"" fi - target="${FIXsar}/${CRES}${DOT_OR_USCORE}oro_data_ss.tile${TILE_RGNL}.halo${NH0}.nc" + target="${FIXLAM}/${CRES}${DOT_OR_USCORE}oro_data_ss.tile${TILE_RGNL}.halo${NH0}.nc" symlink="oro_data_ss.nc" if [ -f "${target}" ]; then ln_vrfy -sf ${relative_or_null} $target $symlink