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

CCPPize Hack shallow convection #195

Merged
merged 58 commits into from
Feb 27, 2025

Conversation

jimmielin
Copy link
Member

@jimmielin jimmielin commented Jan 27, 2025

Originator(s): @jimmielin

Summary (include the keyword ['closes', 'fixes', 'resolves'] and issue number):

Describe any changes made to the namelist:

  • new hack shallow convection namelist options cmfmca_namelist.xml
  • move ZM namelist options to zm_conv_options_namelist.xml

List all files eliminated and why: N/A

List all files added and what they do:

CCPPize Hack shallow convection
A       schemes/hack_shallow/hack_convect_shallow.F90
A       schemes/hack_shallow/hack_convect_shallow.meta
A       schemes/hack_shallow/hack_convect_shallow_namelist.xml
A       test/test_suites/suite_convect_shallow_hack.xml
A       schemes/sima_diagnostics/convect_shallow_diagnostics.F90
A       schemes/sima_diagnostics/convect_shallow_diagnostics.meta

Interstitial schemes for zm_conv_evap
A       schemes/hack_shallow/set_general_conv_fluxes_to_shallow.F90
A       schemes/hack_shallow/set_general_conv_fluxes_to_shallow.meta
A       schemes/hack_shallow/set_shallow_conv_fluxes_to_general.F90
A       schemes/hack_shallow/set_shallow_conv_fluxes_to_general.meta

Interstitial schemes to combine shallow and deep convective fluxes
A       schemes/hack_shallow/convect_shallow_sum_to_deep.F90
A       schemes/hack_shallow/convect_shallow_sum_to_deep.meta

Move ZM namelist options to zm_conv_options scheme
A       schemes/zhang_mcfarlane/zm_conv_options.F90
A       schemes/zhang_mcfarlane/zm_conv_options.meta

Update cloud_fraction_fice to accept top_lev registry quantity (vertical_layer_index_of_cloud_fraction_top)
Add new init-phase only scheme to assign top_lev to trop_cloud_top_lev for CAM5+ macrophysics
M       schemes/cloud_fraction/cloud_fraction_fice.F90
M       schemes/cloud_fraction/cloud_fraction_fice.meta
A       schemes/cloud_fraction/set_cloud_fraction_top.F90
A       schemes/cloud_fraction/set_cloud_fraction_top.meta

List all existing files that have been modified, and describe the changes:
(Helpful git command: git diff --name-status development...<your_branch_name>)

Freeze ChangeLog
M       doc/ChangeLog

Move ZM namelist options to zm_conv_options scheme
R100    schemes/zhang_mcfarlane/zm_convr_namelist.xml   schemes/zhang_mcfarlane/zm_conv_options_namelist.xml
M       suites/suite_cam7.xml
M       test/test_suites/suite_zhang_mcfarlane.xml

Update cloud_fraction_fice to accept top_lev registry quantity (vertical_layer_index_of_cloud_fraction_top)
M       schemes/cloud_fraction/cloud_fraction_fice.F90
M       schemes/cloud_fraction/cloud_fraction_fice.meta
M       suites/suite_cam7.xml
M       test/test_suites/suite_zhang_mcfarlane.xml

Change CMFMC_DP units for consistency with snapshot; update rliq metadata unit
M       schemes/zhang_mcfarlane/zm_convr.F90
M       schemes/zhang_mcfarlane/zm_convr.meta
M       schemes/sima_diagnostics/zm_diagnostics.F90
M       schemes/sima_diagnostics/zm_diagnostics.meta

Update dlf, dif standard names
M       schemes/zhang_mcfarlane/zm_convr.meta

Change constituent properties pointer unit from None to none
M       schemes/sima_diagnostics/sima_state_diagnostics.meta
M       schemes/utilities/geopotential_temp.meta
M       schemes/utilities/qneg.meta
M       schemes/zhang_mcfarlane/zm_conv_convtran.meta

List any test failures:

Is this a science-changing update? New physics package, algorithm change, tuning changes, etc?
New Hack shallow convection scheme

Copy link
Collaborator

@nusbaume nusbaume left a comment

Choose a reason for hiding this comment

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

Good work @jimmielin! I have some question and suggestions, but hopefully nothing too difficult. Of course if you have any issues or concerns with any of my requests just let me know. Thanks!

Copy link
Collaborator

@peverwhee peverwhee left a comment

Choose a reason for hiding this comment

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

thanks @jimmielin !

Copy link
Collaborator

@nusbaume nusbaume left a comment

Choose a reason for hiding this comment

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

Thanks for resolving most of my questions/concerns @jimmielin! I just had a few more questions, mostly related to missed comments from the previous review.

@jimmielin jimmielin requested a review from nusbaume February 21, 2025 16:20
@jimmielin
Copy link
Member Author

Thanks @nusbaume for the comments and suggestions! I believe I have resolved all of these now (except one question on ZM for @cacraigucar).

Copy link
Collaborator

@nusbaume nusbaume left a comment

Choose a reason for hiding this comment

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

Thanks for implementing those final few suggestions @jimmielin! I left un-resolved the two questions that are waiting on other people's input, but neither of them is required. Thanks again!

Copy link
Collaborator

@cacraigucar cacraigucar left a comment

Choose a reason for hiding this comment

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

Concentrated my review on the Zhang-McFarlane impacts in this PR

Comment on lines +23 to +25
real(kind_phys),intent(in) :: zmconv_ke_lnd
real(kind_phys),intent(in) :: zmconv_momcu
real(kind_phys),intent(in) :: zmconv_momcd
Copy link
Collaborator

Choose a reason for hiding this comment

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

Should these writes become part of the namelist generated code (a future issue)? It feels like it is too easy for the informational writes to get out-of-sync with the namelist generated code. As for the missing fields, it makes sense to have the namelist variables written out.

Also, mpi_bcast may need to be eventually added to the generated namelists, if they are not already being done. @peverwhee and @nusbaume - thoughts?

@jimmielin
Copy link
Member Author

Thanks everyone for your reviews!

CAM regression tests: all pass (excluding pre-existing failures)

aux_cam_intel_20250226180412: 55 tests
  ERP_Ln9.f09_f09_mg17.FCSD_HCO.derecho_intel.cam-outfrq9s (Overall: FAIL) details:
    FAIL ERP_Ln9.f09_f09_mg17.FCSD_HCO.derecho_intel.cam-outfrq9s COMPARE_base_rest
  SMS_D_Ln9.f19_f19_mg17.FXHIST.derecho_intel.cam-outfrq9s_amie (Overall: FAIL) details:
    FAIL SMS_D_Ln9.f19_f19_mg17.FXHIST.derecho_intel.cam-outfrq9s_amie SETUP
  SMS_D_Ln9_P1280x1.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FCHIST.derecho_intel.cam-outfrq9s (Overall: FAIL) details:
    FAIL SMS_D_Ln9_P1280x1.ne0CONUSne30x8_ne0CONUSne30x8_mt12.FCHIST.derecho_intel.cam-outfrq9s SETUP

aux_cam_nvhpc_20250226180456: 1 test
ALL PASS
aux_cam_nag_20250226184001: 34 tests
ALL PASS

aux_cam_gnu_20250226184123: 27 tests
ALL PASS

SIMA regression tests passed/baseline changes (will archive baselines once SIMA tag is merged.)

aux_sima_gnu_20250226191636: 12 tests
  SMS_Ln2.ne5_ne5_mg37.FPHYStest.derecho_gnu.cam-outfrq_hack_shallow_derecho (Overall: DIFF) details:
    FAIL SMS_Ln2.ne5_ne5_mg37.FPHYStest.derecho_gnu.cam-outfrq_hack_shallow_derecho NLCOMP
    FAIL SMS_Ln2.ne5_ne5_mg37.FPHYStest.derecho_gnu.cam-outfrq_hack_shallow_derecho BASELINE /glade/campaign/cesm/community/amwg/sima_baselines/latest_gnu: ERROR BFAIL baseline directory '/glade/campaign/cesm/community/amwg/sima_baselines/latest_gnu/SMS_Ln2.ne5_ne5_mg37.FPHYStest.derecho_gnu.cam-outfrq_hack_shallow_derecho' does not exist
  SMS_Ln9.ne5pg3_ne5pg3_mg37.FCAM4.derecho_gnu.cam-outfrq_se_cslam_analy_ic (Overall: DIFF) details:
    FAIL SMS_Ln9.ne5pg3_ne5pg3_mg37.FCAM4.derecho_gnu.cam-outfrq_se_cslam_analy_ic NLCOMP
    FAIL SMS_Ln9.ne5pg3_ne5pg3_mg37.FCAM4.derecho_gnu.cam-outfrq_se_cslam_analy_ic BASELINE /glade/campaign/cesm/community/amwg/sima_baselines/latest_gnu: ERROR BFAIL baseline directory '/glade/campaign/cesm/community/amwg/sima_baselines/latest_gnu/SMS_Ln9.ne5pg3_ne5pg3_mg37.FCAM4.derecho_gnu.cam-outfrq_se_cslam_analy_ic' does not exist
  SMS_Ln9.ne5pg3_ne5pg3_mg37.FCAM7.derecho_gnu.cam-outfrq_se_cslam_analy_ic (Overall: DIFF) details:
    FAIL SMS_Ln9.ne5pg3_ne5pg3_mg37.FCAM7.derecho_gnu.cam-outfrq_se_cslam_analy_ic BASELINE /glade/campaign/cesm/community/amwg/sima_baselines/latest_gnu: ERROR BFAIL some baseline files were missing

aux_sima_intel_20250226191627: 6 tests
  SMS_Ln9.ne5pg3_ne5pg3_mg37.FCAM4.derecho_intel.cam-outfrq_se_cslam_analy_ic (Overall: DIFF) details:
    FAIL SMS_Ln9.ne5pg3_ne5pg3_mg37.FCAM4.derecho_intel.cam-outfrq_se_cslam_analy_ic NLCOMP
    FAIL SMS_Ln9.ne5pg3_ne5pg3_mg37.FCAM4.derecho_intel.cam-outfrq_se_cslam_analy_ic BASELINE /glade/campaign/cesm/community/amwg/sima_baselines/latest_intel: ERROR BFAIL baseline directory '/glade/campaign/cesm/community/amwg/sima_baselines/latest_intel/SMS_Ln9.ne5pg3_ne5pg3_mg37.FCAM4.derecho_intel.cam-outfrq_se_cslam_analy_ic' does not exist
  SMS_Ln9.ne5pg3_ne5pg3_mg37.FCAM7.derecho_intel.cam-outfrq_se_cslam_analy_ic (Overall: DIFF) details:
    FAIL SMS_Ln9.ne5pg3_ne5pg3_mg37.FCAM7.derecho_intel.cam-outfrq_se_cslam_analy_ic BASELINE /glade/campaign/cesm/community/amwg/sima_baselines/latest_intel: ERROR BFAIL some baseline files were missing

hack_convect_shallow test physics check results

 ********** Physics Check Data Results **********

 TIMESTEP:            2

 Variable                                          # Diffs  Max Diff   Max Diff loc (rank, col, lev)
 --------                                          -------  --------   -----------------------------
 air_temperature                                       573  0.22E-15   (25,11,21)
 geopotential_height_wrt_surface                      1045  0.44E-15   (35,11,22)
 tendency_of_air_temperature_due_to_model_physics      784  0.36E-15   (62,1,24)
water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water
                                                       400  0.22E-15   (37,5,24)

 ********** End Physics Check Data Results **********

@jimmielin jimmielin merged commit 299c279 into ESCOMP:development Feb 27, 2025
3 checks passed
jimmielin added a commit that referenced this pull request Feb 27, 2025
Tag name (The PR title should also include the tag name):
atmos_phys0_10_000
Originator(s): @jimmielin

List all `development` PR numbers included in this PR and the title of
each:
* CCPPize Hack shallow convection #195 by @jimmielin
* Update MUSICA index mapping API and CMake script #208 by @boulderdaze

List all automated tests that failed, as well as an explanation for why
they weren't fixed:
* B4B for CAM
* New baselines in CAM7/CAM4 in CAM-SIMA
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: Tag
Development

Successfully merging this pull request may close these issues.

6 participants