-
Notifications
You must be signed in to change notification settings - Fork 26
Allow for Modifications to DYCOMS-RF02 Initial Conditions via Config #3951
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
base: main
Are you sure you want to change the base?
Conversation
4188840
to
8daca0f
Compare
8daca0f
to
25240aa
Compare
"Is there a way to collapse the if-else statements for selecting initial conditions down into something cleaner?" was something that was sort of being discussed. |
aec6dfe
to
a854f35
Compare
@akshaysridhar, @oalcabes, I think this is ready for review. Off the top of my head, I can't figure out a way to make the type_getters.jl ifelse statements less verbose. I was also wondering if maybe it would be better to directly update the APL library functions instead of importing them, then overwriting them, but that might be more trouble than it's worth. It kinda defeats the purpose of allowing other people to make similar modifications because then that means that updating the APL functions becomes part of the steps, and that means it's no longer contained within just ClimaAtmos. Thanks guys! |
edmfx_filter: true | ||
prognostic_tke: true | ||
moist: "nonequil" | ||
cloud_model: "quadrature_sgs" |
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.
oops, this should be getting ran with grid_scale instead
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.
is this the case for both prognostic and diagnostic or only diagnostic? This is referring to cloud_model right?
# Creating custom arguments for perturbation experiments | ||
In cases where it is of interest to run ensembles of the same model configuration but with perturbed initial conditions, it may be of use to add new keyword arguments to the .yml file. The idea is to allow modifications to initial conditions to be passed directly through the .yml file and then creating multiple copies of the files but with different variations and combinations of these parameters. | ||
|
||
As an example, we will explore modifying the total water mixing ratio (`q_tot_0`), liquid-ice potential temperature profiles (`theta_0` & `theta_i`), and initial boundary layer height (`z_i`) in the DYCOMS-RF02 simulation setup. |
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.
It might be useful to talk to Nat, Costa & Julian about how they've implemented this for calibration -- I don't know how similar what you've done is to that?
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.
@nefrathenrici @costachris what are your opinions of doing things this way?
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.
I think this is a great start (especially the initial conditions) but modifying the source code is probably time consuming and error-prone. I think the perturbation variables should be specified via parameters rather than parsed args, with an extra dycoms initial condition to read them in automatically.
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.
If you want to merge this quickly, I would request a test case that can run as part of buildkite to ensure that this feature stays supported.
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.
@nefrathenrici is what I put in the pipeline.yml okay? I consulted with Sajjad cause I was not really sure what to put for a test case.
I agree that it's also a tedious process, I wish I had more time to restructure it.
2671d4f
to
957694a
Compare
Purpose
Additional configuration variables were added to pass arguments to redefined APL functions that allow for changes in the initial conditions profiles.
To-do
Content