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

Add flux module #320

Merged
merged 1 commit into from
Jun 14, 2023
Merged

Add flux module #320

merged 1 commit into from
Jun 14, 2023

Conversation

LenkaNovak
Copy link
Collaborator

@LenkaNovak LenkaNovak commented Jun 8, 2023

Purpose

closes #321 (see for details)


  • I have read and checked the items on the review checklist.

@LenkaNovak LenkaNovak self-assigned this Jun 12, 2023
@LenkaNovak LenkaNovak marked this pull request as ready for review June 13, 2023 16:37
Copy link
Member

@juliasloan25 juliasloan25 left a 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.

docs/src/fieldexchanger.md Show resolved Hide resolved
docs/src/fluxcalculator.md Outdated Show resolved Hide resolved
src/FieldExchanger.jl Outdated Show resolved Hide resolved
src/FieldExchanger.jl Show resolved Hide resolved
test/field_exchanger_tests.jl Outdated Show resolved Hide resolved
test/field_exchanger_tests.jl Outdated Show resolved Hide resolved
test/field_exchanger_tests.jl Outdated Show resolved Hide resolved
author LenkaNovak <lenka@caltech.edu> 1685729304 -0700
committer LenkaNovak <lenka@caltech.edu> 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
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)
Copy link
Member

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

Copy link
Member

@juliasloan25 juliasloan25 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

@LenkaNovak
Copy link
Collaborator Author

bors r+

@bors
Copy link
Contributor

bors bot commented Jun 14, 2023

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.
For more help, visit the forum.

If you want to switch to GitHub's built-in merge queue, visit their help page.

@bors bors bot merged commit 64738b5 into main Jun 14, 2023
8 checks passed
@bors bors bot deleted the ln/flux-module branch June 14, 2023 20:16
valeriabarra added a commit that referenced this pull request Jun 14, 2023
@valeriabarra valeriabarra mentioned this pull request Jun 15, 2023
LenkaNovak pushed a commit that referenced this pull request Jun 22, 2023
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 <lenka@caltech.edu>

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 <lenka@caltech.edu>

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
LenkaNovak pushed a commit that referenced this pull request Jun 23, 2023
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 <lenka@caltech.edu>

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 <lenka@caltech.edu>

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
LenkaNovak pushed a commit that referenced this pull request Jun 23, 2023
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 <lenka@caltech.edu>

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 <lenka@caltech.edu>

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
LenkaNovak pushed a commit that referenced this pull request Jun 26, 2023
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 <lenka@caltech.edu>

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 <lenka@caltech.edu>

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)
LenkaNovak pushed a commit that referenced this pull request Jun 27, 2023
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 <lenka@caltech.edu>

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 <lenka@caltech.edu>

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
LenkaNovak pushed a commit that referenced this pull request Jun 28, 2023
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 <lenka@caltech.edu>

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 <lenka@caltech.edu>

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Move push_pull!.jl functionality to src/
3 participants