-
Notifications
You must be signed in to change notification settings - Fork 334
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
Replaces CLUBB with new version of CLUBB (V2) #2897
Conversation
I still need to remove some old leftover files in clubb folder under physics to see if the model still compiles. [Non-BFB] - Non Bit-For-Bit
The code compiles fine and runs fine for 1 time step in debug mode [Non-BFB] - Non Bit-For-Bit See confluence for a more detailed description about these tags.
The model can now run fine after I set the flags correctly and mimiced all changes from the CESM model.
C11 changed from 0.8 to 0.7 mult_coef changed from 0.5 to 1.500000 Skw_denom_coef changed from 4.0 to 0.0
[Non-BFB] - Non Bit-For-Bit See confluence for a more detailed description about these tags.
Design Doc: https://acme-climate.atlassian.net/wiki/spaces/ED/pages/1001455620/W9+CLUBB+v2 I have recently rebased this branch. I am running some tests and will soon update the PR description with the new diagnostics info. |
telecon: encountering issues with testing on different machines. |
I have run the model for 6 years and diagnostics from 2nd to 6th year are at: https://web.lcrc.anl.gov/public/e3sm/diagnostic_output/bsingh/2-6yr/SMS.ne30_ne30.FC5AV1C-L.anvil_intel.clbv2_rbsd_1_0cb6bd4-SMS.ne30_ne30.FC5AV1C-L.anvil_intel.def_mstr_b5aaa6b7d228_clbv2_rbsd_1/ Tagging @golaz and @polunma so that they can take a look at the diagnostics. |
This PR is ready to merge after it is approved. |
@golaz please approve this. |
@singhbalwinder : can you document this in a little more details on Confluence? If already done, please add link here. In particular I'd like to see:
|
@golaz , @singhbalwinder , I have started a design doc here. Please let me know what I need to add. |
@vlarson : thanks for working on the design document. @singhbalwinder: I can live with AMWG figures for now, but it would be good if you learned how to use E3SM Diags in the future. I think it's pretty straightforward. |
…ton's changes to clubb_intr's handling of pdf_params. larson-group/cam#125
… of the column loop. They are never changed within clubb_intr and are passed to clubb as intent(in), so they should only need to be set once. larson-group/cam#125
Merged to master and submitted requests to bless DIFFs for sandiatoss3 (37), melvin(7) and anvil(2). |
2 PET tests failed. Those will require a closer look: |
@singhbalwinder , are you aware whether this PR could cause threading to be non-BFB? The two PET tests apparently say so. (DIFF between base and single-thread, in addition to DIFF from latest baseline) @rljacob , at this point, should the merge be reverted? It may take a while to investigate. |
@singhbalwinder , I just checked slack and noticed you were doing tests on this threading issue. Thanks. |
Reverted the commit on master and next. |
@wlin7 you can't submit the bless until after the tests run with the new code. After tonight. |
@rljacob , @wade did comment that he can't bless anything else today. I will resubmit the request based on the test results tomorrow. That said, I don't understand why it can't be done with the master after this PR is reverted. The master is essentially back to what it was yesterday. The DIFFs that would come up tomorrow (for next and master) are expected to be the same as we saw today for next tests. I was thinking with re-blessing, the baselines that were in place before today's blessing would all be restored. And with baseline restored, we would be in better place to test the PRs going into next today. |
The bless command is script that works in one direction: it copies output from the run of testing on "next" to the baselines. And we have just one set of baselines that both next and master are compared against. |
I see now. Thanks for the explanation, @rljacob. |
Thanks to Zhun Guo and @vlarson , the PET test is now passing. I am now running the fully coupled PET test to ensure that I get a PASS there as well. After that, it should be good to go. |
I got PASS on both the tests. I think it is good to go now. |
Its to late to affect tonights test run. |
Great work, @singhbalwinder. Thanks. Nightly tests probably have started. I will wait until tomorrow. |
Rob, is there any other non-BFB scheduled for Thursday? If not and next open, i will merge it in the morning and ask our integrators to hold on. |
Replaces CLUBB with new version of CLUBB (V2): For re-merging NOTE: This PR is created to re-merge changes in PR #2897 The v1 version of CLUBB left pockets of supersaturation for the microphysics. To mitigate this, the v2 version of CLUBB does CLUBB's saturation adjustment immediately before microphysics when ipdf_call_placement = ipdf_pre_advance_fields. CLUBB_v2 includes performance optimizations that may lead to speedups, but also may be vitiated by a performance degradation in the CLUBB interface that was introduced in order to change the position of the saturation adjustment. CLUBB_v2 also adds new options that may be interest when tuning E3SMv2: CLUBB's gustiness can be enhanced if C_wp2_splat is set to non-zero values. This may enhance the benefits found with Po-Lun Ma connection of CLUBB's gustiness and surface processes. CLUBB_v2 can now prognose momentum fluxes if l_predict_upwp_vpwp = .true. This is designed to reduce ocean surface stress in cumulus regions. [NBFB]
…)" This reverts commit e0509ee.
Starting with the merge of clubbv2 (PR #2897), clubb_C1 and clubb_C1b, as well as clubb_gamma_coef and clubb_gamma_coefb are set to be fully independent namelist variables. Beforehand, clubb_C1b always varies with clubbb_C1,, while clubb_gamma_coefb varies with clubb_gamma_coef when it is not specified explicitly. Together with clubbv2 PR, these changes are designed to be reflected via the use_case files that specifiy either or both clubb_C1 and clubb_gamma_coef. It appears one use_case file missed clubb_C1b and seversl others missed both. The latter likely did not exist when clubbv2 PR was created. Following use_case files are affected. Among the tests, only the aquaplanet test is expected to diff in both the simulation and nml file. components/cam/bld/namelist_files/use_cases/1850S_cam5_CMIP6.xml components/cam/bld/namelist_files/use_cases/2010S_cam5_CMIP6.xml components/cam/bld/namelist_files/use_cases/20TR_cam5_CMIP6.xml components/cam/bld/namelist_files/use_cases/SSP585_cam5_CMIP6.xml components/cam/bld/namelist_files/use_cases/aquaplanet_EAMv1.xml [BFB] except for the aquaplanet test.
... (PR #3252) Fixed missing use_case parameters introduced by clubbv2 Starting with the merge of clubbv2 (PR #2897), clubb_C1 and clubb_C1b, as well as clubb_gamma_coef and clubb_gamma_coefb are set to be fully independent namelist variables. Beforehand, clubb_C1b always varies with clubbb_C1,, while clubb_gamma_coefb varies with clubb_gamma_coef when it is not specified explicitly. Together with clubbv2 PR, these changes are designed to be reflected via the use_case files that specifiy either or both clubb_C1 and clubb_gamma_coef. It appears one use_case file missed clubb_C1b and seversl others missed both. The latter likely did not exist when clubbv2 PR was created. Following use_case files are affected. Among the tests, only the aquaplanet test is expected to diff in both the simulation and nml file. components/cam/bld/namelist_files/use_cases/1850S_cam5_CMIP6.xml components/cam/bld/namelist_files/use_cases/2010S_cam5_CMIP6.xml components/cam/bld/namelist_files/use_cases/20TR_cam5_CMIP6.xml components/cam/bld/namelist_files/use_cases/SSP585_cam5_CMIP6.xml components/cam/bld/namelist_files/use_cases/aquaplanet_EAMv1.xml [non-BFB] for the aquaplanet test. [NML] diff for the aquaplanet test * wlin/atm/fix-clubbv2-usecase-missing-param: Remove redundant gamma_coefb entry in series of h01b use_case files Fixed missing use_case parameters introduced by clubbv2
Fixed missing use_case parameters introduced by clubbv2 Starting with the merge of clubbv2 (PR #2897), clubb_C1 and clubb_C1b, as well as clubb_gamma_coef and clubb_gamma_coefb are set to be fully independent namelist variables. Beforehand, clubb_C1b always varies with clubbb_C1,, while clubb_gamma_coefb varies with clubb_gamma_coef when it is not specified explicitly. Together with clubbv2 PR, these changes are designed to be reflected via the use_case files that specifiy either or both clubb_C1 and clubb_gamma_coef. It appears one use_case file missed clubb_C1b and seversl others missed both. The latter likely did not exist when clubbv2 PR was created. Following use_case files are affected. Among the tests, only the aquaplanet test is expected to diff in both the simulation and nml file. components/cam/bld/namelist_files/use_cases/1850S_cam5_CMIP6.xml components/cam/bld/namelist_files/use_cases/2010S_cam5_CMIP6.xml components/cam/bld/namelist_files/use_cases/20TR_cam5_CMIP6.xml components/cam/bld/namelist_files/use_cases/SSP585_cam5_CMIP6.xml components/cam/bld/namelist_files/use_cases/aquaplanet_EAMv1.xml [non-BFB] for the aquaplanet test. [NML] diff for the aquaplanet test * wlin/atm/fix-clubbv2-usecase-missing-param: Remove redundant gamma_coefb entry in series of h01b use_case files Fixed missing use_case parameters introduced by clubbv2
… (PR #2897)"" This reverts commit 55c8320. Conflicts in following files that are then resolved components/cam/src/physics/cam/clubb_intr.F90 components/cam/src/physics/clubb/advance_clubb_core_module.F90 components/cam/src/physics/clubb/lapack_wrap.F90 All other files affected modified: components/cam/src/physics/cam/clubb_intr.F90 deleted: components/cam/src/physics/clubb/LY93_pdf.F90 modified: components/cam/src/physics/clubb/Nc_Ncn_eqns.F90 new file: components/cam/src/physics/clubb/Skw_module.F90 deleted: components/cam/src/physics/clubb/Skx_module.F90 modified: components/cam/src/physics/clubb/T_in_K_module.F90 deleted: components/cam/src/physics/clubb/adg1_adg2_3d_luhar_pdf.F90 modified: components/cam/src/physics/clubb/advance_clubb_core_module.F90 modified: components/cam/src/physics/clubb/advance_helper_module.F90 modified: components/cam/src/physics/clubb/advance_windm_edsclrm_module.F90 modified: components/cam/src/physics/clubb/advance_wp2_wp3_module.F90 modified: components/cam/src/physics/clubb/advance_xm_wpxp_module.F90 modified: components/cam/src/physics/clubb/advance_xp2_xpyp_module.F90 deleted: components/cam/src/physics/clubb/advance_xp3_module.F90 new file: components/cam/src/physics/clubb/anl_erf.F90 modified: components/cam/src/physics/clubb/array_index.F90 deleted: components/cam/src/physics/clubb/calc_roots.F90 modified: components/cam/src/physics/clubb/calendar.F90 modified: components/cam/src/physics/clubb/clip_explicit.F90 modified: components/cam/src/physics/clubb/clip_semi_implicit.F90 modified: components/cam/src/physics/clubb/clubb_api_module.F90 modified: components/cam/src/physics/clubb/clubb_precision.F90 deleted: components/cam/src/physics/clubb/code_timer_module.F90 modified: components/cam/src/physics/clubb/constants_clubb.F90 modified: components/cam/src/physics/clubb/corr_varnce_module.F90 modified: components/cam/src/physics/clubb/csr_matrix_module.F90 modified: components/cam/src/physics/clubb/diagnose_correlations_module.F90 modified: components/cam/src/physics/clubb/diffusion.F90 modified: components/cam/src/physics/clubb/endian.F90 modified: components/cam/src/physics/clubb/error_code.F90 modified: components/cam/src/physics/clubb/file_functions.F90 modified: components/cam/src/physics/clubb/fill_holes.F90 modified: components/cam/src/physics/clubb/gmres_cache.F90 modified: components/cam/src/physics/clubb/gmres_wrap.F90 modified: components/cam/src/physics/clubb/grid_class.F90 modified: components/cam/src/physics/clubb/hydromet_pdf_parameter_module.F90 modified: components/cam/src/physics/clubb/index_mapping.F90 modified: components/cam/src/physics/clubb/input_names.F90 modified: components/cam/src/physics/clubb/input_reader.F90 modified: components/cam/src/physics/clubb/interpolation.F90 modified: components/cam/src/physics/clubb/lapack_wrap.F90 modified: components/cam/src/physics/clubb/matrix_operations.F90 modified: components/cam/src/physics/clubb/mean_adv.F90 modified: components/cam/src/physics/clubb/mixing_length.F90 modified: components/cam/src/physics/clubb/model_flags.F90 modified: components/cam/src/physics/clubb/mono_flux_limiter.F90 modified: components/cam/src/physics/clubb/mt95.f90 deleted: components/cam/src/physics/clubb/new_pdf.F90 deleted: components/cam/src/physics/clubb/new_pdf_main.F90 deleted: components/cam/src/physics/clubb/new_tsdadg_pdf.F90 modified: components/cam/src/physics/clubb/numerical_check.F90 modified: components/cam/src/physics/clubb/output_grads.F90 modified: components/cam/src/physics/clubb/output_netcdf.F90 modified: components/cam/src/physics/clubb/parameter_indices.F90 modified: components/cam/src/physics/clubb/parameters_model.F90 modified: components/cam/src/physics/clubb/parameters_tunable.F90 modified: components/cam/src/physics/clubb/pdf_closure_module.F90 modified: components/cam/src/physics/clubb/pdf_parameter_module.F90 modified: components/cam/src/physics/clubb/pdf_utilities.F90 modified: components/cam/src/physics/clubb/pos_definite_module.F90 deleted: components/cam/src/physics/clubb/precipitation_fraction.F90 modified: components/cam/src/physics/clubb/recl.inc modified: components/cam/src/physics/clubb/saturation.F90 modified: components/cam/src/physics/clubb/setup_clubb_pdf_params.F90 modified: components/cam/src/physics/clubb/sigma_sqd_w_module.F90 modified: components/cam/src/physics/clubb/sponge_layer_damping.F90 modified: components/cam/src/physics/clubb/stat_file_module.F90 modified: components/cam/src/physics/clubb/stats_clubb_utilities.F90 modified: components/cam/src/physics/clubb/stats_lh_sfc_module.F90 modified: components/cam/src/physics/clubb/stats_lh_zt_module.F90 modified: components/cam/src/physics/clubb/stats_rad_zm_module.F90 modified: components/cam/src/physics/clubb/stats_rad_zt_module.F90 modified: components/cam/src/physics/clubb/stats_sfc_module.F90 modified: components/cam/src/physics/clubb/stats_type.F90 modified: components/cam/src/physics/clubb/stats_type_utilities.F90 modified: components/cam/src/physics/clubb/stats_variables.F90 modified: components/cam/src/physics/clubb/stats_zm_module.F90 modified: components/cam/src/physics/clubb/stats_zt_module.F90 modified: components/cam/src/physics/clubb/surface_varnce_module.F90 deleted: components/cam/src/physics/clubb/turbulent_adv_pdf.F90 modified: components/cam/src/physics/clubb/variables_diagnostic_module.F90 modified: components/cam/src/physics/clubb/variables_prognostic_module.F90 deleted: components/cam/src/physics/clubb/version_clubb_core.txt
The v1 version of CLUBB left pockets of supersaturation for the microphysics. To mitigate this, the
v2 version of CLUBB does CLUBB's saturation adjustment immediately before microphysics when
ipdf_call_placement = ipdf_pre_advance_fields.
CLUBB_v2 includes performance optimizations that may lead to speedups, but also may be vitiated
by a performance degradation in the CLUBB interface that was introduced in order to change the
position of the saturation adjustment.
CLUBB_v2 also adds new options that may be interest when tuning E3SMv2:
CLUBB's gustiness can be enhanced if C_wp2_splat is set to non-zero values. This may enhance the benefits found with Po-Lun Ma connection of CLUBB's gustiness and surface processes.
CLUBB_v2 can now prognose momentum fluxes if l_predict_upwp_vpwp = .true. This is designed to reduce ocean surface stress in cumulus regions.
[NBFB]