From 7f00d08f1e8d05ea8ba9e8e17cc6e5b368cc75c6 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 20 Dec 2024 12:59:53 -0500 Subject: [PATCH 01/25] modified scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index a241a00d88..d4230c2f1b 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -241,15 +241,14 @@ 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.${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 if [ "$DOGRI_WAV" = 'YES' ] then From 471b759e776bd442866345d8d11c524ccd503e90 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 20 Dec 2024 13:39:01 -0500 Subject: [PATCH 02/25] modified ush\forecast_postdet.sh and ush\wave_grid_interp_sbs.sh --- ush/forecast_postdet.sh | 8 ++------ ush/wave_grid_interp_sbs.sh | 9 +++------ 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/ush/forecast_postdet.sh b/ush/forecast_postdet.sh index 432e6f690d..abc42cedcd 100755 --- a/ush/forecast_postdet.sh +++ b/ush/forecast_postdet.sh @@ -377,9 +377,7 @@ WW3_postdet() { 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 + ${NLN} "${COMOUT_WAVE_HISTORY}/${wavprfx}.log.${waveGRD}.${PDY}${cyc}" "log.${waveGRD}" else ${NLN} "${COMOUT_WAVE_HISTORY}/${wavprfx}.log.${waveGRD}.${PDY}${cyc}" "log.ww3" fi @@ -391,9 +389,7 @@ WW3_postdet() { 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 + ${NLN} "${COMOUT_WAVE_HISTORY}/${wavprfx}.out_grd.${waveGRD}.${vdate}" "${DATA}/${vdate}.out_grd.${waveGRD}" else ${NLN} "${COMOUT_WAVE_HISTORY}/${wavprfx}.out_grd.${waveGRD}.${vdate}" "${DATA}/${vdate}.out_grd.ww3" fi diff --git a/ush/wave_grid_interp_sbs.sh b/ush/wave_grid_interp_sbs.sh index d56c5d0763..fb1fa16d80 100755 --- a/ush/wave_grid_interp_sbs.sh +++ b/ush/wave_grid_interp_sbs.sh @@ -89,13 +89,10 @@ 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 + ${NLN} "${DATA}/mod_def.${waveGRD}" "mod_def.${waveGRD}" + # --------------------------------------------------------------------------- # # 1. Generate GRID file with all data From af0e86f680ea5b68eb79ff41511cf9ad274c9e3a Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 20 Dec 2024 13:50:42 -0500 Subject: [PATCH 03/25] modified ush\parsing_namelists_WW3.sh --- ush/parsing_namelists_WW3.sh | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/ush/parsing_namelists_WW3.sh b/ush/parsing_namelists_WW3.sh index c57a90e50a..983b557736 100755 --- a/ush/parsing_namelists_WW3.sh +++ b/ush/parsing_namelists_WW3.sh @@ -208,15 +208,12 @@ if [ $waveMULTIGRID = ".true." ]; then 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 + GRDN=$(expr ${GRDN} + 1) + agrid=( ${agrid[*]} ${waveGRD} ) + NMGRIDS=$(expr $NMGRIDS + 1) + gridN=$(echo $waveGRDN | awk -v i=$GRDN '{print $i}') + gridG=$(echo $waveGRDG | awk -v i=$GRDN '{print $i}') + gline="${gline}'${waveGRD}' 'no' 'CURRFLAG' 'WINDFLAG' 'ICEFLAG' 'no' 'no' 'no' 'no' 'no' ${gridN} ${gridG} 0.00 1.00 F\n" gline="${gline}\$" echo $gline From 1b0765bb679be3b45b9fd2eb794ebd1ea262726f Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 20 Dec 2024 13:53:12 -0500 Subject: [PATCH 04/25] modified scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index d4230c2f1b..5e60b9f929 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -248,7 +248,6 @@ source "${USHgfs}/preamble.sh" exit "${err}" fi ${NLN} "${gfile}" "./out_grd.${wavGRD}" - done if [ "$DOGRI_WAV" = 'YES' ] then From 12acba6a3d1c62f9a9df8f49a9c871de1d7532c7 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 20 Dec 2024 16:05:36 -0500 Subject: [PATCH 05/25] modified ush\parsing_namelists_WW3.sh --- ush/parsing_namelists_WW3.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ush/parsing_namelists_WW3.sh b/ush/parsing_namelists_WW3.sh index 983b557736..1b43710844 100755 --- a/ush/parsing_namelists_WW3.sh +++ b/ush/parsing_namelists_WW3.sh @@ -208,9 +208,9 @@ if [ $waveMULTIGRID = ".true." ]; then gline= GRDN=0 # grdGRP=1 # Single group for now - GRDN=$(expr ${GRDN} + 1) + GRDN=$(expr "${GRDN}" + 1) agrid=( ${agrid[*]} ${waveGRD} ) - NMGRIDS=$(expr $NMGRIDS + 1) + NMGRIDS=$(expr "$NMGRIDS" + 1) gridN=$(echo $waveGRDN | awk -v i=$GRDN '{print $i}') gridG=$(echo $waveGRDG | awk -v i=$GRDN '{print $i}') gline="${gline}'${waveGRD}' 'no' 'CURRFLAG' 'WINDFLAG' 'ICEFLAG' 'no' 'no' 'no' 'no' 'no' ${gridN} ${gridG} 0.00 1.00 F\n" From e0703728de0ac5d437ca7a223681aed036603693 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 20 Dec 2024 16:37:02 -0500 Subject: [PATCH 06/25] added waveMULTIGRID='.false.' --- parm/config/gefs/config.wave | 2 +- parm/config/gfs/config.wave | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/parm/config/gefs/config.wave b/parm/config/gefs/config.wave index 6a1529274a..0a2da5ee98 100644 --- a/parm/config/gefs/config.wave +++ b/parm/config/gefs/config.wave @@ -30,7 +30,7 @@ case "${waveGRD}" in export waveGRDN='1 2 3' export waveGRDG='10 20 30' export USE_WAV_RMP='YES' - export waveMULTIGRID='.true.' + export waveMULTIGRID='.false.' export IOSRV='3' export MESH_WAV=' ' export waveesmfGRD='glox_10m' diff --git a/parm/config/gfs/config.wave b/parm/config/gfs/config.wave index ea68508547..c5a2d21fbe 100644 --- a/parm/config/gfs/config.wave +++ b/parm/config/gfs/config.wave @@ -30,7 +30,7 @@ case "${waveGRD}" in export waveGRDN='1 2 3' export waveGRDG='10 20 30' export USE_WAV_RMP='YES' - export waveMULTIGRID='.true.' + export waveMULTIGRID='.false.' export IOSRV='3' export MESH_WAV=' ' export waveesmfGRD='glox_10m' From 0e0c1b91c487f4f5a4c9e4e697ffa5f96e4140ce Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 20 Dec 2024 18:58:21 -0500 Subject: [PATCH 07/25] remove the variable waveMULTIGRID --- parm/config/gefs/config.wave | 2 - ush/forecast_postdet.sh | 21 +-- ush/forecast_predet.sh | 19 +-- ush/parsing_namelists_WW3.sh | 284 ++++++++--------------------------- ush/parsing_ufs_configure.sh | 1 - 5 files changed, 70 insertions(+), 257 deletions(-) diff --git a/parm/config/gefs/config.wave b/parm/config/gefs/config.wave index 0a2da5ee98..cac46baa0f 100644 --- a/parm/config/gefs/config.wave +++ b/parm/config/gefs/config.wave @@ -19,7 +19,6 @@ export RUNRSTwave="gdas" 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 @@ -30,7 +29,6 @@ case "${waveGRD}" in export waveGRDN='1 2 3' export waveGRDG='10 20 30' export USE_WAV_RMP='YES' - export waveMULTIGRID='.false.' export IOSRV='3' export MESH_WAV=' ' export waveesmfGRD='glox_10m' diff --git a/ush/forecast_postdet.sh b/ush/forecast_postdet.sh index abc42cedcd..25cd4d36f0 100755 --- a/ush/forecast_postdet.sh +++ b/ush/forecast_postdet.sh @@ -375,12 +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" - ${NLN} "${COMOUT_WAVE_HISTORY}/${wavprfx}.log.${waveGRD}.${PDY}${cyc}" "log.${waveGRD}" - 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 @@ -388,11 +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 - ${NLN} "${COMOUT_WAVE_HISTORY}/${wavprfx}.out_grd.${waveGRD}.${vdate}" "${DATA}/${vdate}.out_grd.${waveGRD}" - 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 @@ -404,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..d8fc60fea6 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" diff --git a/ush/parsing_namelists_WW3.sh b/ush/parsing_namelists_WW3.sh index 1b43710844..e80c884d12 100755 --- a/ush/parsing_namelists_WW3.sh +++ b/ush/parsing_namelists_WW3.sh @@ -77,25 +77,15 @@ WW3_namelists(){ # --------------------------------------------------------------------------- # # Create ww3_multi/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 + # 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 + # Buoy location file @@ -114,210 +104,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 - GRDN=$(expr "${GRDN}" + 1) - agrid=( ${agrid[*]} ${waveGRD} ) - NMGRIDS=$(expr "$NMGRIDS" + 1) - gridN=$(echo $waveGRDN | awk -v i=$GRDN '{print $i}') - gridG=$(echo $waveGRDG | awk -v i=$GRDN '{print $i}') - gline="${gline}'${waveGRD}' 'no' 'CURRFLAG' 'WINDFLAG' 'ICEFLAG' 'no' 'no' 'no' 'no' 'no' ${gridN} ${gridG} 0.00 1.00 F\n" - 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" From 5f38480c2f9801edcc52ee2429ce0f87e43b6a45 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 20 Dec 2024 19:02:02 -0500 Subject: [PATCH 08/25] removed waveMULTIGRID var --- parm/config/gfs/config.wave | 2 -- 1 file changed, 2 deletions(-) diff --git a/parm/config/gfs/config.wave b/parm/config/gfs/config.wave index c5a2d21fbe..1f72523ced 100644 --- a/parm/config/gfs/config.wave +++ b/parm/config/gfs/config.wave @@ -19,7 +19,6 @@ export RUNRSTwave="gdas" 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 @@ -30,7 +29,6 @@ case "${waveGRD}" in export waveGRDN='1 2 3' export waveGRDG='10 20 30' export USE_WAV_RMP='YES' - export waveMULTIGRID='.false.' export IOSRV='3' export MESH_WAV=' ' export waveesmfGRD='glox_10m' From 1f9319c39201e498a2d7e66a5eadbdd485dc9869 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Sun, 22 Dec 2024 18:50:26 -0500 Subject: [PATCH 09/25] modified scripts\exgfs_wave_post_gridded_sbs.sh --- scripts/exgfs_wave_post_gridded_sbs.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/exgfs_wave_post_gridded_sbs.sh b/scripts/exgfs_wave_post_gridded_sbs.sh index 5e60b9f929..423d6af694 100755 --- a/scripts/exgfs_wave_post_gridded_sbs.sh +++ b/scripts/exgfs_wave_post_gridded_sbs.sh @@ -241,13 +241,13 @@ source "${USHgfs}/preamble.sh" if [ $fhr = $fhrg ] then - gfile="${COMIN_WAVE_HISTORY}/${WAV_MOD_TAG}.out_grd.${wavGRD}.${YMD}.${HMS}" + 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.${wavGRD}" + ${NLN} "${gfile}" "./out_grd.${waveGRD}" if [ "$DOGRI_WAV" = 'YES' ] then From 1be896c65f76645250250d61cf4959bdf2b38d31 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Sun, 22 Dec 2024 23:44:13 -0500 Subject: [PATCH 10/25] modified ush\wave_grid_interp_sbs.sh --- ush/wave_grid_interp_sbs.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ush/wave_grid_interp_sbs.sh b/ush/wave_grid_interp_sbs.sh index fb1fa16d80..c046afb2e9 100755 --- a/ush/wave_grid_interp_sbs.sh +++ b/ush/wave_grid_interp_sbs.sh @@ -91,7 +91,9 @@ source "${USHgfs}/preamble.sh" ${NLN} "${DATA}/output_${ymdh}0000/out_grd.${waveGRD}" "out_grd.${waveGRD}" - ${NLN} "${DATA}/mod_def.${waveGRD}" "mod_def.${waveGRD}" + for ID in ${waveGRD} ${grdID}; do + ${NLN} "${DATA}/mod_def.${ID}" "mod_def.${ID}" + done # --------------------------------------------------------------------------- # From 3b21bf52f71bf7106a69cff524d3066973978bb9 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Mon, 23 Dec 2024 13:34:53 -0500 Subject: [PATCH 11/25] added quotes to ush\parsing_namelists_WW3.sh --- ush/parsing_namelists_WW3.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ush/parsing_namelists_WW3.sh b/ush/parsing_namelists_WW3.sh index e80c884d12..a2dc3538e4 100755 --- a/ush/parsing_namelists_WW3.sh +++ b/ush/parsing_namelists_WW3.sh @@ -78,8 +78,8 @@ WW3_namelists(){ # Create ww3_multi/shel.inp # ww3_multi template - if [ -f ${PARMgfs}/wave/ww3_shel.inp.tmpl ]; then - cp ${PARMgfs}/wave/ww3_shel.inp.tmpl ww3_shel.inp.tmpl + 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" From a04be832c8790989f600bcec8de25129b592850f Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Mon, 23 Dec 2024 13:36:52 -0500 Subject: [PATCH 12/25] added quotes to ush\parsing_namelists_WW3.sh --- ush/parsing_namelists_WW3.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ush/parsing_namelists_WW3.sh b/ush/parsing_namelists_WW3.sh index a2dc3538e4..c95855d89a 100755 --- a/ush/parsing_namelists_WW3.sh +++ b/ush/parsing_namelists_WW3.sh @@ -79,7 +79,7 @@ WW3_namelists(){ # ww3_multi template if [ -f "${PARMgfs}/wave/ww3_shel.inp.tmpl" ]; then - cp "${PARMgfs}/wave/ww3_shel.inp.tmpl ww3_shel.inp.tmpl" + 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" From 2530b57ae824334fac301a9e147ba7515a8d71b0 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 27 Dec 2024 16:11:57 -0500 Subject: [PATCH 13/25] corrected a typo parm\archive\enkf_restartb_grp.yaml.j2 --- parm/archive/enkf_restartb_grp.yaml.j2 | 1 - 1 file changed, 1 deletion(-) diff --git a/parm/archive/enkf_restartb_grp.yaml.j2 b/parm/archive/enkf_restartb_grp.yaml.j2 index 50595a6bbf..e53c883f7b 100644 --- a/parm/archive/enkf_restartb_grp.yaml.j2 +++ b/parm/archive/enkf_restartb_grp.yaml.j2 @@ -38,5 +38,4 @@ enkf_restartb_grp: - "{{ COMIN_ATMOS_RESTART_MEM | relpath(ROTDIR) }}/{{ r_prefix }}.coupler.res" - "{{ COMIN_ATMOS_RESTART_MEM | relpath(ROTDIR) }}/{{ r_prefix }}.fv_core.res.nc" {% endfor %} - {% endfor %} {% endif %} From 4d1ebad17e1fd01b77647f1f983a1dc5aa748ee6 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Wed, 1 Jan 2025 17:46:25 -0500 Subject: [PATCH 14/25] corrected typos --- parm/config/gefs/config.wave | 12 ------------ parm/config/gfs/config.wave | 12 ------------ ush/parsing_namelists_WW3.sh | 4 +--- 3 files changed, 1 insertion(+), 27 deletions(-) diff --git a/parm/config/gefs/config.wave b/parm/config/gefs/config.wave index cac46baa0f..f0477e9ed8 100644 --- a/parm/config/gefs/config.wave +++ b/parm/config/gefs/config.wave @@ -24,18 +24,6 @@ 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 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='' diff --git a/parm/config/gfs/config.wave b/parm/config/gfs/config.wave index 1f72523ced..8c58809c97 100644 --- a/parm/config/gfs/config.wave +++ b/parm/config/gfs/config.wave @@ -24,18 +24,6 @@ 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 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='' diff --git a/ush/parsing_namelists_WW3.sh b/ush/parsing_namelists_WW3.sh index c95855d89a..5ee4944c18 100755 --- a/ush/parsing_namelists_WW3.sh +++ b/ush/parsing_namelists_WW3.sh @@ -75,9 +75,8 @@ WW3_namelists(){ # --------------------------------------------------------------------------- # -# Create ww3_multi/shel.inp +# Create ww3_shel.inp - # ww3_multi template if [ -f "${PARMgfs}/wave/ww3_shel.inp.tmpl" ]; then cp "${PARMgfs}/wave/ww3_shel.inp.tmpl" "ww3_shel.inp.tmpl" fi @@ -86,7 +85,6 @@ WW3_namelists(){ exit 12 fi - # Buoy location file if [ -f ${PARMgfs}/wave/wave_${NET}.buoys ] From 5e2e30c4668726214144f4655bda27491f5ccb96 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Thu, 2 Jan 2025 20:01:37 -0500 Subject: [PATCH 15/25] added endfor for parm\archive\enkf_restarta_grp.yaml.j2 --- parm/archive/enkf_restarta_grp.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/archive/enkf_restarta_grp.yaml.j2 b/parm/archive/enkf_restarta_grp.yaml.j2 index 13c49d4239..cf1e931dab 100644 --- a/parm/archive/enkf_restarta_grp.yaml.j2 +++ b/parm/archive/enkf_restarta_grp.yaml.j2 @@ -49,5 +49,5 @@ enkf_restarta_grp: {% if not lobsdiag_forenkf and not DO_JEDIATMENS %} - "{{ COMIN_ATMOS_RESTART_MEM | relpath(ROTDIR) }}/{{ head }}cnvstat" {% endif %} - + {% endfor %} {% endfor %} # first_group_mem to last_group_mem From b26e39182bca4fdca2a193f6d2a78fc5f6825a11 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Thu, 2 Jan 2025 20:06:28 -0500 Subject: [PATCH 16/25] modified parm\archive\enkf_restarta_grp.yaml.j2 --- parm/archive/enkf_restarta_grp.yaml.j2 | 1 - parm/archive/enkf_restartb_grp.yaml.j2 | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/archive/enkf_restarta_grp.yaml.j2 b/parm/archive/enkf_restarta_grp.yaml.j2 index cf1e931dab..e9e0103462 100644 --- a/parm/archive/enkf_restarta_grp.yaml.j2 +++ b/parm/archive/enkf_restarta_grp.yaml.j2 @@ -49,5 +49,4 @@ enkf_restarta_grp: {% if not lobsdiag_forenkf and not DO_JEDIATMENS %} - "{{ COMIN_ATMOS_RESTART_MEM | relpath(ROTDIR) }}/{{ head }}cnvstat" {% endif %} - {% endfor %} {% endfor %} # first_group_mem to last_group_mem diff --git a/parm/archive/enkf_restartb_grp.yaml.j2 b/parm/archive/enkf_restartb_grp.yaml.j2 index e53c883f7b..1782465aa0 100644 --- a/parm/archive/enkf_restartb_grp.yaml.j2 +++ b/parm/archive/enkf_restartb_grp.yaml.j2 @@ -38,4 +38,5 @@ enkf_restartb_grp: - "{{ COMIN_ATMOS_RESTART_MEM | relpath(ROTDIR) }}/{{ r_prefix }}.coupler.res" - "{{ COMIN_ATMOS_RESTART_MEM | relpath(ROTDIR) }}/{{ r_prefix }}.fv_core.res.nc" {% endfor %} + {% endfor %} {% endif %} From 28672e804603930fbb0a1610532c32d41deb8d94 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Thu, 2 Jan 2025 20:07:32 -0500 Subject: [PATCH 17/25] modified parm\archive\enkf_restarta_grp.yaml.j2 --- parm/archive/enkf_restarta_grp.yaml.j2 | 1 + 1 file changed, 1 insertion(+) diff --git a/parm/archive/enkf_restarta_grp.yaml.j2 b/parm/archive/enkf_restarta_grp.yaml.j2 index e9e0103462..13c49d4239 100644 --- a/parm/archive/enkf_restarta_grp.yaml.j2 +++ b/parm/archive/enkf_restarta_grp.yaml.j2 @@ -49,4 +49,5 @@ enkf_restarta_grp: {% if not lobsdiag_forenkf and not DO_JEDIATMENS %} - "{{ COMIN_ATMOS_RESTART_MEM | relpath(ROTDIR) }}/{{ head }}cnvstat" {% endif %} + {% endfor %} # first_group_mem to last_group_mem From cfd7d83b681853719507e7643c99e51c00f759a6 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Thu, 2 Jan 2025 20:08:06 -0500 Subject: [PATCH 18/25] modified parm\archive\enkf_restartb_grp.yaml.j2 --- parm/archive/enkf_restartb_grp.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/archive/enkf_restartb_grp.yaml.j2 b/parm/archive/enkf_restartb_grp.yaml.j2 index 1782465aa0..50595a6bbf 100644 --- a/parm/archive/enkf_restartb_grp.yaml.j2 +++ b/parm/archive/enkf_restartb_grp.yaml.j2 @@ -38,5 +38,5 @@ enkf_restartb_grp: - "{{ COMIN_ATMOS_RESTART_MEM | relpath(ROTDIR) }}/{{ r_prefix }}.coupler.res" - "{{ COMIN_ATMOS_RESTART_MEM | relpath(ROTDIR) }}/{{ r_prefix }}.fv_core.res.nc" {% endfor %} - {% endfor %} + {% endfor %} {% endif %} From dc93d204cc0dcdb933707c2b072ef8bf38a54a07 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Thu, 2 Jan 2025 20:13:59 -0500 Subject: [PATCH 19/25] modifed parm\archive\enkf_restartb_grp.yaml.j2 --- parm/archive/enkf_restartb_grp.yaml.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/archive/enkf_restartb_grp.yaml.j2 b/parm/archive/enkf_restartb_grp.yaml.j2 index 50595a6bbf..bf5656bf8c 100644 --- a/parm/archive/enkf_restartb_grp.yaml.j2 +++ b/parm/archive/enkf_restartb_grp.yaml.j2 @@ -38,5 +38,5 @@ enkf_restartb_grp: - "{{ COMIN_ATMOS_RESTART_MEM | relpath(ROTDIR) }}/{{ r_prefix }}.coupler.res" - "{{ COMIN_ATMOS_RESTART_MEM | relpath(ROTDIR) }}/{{ r_prefix }}.fv_core.res.nc" {% endfor %} - {% endfor %} {% endif %} + {% endfor %} From 259f268583255e4c57e037c22e9dfd79a8d903e1 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 3 Jan 2025 11:38:35 -0500 Subject: [PATCH 20/25] edited config.wave --- parm/config/gefs/config.wave | 4 +--- parm/config/gfs/config.wave | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/parm/config/gefs/config.wave b/parm/config/gefs/config.wave index f0477e9ed8..5f4e134fd8 100644 --- a/parm/config/gefs/config.wave +++ b/parm/config/gefs/config.wave @@ -16,8 +16,6 @@ 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 MESH_WAV="mesh.${waveGRD}.nc" # Mesh grid for wave model for CMEPS export waveesmfGRD=' ' # input grid for multigrid @@ -143,7 +141,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 8c58809c97..cdcce9ab41 100644 --- a/parm/config/gfs/config.wave +++ b/parm/config/gfs/config.wave @@ -16,8 +16,6 @@ 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 MESH_WAV="mesh.${waveGRD}.nc" # Mesh grid for wave model for CMEPS export waveesmfGRD=' ' # input grid for multigrid @@ -173,7 +171,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) From f64694a87c404c26876eb7fbdb6e1d42fc13fb2c Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 3 Jan 2025 11:40:26 -0500 Subject: [PATCH 21/25] removed waveesmfGRD from scripts --- parm/config/gefs/config.wave | 1 - parm/config/gfs/config.wave | 1 - scripts/exgfs_wave_init.sh | 2 +- 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/parm/config/gefs/config.wave b/parm/config/gefs/config.wave index 5f4e134fd8..25ccf04024 100644 --- a/parm/config/gefs/config.wave +++ b/parm/config/gefs/config.wave @@ -18,7 +18,6 @@ export RUNRSTwave="gdas" #grid dependent variable defaults export USE_WAV_RMP='NO' # YES/NO rmp grid remapping pre-processed coefficients 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 diff --git a/parm/config/gfs/config.wave b/parm/config/gfs/config.wave index cdcce9ab41..9cfee36897 100644 --- a/parm/config/gfs/config.wave +++ b/parm/config/gfs/config.wave @@ -18,7 +18,6 @@ export RUNRSTwave="gdas" #grid dependent variable defaults export USE_WAV_RMP='NO' # YES/NO rmp grid remapping pre-processed coefficients 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 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 From e4b74db962453e9b6d01d5c8d59769211fa755b4 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 3 Jan 2025 14:14:30 -0500 Subject: [PATCH 22/25] removed USE_WAV_RMP var --- parm/config/gefs/config.wave | 1 - parm/config/gfs/config.wave | 3 +-- ush/forecast_predet.sh | 14 -------------- 3 files changed, 1 insertion(+), 17 deletions(-) diff --git a/parm/config/gefs/config.wave b/parm/config/gefs/config.wave index 25ccf04024..be37e7edb2 100644 --- a/parm/config/gefs/config.wave +++ b/parm/config/gefs/config.wave @@ -16,7 +16,6 @@ export RUNwave="${RUN}wave" export RUNRSTwave="gdas" #grid dependent variable defaults -export USE_WAV_RMP='NO' # YES/NO rmp grid remapping pre-processed coefficients export MESH_WAV="mesh.${waveGRD}.nc" # Mesh grid for wave model for CMEPS #Grid dependent variables for various grids diff --git a/parm/config/gfs/config.wave b/parm/config/gfs/config.wave index 9cfee36897..b0ee50d6e8 100644 --- a/parm/config/gfs/config.wave +++ b/parm/config/gfs/config.wave @@ -15,8 +15,7 @@ export RUNwave="${RUN}wave" # In GFS/GDAS, restart files are generated/read from gdas runs export RUNRSTwave="gdas" -#grid dependent variable defaults -export USE_WAV_RMP='NO' # YES/NO rmp grid remapping pre-processed coefficients +#grid dependent variable defaults # YES/NO rmp grid remapping pre-processed coefficients export MESH_WAV="mesh.${waveGRD}.nc" # Mesh grid for wave model for CMEPS #Grid dependent variables for various grids diff --git a/ush/forecast_predet.sh b/ush/forecast_predet.sh index d8fc60fea6..14f32378c3 100755 --- a/ush/forecast_predet.sh +++ b/ush/forecast_predet.sh @@ -625,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 From 82c2bfa77fde3520908420bd2ba4997e1942ecb2 Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 3 Jan 2025 14:47:55 -0500 Subject: [PATCH 23/25] updated parm\config\gfs\config.wave --- parm/config/gfs/config.wave | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/config/gfs/config.wave b/parm/config/gfs/config.wave index b0ee50d6e8..e792f45473 100644 --- a/parm/config/gfs/config.wave +++ b/parm/config/gfs/config.wave @@ -15,7 +15,7 @@ export RUNwave="${RUN}wave" # In GFS/GDAS, restart files are generated/read from gdas runs export RUNRSTwave="gdas" -#grid dependent variable defaults # YES/NO rmp grid remapping pre-processed coefficients +#grid dependent variable defaults export MESH_WAV="mesh.${waveGRD}.nc" # Mesh grid for wave model for CMEPS #Grid dependent variables for various grids From d8a908b606c68da6e691394c50656cd03dbc357f Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 3 Jan 2025 14:52:15 -0500 Subject: [PATCH 24/25] updated parm\config\gfs\config.wave --- parm/config/gfs/config.wave | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/config/gfs/config.wave b/parm/config/gfs/config.wave index e792f45473..7b010b3481 100644 --- a/parm/config/gfs/config.wave +++ b/parm/config/gfs/config.wave @@ -16,7 +16,7 @@ export RUNwave="${RUN}wave" export RUNRSTwave="gdas" #grid dependent variable defaults -export MESH_WAV="mesh.${waveGRD}.nc" # Mesh grid for wave model for CMEPS +export MESH_WAV="mesh.${waveGRD}.nc" #Mesh grid for wave model for CMEPS #Grid dependent variables for various grids case "${waveGRD}" in From d820a5e0eddf2abafbbf1ef4f10daa6049c5a91b Mon Sep 17 00:00:00 2001 From: AntonMFernando Date: Fri, 3 Jan 2025 20:45:09 -0500 Subject: [PATCH 25/25] modified parm\config\gfs\config.wave --- parm/config/gfs/config.wave | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parm/config/gfs/config.wave b/parm/config/gfs/config.wave index 7b010b3481..e792f45473 100644 --- a/parm/config/gfs/config.wave +++ b/parm/config/gfs/config.wave @@ -16,7 +16,7 @@ export RUNwave="${RUN}wave" export RUNRSTwave="gdas" #grid dependent variable defaults -export MESH_WAV="mesh.${waveGRD}.nc" #Mesh grid for wave model for CMEPS +export MESH_WAV="mesh.${waveGRD}.nc" # Mesh grid for wave model for CMEPS #Grid dependent variables for various grids case "${waveGRD}" in