-
Notifications
You must be signed in to change notification settings - Fork 371
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
Add scm_zero_non_iop_tracers
option.
#5182
Conversation
For single-column runs, this sets all tracers in the atmospheric constituent list to `qmin` (typically zero) after the initial condition file (`ncdata`) is read in, but before the IOP file values are applied. As a result, non-IOP tracers are initialized to `qmin` rather than taking their values from the initial condition file, while IOP-defined tracers are unaffected. This option defaults to `.false.`, and hence does not change answers for existing cases. However, it may be considered safer in the future to change the default to `.true.` (at least for non-replay runs), to avoid inconsistencies between the initial condition file state and the IOP file state that exacerbate transient spin-up behavior and potentially bias free-running model results. Like most single column model options, this option has no effect in global runs.
To understand the impact of this, in the DYCOMS case I was testing, here's 0-th time step rain mass mixing ratio (g/kg) vs altitude (m) with (blue) and without (orange) this option enabled: This extra rain mass produces a brief but large increase in surface precipitation: At shorter time steps (this is using 5 sec just to make the issue visible), you can see that without this option, there's rain very high up at the beginning of the simulation (even though there's no actual cloud above 900m): This is the "mild" version of the problem, where I have modified the IOP file to zero out the initial ice cloud in both cases. If I run with the original IOP file, and run at a short time step, much of the boundary layer cloud in the initial condition rains out within minutes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this PR @quantheory and bringing this issue to my attention. I support keeping scm_zero_non_iop_tracers = .false. for this PR. I will be doing some tests setting this to .true. and will issue a PR in the future to change to default once I'm comfortable with it.
@whannah1 Just curious if you've looked at this, though I'm not really sure if this is relevant to you right now. |
@quantheory , the changes look good to me. Thanks for exposing and investigating the problem and putting in the fix. I think it is ready to be merged and I will do so if next is cleared tomorrow. @whannah1 can still take a look when having a chance. |
Add scm_zero_non_iop_tracers option For single-column runs, this sets all tracers in the atmospheric constituent list to qmin (typically zero) after the initial condition file (ncdata) is read in, but before the IOP file values are applied. As a result, non-IOP tracers are initialized to qmin rather than taking their values from the initial condition file, while IOP-defined tracers are unaffected. This option defaults to .false., and hence does not change answers for existing cases. However, it may be considered safer in the future to change the default to .true. (at least for non-replay runs), to avoid inconsistencies between the initial condition file state and the IOP file state that exacerbate transient spin-up behavior and potentially bias free-running model results. Like most single column model options, this option has no effect in global runs. This PR addresses #5177, at least in part. Actually changing default behavior for existing SCM cases would require the option to be enabled in scmlib. [BFB] no impact on existing tests
Merged to next. |
Merged to master. |
For single-column runs, this sets all tracers in the atmospheric
constituent list to
qmin
(typically zero) after the initial conditionfile (
ncdata
) is read in, but before the IOP file values are applied.As a result, non-IOP tracers are initialized to
qmin
rather thantaking their values from the initial condition file, while IOP-defined
tracers are unaffected.
This option defaults to
.false.
, and hence does not change answers forexisting cases. However, it may be considered safer in the future to
change the default to
.true.
(at least for non-replay runs), to avoidinconsistencies between the initial condition file state and the IOP
file state that exacerbate transient spin-up behavior and potentially
bias free-running model results. Like most single column model options,
this option has no effect in global runs.
This PR addresses #5177, at least in part. Actually changing default
behavior for existing SCM cases would require the option to be
enabled in
scmlib
.