Moving stats call for uprcp and vprcp to after they are calculated. This fixes the silhs restart test. But does not seem to fix the E3SM or CAM tests that are still failing. (details)
Changing wp2thvp, rtpthvp, thlpthvp, and cloud_frac to have an (details)
When the PDF is in the "post" position, a handful of PDF parameters (details)
Changing rcm to be global in pbuf, so that it can be saved to the restart file. This appears to fix the cam_global_regression test. larson-group/sys_admin#763 (details)
Cleaning up some pdf_param related code. (details)
Adding 2D version of zt2zm and zm2zt to clubb_api (details)
Making clubb_intr use 2D versions of zm2zt and zt2zm. larson-group/cam#972 (details)
Fixing bug in error code printing. And clubb now handles a range of latitudes and longitudes, so the error print out must reflect that. larson-group/clubb#972 (details)
Changing cam_global_regression_gfortran_test to cam_global_ERP_Ln9_gfortran_test. (details)
Pushing loop into solve_xm_wpxp_with_single_lhs (#986) (details)
Adding backwards compatibility parameters to runscript. larson-group/cam#984 (details)
Refactoring to remove need for global stats scratch variables. (#988) (details)
Implementations of smooth min, max and heaviside function. Added G-Unit tests (details)
Bug fixes to get head of clubb working with CAM (details)
Making subcol_silhs not use clubb_intr as much. larson-group/cam#145 (details)
Making setup_pdf_parameters accept ngrdcols size arrays of stats and grid types. (details)
Making setup_pdf_parameters accept ngrdcols size arrays of stats and grid types. This is BIT_CHANGING for Ncnm and precip_frac since this was being done incorrectly before. larson-group/cam#129 (details)
Forgot two small changes. larson-group/cam#129 (details)
Making precip fracs allocate the proper number of columns. This allows us to finally remove all the data copies in setup_pdf_parameters. larson-group/cam#129 (details)
Removing need for data copies. larson-group/cam#129 (details)
Changing column loop index from j to i. larson-group/cam#129 (details)
Set sclr_dim back to zero and removed parenthesis from advance_clubb_core call (details)
Making compatible with latest clubb change. (details)
Removing data copies that we don't need anymore. This still runs correctly on GPUs. (details)
Making clip_transform_silhs_output use an array of gr. This is how it should have been once the column loop was pushed down into it, but at the time clubb was using gr through a use statement making that not possible. (details)
No more need for these data copies anymore now that pdf_params is allocated with ngrdcol rather than pcols. (details)
Adds a blank line to trigger git merge with E3SM (details)
This should fix the problem Kate is experiencing. The bug is only exposed when using multiple threads, and this is a workaround, we should still remove the grid setup functionality from setup_clubb_core. I wasn't able to get the run to finish since cam also crashes with multiple threads due to clubb stats, but it get passed the grid allocation thread error. (details)
Removes a blank line in order to trigger merge with E3SM (details)
Pushing column loop into xm_wpxp_clipping_and_stats and monotonic_turbulent_flux_limit. This essentially completes advance_xm_wpxp for now. larson-group/clubb#972 (details)
Replacing the i loop iterator for scalars with sclr. (details)
Moving the lhs_dp1 calculation to outside of xp2_xpyp_lhs. This gives us more flexibility, since we want to pass lhs_dp1 into xp2_xpyp_implicit_stats. (details)
Moving the lmm_stepping and stats calls to immediately after calls to xp2_xpyp_solve. This is because xp2_xpyp_implicit_stats saves things that are saved by scratch variables, and these scratch variables are set by the lhs and rhs setup calls. So for the multiple lhs routine, we need to save the scratch variables immediately after these calls before overwriting them by calling lhs and rhs again for a different variable. Since the stats also saves the variable were solving for, we also have to move the lmm_stepping to before this call. (details)
Removing need for stats scratch variables by passing lhs terms to save through agument lists. This makes everything better in every way. (details)
Adding slicing for some lhs arrays being saved in stats. This was causing bit changing in a few lhs terms when run in multicolumn. (details)
Changing names of dp1 variables for up2 and vp2. Surrounding where they're set to be within a l_stats_samp. (details)
RESOLVED:7cdd1f8a1e444a6a01168c331f18419d67527785 the differences commit 7cdd1f8 caused were from moving the xp2_xpyp_implicit_stats into the solve routines in advance_xp2_xpyp. This is because the stats scratch variables (that have been removed) were causing us to save the rtpthlp version of lhs_dp1 into the rtp2 and thlp2, but now we are saving the correct ones. I've confirmed that the only differences in the output are rtp2_dp1 and thlp2_dp1. This problem is not present when we solve with a single lhs, but the backwards compatible flag set forces us into the solve with multiple, so the other test did not detect any bit changes. (details)
I added l_relax_clipping to CLUBB's config flags. (details)
Added l_enable_relaxed_clipping to the CAM-CLUBB code. (details)
Added a3_coef_min to the list of CLUBB's tunable parameter and then (details)
I added CLUBB's new tunable parameter a3_coef_min to the CAM-CLUBB code. (details)
Adding camClubbCodeCopy.bash to the jenkins directory for testing Clubb changes. larson-group/sys_admin#768 (details)
Added idiot-proofing to print a warning message when l_diag_Lscale_from_tau (details)
Updating the call to setup_clubb_core_api in accordance with new (details)
Adding in Jenkinsfile to test and changing file and folder name. (details)
Changing syntax to load and run Jenkinsfile. (details)
Fixing errors in previous change to allow script to work. (details)
Added code to interface with the latest version of CLUBB. (details)
Adding _pert arrays to other advance_clubb_core call. (details)
Adding in a git clone step to the Cam Clubb Copy test. (details)
Trying out git command rather than checkout for cloning. (details)
Adding correct scm command and removed redundant run commond from end. (details)
Adding space because commit 26b7e8f8d7007f78d655b8fc15045015ce8d4790 fixed the jenkins test that were failing, but did not include the proper resolving messages. RESOLVED:7046396a59f73087323f04b267cd8614ff1653f2 RESOLVED:30559bb00c20ce8a8c21242272f6d16cecb12b45 RESOLVED:970b880d9144efe00ce9d6fa34bcd49a493ac65b RESOLVED:633e158c8e6d5818b39963e6836ef71c1489faf9 RESOLVED:4ae233813e39a8bc7e3b58e600c0f71103fff8b3 (details)
Renamed smth_range to heaviside_smth_range (details)
Added tot_vartn_normlzd statistics. Renamed sclr in advance_helper_module to scalar to be more consistent with clubb naming schemes. (details)
Implemented three further normalized variation stats. Included a (most likely temporary) check because in a few cases, denominator for normalization would be 0. (details)
Changed priorities of total normalized variation stats, included error handling in total normalized variation stats. (details)
Renamed pdf_output_filename. Added grid_level constant to avoid magic numbers in stats_update_var_pt calls. (details)
Bugfix for merge #1000. stderr was not imported in stat_clubb_utilities.F90, causing compilation to fail. (details)
Added ability to apply smooth min max functions in mixing_length.F90 (details)
Updated deprecated documentation of smooth min and max functions in advance_helper_module.F90. https://github.com/larson-group/clubb/issues/965 (details)
Checked whether results really are identical even with round-off when we have l_smooth_min_max=T and smooth_min_max_mag=zero. Next commit rolls some of these changes back for merge into master. https://github.com/larson-group/clubb/issues/965 (details)
Added test cases to smooth_min_max_tests.F90 and updated documentation. (details)
Constructing rcm within SILHS (as rcm_pdf) (#1011) (details)
Constructing rcm within SILHS (as rcm_pdf) (#1011) (details)
Updating for changes to CLUBB. See https://github.com/larson-group/clubb/commit/e4f125ba067ba8083f917e0e06b6b2398483d3e4. (details)
The G_unit tests never allocated pdf_implicit_coefs_terms. It's unclear to me how these were working before, but it seems that something about making these 2D allocatable arrays exposed the bug. (details)
Making zt2zm calls with pdf_implicit_coefs_terms use the 2D version. (details)
Removing setup_grid and setup_parameters functionality from setup_clubb_core. This is beacuse in host models the required grid information may not be known during the setup process, resulting in dummy arguments for setup_clubb_core and the grid and paramters being setup during runtime anyway. Now, in the host models we can call these subroutines immediately after setup_clubb_core to maintain identical functionality (sam, wrf), and in others we can wait to call these until the main timestepping procedure (cam,e3sm). (details)
Making compatible with latest clubb change. (details)
Making 2D versions of setup_grid and setup_parameters. (details)
Now using 2D versions of setup_grid and setup_parameters (details)
Making lmin a scalar again, twas a mistake to make it an array, it can only take on one value. (details)
Making compatible with latest clubb change. (details)
Making nu_vert_res_dep a type containing arrays, as opposed to being an array of types. (details)
Making compatible with latest clubb change. (details)
Moving stats call for uprcp and vprcp to after they are calculated. This fixes the silhs restart test. But does not seem to fix the E3SM or CAM tests that are still failing.
Changing wp2thvp, rtpthvp, thlpthvp, and cloud_frac to have an attribute of "global" in the PBUF rather than "physpkg". It is necessary to save these variables to the restart file in order to have restarts work correctly when the PDF is in the "post" position.
When the PDF is in the "post" position, a handful of PDF parameters on momentum levels (w_1, w_2, varnce_w_1, varnce_w_2, mixt_frac) also need to be saved to the restart file.
Changing rcm to be global in pbuf, so that it can be saved to the restart file. This appears to fix the cam_global_regression test. larson-group/sys_admin#763
Fixing bug in error code printing. And clubb now handles a range of latitudes and longitudes, so the error print out must reflect that. larson-group/clubb#972
Making setup_pdf_parameters accept ngrdcols size arrays of stats and grid types. This is BIT_CHANGING for Ncnm and precip_frac since this was being done incorrectly before. larson-group/cam#129
Making precip fracs allocate the proper number of columns. This allows us to finally remove all the data copies in setup_pdf_parameters. larson-group/cam#129
Making clip_transform_silhs_output use an array of gr. This is how it should have been once the column loop was pushed down into it, but at the time clubb was using gr through a use statement making that not possible.
because Kate Thayer-Calder set `clubb_l_damp_wp2_using_em = F`. (Gunther confirmed that code change is the only thing that changes answers.) However, this change only affects the answer when SILHS is on, and so we're going to leave it in.
This should fix the problem Kate is experiencing. The bug is only exposed when using multiple threads, and this is a workaround, we should still remove the grid setup functionality from setup_clubb_core. I wasn't able to get the run to finish since cam also crashes with multiple threads due to clubb stats, but it get passed the grid allocation thread error.
Pushing column loop into xm_wpxp_clipping_and_stats and monotonic_turbulent_flux_limit. This essentially completes advance_xm_wpxp for now. larson-group/clubb#972
Moving the lmm_stepping and stats calls to immediately after calls to xp2_xpyp_solve. This is because xp2_xpyp_implicit_stats saves things that are saved by scratch variables, and these scratch variables are set by the lhs and rhs setup calls. So for the multiple lhs routine, we need to save the scratch variables immediately after these calls before overwriting them by calling lhs and rhs again for a different variable. Since the stats also saves the variable were solving for, we also have to move the lmm_stepping to before this call.
RESOLVED:7cdd1f8a1e444a6a01168c331f18419d67527785 the differences commit 7cdd1f8 caused were from moving the xp2_xpyp_implicit_stats into the solve routines in advance_xp2_xpyp. This is because the stats scratch variables (that have been removed) were causing us to save the rtpthlp version of lhs_dp1 into the rtp2 and thlp2, but now we are saving the correct ones. I've confirmed that the only differences in the output are rtp2_dp1 and thlp2_dp1. This problem is not present when we solve with a single lhs, but the backwards compatible flag set forces us into the solve with multiple, so the other test did not detect any bit changes.
Added idiot-proofing to print a warning message when l_diag_Lscale_from_tau is being used and C1, C1b, C2rt, C2thl, C2rtthl, C6rt, C6rtb, C6thl, C6thlb, or C14 do not have a value 1. This can later be upgraded to a fatal error when we can finally run this code with the C2 and C6 families of parameters having a value of 1 (that value is currently 2 right now).
Adding space because commit 26b7e8f8d7007f78d655b8fc15045015ce8d4790 fixed the jenkins test that were failing, but did not include the proper resolving messages. RESOLVED:7046396a59f73087323f04b267cd8614ff1653f2 RESOLVED:30559bb00c20ce8a8c21242272f6d16cecb12b45 RESOLVED:970b880d9144efe00ce9d6fa34bcd49a493ac65b RESOLVED:633e158c8e6d5818b39963e6836ef71c1489faf9 RESOLVED:4ae233813e39a8bc7e3b58e600c0f71103fff8b3
* Pushing column loop into xm_wpxp_clipping_and_stats and monotonic_turbulent_flux_limit. This essentially completes advance_xm_wpxp for now. larson-group/clubb#972
* Replacing the i loop iterator for scalars with sclr.
* Pushing loop into advance_xp2_wpxp.
* Moving the lhs_dp1 calculation to outside of xp2_xpyp_lhs. This gives us more flexibility, since we want to pass lhs_dp1 into xp2_xpyp_implicit_stats.
* Moving the lmm_stepping and stats calls to immediately after calls to xp2_xpyp_solve. This is because xp2_xpyp_implicit_stats saves things that are saved by scratch variables, and these scratch variables are set by the lhs and rhs setup calls. So for the multiple lhs routine, we need to save the scratch variables immediately after these calls before overwriting them by calling lhs and rhs again for a different variable. Since the stats also saves the variable were solving for, we also have to move the lmm_stepping to before this call.
* Removing need for stats scratch variables by passing lhs terms to save through agument lists. This makes everything better in every way.
* Adding slicing for some lhs arrays being saved in stats. This was causing bit changing in a few lhs terms when run in multicolumn.
* Changing names of dp1 variables for up2 and vp2. Surrounding where they're set to be within a l_stats_samp.
* Breaking up column loop in advance_xp2_xpyp and pushing column loop into calc_xp2_xpyp_ta_terms. larson-group/cam#972
* Breaking up column loop in calc_xp2_xpyp_ta_terms.
* Pushing loop into solve_xp2_xpyp_with_single_lhs.
Implemented three further normalized variation stats. Included a (most likely temporary) check because in a few cases, denominator for normalization would be 0.
* Pushing loop down through advance_windm. Other files needed to be touched because they were using a simple function, xpwp_func, which has been replaced in relevenant places by the few lines of code it takes to do.
* Cleaned up intents
* Moving xpwp calcuations back to procedure, but making procedure a 1/2D interface in advance helper. Other various small tweaks as well.
Checked whether results really are identical even with round-off when we have l_smooth_min_max=T and smooth_min_max_mag=zero. Next commit rolls some of these changes back for merge into master. https://github.com/larson-group/clubb/issues/965
Constructing rcm within SILHS (as rcm_pdf) (#1011)
* Constructing rcm within SILHS (as rcm_pdf) to avoid having to pass rcm directly to SILHS. Relevant to possibly moving PDF call placement into the "post" position in CAM.
See https://github.com/ESCOMP/CAM/issues/582.
* Reconstructing rcm inside of setup_pdf_parameters instead of passing it through the argument lists. Might help NCAR move the PDF call placement to "post" position in CAM.
See https://github.com/larson-group/clubb/issues/997.
Constructing rcm within SILHS (as rcm_pdf) (#1011)
* Constructing rcm within SILHS (as rcm_pdf) to avoid having to pass rcm directly to SILHS. Relevant to possibly moving PDF call placement into the "post" position in CAM.
See https://github.com/ESCOMP/CAM/issues/582.
* Reconstructing rcm inside of setup_pdf_parameters instead of passing it through the argument lists. Might help NCAR move the PDF call placement to "post" position in CAM.
See https://github.com/larson-group/clubb/issues/997.
but the following commits are BIT_CHANGING:29e08c789aef09db2b76a418d3ab4c35bfc50a04 BIT_CHANGING:741338adec67b4d8d6087af4c8c3e2206692dc04 BIT_CHANGING:ed63800262913a0c130c80cd16067e7d68548613 for simulations that include silhs
The G_unit tests never allocated pdf_implicit_coefs_terms. It's unclear to me how these were working before, but it seems that something about making these 2D allocatable arrays exposed the bug.
Removing setup_grid and setup_parameters functionality from setup_clubb_core. This is beacuse in host models the required grid information may not be known during the setup process, resulting in dummy arguments for setup_clubb_core and the grid and paramters being setup during runtime anyway. Now, in the host models we can call these subroutines immediately after setup_clubb_core to maintain identical functionality (sam, wrf), and in others we can wait to call these until the main timestepping procedure (cam,e3sm).