Skip to content
Success

Changes

Summary

  1. Clubb Driver Semi GPUization Part4 (#1209) (details)
  2. QuadTune: Plot a map of the change in the loss function for each region. (details)
  3. Fixed time-height plot colormaps (#1210) (details)
  4. Multi col output update (#1211) (details)
  5. QuadTune: Added colorbars to regional map plots. (details)
  6. QuadTune: 1) Change coloring of scatterpoints to represent either loss changes or residuals. 2) Add map of residuals to complement map of bias. (details)
  7. Likely non-bit-changing housekeeping (#1213) (details)
  8. Fix pyplotgen timeheight cmaps (#1212) (details)
  9. QuadTune: 1) Add bar chart that shows |metric_changes| due to each parameter. 2) Fix colorbars on maps.  3) Allow download of hi-res figures.  4) Make background of scatterplots grey. (details)
  10. Reduced the upper bound for wp2_min_array to 1.0 (#1214) (details)
  11. Added up2 and vp2 to calculation of wp2_min_array (#1215) (details)
  12. QuadTune: Add bar chart showing linear vs. nonlinear contributions of each parameter. (details)
  13. Changed default setting of flag l_min_wp2_from_corr_wx to false (#1216) (details)
  14. QuadTune: Add map plots of "linSoln" output from global E3SM runs. (details)
  15. QuadTune: Include special regions (DYCOMS, HAWAII, etc.), in addition to 20x20 regions.  However, the weights are set to epsilon, which wrecks the loss calculation.  This will have to be remedied later. (details)
  16. Recoded a loop within the mono flux limiter so that it's written (details)
  17. Changed some variable names so that it is clear that, while they contain (details)
  18. Within the mono flux limiter, a thermodynamic-level variable needed to (details)
  19. I forgot to add the new variable to the Atlantic Coast Conference (details)
  20. Changing a couple loop limits in mono flux limiter. (details)
  21. QuadTune: Remedy loss function and facilitate plotting of special, non-20x20 regions (DYCOMS, HAWAII, etc.). (details)
  22. Fix binormal correlation clipping (#1199) (details)
  23. Added new hole-filling method which takes TKE from up2 and vp2 (#1217) (details)
  24. Finally fixing gpu_diffness test (#1219) (details)
  25. Slightly relaxing the convergence criteria to fix convergence test. (details)
  26. QuadTune: On matrix-eqn bar chart, plot only extraMetricsToPlot.  Add sens-bias scatterplot of only extraMetricsToPlot.  In parameter increments bar chart, change absolute values to squares. (details)
  27. QuadTune: Add useLongTitle option, which adds extra information on the plotted quantity, if desired. (details)
  28. QuadTune: Plot bias instead of negative bias on metricsBarChart and bias-vs-sensitivity plots. (details)
  29. Monoflux GPU optimization (#1221) (details)
  30. QuadTune: Made plot_PcSensMap work when len(varPrefixes) > 1. (details)
  31. QuadTune: Merge in bootstrap sampling (details)
  32. Swapping the loop order on a few kernels, I found this faster for the nvhpc compiler and it's BFB (details)
  33. BIT_CHANGING bug fix that only affects l_t_dependent cases running with multiple columns, I detected this with cgils cases, but I'm not sure how it slipped through initially. (details)
  34. Set l_wp2_fill_holes_tke to true by default (#1226) (details)
  35. Sneaky commit (details)
  36. Fixing ordering of parameter lists in clubb_driver (details)
Commit bb0b6c6de3c0b80ef8599dc9ea18219146ddb20c by noreply
Clubb Driver Semi GPUization Part4 (#1209)

* Initial GPUization, and testing multi_col output method as single precision.

* advance_clubb_core tweaks

* Adding radht acc update

* Updates

* Adding new flags to the mono_flux test to prevent CPU and GPU divergence which breaks it.

* Small changes and improvements.

* Making new monoflux test lines

* Reworking some SILHS GPUization to make it more similar to the GPU code in the rest of clubb. This adds some extra parts that run on GPUs, so it is BIT_CHANGING

* Cleanup and comment update

* Cleanup

* Removing DCUDA flag from compile config scripts to help GPU and CPU results match for silhs cases

* Removing accidentally added file.

* Updating script

* Updating script

* Updating script

* Updating tolerance in script to handle rico_silhs differences, and hopefully final GPU updates

* Small cleanup

* Adding option to multi_col diff check script to scale the differences by the field avg. This is only needed (so far) for thlm differences that are slightly too large

* Testing gpu lock method

* Adding GPU locking to rest of GPU tests.

* Small fixes
The file was modified src/CLUBB_core/output_netcdf.F90 (diff)
The file was modified src/SILHS/silhs_api_module.F90 (diff)
The file was modified src/clubb_driver.F90 (diff)
The file was modified src/SILHS/transform_to_pdf_module.F90 (diff)
The file was modified src/CLUBB_core/advance_clubb_core_module.F90 (diff)
The file was modified src/soil_vegetation.F90 (diff)
The file was modified src/CLUBB_core/pdf_utilities.F90 (diff)
The file was modified jenkins_tests/clubb_nvhpc_gpu_vs_cpu_diffness/Jenkinsfile (diff)
The file was modified run_scripts/test_monoflux_limiter_GPU.py (diff)
The file was modified jenkins_tests/clubb_monoflux_CPU_vs_GPU_diff/Jenkinsfile (diff)
The file was modified jenkins_tests/clubb_nvhpc_gpu_column_mirror_test/Jenkinsfile (diff)
The file was modified run_scripts/check_multi_col_error.py (diff)
The file was modified src/CLUBB_core/clubb_api_module.F90 (diff)
The file was modified src/CLUBB_core/mono_flux_limiter.F90 (diff)
The file was modified jenkins_tests/clubb_plot_nvhpc_gpu_vs_cpu/Jenkinsfile (diff)
The file was modified src/SILHS/latin_hypercube_driver_module.F90 (diff)
Commit 90da93a5bb3dc5a7b27f02b45978ce1cf9bef6fd by Vince Larson
QuadTune: Plot a map of the change in the loss function for each region.

This map tells us which regions are improved and which are degraded.  I.e., it displays the tuning trade-offs.

For #910.
The file was modified utilities/sens_matrix/create_figs.py (diff)
Commit 9c043092f464dd4e353d3ff565e7f7c09c73dac6 by noreply
Fixed time-height plot colormaps (#1210)

CLUBB ticket #1164

Added a "quick" fix for the generation of the time-height plot colormaps when variables are not correlations (i.e. values outside of [-1;1])
Updated VariableGroupCorrelations to include all correlations that are usually output in CLUBB.
The file was modified postprocessing/pyplotgen/src/ContourPanel.py (diff)
The file was modified postprocessing/pyplotgen/src/VariableGroup.py (diff)
The file was modified postprocessing/pyplotgen/config/VariableGroupCorrelations.py (diff)
The file was modified postprocessing/pyplotgen/config/Style_definitions.py (diff)
Commit 8572001d7a87cba485b292f57adfb7abc970e462 by noreply
Multi col output update (#1211)

* Multi_col output update to enable averaging over timesteps and outputting with single precision. This replaces the timestep batched output method used before, which was only noticably faster at low column numbers. This is technically BC (edited during merge, PR no longer BC), because the single precision output will be interpretted as different from the current double precision output.

* Small cleanup

* Script updates

* Script update

* Script update

* Adding capability to output multi_col as double or single precision using new flag l_output_double_prec.

* Removing accidentally added file.

* Making new jenkins script run single and double precision tests.

* Update to jenkins test
The file was addedjenkins_tests/clubb_nvhpc_gpu_multi_col_avg_test/Jenkinsfile
The file was modified src/error.F90 (diff)
The file was addedrun_scripts/check_multi_col_avg.py
The file was modified src/jacobian.F90 (diff)
The file was modified src/clubb_thread_test.F90 (diff)
The file was modified src/clubb_driver.F90 (diff)
The file was modified src/CLUBB_core/output_netcdf.F90 (diff)
The file was modified src/clubb_standalone.F90 (diff)
The file was modified run_scripts/create_multi_col_params.py (diff)
The file was modified run_scripts/test_monoflux_limiter_GPU.py (diff)
Commit 91d31581a8a77559266dfc2cc76c09ec71366c16 by Vince Larson
QuadTune: Added colorbars to regional map plots.

For #910.
The file was modified utilities/sens_matrix/create_figs.py (diff)
The file was modified utilities/sens_matrix/set_up_dashboard_inputs.py (diff)
The file was modified utilities/sens_matrix/sens_matrix_dashboard.py (diff)
Commit 50fe6be42a8a75a9d62659a64b56a64e8d7bd5a0 by Vince Larson
QuadTune: 1) Change coloring of scatterpoints to represent either loss changes or residuals. 2) Add map of residuals to complement map of bias.

For #910.
The file was modified utilities/sens_matrix/create_figs.py (diff)
Commit 7447595af2409f56faa42e4fa915078e13a2cbf1 by noreply
Likely non-bit-changing housekeeping (#1213)

Non-bit-changing housekeeping regarding wp2 clipping
CLUBB ticket #1165

Renamed threshold_array -> wp2_min_array
Moved upper clipping of wp2 into clip_variance
Added warning outputs where wp2 is hard-clipped
Added debugging checks to hole-filling and wp2_min_array clipping
Some necessary OpenACC-modifications
The file was modified src/CLUBB_core/clip_explicit.F90 (diff)
The file was modified src/CLUBB_core/error_code.F90 (diff)
The file was modified src/CLUBB_core/advance_wp2_wp3_module.F90 (diff)
Commit afcbd644e18802286f1de588197dde479b2297ea by noreply
Fix pyplotgen timeheight cmaps (#1212)

* Fixed time-height plot colormaps
CLUBB ticket #1199

Added a "quick" fix for time-height plot colormaps when variables are not correlations (i.e. values in [-1;1])
Updated VariableGroupCorrelations to include all correlations that are usually output in CLUBB.

* Fixed time-height plot colormaps
CLUBB ticket #1199

Fixed distinction for colormaps in time-height plots and added tick formatter.
We now check the labels for the string "corr" to find correlation variables.
Otherwise we just use one-sided or two-sided normed colormaps.
The file was modified postprocessing/pyplotgen/config/Style_definitions.py (diff)
The file was modified postprocessing/pyplotgen/src/ContourPanel.py (diff)
Commit 7f1ff523d411b020d4b8f71a89668ec8a79a10d9 by Vince Larson
QuadTune: 1) Add bar chart that shows |metric_changes| due to each parameter. 2) Fix colorbars on maps.  3) Allow download of hi-res figures.  4) Make background of scatterplots grey.

For #910.
The file was modified utilities/sens_matrix/sens_matrix_dashboard.py (diff)
The file was modified utilities/sens_matrix/create_figs.py (diff)
The file was modified utilities/sens_matrix/set_up_dashboard_inputs.py (diff)
Commit 9509e1b7c67cfcd60412b46b3f7b110eb85cc121 by noreply
Reduced the upper bound for wp2_min_array to 1.0 (#1214)

CLUBB ticket #1165

This is BIT_CHANGING for at least the cases ARM_97 and TWP_ICE,
and likely any other more non-standard cases.
This change will prevent the minimum clipping value for wp2 from exploding when l_min_wp2_from_corr_wx=.true.
The file was modified src/CLUBB_core/advance_wp2_wp3_module.F90 (diff)
Commit 7b703667bc54f062406c39e6173dc4083dee7db2 by noreply
Added up2 and vp2 to calculation of wp2_min_array (#1215)

CLUBB ticket #1165

This is BIT_CHANGING for the cases ARM_97, ATEX, CGILS_S6, GABLS3_NIGHT, LBA, MPACE_B, and TWP_ICE out of the priority cases.
These lines of code were added since the fields `u`, `v`, `rt`, and `thl`, and their correlations with `w` should be treated equally.
The file was modified src/CLUBB_core/advance_clubb_core_module.F90 (diff)
The file was modified src/CLUBB_core/advance_wp2_wp3_module.F90 (diff)
Commit eba3ae9e61fd97b54bee120570aaddb9be1564b7 by Vince Larson
QuadTune: Add bar chart showing linear vs. nonlinear contributions of each parameter.

For #910.
The file was modified utilities/sens_matrix/create_figs.py (diff)
Commit d7b7306c8f0f7a0150cade9a0d73db293ed89524 by noreply
Changed default setting of flag l_min_wp2_from_corr_wx to false (#1216)

CLUBB ticket #1165

BIT_CHANGING
Changed default setting in configurable_model_flags.in and model_flags.F90
to decrease clipping contribution to `wp2` and increase clipping to `rtp2` and `thl2`.
The file was modified input/tunable_parameters/configurable_model_flags.in (diff)
The file was modified src/CLUBB_core/model_flags.F90 (diff)
The file was modified input/tunable_parameters_Lscale/configurable_model_flags.in (diff)
Commit c807b993dc1b68e4a08f6b40d9b1ca8d3a0c1d03 by Vince Larson
QuadTune: Add map plots of "linSoln" output from global E3SM runs.

For #910.
The file was modified utilities/sens_matrix/create_figs.py (diff)
The file was modified utilities/sens_matrix/sens_matrix_dashboard.py (diff)
Commit 373be4b540b7491d836fb01e39d2d8351fb29365 by Vince Larson
QuadTune: Include special regions (DYCOMS, HAWAII, etc.), in addition to 20x20 regions.  However, the weights are set to epsilon, which wrecks the loss calculation.  This will have to be remedied later.

For #910.
The file was modified utilities/sens_matrix/set_up_dashboard_inputs.py (diff)
The file was modified utilities/sens_matrix/create_figs.py (diff)
The file was modified utilities/sens_matrix/sens_matrix_dashboard.py (diff)
Commit 0b6031b8f484c7143e0edf14eb3537f9999be78e by bmg2
Recoded a loop within the mono flux limiter so that it's written
in a more convenient manner to allow for easier coding for
generalized gridding.

Results are bit-for-bit.
The file was modified src/CLUBB_core/mono_flux_limiter.F90 (diff)
Commit e215a047457743d0a235bd5261b7400aeb580bde by bmg2
Changed some variable names so that it is clear that, while they contain
the word wpxp_, they are actually thermodynamic-level variables.

Results are bit-for-bit.
The file was modified src/CLUBB_core/mono_flux_limiter.F90 (diff)
Commit 2c420dcb69cceaef32bda45193b8dbadc38d1ca2 by bmg2
Within the mono flux limiter, a thermodynamic-level variable needed to
be interpolated to momentum levels so it could be directly compared
to wpxp.

The results of this change are BIT_CHANGING for the ARM 97, MC3E,
and TWP-ICE cases.
The file was modified src/CLUBB_core/mono_flux_limiter.F90 (diff)
Commit 7641404dd67426fd141ddffd90000abb5a58520e by bmg2
I forgot to add the new variable to the Atlantic Coast Conference
statements in the previous commit.
The file was modified src/CLUBB_core/mono_flux_limiter.F90 (diff)
Commit ec06720353601ed5d790e7ffa43d8ab28d5512fa by bmg2
Changing a couple loop limits in mono flux limiter.

Results do not change.
The file was modified src/CLUBB_core/mono_flux_limiter.F90 (diff)
Commit cc24b7290a21866963bcb4d5f21f3f0b6115a293 by Vince Larson
QuadTune: Remedy loss function and facilitate plotting of special, non-20x20 regions (DYCOMS, HAWAII, etc.).

For #910.
The file was modified utilities/sens_matrix/create_figs.py (diff)
The file was modified utilities/sens_matrix/set_up_dashboard_inputs.py (diff)
The file was modified utilities/sens_matrix/sens_matrix_dashboard.py (diff)
Commit 673beb053c2f32cc4a92340a492afab4c74f7170 by noreply
Fix binormal correlation clipping (#1199)

Fixed clipping in binormal correlation calc
CLUBB ticket #1164

BIT_CHANGING

* Implemented new denominator with smooth_max clipping
* Created subroutine `smooth_corr_quotient` in pdf_utilities.F90, outsourcing smooth correlation division
* This subroutine is used `calc_comp_corrs_binormal` and `transform_pdf_chi_eta_component`
The file was modified src/CLUBB_core/pdf_utilities.F90 (diff)
The file was modified src/CLUBB_core/pdf_closure_module.F90 (diff)
The file was modified src/CLUBB_core/advance_helper_module.F90 (diff)
Commit e430c6b5a72a8a88fa602e13b4cb946d3361895e by noreply
Added new hole-filling method which takes TKE from up2 and vp2 (#1217)

Added new hole-filling method which takes TKE from up2 and vp2
CLUBB ticket #1165

BIT_CHANGING if flag `l_wp2_fill_holes_tke` is set to true
Introduced new flag `l_wp2_fill_holes_tke` to turn on new wp2 hole-filling subroutine
that takes TKE from up2 and vp2.
The file was modified src/G_unit_test_types/pdf_parameter_tests.F90 (diff)
The file was modified src/G_unit_test_types/spurious_source_test.F90 (diff)
The file was modified src/CLUBB_core/clip_explicit.F90 (diff)
The file was modified src/CLUBB_core/model_flags.F90 (diff)
The file was modified input/tunable_parameters_compatible_r8029/configurable_model_flags.in (diff)
The file was modified src/CLUBB_core/advance_clubb_core_module.F90 (diff)
The file was modified input/tunable_parameters/configurable_model_flags.in (diff)
The file was modified src/CLUBB_core/advance_wp2_wp3_module.F90 (diff)
The file was modified input/tunable_parameters_Lscale/configurable_model_flags.in (diff)
The file was modified src/CLUBB_core/fill_holes.F90 (diff)
The file was modified src/clubb_tuner.F90 (diff)
The file was modified src/CLUBB_core/advance_xp2_xpyp_module.F90 (diff)
The file was modified src/clubb_driver.F90 (diff)
The file was modified src/CLUBB_core/stats_clubb_utilities.F90 (diff)
The file was modified src/clubb_standalone.F90 (diff)
Commit 316180d8b915f47e7ddcf24ecdb81661ee4a2ca2 by noreply
Finally fixing gpu_diffness test (#1219)

* Modifying diffness test to handle fields with < 0 averages and accept an argument as the threshold.

* Overwriting correct variable.
The file was modified run_scripts/check_multi_col_error.py (diff)
The file was modified jenkins_tests/clubb_nvhpc_gpu_vs_cpu_diffness/Jenkinsfile (diff)
Commit 2fbf4c2defd75913f167a34077526832ffbeaff9 by Gunther Huebler
Slightly relaxing the convergence criteria to fix convergence test.
The file was modified run_scripts/run_silhs_test.bash (diff)
Commit fe762cbcb94c872048986f55c9b4ab5e70ea7ea5 by Vince Larson
QuadTune: On matrix-eqn bar chart, plot only extraMetricsToPlot.  Add sens-bias scatterplot of only extraMetricsToPlot.  In parameter increments bar chart, change absolute values to squares.

For #910.
The file was modified utilities/sens_matrix/create_figs.py (diff)
The file was modified utilities/sens_matrix/sens_matrix_dashboard.py (diff)
The file was modified utilities/sens_matrix/set_up_dashboard_inputs.py (diff)
Commit 0159cfd38c725851d8f3e92ea2c0c411fdfb2dee by Vince Larson
QuadTune: Add useLongTitle option, which adds extra information on the plotted quantity, if desired.

For #910.
The file was modified utilities/sens_matrix/create_figs.py (diff)
The file was modified utilities/sens_matrix/sens_matrix_dashboard.py (diff)
Commit 9fbd3da928e373d8cb9b7108cbe56cc997ba68e8 by Vince Larson
QuadTune: Plot bias instead of negative bias on metricsBarChart and bias-vs-sensitivity plots.

For #910.
The file was modified utilities/sens_matrix/create_figs.py (diff)
Commit e3707bdb9336e23f2215ba647eb2df43cdab9d9a by noreply
Monoflux GPU optimization (#1221)

* Making a fast version of the serial loop to check if we even need to perform the slow version at all.

* Updates

* Final touches to make new version logically the same.

* Improving comments and variables names
The file was modified src/CLUBB_core/mono_flux_limiter.F90 (diff)
Commit d969819b327e31310ce38e44303561aab4875728 by Vince Larson
QuadTune: Made plot_PcSensMap work when len(varPrefixes) > 1.

For #910.
The file was modified utilities/sens_matrix/sens_matrix_dashboard.py (diff)
The file was modified utilities/sens_matrix/set_up_dashboard_inputs.py (diff)
The file was modified utilities/sens_matrix/create_figs.py (diff)
Commit 112b1d1518ebaad008f69cf0337f2d6466b0ebb0 by noreply
QuadTune: Merge in bootstrap sampling

@LuisHasenauer added bootstrap sampling code to QuadTune.  Bootstrap calculations are performed if `useBootstrap=T`.  Luis and I checked that the best-fit parameter values and weighted chiSqd are unchanged either with `useBootstrap=T` or `useBootstrap=F`.
The file was modified utilities/sens_matrix/create_figs.py (diff)
The file was addedutilities/sens_matrix/bootstrap_plots.py
The file was addedutilities/sens_matrix/bootstrap_calculations.py
The file was modified utilities/sens_matrix/sens_matrix_dashboard.py (diff)
The file was modified utilities/sens_matrix/set_up_dashboard_inputs.py (diff)
Commit adb2c4b1d0d1f187405f733ff704392231fcecc4 by Gunther Huebler
Swapping the loop order on a few kernels, I found this faster for the nvhpc compiler and it's BFB
The file was modified src/CLUBB_core/mixing_length.F90 (diff)
Commit 75cd543bfb7f6754b868dc51af85c200a4395427 by Gunther Huebler
BIT_CHANGING bug fix that only affects l_t_dependent cases running with multiple columns, I detected this with cgils cases, but I'm not sure how it slipped through initially.
The file was modified src/clubb_driver.F90 (diff)
Commit 9e59dc4769f9362564a50e74dc1aa8301bf68b34 by noreply
Set l_wp2_fill_holes_tke to true by default (#1226)

This code change is BIT_CHANGING for extreme cases (e.g. TWP_ICE, LBA, ARM_97).
Changed configurable_model_flags.in files and default value in model_flags.F90.

For CLUBB ticket #1165.
The file was modified src/CLUBB_core/model_flags.F90 (diff)
The file was modified input/tunable_parameters/configurable_model_flags.in (diff)
The file was modified input/tunable_parameters_Lscale/configurable_model_flags.in (diff)
The file was modified input/tunable_parameters_compatible_r8029/configurable_model_flags.in (diff)
The file was modified src/clubb_driver.F90 (diff)
The file was modified src/advance_microphys_module.F90 (diff)
Commit 6e3bbf3ef436357dc36a3bf4d1b995304d090f28 by Steffen Domke
Fixing ordering of parameter lists in clubb_driver
The file was modified src/clubb_driver.F90 (diff)