I have passed down CLUBB's tunable parameters into advance_wp2_wp3_module.F90. (details)
added some documentation in pdf_close_module.f90 and started writing of w_up_in_cloud to disk (details)
Updates to separate out C4 and C14 in advance_xp2 module. This will make it easier to control which invrs_tau_* variable multiplies each term for example. (details)
Changing the name of dummy_1d variables for clarity. (details)
I passed down CLUBB's tunable parameters into advance_xp2_xpyp_module.F90 (details)
Add a blank line to trigger nightly tests. (details)
Passing down more of CLUBB's tunable parameters. (details)
I accidentally removed an important comment in the previous commit. (details)
Passing down more CLUBB tunable parameters. (details)
More passing down CLUBB parameters ... whoop-de-doo (details)
Passing down more tunable parameters and removing references to (details)
Removing line to trigger the nightly tests for all repos. (details)
See respective messages on the issue 958 on date 10/12/2021 (details)
Commented out the k=1 boundary conditions in diffusion_zm_lhs and diffusion_zt_lhs, since these are not currently fed into the final LHS matrix. I included comments to describe why this was done. Results are b4b. (details)
Passing tunable parameters into the new tau code. (details)
Passed down more parameters. Results are bit-for-bit. (details)
Passing through more clubb parameters. Bit-for-bit (details)
Passing down CLUBB's tunable parameters into the setup_pdf_parameters and (details)
These updates incorporate some of Shixuan Zhang's changes, including: (details)
Passing down CLUBB's tunable parameters into the remainder of the (details)
I passed down the forgotten thlp2_rad_coef tunable parameter. (details)
Uncommenting diffusion.F90 k=1 lines again to fix Oracle uninit var test. I've updated the accompanying note to state clearly that the lines have no effect on model output, but I guess we need to keep the lines to avoid uninitialized variables. (details)
I am passing down the forgotten parameter, altitude threshold, in (details)
Updating for changes to CLUBB. See https://github.com/larson-group/clubb/pull/968. (details)
Adding code wrapped in a flag (l_use_tke_in_K_dfsn) to use u_i'u_i' in the wp2 and wp3 eddy diffusion terms, instead of just wp2 or wp3. Relevant to CLUBB issue #920. (details)
Updates as requested to the l_use_tke_in_K_dfsn code: (details)
I am committing the final stage of the "pass-down params" project. (details)
I am committing the final stage of the "pass-down params" project. (details)
Adding an option to use invrs_tau_N2_iso for C4 terms. The same invrs_tau had been used for C4 and C14 terms, so some adjustments had to be made to separate them out (this was started with an earlier commit: https://github.com/larson-group/clubb/commit/ef3be1b1378bcd1a447f3866c9f88f8cc4764233). The flag is currently set to false so results will be b4b. (details)
Renaming invrs_tau_zt and invrs_tauw3t to "invrs_tau_wp3_zt" in advance_wp2_wp3 to avoid confusion. This variable is only used for the wp3 C8 term, so one consistent name is simpler, and the name "invrs_tau_zt" is already used by another variable in advance_clubb_core. (details)
I forgot to add this necessary subroutine call to the clubb API. (details)
Fixing a minor accounting bug related to the changes in https://github.com/larson-group/clubb/commit/987d63de489d2baa09ad6e1538b2c6dbb7551690. There was some overcounting of the relevant terms. (details)
Applying the fix for the new CLUBB code to the developmental (details)
Added sam file name to DYCOMS_RF02_DO case, fixed the clipping in calc_w_up_in_cloud in pdf_closure_module.f90, and changed long name of w_up_in_cloud in stats_zt_module.f90 (details)
Resolved any issues in the pull request. See https://github.com/larson-group/clubb/pull/970 for details (details)
Included a check in pdf_closure_module.f90 to check if flag for iw_up_in_cloud is set. Removed iw_up_in_cloud from standard_stats.in to prevent binary diffs in CLUBB output files after merge (details)
fixed a typo in pdf_closure_module.f90, line 1284 (details)
added some documentation in pdf_close_module.f90 and started writing of w_up_in_cloud to disk (details)
See respective messages on the issue 958 on date 10/12/2021 (details)
Added sam file name to DYCOMS_RF02_DO case, fixed the clipping in calc_w_up_in_cloud in pdf_closure_module.f90, and changed long name of w_up_in_cloud in stats_zt_module.f90 (details)
Resolved any issues in the pull request. See https://github.com/larson-group/clubb/pull/970 for details (details)
Included a check in pdf_closure_module.f90 to check if flag for iw_up_in_cloud is set. Removed iw_up_in_cloud from standard_stats.in to prevent binary diffs in CLUBB output files after merge (details)
fixed a typo in pdf_closure_module.f90, line 1284 (details)
Passing w_up_in_cloud out of advance_clubb_core (details)
Updating clubb_intr.F90 for the changes to advance_clubb_core_api (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)
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)
Updated e3sm to fit the new clubb driver api (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)
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)
Update the config_compilers.xml for carson. (details)
Adding l_stats check around stats stuff. This fixes the crashing when stats is disabled. larson-group/clubb#972 (details)
Making e3sm use the single column version of advance clubb core directly, since it does not want to use the interface version. larson-group/clubb#972 (details)
Making single and multi column versions of advance clubb core available through clubb_api. larson-group/clubb#972 (details)
I have passed down CLUBB's tunable parameters into advance_wp2_wp3_module.F90.
The results in NetCDF output files from this revision are an exact match to the results in NetCDF output files from the previous revision for all cases.
Updates to separate out C4 and C14 in advance_xp2 module. This will make it easier to control which invrs_tau_* variable multiplies each term for example.
This commit is BIT_CHANGING owing to order of operations differences, but the pyplotgen output for most cases looks identical to the naked eye.
Commented out the k=1 boundary conditions in diffusion_zm_lhs and diffusion_zt_lhs, since these are not currently fed into the final LHS matrix. I included comments to describe why this was done. Results are b4b.
See https://github.com/larson-group/clubb/issues/920#issuecomment-942735433.
These updates incorporate some of Shixuan Zhang's changes, including:
(1) upwind scheme for the eddy diffusion code, which Shixuan says does not make a huge difference; and (2) l_smooth_heaviside_tau_wpxp flag in the mixing_length.F90 code, which is intended to give smoother results.
Both of the flags for these changes are turned off, but these updates are BIT_CHANGING because of some minor changes to the way that factors of rho_ds_* and invrs_rho_ds_* are handled going into the diffusion.F90 subroutines. Most cases look identical in pyplotgen, but sensitive cases like arm_97 and rico look slightly different.
These changes were originally in pull request #962, but because of conflicts with the master branch code base that developed, they could not be rebased and merged, so I incorporated them into this new commit.
Uncommenting diffusion.F90 k=1 lines again to fix Oracle uninit var test. I've updated the accompanying note to state clearly that the lines have no effect on model output, but I guess we need to keep the lines to avoid uninitialized variables.
Adding code wrapped in a flag (l_use_tke_in_K_dfsn) to use u_i'u_i' in the wp2 and wp3 eddy diffusion terms, instead of just wp2 or wp3. Relevant to CLUBB issue #920.
Results are b4b when the flag is turned off, which it currently is.
Updates as requested to the l_use_tke_in_K_dfsn code:
- The name of the flag is changed to l_use_tke_in_wp2_wp3_K_dfsn - Comments are added to the main pieces of code in advance_wp2_wp3 - The flag is added to the "compatible_r8029" configurable flags file.
See this comment https://github.com/larson-group/clubb/issues/920#issuecomment-931446401 and following for more information.
Adding an option to use invrs_tau_N2_iso for C4 terms. The same invrs_tau had been used for C4 and C14 terms, so some adjustments had to be made to separate them out (this was started with an earlier commit: https://github.com/larson-group/clubb/commit/ef3be1b1378bcd1a447f3866c9f88f8cc4764233). The flag is currently set to false so results will be b4b.
See also the discussion here: https://github.com/larson-group/clubb/issues/920#issuecomment-920338746 and following comments.
Renaming invrs_tau_zt and invrs_tauw3t to "invrs_tau_wp3_zt" in advance_wp2_wp3 to avoid confusion. This variable is only used for the wp3 C8 term, so one consistent name is simpler, and the name "invrs_tau_zt" is already used by another variable in advance_clubb_core.
Fixing a minor accounting bug related to the changes in https://github.com/larson-group/clubb/commit/987d63de489d2baa09ad6e1538b2c6dbb7551690. There was some overcounting of the relevant terms.
Results are b4b since the l_use_tke_in_wp2_wp3_K_dfsn flag is false.
I have turned the nu_vert_res_dep family of variables into a derived type and that variable is now being passed throughout the CLUBB code, rather than accessing variables through a USE statement.
Added sam file name to DYCOMS_RF02_DO case, fixed the clipping in calc_w_up_in_cloud in pdf_closure_module.f90, and changed long name of w_up_in_cloud in stats_zt_module.f90
Included a check in pdf_closure_module.f90 to check if flag for iw_up_in_cloud is set. Removed iw_up_in_cloud from standard_stats.in to prevent binary diffs in CLUBB output files after merge
Added sam file name to DYCOMS_RF02_DO case, fixed the clipping in calc_w_up_in_cloud in pdf_closure_module.f90, and changed long name of w_up_in_cloud in stats_zt_module.f90
Included a check in pdf_closure_module.f90 to check if flag for iw_up_in_cloud is set. Removed iw_up_in_cloud from standard_stats.in to prevent binary diffs in CLUBB output files after merge
In principle, removing the clipping should reduce noise. In practice, it makes rico noiser but mpace_b less noisy. It also allows twp_ice to run to completion with the gfortran compiler.
These changes allow you to call the 4 clubb "advance" subroutines in any order that you want to try. In the default order (where the order is the same as found in the current version of the CLUBB master), results are bit-for-bit when compared to CLUBB master.
I reordered advance_clubb_core so that the "Advance xp3" (which is a basic calculation of xp3 by the ansatz by default) section is moved out of the way of the "advance loop" to a point that is after advance_windm_edsclrm (or whatever will be called last in the advance loop.
This change does not alter the default results. Everything is still bit-for-bit.
I am committing the idiot-proofing code that forces l_min_xp2_from_corr_wx and l_enable_relaxed_clipping to have opposite values (one must be true and the other must be false). In this commit, both are set to true, so the code will produce an exception.
Temporarily commenting out the idiot proofing in order to run some tests ... The results from this branch are still bit-for-bit with the master branch.
I am committing some idiot proofing in regards to the advance subroutines ordering. No index can have a value of less than 1, greater than 4, and no index can have the same value as any other index. Each adv routine order index must have a unique value.
Now that uprcp and vprcp have been passed through advance_clubb_core, I can get rid of this idiot-proofing code that stops the run when l_predict_upwp_vpwp is enabled and the PDF is in the "post" position.
when l_min_xp2_from_corr_wx = F and l_enable_relaxed_clipping = F. The goal is to allow the clubb_backwards_compatibility_gfortran_test Jenkins test to pass again.
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