Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make consistent use of restart_interval across UFS applications #1700

Merged
merged 30 commits into from
Jun 26, 2023
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
62621c9
remove nco static files
aerorahul Jun 16, 2023
8aae069
restart_interval is a single integer
aerorahul Jun 16, 2023
b50eef3
remove references to rst_invt1 (first restart hour in the list of res…
aerorahul Jun 16, 2023
1df9733
FHMAX in the forecast_ subscripts is agnostic of CDUMP
aerorahul Jun 16, 2023
5c65670
work the logic to determine RERUN
aerorahul Jun 17, 2023
a8809bb
replace restart_interval when specified as a list with an integer
aerorahul Jun 18, 2023
7801455
remove stray fi
aerorahul Jun 18, 2023
307947b
fix shellnorms
aerorahul Jun 18, 2023
39a649a
keep restart_interval_gfs in config.base for ww3. remove in a future PR
aerorahul Jun 18, 2023
e21cf24
fix shell norms on some configs
aerorahul Jun 18, 2023
b65a5a9
define significant cycle variables
aerorahul Jun 21, 2023
a4fcfae
fix shell norms in forecast_*.sh
aerorahul Jun 22, 2023
f2c6156
fix errors
aerorahul Jun 22, 2023
8e145a5
some more cleanup
aerorahul Jun 22, 2023
3eeecf3
provide blank defaults;
aerorahul Jun 22, 2023
d5eca9f
Merge branch 'develop' into feature/restart_interval
aerorahul Jun 22, 2023
d0333e9
Apply suggestions from code review
aerorahul Jun 23, 2023
9cf8fb0
Apply suggestions from code review forecast_postdet.sh
aerorahul Jun 23, 2023
61535b2
Apply suggestions from code review
aerorahul Jun 23, 2023
0614604
Apply suggestions from code review
aerorahul Jun 23, 2023
41b9afc
Apply suggestions from code review
aerorahul Jun 23, 2023
38c460c
Apply suggestions from code review
aerorahul Jun 23, 2023
e7d5c8b
Apply suggestions from code review
aerorahul Jun 23, 2023
50b7e46
Apply suggestions from code review
aerorahul Jun 23, 2023
e433c67
Apply suggestions from code review
aerorahul Jun 23, 2023
86960a0
Apply suggestions from code review
aerorahul Jun 23, 2023
4748fda
shellnorms fixes
aerorahul Jun 23, 2023
d2f3627
Fix syntax error
WalterKolczynski-NOAA Jun 23, 2023
f6765ee
reduce the cycled test cycles. they are too many
aerorahul Jun 23, 2023
24dd9a4
Apply suggestions from code review
WalterKolczynski-NOAA Jun 23, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions parm/config/gfs/config.base.emc.dyn
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like the only changes here are for the shellnorm checks, is that correct or am I missing something?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you are correct.

Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ case "${CASE}" in
export OCNRES=025
export waveGRD='mx025'
;;
*)
*)
export OCNRES=025
export waveGRD='mx025'
;;
Expand Down Expand Up @@ -273,9 +273,6 @@ else
fi
export ILPOST=1 # gempak output frequency up to F120

# GFS restart interval in hours
export restart_interval_gfs=0

export QUILTING=".true."
export OUTPUT_GRID="gaussian_grid"
export WRITE_DOPOST=".true." # WRITE_DOPOST=true, use inline POST
Expand Down
248 changes: 0 additions & 248 deletions parm/config/gfs/config.base.nco.static

This file was deleted.

9 changes: 4 additions & 5 deletions parm/config/gfs/config.efcs
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like the only changes here are for the shellnorm checks, is that correct or am I missing something?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mostly yes.
Except lines 78-82

Original file line number Diff line number Diff line change
Expand Up @@ -72,12 +72,11 @@ else
export DIAG_TABLE="$HOMEgfs/parm/parm_fv3diag/diag_table_da_orig"
fi

# FV3 model namelist parameters to over-ride
export restart_interval=${restart_interval:-6}

# For IAU, write restarts at beginning of window also
if [ $DOIAU_ENKF = "YES" ]; then
export restart_interval="3 -1"
if [[ "${DOIAU_ENKF:-}" = "YES" ]]; then
export restart_interval="3"
else
export restart_interval="6"
fi

# wave model
Expand Down
38 changes: 5 additions & 33 deletions parm/config/gfs/config.fcst
Original file line number Diff line number Diff line change
Expand Up @@ -282,19 +282,11 @@ if [[ "${CDUMP}" =~ "gdas" ]] ; then # GDAS cycle specific parameters
# Variables used in DA cycling
export DIAG_TABLE="${HOMEgfs}/parm/parm_fv3diag/diag_table_da"

# Write restart files, where $number is current model start time.
# restart_interval: $number
# number=0, writes out restart files at the end of forecast.
# number>0, writes out restart files at the frequency of $number and at the end of forecast.
# restart_interval: "$number -1"
# writes out restart files only once at $number forecast hour.
# restart_interval: "$number1 $number2 $number3 ..."
# writes out restart file at the specified forecast hours
export restart_interval=${restart_interval:-6}

# For IAU, write restarts at beginning of window also

if [[ "${DOIAU}" == "YES" ]]; then
export restart_interval="3 6"
export restart_interval="3"
else
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I thought the IAU only rewinded (T - 0.5*DA window)? Further, why this change? This is confusing.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

restart_interval = 3 will write restarts every 3 hours.
restart_interval = "3 6" will write restarts at hours 3 and 6 only.

This change is necessary to address the issue this PR is resolving.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, OK got it. Sorry, this wasn't obvious to me. Thank you!

export restart_interval="6"
fi

# Choose coupling with wave
Expand All @@ -309,27 +301,7 @@ elif [[ "${CDUMP}" =~ "gfs" ]] ; then # GFS cycle specific parameters
export DIAG_TABLE="${HOMEgfs}/parm/parm_fv3diag/diag_table"

# Write gfs restart files to rerun fcst from any break point
export restart_interval_gfs=${restart_interval_gfs:-0}
if (( restart_interval_gfs >= 0 )); then
export restart_interval="${FHMAX_GFS}"
else
rst_list=""
IAU_OFFSET=${IAU_OFFSET:-0}
[[ ${DOIAU} == "NO" ]] && export IAU_OFFSET=0

for ((xfh=restart_interval_gfs+(IAU_OFFSET/2); xfh <= FHMAX_GFS; xfh=xfh+restart_interval_gfs )); do
rst_list="${rst_list} ${xfh}"
xfh=$((xfh+restart_interval_gfs))
done
export restart_interval="${rst_list}"
fi

if [[ "${DO_AERO}" == "YES" ]]; then
# Make sure a restart file is written at the cadence time
if [[ ! "${restart_interval[*]}" =~ ${STEP_GFS} ]]; then
export restart_interval="${STEP_GFS} ${restart_interval}"
fi
fi
export restart_interval=12

# Choose coupling with wave
if [[ "${DO_WAVE}" = "YES" && "${WAVE_CDUMP}" != "gdas" ]]; then
Expand Down
Loading