* Added the necessary grid variables to the grid type (they're hardwired for an Ascending Grid for now).
I also made the necessary changes, using those new variables, to advance_wp2_wp3_module.F90.
* Added code to generalize advance_xm_wpxp_module.F90.
* Updated some of the boundary conditions for generalization in grid_class.F90.
* Developing a unit test for CLUBB's grid functions.
* Adding the ability to toggle on or off the reverse direction grid test.
* Updating for development of a unit test comparing the ascending and descending grids.
* I updated the generalized grid unit test to complete testing on all the variables within the grid derived type for both the ascending and descending grid directions.
* I updated the code to work symmetrically for an ascending and descending grid for the zm2zt and zt2zm functions.
This commit, as well as the previous commit, is BIT_CHANGING.
* Updated to improve notes and comments in grid_class.F90 and to enhance the reverse grid unit tests.
* Got rid of the compiler warnings in the new reverse direction grid unit test.
* Updating the reverse grid unit tests so some random perturbations are added to the grid heights when they are declared either on the thermodynamic grid or on the momentum grid.
* Made some changes where the fstdout stream is exclusively used and added some print statements.
* Mean advection has been modified for generalized directional gridding and a test of the calls to mean advection has been added to the reverse direction unit test.
* Updating diffusion so results are bit-for-bit identical between using an ascending grid and using a descending grid at -O0 optimization.
This now works for both standard diffusion and also diffusion with the l_upwind_Kh_dp_term flag turned on.
* I forgot to add the zm diffusion test, but the results are the same -- all pass!
* I have completed the unit tests for the PDF turbulent advection subroutines and modified the appropriate sections of code so that ascending and descending grids produce a bit-for-bit match wiht -O0 optimization.
* Updated code for producing a bit-for-bit match (on -O0 optimization) when comparing ascending grid direction against descending grid direction for advance_wp2_wp3.
* The check for the LHS of advance_xp2_xpyp now passes.
* The ascending vs. descending bit-for-bit test (wiht optimization set to -O0) now passes for advance_xp2_xpyp.
* I have successfully generalized the grid for advance_windm_edscrlm. Ascending and descending runs now produce bit-for-bit results to each other under -O0 optimization with the default flag configuration.
* Fixing the ascending vs. descending grid test for advance_windm_edsclrm for the case where l_imp_sfc_momentum_flux is set to false.
* Only perform check when l_predict_upwp_vpwp is turned off.
* This commit makes an ascending vs. descending test work for all cases for advance_xm_wpxp when the mono flux limiter is turned off.
* The ascending vs. descending grid tests are finally working with the monotonic flux limiter turned on (default settings).
* Removed some commented-out prints that I accidentally added during the last commit.
* Updating positive_definite_module.F90 so that it works for ascending vs. descending grids.
* The ascending vs. descending grid generalization test now works for the Lscale_up portion of mixing length.
* The ascending vs. descending grid generalization now works successfully for Lscale_down.
* Lscale is now generalized for ascending vs. descending gridding.
* Updated for generalizing sfc_varnce_module
* Updating advance_clubb_core_module for grid generalization.
* With this commit, the ascending vs. descending grid tests works by calling advance_clubb_core twice from clubb_driver. They produce bit-for-bit results on -O0 optimization for all intent(inout) and intent(out) variables found in the call to advance_clubb_core. This has only been tested for the default flag configuration.
* I am updating the ascending vs. descending grid test to check both pdf_params and pdf_params_zm.
* I added pdf_implicit_coefs_terms and the sclr and edsclr family of variables to the list of variables that are checked after coming out of the calls to advance_clubb_core in the ascending vs. descending bit-for-bit grid test.
* I added an improved display for the print messages for the ascending vs. descending grid test.
* I moved the generalized grid test to its own file, which is called from run_clubb.
* I removed much of the junk and clutter from the code. It had been added over time for local tests of ascending vs. descending grid types.
* Adding the l_generalized_grid_test flag to the code.
* I needed to alter the monotonic flux limiter that I just merged in from the master branch so that the ascending vs. descending grid generalization test works once again.
* Updated a piece of code in the solve routine for the monotonic flux limiter for the grid generalization test.
* Clarified some comments
* I added a Jenkins file for the new clubb_generalized_vertical_grid_test, which performs a run comparing ascending and descending grids with -O0 optimization and expects bit-for-bit results.
* The l_rev_direction_grid_test (part of the G unit tests) needs to be compiled specially with -O0 optimization. Thus, I will set the flag to run this test to .false. by default. A special Jenkins test will be made to compile with the correct optimization and run only this particular test.
* I updated the generalized vertical grid Jenkins test to turn off sponge damping (thlm and rtm sponge damping) in the case files for the CGILS S6, S11, and S12 cases.
* Caught a stats bug I had previously introduced for the um_ta and vm_ta stats terms when l_predict_upwp_vpwp is turned off.