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 more rigorous balance checks for energy #202

Open
billsacks opened this issue Dec 29, 2017 · 4 comments
Open

Add more rigorous balance checks for energy #202

billsacks opened this issue Dec 29, 2017 · 4 comments
Labels
enhancement new capability or improved behavior of existing capability

Comments

@billsacks
Copy link
Member

billsacks commented Dec 29, 2017

From @billsacks on March 17, 2017 20:58

BalanceCheckMod has rigorous balance checks for water - comparing the (endwb - begwb) difference with the fluxes in and out. However, if I understand our energy balance checks correctly, they are somewhat less rigorous: They compare various energy fluxes (which is good), but don't go so far as to compare the net energy flux with the change in energy content of the column. So, for example, we could have some bug that causes soil temperatures to constantly increase (i.e., an artificial source of energy), and as far as I can tell, the current balance checks would not catch that.

The new routines in BalanceCheckMod that are about to come to the trunk - ComputeHeatLake and ComputeHeatNonLake (adapted from some code that @dlawren put in place a few years ago, and with great help from both @dlawren and @olyson ) - could facilitate adding more rigorous energy balance checks: comparing the change in total column energy content with the net fluxes.

In addition to having column-level energy balance checks like this, we would likely also want gridcell-level energy balance checks bracketing the entire run loop - similar to what's discussed for gridcell-level water balance checks in #201 .

For these energy balance checks to pass, we'd probably need to address some of the TODO notes in BalanceCheckMod:

        ! TODO(wjs, 2017-03-11) Canopy water currently doesn't have an explicit
        ! temperature; thus, we only add its latent heat of fusion. Eventually, we should
        ! probably track its temperature explicitly - or at least give it an implicit
        ! temperature for the sake of these energy calculations (I think that's needed for
        ! full conservation).
     ! TODO(wjs, 2017-03-11) Include heat content of water in lakes, once we include
     ! lake water as an explicit water state (https://github.com/NCAR/CLM/issues/2)

Also, we'd probably need to track the temperature of water lost via runoff. And there may be some other sources of unaccounted-for energy as well which we would need to address.

Copied from original issue: NCAR/CLM#4

@billsacks
Copy link
Member Author

billsacks commented Dec 29, 2017

From @billsacks on April 11, 2017

Sean Swenson thinks that we don't conserve energy when water moves through the soil: he thinks that the water simply takes on the temperature of the layer into which it's moving. We'd need to fix that in order to conserve energy.

@billsacks billsacks added the enhancement new capability or improved behavior of existing capability label Dec 29, 2017
@billsacks
Copy link
Member Author

From @mvertens on April 11, 2017 17:53

Does this need to be added to the release task list?

On Tue, Apr 11, 2017 at 11:48 AM, Bill Sacks [email protected]
wrote:

Sean Swenson thinks that we don't conserve energy when water moves through
the soil: he thinks that the water simply takes on the temperature of the
layer into which it's moving. We'd need to fix that in order to conserve
energy.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/NCAR/CLM/issues/4#issuecomment-293343200, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AHlxE0qAMpkTKq05u_DmpyUzTQ4hxrLYks5ru7zqgaJpZM4MhGBu
.

@billsacks
Copy link
Member Author

billsacks commented Dec 29, 2017

From @billsacks on April 11, 2017

No

@billsacks
Copy link
Member Author

billsacks commented Dec 29, 2017

From @billsacks on April 28, 2017

Note that, with the change in clm4_5_15_r235 (addition of for_testing_zero_dynbal_fluxes namelist flag), it's possible that we sometimes won't conserve gridcell-level water and energy (if this flag is set). We'll need to handle this case, probably by introducing a term to track the lack of conservation, and including that term in the balance checks.

@billsacks billsacks added type: enhance - science and removed enhancement new capability or improved behavior of existing capability labels Feb 15, 2018
@billsacks billsacks added enhancement new capability or improved behavior of existing capability and removed type: enhance - science labels May 24, 2019
samsrabin pushed a commit to samsrabin/CTSM that referenced this issue May 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement new capability or improved behavior of existing capability
Projects
None yet
Development

No branches or pull requests

1 participant