-
Notifications
You must be signed in to change notification settings - Fork 27
ft: Add Kinematic Driver (KiD) model configuration #4095
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
Conversation
7160992 to
874b360
Compare
|
Probably needs some more cleanup, but would value your input. Dennis: Could you provide feedback on whether the proposed interface isn't too obtrusive for everyone else who wants to do "normal" ClimaAtmos simulations? Anna: We can externalize some parameters later, but given the results (expand the sections above), I think this is a great start and we should merge this! |
c8252b9 to
6fe6b70
Compare
| z_max: 2e3 | ||
| z_elem: 128 | ||
| z_stretch: false | ||
| use_auto_jacobian: true # Needed!! (+only 1 Newton iteration, which is the default) |
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.
| use_auto_jacobian: true # Needed!! (+only 1 Newton iteration, which is the default) |
This shouldn't be needed if you leave the current implicit tendency unchanged.
trontrytel
left a comment
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.
LGTM! But I was also there when most of it was written so I may be biased ;)
6ddd2b2 to
8e32eab
Compare
8e32eab to
5684f5c
Compare
f319497 to
4e4e9b2
Compare
|
After discussions with Dennis yesterday, this PR now treats the implicit tendencies as explicit. This exactly cancels the advection term that approximates propagation of sound waves between the "explicit" and "implicit" tendencies. Also, I have to set |
4e4e9b2 to
4979c36
Compare
78f41b5 to
e47c70a
Compare
e47c70a to
c57445f
Compare
c57445f to
dd55d27
Compare




This pull request introduces a new "kinematic driver" configuration and framework for running prescribed flow field simulations based on the Shipway & Hill (2012) setup. The main changes add support for prescribed velocity profiles, new initial and surface conditions, and associated configuration and plotting tools. These updates enable direct comparison and testing of microphysics schemes in a controlled, kinematic environment.
Key changes include:
Support for Prescribed Flow (Kinematic Driver):
prescribed_flowoption to the configuration system, allowing users to specify a prescribed velocity profile (currentlyShipwayHill2012VelocityProfile). The model infrastructure and types are updated to support this option and propagate it through the simulation. [1] [2] [3] [4] [5] [6] [7]New Initial and Surface Conditions:
ShipwayHill2012initial condition and surface setup, matching the profiles and boundary conditions described in Shipway & Hill (2012). These are now selectable via configuration. [1] [2] [3]Kinematic Driver Configuration and Example:
kinematic_driver.yml) and a corresponding example script (KiD_driver.jl) to demonstrate and test the kinematic driver setup. [1] [2]Upwinding and Advection Improvements:
first_order_kid) for vertical advection, with special handling for the prescribed flow scenario. [1] [2] [3]Postprocessing and Documentation Updates:
These changes collectively enable controlled, reproducible kinematic microphysics experiments within the modeling framework.
Illustrative results
Simulation with Equil+0M, with precipitation turned off:
KiD comparison: https://buildkite.com/clima/kinematicdriver-ci/builds/913/steps/canvas?sid=019a1277-c888-440f-a2b7-8eb2e6b6242e
Simulation with Equil+0M, with precipitation turned on:
KiD comparison: https://buildkite.com/clima/kinematicdriver-ci/builds/913/steps/canvas?sid=019a1277-c889-4001-b378-396d34aa2a8a