Removing sed command as it is unnessecary. larson-group/sys_admin#763 (details)
This should be BIT_CHANGING, but only because the value of Cx_min should change in the netcdf file. This will not be answer changing. (details)
Change value of Cx_min to match what is in parameters_tunable.F90 (details)
Adding flags and parameters to the r8029 backwards compatible lists. These do not change the backwards compatible results, so that we aren't relying on source code default values. (details)
Changing the value of C_invrs_tau_shear from 0.02 to 0.15. (details)
Avoiding stats call for variables that are not set when l_diag_Lscale_from_tau is not true. (details)
Adding line to readme because previous commit will be BIT_CHANGING:108f6ea2c8b3d9357cf551b11a85a2d9a4becc47 in the backwards compatibility run since it will prevent NaNs in the .nc files. (details)
Adding script that checks if two nc files contain different output fields, rather than just checking bit-for-bitness between the two. Also making our run_bin_diff script use this new nc comparator instead of linux diff. (details)
Adjusting the value of C_invrs_tau_shear from 0.15 to 0.16 so that (details)
Add l_smooth_Heaviside_tau_wpxp to smooth discontinuity in invrs_tau_wpxp_zm (details)
Updating pyplotgen's SAM wp3 budgets to include pressure diffusion, pressure scrambling, and the wp3_tp term. (details)
Pushing column loop into advance_clubb_core, and adding interface for it so that we will not need to update any host models. Everything is bit-for-bit, testing all standalone cases and our cam_coarse res run. larson-group/clubb#972 (details)
Adding an error prints subroutine to advance_microphys_module.F90 (details)
Adding l_stats check around stats stuff. This fixes the crashing when stats is disabled. larson-group/clubb#972 (details)
We need to initialize our local pdf_implicit_coefs_terms_zm in certain pdf types. We also don't need to zero out pdf_implicit_coefs_terms arrays, since that's done in the initialization. This should fix segfaults when l_call_pdf_closure_twice=.True. larson-group/clubb#972 (details)
I am updating ice_supersat_frac to be an intent(inout) variable for (details)
Intializing sigma_sqd_w_zt when not using ADG1. larson-group/clubb#972 (details)
Fixing bug, we were not initializng pdf_params for all columns. larson-group/clubb#972 (details)
I updated CLUBB to include new fields to its restart functionality. (details)
Pushing column index into zm2zt and zt2zm. larson-group/clubb#972 (details)
Pushing column index into Skx_func and making it a subroutine. larson-group/clubb#972 (details)
A variety of small loop pushing. larson-group/clubb#972 (details)
Missed a file to commit, causing lots of compilation failures in Jenkins tests. (details)
Fixed small bug that slipped through because the G_unit tests use nz=1. (details)
Pushing column index into mixing length routines, not all the way down for the non-tau based calculation. larson-group/clubb#972 (details)
I added a subroutine that prints that values of all PDF parameters in (details)
Small changes and a loop push. larson-group/clubb#972 (details)
Pushing loop into advance_xm_wpxp. larson-group/clubb#972 (details)
Making the G_unit test use a dummy column index. This makes it so we don't need an interface for compute_sigma_sqd_w since now we only use it with 2 dimensions. This is just nicer. larson-group/clubb#972 (details)
Breaking up column loop in advance_xm_wpxp_module. larson-group/clubb#972 (details)
Pushing column loop into local functions. larson-group/clubb#972 (details)
Adding a line to trigger the nightly tests. (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. (details)
The last commit was BIT_CHANGING:fc75c887ae516e55f31156a6c1cccaedfaf34ff3 since it does change when uprcp and vprcp are saved to stats output. Was not answer changing though. (details)
Add coding rule to write variables to disk immediately after they are set. (details)
Adding 2D version of zt2zm and zm2zt to clubb_api (details)
Adds a naming convention for CLUBB's indices (details)
Pushing loop into solve_xm_wpxp_with_single_lhs (#986) (details)
Refactoring to remove need for global stats scratch variables. (#988) (details)
Fixing small bug that breaks runs with scalars. (details)
Implementations of smooth min, max and heaviside function. Added G-Unit tests (details)
Fixed and added final test. Everything is now functional (details)
Modified the two inequalities in the final test. (for mostly aesthetic reasons) (details)
Making setup_pdf_parameters accept ngrdcols size arrays of stats and grid types. (details)
Forgot two small changes. 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)
Adding a line to trigger the nightly tests. (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)
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)
Removing a line at the top of the README to trigger the nightly tests. (details)
Adding a line to the README to trigger the nightly tests. (details)
I added l_relax_clipping to CLUBB's config flags. (details)
Added a3_coef_min to the list of CLUBB's tunable parameter and then (details)
Added idiot-proofing to print a warning message when l_diag_Lscale_from_tau (details)
I added the code for the l_linearize_pbl_winds flag that was originally (details)
Updates description of generating pyplotgen movies (details)
Set the Priority of nondimensional moments to False. (details)
Fixed priority property not working as intended, added text indicating time span plotted in pdf files which was previously only displayed in html files. (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)
Fixed typo in pyplotgen and fixed display of plotted time (previously displayed on the wrong line). (details)
Dealt with issue https://github.com/larson-group/clubb/issues/985 (details)
Changed priorities of total normalized variation stats, included error handling in total normalized variation stats. (details)
Bugfix for merge #1000. stderr was not imported in stat_clubb_utilities.F90, causing compilation to fail. (details)
Adding comments to explain confusing or complicated portions of the Jenkinsfiles. (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)
Added final test cases to smooth_min_max_tests.F90 (details)
Add to tuning dashboard some plots of biases vs. sensitivity. (details)
Changed priorities on pyplotgen variables. In a priority run, by default only the variables in VariableGroupBase.py will be plotted. This explicitly does not include variables in VariableGroupBaseBudgets, which would have to be included explicitly when desired. (details)
Adding some description that should have been entered a very long (details)
Correcting name of old "shear" case to "neutral" in pyplotgen config file. Also adding benchmark file path. (details)
Adding changes to work on new Mac Mini. larson-group/sys_admin#775 (details)
Missed a place where I needed to rename shear case to neutral. (details)
Constructing rcm within SILHS (as rcm_pdf) (#1011) (details)
Making compatible with latest clubb change. (details)
Making pdf_implicit_coefs_terms a type containing 2D arrays. (#1014) (details)
Changed clubb_bin_diff_regression_gfortran_test_new to clubb_bin_diff_regression_gfortran_test and clubb_bin_diff_regression_gfortran_test to clubb_bin_diff_regression_gfortran_test_old to reflect current usage. (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 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 nu_vert_res_dep a type containing arrays, as opposed to being an array of types. (details)
Adding flags and parameters to the r8029 backwards compatible lists. These do not change the backwards compatible results, so that we aren't relying on source code default values.
Adding line to readme because previous commit will be BIT_CHANGING:108f6ea2c8b3d9357cf551b11a85a2d9a4becc47 in the backwards compatibility run since it will prevent NaNs in the .nc files.
Adding script that checks if two nc files contain different output fields, rather than just checking bit-for-bitness between the two. Also making our run_bin_diff script use this new nc comparator instead of linux diff.
Add l_smooth_Heaviside_tau_wpxp to smooth discontinuity in invrs_tau_wpxp_zm
This option calls subroutine smooth_heaviside_peskin, which implements the smooth Peskin Heaviside function. The option is turned off for now, and so the results should remain bit for bit.
Pushing column loop into advance_clubb_core, and adding interface for it so that we will not need to update any host models. Everything is bit-for-bit, testing all standalone cases and our cam_coarse res run. larson-group/clubb#972
Adding an error prints subroutine to advance_microphys_module.F90 so that the prints can be called whenever there is an error detected (and before the "return" statement).
I added error prints to the interface for Morrison microphysics that print many important fields when a NaN has been detected in a microphysics tendency output.
I changed C_invrs_tau_N2_wp2 from 0.1 to 0.2 to help stop turbulence from going to the model top, which ultimately caused MC3E to crash by becoming too cold. Additionally, I set C_invrs_tau_shear back to 0.15 from 0.16. This commit is BIT_CHANGING.
Making a commit that officially places the call to the PDF in the "post" position (meaning after CLUBB's predictive fields have been advanced). This commit is BIT_CHANGING
We need to initialize our local pdf_implicit_coefs_terms_zm in certain pdf types. We also don't need to zero out pdf_implicit_coefs_terms arrays, since that's done in the initialization. This should fix segfaults when l_call_pdf_closure_twice=.True. larson-group/clubb#972
I am updating ice_supersat_frac to be an intent(inout) variable for advance_clubb_core. When the PDF is in the "post" position, there is a chance that it can be used before it is set unless it is preserved from timestep to timestep.
I updated CLUBB to include new fields to its restart functionality. These fields are necessary to restart CLUBB when the PDF is placed in the "post" position.
Making the G_unit test use a dummy column index. This makes it so we don't need an interface for compute_sigma_sqd_w since now we only use it with 2 dimensions. This is just nicer. larson-group/clubb#972
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.
The last commit was BIT_CHANGING:fc75c887ae516e55f31156a6c1cccaedfaf34ff3 since it does change when uprcp and vprcp are saved to stats output. Was not answer changing though.
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.
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.
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).
* 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.
Fixed priority property not working as intended, added text indicating time span plotted in pdf files which was previously only displayed in html files.
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
Add to tuning dashboard some plots of biases vs. sensitivity. Also add a function to calculate maximum parameter perturbations based on the non-linearity of the global model. Also add a function to create a PCA biplot.
Changed priorities on pyplotgen variables. In a priority run, by default only the variables in VariableGroupBase.py will be plotted. This explicitly does not include variables in VariableGroupBaseBudgets, which would have to be included explicitly when desired.
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.
Changed clubb_bin_diff_regression_gfortran_test_new to clubb_bin_diff_regression_gfortran_test and clubb_bin_diff_regression_gfortran_test to clubb_bin_diff_regression_gfortran_test_old to reflect current usage.
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).