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

Complete Zhang McFarlane conversion to CCPP #186

Merged
merged 57 commits into from
Jan 24, 2025
Merged
Changes from 2 commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
c6f2699
Metadata completed and partial namelist
cacraigucar May 17, 2024
c6ddcb4
Remove unused variables
cacraigucar May 17, 2024
2e96710
Cleanup3 updates and namelist xml file added
cacraigucar May 23, 2024
3c6447a
put back in dif inside zm_convr_run
cacraigucar May 24, 2024
2abb58d
Remove dif from calling list
cacraigucar May 24, 2024
2d7b589
Bring limcnv calculation into init
cacraigucar May 29, 2024
5b89cb5
Update ZM metadata, add namelist and preliminary mods for CAM-SIMA co…
cacraigucar Jun 14, 2024
2208d45
Remove prdsnow completely
cacraigucar Jun 14, 2024
70c0450
Add missing declaration for standard_name
cacraigucar Jun 14, 2024
2252688
hook up constituents
cacraigucar Jun 18, 2024
c8076de
Updates to get ZM to compile in CAM-SIMA
cacraigucar Jul 15, 2024
102cd40
Merge tag 'atmos_phys0_03_000' into atmos_phys_zmcleanup3
cacraigucar Jul 24, 2024
755a07b
Fixes for cleanup3
cacraigucar Aug 5, 2024
e8dc85f
additional changes to get ZM running in CAM-SIMA
cacraigucar Aug 7, 2024
6cf8164
Merge remote-tracking branch 'court/diagnostics' into atmos_phys_zmcl…
cacraigucar Aug 7, 2024
c790696
Preliminary zm_diagnostics
cacraigucar Aug 7, 2024
00c566d
preliminary diagnostics for ZM
cacraigucar Aug 14, 2024
d9d0e5d
Merge pull request #110 from ESCOMP/development
cacraigucar Aug 15, 2024
721142e
Merge tag 'atmos_phys_0_04_001' into atmos_phys_zmcleanup3
cacraigucar Aug 23, 2024
34e609b
Remove zm_org logic per Rich Neale's advice
cacraigucar Aug 23, 2024
aba6bee
Changes to get ZM to run in CAM-SIMA
cacraigucar Aug 28, 2024
094d677
Changes to fix answers - now roundoff
cacraigucar Sep 19, 2024
fd27d14
Change Liceense to Apache 2.0
nusbaume Sep 24, 2024
592fe83
Remove old license file.
nusbaume Sep 24, 2024
bff9925
cleanup and fix a couple of bugs
cacraigucar Sep 27, 2024
752c550
add some ZM diagnostics
cacraigucar Sep 30, 2024
93a1dbf
Merge pull request #121 from ESCOMP/development
jimmielin Sep 30, 2024
f8ce60b
Merge pull request #130 from ESCOMP/development
nusbaume Oct 3, 2024
d17b4ed
Next phase of updates to ZM, including introducing zm_tendency_diagno…
cacraigucar Oct 11, 2024
307d8bc
preliminary diagnostics
cacraigucar Oct 22, 2024
67927f1
Merge pull request #146 from ESCOMP/development
mwaxmonsky Oct 25, 2024
e10f811
Upgrading to atmos_phys0_07_000 (#158)
jimmielin Nov 19, 2024
cb796e9
Add diagnostics for ZM
cacraigucar Nov 26, 2024
5b34c32
Merge remote-tracking branch 'upstream/development' into atmos_phys_z…
cacraigucar Dec 9, 2024
f0f9ac6
Further cleanup
cacraigucar Dec 9, 2024
3d44c2b
Finalize ZM diagnostics
cacraigucar Dec 16, 2024
3349c8f
restore diagnostic message
cacraigucar Dec 18, 2024
73d6a7d
Fix error message
cacraigucar Dec 18, 2024
d119665
Merge remote-tracking branch 'upstream/development' into atmos_phys_z…
cacraigucar Dec 19, 2024
2380fa6
Make zm_conv_evap variables generic so it can be called by convect_sh…
cacraigucar Dec 24, 2024
5766e67
Update NamesNotInDictionary ane preliminary ChangeLog
cacraigucar Dec 24, 2024
c3de846
Upgrading to atmos_phys0_07_001 (#187)
jimmielin Dec 31, 2024
52e951e
Address reviewer comments
cacraigucar Jan 13, 2025
a6e3d34
Merge tag 'atmos_phys0_07_001' into atmos_phys_zmcleanup4
cacraigucar Jan 13, 2025
5789a10
Address one more review comment
cacraigucar Jan 13, 2025
a7f33e5
Address second round of reviewer comments
cacraigucar Jan 14, 2025
9d03025
one more change from second reviewer comments
cacraigucar Jan 14, 2025
4eaff0d
Update CAM7 SDF
cacraigucar Jan 16, 2025
582a284
Merge remote-tracking branch 'upstream/development' into atmos_phys_z…
cacraigucar Jan 16, 2025
508f8df
Address more reviewer comments
cacraigucar Jan 17, 2025
be92b76
address more reviewer comments
cacraigucar Jan 22, 2025
9834767
Merge remote-tracking branch 'refs/remotes/origin/atmos_phys_zmcleanu…
cacraigucar Jan 22, 2025
3cf1473
further reviewer comment cleanup
cacraigucar Jan 22, 2025
c5b16f7
More reviewer comments
cacraigucar Jan 23, 2025
1ef9358
One more change
cacraigucar Jan 23, 2025
27e410b
Address more reviewer comments
cacraigucar Jan 23, 2025
7d1ab92
Update NamesNotInDictionary.txt
cacraigucar Jan 23, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion schemes/cloud_fraction/cloud_fraction_fice.meta
Original file line number Diff line number Diff line change
@@ -24,7 +24,7 @@
dimensions = ()
intent = in
[ top_lev ]
standard_name = index_of_pressure_at_troposphere_cloud_top
standard_name = vertical_layer_index_of_troposphere_cloud_top
units = index
type = integer
dimensions = ()
2 changes: 1 addition & 1 deletion schemes/zhang_mcfarlane/zm_conv_evap.F90
Original file line number Diff line number Diff line change
@@ -236,7 +236,7 @@ subroutine zm_conv_evap_run(ncol, pver, pverp, &
end do

! set output precipitation rates (m/s)
! convert from precip to kg/m2/s
! convert from 'kg m-2 s-1' to 'm s-1'
prec_gen(:ncol) = flxprec(:ncol,pverp) / 1000._kind_phys
snow(:ncol) = flxsnow(:ncol,pverp) / 1000._kind_phys

4 changes: 4 additions & 0 deletions suites/suite_cam7.xml
Original file line number Diff line number Diff line change
@@ -60,6 +60,10 @@
<scheme>geopotential_temp</scheme>
<scheme>zm_diagnostics</scheme>

Copy link
Collaborator

Choose a reason for hiding this comment

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

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

Suggested change
<!-- Check that energy and water changes match the boundary fluxes -->
<scheme>check_energy_scaling</scheme>
<scheme>check_energy_chng</scheme>

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

added

Copy link
Member

@jimmielin jimmielin Jan 22, 2025

Choose a reason for hiding this comment

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

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.

Or if this is too much work feel free to open an issue? I can add this since I made check_energy_chng so I am the person to blame 😃

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@jimmielin - can we open this as a new issue? I have converted ZM, and we can make convect_deep with its additional features a new PR? I'm literally on my last edits and I want to avoid feature creep (and missing deadlines)

Copy link
Member

Choose a reason for hiding this comment

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

@cacraigucar agreed, I am happy to defer this to the future - I can work on this as an example of how check_energy_chng is called as I didn't have a good example to work with when I converted it.

Added issue #192

Copy link
Collaborator

Choose a reason for hiding this comment

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

This all sounds like a good plan to me! I'm keeping this open so we can find it if need be, but feel free to consider it "resolved" for this PR. Thanks!

<!-- Check that energy and water change matches the boundary fluxes -->
<scheme>check_energy_scaling</scheme>
<scheme>check_energy_chng</scheme>

</group>

<!-- **********Physics after the coupler************ -->
File renamed without changes.
36 changes: 0 additions & 36 deletions to_be_ccppized/units.F90

This file was deleted.