From 0e117909c0f63f17e3d3698687b74ccbe026a4e1 Mon Sep 17 00:00:00 2001 From: "Eric.Sinsky" Date: Fri, 10 Jan 2025 20:58:40 +0000 Subject: [PATCH 1/7] Remove duplicate OCNSPPT and EPBL settings --- ush/parsing_namelists_FV3.sh | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/ush/parsing_namelists_FV3.sh b/ush/parsing_namelists_FV3.sh index bb6a204cc85..2628b035941 100755 --- a/ush/parsing_namelists_FV3.sh +++ b/ush/parsing_namelists_FV3.sh @@ -711,24 +711,6 @@ EOF EOF fi - if [[ "${DO_OCN_SPPT:-NO}" == "YES" ]]; then - cat >> input.nml <> input.nml <> input.nml << EOF / EOF From 2c020a92f78a019e78394d2d899ce86e570708e5 Mon Sep 17 00:00:00 2001 From: "Eric.Sinsky" Date: Fri, 10 Jan 2025 21:04:48 +0000 Subject: [PATCH 2/7] Add ensemble header information --- ush/forecast_predet.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/ush/forecast_predet.sh b/ush/forecast_predet.sh index 2b730fa7d6b..011eb6fe976 100755 --- a/ush/forecast_predet.sh +++ b/ush/forecast_predet.sh @@ -574,6 +574,16 @@ FV3_predet(){ ${NCP} "${PARMgfs}/post/sfs/postxconfig-NT-sfs.txt" "${DATA}/postxconfig-NT.txt" ${NCP} "${PARMgfs}/post/sfs/postxconfig-NT-sfs.txt" "${DATA}/postxconfig-NT_FH00.txt" fi + + memnum=$(echo "${ENSMEM}" | cut -c2-3) + if [[ "${ENSMEM}" == "000" ]]; then + export e1=1 + else + export e1=3 + fi + export e2=${memnum} + export e3=${NMEM_ENS} + fi } From 0ce87aef63b8c15a3b170475db6c6cf2943a6492 Mon Sep 17 00:00:00 2001 From: "Eric.Sinsky" Date: Fri, 10 Jan 2025 21:39:12 +0000 Subject: [PATCH 3/7] Add umax/vmax/wndmax to diag tables The umax, vmax and wndmax variables have been added to the diag tables. Also maxuw has been recognized as components of a vector variable in exglobal_atmos_products.sh. --- parm/ufs/fv3/diag_table | 3 +++ parm/ufs/fv3/diag_table_replay | 3 +++ scripts/exglobal_atmos_products.sh | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/parm/ufs/fv3/diag_table b/parm/ufs/fv3/diag_table index f44bfd82a4e..ba4f9c793d5 100644 --- a/parm/ufs/fv3/diag_table +++ b/parm/ufs/fv3/diag_table @@ -178,6 +178,9 @@ "gfs_phys", "u10m", "ugrd10m", "fv3_history2d", "all", .false., "none", 2 "gfs_phys", "v10m", "vgrd10m", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "wind10mmax", "wind10m_max", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "u10mmax", "u10m_max", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "v10mmax", "v10m_max", "fv3_history2d", "all", .false., "none", 2 "gfs_phys", "pahi", "pahi", "fv3_history2d", "all", .false., "none", 2 "gfs_phys", "pah_ave", "pah_ave", "fv3_history2d", "all", .false., "none", 2 "gfs_phys", "ecan_acc", "ecan_acc", "fv3_history2d", "all", .false., "none", 2 diff --git a/parm/ufs/fv3/diag_table_replay b/parm/ufs/fv3/diag_table_replay index 01f2cf9794c..e197510b34e 100644 --- a/parm/ufs/fv3/diag_table_replay +++ b/parm/ufs/fv3/diag_table_replay @@ -232,6 +232,9 @@ ocean_model, "Heat_PmE", "Heat_PmE", "@[MOM6_OUTPUT_DIR]/ocn_lead1%4yr%2mo "gfs_phys", "u10m", "ugrd10m", "fv3_history2d", "all", .false., "none", 2 "gfs_phys", "v10m", "vgrd10m", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "wind10mmax", "wind10m_max", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "u10mmax", "u10m_max", "fv3_history2d", "all", .false., "none", 2 +"gfs_phys", "v10mmax", "v10m_max", "fv3_history2d", "all", .false., "none", 2 "gfs_phys", "pahi", "pahi", "fv3_history2d", "all", .false., "none", 2 "gfs_phys", "pah_ave", "pah_ave", "fv3_history2d", "all", .false., "none", 2 "gfs_phys", "ecan_acc", "ecan_acc", "fv3_history2d", "all", .false., "none", 2 diff --git a/scripts/exglobal_atmos_products.sh b/scripts/exglobal_atmos_products.sh index 51e1a108bb8..e963f4b2f51 100755 --- a/scripts/exglobal_atmos_products.sh +++ b/scripts/exglobal_atmos_products.sh @@ -104,7 +104,7 @@ for (( nset=1 ; nset <= downset ; nset++ )); do # grep returns 1 if no match is found, so temporarily turn off exit on non-zero rc set +e # shellcheck disable=SC2312 - ${WGRIB2} -d "${last}" "${tmpfile}" | grep -E -i "ugrd|ustm|uflx|u-gwd|land" + ${WGRIB2} -d "${last}" "${tmpfile}" | grep -E -i "ugrd|ustm|uflx|u-gwd|land|maxuw" rc=$? set_strict if (( rc == 0 )); then # Matched the grep From 88e0b6ced7dc2370de2210342c9cb322f76f10bb Mon Sep 17 00:00:00 2001 From: "Eric.Sinsky" Date: Fri, 10 Jan 2025 21:42:27 +0000 Subject: [PATCH 4/7] Add umax/vmax/wndmax to gefs parm file --- parm/product/gefs.0p25.fFFF.paramlist.a.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/parm/product/gefs.0p25.fFFF.paramlist.a.txt b/parm/product/gefs.0p25.fFFF.paramlist.a.txt index 4bb87c32ff1..afe8464789b 100644 --- a/parm/product/gefs.0p25.fFFF.paramlist.a.txt +++ b/parm/product/gefs.0p25.fFFF.paramlist.a.txt @@ -38,3 +38,6 @@ :MSLET:mean sea level: :VIS:surface: :HGT:cloud ceiling: +:MAXUW:10 m above ground: +:MAXVW:10 m above ground: +:WIND:10 m above ground: From e9659697037215902bd854fcff11d16ea3afa405 Mon Sep 17 00:00:00 2001 From: "Eric.Sinsky" Date: Fri, 10 Jan 2025 21:50:49 +0000 Subject: [PATCH 5/7] Add AI/ML related variables to GEFS parm file --- parm/product/gefs.0p25.fFFF.paramlist.b.txt | 36 +++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/parm/product/gefs.0p25.fFFF.paramlist.b.txt b/parm/product/gefs.0p25.fFFF.paramlist.b.txt index 5c406ce34d8..f0ed5b5cb96 100644 --- a/parm/product/gefs.0p25.fFFF.paramlist.b.txt +++ b/parm/product/gefs.0p25.fFFF.paramlist.b.txt @@ -73,10 +73,13 @@ :HGT:100 mb: :HGT:10 mb: :HGT:1 mb: +:HGT:125 mb: :HGT:150 mb: +:HGT:175 mb: :HGT:200 mb: :HGT:20 mb: :HGT:2 mb: +:HGT:225 mb: :HGT:250 mb: :HGT:300 mb: :HGT:30 mb: @@ -94,8 +97,11 @@ :HGT:70 mb: :HGT:7 mb: :HGT:750 mb: +:HGT:775 mb: :HGT:800 mb: +:HGT:825 mb: :HGT:850 mb: +:HGT:875 mb: :HGT:900 mb: :HGT:925 mb: :HGT:950 mb: @@ -238,11 +244,14 @@ :SPFH:1 mb: :SPFH:120-90 mb above ground: :SPFH:150-120 mb above ground: +:SPFH:125 mb: :SPFH:150 mb: +:SPFH:175 mb: :SPFH:180-150 mb above ground: :SPFH:200 mb: :SPFH:20 mb: :SPFH:2 mb: +:SPFH:225 mb: :SPFH:250 mb: :SPFH:2 m above ground: :SPFH:300 mb: @@ -263,9 +272,12 @@ :SPFH:70 mb: :SPFH:7 mb: :SPFH:750 mb: +:SPFH:775 mb: :SPFH:800 mb: +:SPFH:825 mb: :SPFH:80 m above ground: :SPFH:850 mb: +:SPFH:875 mb: :SPFH:900 mb: :SPFH:90-60 mb above ground: :SPFH:925 mb: @@ -286,12 +298,15 @@ :TMP:1 mb: :TMP:120-90 mb above ground: :TMP:150-120 mb above ground: +:TMP:125 mb: :TMP:150 mb: +:TMP:175 mb: :TMP:180-150 mb above ground: :TMP:1829 m above mean sea level: :TMP:200 mb: :TMP:20 mb: :TMP:2 mb: +:TMP:225 mb: :TMP:250 mb: :TMP:2743 m above mean sea level: :TMP:300 mb: @@ -321,9 +336,12 @@ :TMP:70 mb: :TMP:7 mb: :TMP:750 mb: +:TMP:775 mb: :TMP:800 mb: :TMP:80 m above ground: +:TMP:825 mb: :TMP:850 mb: +:TMP:875 mb: :TMP:900 mb: :TMP:90-60 mb above ground: :TMP:914 m above mean sea level: @@ -354,14 +372,17 @@ :UGRD:1000 mb: :UGRD:100 m above ground: :UGRD:100 mb: +:UGRD:125 mb: :UGRD:10 mb: :UGRD:1 mb: :UGRD:120-90 mb above ground: :UGRD:150-120 mb above ground: :UGRD:150 mb: +:UGRD:175 mb: :UGRD:180-150 mb above ground: :UGRD:1829 m above mean sea level: :UGRD:200 mb: +:UGRD:225 mb: :UGRD:20 mb: :UGRD:2 mb: :UGRD:250 mb: @@ -393,9 +414,12 @@ :UGRD:70 mb: :UGRD:7 mb: :UGRD:750 mb: +:UGRD:775 mb: :UGRD:800 mb: :UGRD:80 m above ground: +:UGRD:825 mb: :UGRD:850 mb: +:UGRD:875 mb: :UGRD:900 mb: :UGRD:90-60 mb above ground: :UGRD:914 m above mean sea level: @@ -422,14 +446,17 @@ :VGRD:1000 mb: :VGRD:100 m above ground: :VGRD:100 mb: +:VGRD:125 mb: :VGRD:10 mb: :VGRD:1 mb: :VGRD:120-90 mb above ground: :VGRD:150-120 mb above ground: :VGRD:150 mb: +:VGRD:175 mb: :VGRD:180-150 mb above ground: :VGRD:1829 m above mean sea level: :VGRD:200 mb: +:VGRD:225 mb: :VGRD:20 mb: :VGRD:2 mb: :VGRD:250 mb: @@ -461,9 +488,12 @@ :VGRD:70 mb: :VGRD:7 mb: :VGRD:750 mb: +:VGRD:775 mb: :VGRD:800 mb: :VGRD:80 m above ground: +:VGRD:825 mb: :VGRD:850 mb: +:VGRD:875 mb: :VGRD:900 mb: :VGRD:90-60 mb above ground: :VGRD:914 m above mean sea level: @@ -497,8 +527,11 @@ :VVEL:70 mb: :VVEL:1000 mb: :VVEL:100 mb: +:VVEL:125 mb: :VVEL:150 mb: +:VVEL:175 mb: :VVEL:200 mb: +:VVEL:225 mb: :VVEL:250 mb: :VVEL:300 mb: :VVEL:350 mb: @@ -510,8 +543,11 @@ :VVEL:650 mb: :VVEL:700 mb: :VVEL:750 mb: +:VVEL:775 mb: :VVEL:800 mb: +:VVEL:825 mb: :VVEL:850 mb: +:VVEL:875 mb: :VVEL:900 mb: :VVEL:925 mb: :VVEL:950 mb: From 12725e04869886e5b30bfdd988e924f8f0671d2d Mon Sep 17 00:00:00 2001 From: "Eric.Sinsky" Date: Tue, 14 Jan 2025 17:33:03 +0000 Subject: [PATCH 6/7] Remove excess variables --- ush/forecast_predet.sh | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/ush/forecast_predet.sh b/ush/forecast_predet.sh index 011eb6fe976..ec6e3009ab2 100755 --- a/ush/forecast_predet.sh +++ b/ush/forecast_predet.sh @@ -575,14 +575,15 @@ FV3_predet(){ ${NCP} "${PARMgfs}/post/sfs/postxconfig-NT-sfs.txt" "${DATA}/postxconfig-NT_FH00.txt" fi - memnum=$(echo "${ENSMEM}" | cut -c2-3) - if [[ "${ENSMEM}" == "000" ]]; then - export e1=1 - else - export e1=3 + if [[ "${RUN}" == "gefs" ]]; then + if [[ "${ENSMEM}" == "000" ]]; then + export e1=1 + else + export e1=3 + fi + export e2="${ENSMEM:1:2}" + export e3="${NMEM_ENS}" fi - export e2=${memnum} - export e3=${NMEM_ENS} fi } From 5ef1af2ad8f04563b83a84e1cc32faca90bce12f Mon Sep 17 00:00:00 2001 From: "Eric.Sinsky" Date: Wed, 15 Jan 2025 12:51:21 +0000 Subject: [PATCH 7/7] Add comment briefly explaining ensemble header --- ush/forecast_predet.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/ush/forecast_predet.sh b/ush/forecast_predet.sh index ec6e3009ab2..fbe26595a99 100755 --- a/ush/forecast_predet.sh +++ b/ush/forecast_predet.sh @@ -575,6 +575,7 @@ FV3_predet(){ ${NCP} "${PARMgfs}/post/sfs/postxconfig-NT-sfs.txt" "${DATA}/postxconfig-NT_FH00.txt" fi + # For gefs run, provide ensemble header information if [[ "${RUN}" == "gefs" ]]; then if [[ "${ENSMEM}" == "000" ]]; then export e1=1