release/public-v2: b4b reproducibility for restart runs#246
Conversation
…eproducibility for global runs using the GFS v15p2 suite
…ics/GFS_layer/GFS_restart.F90
SMoorthi-emc
left a comment
There was a problem hiding this comment.
Nevermind, it is ok.
| Sfcprop(nb)%fice(ix) = zero | ||
| if (Sfcprop(nb)%slmsk(ix) == 2) Sfcprop(nb)%slmsk(ix) = 0 | ||
| endif | ||
| ! if (Sfcprop(nb)%fice(ix) < Model%min_lakeice) then |
There was a problem hiding this comment.
May I ask if these statements commented out are required for b4 restart reproducibility? I am curious why this change is required as it might indicate the fice could be <min_lakeice in restart run.
There was a problem hiding this comment.
I guess this question is for Dom.
(this code in my branch is slightly different; it never made it to the dev version).
There was a problem hiding this comment.
I copied over the exact changes that were made in PRs #178 and #212 for develop. I don't think we should try to do something different here than what was done for develop (and what took us - well, actually Moorthi - months to figure out when we finalized the GFS v16 prod equivalent in develop). Please see these two PRs.
There was a problem hiding this comment.
I guess this question is for Dom.
(this code in my branch is slightly different; it never made it to the dev version).
Forgot to say, the code changes in this PR are from you originally - as you said, your slightly different version never made it to develop at that time, I remember those back and forth conversations quite well.
|
Dom,
I think some of this code is from Shan as some of my changes did not make in.
Moorthi
…Sent from my iPhone
On Feb 13, 2021, at 10:35 AM, Dom Heinzeller ***@***.***> wrote:
@climbfuji commented on this pull request.
In io/FV3GFS_io.F90:
> @@ -1077,16 +1077,16 @@ subroutine sfc_prop_restart_read (Sfcprop, Atm_block, Model, fv_domain)
if (Sfcprop(nb)%lakefrac(ix) > zero) then
Sfcprop(nb)%oceanfrac(ix) = zero ! lake & ocean don't coexist in a cell
- if (Sfcprop(nb)%fice(ix) < Model%min_lakeice) then
- Sfcprop(nb)%fice(ix) = zero
- if (Sfcprop(nb)%slmsk(ix) == 2) Sfcprop(nb)%slmsk(ix) = 0
- endif
+! if (Sfcprop(nb)%fice(ix) < Model%min_lakeice) then
I guess this question is for Dom.
(this code in my branch is slightly different; it never made it to the dev version).
Forgot to say, the code changes in this PR are from you originally - as you said, your slightly different version never made it to develop at that time, I remember those back and forth conversations quite well.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
Thanks for the clarification. Nonetheless, I think these changes are good and they definitely solve the problem with the b4b restart reproducibility (the global GFS v15p2 suite runs in release/public-v2 do not give b4b identical results in restart runs without this PR). |
|
This PR is ready to merge. |
Description
This PR and associated PRs below fix the b4b reproducibility issues for the release/public-v2 branches. With these changes, restart runs are b4b identical to continues runs for regional and global applications with both GFS v15p2 and RRFS v1 alpha physics.
Changes:
Testing
See ufs-community/ufs-weather-model#417
Dependencies
NCAR/ccpp-physics#519
#246
ufs-community/ufs-weather-model#417