From fececaff97a16bc284b6314cea20113064596193 Mon Sep 17 00:00:00 2001 From: AntonMFernando-NOAA <167725623+AntonMFernando-NOAA@users.noreply.github.com> Date: Tue, 7 Jan 2025 10:56:05 -0500 Subject: [PATCH 1/5] Remove multi-grid wave support (#3188) # Description - Eliminate instances where `waveGRD` is a list containing multiple supported wave grids. Also, remove the associated for loops (e.g., `for wavGRD in ${waveGRD}; do`) - Resolves #2637 --- parm/config/gefs/config.wave | 20 +- parm/config/gfs/config.wave | 20 +- scripts/exgfs_wave_init.sh | 2 +- scripts/exgfs_wave_post_gridded_sbs.sh | 16 +- ush/forecast_postdet.sh | 25 +-- ush/forecast_predet.sh | 33 +-- ush/parsing_namelists_WW3.sh | 287 ++++++------------------- ush/parsing_ufs_configure.sh | 1 - ush/wave_grid_interp_sbs.sh | 5 +- 9 files changed, 81 insertions(+), 328 deletions(-) diff --git a/parm/config/gefs/config.wave b/parm/config/gefs/config.wave index 6a1529274a..be37e7edb2 100644 --- a/parm/config/gefs/config.wave +++ b/parm/config/gefs/config.wave @@ -16,28 +16,10 @@ export RUNwave="${RUN}wave" export RUNRSTwave="gdas" #grid dependent variable defaults -export waveGRDN='1' # grid number for ww3_multi -export waveGRDG='10' # grid group for ww3_multi -export USE_WAV_RMP='NO' # YES/NO rmp grid remapping pre-processed coefficients -export waveMULTIGRID='.false.' # .true./.false. for multi or shel export MESH_WAV="mesh.${waveGRD}.nc" # Mesh grid for wave model for CMEPS -export waveesmfGRD=' ' # input grid for multigrid #Grid dependent variables for various grids case "${waveGRD}" in - "gnh_10m;aoc_9km;gsh_15m") - #GFSv16 settings: - export waveGRDN='1 2 3' - export waveGRDG='10 20 30' - export USE_WAV_RMP='YES' - export waveMULTIGRID='.true.' - export IOSRV='3' - export MESH_WAV=' ' - export waveesmfGRD='glox_10m' - export waveuoutpGRD='points' - export waveinterpGRD='glo_15mxt at_10m ep_10m wc_10m glo_30m' - export wavepostGRD='gnh_10m aoc_9km gsh_15m' - ;; "gwes_30m") #Grid used for P8 export waveinterpGRD='' @@ -157,7 +139,7 @@ export WW3CURIENS='F' export GOFILETYPE=1 # GOFILETYPE=1 one gridded file per output step export POFILETYPE=1 # POFILETYPE=1 one point file per output step -# Parameters for ww3_multi/shel.inp +# Parameters for ww3_shel.inp # Unified output T or F export FUNIPNT='T' # Output server type (see ww3_shel/multi.inp in WW3 repo) diff --git a/parm/config/gfs/config.wave b/parm/config/gfs/config.wave index ea68508547..e792f45473 100644 --- a/parm/config/gfs/config.wave +++ b/parm/config/gfs/config.wave @@ -16,28 +16,10 @@ export RUNwave="${RUN}wave" export RUNRSTwave="gdas" #grid dependent variable defaults -export waveGRDN='1' # grid number for ww3_multi -export waveGRDG='10' # grid group for ww3_multi -export USE_WAV_RMP='NO' # YES/NO rmp grid remapping pre-processed coefficients -export waveMULTIGRID='.false.' # .true./.false. for multi or shel export MESH_WAV="mesh.${waveGRD}.nc" # Mesh grid for wave model for CMEPS -export waveesmfGRD=' ' # input grid for multigrid #Grid dependent variables for various grids case "${waveGRD}" in - "gnh_10m;aoc_9km;gsh_15m") - #GFSv16 settings: - export waveGRDN='1 2 3' - export waveGRDG='10 20 30' - export USE_WAV_RMP='YES' - export waveMULTIGRID='.true.' - export IOSRV='3' - export MESH_WAV=' ' - export waveesmfGRD='glox_10m' - export waveuoutpGRD='points' - export waveinterpGRD='glo_15mxt at_10m ep_10m wc_10m glo_30m' - export wavepostGRD='gnh_10m aoc_9km gsh_15m' - ;; "gwes_30m") #Grid used for P8 export waveinterpGRD='' @@ -187,7 +169,7 @@ export WW3CURIENS='F' export GOFILETYPE=1 # GOFILETYPE=1 one gridded file per output step export POFILETYPE=1 # POFILETYPE=1 one point file per output step -# Parameters for ww3_multi/shel.inp +# Parameters for ww3_shel.inp # Unified output T or F export FUNIPNT='T' # Output server type (see ww3_shel/multi.inp in WW3 repo) diff --git a/scripts/exgfs_wave_init.sh b/scripts/exgfs_wave_init.sh index 17e6cec042..dc174f258e 100755 --- a/scripts/exgfs_wave_init.sh +++ b/scripts/exgfs_wave_init.sh @@ -79,7 +79,7 @@ source "${USHgfs}/preamble.sh" chmod 744 cmdfile # Eliminate duplicate grids - array=($WAVECUR_FID $WAVEICE_FID $WAVEWND_FID $waveuoutpGRD $waveGRD $waveesmfGRD $wavepostGRD $waveinterpGRD) + array=($WAVECUR_FID $WAVEICE_FID $WAVEWND_FID $waveuoutpGRD $waveGRD $wavepostGRD $waveinterpGRD) grdALL=$(printf "%s\n" "${array[@]}" | sort -u | tr '\n' ' ') for grdID in ${grdALL}; do diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index a241a00d88..423d6af694 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -241,15 +241,13 @@ source "${USHgfs}/preamble.sh" if [ $fhr = $fhrg ] then - for wavGRD in ${waveGRD}; do - gfile="${COMIN_WAVE_HISTORY}/${WAV_MOD_TAG}.out_grd.${wavGRD}.${YMD}.${HMS}" - if [[ ! -s "${gfile}" ]]; then - echo " FATAL ERROR : NO RAW FIELD OUTPUT FILE ${gfile}" - err=3; export err; "${errchk}" - exit "${err}" - fi - ${NLN} "${gfile}" "./out_grd.${wavGRD}" - done + gfile="${COMIN_WAVE_HISTORY}/${WAV_MOD_TAG}.out_grd.${waveGRD}.${YMD}.${HMS}" + if [[ ! -s "${gfile}" ]]; then + echo " FATAL ERROR : NO RAW FIELD OUTPUT FILE ${gfile}" + err=3; export err; "${errchk}" + exit "${err}" + fi + ${NLN} "${gfile}" "./out_grd.${waveGRD}" if [ "$DOGRI_WAV" = 'YES' ] then diff --git a/ush/forecast_postdet.sh b/ush/forecast_postdet.sh index 432e6f690d..25cd4d36f0 100755 --- a/ush/forecast_postdet.sh +++ b/ush/forecast_postdet.sh @@ -375,14 +375,7 @@ WW3_postdet() { # Link output files local wavprfx="${RUN}wave${WAV_MEMBER:-}" - if [[ "${waveMULTIGRID}" == ".true." ]]; then - ${NLN} "${COMOUT_WAVE_HISTORY}/${wavprfx}.log.mww3.${PDY}${cyc}" "log.mww3" - for ww3_grid in ${waveGRD}; do - ${NLN} "${COMOUT_WAVE_HISTORY}/${wavprfx}.log.${ww3_grid}.${PDY}${cyc}" "log.${ww3_grid}" - done - else - ${NLN} "${COMOUT_WAVE_HISTORY}/${wavprfx}.log.${waveGRD}.${PDY}${cyc}" "log.ww3" - fi + ${NLN} "${COMOUT_WAVE_HISTORY}/${wavprfx}.log.${waveGRD}.${PDY}${cyc}" "log.ww3" # Loop for gridded output (uses FHINC) local fhr vdate FHINC ww3_grid @@ -390,13 +383,8 @@ WW3_postdet() { fhinc=${FHOUT_WAV} while (( fhr <= FHMAX_WAV )); do vdate=$(date --utc -d "${current_cycle:0:8} ${current_cycle:8:2} + ${fhr} hours" +%Y%m%d.%H0000) - if [[ "${waveMULTIGRID}" == ".true." ]]; then - for ww3_grid in ${waveGRD} ; do - ${NLN} "${COMOUT_WAVE_HISTORY}/${wavprfx}.out_grd.${ww3_grid}.${vdate}" "${DATA}/${vdate}.out_grd.${ww3_grid}" - done - else - ${NLN} "${COMOUT_WAVE_HISTORY}/${wavprfx}.out_grd.${waveGRD}.${vdate}" "${DATA}/${vdate}.out_grd.ww3" - fi + ${NLN} "${COMOUT_WAVE_HISTORY}/${wavprfx}.out_grd.${waveGRD}.${vdate}" "${DATA}/${vdate}.out_grd.ww3" + if (( FHMAX_HF_WAV > 0 && FHOUT_HF_WAV > 0 && fhr < FHMAX_HF_WAV )); then fhinc=${FHOUT_HF_WAV} fi @@ -408,11 +396,8 @@ WW3_postdet() { fhinc=${FHINCP_WAV} while (( fhr <= FHMAX_WAV )); do vdate=$(date --utc -d "${current_cycle:0:8} ${current_cycle:8:2} + ${fhr} hours" +%Y%m%d.%H0000) - if [[ "${waveMULTIGRID}" == ".true." ]]; then - ${NLN} "${COMOUT_WAVE_HISTORY}/${wavprfx}.out_pnt.${waveuoutpGRD}.${vdate}" "${DATA}/${vdate}.out_pnt.${waveuoutpGRD}" - else - ${NLN} "${COMOUT_WAVE_HISTORY}/${wavprfx}.out_pnt.${waveuoutpGRD}.${vdate}" "${DATA}/${vdate}.out_pnt.ww3" - fi + ${NLN} "${COMOUT_WAVE_HISTORY}/${wavprfx}.out_pnt.${waveuoutpGRD}.${vdate}" "${DATA}/${vdate}.out_pnt.ww3" + fhr=$((fhr + fhinc)) done } diff --git a/ush/forecast_predet.sh b/ush/forecast_predet.sh index 59afe483ea..14f32378c3 100755 --- a/ush/forecast_predet.sh +++ b/ush/forecast_predet.sh @@ -591,22 +591,9 @@ WW3_predet(){ # Files from wave prep and wave init jobs # Copy mod_def files for wave grids local ww3_grid - if [[ "${waveMULTIGRID}" == ".true." ]]; then - local array=("${WAVECUR_FID}" "${WAVEICE_FID}" "${WAVEWND_FID}" "${waveuoutpGRD}" "${waveGRD}" "${waveesmfGRD}") - echo "Wave Grids: ${array[*]}" - local grdALL - # shellcheck disable=SC2312 - grdALL=$(printf "%s\n" "${array[@]}" | sort -u | tr '\n' ' ') - - for ww3_grid in ${grdALL}; do - ${NCP} "${COMIN_WAVE_PREP}/${RUN}wave.mod_def.${ww3_grid}" "${DATA}/mod_def.${ww3_grid}" \ - || ( echo "FATAL ERROR: Failed to copy '${RUN}wave.mod_def.${ww3_grid}' from '${COMIN_WAVE_PREP}'"; exit 1 ) - done - else - #if shel, only 1 waveGRD which is linked to mod_def.ww3 - ${NCP} "${COMIN_WAVE_PREP}/${RUN}wave.mod_def.${waveGRD}" "${DATA}/mod_def.ww3" \ - || ( echo "FATAL ERROR: Failed to copy '${RUN}wave.mod_def.${waveGRD}' from '${COMIN_WAVE_PREP}'"; exit 1 ) - fi + #if shel, only 1 waveGRD which is linked to mod_def.ww3 + ${NCP} "${COMIN_WAVE_PREP}/${RUN}wave.mod_def.${waveGRD}" "${DATA}/mod_def.ww3" \ + || ( echo "FATAL ERROR: Failed to copy '${RUN}wave.mod_def.${waveGRD}' from '${COMIN_WAVE_PREP}'"; exit 1 ) if [[ "${WW3ICEINP}" == "YES" ]]; then local wavicefile="${COMIN_WAVE_PREP}/${RUN}wave.${WAVEICE_FID}.t${current_cycle:8:2}z.ice" @@ -638,20 +625,6 @@ WW3_predet(){ fi WAV_MOD_TAG="${RUN}wave${waveMEMB}" - if [[ "${USE_WAV_RMP:-YES}" == "YES" ]]; then - local file file_array file_count - # shellcheck disable=SC2312 - mapfile -t file_array < <(find "${FIXgfs}/wave" -name "rmp_src_to_dst_conserv_*" | sort) - file_count=${#file_array[@]} - if (( file_count > 0 )); then - for file in "${file_array[@]}" ; do - ${NCP} "${file}" "${DATA}/" - done - else - echo 'FATAL ERROR : No rmp precomputed nc files found for wave model, ABORT!' - exit 4 - fi - fi } # shellcheck disable=SC2034 diff --git a/ush/parsing_namelists_WW3.sh b/ush/parsing_namelists_WW3.sh index c57a90e50a..5ee4944c18 100755 --- a/ush/parsing_namelists_WW3.sh +++ b/ush/parsing_namelists_WW3.sh @@ -75,26 +75,14 @@ WW3_namelists(){ # --------------------------------------------------------------------------- # -# Create ww3_multi/shel.inp +# Create ww3_shel.inp - if [ $waveMULTIGRID = ".true." ]; then - # ww3_multi template - if [ -f ${PARMgfs}/wave/ww3_multi.inp.tmpl ]; then - cp ${PARMgfs}/wave/ww3_multi.inp.tmpl ww3_multi.inp.tmpl - fi - if [ ! -f ww3_multi.inp.tmpl ]; then - echo "ABNORMAL EXIT: NO TEMPLATE FOR WW3 MULTI INPUT FILE" - exit 11 - fi - else - # ww3_multi template - if [ -f ${PARMgfs}/wave/ww3_shel.inp.tmpl ]; then - cp ${PARMgfs}/wave/ww3_shel.inp.tmpl ww3_shel.inp.tmpl - fi - if [ ! -f ww3_shel.inp.tmpl ]; then - echo "ABNORMAL EXIT: NO TEMPLATE FOR WW3 SHEL INPUT FILE" - exit 12 - fi + if [ -f "${PARMgfs}/wave/ww3_shel.inp.tmpl" ]; then + cp "${PARMgfs}/wave/ww3_shel.inp.tmpl" "ww3_shel.inp.tmpl" + fi + if [ ! -f ww3_shel.inp.tmpl ]; then + echo "ABNORMAL EXIT: NO TEMPLATE FOR WW3 SHEL INPUT FILE" + exit 12 fi # Buoy location file @@ -114,213 +102,60 @@ WW3_namelists(){ exit 12 fi - - -if [ $waveMULTIGRID = ".true." ]; then -#multi - # Initialize inp file parameters - NFGRIDS=0 - NMGRIDS=0 - CPLILINE='$' - ICELINE='$' - ICEFLAG='no' - CURRLINE='$' - CURRFLAG='no' - WINDLINE='$' - WINDFLAG='no' - UNIPOINTS='$' - -# Check for required inputs and coupling options - if [ $waveuoutpGRD ] - then - UNIPOINTS="'$waveuoutpGRD'" - fi - -# Check if waveesmfGRD is set - if [ ${waveesmfGRD} ] - then - NFGRIDS=$(expr $NFGRIDS + 1) - fi - - case ${WW3ATMINP} in - 'YES' ) - NFGRIDS=$(expr $NFGRIDS + 1) - WINDLINE=" '$WAVEWND_FID' F F T F F F F F F" - WINDFLAG="$WAVEWND_FID" - ;; - 'CPL' ) - WNDIFLAG='T' - if [ ${waveesmfGRD} ] - then - WINDFLAG="CPL:${waveesmfGRD}" - CPLILINE=" '${waveesmfGRD}' F F T F F F F F F" - else - WINDFLAG="CPL:native" - fi - ;; - esac - - case ${WW3ICEINP} in - 'YES' ) - NFGRIDS=$(expr $NFGRIDS + 1) - ICEIFLAG='T' - ICELINE=" '$WAVEICE_FID' F F F T F F F F F" - ICEFLAG="$WAVEICE_FID" - ;; - 'CPL' ) - ICEIFLAG='T' - if [ ${waveesmfGRD} ] - then - ICEFLAG="CPL:${waveesmfGRD}" - CPLILINE=" '${waveesmfGRD}' F F ${WNDIFLAG} T F F F F F" - else - ICEFLAG="CPL:native" - fi - ;; - esac - - case ${WW3CURINP} in - 'YES' ) - if [ "$WAVECUR_FID" != "$WAVEICE_FID" ]; then - NFGRIDS=$(expr $NFGRIDS + 1) - CURRLINE=" '$WAVECUR_FID' F T F F F F F F F" - CURRFLAG="$WAVECUR_FID" - else # cur fields share the same grid as ice grid - ICELINE=" '$WAVEICE_FID' F T F ${ICEIFLAG} F F F F F" - CURRFLAG="$WAVEICE_FID" - fi - ;; - 'CPL' ) - CURIFLAG='T' - if [ ${waveesmfGRD} ] - then - CURRFLAG="CPL:${waveesmfGRD}" - CPLILINE=" '${waveesmfGRD}' F T ${WNDIFLAG} ${ICEFLAG} F F F F F" - else - CURRFLAG="CPL:native" - fi - ;; - esac - - unset agrid - agrid= - gline= - GRDN=0 -# grdGRP=1 # Single group for now - for grid in ${waveGRD} - do - GRDN=$(expr ${GRDN} + 1) - agrid=( ${agrid[*]} ${grid} ) - NMGRIDS=$(expr $NMGRIDS + 1) - gridN=$(echo $waveGRDN | awk -v i=$GRDN '{print $i}') - gridG=$(echo $waveGRDG | awk -v i=$GRDN '{print $i}') - gline="${gline}'${grid}' 'no' 'CURRFLAG' 'WINDFLAG' 'ICEFLAG' 'no' 'no' 'no' 'no' 'no' ${gridN} ${gridG} 0.00 1.00 F\n" - done - gline="${gline}\$" - echo $gline - - sed -e "s/NFGRIDS/$NFGRIDS/g" \ - -e "s/NMGRIDS/${NMGRIDS}/g" \ - -e "s/FUNIPNT/${FUNIPNT}/g" \ - -e "s/IOSRV/${IOSRV}/g" \ - -e "s/FPNTPROC/${FPNTPROC}/g" \ - -e "s/FGRDPROC/${FGRDPROC}/g" \ - -e "s/OUTPARS/${OUTPARS_WAV}/g" \ - -e "s/CPLILINE/${CPLILINE}/g" \ - -e "s/UNIPOINTS/${UNIPOINTS}/g" \ - -e "s/GRIDLINE/${gline}/g" \ - -e "s/ICELINE/$ICELINE/g" \ - -e "s/CURRLINE/$CURRLINE/g" \ - -e "s/WINDLINE/$WINDLINE/g" \ - -e "s/ICEFLAG/$ICEFLAG/g" \ - -e "s/CURRFLAG/$CURRFLAG/g" \ - -e "s/WINDFLAG/$WINDFLAG/g" \ - -e "s/RUN_BEG/$time_beg/g" \ - -e "s/RUN_END/$time_end/g" \ - -e "s/OUT_BEG/$time_beg_out/g" \ - -e "s/OUT_END/$time_end/g" \ - -e "s/DTFLD/ $DTFLD_WAV/g" \ - -e "s/FLAGMASKCOMP/ $FLAGMASKCOMP/g" \ - -e "s/FLAGMASKOUT/ $FLAGMASKOUT/g" \ - -e "s/GOFILETYPE/ $GOFILETYPE/g" \ - -e "s/POFILETYPE/ $POFILETYPE/g" \ - -e "s/DTPNT/ $DTPNT_WAV/g" \ - -e "/BUOY_FILE/r buoy.loc" \ - -e "s/BUOY_FILE/DUMMY/g" \ - -e "s/RST_BEG/$time_rst_ini/g" \ - -e "s/RSTTYPE/$RSTTYPE_WAV/g" \ - -e "s/RST_2_BEG/$time_rst2_ini/g" \ - -e "s/DTRST/$DT_1_RST_WAV/g" \ - -e "s/DT_2_RST/$DT_2_RST_WAV/g" \ - -e "s/RST_END/$time_rst1_end/g" \ - -e "s/RST_2_END/$time_rst2_end/g" \ - ww3_multi.inp.tmpl | \ - sed -n "/DUMMY/!p" > ww3_multi.inp - - rm -f ww3_multi.inp.tmpl buoy.loc - - cat ww3_multi.inp - -else - #ww3_shel - -# Initialize inp file parameters - ICELINE='F F' - CURRLINE='F F' - WINDLINE='F F' - - case ${WW3ATMINP} in - 'YES' ) - WINDLINE="T F";; - 'CPL' ) - WINDLINE="C F";; - esac - - case ${WW3ICEINP} in - 'YES' ) - ICELINE="T F";; - 'CPL' ) - ICELINE="C F";; - esac - - case ${WW3CURINP} in - 'YES' ) - CURRLINE="T F";; - 'CPL' ) - CURRLINE="C F";; - esac - - sed -e "s/IOSRV/${IOSRV}/g" \ - -e "s/OUTPARS/${OUTPARS_WAV}/g" \ - -e "s/ICELINE/$ICELINE/g" \ - -e "s/CURRLINE/$CURRLINE/g" \ - -e "s/WINDLINE/$WINDLINE/g" \ - -e "s/RUN_BEG/$time_beg/g" \ - -e "s/RUN_END/$time_end/g" \ - -e "s/OUT_BEG/$time_beg_out/g" \ - -e "s/OUT_END/$time_end/g" \ - -e "s/DTFLD/ $DTFLD_WAV/g" \ - -e "s/GOFILETYPE/ $GOFILETYPE/g" \ - -e "s/POFILETYPE/ $POFILETYPE/g" \ - -e "s/DTPNT/ $DTPNT_WAV/g" \ - -e "s/DTPNT/ $DTPNT_WAV/g" \ - -e "/BUOY_FILE/r buoy.loc" \ - -e "s/BUOY_FILE/DUMMY/g" \ - -e "s/RST_BEG/$time_rst_ini/g" \ - -e "s/RSTTYPE/$RSTTYPE_WAV/g" \ - -e "s/RST_2_BEG/$time_rst2_ini/g" \ - -e "s/DTRST/$DT_1_RST_WAV/g" \ - -e "s/DT_2_RST/$DT_2_RST_WAV/g" \ - -e "s/RST_END/$time_rst1_end/g" \ - -e "s/RST_2_END/$time_rst2_end/g" \ - ww3_shel.inp.tmpl | \ - sed -n "/DUMMY/!p" > ww3_shel.inp - - rm -f ww3_shel.inp.tmpl buoy.loc - - cat ww3_shel.inp - -fi +ICELINE='F F' +CURRLINE='F F' +WINDLINE='F F' + +case ${WW3ATMINP} in + 'YES' ) + WINDLINE="T F";; + 'CPL' ) + WINDLINE="C F";; +esac + +case ${WW3ICEINP} in + 'YES' ) + ICELINE="T F";; + 'CPL' ) + ICELINE="C F";; +esac + +case ${WW3CURINP} in + 'YES' ) + CURRLINE="T F";; + 'CPL' ) + CURRLINE="C F";; +esac + +sed -e "s/IOSRV/${IOSRV}/g" \ + -e "s/OUTPARS/${OUTPARS_WAV}/g" \ + -e "s/ICELINE/$ICELINE/g" \ + -e "s/CURRLINE/$CURRLINE/g" \ + -e "s/WINDLINE/$WINDLINE/g" \ + -e "s/RUN_BEG/$time_beg/g" \ + -e "s/RUN_END/$time_end/g" \ + -e "s/OUT_BEG/$time_beg_out/g" \ + -e "s/OUT_END/$time_end/g" \ + -e "s/DTFLD/ $DTFLD_WAV/g" \ + -e "s/GOFILETYPE/ $GOFILETYPE/g" \ + -e "s/POFILETYPE/ $POFILETYPE/g" \ + -e "s/DTPNT/ $DTPNT_WAV/g" \ + -e "s/DTPNT/ $DTPNT_WAV/g" \ + -e "/BUOY_FILE/r buoy.loc" \ + -e "s/BUOY_FILE/DUMMY/g" \ + -e "s/RST_BEG/$time_rst_ini/g" \ + -e "s/RSTTYPE/$RSTTYPE_WAV/g" \ + -e "s/RST_2_BEG/$time_rst2_ini/g" \ + -e "s/DTRST/$DT_1_RST_WAV/g" \ + -e "s/DT_2_RST/$DT_2_RST_WAV/g" \ + -e "s/RST_END/$time_rst1_end/g" \ + -e "s/RST_2_END/$time_rst2_end/g" \ + ww3_shel.inp.tmpl | \ +sed -n "/DUMMY/!p" > ww3_shel.inp + +rm -f ww3_shel.inp.tmpl buoy.loc + +cat ww3_shel.inp } diff --git a/ush/parsing_ufs_configure.sh b/ush/parsing_ufs_configure.sh index d8276476c4..7ee699ef0a 100755 --- a/ush/parsing_ufs_configure.sh +++ b/ush/parsing_ufs_configure.sh @@ -74,7 +74,6 @@ if [[ "${cplwav}" = ".true." ]]; then local wav_model="ww3" local wav_petlist_bounds="$(( ATMPETS+OCNPETS+ICEPETS )) $(( ATMPETS+OCNPETS+ICEPETS+WAVPETS-1 ))" local wav_omp_num_threads="${WAVTHREADS}" - local MULTIGRID="${waveMULTIGRID}" local WW3_user_sets_restname="false" local WW3_user_histname="false" diff --git a/ush/wave_grid_interp_sbs.sh b/ush/wave_grid_interp_sbs.sh index d56c5d0763..c046afb2e9 100755 --- a/ush/wave_grid_interp_sbs.sh +++ b/ush/wave_grid_interp_sbs.sh @@ -89,13 +89,12 @@ source "${USHgfs}/preamble.sh" fi ${NLN} "${DATA}/${grdID}_interp.inp.tmpl" "${grdID}_interp.inp.tmpl" - for ID in ${waveGRD}; do - ${NLN} "${DATA}/output_${ymdh}0000/out_grd.${ID}" "out_grd.${ID}" - done + ${NLN} "${DATA}/output_${ymdh}0000/out_grd.${waveGRD}" "out_grd.${waveGRD}" for ID in ${waveGRD} ${grdID}; do ${NLN} "${DATA}/mod_def.${ID}" "mod_def.${ID}" done + # --------------------------------------------------------------------------- # # 1. Generate GRID file with all data From f1afac99e738e7df688f3878902af7e0b1d09ec8 Mon Sep 17 00:00:00 2001 From: Christopher Hill <102273578+ChristopherHill-NOAA@users.noreply.github.com> Date: Tue, 7 Jan 2025 14:49:32 -0500 Subject: [PATCH 2/5] Remove 5WAVH from AWIPS GRIB2 parm files (#3146) # Description As referred within #3019, the variable 5WAVH is being removed from each of the files `parm/wmo/grib2_awpgfs[000-240].003` and `parm/wmo/grib2_awpgfs_20km_[ak,conus,pac,prico]f000` for the purpose of remedying "error code 30" that was generated through the execution of `exgfs_atmos_awips_20km_1p0deg.sh` during the GFSv17 HR4 test run. Obsolete code is also being removed from the script `exgfs_atmos_awips_20km_1p0deg.sh`. No other errors mentioned in #3019 are addressed in this PR. # Type of change - [x] Bug fix (fixes something broken) - [ ] New feature (adds functionality) - [ ] Maintenance (code refactor, clean-up, new CI test, etc.) # Change characteristics - Is this a breaking change (a change in existing functionality)? NO - Does this change require a documentation update? NO - Does this change require an update to any of the following submodules? NO (If YES, please add a link to any PRs that are pending.) - [ ] EMC verif-global - [ ] GDAS - [ ] GFS-utils - [ ] GSI - [ ] GSI-monitor - [ ] GSI-utils - [ ] UFS-utils - [ ] UFS-weather-model - [ ] wxflow # How has this been tested? Removal of variable 5WAVH from the GRIB2 files should allow completion of TOCGRIB2 processing (within `exgfs_atmos_awips_20km_1p0deg.sh`) of the GRIB2 files. @RuiyuSun, or the GW team, may wish to include the requested modifications for future GFSv17 tests that include post-processing jobs. # Checklist - [ ] Any dependent changes have been merged and published - [ ] My code follows the style guidelines of this project - [ ] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have documented my code, including function, input, and output descriptions - [ ] My changes generate no new warnings - [ ] New and existing tests pass with my changes - [ ] This change is covered by an existing CI test or a new one has been added - [ ] Any new scripts have been added to the .github/CODEOWNERS file with owners - [ ] I have made corresponding changes to the system documentation if necessary Co-authored-by: christopher hill Co-authored-by: Rahul Mahajan Co-authored-by: David Huber <69919478+DavidHuber-NOAA@users.noreply.github.com> --- parm/wmo/grib2_awpgfs000.003 | 1 - parm/wmo/grib2_awpgfs006.003 | 1 - parm/wmo/grib2_awpgfs012.003 | 1 - parm/wmo/grib2_awpgfs018.003 | 1 - parm/wmo/grib2_awpgfs024.003 | 1 - parm/wmo/grib2_awpgfs030.003 | 1 - parm/wmo/grib2_awpgfs036.003 | 1 - parm/wmo/grib2_awpgfs042.003 | 1 - parm/wmo/grib2_awpgfs048.003 | 1 - parm/wmo/grib2_awpgfs054.003 | 1 - parm/wmo/grib2_awpgfs060.003 | 1 - parm/wmo/grib2_awpgfs066.003 | 1 - parm/wmo/grib2_awpgfs072.003 | 1 - parm/wmo/grib2_awpgfs078.003 | 1 - parm/wmo/grib2_awpgfs084.003 | 1 - parm/wmo/grib2_awpgfs090.003 | 1 - parm/wmo/grib2_awpgfs096.003 | 1 - parm/wmo/grib2_awpgfs102.003 | 1 - parm/wmo/grib2_awpgfs108.003 | 1 - parm/wmo/grib2_awpgfs114.003 | 1 - parm/wmo/grib2_awpgfs120.003 | 1 - parm/wmo/grib2_awpgfs126.003 | 1 - parm/wmo/grib2_awpgfs132.003 | 1 - parm/wmo/grib2_awpgfs138.003 | 1 - parm/wmo/grib2_awpgfs144.003 | 1 - parm/wmo/grib2_awpgfs150.003 | 1 - parm/wmo/grib2_awpgfs156.003 | 1 - parm/wmo/grib2_awpgfs162.003 | 1 - parm/wmo/grib2_awpgfs168.003 | 1 - parm/wmo/grib2_awpgfs174.003 | 1 - parm/wmo/grib2_awpgfs180.003 | 1 - parm/wmo/grib2_awpgfs186.003 | 1 - parm/wmo/grib2_awpgfs192.003 | 1 - parm/wmo/grib2_awpgfs198.003 | 1 - parm/wmo/grib2_awpgfs204.003 | 1 - parm/wmo/grib2_awpgfs210.003 | 1 - parm/wmo/grib2_awpgfs216.003 | 1 - parm/wmo/grib2_awpgfs222.003 | 1 - parm/wmo/grib2_awpgfs228.003 | 1 - parm/wmo/grib2_awpgfs234.003 | 1 - parm/wmo/grib2_awpgfs240.003 | 1 - parm/wmo/grib2_awpgfs_20km_akf000 | 1 - parm/wmo/grib2_awpgfs_20km_conusf000 | 1 - parm/wmo/grib2_awpgfs_20km_pacf000 | 1 - parm/wmo/grib2_awpgfs_20km_pricof000 | 1 - scripts/exgfs_atmos_awips_20km_1p0deg.sh | 10 ---------- 46 files changed, 55 deletions(-) diff --git a/parm/wmo/grib2_awpgfs000.003 b/parm/wmo/grib2_awpgfs000.003 index 941ecf6e70..c3a317d241 100644 --- a/parm/wmo/grib2_awpgfs000.003 +++ b/parm/wmo/grib2_awpgfs000.003 @@ -104,4 +104,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPA92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 81 0 0 1 0 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPA92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 81 0 0 1 0 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPA92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 81 0 0 1 0 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPA50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 81 0 0 1 0 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs006.003 b/parm/wmo/grib2_awpgfs006.003 index 58fe211e0d..bdfeaab370 100644 --- a/parm/wmo/grib2_awpgfs006.003 +++ b/parm/wmo/grib2_awpgfs006.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPB92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 6 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPB92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 6 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPB92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 6 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPB50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 6 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs012.003 b/parm/wmo/grib2_awpgfs012.003 index 8c94bb7044..b367878e63 100644 --- a/parm/wmo/grib2_awpgfs012.003 +++ b/parm/wmo/grib2_awpgfs012.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPC92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 12 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPC92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 12 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPC92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 12 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPC50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 12 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs018.003 b/parm/wmo/grib2_awpgfs018.003 index 845f26a747..d89f2d2c73 100644 --- a/parm/wmo/grib2_awpgfs018.003 +++ b/parm/wmo/grib2_awpgfs018.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPD92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 18 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPD92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 18 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPD92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 18 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPD50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 18 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs024.003 b/parm/wmo/grib2_awpgfs024.003 index 56eadc6903..e446f48766 100644 --- a/parm/wmo/grib2_awpgfs024.003 +++ b/parm/wmo/grib2_awpgfs024.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPE92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 24 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPE92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 24 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPE92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 24 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPE50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 24 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs030.003 b/parm/wmo/grib2_awpgfs030.003 index d2d37c03b0..59081135d7 100644 --- a/parm/wmo/grib2_awpgfs030.003 +++ b/parm/wmo/grib2_awpgfs030.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPF92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 30 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPF92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 30 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPF92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 30 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPF50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 30 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs036.003 b/parm/wmo/grib2_awpgfs036.003 index 7cbe4d0aaf..4c18e96a12 100644 --- a/parm/wmo/grib2_awpgfs036.003 +++ b/parm/wmo/grib2_awpgfs036.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPG92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 36 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPG92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 36 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPG92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 36 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPG50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 36 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs042.003 b/parm/wmo/grib2_awpgfs042.003 index 1be18748b3..ad2a74b711 100644 --- a/parm/wmo/grib2_awpgfs042.003 +++ b/parm/wmo/grib2_awpgfs042.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPH92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 42 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPH92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 42 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPH92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 42 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPH50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 42 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs048.003 b/parm/wmo/grib2_awpgfs048.003 index d5fce80054..131398d546 100644 --- a/parm/wmo/grib2_awpgfs048.003 +++ b/parm/wmo/grib2_awpgfs048.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPI92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 48 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPI92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 48 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPI92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 48 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPI50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 48 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs054.003 b/parm/wmo/grib2_awpgfs054.003 index 92069b8110..1fa69592ea 100644 --- a/parm/wmo/grib2_awpgfs054.003 +++ b/parm/wmo/grib2_awpgfs054.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='ZRPM92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 54 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='ZUPM92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 54 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='ZVPM92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 54 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='ZHPM50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 54 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs060.003 b/parm/wmo/grib2_awpgfs060.003 index 6c5d7edf6c..a6bfd58475 100644 --- a/parm/wmo/grib2_awpgfs060.003 +++ b/parm/wmo/grib2_awpgfs060.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPJ92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 60 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPJ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 60 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPJ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 60 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPJ50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 60 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs066.003 b/parm/wmo/grib2_awpgfs066.003 index d322d35665..546db96456 100644 --- a/parm/wmo/grib2_awpgfs066.003 +++ b/parm/wmo/grib2_awpgfs066.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='ZRPN92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 66 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='ZUPN92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 66 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='ZVPN92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 66 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='ZHPN50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 66 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs072.003 b/parm/wmo/grib2_awpgfs072.003 index 3a7a4c48d8..fbab37a632 100644 --- a/parm/wmo/grib2_awpgfs072.003 +++ b/parm/wmo/grib2_awpgfs072.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPK92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 72 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPK92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 72 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPK92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 72 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPK50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 72 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs078.003 b/parm/wmo/grib2_awpgfs078.003 index 3556e82380..3b94cf4346 100644 --- a/parm/wmo/grib2_awpgfs078.003 +++ b/parm/wmo/grib2_awpgfs078.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='ZRPT92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 78 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='ZUPT92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 78 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='ZVPT92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 78 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='ZHPT50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 78 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs084.003 b/parm/wmo/grib2_awpgfs084.003 index 3f3d88eab2..20777aee0f 100644 --- a/parm/wmo/grib2_awpgfs084.003 +++ b/parm/wmo/grib2_awpgfs084.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPL92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 84 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPL92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 84 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPL92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 84 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPL50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 84 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs090.003 b/parm/wmo/grib2_awpgfs090.003 index dc606a19b2..8e1709bbf3 100644 --- a/parm/wmo/grib2_awpgfs090.003 +++ b/parm/wmo/grib2_awpgfs090.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='ZRPU92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 90 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='ZUPU92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 90 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='ZVPU92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 90 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='ZHPU50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 90 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs096.003 b/parm/wmo/grib2_awpgfs096.003 index 02adbff282..95e7388125 100644 --- a/parm/wmo/grib2_awpgfs096.003 +++ b/parm/wmo/grib2_awpgfs096.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPM92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 96 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPM92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 96 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPM92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 96 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPM50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 96 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs102.003 b/parm/wmo/grib2_awpgfs102.003 index 7cecc5b074..feab0338d4 100644 --- a/parm/wmo/grib2_awpgfs102.003 +++ b/parm/wmo/grib2_awpgfs102.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='ZRPV92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 102 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='ZUPV92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 102 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='ZVPV92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 102 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='ZHPV50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 102 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs108.003 b/parm/wmo/grib2_awpgfs108.003 index 492e984f97..aa2a66f3a7 100644 --- a/parm/wmo/grib2_awpgfs108.003 +++ b/parm/wmo/grib2_awpgfs108.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPN92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 108 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPN92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 108 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPN92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 108 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPN50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 108 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs114.003 b/parm/wmo/grib2_awpgfs114.003 index 181cb2e21e..5f7606ddf4 100644 --- a/parm/wmo/grib2_awpgfs114.003 +++ b/parm/wmo/grib2_awpgfs114.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='ZRPW92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 114 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='ZUPW92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 114 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='ZVPW92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 114 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='ZHPW50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 114 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs120.003 b/parm/wmo/grib2_awpgfs120.003 index 976ce08024..a42df185ea 100644 --- a/parm/wmo/grib2_awpgfs120.003 +++ b/parm/wmo/grib2_awpgfs120.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPO92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 120 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPO92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 120 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPO92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 120 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPO50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 120 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs126.003 b/parm/wmo/grib2_awpgfs126.003 index 23742cdaf5..8f3f91c909 100644 --- a/parm/wmo/grib2_awpgfs126.003 +++ b/parm/wmo/grib2_awpgfs126.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='ZRPZ92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 126 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='ZUPZ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 126 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='ZVPZ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 126 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='ZHPZ50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 126 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs132.003 b/parm/wmo/grib2_awpgfs132.003 index 0556a4bc19..dfa0a4e8f6 100644 --- a/parm/wmo/grib2_awpgfs132.003 +++ b/parm/wmo/grib2_awpgfs132.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPP92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 132 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPP92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 132 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPP92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 132 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPP50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 132 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs138.003 b/parm/wmo/grib2_awpgfs138.003 index 98a5813a3a..8835cbfc72 100644 --- a/parm/wmo/grib2_awpgfs138.003 +++ b/parm/wmo/grib2_awpgfs138.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='ZRPZ92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 138 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='ZUPZ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 138 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='ZVPZ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 138 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='ZHPZ50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 138 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs144.003 b/parm/wmo/grib2_awpgfs144.003 index ba83e0134a..1ac08b6b5a 100644 --- a/parm/wmo/grib2_awpgfs144.003 +++ b/parm/wmo/grib2_awpgfs144.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPQ92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 144 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPQ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 144 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPQ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 144 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPQ50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 144 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs150.003 b/parm/wmo/grib2_awpgfs150.003 index 67fce65ebd..b2162cced0 100644 --- a/parm/wmo/grib2_awpgfs150.003 +++ b/parm/wmo/grib2_awpgfs150.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='ZRPZ92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 150 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='ZUPZ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 150 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='ZVPZ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 150 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='ZHPZ50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 150 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs156.003 b/parm/wmo/grib2_awpgfs156.003 index 1ca86738dd..c357fb88cc 100644 --- a/parm/wmo/grib2_awpgfs156.003 +++ b/parm/wmo/grib2_awpgfs156.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPR92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 156 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPR92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 156 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPR92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 156 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPR50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 156 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs162.003 b/parm/wmo/grib2_awpgfs162.003 index 3f6efb6e22..3cafb1e7b8 100644 --- a/parm/wmo/grib2_awpgfs162.003 +++ b/parm/wmo/grib2_awpgfs162.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='ZRPZ92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 162 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='ZUPZ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 162 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='ZVPZ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 162 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='ZHPZ50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 162 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs168.003 b/parm/wmo/grib2_awpgfs168.003 index 2f9e5913d6..29c3278f35 100644 --- a/parm/wmo/grib2_awpgfs168.003 +++ b/parm/wmo/grib2_awpgfs168.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPS92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 168 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPS92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 168 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPS92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 168 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPS50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 168 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs174.003 b/parm/wmo/grib2_awpgfs174.003 index eb54a49f35..c6b9c97775 100644 --- a/parm/wmo/grib2_awpgfs174.003 +++ b/parm/wmo/grib2_awpgfs174.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='ZRPZ92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 174 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='ZUPZ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 174 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='ZVPZ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 174 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='ZHPZ50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 174 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs180.003 b/parm/wmo/grib2_awpgfs180.003 index 47670ca178..dce38df27f 100644 --- a/parm/wmo/grib2_awpgfs180.003 +++ b/parm/wmo/grib2_awpgfs180.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPT92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 180 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPT92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 180 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPT92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 180 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPT50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 180 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs186.003 b/parm/wmo/grib2_awpgfs186.003 index 10f3239a15..370b9ce6e8 100644 --- a/parm/wmo/grib2_awpgfs186.003 +++ b/parm/wmo/grib2_awpgfs186.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='ZRPZ92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 186 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='ZUPZ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 186 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='ZVPZ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 186 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='ZHPZ50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 186 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs192.003 b/parm/wmo/grib2_awpgfs192.003 index d3a9638d5e..0a5bd27aca 100644 --- a/parm/wmo/grib2_awpgfs192.003 +++ b/parm/wmo/grib2_awpgfs192.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPU92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 192 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPU92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 192 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPU92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 192 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPU50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 192 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs198.003 b/parm/wmo/grib2_awpgfs198.003 index 9b587fb043..87036abba8 100644 --- a/parm/wmo/grib2_awpgfs198.003 +++ b/parm/wmo/grib2_awpgfs198.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='ZRPZ92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 198 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='ZUPZ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 198 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='ZVPZ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 198 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='ZHPZ50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 198 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs204.003 b/parm/wmo/grib2_awpgfs204.003 index 38551e7392..abf45424ea 100644 --- a/parm/wmo/grib2_awpgfs204.003 +++ b/parm/wmo/grib2_awpgfs204.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPV92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 204 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPV92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 204 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPV92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 204 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPV50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 204 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs210.003 b/parm/wmo/grib2_awpgfs210.003 index 45d617ec9b..74791a663f 100644 --- a/parm/wmo/grib2_awpgfs210.003 +++ b/parm/wmo/grib2_awpgfs210.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='ZRPZ92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 210 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='ZUPZ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 210 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='ZVPZ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 210 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='ZHPZ50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 210 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs216.003 b/parm/wmo/grib2_awpgfs216.003 index 16de54e624..dca67d2056 100644 --- a/parm/wmo/grib2_awpgfs216.003 +++ b/parm/wmo/grib2_awpgfs216.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPW92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 216 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPW92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 216 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPW92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 216 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPW50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 216 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs222.003 b/parm/wmo/grib2_awpgfs222.003 index e0d027c13d..d96242c1cb 100644 --- a/parm/wmo/grib2_awpgfs222.003 +++ b/parm/wmo/grib2_awpgfs222.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='ZRPZ92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 222 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='ZUPZ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 222 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='ZVPZ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 222 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='ZHPZ50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 222 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs228.003 b/parm/wmo/grib2_awpgfs228.003 index 0309033c14..22e419660c 100644 --- a/parm/wmo/grib2_awpgfs228.003 +++ b/parm/wmo/grib2_awpgfs228.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPX92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 228 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPX92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 228 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPX92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 228 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPX50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 228 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs234.003 b/parm/wmo/grib2_awpgfs234.003 index 36df325d44..6a6a4a89d9 100644 --- a/parm/wmo/grib2_awpgfs234.003 +++ b/parm/wmo/grib2_awpgfs234.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='ZRPZ92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 234 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='ZUPZ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 234 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='ZVPZ92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 234 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='ZHPZ50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 234 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs240.003 b/parm/wmo/grib2_awpgfs240.003 index b55f8d2194..4fe553764e 100644 --- a/parm/wmo/grib2_awpgfs240.003 +++ b/parm/wmo/grib2_awpgfs240.003 @@ -106,4 +106,3 @@ &GRIBIDS DESC=' R H 925 mb ',WMOHEAD='YRPY92 KWBC',PDTN= 0 ,PDT= 1 1 2 0 96 0 0 1 240 100 0 92500 255 0 0 / &GRIBIDS DESC=' U GRD 925 mb ',WMOHEAD='YUPY92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 96 0 0 1 240 100 0 92500 255 0 0 / &GRIBIDS DESC=' V GRD 925 mb ',WMOHEAD='YVPY92 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 96 0 0 1 240 100 0 92500 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHPY50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 96 0 0 1 240 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs_20km_akf000 b/parm/wmo/grib2_awpgfs_20km_akf000 index 10205f0c3a..d44d417e36 100644 --- a/parm/wmo/grib2_awpgfs_20km_akf000 +++ b/parm/wmo/grib2_awpgfs_20km_akf000 @@ -244,4 +244,3 @@ &GRIBIDS DESC=' R H 2 m above ground ',WMOHEAD='YRBA98 KWBC',PDTN= 0 ,PDT= 1 1 2 0 81 0 0 1 0 103 0 2 255 0 0 / &GRIBIDS DESC=' U GRD 10 m above ground ',WMOHEAD='YUBA98 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 81 0 0 1 0 103 0 10 255 0 0 / &GRIBIDS DESC=' V GRD 10 m above ground ',WMOHEAD='YVBA98 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 81 0 0 1 0 103 0 10 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHBA50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 81 0 0 1 0 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs_20km_conusf000 b/parm/wmo/grib2_awpgfs_20km_conusf000 index 7f01e5c1e5..4eab5f3dbf 100644 --- a/parm/wmo/grib2_awpgfs_20km_conusf000 +++ b/parm/wmo/grib2_awpgfs_20km_conusf000 @@ -244,4 +244,3 @@ &GRIBIDS DESC=' R H 2 m above ground ',WMOHEAD='YRNA98 KWBC',PDTN= 0 ,PDT= 1 1 2 0 81 0 0 1 0 103 0 2 255 0 0 / &GRIBIDS DESC=' U GRD 10 m above ground ',WMOHEAD='YUNA98 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 81 0 0 1 0 103 0 10 255 0 0 / &GRIBIDS DESC=' V GRD 10 m above ground ',WMOHEAD='YVNA98 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 81 0 0 1 0 103 0 10 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHNA50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 81 0 0 1 0 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs_20km_pacf000 b/parm/wmo/grib2_awpgfs_20km_pacf000 index c7fa00a405..f7d8962a07 100644 --- a/parm/wmo/grib2_awpgfs_20km_pacf000 +++ b/parm/wmo/grib2_awpgfs_20km_pacf000 @@ -244,4 +244,3 @@ &GRIBIDS DESC=' R H 2 m above ground ',WMOHEAD='YREA98 KWBC',PDTN= 0 ,PDT= 1 1 2 0 81 0 0 1 0 103 0 2 255 0 0 / &GRIBIDS DESC=' U GRD 10 m above ground ',WMOHEAD='YUEA98 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 81 0 0 1 0 103 0 10 255 0 0 / &GRIBIDS DESC=' V GRD 10 m above ground ',WMOHEAD='YVEA98 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 81 0 0 1 0 103 0 10 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHEA50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 81 0 0 1 0 100 0 50000 255 0 0 / diff --git a/parm/wmo/grib2_awpgfs_20km_pricof000 b/parm/wmo/grib2_awpgfs_20km_pricof000 index 9176d315d0..30a4ab9c97 100644 --- a/parm/wmo/grib2_awpgfs_20km_pricof000 +++ b/parm/wmo/grib2_awpgfs_20km_pricof000 @@ -244,4 +244,3 @@ &GRIBIDS DESC=' R H 2 m above ground ',WMOHEAD='YRFA98 KWBC',PDTN= 0 ,PDT= 1 1 2 0 81 0 0 1 0 103 0 2 255 0 0 / &GRIBIDS DESC=' U GRD 10 m above ground ',WMOHEAD='YUFA98 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 2 2 0 81 0 0 1 0 103 0 10 255 0 0 / &GRIBIDS DESC=' V GRD 10 m above ground ',WMOHEAD='YVFA98 KWBC',EXTRACT=.true.,PDTN= 0 ,PDT= 2 3 2 0 81 0 0 1 0 103 0 10 255 0 0 / -&GRIBIDS DESC=' 5WAVH 500 mb ',WMOHEAD='YHFA50 KWBC',PDTN= 0 ,PDT= 3 193 2 0 81 0 0 1 0 100 0 50000 255 0 0 / diff --git a/scripts/exgfs_atmos_awips_20km_1p0deg.sh b/scripts/exgfs_atmos_awips_20km_1p0deg.sh index 4959bbd8e8..ba0c7f64b6 100755 --- a/scripts/exgfs_atmos_awips_20km_1p0deg.sh +++ b/scripts/exgfs_atmos_awips_20km_1p0deg.sh @@ -174,11 +174,6 @@ for GRID in conus ak prico pac 003; do export FORT51="grib2.awpgfs${fcsthrs}.${GRID}" cp "${PARMgfs}/wmo/grib2_awpgfs${fcsthrs}.${GRID}" "parm_list" - if [[ ${DO_WAVE} != "YES" ]]; then - # Remove wave field it not running wave model - grep -vw "5WAVH" "parm_list" > "parm_list_temp" - mv "parm_list_temp" "parm_list" - fi ${TOCGRIB2} < "parm_list" >> "${pgmout}" 2> errfile export err=$?; err_chk @@ -208,11 +203,6 @@ for GRID in conus ak prico pac 003; do export FORT51="grib2.awpgfs_20km_${GRID}_f${fcsthrs}" cp "${PARMgfs}/wmo/grib2_awpgfs_20km_${GRID}f${fcsthrs}" "parm_list" - if [[ ${DO_WAVE} != "YES" ]]; then - # Remove wave field it not running wave model - grep -vw "5WAVH" "parm_list" > "parm_list_temp" - mv "parm_list_temp" "parm_list" - fi ${TOCGRIB2} < "parm_list" >> "${pgmout}" 2> errfile export err=$?; err_chk || exit "${err}" From db46d16fe3208421cccd4bfde09be5f4aca3cc9f Mon Sep 17 00:00:00 2001 From: RussTreadon-NOAA <26926959+RussTreadon-NOAA@users.noreply.github.com> Date: Wed, 8 Jan 2025 09:54:38 -0500 Subject: [PATCH 3/5] Remove cpus-per-task from APRUN_OCNANALECEN on WCOSS2 (#3212) Job gdas_ocnanalecen fails on WCOSS2 when running g-w CI C48mx500_hybAOWCDA. The failure is due to an invalid option on the `mpiexec` line. This PR removes `--cpus-per-task` from `WCOSS2.env`. Resolves #3158 --- env/WCOSS2.env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/env/WCOSS2.env b/env/WCOSS2.env index e787202d66..fe6acf88fb 100755 --- a/env/WCOSS2.env +++ b/env/WCOSS2.env @@ -123,7 +123,7 @@ elif [[ "${step}" = "marineanlchkpt" ]]; then elif [[ "${step}" = "ocnanalecen" ]]; then export NTHREADS_OCNANALECEN=${NTHREADSmax} - export APRUN_OCNANALECEN="${APRUN_default} --cpus-per-task=${NTHREADS_OCNANALECEN}" + export APRUN_OCNANALECEN="${APRUN_default}" elif [[ "${step}" = "marineanlletkf" ]]; then From 673470a3362c2c498f38b4545d76cf6d8f76887e Mon Sep 17 00:00:00 2001 From: RussTreadon-NOAA <26926959+RussTreadon-NOAA@users.noreply.github.com> Date: Wed, 8 Jan 2025 11:03:21 -0500 Subject: [PATCH 4/5] Update gsi_enkf hash and gsi_ver (#3207) This PR updates the `sorc/gsi_enkf.fd` hash. `gsi_ver` is updated to be consistent with the `gsi_enkf.fd` hash. Resolves #3027 --- sorc/gsi_enkf.fd | 2 +- versions/fix.ver | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sorc/gsi_enkf.fd b/sorc/gsi_enkf.fd index 9f44c8798c..27c03e83a6 160000 --- a/sorc/gsi_enkf.fd +++ b/sorc/gsi_enkf.fd @@ -1 +1 @@ -Subproject commit 9f44c8798c2087aca06df8f629699632e57df431 +Subproject commit 27c03e83a66fa2ba3b32781dab7cd6a8c0fc497d diff --git a/versions/fix.ver b/versions/fix.ver index 991e0ce13a..db54701e77 100644 --- a/versions/fix.ver +++ b/versions/fix.ver @@ -15,7 +15,7 @@ export gdas_obs_ver=20240213 export gdas_aero_ver=20240806 export gdas_snow_ver=20241210 export glwu_ver=20220805 -export gsi_ver=20240208 +export gsi_ver=20241022 export lut_ver=20220805 export mom6_ver=20240416 export orog_ver=20231027 From bb029b52540559d494bbdf4f69d5e86a1c35f4d7 Mon Sep 17 00:00:00 2001 From: Neil Barton <103681022+NeilBarton-NOAA@users.noreply.github.com> Date: Wed, 8 Jan 2025 12:40:50 -0500 Subject: [PATCH 5/5] Separate use of initial increment/perturbation file from REPLAY/+03 ICs (#3119) This PR is a continuation of the previous SFS PR. The use of initial perturbations/increments for ensemble long forecasts (e.g., SFS and GEFS) was missing from the previous PR because this option was included with the REPLAY_IC option. In this PR, the REPLAY_IC option is now strictly for the +03 ICs, and the variables USE_ATM_ENS_PERTURB_FILES and USE_OCN_ENS_PERTURB_FILES are used for initialization with the initial perturbation/increment files used for SFS and GEFS reforecasting. This separation will also make it easier to remove the +03 IC optoin. --------- Co-authored-by: Eric.Sinsky Co-authored-by: Walter Kolczynski - NOAA Co-authored-by: Rahul Mahajan Co-authored-by: Xiaqiong.Zhou --- ci/cases/yamls/gefs_defaults_ci.yaml | 1 - ci/cases/yamls/sfs_defaults.yaml | 7 +++---- parm/config/gefs/config.base | 5 +++++ parm/config/gefs/config.efcs | 2 +- parm/config/gefs/config.fcst | 3 ++- parm/config/gefs/config.nsst | 4 ---- parm/config/gefs/config.resources | 2 +- parm/config/gefs/config.stage_ic | 4 ---- parm/config/gefs/config.ufs | 4 ++-- parm/config/gefs/yaml/defaults.yaml | 6 ++---- parm/config/gfs/config.fcst | 2 ++ ush/forecast_det.sh | 1 + ush/forecast_postdet.sh | 14 +++++++++----- ush/forecast_predet.sh | 16 ++++++++-------- 14 files changed, 36 insertions(+), 35 deletions(-) diff --git a/ci/cases/yamls/gefs_defaults_ci.yaml b/ci/cases/yamls/gefs_defaults_ci.yaml index a06aed638a..a19be7713f 100644 --- a/ci/cases/yamls/gefs_defaults_ci.yaml +++ b/ci/cases/yamls/gefs_defaults_ci.yaml @@ -4,7 +4,6 @@ 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: diff --git a/ci/cases/yamls/sfs_defaults.yaml b/ci/cases/yamls/sfs_defaults.yaml index b1de60ce71..43f27d9239 100644 --- a/ci/cases/yamls/sfs_defaults.yaml +++ b/ci/cases/yamls/sfs_defaults.yaml @@ -7,7 +7,7 @@ base: DO_BUFRSND: "NO" DO_GEMPAK: "NO" DO_AWIPS: "NO" - KEEPDATA: "YES" + KEEPDATA: "NO" DO_EXTRACTVARS: "NO" FHMAX_GFS: 2976 FHMAX_HF_GFS: 0 @@ -17,6 +17,8 @@ base: FHOUT_ICE_GFS: 24 FCST_BREAKPOINTS: "" REPLAY_ICS: "NO" + USE_OCN_ENS_PERTURB_FILES: "YES" + USE_ATM_ENS_PERTURB_FILES: "YES" HPSSARCH: "NO" LOCALARCH: "NO" SFS_POST: "YES" @@ -26,8 +28,5 @@ fcst: 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" diff --git a/parm/config/gefs/config.base b/parm/config/gefs/config.base index 8d5852a15b..fc641fef6b 100644 --- a/parm/config/gefs/config.base +++ b/parm/config/gefs/config.base @@ -227,8 +227,13 @@ export SDATE_GFS=@SDATE_GFS@ export REPLAY_ICS=@REPLAY_ICS@ if [[ "${REPLAY_ICS:-NO}" == "YES" ]]; then export OFFSET_START_HOUR=$(( assim_freq / 2 )) + echo "WARNING: Replay ICs require perturbation files, ignoring any previous settings" + export USE_OCN_ENS_PERTURB_FILES="YES" + export USE_ATM_ENS_PERTURB_FILES="YES" else export OFFSET_START_HOUR=0 + export USE_OCN_ENS_PERTURB_FILES=@USE_OCN_ENS_PERTURB_FILES@ + export USE_ATM_ENS_PERTURB_FILES=@USE_ATM_ENS_PERTURB_FILES@ fi # GFS output and frequency diff --git a/parm/config/gefs/config.efcs b/parm/config/gefs/config.efcs index d1f7f7f714..9ebf21ce1e 100644 --- a/parm/config/gefs/config.efcs +++ b/parm/config/gefs/config.efcs @@ -57,7 +57,7 @@ if (( OCNRES <= 100 )); then export EPBL_LSCALE="500.E3,1000.E3,2000.E3,2000.E3,2000.E3" fi -if [[ "${REPLAY_ICS:-NO}" == "YES" ]]; then +if [[ "${USE_OCN_ENS_PERTURB_FILES:-NO}" == "YES" ]]; then export ODA_INCUPD="True" export ODA_TEMPINC_VAR='t_pert' export ODA_SALTINC_VAR='s_pert' diff --git a/parm/config/gefs/config.fcst b/parm/config/gefs/config.fcst index 43e2724dc6..2fef1ba0a0 100644 --- a/parm/config/gefs/config.fcst +++ b/parm/config/gefs/config.fcst @@ -192,6 +192,7 @@ case ${imp_physics} in export hord_mt_nh_nonmono=5 export hord_xx_nh_nonmono=5 + export hord_dp_nh_nonmono=-5 export vtdm4_nh_nonmono=0.02 export nord=2 if [[ "${TYPE}" == "nh"* ]]; then @@ -199,7 +200,6 @@ case ${imp_physics} in else export dddmp=0. fi - export dddmp=0.1 export d4_bg=0.12 ;; 11) # GFDL @@ -216,6 +216,7 @@ case ${imp_physics} in export hord_mt_nh_nonmono=5 export hord_xx_nh_nonmono=5 + export hord_dp_nh_nonmono=-5 export vtdm4_nh_nonmono=0.02 export nord=2 export d4_bg=0.12 diff --git a/parm/config/gefs/config.nsst b/parm/config/gefs/config.nsst index db4367b2c0..f9a29d44d3 100644 --- a/parm/config/gefs/config.nsst +++ b/parm/config/gefs/config.nsst @@ -12,10 +12,6 @@ export NST_MODEL=2 # nstf_name(2) : NST_SPINUP : 0 = OFF, 1 = ON, export NST_SPINUP=0 -cdate="${PDY}${cyc}" -if (( cdate < 2017072000 )); then - export NST_SPINUP=1 -fi # nstf_name(3) : NST_RESV (Reserved, NSST Analysis) : 0 = OFF, 1 = ON export NST_RESV=0 diff --git a/parm/config/gefs/config.resources b/parm/config/gefs/config.resources index 68f81c1039..17033858c8 100644 --- a/parm/config/gefs/config.resources +++ b/parm/config/gefs/config.resources @@ -219,7 +219,7 @@ case ${step} in case "${CASE}" in "C48" | "C96" | "C192") - declare -x "walltime"="03:00:00" + declare -x "walltime"="04:00:00" ;; "C384" | "C768" | "C1152") declare -x "walltime"="06:00:00" diff --git a/parm/config/gefs/config.stage_ic b/parm/config/gefs/config.stage_ic index 5822f2e794..8cd97b58ac 100644 --- a/parm/config/gefs/config.stage_ic +++ b/parm/config/gefs/config.stage_ic @@ -32,8 +32,4 @@ 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" diff --git a/parm/config/gefs/config.ufs b/parm/config/gefs/config.ufs index c46023aff6..3f931d7c0d 100644 --- a/parm/config/gefs/config.ufs +++ b/parm/config/gefs/config.ufs @@ -99,8 +99,8 @@ case "${fv3_res}" in export DELTIM=600 export layout_x=2 export layout_y=2 - export layout_x_gfs=4 - export layout_y_gfs=4 + export layout_x_gfs=6 + export layout_y_gfs=8 export nthreads_fv3=1 export nthreads_fv3_gfs=1 export nthreads_ufs=1 diff --git a/parm/config/gefs/yaml/defaults.yaml b/parm/config/gefs/yaml/defaults.yaml index 48cf912dcb..df12b16282 100644 --- a/parm/config/gefs/yaml/defaults.yaml +++ b/parm/config/gefs/yaml/defaults.yaml @@ -14,22 +14,20 @@ base: FHOUT_HF_GFS: 1 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" + USE_OCN_ENS_PERTURB_FILES: "NO" + USE_ATM_ENS_PERTURB_FILES: "NO" DO_TEST_MODE: "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" # config.aero has just a system-specific path to add. diff --git a/parm/config/gfs/config.fcst b/parm/config/gfs/config.fcst index 5be4f4eca7..992f9eb329 100644 --- a/parm/config/gfs/config.fcst +++ b/parm/config/gfs/config.fcst @@ -203,6 +203,7 @@ case ${imp_physics} in export hord_mt_nh_nonmono=5 export hord_xx_nh_nonmono=5 + export hord_dp_nh_nonmono=-5 export vtdm4_nh_nonmono=0.02 export nord=2 export dddmp=0.1 @@ -236,6 +237,7 @@ case ${imp_physics} in export hord_mt_nh_nonmono=5 export hord_xx_nh_nonmono=5 + export hord_dp_nh_nonmono=-5 export vtdm4_nh_nonmono=0.02 export nord=2 export d4_bg=0.12 diff --git a/ush/forecast_det.sh b/ush/forecast_det.sh index 6d321aa620..9854494859 100755 --- a/ush/forecast_det.sh +++ b/ush/forecast_det.sh @@ -86,6 +86,7 @@ UFS_det(){ MOM6_INIT_FROM_Z=True MOM6_WARMSTART_FILE="none" MOM6_INIT_UV="zero" + ODA_INCUPD="False" fi # Check for CICE6 restart availability diff --git a/ush/forecast_postdet.sh b/ush/forecast_postdet.sh index 25cd4d36f0..64cb14a3ec 100755 --- a/ush/forecast_postdet.sh +++ b/ush/forecast_postdet.sh @@ -98,8 +98,10 @@ FV3_postdet() { # Determine increment files when doing cold start if [[ "${warm_start}" == ".false." ]]; then - if [[ "${REPLAY_ICS:-NO}" == "YES" ]]; then - IAU_FHROT=${half_window} # Replay ICs start at the end of the assimilation window + if [[ "${USE_ATM_ENS_PERTURB_FILES:-NO}" == "YES" ]]; then + if [[ "${REPLAY_ICS:-NO}" == "YES" ]]; then + IAU_FHROT=${half_window} # Replay ICs start at the end of the assimilation window + fi if (( MEMBER == 0 )); then inc_files=() else @@ -109,7 +111,7 @@ FV3_postdet() { fi local increment_file for inc_file in "${inc_files[@]}"; do - increment_file="${COMIN_ATMOS_INPUT}/${RUN}.t${cyc}z.${inc_file}" + increment_file="${COMIN_ATMOS_ANALYSIS}/${RUN}.t${cyc}z.${inc_file}" if [[ -f "${increment_file}" ]]; then ${NCP} "${increment_file}" "${DATA}/INPUT/${inc_file}" else @@ -173,8 +175,10 @@ EOF inc_files=("atminc.nc") read_increment=".true." res_latlon_dynamics="atminc.nc" - if [[ "${REPLAY_ICS:-NO}" == "YES" ]]; then - IAU_FHROT=${half_window} # Replay ICs start at the end of the assimilation window + if [[ "${USE_ATM_ENS_PERTURB_FILES:-NO}" == "YES" ]]; then + if [[ "${REPLAY_ICS:-NO}" == "YES" ]]; then + IAU_FHROT=${half_window} # Replay ICs start at the end of the assimilation window + fi # Control member has no perturbation if (( MEMBER == 0 )); then inc_files=() diff --git a/ush/forecast_predet.sh b/ush/forecast_predet.sh index 14f32378c3..2b730fa7d6 100755 --- a/ush/forecast_predet.sh +++ b/ush/forecast_predet.sh @@ -351,11 +351,15 @@ FV3_predet(){ if [[ "${TYPE}" == "nh" ]]; then # monotonic and non-hydrostatic hord_mt=${hord_mt_nh_mono:-"10"} hord_xx=${hord_xx_nh_mono:-"10"} - hord_dp=-${hord_xx_nh_nonmono:-"-10"} + hord_dp=${hord_xx_nh_mono:-"10"} else # monotonic and hydrostatic hord_mt=${hord_mt_hydro_mono:-"10"} hord_xx=${hord_xx_hydro_mono:-"10"} - hord_dp=-${hord_xx_nh_nonmono:-"-10"} + hord_dp=${hord_xx_hydro_mono:-"10"} + kord_tm=${kord_tm_hydro_mono:-"-12"} + kord_mt=${kord_mt_hydro_mono:-"12"} + kord_wz=${kord_wz_hydro_mono:-"12"} + kord_tr=${kord_tr_hydro_mono:-"12"} fi else # non-monotonic options d_con=${d_con_nonmono:-"1."} @@ -363,15 +367,11 @@ FV3_predet(){ if [[ "${TYPE}" == "nh" ]]; then # non-monotonic and non-hydrostatic hord_mt=${hord_mt_nh_nonmono:-"5"} hord_xx=${hord_xx_nh_nonmono:-"5"} - hord_dp=${hord_xx_hydro_mono:-"-5"} + hord_dp=${hord_dp_nh_nonmono:-"-5"} else # non-monotonic and hydrostatic hord_mt=${hord_mt_hydro_nonmono:-"10"} hord_xx=${hord_xx_hydro_nonmono:-"10"} - hord_dp=${hord_xx_hydro_mono:-"10"} - kord_tm=${kord_tm_hydro_mono:-"-12"} - kord_mt=${kord_mt_hydro_mono:-"12"} - kord_wz=${kord_wz_hydro_mono:-"12"} - kord_tr=${kord_tr_hydro_mono:-"12"} + hord_dp=${hord_xx_hydro_nonmono:-"10"} fi fi