diff --git a/modulefiles/module_gwsetup.wcoss2.lua b/modulefiles/module_gwsetup.wcoss2.lua index a2440569db..86bdad3c56 100644 --- a/modulefiles/module_gwsetup.wcoss2.lua +++ b/modulefiles/module_gwsetup.wcoss2.lua @@ -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") diff --git a/parm/archive/gefs_extracted_ocean.yaml.j2 b/parm/archive/gefs_extracted_ocean.yaml.j2 index e5e3b36e3b..2a5c73c102 100644 --- a/parm/archive/gefs_extracted_ocean.yaml.j2 +++ b/parm/archive/gefs_extracted_ocean.yaml.j2 @@ -13,11 +13,7 @@ gefs_ocean: {% do members.append("mem" ~ '%03d' % mem_nm ) %} {% endfor %} -{% if OCNRES == "025" %} - {% set res = "1p00" %} -{% else %} - {% set res = (OCNRES|string())[0] ~ "p" ~ (OCNRES|string())[-2:] %} -{% endif %} +{% set res = (OCNRES|string())[0] ~ "p" ~ (OCNRES|string())[-2:] %} {% for mem in members %} {% set tmpl_dict = ({ '${ROTDIR}':ROTDIR, diff --git a/parm/config/gefs/config.resources b/parm/config/gefs/config.resources index 5baa3a774b..b24fce618b 100644 --- a/parm/config/gefs/config.resources +++ b/parm/config/gefs/config.resources @@ -199,7 +199,7 @@ case ${step} in declare -x "walltime"="03:00:00" ;; "C384" | "C768" | "C1152") - declare -x "walltime"="06:00:00" + declare -x "walltime"="12:00:00" ;; *) echo "FATAL ERROR: Resources not defined for job ${step} at resolution ${CASE}" @@ -212,7 +212,7 @@ case ${step} in "atmos_products") - export walltime="00:15:00" + export walltime="15:00:00" export ntasks=24 export threads_per_task=1 export tasks_per_node="${ntasks}" @@ -220,7 +220,7 @@ case ${step} in ;; "atmos_ensstat") - export walltime="00:30:00" + export walltime="15:00:00" export ntasks=6 export threads_per_task=1 export tasks_per_node="${ntasks}" @@ -228,7 +228,7 @@ case ${step} in ;; "oceanice_products") - export walltime="00:15:00" + export walltime="15:00:00" export ntasks=1 export tasks_per_node=1 export threads_per_task=1 @@ -286,7 +286,7 @@ case ${step} in ;; "extractvars") - export walltime_gefs="00:30:00" + export walltime_gefs="15:00:00" export ntasks_gefs=1 export threads_per_task_gefs=1 export tasks_per_node_gefs="${ntasks_gefs}" diff --git a/parm/product/gefs.0p25.fFFF.paramlist.a.txt b/parm/product/gefs.0p25.fFFF.paramlist.a.txt index 520e30e6e9..982d71dd99 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: diff --git a/parm/product/gefs.0p25.fFFF.paramlist.b.txt b/parm/product/gefs.0p25.fFFF.paramlist.b.txt index 5c406ce34d..f0ed5b5cb9 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: diff --git a/parm/product/gefs_parmlist_masteracc06.parm b/parm/product/gefs_parmlist_masteracc06.parm index 50847e2b25..7c18560776 100644 --- a/parm/product/gefs_parmlist_masteracc06.parm +++ b/parm/product/gefs_parmlist_masteracc06.parm @@ -14,7 +14,7 @@ :PRATE:surface:0 :CPRAT:surface:0 :ALBDO:surface -:TCDC:entire +:TCDC:entire atmosphere (considered as a single layer):0-6 :TCDC:boundary :HCDC:high cloud layer:0-6 :MCDC:middle cloud layer:0-6 diff --git a/parm/product/gefs_shortparmlist_2d.parm b/parm/product/gefs_shortparmlist_2d.parm index bc13101926..b872f53461 100644 --- a/parm/product/gefs_shortparmlist_2d.parm +++ b/parm/product/gefs_shortparmlist_2d.parm @@ -36,3 +36,5 @@ :TSNOWP:surface: :FDNSSTMP:surface: :HGT:highest tropospheric freezing level: +:MAXUW:10 m above ground: +:MAXVW:10 m above ground: diff --git a/parm/ufs/fv3/diag_table_replay b/parm/ufs/fv3/diag_table_replay index 01f2cf9794..a1d869a548 100644 --- a/parm/ufs/fv3/diag_table_replay +++ b/parm/ufs/fv3/diag_table_replay @@ -231,7 +231,9 @@ ocean_model, "Heat_PmE", "Heat_PmE", "@[MOM6_OUTPUT_DIR]/ocn_lead1%4yr%2mo "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_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 51e1a108bb..e963f4b2f5 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 diff --git a/sorc/ufs_model.fd b/sorc/ufs_model.fd index fcc9f8461d..730771b680 160000 --- a/sorc/ufs_model.fd +++ b/sorc/ufs_model.fd @@ -1 +1 @@ -Subproject commit fcc9f8461db5eafbfd1f080da61ea79156ca0145 +Subproject commit 730771b6800e19757be2c2594efdc8680cbd2502 diff --git a/ush/atmos_extractvars.sh b/ush/atmos_extractvars.sh index 5fea8497c6..3b4203b82b 100755 --- a/ush/atmos_extractvars.sh +++ b/ush/atmos_extractvars.sh @@ -45,7 +45,7 @@ for outtype in "f2d" "f3d"; do fnh=$(printf "%3.3d" "${nh}") if [[ "${outtype}" == "f2d" ]]; then - if (( nh < FHMAX_HF_GFS )); then + if (( nh <= FHMAX_HF_GFS )); then outres="0p25" else outres="0p50"