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

SCM runs retain constituents from initial condition #5177

Open
quantheory opened this issue Sep 7, 2022 · 1 comment
Open

SCM runs retain constituents from initial condition #5177

quantheory opened this issue Sep 7, 2022 · 1 comment
Assignees

Comments

@quantheory
Copy link
Contributor

I've been experimenting with DYCOMS-II RF02 single-column simulations to get a feel for how drizzle is behaving in E3SMv2 (and its sensitivity to resolution), and I noticed some weird behaviors in the first few time steps that turned out to be due to extra data from the initial conditions file that I wasn't expecting. The cloud liquid field from the initial conditions was ignored because it was specified in the the IOP file, but the ice cloud and rain fields were read in from the ncdata file, and at shorter time steps there was enough there to "rain out" most of the initial cloud, which then takes some time to recover. This is a pretty mild effect at the default time step, but still lengthens the transient "spinup" behavior of the simulation a bit.

I think that what should happen here is that the constituent array should be initialized to zero (or qmin), except for those constituents that are specified in the IOP file. I implemented such a change, and the weird spinup behavior went away in the DYCOMS case.

I will try to put a PR together for this later today, adding a namelist variable to zero out these fields. Not sure what to name it; maybe scm_ignore_non_iop_tracers?

@quantheory
Copy link
Contributor Author

Tagging @bogensch

wlin7 added a commit that referenced this issue Oct 4, 2022
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
wlin7 added a commit that referenced this issue Oct 5, 2022
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant