Skip to content
Success

Changes

Summary

  1. Adding in a git clone step to the Cam Clubb Copy test. (details)
  2. Trying out git command rather than checkout for cloning. (details)
  3. Adding correct scm command and removed redundant run commond from end. (details)
  4. 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)
  5. Gunthers branch (#996) (details)
  6. Various simple changes to improve performance. All bit-for-bit. (details)
  7. Pushing loop into calc_stability_correction. (details)
  8. Adding in comments to explaining the technical tricks and methods in each jenkins file so it is clear what they do and why they are there. (details)
  9. Small bug fix. (details)
  10. Another similar small bug fix. (details)
  11. Gunthers branch (#999) (details)
  12. Renamed smth_range to heaviside_smth_range (details)
  13. Added tot_vartn_normlzd statistics. Renamed sclr in advance_helper_module to scalar to be more consistent with clubb naming schemes. (details)
  14. Implemented three further normalized variation stats. Included a (most likely temporary) check because in a few cases, denominator for normalization would be 0. (details)
  15. Changed priorities of total normalized variation stats, included error handling in total normalized variation stats. (details)
  16. Renamed pdf_output_filename. Added grid_level constant to avoid magic numbers in stats_update_var_pt calls. (details)
  17. Gunthers branch 2 (#1002) (details)
  18. Bugfix for merge #1000. stderr was not imported in stat_clubb_utilities.F90, causing compilation to fail. (details)
  19. Added ability to apply smooth min max functions in mixing_length.F90 (details)
  20. Updated deprecated documentation of smooth min and max functions in advance_helper_module.F90. https://github.com/larson-group/clubb/issues/965 (details)
  21. 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)
  22. Added test cases to smooth_min_max_tests.F90 and updated documentation. (details)
  23. Constructing rcm within SILHS (as rcm_pdf) (#1011) (details)
  24. Constructing rcm within SILHS (as rcm_pdf) (#1011) (details)
  25. Updating for changes to CLUBB.  See https://github.com/larson-group/clubb/commit/e4f125ba067ba8083f917e0e06b6b2398483d3e4. (details)
  26. Almost final loop pushes (#1012) (details)
  27. Making pdf_implicit_coefs_terms a type containing 2D arrays. (#1014) (details)
  28. Making compatible with latest clubb change. (details)
  29. This commit is not bit changing (details)
  30. 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)
  31. Making zt2zm calls with pdf_implicit_coefs_terms use the 2D version. (details)
  32. 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)
  33. Making compatible with latest clubb change. (details)
  34. Making 2D versions of setup_grid and setup_parameters. (details)
  35. Now using 2D versions of setup_grid and setup_parameters (details)
  36. Making lmin a scalar again, twas a mistake to make it an array, it can only take on one value. (details)
  37. Making compatible with latest clubb change. (details)
  38. Making nu_vert_res_dep a type containing arrays, as opposed to being an array of types. (details)
  39. Making compatible with latest clubb change. (details)
  40. Making silhs use the new 2D version of setup_grid. This also inadvertently fixes a bug added in commit c816bcbd4bb8b8cfa89aa9c0f976ee799cb795e2. The issue was that we used pver when we wanted pverp. (details)
  41. Lots of small loop pushes (details)
  42. Small bug fix. This was not a bit changing bug, but could cause crashes if we compile with floating point trapping in a multicolumn run. (details)
  43. Small refactoring to mfl_xm_lhs, just removing need to pass in gr. (details)
  44. Final loop pushes needed before the grid change. (details)
  45. Replacing use of gr with nz (details)
  46. Replacing use of gr with nz (details)
  47. Changing NETCDF path in jenkins test command. (details)
  48. Modifying shell commands to be the more recognized version. |& should be understood by bash version >= 3.2.25 but that does not seem to be the case, so we're reverting it to the equivalent 2>&1 | (details)
  49. Updating compiler config file (details)
  50. Changing the cam_global_ERP_Ln9_gfortran_test jenkins test to specify the computer when configuring. (details)
  51. The big grid change. Converting gr from being an array of types containing 1D arrays, to a type containing 2D arrays. All cases BFB, cam multicolumn+silhs BFB, and cam multicolumn (no silhs) with backwards compatible settings BFB. (details)
  52. The big grid change. Converting gr from being an array of types containing 1D arrays, to a type containing 2D arrays. All cases BFB, cam multicolumn+silhs BFB, and cam multicolumn (no silhs) with backwards compatible settings BFB. (details)
  53. Making compatible with latest clubb change. update_xp2_mc will be broken by this, but all we need to do to fix it is push the column loop into it. (details)
  54. Removing the zt2zm interface from clubb_api and making the api calls just redirect to the grid class interface for it. (details)
  55. Pushing column loop into mean advection procedures. (details)
  56. Little loop push (details)
  57. Moving above/below index of grid weights to last dimension. (details)
  58. Pushing loop into fill_holes. (details)
  59. Forgot small change. (details)
  60. Making linear_interpolated_azt_2D and linear_interpolated_azm_2D subroutines just to avoid a needless data copy. (details)
  61. Making update_xp2_mc 2D and creating interface for 1D calls. (details)
  62. Making use of new 2D call to update_xp2_mc (details)
  63. Declaring local variables with state%ncol rather than pcols. This avoid occasional slicing and other complications. Also making everything in clubb_tend_cam follow the same indentation scheme. (details)
  64. added ulimit tag to arm97 case of scam test to avoid stack overflow errors larson-group/sys_admin#781 (details)
  65. Fixing units in stats_zt_module.F90 (details)
  66. Adding run script for gpu runs without silhs. The only thing making this a GPU script right now is that it's set for casper using nvhpc with acc flags, but there might be more settings in the future we want to add here. (details)
  67. Compiler and machine scripts to include the lastest changes in the cime repo, but also keeping our custom configurations in. (details)
  68. Adding compiler optioned needed to compile with latest gnu version. These were accidentally removed and caused tests to fail. RESOLVED:f98790fed7b9283cce7e9981d7e0c2be7fe8e3fb (details)
  69. Fixing a bug in mono_flux_limiter.F90. (#1026) (details)
  70. Fixing a bug. (details)
  71. Renaming wpthlp_entermfl to wpthlp_enter_mfl to be consistent with the CLUBB repo. (details)
  72. This commit is not bit changing, but the following commits were (details)
  73. This commit is not bit changing, but the following were (details)
  74. adding new jenkins test for ERP_ln9 with silhs configuration (details)
  75. small change to cam_silhs_ERP test (details)
  76. Added intel compiler configuration for nelson to support ncar debug flags test #144 (details)
  77. Made new jenkins file for ncar debug test #144 (details)
  78. Forgot to change a few paths #144 (details)
  79. I changed the w_up_in_cloud code in 2 ways: (details)
  80. Possible fix to test error #144 (details)
  81. I added stats output for w_down_in_cloud to all_stats.in. (details)
  82. Updating for the latest changes to CLUBB. (details)
  83. I altered the w_up_in_cloud and w_down_in_cloud code so that a (details)
  84. I have optimized the new w_up_in_cloud and w_down_in_cloud code by (details)
  85. Refactored fill_holes_vertical to make GPUization simple. This is BIT_CHANGING, but results are bit-for-bit when using -O0 optimization, thus it is not answer changing. The first pass over each grid column will not parallelize well, the k-loop needs to be done in serial. Maximum parallelization has been exposed for the global hole-filling though, at the cost of occasionally doing unneccesary calculations. larson-group/clubb#972. (details)
  86. Removing fill_holes_multiplicative and replacing magic numbers with parameters from constants_clubb. larson-group/clubb#972 (details)
  87. Moving vertical_avg and vertical_integral to advance_helper_module. larson-group/clubb#972 (details)
  88. Moving vertical_avg and vertical_integral to advance_helper_module. larson-group/clubb#972 (details)
  89. Removing elementalness from sat_vapor_press_liq and making interal procedures subroutines rather than functions to prevent unneccesary data copies. Doing the same for thlm2T_in_K since it is often used in conjunction with sat_vapor_press_liq. Bit-for-bit confirmed with O0 using all single column cases with or without l_diag_Lscale_from_tau, and with cam_coarse_res. larson-group/clubb#972 (details)
  90. Adding comments. (details)
  91. Adding initial subroutine calc_ice_cloud_frac_component. (details)
  92. Cleaning up new subroutine calc_liquid_cloud_frac_component, and making sat_mixrat_ice a subroutine that works the same way as sat_mixrat_liq. larson-group/clubb#972 (details)
  93. Comment update (details)
  94. Removing these paratheses is BIT_CHANGING since it modifies the order of operations, but allows for the multiplication and subraction to be done in parallel for complex pipelines. (details)
  95. Adding line to indicate BIT_CHANGING:0f8ff1baa73dd122911de7978d0067ad1fcc348b. This is because of actual bit changing commits, and is expected. See https://github.com/larson-group/clubb/pull/1034. (details)
  96. Improvements. Netcdf output is now functional and we can detect errors with multiple columns even when the standard output is identical. (details)
  97. Adds commented-out line that prevents the monotonic flux (details)
  98. Updating monotonic flux limiter code to remove spikes. (#1038) (details)
  99. Creating new flags to control monotonic flux limiter (#1039) (details)
  100. Updating for changes to CLUBB.  See https://github.com/larson-group/clubb/pull/1039. (details)
  101. I am adding cloudy_updraft_frac and cloudy_downdraft_frac as (details)
  102. Modified for changes to advance_clubb_core_api. (details)
  103. Minor adjustment to eliminate spikes in thlm tendencies from the monotonic flux limiter. (#1043) (details)
  104. Adding line to indicate BIT_CHANGING:5abaa74c4daad3b827fff70359563703a9152d1b. This is because of actual bit changing commits, and is expected (details)
  105. Making interface for matrix solvers. (details)
  106. Making tridag tridiag everywhere, making sol soln, and adding intent comments. (details)
  107. A different way of dealing with monotonic flux limiter spikes (#1046) (details)
  108. Steffens tuner fixer branch (#1041) (details)
  109. Adding space to file since previous commit was intentionally BIT_CHANGING:a466f958c140acbd260290c59213a96f3c049793. (details)
  110. Adding capability to change matrix solving method via clubb_config_flags. (details)
  111. Fixing small bug, need to pass _copy arrays to prevent lapack mangling the real ones. (details)
  112. Making GPU and CPU versions of the penta_lu solver the same as discussed in larson-group/clubb#1024. (details)
  113. Making compatible with latest clubb change. (details)
  114. I added "smooth" max clipping for invrs_tau_shear, which is a variable (details)
  115. ADG1_pdf_driver subroutine port with OpenACC (details)
  116. Replacing old elemental ADG1_w_closure with new GPUized one. Making G_unit tests work with new version. Also making mixt_frac_max_mag a scalar since it was only being used as such. larson-group/clubb#1049 (details)
  117. I can now safely remove all the "ifdef E3SM" statements from CLUBB's (details)
  118. Pushing column loop into lapack wrap. (details)
  119. Restructuring and Porting of Compute_mixing_length subroutine(Phase 1) (#1052) (details)
  120. Restructuring and Porting of Compute_mixing_length subroutine(Phase 2) (#1054) (details)
  121. Breaking up column loop in mono_flux_limiter. This may not be the final form for GPUization, but it's definitely a start, no longer do we have to copy single column variables to multicolumn ones anywhere. (#1051) (details)
  122. Adding tridiag_lu solver (#1056) (details)
  123. Adding OpenACC data directives for mixing length and adg routines (details)
  124. Fixing error causing GPU code not to run. Some variables to be copied were labelled as (ngrdcol,nz) when it should be (:ngrdcol,:nz). I've just removed the data length specifiers completely since they are not neccesary in general. (details)
  125. GPUizing sat_mixrat_ice_2D. (details)
  126. Pushing column loop into calculate_thvm (details)
  127. Removing update_pressure since it is no longer called anywhere in clubb or host models. The addition of this subroutine was discussed in larson-group/e3sm#6 and the removal of the call to it was discussed in larson-group/clubb#926. (details)
  128. Removing update_pressure from public list. This was causing compilation crashes. RESOLVED:8c7230fecb877d04fb129ef5e143e0993b4b29b1 (details)
  129. GPUizing some helping procedures. (details)
  130. Removing sigma_sqd_w from the acc data copyout statement. This is a bug which was causing the code to crash when not using managed memory. (details)
  131. Porting pdf_closure subroutine with OpenACC (#1059) (details)
  132. Adding wp3_on_wp2_cfl_num to CLUBB's output stats. (details)
  133. Removing usage of gr from pdf_closure. It was only ever used for nz, which is now fed in directly. (details)
  134. Clubb ticket #1025: Implemented way to make esa tuner reproducible, h… (#1068) (details)
  135. Gpu updates (#1070) (details)
  136. Implements Thomas Toniazzo's bug fix for spike removal (details)
  137. Making 'a_const' into a CLUBB tunable parameter. (#1072) (details)
  138. Updating for changes to CLUBB.  See https://github.com/larson-group/clubb/pull/1072. (details)
  139. Pdf closure driver gpuization (#1071) (details)
  140. Moving compute_cloud_cover outside of if ( l_use_cloud_cover ) then statement, the cloud_cover and rcm_in_layer variables they compute aren't output in clubb_standalone, but are in cam, causing cam bit diff tests to break. (details)
  141. Adding Skthl_zm to the update host list, I missed this in the last PR. I noticed this by comparing results with and without managed memory, now I've checked BFBness with arm, mpace_b, mc3e, and gabls2. (details)
  142. Small GPU fixes (#1076) (details)
  143. Code changes to implement modificiations on wp3 clippings (details)
  144. This commit contains code changes to implement modifications on limiters in three places: (details)
  145. Updating for recent changes to CLUBB. (details)
  146. Advance xm wpxp gpuization (#1077) (details)
  147. Small tweaks to fix some GPU bugs. Some variables were uninitialized on the CPU while we were saving them. This could only have been caught by comparing consecutive runs and checking _zt and _zm files, even then few cases were having problems. (details)
  148. Fixing a labelling error in redirect_interpolated_azt_2D and similar procedures, since this interpolates to zt the input should be zm. I think this was my fault, so I cleaned all the zt2zm and zm2zt things up to make it a little nicer. Also ordered the routines _k _1D _2D to make it easier to jump around, it was a bit confusing as they were out of order and the typo really made it hard. (details)
  149. Making it so sclr_tol is set to 0 before the specified sclr_tol_in. This is so that it is initialized to 0 in the case that sclr_dim = 0, since now we are setting it to have a minimum allocation size of 1 and would otherwise have a garbage value. This is what broke the clubb_openmp_gfortran_test. (details)
  150. Lscale GPUization (#1079) (details)
  151. gfortran does not like intent(out) specifiers for functions. (details)
  152. GPUizing Various Small Routines (#1080) (details)
  153. This commit is a commit that changes absolutely nothing. It is meant to trigger a change in the git update scripts, so that I can start the commit message logging in the autocommit updates larson-group/sys_admin#797 (details)
  154. This commit is a commit that changes absolutely nothing. It is meant to trigger a change in the git update scripts, so that I can start the commit message logging in the autocommit updates larson-group/sys_admin#797 (details)
  155. this is another commit that cahnges nothing that will trigger the gitUpdate scripts (details)
  156. adding an update that changes nothing and is just a test for the autoupdate script (details)
  157. Making CLUBB's splatting scheme implicit and smoother (#1075) (details)
  158. Calc sfc varnce GPUization (#1081) (details)
  159. Reducing C_wp2_splat to 0.25 (from 2.0) for new implicit splatting code. (details)
  160. Removed Space From clip_explicit (details)
  161. Autoupdated CLUBB_core (details)
  162. making changes to trigger autoudpate for test, these commits do nothing (details)
  163. making changes to trigger autoudpate for test, these commits do nothing (details)
  164. Here is another commit that changes nothing (details)
  165. Here is another commit that changes nothing (details)
  166. change to trigger updates (details)
  167. change to calc pressure to trigger autoupdate (details)
  168. GPUizing Lscale_width_vert_avg. Loops have been restructured for simplicity, and algorithm has a different starting value to avoid k dependency. Results are BFB. (#1083) (details)
  169. GPUizing most of advance_clubb_core (#1084) (details)
  170. advance_wp2_wp3 with explicitly managed memory  (#1085) (details)
  171. advance_xp2_xpyp with explicitly managed memory (#1086) (details)
  172. advance_windm_edsclrm with explicitly managed memory (#1087) (details)
  173. Moving data statements to outter most parts of clubb and little fix in advance_wp2_wp3 (#1088) (details)
  174. Data movement improvement (#1089) (details)
Commit 36a4115357397ca24e9fba8ac3a6b4dc9050759c by pbroels
Adding in a git clone step to the Cam Clubb Copy test.
The file was modified jenkins_tests/cam_clubb_code_copy/Jenkinsfile (diff)
Commit c89276a200196d7165528a5ccfbfa3ab64100a71 by pbroels
Trying out git command rather than checkout for cloning.
The file was modified jenkins_tests/cam_clubb_code_copy/Jenkinsfile (diff)
Commit 23e23c57fe72367b0ed526a54898c49f7b18f306 by pbroels
Adding correct scm command and removed redundant run commond from end.
The file was modified jenkins_tests/cam_clubb_code_copy/Jenkinsfile (diff)
Commit f8dabb22ebb75358d9996669c054bd32efc34468 by Gunther Huebler
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
The file was modified README.md (diff)
Commit 22792d68ce4f823ad5ac389361dae0f25f10bcd8 by noreply
Gunthers branch (#996)

* 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.

* Fixing mangled merge.

* Pushing loops down.

* Pushing loops and small cleanup.
The file was modified advance_xp2_xpyp_module.F90 (diff)
Commit 027ddbb31fdc89dc29b576b69ae24dcc7cb5b790 by Gunther Huebler
Various simple changes to improve performance. All bit-for-bit.
The file was modified advance_xp2_xpyp_module.F90 (diff)
The file was modified pdf_utilities.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified pdf_closure_module.F90 (diff)
Commit 9fbc4c9718f0b333f1cfb08f5b2a134fcd849070 by Gunther Huebler
Pushing loop into calc_stability_correction.
The file was modified advance_helper_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified advance_xm_wpxp_module.F90 (diff)
Commit 42f803b40d8314161d921eeb109ed1357eb50016 by pbroels
Adding in comments to explaining the technical tricks and methods in each jenkins file so it is clear what they do and why they are there.
The file was modified jenkins_tests/cam_coarse_res_bin_diff_regression_gfortran_test/Jenkinsfile (diff)
The file was modified jenkins_tests/cam_global_ERP_Ln9_gfortran_test/Jenkinsfile (diff)
The file was modified jenkins_tests/cam_scam_gfortran_test/Jenkinsfile (diff)
The file was modified jenkins_tests/cam_coarse_res_r8029_flags_bin_diff_regression_gfortran_test/Jenkinsfile (diff)
The file was modified jenkins_tests/cam_clubb_code_copy/Jenkinsfile (diff)
The file was modified advance_xp2_xpyp_module.F90 (diff)
Commit f6bb40b687635af5c4c333c02024c3fea93be31d by Gunther Huebler
Another similar small bug fix.
The file was modified advance_xp2_xpyp_module.F90 (diff)
Commit e2ec97eca0f3244643d61e5d258d7341d579b9ad by noreply
Gunthers branch (#999)

* Reworking the flow to make it good.

* Cleaning up.

* Pushing loop into advance_xp2_wpxp.

* Forgot to commit advance_clubb_core.

* Slight improvement to logic of lhs_diff_zm_crank calculation, and fixing stats but present when lhs_diff_zm_crank=true.

* Pushing lots of loops down.

* Changing dimension ordering.

* Cleaning up. This completes advance_wp2_wp3. larson-group/clubb#972

* Changing capitalization of intents.
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified advance_wp2_wp3_module.F90 (diff)
Commit 592d69e2936ee8ce9c706d21a606fe2ed89c5a7f by 68997723+JanGrn
Renamed smth_range to heaviside_smth_range
The file was modified advance_helper_module.F90 (diff)
The file was modified mixing_length.F90 (diff)
Commit c9ccb33dd2dd17ed51136d49262370f980d34efa by 68997723+JanGrn
Added tot_vartn_normlzd statistics. Renamed sclr in advance_helper_module to scalar to be more consistent with clubb naming schemes.
The file was modified advance_helper_module.F90 (diff)
The file was modified stats_variables.F90 (diff)
The file was modified stats_clubb_utilities.F90 (diff)
The file was modified stats_sfc_module.F90 (diff)
Commit e68c14bd04dd6715f4eead46f5252b1cae3d909e by 68997723+JanGrn
Implemented three further normalized variation stats. Included a (most likely temporary) check because in a few cases, denominator for normalization would be 0.
The file was modified stats_variables.F90 (diff)
The file was modified stats_sfc_module.F90 (diff)
The file was modified stats_clubb_utilities.F90 (diff)
Commit 36748fbe6efa8a82b6c846fc8ec914e90114bdfb by 68997723+JanGrn
Changed priorities of total normalized variation stats, included error handling in total normalized variation stats.
The file was modified stats_clubb_utilities.F90 (diff)
Commit 28fb91ccebb1790cc90b29cc7fe8b0b211b727eb by 68997723+JanGrn
Renamed pdf_output_filename. Added grid_level constant to avoid magic numbers in stats_update_var_pt calls.
The file was modified stats_clubb_utilities.F90 (diff)
Commit 8b65b741ae34ba9ef8287f3fcafd627092d4ba13 by noreply
Gunthers branch 2 (#1002)

* 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.
The file was modified advance_windm_edsclrm_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified advance_helper_module.F90 (diff)
The file was modified setup_clubb_pdf_params.F90 (diff)
The file was modified clubb_api_module.F90 (diff)
Commit 488bf543bb77e0f48a1958074bd8d468f4421f76 by 68997723+JanGrn
Bugfix for merge #1000. stderr was not imported in stat_clubb_utilities.F90, causing compilation to fail.
The file was modified stats_clubb_utilities.F90 (diff)
Commit 612b58c17db79d410f0d7c183c582f38d1ccb1b5 by 68997723+JanGrn
Added ability to apply smooth min max functions in mixing_length.F90
The file was modified advance_helper_module.F90 (diff)
The file was modified mixing_length.F90 (diff)
Commit 2d9fdafb4596ebd4063d961bc3d1b18c0dbcff3d by 68997723+JanGrn
Updated deprecated documentation of smooth min and max functions in advance_helper_module.F90. https://github.com/larson-group/clubb/issues/965
The file was modified advance_helper_module.F90 (diff)
Commit f050454be526c9ec53c1d5445ba5ea554477010c by 68997723+JanGrn
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
The file was modified advance_helper_module.F90 (diff)
The file was modified mixing_length.F90 (diff)
Commit d540581ca5c6736c20a89d3b168cd0048f6bf3a2 by 68997723+JanGrn
Added test cases to smooth_min_max_tests.F90 and updated documentation.
The file was modified mixing_length.F90 (diff)
Commit e3cdb98eb6cc532f8ef187f2d1cc56481a75d1f5 by noreply
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.

* Adding descriptive comment.
The file was modified setup_clubb_pdf_params.F90 (diff)
The file was modified clubb_api_module.F90 (diff)
Commit f6c58abafbfc4b18957f9eedff60deeb321bad32 by noreply
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.

* Adding descriptive comment.
The file was modified silhs_api_module.F90 (diff)
The file was modified latin_hypercube_driver_module.F90 (diff)
Commit 29e08c789aef09db2b76a418d3ab4c35bfc50a04 by benjamin.andrew.stephens
Updating for changes to CLUBB.  See https://github.com/larson-group/clubb/commit/e4f125ba067ba8083f917e0e06b6b2398483d3e4.
The file was modified src/physics/cam/subcol_SILHS.F90 (diff)
Commit db5164bb7ed0c78ce4f06f92e7bf6118d10addf3 by noreply
Almost final loop pushes (#1012)

* Pushing loop into clip_rcm

* Pushing column loop into trapezoid routines.

* Pushing column loop into clip_covar routines.

* Pushing column loop into clip_variance and clip_skewness.

* Replacing sgn_turbulent_velocity with built in fortran sign

* Removing gr from argument list of stats calls, replacing with just nz

* Replacing some usages of gr with just the number of vertical levels

* Replacing some usages of gr with just the number of vertical levels again

* Missed a couple files to commit

* Pushing some loops and removing need for gr to be passed into some routines.

* Pushing loop into advance_xp3

* Pushing loop into mixing length

* Some more loop pushing

* Pushing some loops into mono_flux limit, skipping the lhs routine since it's a bit tricky at the moment, will do after change to grid class.

* Removing gr from argument list of stats accumulate

* Precalculating zt2zm so that we can use 2d version

* Precalculating um/vm ddzt so that we can use 2d version

* Precalculating things to use 2d version of zt2zm

* Making 2d version of cubic interp for grid class

* Small modifications to sponge damping code argument lists

* Renaming some variables
The file was modified mono_flux_limiter.F90 (diff)
The file was modified adg1_adg2_3d_luhar_pdf.F90 (diff)
The file was modified setup_clubb_pdf_params.F90 (diff)
The file was modified sponge_layer_damping.F90 (diff)
The file was modified clip_explicit.F90 (diff)
The file was modified new_pdf.F90 (diff)
The file was modified advance_wp2_wp3_module.F90 (diff)
The file was modified numerical_check.F90 (diff)
The file was modified pos_definite_module.F90 (diff)
The file was modified turbulent_adv_pdf.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified fill_holes.F90 (diff)
The file was modified advance_helper_module.F90 (diff)
The file was modified advance_xp3_module.F90 (diff)
The file was modified stats_clubb_utilities.F90 (diff)
The file was modified grid_class.F90 (diff)
The file was modified pdf_closure_module.F90 (diff)
The file was modified mixing_length.F90 (diff)
The file was modified new_pdf_main.F90 (diff)
The file was modified clubb_api_module.F90 (diff)
The file was modified advance_xp2_xpyp_module.F90 (diff)
The file was modified advance_windm_edsclrm_module.F90 (diff)
The file was modified advance_xm_wpxp_module.F90 (diff)
The file was modified new_tsdadg_pdf.F90 (diff)
The file was modified LY93_pdf.F90 (diff)
The file was modified new_hybrid_pdf_main.F90 (diff)
The file was modified stats_type_utilities.F90 (diff)
Commit 113beb1ec6663fcef3f6bb75c7ee971ab3c0fa45 by noreply
Making pdf_implicit_coefs_terms a type containing 2D arrays. (#1014)

The file was modified pdf_closure_module.F90 (diff)
The file was modified advance_wp2_wp3_module.F90 (diff)
The file was modified clubb_api_module.F90 (diff)
The file was modified new_hybrid_pdf_main.F90 (diff)
The file was modified pdf_parameter_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified advance_xm_wpxp_module.F90 (diff)
The file was modified advance_xp2_xpyp_module.F90 (diff)
The file was modified new_pdf_main.F90 (diff)
Commit 4da100a6a644f98653e747fc976e1909d1be9d8a by Gunther Huebler
Making compatible with latest clubb change.
The file was modified src/physics/cam/clubb_intr.F90 (diff)
Commit c20662363e47160831e6737942e9f0074f06630d by noreply
This commit is not bit changing

but  the following commits are
        BIT_CHANGING:29e08c789aef09db2b76a418d3ab4c35bfc50a04
BIT_CHANGING:741338adec67b4d8d6087af4c8c3e2206692dc04
BIT_CHANGING:ed63800262913a0c130c80cd16067e7d68548613
for simulations that include silhs
The file was modified run_scripts/run_scam.bash (diff)
Commit 7bc6f76ec8b70bc1789f90b554dca47122c40001 by Gunther Huebler
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.
The file was modified new_hybrid_pdf_main.F90 (diff)
The file was modified new_pdf_main.F90 (diff)
Commit de73c4eefaee2b50045b4f5e706868e84b0f4550 by Gunther Huebler
Making zt2zm calls with pdf_implicit_coefs_terms use the 2D version.
The file was modified advance_xp2_xpyp_module.F90 (diff)
Commit 3643c78f6fe2260f971bba96ead125858b665f1c by Gunther Huebler
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).
The file was modified clubb_api_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
Commit 25568b67709f1d52bc277cbd64bca0ee4c6b86c0 by Gunther Huebler
Making compatible with latest clubb change.
The file was modified src/physics/cam/clubb_intr.F90 (diff)
Commit c623b91a9bf812b85b51b575233ad00e8b98f16c by Gunther Huebler
Making 2D versions of setup_grid and setup_parameters.
The file was modified grid_class.F90 (diff)
The file was modified parameters_tunable.F90 (diff)
The file was modified clubb_api_module.F90 (diff)
Commit ffa8c5c5860210f89bb463fc8aac90c1ba9c5e00 by Gunther Huebler
Now using 2D versions of setup_grid and setup_parameters
The file was modified src/physics/cam/clubb_intr.F90 (diff)
Commit 69aaa53016d97c134fc63c8ebc1a7c029d2b6074 by Gunther Huebler
Making lmin a scalar again, twas a mistake to make it an array, it can only take on one value.
The file was modified mixing_length.F90 (diff)
The file was modified parameters_tunable.F90 (diff)
The file was modified clubb_api_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
Commit 1381bb4a8eef5d1782331e5dd10a009e0b7f3f8a by Gunther Huebler
Making compatible with latest clubb change.
The file was modified src/physics/cam/clubb_intr.F90 (diff)
Commit 02455edff630a52bd333d2b0013748e4bce7e9ff by Gunther Huebler
Making nu_vert_res_dep a type containing arrays, as opposed to being an array of types.
The file was modified parameters_tunable.F90 (diff)
The file was modified clubb_api_module.F90 (diff)
The file was modified advance_wp2_wp3_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified advance_xp2_xpyp_module.F90 (diff)
The file was modified advance_xm_wpxp_module.F90 (diff)
The file was modified advance_windm_edsclrm_module.F90 (diff)
Commit 6dd5bcc676dddf357672049bb22b75be6d7e904d by Gunther Huebler
Making compatible with latest clubb change.
The file was modified src/physics/cam/clubb_intr.F90 (diff)
Commit 08032b73db277afea298e661e84f467f530f57ce by Gunther Huebler
Making silhs use the new 2D version of setup_grid. This also inadvertently fixes a bug added in commit c816bcbd4bb8b8cfa89aa9c0f976ee799cb795e2. The issue was that we used pver when we wanted pverp.
The file was modified src/physics/cam/subcol_SILHS.F90 (diff)
The file was modified advance_wp2_wp3_module.F90 (diff)
The file was modified advance_xp2_xpyp_module.F90 (diff)
The file was modified diffusion.F90 (diff)
The file was modified turbulent_adv_pdf.F90 (diff)
The file was modified mono_flux_limiter.F90 (diff)
The file was modified mean_adv.F90 (diff)
The file was modified advance_windm_edsclrm_module.F90 (diff)
The file was modified advance_xm_wpxp_module.F90 (diff)
Commit a64cacf0a77189a2f5e834d18911b1b3e6594a7b by 37674341+huebleruwm
Small bug fix. This was not a bit changing bug, but could cause crashes if we compile with floating point trapping in a multicolumn run.
The file was modified mixing_length.F90 (diff)
Commit fcfffe10437ae1515c57311853370d6d071411ac by 37674341+huebleruwm
Small refactoring to mfl_xm_lhs, just removing need to pass in gr.
The file was modified mono_flux_limiter.F90 (diff)
Commit 9f6a4e357eb6f213de0fa9831082355536bebc4b by 37674341+huebleruwm
Final loop pushes needed before the grid change.
The file was modified clubb_api_module.F90 (diff)
The file was modified grid_class.F90 (diff)
The file was modified fill_holes.F90 (diff)
The file was modified latin_hypercube_driver_module.F90 (diff)
Commit 5f28804ea67da26c76cb5a0fae485ba4d40fe90d by pbroels
Changing NETCDF path in jenkins test command.
The file was modified jenkins_tests/cam_global_ERP_Ln9_gfortran_test/Jenkinsfile (diff)
Commit 56a6a3e9480580f23cb0eeea1b9fcad1fcc49e56 by Gunther Huebler
Modifying shell commands to be the more recognized version. |& should be understood by bash version >= 3.2.25 but that does not seem to be the case, so we're reverting it to the equivalent 2>&1 |
The file was modified cime_config/usermods_dirs/scam_mandatory/shell_commands (diff)
Commit d884a9e605347a73d4aa78f59f94eaea79f14cb6 by Gunther Huebler
Updating compiler config file
The file was modified cime_config_cesm_machines_files/config_compilers.xml (diff)
Commit 0c0a17ef9e4f280504e7733f75e47c98e9ee7863 by pbroels
Changing the cam_global_ERP_Ln9_gfortran_test jenkins test to specify the computer when configuring.
The file was modified jenkins_tests/cam_global_ERP_Ln9_gfortran_test/Jenkinsfile (diff)
Commit fece46637566b9e53ed2e20894a4f53cc2f617da by 37674341+huebleruwm
The big grid change. Converting gr from being an array of types containing 1D arrays, to a type containing 2D arrays. All cases BFB, cam multicolumn+silhs BFB, and cam multicolumn (no silhs) with backwards compatible settings BFB.
The file was modified mono_flux_limiter.F90 (diff)
The file was modified advance_xp2_xpyp_module.F90 (diff)
The file was modified mixing_length.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified clip_explicit.F90 (diff)
The file was modified advance_xp3_module.F90 (diff)
The file was modified clubb_api_module.F90 (diff)
The file was modified diffusion.F90 (diff)
The file was modified pos_definite_module.F90 (diff)
The file was modified setup_clubb_pdf_params.F90 (diff)
The file was modified grid_class.F90 (diff)
The file was modified turbulent_adv_pdf.F90 (diff)
The file was modified pdf_closure_module.F90 (diff)
The file was modified calc_pressure.F90 (diff)
The file was modified advance_wp2_wp3_module.F90 (diff)
The file was modified parameters_tunable.F90 (diff)
The file was modified sponge_layer_damping.F90 (diff)
The file was modified stats_clubb_utilities.F90 (diff)
The file was modified adg1_adg2_3d_luhar_pdf.F90 (diff)
The file was modified advance_windm_edsclrm_module.F90 (diff)
The file was modified advance_helper_module.F90 (diff)
The file was modified advance_xm_wpxp_module.F90 (diff)
The file was modified fill_holes.F90 (diff)
Commit dcb05d4849a9fd845627278f534f82c5d95b5424 by 37674341+huebleruwm
The big grid change. Converting gr from being an array of types containing 1D arrays, to a type containing 2D arrays. All cases BFB, cam multicolumn+silhs BFB, and cam multicolumn (no silhs) with backwards compatible settings BFB.
The file was modified latin_hypercube_driver_module.F90 (diff)
The file was modified silhs_api_module.F90 (diff)
Commit 15f00fee29eadb43b5b3b669b7f7f204a362b9ab by Gunther Huebler
Making compatible with latest clubb change. update_xp2_mc will be broken by this, but all we need to do to fix it is push the column loop into it.
The file was modified src/physics/cam/clubb_intr.F90 (diff)
The file was modified src/physics/cam/subcol_SILHS.F90 (diff)
Commit b283dcad1f9b9a9c6574f5c7466bd8125a80a917 by 37674341+huebleruwm
Removing the zt2zm interface from clubb_api and making the api calls just redirect to the grid class interface for it.
The file was modified clubb_api_module.F90 (diff)
Commit 64ef912040e0e808923bb5c9354e39c0d4ddbe87 by 37674341+huebleruwm
Pushing column loop into mean advection procedures.
The file was modified mean_adv.F90 (diff)
The file was modified advance_windm_edsclrm_module.F90 (diff)
The file was modified advance_wp2_wp3_module.F90 (diff)
The file was modified advance_xp2_xpyp_module.F90 (diff)
The file was modified advance_xm_wpxp_module.F90 (diff)
The file was modified mono_flux_limiter.F90 (diff)
The file was modified advance_xm_wpxp_module.F90 (diff)
Commit dd7ed27deff26acabf5edfe1932224e64ae68f5e by 37674341+huebleruwm
Moving above/below index of grid weights to last dimension.
The file was modified advance_wp2_wp3_module.F90 (diff)
The file was modified mean_adv.F90 (diff)
The file was modified turbulent_adv_pdf.F90 (diff)
The file was modified grid_class.F90 (diff)
The file was modified mono_flux_limiter.F90 (diff)
Commit 61e346b94dc205f46ddb43e037f2758a535a20b3 by 37674341+huebleruwm
Pushing loop into fill_holes.
The file was modified clubb_api_module.F90 (diff)
The file was modified advance_xp2_xpyp_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified advance_wp2_wp3_module.F90 (diff)
The file was modified advance_xm_wpxp_module.F90 (diff)
The file was modified fill_holes.F90 (diff)
The file was modified advance_xm_wpxp_module.F90 (diff)
Commit add842c9f5797774559dce57ce5f51a506523344 by 37674341+huebleruwm
Making linear_interpolated_azt_2D and linear_interpolated_azm_2D subroutines just to avoid a needless data copy.
The file was modified grid_class.F90 (diff)
Commit dc9e57ed7bdf35c97640ff0ddc87e39a6a51897b by 37674341+huebleruwm
Making update_xp2_mc 2D and creating interface for 1D calls.
The file was modified clubb_api_module.F90 (diff)
The file was modified advance_xp2_xpyp_module.F90 (diff)
Commit ee9f159addb28e0141c270d26d21157868f25be4 by Gunther Huebler
Making use of new 2D call to update_xp2_mc
The file was modified src/physics/cam/clubb_intr.F90 (diff)
Commit 909e5aed7dc150bc2899b8fa379916a5eb947576 by Gunther Huebler
Declaring local variables with state%ncol rather than pcols. This avoid occasional slicing and other complications. Also making everything in clubb_tend_cam follow the same indentation scheme.
The file was modified src/physics/cam/clubb_intr.F90 (diff)
Commit cb90ae213c431d4f1e25362cdc30d2f3eb36d21d by cernikt
added ulimit tag to arm97 case of scam test to avoid stack overflow errors larson-group/sys_admin#781
The file was modified jenkins_tests/cam_scam_gfortran_test/Jenkinsfile (diff)
Commit ed460b8da54ec8c8672698204b962b1f2c0bba76 by noreply
Fixing units in stats_zt_module.F90

This change will be BIT_CHANGING because it will affect the descriptions of variables in the netcdf files, but will not change answers.
The file was modified stats_zt_module.F90 (diff)
Commit fbe7d6cc896b5e489b73e54bad6dbcd564e7f4b1 by Gunther Huebler
Adding run script for gpu runs without silhs. The only thing making this a GPU script right now is that it's set for casper using nvhpc with acc flags, but there might be more settings in the future we want to add here.
The file was addedrun_scripts/run_cesm_uwm_coarse_res_gpu_no_silhs.sh
Commit f98790fed7b9283cce7e9981d7e0c2be7fe8e3fb by Gunther Huebler
Compiler and machine scripts to include the lastest changes in the cime repo, but also keeping our custom configurations in.
The file was modified cime_config_cesm_machines_files/config_compilers.xml (diff)
The file was modified cime_config_cesm_machines_files/config_machines.xml (diff)
Commit 44ac12cb698b923fc7f8f5419676363d32d7a2a7 by Gunther Huebler
Adding compiler optioned needed to compile with latest gnu version. These were accidentally removed and caused tests to fail. RESOLVED:f98790fed7b9283cce7e9981d7e0c2be7fe8e3fb
The file was modified cime_config_cesm_machines_files/config_compilers.xml (diff)
Commit 8d3e4542fb9b0c14babe8621eca51648539827a8 by noreply
Fixing a bug in mono_flux_limiter.F90. (#1026)

* Fixing a bug in mono_flux_limiter.F90.  This code was outputting "xm" instead of "wpxp" in several places.

This commit is BIT_CHANGING since it will affect the netcdf output for these variables, even though there
is no real change to answers.

* Renaming wpthlp_entermfl to wpthlp_enter_mfl which is more consistent with other variable names.

This is BIT_CHANGING due to changing the name and description in the output netcdf files.

* Renaming a few more instances of wpthlp_entermfl to wpthlp_enter_mfl.
The file was modified mono_flux_limiter.F90 (diff)
The file was modified stats_zm_module.F90 (diff)
The file was modified stats_variables.F90 (diff)
The file was modified pdf_closure_module.F90 (diff)
Commit 2874fe6baccfce27354ca685c87208341e682fa2 by benjamin.andrew.stephens
Renaming wpthlp_entermfl to wpthlp_enter_mfl to be consistent with the CLUBB repo.
The file was modified run_scripts/run_cesm_uwm_coarse_res.sh (diff)
The file was modified run_scripts/run_cesm_uwm_coarse_res_gpu_no_silhs.sh (diff)
The file was modified run_scripts/run_scam.csh (diff)
The file was modified cime_config/testdefs/testmods_dirs/cam/silhs/user_nl_cam (diff)
The file was modified run_scripts/run_cesm_uwm.sh (diff)
The file was modified run_scripts/run_scam.bash (diff)
The file was modified run_scripts/run_cesm_uwm_coarse_res_r8029_flags.sh (diff)
Commit dba5cfe78aa510ecc1dc104d4ddf8430ce7a97ce by noreply
This commit is not bit changing, but the following commits were

BIT_CHANGING: 03d466b94c1156f73c350ef0e0ee11af6f306bad
BIT_CHANGING: 8d3e4542fb9b0c14babe8621eca51648539827a8
The file was modified run_scripts/run_scam.bash (diff)
Commit b48bd9891b2af77f59cf67397a99ad7e3cd9fb23 by noreply
This commit is not bit changing, but the following were

BIT_CHANGING:03d466b94c1156f73c350ef0e0ee11af6f306bad
BIT_CHANGING:2874fe6baccfce27354ca685c87208341e682fa2
The file was modified README.md (diff)
Commit 302dd2f416c840659d1fdc713040e1244423f6d1 by cernikt
adding new jenkins test for ERP_ln9 with silhs configuration
The file was addedjenkins_tests/cam_silhs_global_ERP_ln9_gfortran_test/Jenkinsfile
Commit a690ad1e8a3c791fae7c2ac511ecd8efeae37aba by cernikt
small change to cam_silhs_ERP test
The file was modified jenkins_tests/cam_silhs_global_ERP_ln9_gfortran_test/Jenkinsfile (diff)
Commit 8bf848d7512a25fb497b21a4f07111edd4d2a0b6 by cernikt
Added intel compiler configuration for nelson to support ncar debug flags test #144
The file was modified cime_config_cesm_machines_files/config_machines.xml (diff)
Commit 12a2dc21873db5668279120fc0dacca4425f0e04 by cernikt
Made new jenkins file for ncar debug test #144
The file was addedjenkins_tests/cam_scam_ifort_ncar_debug_test/Jenkinsfile
Commit 59054d0d5f547be6b7802d1d4733c48e81a10eae by cernikt
Forgot to change a few paths #144
The file was modified jenkins_tests/cam_scam_ifort_ncar_debug_test/Jenkinsfile (diff)
Commit 9434be0736f63802f57dc200dad4c6eae62f68be by bmg2
I changed the w_up_in_cloud code in 2 ways:

1)  The denominator term is now the "cloudy updraft" frac in each
PDF component, rather than just the PDF component cloud_frac.  This
is more consistent with the quantity being integrated.

2)  I also added a w_down_in_cloud for cloudy downdraft velocity.

Since these fields are not output as part of standard stats, this
commit will be bit-for-bit for the normal CLUBB output files.
The file was modified pdf_closure_module.F90 (diff)
The file was modified clubb_api_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
Commit 9ec33f31a84307314d8043e92dbae389a8915bb5 by cernikt
Possible fix to test error #144
The file was modified jenkins_tests/cam_scam_ifort_ncar_debug_test/Jenkinsfile (diff)
Commit d0bd6bf033fe043e0218e55cf4059316e0d308e4 by bmg2
I added stats output for w_down_in_cloud to all_stats.in.

Since this stat was not added to standard_stats.in, official results
will still be bit-for-bit.
The file was modified stats_variables.F90 (diff)
The file was modified stats_zt_module.F90 (diff)
The file was modified stats_clubb_utilities.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified pdf_closure_module.F90 (diff)
Commit 4631a5e1d59198d98a06b7312e016cb03e7e21f9 by bmg2
Updating for the latest changes to CLUBB.
The file was modified src/physics/cam/clubb_intr.F90 (diff)
Commit a7de6b09f4f0e09b48f663e2432b3e98b29bfe60 by bmg2
I altered the w_up_in_cloud and w_down_in_cloud code so that a
thresholding is used similar to what is seen in the cloud fraction
and cloud water code.  If the PDF component mean of w more than
the maximum allow number of standard deviations away from 0, the
PDF component is either all-updrafty or all-downdrafty, and the
code avoids expensive computations where large magnitude values
can potentially be fed into ERF or EXP.

Of course, the results are not bit-for-bit with the previous version,
meaning that there are some situations where these thresholds come
into effect.  However, plots of all cases show no visible differences
in w_up_in_cloud and w_down_in_cloud.

Since w_up_in_cloud and w_down_in_cloud are not included in normal
stats output, this commit does not change the bit-for-bitness of
CLUBB code.
The file was modified pdf_closure_module.F90 (diff)
Commit 493cf3aafada57c53b1508b2b5990ce0a7dcafea by bmg2
I have optimized the new w_up_in_cloud and w_down_in_cloud code by
only doing repeated operations one time and then saving them as a
local variable.

Since the numerical order of operations changes for the argument
to the EXP term, the results will differ at the level of numerical
round-off, making this revision not bit-for-bit with the last revision.
This only affects the w_up_in_cloud and w_down_in_cloud statistical
output variables, which in turn are not output as part of
standard_stats.in.
The file was modified pdf_closure_module.F90 (diff)
Commit ab4282b0f6e0a3a1e3404836c96121fb79a872d4 by 37674341+huebleruwm
Refactored fill_holes_vertical to make GPUization simple. This is BIT_CHANGING, but results are bit-for-bit when using -O0 optimization, thus it is not answer changing. The first pass over each grid column will not parallelize well, the k-loop needs to be done in serial. Maximum parallelization has been exposed for the global hole-filling though, at the cost of occasionally doing unneccesary calculations. larson-group/clubb#972.
The file was modified advance_xp2_xpyp_module.F90 (diff)
The file was modified fill_holes.F90 (diff)
The file was modified advance_wp2_wp3_module.F90 (diff)
The file was modified clubb_api_module.F90 (diff)
The file was modified advance_xm_wpxp_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
Commit b0eeb2ebed4160829305c9a13bc60818b045fb22 by 37674341+huebleruwm
Removing fill_holes_multiplicative and replacing magic numbers with parameters from constants_clubb. larson-group/clubb#972
The file was modified advance_xp2_xpyp_module.F90 (diff)
The file was modified advance_wp2_wp3_module.F90 (diff)
The file was modified constants_clubb.F90 (diff)
The file was modified advance_xm_wpxp_module.F90 (diff)
The file was modified fill_holes.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
Commit 0a21a67e8c0d8373ae4315241b338842259b1d69 by 37674341+huebleruwm
Moving vertical_avg and vertical_integral to advance_helper_module. larson-group/clubb#972
The file was modified fill_holes.F90 (diff)
The file was modified advance_helper_module.F90 (diff)
The file was modified clubb_api_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified mono_flux_limiter.F90 (diff)
The file was modified stats_clubb_utilities.F90 (diff)
Commit 18677b4114aff3b59943c43e9207fc7a8630060e by 37674341+huebleruwm
Moving vertical_avg and vertical_integral to advance_helper_module. larson-group/clubb#972
The file was modified latin_hypercube_driver_module.F90 (diff)
Commit 09720448888edc3117ea736bfa140a0c60bd6f04 by 37674341+huebleruwm
Removing elementalness from sat_vapor_press_liq and making interal procedures subroutines rather than functions to prevent unneccesary data copies. Doing the same for thlm2T_in_K since it is often used in conjunction with sat_vapor_press_liq. Bit-for-bit confirmed with O0 using all single column cases with or without l_diag_Lscale_from_tau, and with cam_coarse_res. larson-group/clubb#972
The file was modified advance_helper_module.F90 (diff)
The file was modified stats_clubb_utilities.F90 (diff)
The file was modified mixing_length.F90 (diff)
The file was modified pdf_closure_module.F90 (diff)
The file was modified clubb_api_module.F90 (diff)
The file was modified T_in_K_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified saturation.F90 (diff)
The file was modified saturation.F90 (diff)
The file was modified T_in_K_module.F90 (diff)
The file was modified clubb_api_module.F90 (diff)
The file was modified grid_class.F90 (diff)
Commit bf79a8d55fe3ca7aacc106b68052a316cc3e359e by 37674341+huebleruwm
Adding initial subroutine calc_ice_cloud_frac_component.
The file was modified pdf_closure_module.F90 (diff)
Commit 60041d793c8fa3229f278a20ec6bdd9fc468f39f by 37674341+huebleruwm
Cleaning up new subroutine calc_liquid_cloud_frac_component, and making sat_mixrat_ice a subroutine that works the same way as sat_mixrat_liq. larson-group/clubb#972
The file was modified stats_clubb_utilities.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified saturation.F90 (diff)
The file was modified pdf_closure_module.F90 (diff)
The file was modified pdf_closure_module.F90 (diff)
Commit f2673f56e2eb850b910f74fa7f50ed589a9aebb3 by 37674341+huebleruwm
Removing these paratheses is BIT_CHANGING since it modifies the order of operations, but allows for the multiplication and subraction to be done in parallel for complex pipelines.
The file was modified saturation.F90 (diff)
Commit b089ad6db612a88c2216fe1601aa71bba9ede1ce by Gunther Huebler
Adding line to indicate BIT_CHANGING:0f8ff1baa73dd122911de7978d0067ad1fcc348b. This is because of actual bit changing commits, and is expected. See https://github.com/larson-group/clubb/pull/1034.
The file was modified README.md (diff)
Commit fb2e67620ac50c35b5cf20cb5e18a1a96d504a86 by 37674341+huebleruwm
Improvements. Netcdf output is now functional and we can detect errors with multiple columns even when the standard output is identical.
The file was modified output_netcdf.F90 (diff)
Commit 7e894655b82f891a5b60ba4e0e6670ff3c0fa5b0 by noreply
Adds commented-out line that prevents the monotonic flux

limiter from acting on rtm.  The comments are included to remind us of how to do this in case we choose to do so in the future.
The file was modified advance_xm_wpxp_module.F90 (diff)
Commit 4ba46bf534c3ed32f9227282f94b102f7006918e by noreply
Updating monotonic flux limiter code to remove spikes. (#1038)

Also putting a commented out code change in advance_xm_wpxp,
in case shutting of the flux limiter entirely for rtm is preferred.

See https://github.com/NCAR/amwg_dev/discussions/134 for discussion.

This commit will be BIT_CHANGING although the differences are only
obvious in sensitive cases like arm_97.
The file was modified mono_flux_limiter.F90 (diff)
Commit f30bf0d926336356fdb094f944cfb1174a1ec225 by noreply
Creating new flags to control monotonic flux limiter (#1039)

* Creating new flags to control monotonic flux limiter and the IF statement fix for the spikes found in CAM.

* Removing no-longer-necessary logical l_mono_flux_lim.

* Adding requested changes from PR (intent statements and editing error statement).

* Accidentally set flag to false. Changing to true.
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified advance_xm_wpxp_module.F90 (diff)
The file was modified clubb_api_module.F90 (diff)
The file was modified model_flags.F90 (diff)
The file was modified mono_flux_limiter.F90 (diff)
Commit 7aed0e386ae5721e4a34578c042faf1b8cddd122 by 59519056+bstephens82
Updating for changes to CLUBB.  See https://github.com/larson-group/clubb/pull/1039.
The file was modified src/physics/cam/clubb_intr.F90 (diff)
Commit 3bdab2ca5a22a425da62f8cae4c8e01097f44fa8 by bmg2
I am adding cloudy_updraft_frac and cloudy_downdraft_frac as
outputs to the calculate_w_up_in_cloud code.

These fields are non-interactive for the standard set of cases.
Thus, all cases are bit-for-bit identical.

However, for the w_up_in_cloud and w_down_in_cloud results themselves,
it is possible that results might not be bit-for-bit since
the location of the max(eps, ...) clipping in the denominator
is changed.  However, results should not be appreciable different.
The file was modified stats_zt_module.F90 (diff)
The file was modified pdf_closure_module.F90 (diff)
The file was modified stats_variables.F90 (diff)
The file was modified stats_clubb_utilities.F90 (diff)
The file was modified clubb_api_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
Commit 208a1ae6fdc0e95a4a04401f7022328ddbb8c6a8 by bmg2
Modified for changes to advance_clubb_core_api.
The file was modified src/physics/cam/clubb_intr.F90 (diff)
Commit 200706b307be40ceb42f6121bd0f7d1be2b116c6 by noreply
Minor adjustment to eliminate spikes in thlm tendencies from the monotonic flux limiter. (#1043)

See https://github.com/NCAR/amwg_dev/discussions/134.

This commit will be BIT_CHANGING. Differences are mainly noticeable in the more sensitive cases.
The file was modified mono_flux_limiter.F90 (diff)
Commit d5b18b59e8b341b00adadf5ccd5fd9dad96ca64d by noreply
Adding line to indicate BIT_CHANGING:5abaa74c4daad3b827fff70359563703a9152d1b. This is because of actual bit changing commits, and is expected
The file was modified README.md (diff)
Commit 952c923222bf8901dc9b388f286872a73e6c609d by 37674341+huebleruwm
Making interface for matrix solvers.
The file was modified advance_xm_wpxp_module.F90 (diff)
The file was addedmatrix_solver_wrapper.F90
The file was addedpenta_lu_solver.F90
The file was modified advance_xp2_xpyp_module.F90 (diff)
The file was modified mono_flux_limiter.F90 (diff)
The file was modified advance_windm_edsclrm_module.F90 (diff)
The file was modified advance_wp2_wp3_module.F90 (diff)
The file was modified lapack_wrap.F90 (diff)
Commit 6d88c22f60109415cdedeafb87ef6ab88ca1b07e by 37674341+huebleruwm
Making tridag tridiag everywhere, making sol soln, and adding intent comments.
The file was modified lapack_wrap.F90 (diff)
The file was modified penta_lu_solver.F90 (diff)
The file was modified matrix_solver_wrapper.F90 (diff)
The file was modified advance_xm_wpxp_module.F90 (diff)
Commit 5baacd72ae885dceeb8a535b8d190c8be73a6931 by noreply
A different way of dealing with monotonic flux limiter spikes (#1046)

* A different way of dealing with monotonic flux limiter spikes in CAM, by increasing the value
of thl_tol_mfl.  ALso reverts the earlier fix.  BIT_CHANGING.

See https://github.com/NCAR/amwg_dev/discussions/134#discussioncomment-4165447.

* Reducing value of thl_tol_mfl from 0.5 to 0.2.

This will be BIT_CHANGING.
The file was modified mono_flux_limiter.F90 (diff)
The file was modified constants_clubb.F90 (diff)
Commit 269513ec0b95ddee2bff960d0c74a4ceccb8feef by noreply
Steffens tuner fixer branch (#1041)

* Clubb ticket #1025: Implemented changes dealing with pdf_params%thl1/2 and wp2 floating point errors occurring in tuning runs. BIT_CHANGING
- Added command-line option -t/--tuner to compile.bash which enables the -DTUNER compiler flag.
- Added line to gfortran compilation config file to easily disable openMP
- Added a couple error messages and cleaned up some instances of error handling in src/error.F90, src/clubb_driver.F90, and src/CLUBB_core/advance_clubb_core_module.F90
- Added global constant wp2_max in src/CLUBB_core/constants_clubb.F90 which sets the upper bound for wp2
- In pdf_closure, added sanity checks for pdf_params%thl1/2 (>=190K, <=1000K)
- Added debug warning in src/CLUBB_core/advance_wp2_wp3_module.F90 when wp2 is clipped.
- Added wp2_sfc clipping in src/CLUBB_core/sfc_varnce_module.F90
- Added debug_level_check to NaN check in clubb_driver.F90
- Added mention of the new compiler option to the README
The file was modified grid_class.F90 (diff)
The file was modified sfc_varnce_module.F90 (diff)
The file was modified pdf_closure_module.F90 (diff)
The file was modified numerical_check.F90 (diff)
The file was modified advance_wp2_wp3_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified constants_clubb.F90 (diff)
Commit 7a1e1a66d31781af598a0480d75d345eecb18a25 by Gunther Huebler
Adding space to file since previous commit was intentionally BIT_CHANGING:a466f958c140acbd260290c59213a96f3c049793.
The file was modified run_scripts/netcdf_3D_vars_diff.py (diff)
Commit 127883ca8f0dce455123056d72efb0cdef4794ca by 37674341+huebleruwm
Adding capability to change matrix solving method via clubb_config_flags.
The file was modified clubb_api_module.F90 (diff)
The file was modified advance_windm_edsclrm_module.F90 (diff)
The file was modified mono_flux_limiter.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified matrix_solver_wrapper.F90 (diff)
The file was modified advance_xp2_xpyp_module.F90 (diff)
The file was modified advance_wp2_wp3_module.F90 (diff)
The file was modified advance_xm_wpxp_module.F90 (diff)
The file was modified model_flags.F90 (diff)
Commit d8493869b48641432cac85c681884b5d5bf203a6 by 37674341+huebleruwm
Fixing small bug, need to pass _copy arrays to prevent lapack mangling the real ones.
The file was modified matrix_solver_wrapper.F90 (diff)
Commit 4588198937b2b4dcc148fc980125b5ea87fa3354 by 37674341+huebleruwm
Making GPU and CPU versions of the penta_lu solver the same as discussed in larson-group/clubb#1024.
The file was modified penta_lu_solver.F90 (diff)
Commit d8d41f6931968f7edd0c15e974c2e5acafa45f3b by Gunther Huebler
Making compatible with latest clubb change.
The file was modified src/physics/cam/clubb_intr.F90 (diff)
Commit 65b7c1dd0001b0cb328a3b61ffa72e228b14c91c by bmg2
I added "smooth" max clipping for invrs_tau_shear, which is a variable
that is supposed to be positive definite, yet was obtaining negative
values at the model lower boundary owing to linear extension at the
boundaries as part of the linear interpolation call.

This change is BIT_CHANGING.
The file was modified mixing_length.F90 (diff)
Commit ac76c76a553d2c52a3156258c0afe41f66bea786 by 37674341+huebleruwm
ADG1_pdf_driver subroutine port with OpenACC

Added OpenACC related flags in linux_x86_64_nvhpc_casper.bash
You can enable/disable OpenACC compilation using OPENACC=true/false.
Added OpenACC directives in ADG1_pdf_driver subroutine.
The file was modified adg1_adg2_3d_luhar_pdf.F90 (diff)
Commit 512e68baec75eb6f5abc36582d6407fb9dceb189 by 37674341+huebleruwm
Replacing old elemental ADG1_w_closure with new GPUized one. Making G_unit tests work with new version. Also making mixt_frac_max_mag a scalar since it was only being used as such. larson-group/clubb#1049
The file was modified adg1_adg2_3d_luhar_pdf.F90 (diff)
Commit 936783d00f3c1e950c0092e31b019249b16042f7 by bmg2
I can now safely remove all the "ifdef E3SM" statements from CLUBB's
parameters_tunable.F90.  This code is now located in the clubb_intr.F90
portion of E3SM.
The file was modified parameters_tunable.F90 (diff)
Commit 38f9da3d580e38623856fb89bf73e274c5207f79 by 37674341+huebleruwm
Pushing column loop into lapack wrap.
The file was modified matrix_solver_wrapper.F90 (diff)
The file was modified lapack_wrap.F90 (diff)
Commit 21426fea400c37cfd10dbde5beb0f96690a2f838 by noreply
Restructuring and Porting of Compute_mixing_length subroutine(Phase 1) (#1052)

* Restructuring and Porting of Compute_mixing_length subroutine(Phase 1)

Restructure: The compute_mixing_length is one of the top most routine taking 35-50%
of the total time in a single timestep. The subroutine has been restructured to
push the i-loop further down to extract vectorization and parallelization.
The restructuring also involves introduction of sat_mixrat_liq_acc routines to
extract parallelism when called inside a OpenACC parallel region.

Porting: OpenACC directives are inserted to port the restructured compute_mixing_length
code on to the GPUs. This port is currently unoptimized and there is still room for improvement.

NOTE: Currently, l_sat_mixrat_lookup = false and saturation_formula = saturation_flatau
(Earthworks config options) case is supported on OpenACC build. Any other options works
on CPUs as usual. OpenACC declare create directives are inserted in model_flags and
constants_clubb, as these module variables are used inside the saturation routines.

* Added debug message about only supporting
l_sat_mixrat_lookup = false and saturation_formula = saturation_flatau
on GPUs
Answers are Bit for Bit with arm-multicolumn case + nvhpc compiler.

* Changing CLUBB debug level 1 to 0 for the saturation formula support
running on GPUs

* Changing indentation to make gfortran happy, it wants ifdefs to start at the beginning of the line.

* Adding use statements for error checks and printouts, also making the errors set err_code to clubb_fatal_error.

Co-authored-by: huebler <huebler@uwm.edu>
The file was modified saturation.F90 (diff)
The file was modified constants_clubb.F90 (diff)
The file was modified model_flags.F90 (diff)
The file was modified mixing_length.F90 (diff)
Commit 38b63ff28ea145707d4ee1d9469013ee20b1697b by noreply
Restructuring and Porting of Compute_mixing_length subroutine(Phase 2) (#1054)

* Restructuring and Porting of Compute_mixing_length subroutine(Phase 2)

Restructure: sat_mixrat_liq_2D_acc is being directly called instead of
calling the 1D version inside the column loop. Changing sat_mixrat_liq_2D_acc
to a subroutine from a function and adding output array, start_index as
additional argument. This is a workaround for passing sub-arrays. The OpenACC
doen't like the sub-arrays being passed and fails the validation.

Porting: OpenACC directives are added inside sat_mixrat_liq_2D_acc for porting

Validation: Answers are Bit for Bit with arm-multicolumn case + nvhpc compiler

* Fix for compilation issues

Issue 1: Missed out declaring 'start_index' while intergrating the
change

Issue 2: The use of error_code module and the procedures inside it
causes OpenACC compilation issues when run on the device.

* Removing the sat_mixrat_liq_acc and sat_mixrat_liq_2D_acc, making the normal sat_mixrat_liq work for all current use cases, and making the other versions of sat_mixrat_liq (bolton,gfdl,lookup) functional with OPENACC.

Co-authored-by: huebler <huebler@uwm.edu>
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified saturation.F90 (diff)
The file was modified model_flags.F90 (diff)
The file was modified mixing_length.F90 (diff)
Commit 9f86ec344fcdd14a084c6249520c33815e225c24 by noreply
Breaking up column loop in mono_flux_limiter. This may not be the final form for GPUization, but it's definitely a start, no longer do we have to copy single column variables to multicolumn ones anywhere. (#1051)

The file was modified mono_flux_limiter.F90 (diff)
Commit a5ae081b3485ebbd6b470a1bf077eaf8ba2a2979 by noreply
Adding tridiag_lu solver (#1056)

* Adding tridiag_lu solver

* Changing low to lower in tridiag_lu and penta_lu, also fixing up some spacing.

* Making variables that represent matrix solutions more consistently named.
The file was modified penta_lu_solver.F90 (diff)
The file was modified matrix_solver_wrapper.F90 (diff)
The file was addedtridiag_lu_solver.F90
The file was modified model_flags.F90 (diff)
The file was modified lapack_wrap.F90 (diff)
Commit 79e3b2b05f93ffc04d514aad915c1a0aaec0f45f by Vince Larson
Adding OpenACC data directives for mixing length and adg routines

OpenACC structured data regions are added to optimize the data transfers
between CPU and GPU. These data regions will converted to unstrucutred
data region in the later optimization phase.
Results are bit for bit.
The file was modified adg1_adg2_3d_luhar_pdf.F90 (diff)
The file was modified mixing_length.F90 (diff)
Commit 466f229f2b977abcc4be9ac96c4ac11b818d1d37 by Gunther Huebler
Fixing error causing GPU code not to run. Some variables to be copied were labelled as (ngrdcol,nz) when it should be (:ngrdcol,:nz). I've just removed the data length specifiers completely since they are not neccesary in general.
The file was modified adg1_adg2_3d_luhar_pdf.F90 (diff)
The file was modified saturation.F90 (diff)
The file was modified stats_clubb_utilities.F90 (diff)
Commit ef8ea9df21e00777179b628e5deaf68842411ecd by 37674341+huebleruwm
Pushing column loop into calculate_thvm
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified calc_pressure.F90 (diff)
Commit b0a3a8fc353a232b661ebe6fa26c264d59904993 by 37674341+huebleruwm
Removing update_pressure since it is no longer called anywhere in clubb or host models. The addition of this subroutine was discussed in larson-group/e3sm#6 and the removal of the call to it was discussed in larson-group/clubb#926.
The file was modified calc_pressure.F90 (diff)
Commit 6f870bb99c6f94145ebef421ea0435ac083e84f1 by Gunther Huebler
Removing update_pressure from public list. This was causing compilation crashes. RESOLVED:8c7230fecb877d04fb129ef5e143e0993b4b29b1
The file was modified calc_pressure.F90 (diff)
Commit 4ed2ca7249d959da9e95b40faf2475fb3322f174 by 37674341+huebleruwm
GPUizing some helping procedures.
The file was modified mean_adv.F90 (diff)
The file was modified grid_class.F90 (diff)
The file was modified turbulent_adv_pdf.F90 (diff)
The file was modified saturation.F90 (diff)
Commit 5543d4fdcd60911bcef0658fc693b9ddc50a0e4a by 37674341+huebleruwm
Removing sigma_sqd_w from the acc data copyout statement. This is a bug which was causing the code to crash when not using managed memory.
The file was modified adg1_adg2_3d_luhar_pdf.F90 (diff)
Commit 02732556bd0ed380f305bb59f5e421e5a4c615a8 by noreply
Porting pdf_closure subroutine with OpenACC (#1059)

* Porting pdf_closure subroutine with OpenACC

OpenACC directives are added to pdf_closure subroutine. The necessary
structured data region is also added for optimzing data movement across
kernels. There is opportunity to task parallelize using streams and
will be explored in the future.

Answers are bit for bit.

* Fixing the copyin directives

* Making work without managed memory.
The file was modified pdf_closure_module.F90 (diff)
The file was modified pdf_utilities.F90 (diff)
Commit 74d62d932283ec7f668d1ab7a7eb5cf4c2518e31 by bmg2
Adding wp3_on_wp2_cfl_num to CLUBB's output stats.
The file was modified stats_zm_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified stats_clubb_utilities.F90 (diff)
The file was modified stats_variables.F90 (diff)
Commit 2cfb4126e2acaad338d58387801f2f0e69f2be66 by 37674341+huebleruwm
Removing usage of gr from pdf_closure. It was only ever used for nz, which is now fed in directly.
The file was modified adg1_adg2_3d_luhar_pdf.F90 (diff)
The file was modified pdf_closure_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
Commit 90851771d55ebaeb104a3bd7edae92ffd4a248a6 by noreply
Clubb ticket #1025: Implemented way to make esa tuner reproducible, h… (#1068)

* Clubb ticket #1025: Implemented way to make esa tuner reproducible, hid error output of optional diagnostic variables behind check, fixed parallelization issue with tuner, esa max_iters parameter is now in stats namelist, fixed issue with TUNER compiler directive, some small fixes.
- New namelist variables prescribed_rand_seed and l_use_prescribed_rand_seed determine if the esa tuner will use a random or a fixed value as random seed. Added descriptions to README.
- Added max_iters to stats namelist to make it more modifiable.
- Renamed stp_adjst_intercept_in and stp_adjst_slope_in to stp_adjst_shift_in and stp_adjst_factor_in, respectively, to better reflect their influence on step size.
- The error output in src/CLUBB_core/pdf_closure_module.F90 for the diagnostic variables wprtp2, wpthlp2, wprtpthlp, and rcp2 is now hidden behind existence checks for these variables. And a clarification was added to "#ifdef TUNER" directive.
- NetCDF file access caused the tuner to crash in parallel mode (-fopenmp flag in config file and multiple cases). Adding an $OMP CRITICAL structure around the call to stats_init in clubb_driver.F90 fixed that.
- Fixed compile/README. Config files are specified with the -c option.
- The -t option in run_scripts/run_tuner.bash interfered with the previous usage of the TUNER compiler directive. Renamed the old TUNER directive to NR_SP, a short for "numerical recipes, single precision". TUNER now is the option to "turn on" code changes required to run the tuner.
The file was modified pdf_closure_module.F90 (diff)
Commit 61ea0db56546ea2946cb3c0ee368fd57752c1451 by noreply
Gpu updates (#1070)

* Fixing bug. This was only triggered when l_input_fields=.true., which I am only testing because it needs to be true so that I can test ADG2_driver.

* Removing usage of gr from pdf_closure. It was only ever used for nz, which is now fed in directly.

* Making openacc statements more consistent. Ensuring all statments on double loops have specified gang and vector, and that all parallel loops have an end parallel loop statment at the end of them. Everything BFB on CPUs and GPUs.

* Pushing acc data region to outermost parts of mixing_length.

* Removing pdf_implicit_coefs_terms from acc copyin and copyout. It is only used when iiPDF_type == iiPDF_new .or. iiPDF_type == iiPDF_new_hybrid, so we do not need to do any copying with it. The inclusion of it also caused the data statement to copy unallocated arrays, which are just garbage pointers, and that was causing random occasional crashes (either segfaults or gpu out of memory).

* The update device clauses for return variables seems to only be requried for arrays contained in types. See https://github.com/larson-group/clubb/issues/1049\#issuecomment-1440624778

* Moving acc end data to end of pdf_closure. This reuqired removing any conditional return statements that appear before the final return, since we're not allowed to branch out of an acc region early. I also moved a large printout statement outside of a loop. The only reason it was in the loop to begin with was because pdf_params used to be an array of types, but now is a type of arrays, allowing us to print the full arrays directly.

* Making loop an acc loop. If we weren't outputting w_[up/down]_in_cloud (iw_up_in_cloud <= 0 .or. iw_down_in_cloud <= 0, then these arrays were only being zerod out on the CPU and would've getting overwritten by the uninitialized GPU data at the end of the data statement. This change causes the arrays to get correctly zerod out on the GPU when we need.

* Update VariableGroupNondimMoments.py

Fixed a typo

* Merging new changes from master

* Removing need for -gpu=deepcopy, pushing some acc data statements up call tree, and replacing some acc data statements with acc delare statements so that return statements can be added back in.

* Adding back an acc loop that was accidentally removed during a merge.

---------

Co-authored-by: Brian Griffin <31553422+bmg929@users.noreply.github.com>
The file was modified adg1_adg2_3d_luhar_pdf.F90 (diff)
The file was modified pdf_utilities.F90 (diff)
The file was modified saturation.F90 (diff)
The file was modified grid_class.F90 (diff)
The file was modified mean_adv.F90 (diff)
The file was modified turbulent_adv_pdf.F90 (diff)
The file was modified pdf_closure_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified mixing_length.F90 (diff)
Commit fdf454198c75d605df4d989599620e23c42135fe by noreply
Implements Thomas Toniazzo's bug fix for spike removal

in the monotonic flux limiter.  See

https://github.com/larson-group/clubb_release/pull/11/files

This code change is
expected to be BIT_CHANGING for cases in which
`l_predict_upwp_vpwp = T`, `l_mono_flux_lim_um = T`
or `l_mono_flux_lim_vm = T`, and the monotonic
flux limiter is triggered.

This bug fix prevents non-conservation of momentum
when the vertical integral of either of the wind components `um` or `vm` is negative.
The file was modified mono_flux_limiter.F90 (diff)
Commit e2ffb7330b8d80d9d895759c6a1781239ec00141 by noreply
Making 'a_const' into a CLUBB tunable parameter. (#1072)

* Converting the sfc_varnce_module.F90 parameter 'a_const' into a CLUBB tunable parameter.

Results should be bit-for-bit since it will be set to 1.8 and with l_vary_convect_depth=F
this is the standard value.

Some discussion in ticket #994.

* Completing requested changes, see PR #1072.
The file was modified clubb_api_module.F90 (diff)
The file was modified parameters_tunable.F90 (diff)
The file was modified sfc_varnce_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified parameter_indices.F90 (diff)
Commit 313d09415fde6e226b5fb4d2a51d96983cfb22e1 by benjamin.andrew.stephens
Updating for changes to CLUBB.  See https://github.com/larson-group/clubb/pull/1072.
The file was modified src/physics/cam/clubb_intr.F90 (diff)
Commit 1463a2c08c088d8c28aaf6831e88e234b76bdddd by noreply
Pdf closure driver gpuization (#1071)

* GPUizing pdf_closure_driver, testing still needed, bug likely.

* Making data movement better. Also fixed some random things. Still need to return returns.

* Adding back a couple return statments. Moving a comment where it should be. GPUizing a missed loop.

* Making arguements list satisfy standards.

* Making arguements list satisfy standards. Also adding max(1,hydrometdim) to hydromet inputs.

* Capitalizing K

* Making the error case in compute_cloud_cover behavior a bit differently. This allows the error to be detected immediately by GPU runs as well.

* Calling compute_cloud_cover only needs to be done if l_use_cloud_cover = .true.
The file was modified pdf_closure_module.F90 (diff)
The file was modified T_in_K_module.F90 (diff)
The file was modified sigma_sqd_w_module.F90 (diff)
The file was modified Skx_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
Commit 6dd01b5920350c08035fa76d513f4086340a43f7 by Gunther Huebler
Moving compute_cloud_cover outside of if ( l_use_cloud_cover ) then statement, the cloud_cover and rcm_in_layer variables they compute aren't output in clubb_standalone, but are in cam, causing cam bit diff tests to break.
The file was modified advance_clubb_core_module.F90 (diff)
Commit f635d227db08b38aa005bebbc8d0e63c4d6ea9ce by Gunther Huebler
Adding Skthl_zm to the update host list, I missed this in the last PR. I noticed this by comparing results with and without managed memory, now I've checked BFBness with arm, mpace_b, mc3e, and gabls2.
The file was modified advance_clubb_core_module.F90 (diff)
Commit adba51a83aea7bd6e044720c58e4d27596b235fa by noreply
Small GPU fixes (#1076)

* Fixing small things that I caught by adding the default(present) onto acc loops.

* Moving default(present) to the end because it looks nicer there.
The file was modified pdf_closure_module.F90 (diff)
The file was modified parameters_model.F90 (diff)
The file was modified adg1_adg2_3d_luhar_pdf.F90 (diff)
The file was modified mean_adv.F90 (diff)
The file was modified saturation.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified mixing_length.F90 (diff)
The file was modified grid_class.F90 (diff)
The file was modified T_in_K_module.F90 (diff)
The file was modified Skx_module.F90 (diff)
The file was modified turbulent_adv_pdf.F90 (diff)
The file was modified pdf_utilities.F90 (diff)
The file was modified sigma_sqd_w_module.F90 (diff)
Commit 7435d1c799f340302393782cc58d5f7eaeb608ef by bmg2
Code changes to implement modificiations on wp3 clippings
This commit contains code changes to implement modifications of skewness
clippings on wp3 in src/CLUBB_core/clip_explicit.F90. The default method attempts
to apply smaller (larger) clippings below (above) 100m AGL level, which
can cause a discontinuities around 100m AGL level. This clippings is
found to trigger sawthooth oscillations in wp3 when linear diffusion is
used. Such swathooth oscillations are eleminated if a smoothed Heaviside
function is introduced to obtain a smooth transition of clippings at
around 100m AGL level. The changes is necessary to obtain the first
order convergence in CLUBB-SCM when lienar diffusion is used.

Previously committed by Shixuan.
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified advance_wp2_wp3_module.F90 (diff)
The file was modified clip_explicit.F90 (diff)
The file was modified clubb_api_module.F90 (diff)
The file was modified model_flags.F90 (diff)
Commit 16fcc9ba1c2ab85f00a4d798dccf7a59cbfc718b by bmg2
This commit contains code changes to implement modifications on limiters in three places:

1. remove the limiters in denominator of equation for
   brunt_vaisala_freq_sqd_smth, which affects the computed
   eddy dissipation time scale in turbulent fluxes (wpxp).
   (in mixing_length.F90)

2. reduce the threshold values of limiters in the equation
   for richardson number (sqrt_Ri_zm)
   (in mixing_length.F90)

3. introduce the smoothed max/min function for limiters in
   equation of Cx_fnc_Richardson.
   (in advance_helper_module.F90).

After the modification, we also apply a zt2m(zm2zt) smoothing
on the calculated quantities. These modifications are found to
be benificial for improving solution convergence in CLUBB-SCM

The code changes are controlled by a newly introduced flag named
"l_modify_limiters_for_cnvg_test", which is set to .false. (meaning that
the modificaitons on limiters is turned off) by default.

Originally committed by Shixuan.
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified advance_helper_module.F90 (diff)
The file was modified model_flags.F90 (diff)
The file was modified clubb_api_module.F90 (diff)
The file was modified mixing_length.F90 (diff)
Commit 4b5257d74f149f729d8a6f34ffde67ddcb9f7e64 by bmg2
Updating for recent changes to CLUBB.
The file was modified src/physics/cam/clubb_intr.F90 (diff)
Commit 781ef9dfc3079f5d20cf22f044eac5970443c1b9 by noreply
Advance xm wpxp gpuization (#1077)

* Initial commit for GPUizing advance_xm_wpxp.

* GPUizing fill_holes_vertical

* Adding Skthl_zm to the update host list, I missed this in the last PR. I noticed this by comparing results with and without managed memory, now I've checked BFBness with arm, mpace_b, mc3e, and gabls2.

* Small GPU fixes (#1076)

* Fixing small things that I caught by adding the default(present) onto acc loops.

* Moving default(present) to the end because it looks nicer there.

* Adding default(present) to all acc loop statements. Also adding azt to a copyin statement, which was missed previously. All BFB.

* Incemental update, not well tested yet.

* Removing some copies and making the sclr_dim change.

* Fixing a bug that only seemed detectable with astex_a209. We need to pass only single arrays to functions, calling ddzt( nz, ngrdcol, gr, rho_ds_zt * K_zt_nu ) was resulting in rho_ds_zt * K_zt_nu being evluated on the CPU, but the values were only valid on the GPU. So we need to evaluate that expression on the GPU, save it into an array (currently K_zt_nu_tmp), then pass that to ddzt.

* GPUizing calc_turb_adv_range

* GPUizing mono_flux_limiter

* Cleaning up data statments and a couple other things.

* Updated for some different options.

* More updates needed for various options.

* Reverting accidental flag change

* Should be the final changes, all options tested now.

* Replacing some comments in monoflux limiter, and also modifying it to make it BFB on CPUs. Also changing incorrect error conditions on tridiag.

* Adding max_x_allowable to update host statement, missed previous.

* Properly naming tmp variables and variables calculated from ddzt and ddzm start with ddzt_ and ddzm_.

* Replacing constants with named ones from constants_clubb.

* Replacing hard coded numbers in lhs variables representing the number of bands they contain with fortran parameters.
The file was modified fill_holes.F90 (diff)
The file was modified advance_xm_wpxp_module.F90 (diff)
The file was modified clip_explicit.F90 (diff)
The file was modified mean_adv.F90 (diff)
The file was modified advance_helper_module.F90 (diff)
The file was modified grid_class.F90 (diff)
The file was modified mono_flux_limiter.F90 (diff)
The file was modified diffusion.F90 (diff)
The file was modified parameters_model.F90 (diff)
The file was modified turbulent_adv_pdf.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified matrix_solver_wrapper.F90 (diff)
Commit 4e5ef2859907a8a3e8b44fea718de72c509ae1a4 by Gunther Huebler
Small tweaks to fix some GPU bugs. Some variables were uninitialized on the CPU while we were saving them. This could only have been caught by comparing consecutive runs and checking _zt and _zm files, even then few cases were having problems.
The file was modified advance_xm_wpxp_module.F90 (diff)
Commit 9552ab496758875cdb5dff86d47d80e2d3a7cb0f by Gunther Huebler
Fixing a labelling error in redirect_interpolated_azt_2D and similar procedures, since this interpolates to zt the input should be zm. I think this was my fault, so I cleaned all the zt2zm and zm2zt things up to make it a little nicer. Also ordered the routines _k _1D _2D to make it easier to jump around, it was a bit confusing as they were out of order and the typo really made it hard.
The file was modified grid_class.F90 (diff)
Commit c3bec1875abeade74fe0dd0cd38cb5361e7cac8f by Gunther Huebler
Making it so sclr_tol is set to 0 before the specified sclr_tol_in. This is so that it is initialized to 0 in the case that sclr_dim = 0, since now we are setting it to have a minimum allocation size of 1 and would otherwise have a garbage value. This is what broke the clubb_openmp_gfortran_test.
The file was modified parameters_model.F90 (diff)
Commit 40a65a54f061974152b9431e88a562d557f70dc5 by noreply
Lscale GPUization (#1079)

* Making 2 new functions zm2zt2zm and zt2zm2zt to handle smoothing by interpolation. Replaced the spots in clubb I know that uses this to smooth things. This is just a nice to have and could allow for easy optimizations in the future by inlining the interpolations. All cases BFB on CPU and GPU, checked all relevant options too.

* GPUizing diagnose_Lscale_from_tau

* Removing some unused variables.

* Moving acc data statements from calc_Lscale_directly up to advance_clubb_core.

* Removing an unused variable.

* GPUizing the l_smooth_min_max option.

* GPUizing l_avg_Lscale

* Changes to variable names to avoid gross long names only used once.
The file was modified mixing_length.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified advance_helper_module.F90 (diff)
The file was modified grid_class.F90 (diff)
The file was modified clip_explicit.F90 (diff)
Commit 7094e3620ee063af2bd55a8f072cb32ce3858c4b by Gunther Huebler
gfortran does not like intent(out) specifiers for functions.
The file was modified grid_class.F90 (diff)
Commit e12416aef4fd25ee8f843abab95e16d9a186d57e by noreply
GPUizing Various Small Routines (#1080)

* GPUizing compute_Cx_fnc_Richardson

* GPUizing term_wp2_splat and term_wp3_splat

* GPUizing xp3_LG_2005_ansatz

* GPUizing calculate_thvm

* GPUizing pvertinterp even though I don't think we care about the l_do_expldiff_rtm_thlm flag

* Fixing bug. Setting l_do_expldiff_rtm_thlm causes us to use edsclrm, so we need to also ensure that edsclrm > 1 (1 because it uses a edsclr_dim-1 index)

* Pushing some data statements up the call tree.
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified Skx_module.F90 (diff)
The file was modified advance_helper_module.F90 (diff)
The file was modified sigma_sqd_w_module.F90 (diff)
The file was modified calc_pressure.F90 (diff)
The file was modified interpolation.F90 (diff)
Commit 0dbf4fc79c628d0d783a67b545a14792662177a3 by cernikt
This commit is a commit that changes absolutely nothing. It is meant to trigger a change in the git update scripts, so that I can start the commit message logging in the autocommit updates larson-group/sys_admin#797
The file was modified grid_class.F90 (diff)
Commit fb9b5e177deabcd39ce0cf36b7b1f0fd883f4af6 by cernikt
This commit is a commit that changes absolutely nothing. It is meant to trigger a change in the git update scripts, so that I can start the commit message logging in the autocommit updates larson-group/sys_admin#797
The file was modified math_utilities.F90 (diff)
Commit 8360118ab54c355ad8a86ed330ade644c4bdcbd8 by cernikt
this is another commit that cahnges nothing that will trigger the gitUpdate scripts
The file was modified interpolation.F90 (diff)
Commit fa866723ef299b5e7c3574bb3f45f38f3fcb07f5 by cernikt
adding an update that changes nothing and is just a test for the autoupdate script
The file was modified clip_explicit.F90 (diff)
Commit e7a5c0ce02567906f9003eb1b1a1cf5ca94bca4c by noreply
Making CLUBB's splatting scheme implicit and smoother (#1075)

* Introducing rough implicit splatting scheme into CLUBB.  Not yet implicit for wp3.

* Implementing implicit splatting for wp3.

* Further improvements to implicit splatting code, including

- smoothing of the BV freq used for splatting
- adding a new variable 'bv_freq_sqd_splat' to stats
- add the new variable to pyplotgen standard output

See PR #1075 and issue #994.

* Some cleanup.

* More cleanup, and adding comments.

* More comments.

* Updating implicit splatting scheme.

* Updates to resolve PR requests.

Updates associated with implicit splatting will be BIT_CHANGING.
The file was modified advance_wp2_wp3_module.F90 (diff)
The file was modified stats_variables.F90 (diff)
The file was modified stats_zm_module.F90 (diff)
The file was modified advance_xp2_xpyp_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified advance_helper_module.F90 (diff)
The file was modified sfc_varnce_module.F90 (diff)
Commit 08475cfca3f2571fc6342c8137f1c64d61bd6857 by noreply
Calc sfc varnce GPUization (#1081)

* Initial loop push for calc_sfc_varnce

* BIT_CHANGING:3b086a40085284aa49c71d32c001d20153a8ddb4 the last commit is bit changing for only some cases and only when using higher than -02 optimization. uf min seems to be the first calculation that starting to differ bitwise. Using the check_multicol script confirms the differences are small.

* Adding a tweak to surface values in the extra columns. This helped me check calc_sfc_varance, since we were not changing any arrays that would've affected calculations there.

* Small optimization, making wstar and ustar2 scalars.

* GPUizing calc_sfc_varnce

* Removing conditional around some stats calls. Now we will always save sfc values to stats, because this will change stats files when gr%zm(i,1) > sfc_elevation, this is potentially BIT_CHANGING.

* Merging with latest clubb changes and making work on GPUs again.

This contained 2 commits that are BIT_CHANGING in some situations.
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified sfc_varnce_module.F90 (diff)
The file was modified advance_helper_module.F90 (diff)
Commit 3daa3257c2033ab03757a3c5bed4d780fae45770 by benjamin.andrew.stephens
Reducing C_wp2_splat to 0.25 (from 2.0) for new implicit splatting code.

Also fixing bug that shows up when l_brunt_vaisala_freq_moist = T.  This
will hopefully help to get some failing CAM tests running again.

See #1074 and PR #1075 for info.

This is BIT_CHANGING for all cases due to the new tunable parameter value.
The file was modified advance_helper_module.F90 (diff)
Commit a9af25eeab72b59dae5bd30bd315b35c8c78961a by cernikt
Removed Space From clip_explicit

This is another commit that changes absolutely nothing, and only exists to test autocommit changes
The file was modified clip_explicit.F90 (diff)
Commit 8bc578f53498a0db95e6151fa78f460bcdca0848 by cernikt
Autoupdated CLUBB_core
The file was modified README.md (diff)
Commit c5d25471ddb6daf201a8dc99ed95aca1b1f6091c by cernikt
making changes to trigger autoudpate for test, these commits do nothing

here is a body to the commit as well
The file was modified math_utilities.F90 (diff)
Commit a7df38330f8cf210f542a395c8b1df60b166859b by cernikt
making changes to trigger autoudpate for test, these commits do nothing

here is a body to the commit as well
The file was modified calendar.F90 (diff)
Commit 10561ea5166e8f1045de302b117e2d6526332337 by cernikt
Here is another commit that changes nothing

Here is the body
The file was modified math_utilities.F90 (diff)
Commit 571c3fab16ab4f1315e272fa536064a8dc4720f0 by cernikt
Here is another commit that changes nothing

Here is the body
The file was modified calendar.F90 (diff)
Commit 81f82f5ff2f9a5f7047d2c810aeff0ac5c296b43 by cernikt
change to trigger updates

this is the last batch
The file was modified endian.F90 (diff)
Commit c2e0cf01861d6d2e292f0cc51c24a83c8ab1e711 by cernikt
change to calc pressure to trigger autoupdate

body
The file was modified calc_pressure.F90 (diff)
Commit 8287750b397ac2e5d927bb4efe23a830f94c4362 by noreply
GPUizing Lscale_width_vert_avg. Loops have been restructured for simplicity, and algorithm has a different starting value to avoid k dependency. Results are BFB. (#1083)

The file was modified advance_helper_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
Commit c7c530d40612ef299f0a4a02b7c19b9141ff7991 by noreply
GPUizing most of advance_clubb_core (#1084)

The file was modified advance_clubb_core_module.F90 (diff)
Commit f5f1d7adc31786cff8a7f24873958345b989d143 by noreply
advance_wp2_wp3 with explicitly managed memory  (#1085)

* GPUizing most of advance_clubb_core

* GPUizing most of advance_wp2_wp3 based off Supreeths openacc branch

* Cleanup and small fixes.

* Converting data statement to declare statement to return the return.

* Small changes to prevent data copies
The file was modified advance_wp2_wp3_module.F90 (diff)
The file was modified clip_explicit.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
Commit 78ebf2ff4d7e6b804bf322a713fe95448a09291d by noreply
advance_xp2_xpyp with explicitly managed memory (#1086)

* GPUizing most of advance_clubb_core

* GPUizing most of advance_wp2_wp3 based off Supreeths openacc branch

* Cleanup and small fixes.

* Converting data statement to declare statement to return the return.

* Small changes to prevent data copies

* Initial advance_xp2_xpyp GPUization, adapted from Supreeth's branch, clubb_openacc, to work without managed memory.

* Small cleanup

* Tweaks to reduce data copies

* Small change

* More GPUization and some cleanup

* Final little fixes

* Removing magic logicals
The file was modified advance_xp2_xpyp_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
Commit 3f3703f99ebea92453249f1d9614b64ea1fdc6be by noreply
advance_windm_edsclrm with explicitly managed memory (#1087)

* Initial commit for advance_windm_edsclrm adapted from Supreeth's branch

* Final fixes

* Accidentally undid fix

* Returning returns
The file was modified advance_helper_module.F90 (diff)
The file was modified advance_windm_edsclrm_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
Commit 543091c32308120ba9fe22873baa81050ac05292 by noreply
Moving data statements to outter most parts of clubb and little fix in advance_wp2_wp3 (#1088)

The file was modified advance_wp2_wp3_module.F90 (diff)
The file was modified advance_clubb_core_module.F90 (diff)
Commit 63cc96a19e5b8bd47a08bdc600b8d158741ab2e9 by noreply
Data movement improvement (#1089)

* Various reductions in data movement

* Bug fix

* Optimizations to fill_holes, this involves precalculating a multiplication an a division, so this is BIT_CHANGING.

* Missed a small part

* Small fix
The file was modified advance_clubb_core_module.F90 (diff)
The file was modified advance_wp2_wp3_module.F90 (diff)
The file was modified advance_xp2_xpyp_module.F90 (diff)
The file was modified advance_helper_module.F90 (diff)
The file was modified mono_flux_limiter.F90 (diff)
The file was modified fill_holes.F90 (diff)
The file was modified pdf_closure_module.F90 (diff)
The file was modified clip_explicit.F90 (diff)