-
Notifications
You must be signed in to change notification settings - Fork 4
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 flux module #320
Add flux module #320
Conversation
c2086ee
to
2fa3ef1
Compare
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.
Looks good! The driver is much cleaner, and push_pull.jl is gone! 🎉 I had some questions about the tests - some clarifying comments would be great.
f8e65a5
to
31747fd
Compare
author LenkaNovak <[email protected]> 1685729304 -0700 committer LenkaNovak <[email protected]> 1686362388 -0700 init in src w tests update amip experiment slabplanet runs amip runs component model test passes fix combine_surfaces_from_sol! import viz fix add more unit tests docs and interface bug fixes conservation fix `combine_surfaces!` docstring fix revs rev2 doc comment apply update_field! and get_field in push_pull.jl fix fix slabplanet runs finalize `compute_combined_turbulent_fluxes!` init in src w tests update amip experiment slabplanet runs amip runs component model test passes fix combine_surfaces_from_sol! import viz fix add more unit tests docs and interface bug fixes conservation fix `combine_surfaces!` docstring fix revs rev2 doc comment slabplanet runs modularize method import fix collapse `update_sim!` tests run docs + format update ... > import..._fields revs component test fix
31747fd
to
9aac5b7
Compare
get_field(sim::ClimaAtmosSimulation, ::Val{:radiative_energy_flux}) = level(sim.integrator.p.ᶠradiation_flux, half) | ||
get_field(sim::ClimaAtmosSimulation, ::Val{:liquid_precipitation}) = | ||
sim.integrator.p.col_integrated_rain .+ sim.integrator.p.col_integrated_snow # all fallen snow melts for now | ||
get_field(sim::ClimaAtmosSimulation, ::Val{:snow_precipitation}) = sim.integrator.p.col_integrated_snow .* FT(0) |
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 know it was not introduced in this PR, but we can extract FT
as
FT = Spaces.undertype(axes(Y.c.ρe_tot))
(or any other Y
field) instead of passing it as an argument to the atmos_init
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.
Looks great!
bors r+ |
Build succeeded! The publicly hosted instance of bors-ng is deprecated and will go away soon. If you want to self-host your own instance, instructions are here. If you want to switch to GitHub's built-in merge queue, visit their help page. |
Apply ClimaLSM API soil resistance changes Apply ClimaComms API changes; remove ClimaCommsMPI Update ClimaAtmos CLI options Use ClimaAtmos v0.14.1 ClimaAtmos change: rename Y.f.w -> Y.f.u₃ ClimaLSM API change: use make_exp_tendency in place of make_ode_function Use ClimaComms.CPUDevice() Remove simulation.is_distributed from Atmos change PR #1634 WIP: Apply changes from surface fluxes rework CA PR #1447 Rebase onto main after PRs #315 & #320 WIP: update to ClimaAtmos surface rework Co-authored-by: Lenka Novak <[email protected]> TEMP ONLY: Test CA surface setup fix dev branch Adapt flux calculation given CA current Surface Setup Some WIP fixes w/ Lenka Co-authored-by: Lenka Novak <[email protected]> CI: Try Float64 for AMIP modular experiment Increase alloc limit for perf test Update to ClimaAtmos v0.15.0 conserving, need Atmos #1803 test ci with Atmos fix ClimaCore up add refs to TD and CAP init with 0 atmos fluxes Atmos-commit dep perf project test project pip perf Manifest flame fix rm idealinsol true rm idealized insol increase allocs rm debug.jl clean climaatmos_init.jl
Apply ClimaLSM API soil resistance changes Apply ClimaComms API changes; remove ClimaCommsMPI Update ClimaAtmos CLI options Use ClimaAtmos v0.14.1 ClimaAtmos change: rename Y.f.w -> Y.f.u₃ ClimaLSM API change: use make_exp_tendency in place of make_ode_function Use ClimaComms.CPUDevice() Remove simulation.is_distributed from Atmos change PR #1634 WIP: Apply changes from surface fluxes rework CA PR #1447 Rebase onto main after PRs #315 & #320 WIP: update to ClimaAtmos surface rework Co-authored-by: Lenka Novak <[email protected]> TEMP ONLY: Test CA surface setup fix dev branch Adapt flux calculation given CA current Surface Setup Some WIP fixes w/ Lenka Co-authored-by: Lenka Novak <[email protected]> CI: Try Float64 for AMIP modular experiment Increase alloc limit for perf test Update to ClimaAtmos v0.15.0 conserving, need Atmos #1803 test ci with Atmos fix ClimaCore up add refs to TD and CAP init with 0 atmos fluxes Atmos-commit dep perf project test project pip perf Manifest flame fix rm idealinsol true rm idealized insol increase allocs rm debug.jl clean climaatmos_init.jl race condition fix make Float64 default for all Buildkites typo
Apply ClimaLSM API soil resistance changes Apply ClimaComms API changes; remove ClimaCommsMPI Update ClimaAtmos CLI options Use ClimaAtmos v0.14.1 ClimaAtmos change: rename Y.f.w -> Y.f.u₃ ClimaLSM API change: use make_exp_tendency in place of make_ode_function Use ClimaComms.CPUDevice() Remove simulation.is_distributed from Atmos change PR #1634 WIP: Apply changes from surface fluxes rework CA PR #1447 Rebase onto main after PRs #315 & #320 WIP: update to ClimaAtmos surface rework Co-authored-by: Lenka Novak <[email protected]> TEMP ONLY: Test CA surface setup fix dev branch Adapt flux calculation given CA current Surface Setup Some WIP fixes w/ Lenka Co-authored-by: Lenka Novak <[email protected]> CI: Try Float64 for AMIP modular experiment Increase alloc limit for perf test Update to ClimaAtmos v0.15.0 conserving, need Atmos #1803 test ci with Atmos fix ClimaCore up add refs to TD and CAP init with 0 atmos fluxes Atmos-commit dep perf project test project pip perf Manifest flame fix rm idealinsol true rm idealized insol increase allocs rm debug.jl clean climaatmos_init.jl race condition fix make Float64 default for all Buildkites typo up julia 1.8.5 up julia 1.8.5
Apply ClimaLSM API soil resistance changes Apply ClimaComms API changes; remove ClimaCommsMPI Update ClimaAtmos CLI options Use ClimaAtmos v0.14.1 ClimaAtmos change: rename Y.f.w -> Y.f.u₃ ClimaLSM API change: use make_exp_tendency in place of make_ode_function Use ClimaComms.CPUDevice() Remove simulation.is_distributed from Atmos change PR #1634 WIP: Apply changes from surface fluxes rework CA PR #1447 Rebase onto main after PRs #315 & #320 WIP: update to ClimaAtmos surface rework Co-authored-by: Lenka Novak <[email protected]> TEMP ONLY: Test CA surface setup fix dev branch Adapt flux calculation given CA current Surface Setup Some WIP fixes w/ Lenka Co-authored-by: Lenka Novak <[email protected]> CI: Try Float64 for AMIP modular experiment Increase alloc limit for perf test Update to ClimaAtmos v0.15.0 conserving, need Atmos #1803 test ci with Atmos fix ClimaCore up add refs to TD and CAP init with 0 atmos fluxes Atmos-commit dep perf project test project pip perf Manifest flame fix rm idealinsol true rm idealized insol increase allocs rm debug.jl clean climaatmos_init.jl race condition fix make Float64 default for all Buildkites typo up julia 1.8.5 up julia 1.8.5 rev rev rev eps(FT)
Apply ClimaLSM API soil resistance changes Apply ClimaComms API changes; remove ClimaCommsMPI Update ClimaAtmos CLI options Use ClimaAtmos v0.14.1 ClimaAtmos change: rename Y.f.w -> Y.f.u₃ ClimaLSM API change: use make_exp_tendency in place of make_ode_function Use ClimaComms.CPUDevice() Remove simulation.is_distributed from Atmos change PR #1634 WIP: Apply changes from surface fluxes rework CA PR #1447 Rebase onto main after PRs #315 & #320 WIP: update to ClimaAtmos surface rework Co-authored-by: Lenka Novak <[email protected]> TEMP ONLY: Test CA surface setup fix dev branch Adapt flux calculation given CA current Surface Setup Some WIP fixes w/ Lenka Co-authored-by: Lenka Novak <[email protected]> CI: Try Float64 for AMIP modular experiment Increase alloc limit for perf test Update to ClimaAtmos v0.15.0 conserving, need Atmos #1803 test ci with Atmos fix ClimaCore up add refs to TD and CAP init with 0 atmos fluxes Atmos-commit dep perf project test project pip perf Manifest flame fix rm idealinsol true rm idealized insol increase allocs rm debug.jl clean climaatmos_init.jl race condition fix make Float64 default for all Buildkites typo up julia 1.8.5 up julia 1.8.5 rev rev eps(FT) unify q_sfc and q_sfc spec viz_checker fix
Apply ClimaLSM API soil resistance changes Apply ClimaComms API changes; remove ClimaCommsMPI Update ClimaAtmos CLI options Use ClimaAtmos v0.14.1 ClimaAtmos change: rename Y.f.w -> Y.f.u₃ ClimaLSM API change: use make_exp_tendency in place of make_ode_function Use ClimaComms.CPUDevice() Remove simulation.is_distributed from Atmos change PR #1634 WIP: Apply changes from surface fluxes rework CA PR #1447 Rebase onto main after PRs #315 & #320 WIP: update to ClimaAtmos surface rework Co-authored-by: Lenka Novak <[email protected]> TEMP ONLY: Test CA surface setup fix dev branch Adapt flux calculation given CA current Surface Setup Some WIP fixes w/ Lenka Co-authored-by: Lenka Novak <[email protected]> CI: Try Float64 for AMIP modular experiment Increase alloc limit for perf test Update to ClimaAtmos v0.15.0 conserving, need Atmos #1803 test ci with Atmos fix ClimaCore up add refs to TD and CAP init with 0 atmos fluxes Atmos-commit dep perf project test project pip perf Manifest flame fix rm idealinsol true rm idealized insol increase allocs rm debug.jl clean climaatmos_init.jl race condition fix make Float64 default for all Buildkites typo up julia 1.8.5 up julia 1.8.5 rev rev eps(FT) unify q_sfc and q_sfc spec viz_checker fix rev q_vap fix
Purpose
closes #321 (see for details)