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 check_energy_chng calls (and inputs) for ZM scheme / CAM7 suite #192

Open
jimmielin opened this issue Jan 23, 2025 · 0 comments
Open
Labels
enhancement New feature or request

Comments

@jimmielin
Copy link
Member

jimmielin commented Jan 23, 2025

Branched out from #186 on discussion for suite_cam7.xml

Copying @cacraigucar

@nusbaume originally wrote:

I believe we need to add another set of check_energy calls after the ZM block here:

@jimmielin originally wrote:

Thanks @nusbaume, also wanted to add that before running the ZM scheme, the following should be called to zero the inputs to check_energy_chng:

<scheme>check_energy_zero_fluxes</scheme>

Some inputs need to be provided to check_energy_chng to actually check the energy changes match the boundary fluxes.

Based on physpkg.F90 calls to check_energy_chng after convect_deep_tend:

    ! Check energy integrals, including "reserved liquid"
    flx_cnd(:ncol) = prec_dp(:ncol) + rliq(:ncol)
    snow_dp(:ncol) = snow_dp(:ncol) + rice(:ncol)
    call check_energy_cam_chng(state, tend, "convect_deep", nstep, ztodt, zero, flx_cnd, snow_dp, zero)
    snow_dp(:ncol) = snow_dp(:ncol) - rice(:ncol)

the following inputs need to be provided (as an output from the ZM scheme):

  • scheme_name = "convect_deep"
  • net_liquid_and_lwe_ice_fluxes_through_top_and_bottom_of_atmosphere_column ("flx_cnd" in check_energy_chng) = prec_dp(:ncol) + rliq(:ncol)
  • net_lwe_ice_fluxes_through_top_and_bottom_of_atmosphere_column ("flx_ice" in check_energy_chng; I don't like how the above code is recycling snow_dp there simply for calling check_energy_cam_chng) = snow_dp(:ncol) + rice(:ncol)

I realized I have to make the same changes for the shallow convection. Here is how I added these fluxes for my scheme: jimmielin@8c9b103

It looks like snow_dp comes from zm_conv_evap, so that needs to be provided in the interstitial that renames general to deep. But in the case of ZM, rice has to be added on top of it. Maybe pass net_lwe_ice_fluxes_through_top_and_bottom_of_atmosphere_column into both the scheme that computes rice then add snow_dp on top of it in the interstitial.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: To Do
Development

No branches or pull requests

1 participant