<workflowRun _class='org.jenkinsci.plugins.workflow.job.WorkflowRun'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.SCMTrigger$SCMTriggerCause'><shortDescription>Started by an SCM change</shortDescription></cause></action><action></action><action _class='org.jenkinsci.plugins.workflow.libs.LibrariesAction'></action><action></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmaster _class='hudson.plugins.git.util.Build'><buildNumber>108</buildNumber><marked><SHA1>12407142b14155687d0d80b174796965d2793b12</SHA1><branch><SHA1>12407142b14155687d0d80b174796965d2793b12</SHA1><name>origin/master</name></branch></marked><revision><SHA1>12407142b14155687d0d80b174796965d2793b12</SHA1><branch><SHA1>12407142b14155687d0d80b174796965d2793b12</SHA1><name>origin/master</name></branch></revision></originmaster><origingrid_fixes _class='hudson.plugins.git.util.Build'><buildNumber>92</buildNumber><marked><SHA1>b19b67713baf175f99baa0cb0bdde6e8c1fbc588</SHA1><branch><SHA1>b19b67713baf175f99baa0cb0bdde6e8c1fbc588</SHA1><name>origin/grid_fixes</name></branch></marked><revision><SHA1>b19b67713baf175f99baa0cb0bdde6e8c1fbc588</SHA1><branch><SHA1>b19b67713baf175f99baa0cb0bdde6e8c1fbc588</SHA1><name>origin/grid_fixes</name></branch></revision></origingrid_fixes><originfeeding_gr_to_host _class='hudson.plugins.git.util.Build'><buildNumber>87</buildNumber><marked><SHA1>b928767c7238139d599dc55420d2a0956161726a</SHA1><branch><SHA1>b928767c7238139d599dc55420d2a0956161726a</SHA1><name>origin/feeding_gr_to_host</name></branch></marked><revision><SHA1>b928767c7238139d599dc55420d2a0956161726a</SHA1><branch><SHA1>b928767c7238139d599dc55420d2a0956161726a</SHA1><name>origin/feeding_gr_to_host</name></branch></revision></originfeeding_gr_to_host><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>665</buildNumber><marked><SHA1>31446891daef22d1f1ac63262df21583933565b9</SHA1><branch><SHA1>31446891daef22d1f1ac63262df21583933565b9</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>31446891daef22d1f1ac63262df21583933565b9</SHA1><branch><SHA1>31446891daef22d1f1ac63262df21583933565b9</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>31446891daef22d1f1ac63262df21583933565b9</SHA1><branch><SHA1>31446891daef22d1f1ac63262df21583933565b9</SHA1><name>refs/remotes/origin/master</name></branch></lastBuiltRevision><remoteUrl>https://github.com/larson-group/clubb.git</remoteUrl><scmName></scmName></action><action></action><action _class='org.jenkinsci.plugins.workflow.cps.EnvActionImpl'><environment></environment></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'><artifactsUrl>http://carson.math.uwm.edu/jenkins/blue/organizations/jenkins/clubb_silhs_convergence_gfortran/detail/clubb_silhs_convergence_gfortran/665/artifacts</artifactsUrl><changesUrl>http://carson.math.uwm.edu/jenkins/blue/organizations/jenkins/clubb_silhs_convergence_gfortran/detail/clubb_silhs_convergence_gfortran/665/changes</changesUrl><displayUrl>http://carson.math.uwm.edu/jenkins/blue/organizations/jenkins/clubb_silhs_convergence_gfortran/detail/clubb_silhs_convergence_gfortran/665/</displayUrl><testsUrl>http://carson.math.uwm.edu/jenkins/blue/organizations/jenkins/clubb_silhs_convergence_gfortran/detail/clubb_silhs_convergence_gfortran/665/tests</testsUrl></action><action _class='org.jenkinsci.plugins.pipeline.modeldefinition.actions.RestartDeclarativePipelineAction'><restartEnabled>false</restartEnabled><restartableStage>Compile</restartableStage><restartableStage>Run SILHS test script</restartableStage></action><action></action><action _class='org.jenkinsci.plugins.workflow.job.views.FlowGraphAction'><node _class='org.jenkinsci.plugins.workflow.graph.FlowStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepStartNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepAtomNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.cps.nodes.StepEndNode'></node><node _class='org.jenkinsci.plugins.workflow.graph.FlowEndNode'></node></action><action></action><action></action><action></action><building>false</building><displayName>#665</displayName><duration>211311</duration><estimatedDuration>1751800</estimatedDuration><fullDisplayName>clubb_silhs_convergence_gfortran #665</fullDisplayName><id>665</id><keepLog>false</keepLog><number>665</number><queueId>5536</queueId><result>SUCCESS</result><timestamp>1782980766224</timestamp><url>http://carson.math.uwm.edu/jenkins/view/all/job/clubb_silhs_convergence_gfortran/665/</url><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>dash_app/run_tab/tab.py</affectedPath><affectedPath>dash_app/compile_tab/discovery.py</affectedPath><affectedPath>dash_app/app.py</affectedPath><affectedPath>dash_app/compile_tab/runtime.py</affectedPath><affectedPath>dash_app/assets/10_theme.css</affectedPath><affectedPath>clubb_python_api/README.md</affectedPath><affectedPath>dash_app/run_tab/layout.py</affectedPath><affectedPath>dash_app/assets/30_run_ui_resize.js</affectedPath><affectedPath>dash_app/compile_tab/tab.py</affectedPath><affectedPath>dash_app/assets/14_tab_compile_theme.css</affectedPath><affectedPath>run_scripts/run_scm.py</affectedPath><affectedPath>dash_app/compile_tab/callbacks.py</affectedPath><affectedPath>dash_app/assets/20_autoscroll.js</affectedPath><affectedPath>run_scripts/run_scm_loss.py</affectedPath><affectedPath>dash_app/compile_tab/layout.py</affectedPath><affectedPath>clubb_python_api/run_pytests.sh</affectedPath><affectedPath>dash_app/plot_tab/plot_types/base_plot.py</affectedPath><affectedPath>dash_app/tune_tab/layout.py</affectedPath><affectedPath>dash_app/assets/11_tab_run_theme.css</affectedPath><affectedPath>dash_app/compile_tab/__init__.py</affectedPath><affectedPath>clubb_python_api/CMakeLists.txt</affectedPath><affectedPath>dash_app/compile_tab/state.py</affectedPath><commitId>31446891daef22d1f1ac63262df21583933565b9</commitId><timestamp>1782963365000</timestamp><author><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Dash compile tab (#1323)

* Fixing small UI issues and adding tab that currently only can compile, but the plan is to have to be compile + run tests

* Improving compile tab - mainly implementing the ability to select existing builds to use as the version to run with.

* Tiny fixes to run tab UI

* Improvements to rebuilding - there were tiny bugs.

* Updating method of installing python compiles - now we package the python .so libraries with the install build. This makes things simple to import and fixes compilation issues when switching between compilers

* Cleanup - reverting various unneccesary things

---------

Co-authored-by: Gunther Huebler &lt;guntherhuebler@Gunthers-MacBook-Pro-2.local&gt;
</comment><date>2026-07-01 22:36:05 -0500</date><id>31446891daef22d1f1ac63262df21583933565b9</id><msg>Dash compile tab (#1323)</msg><path><editType>add</editType><file>dash_app/compile_tab/__init__.py</file></path><path><editType>edit</editType><file>dash_app/plot_tab/plot_types/base_plot.py</file></path><path><editType>edit</editType><file>dash_app/tune_tab/layout.py</file></path><path><editType>add</editType><file>dash_app/compile_tab/runtime.py</file></path><path><editType>edit</editType><file>dash_app/assets/30_run_ui_resize.js</file></path><path><editType>edit</editType><file>dash_app/run_tab/tab.py</file></path><path><editType>edit</editType><file>dash_app/assets/10_theme.css</file></path><path><editType>add</editType><file>dash_app/compile_tab/tab.py</file></path><path><editType>edit</editType><file>clubb_python_api/CMakeLists.txt</file></path><path><editType>edit</editType><file>clubb_python_api/run_pytests.sh</file></path><path><editType>edit</editType><file>dash_app/app.py</file></path><path><editType>edit</editType><file>run_scripts/run_scm.py</file></path><path><editType>edit</editType><file>run_scripts/run_scm_loss.py</file></path><path><editType>edit</editType><file>clubb_python_api/README.md</file></path><path><editType>add</editType><file>dash_app/compile_tab/discovery.py</file></path><path><editType>edit</editType><file>dash_app/assets/11_tab_run_theme.css</file></path><path><editType>add</editType><file>dash_app/compile_tab/layout.py</file></path><path><editType>add</editType><file>dash_app/assets/14_tab_compile_theme.css</file></path><path><editType>add</editType><file>dash_app/compile_tab/state.py</file></path><path><editType>add</editType><file>dash_app/compile_tab/callbacks.py</file></path><path><editType>edit</editType><file>dash_app/run_tab/layout.py</file></path><path><editType>edit</editType><file>dash_app/assets/20_autoscroll.js</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName><id>noreply</id></culprit><inProgress>false</inProgress><nextBuild><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.SCMTrigger$SCMTriggerCause'><shortDescription>Started by an SCM change</shortDescription></cause></action><action></action><action _class='org.jenkinsci.plugins.workflow.libs.LibrariesAction'></action><action></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmaster _class='hudson.plugins.git.util.Build'><buildNumber>108</buildNumber><marked><SHA1>12407142b14155687d0d80b174796965d2793b12</SHA1><branch><SHA1>12407142b14155687d0d80b174796965d2793b12</SHA1><name>origin/master</name></branch></marked><revision><SHA1>12407142b14155687d0d80b174796965d2793b12</SHA1><branch><SHA1>12407142b14155687d0d80b174796965d2793b12</SHA1><name>origin/master</name></branch></revision></originmaster><origingrid_fixes _class='hudson.plugins.git.util.Build'><buildNumber>92</buildNumber><marked><SHA1>b19b67713baf175f99baa0cb0bdde6e8c1fbc588</SHA1><branch><SHA1>b19b67713baf175f99baa0cb0bdde6e8c1fbc588</SHA1><name>origin/grid_fixes</name></branch></marked><revision><SHA1>b19b67713baf175f99baa0cb0bdde6e8c1fbc588</SHA1><branch><SHA1>b19b67713baf175f99baa0cb0bdde6e8c1fbc588</SHA1><name>origin/grid_fixes</name></branch></revision></origingrid_fixes><originfeeding_gr_to_host _class='hudson.plugins.git.util.Build'><buildNumber>87</buildNumber><marked><SHA1>b928767c7238139d599dc55420d2a0956161726a</SHA1><branch><SHA1>b928767c7238139d599dc55420d2a0956161726a</SHA1><name>origin/feeding_gr_to_host</name></branch></marked><revision><SHA1>b928767c7238139d599dc55420d2a0956161726a</SHA1><branch><SHA1>b928767c7238139d599dc55420d2a0956161726a</SHA1><name>origin/feeding_gr_to_host</name></branch></revision></originfeeding_gr_to_host><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>666</buildNumber><marked><SHA1>95d5d12aef49035170773f0714a97f4109bcccdd</SHA1><branch><SHA1>95d5d12aef49035170773f0714a97f4109bcccdd</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>95d5d12aef49035170773f0714a97f4109bcccdd</SHA1><branch><SHA1>95d5d12aef49035170773f0714a97f4109bcccdd</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>95d5d12aef49035170773f0714a97f4109bcccdd</SHA1><branch><SHA1>95d5d12aef49035170773f0714a97f4109bcccdd</SHA1><name>refs/remotes/origin/master</name></branch></lastBuiltRevision><remoteUrl>https://github.com/larson-group/clubb.git</remoteUrl><scmName></scmName></action><action></action><action _class='org.jenkinsci.plugins.workflow.cps.EnvActionImpl'></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><action _class='org.jenkinsci.plugins.pipeline.modeldefinition.actions.RestartDeclarativePipelineAction'></action><action></action><action _class='org.jenkinsci.plugins.workflow.job.views.FlowGraphAction'></action><action></action><action></action><action></action><building>false</building><displayName>#666</displayName><duration>735805</duration><estimatedDuration>1751800</estimatedDuration><fullDisplayName>clubb_silhs_convergence_gfortran #666</fullDisplayName><id>666</id><keepLog>false</keepLog><number>666</number><queueId>5703</queueId><result>SUCCESS</result><timestamp>1783067217873</timestamp><url>http://carson.math.uwm.edu/jenkins/view/all/job/clubb_silhs_convergence_gfortran/666/</url><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>run_scripts/run_tuner.py</affectedPath><affectedPath>dash_app/run_tab/tab.py</affectedPath><affectedPath>tuner/enhanced_simann_strategy.py</affectedPath><affectedPath>ens_tune/mytuner_movingfoot.bash</affectedPath><affectedPath>tests/test_monoflux_limiter_GPU.py</affectedPath><affectedPath>dash_app/tune_tab/callbacks_display.py</affectedPath><affectedPath>input/tunable_parameters_coriolis_cases/ekman_parameters.in</affectedPath><affectedPath>dash_app/assets/13_tab_tune_theme.css</affectedPath><affectedPath>input/parameter_and_flag_configs/coriolis_cases/coriolis_test_parameters.in</affectedPath><affectedPath>input/tunable_parameters_coriolis_cases/atex_long_parameters.in</affectedPath><affectedPath>CMakeLists.txt</affectedPath><affectedPath>dash_app/assets/14_tab_compile_theme.css</affectedPath><affectedPath>dash_app/run_tab/config_state.py</affectedPath><affectedPath>run_scripts/run_scm_loss.py</affectedPath><affectedPath>input/tunable_parameters_tauMatchLscale/tunable_parameters.in</affectedPath><affectedPath>tests/run_loss_metrics_test.py</affectedPath><affectedPath>postprocessing/output_scripts/cloud_feedback/README</affectedPath><affectedPath>dash_app/tune_tab/tab.py</affectedPath><affectedPath>dash_app/plot_tab/plot_types/shared.py</affectedPath><affectedPath>src/generalized_grid_test.F90</affectedPath><affectedPath>tuner/paths.py</affectedPath><affectedPath>cmake/deps/GPTLDependency.cmake</affectedPath><affectedPath>input/tunable_parameters_compatible_r8029/configurable_model_flags.in</affectedPath><affectedPath>tests/run_thread_test.py</affectedPath><affectedPath>tuner/status.py</affectedPath><affectedPath>dash_app/run_tab/layout.py</affectedPath><affectedPath>input/parameter_and_flag_configs/e3sm_maint32/maint32_defaults_report.md</affectedPath><affectedPath>input/case_setups/coriolis_test_model.in</affectedPath><affectedPath>run_scripts/convergence_run/convergence_config.py</affectedPath><affectedPath>dash_app/tune_tab/callbacks_runs.py</affectedPath><affectedPath>dash_app/tune_tab/layout.py</affectedPath><affectedPath>jenkins_tests/clubb_plot_solver_compare/Jenkinsfile</affectedPath><affectedPath>dash_app/tune_tab/discovery.py</affectedPath><affectedPath>dash_app/run_tab/callbacks_runs.py</affectedPath><affectedPath>input/tunable_parameters/configurable_model_flags.in</affectedPath><affectedPath>input/tunable_parameters_tauMatchLscale/configurable_model_flags.in</affectedPath><affectedPath>jenkins_tests/clubb_nvhpc_gpu_column_mirror_test/Jenkinsfile</affectedPath><affectedPath>input/parameter_and_flag_configs/tauMatchLscale/tunable_parameters.in</affectedPath><affectedPath>run_scripts/run_tuner_job.py</affectedPath><affectedPath>dash_app/plot_tab/plot_types/timeheight_plot.py</affectedPath><affectedPath>tests/run_loss_output_consistency.py</affectedPath><affectedPath>dash_app/plot_tab/state.py</affectedPath><affectedPath>dash_app/tunable_configs.py</affectedPath><affectedPath>input/parameter_and_flag_configs/default/configurable_model_flags.in</affectedPath><affectedPath>tuner/test_tuning_strategy.py</affectedPath><affectedPath>dash_app/tune_tab/callbacks_settings.py</affectedPath><affectedPath>input/parameter_and_flag_configs/e3sm/configurable_model_flags.in</affectedPath><affectedPath>tuner/system_defaults.py</affectedPath><affectedPath>jenkins_tests/clubb_driver_test/Jenkinsfile</affectedPath><affectedPath>input/parameter_and_flag_configs/default/silhs_parameters.in</affectedPath><affectedPath>jenkins_tests/clubb_plot_nvhpc_gpu_vs_cpu/Jenkinsfile</affectedPath><affectedPath>tests/run_benchmark_converter_test.py</affectedPath><affectedPath>dash_app/run_tab/namelist.py</affectedPath><affectedPath>input/tunable_parameters_compatible_r8029/tunable_parameters.in</affectedPath><affectedPath>dash_app/run_tab/callbacks_settings.py</affectedPath><affectedPath>input/case_setups/README</affectedPath><affectedPath>tests/run_stats_output_consistency.py</affectedPath><affectedPath>compile.py</affectedPath><affectedPath>dash_app/plot_tab/callbacks_params.py</affectedPath><affectedPath>tuner/sample_history.py</affectedPath><affectedPath>dash_app/run_tab/runtime.py</affectedPath><affectedPath>input/parameter_and_flag_configs/default/tunable_parameters.in</affectedPath><affectedPath>dash_app/plot_tab/plot_types/profile_plot.py</affectedPath><affectedPath>jenkins_tests/clubb_nvhpc_gpu_vs_cpu_diffness/Jenkinsfile</affectedPath><affectedPath>tests/analyze_tuner_sample_history.py</affectedPath><affectedPath>input/parameter_and_flag_configs/coriolis_cases/ekman_parameters.in</affectedPath><affectedPath>input/parameter_and_flag_configs/e3sm_maint32/silhs_parameters.in</affectedPath><affectedPath>dash_app/plot_tab/plot_types/subcolumn_plot.py</affectedPath><affectedPath>README</affectedPath><affectedPath>input/tunable_parameters_e3sm/configurable_model_flags.in</affectedPath><affectedPath>dash_app/plot_tab/callbacks_case.py</affectedPath><affectedPath>dash_app/plot_tab/plot_types/timeseries_plot.py</affectedPath><affectedPath>dash_app/tune_tab/state.py</affectedPath><affectedPath>input/parameter_and_flag_configs/e3sm_maint32/tunable_parameters.in</affectedPath><affectedPath>input/parameter_and_flag_configs/coriolis_cases/atex_long_parameters.in</affectedPath><affectedPath>input/tunable_parameters/silhs_parameters.in</affectedPath><affectedPath>run_scripts/README.md</affectedPath><affectedPath>src/clubb_loss_driver_test.F90</affectedPath><affectedPath>src/clubb_tuner.F90</affectedPath><affectedPath>input/parameter_and_flag_configs/Lscale/configurable_model_flags.in</affectedPath><affectedPath>dash_app/compile_tab/callbacks.py</affectedPath><affectedPath>dash_app/compile_tab/layout.py</affectedPath><affectedPath>tuner/case_defaults.json</affectedPath><affectedPath>run_scripts/README</affectedPath><affectedPath>utilities/create_case_namelist.py</affectedPath><affectedPath>jenkins_tests/clubb_backwards_compatibility_gfortran_test/Jenkinsfile</affectedPath><affectedPath>dash_app/tune_tab/runtime.py</affectedPath><affectedPath>input/tunable_parameters_e3sm/tunable_parameters.in</affectedPath><affectedPath>tests/README</affectedPath><affectedPath>input/stats/all_tuning_stats.in</affectedPath><affectedPath>utilities/loss_metrics.py</affectedPath><affectedPath>tuner/tuning_worker.py</affectedPath><affectedPath>input/parameter_and_flag_configs/tauMatchLscale/configurable_model_flags.in</affectedPath><affectedPath>input/tunable_parameters_coriolis_cases/coriolis_test_parameters.in</affectedPath><affectedPath>input/tunable_parameters_Lscale/configurable_model_flags.in</affectedPath><affectedPath>jenkins_tests/clubb_new_tuner_test/Jenkinsfile</affectedPath><affectedPath>jenkins_tests/clubb_rev_grid_matrix_solve_test/Jenkinsfile</affectedPath><affectedPath>input/parameter_and_flag_configs/e3sm_maint32/configurable_model_flags.in</affectedPath><affectedPath>tuner/job_runtime.py</affectedPath><affectedPath>.gitignore</affectedPath><affectedPath>input/case_setups/ekman_model.in</affectedPath><affectedPath>input/parameter_and_flag_configs/compatible_r8029/configurable_model_flags.in</affectedPath><affectedPath>input/tunable_parameters_compatible_r8029/silhs_parameters.in</affectedPath><affectedPath>tuner/tuning_strategy.py</affectedPath><affectedPath>tuner/request.py</affectedPath><affectedPath>utilities/benchmark_converter.py</affectedPath><affectedPath>dash_app/plot_tab/plot_types/budget_plot.py</affectedPath><affectedPath>input/case_setups/atex_long_model.in</affectedPath><affectedPath>dash_app/assets/11_tab_run_theme.css</affectedPath><affectedPath>input/tunable_parameters/tunable_parameters.in</affectedPath><affectedPath>dash_app/plot_tab/layout.py</affectedPath><affectedPath>input/parameter_and_flag_configs/e3sm/tunable_parameters.in</affectedPath><affectedPath>dash_app/plot_tab/callbacks_controls.py</affectedPath><affectedPath>dash_app/assets/10_theme.css</affectedPath><affectedPath>dash_app/run_tab/state.py</affectedPath><affectedPath>run_scripts/run_scm.py</affectedPath><affectedPath>input/parameter_and_flag_configs/compatible_r8029/silhs_parameters.in</affectedPath><affectedPath>input/tunable_parameters_Lscale/tunable_parameters.in</affectedPath><affectedPath>utilities/create_multi_col_params.py</affectedPath><affectedPath>ens_tune/mytuner_sequential.bash</affectedPath><affectedPath>tuner/tuning_scheduler.py</affectedPath><affectedPath>dash_app/assets/12_tab_plots_theme.css</affectedPath><affectedPath>input/parameter_and_flag_configs/Lscale/tunable_parameters.in</affectedPath><affectedPath>src/clubb_loss_driver.F90</affectedPath><affectedPath>input/parameter_and_flag_configs/compatible_r8029/tunable_parameters.in</affectedPath><commitId>95d5d12aef49035170773f0714a97f4109bcccdd</commitId><timestamp>1783051574000</timestamp><author><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Tuner additions (#1324)

* Starting new additions for tuner - specifically an overall history of all samples and loss metrics with the eventual goal of having fancy SVD and spline things we can do with that

* Adding plots to tune tab to visualize data in the overall sample outputs

* Adding the enhanced simulated annealed to the tuner. Only real tweak it that it runs workers x batch_size chains independently so that we can utilize the CPU fully

* Filtering big values in parameter plot view and making default window length 3600s (1 hour)

* Bug fix to metric report - a 0 correlation was able to throw things off, which could occur when a field from either result (clubb or LES) is all 0 without the other one being all zero. Also some small display improvements

* Adding sensitivity plots

* Updating flag/param selecting method by created a general input/tunable_parameters directory that contains subdirectories for different flag set combos. These can be used by passing in their name to run_scm.py with -config. Also updating references to these files since they moved and also making tests and scripts default to using -override instead of editting files with sed.

* Adding buttons to select param/flag config in the tuner

* Quality of life improvements for plot tab - now view settings and UI settings are retained when reloading the same case

* Fixing missed comment change

* Various small UI improvements

* Improving tuner history check and little UI fix in run_tab

* Fixing tuner environment setup

* Fixing little netcdf version issue and adding new test for loss metrics consistency check

* Renaming tunable_parameters to parameter_and_flag_configs, also adding -config example to run_scripts README
</comment><date>2026-07-02 23:06:14 -0500</date><id>95d5d12aef49035170773f0714a97f4109bcccdd</id><msg>Tuner additions (#1324)</msg><path><editType>delete</editType><file>input/tunable_parameters_Lscale/configurable_model_flags.in</file></path><path><editType>add</editType><file>input/parameter_and_flag_configs/e3sm_maint32/tunable_parameters.in</file></path><path><editType>edit</editType><file>utilities/loss_metrics.py</file></path><path><editType>edit</editType><file>dash_app/assets/11_tab_run_theme.css</file></path><path><editType>edit</editType><file>jenkins_tests/clubb_nvhpc_gpu_vs_cpu_diffness/Jenkinsfile</file></path><path><editType>edit</editType><file>dash_app/plot_tab/plot_types/subcolumn_plot.py</file></path><path><editType>edit</editType><file>dash_app/run_tab/tab.py</file></path><path><editType>delete</editType><file>input/tunable_parameters_compatible_r8029/configurable_model_flags.in</file></path><path><editType>edit</editType><file>dash_app/tune_tab/callbacks_display.py</file></path><path><editType>edit</editType><file>run_scripts/run_scm.py</file></path><path><editType>edit</editType><file>dash_app/tune_tab/discovery.py</file></path><path><editType>edit</editType><file>CMakeLists.txt</file></path><path><editType>add</editType><file>input/parameter_and_flag_configs/Lscale/configurable_model_flags.in</file></path><path><editType>add</editType><file>tuner/enhanced_simann_strategy.py</file></path><path><editType>edit</editType><file>tests/run_thread_test.py</file></path><path><editType>edit</editType><file>dash_app/tune_tab/state.py</file></path><path><editType>edit</editType><file>input/case_setups/README</file></path><path><editType>delete</editType><file>input/tunable_parameters_compatible_r8029/tunable_parameters.in</file></path><path><editType>edit</editType><file>tests/run_loss_output_consistency.py</file></path><path><editType>delete</editType><file>run_scripts/README</file></path><path><editType>edit</editType><file>tests/run_stats_output_consistency.py</file></path><path><editType>edit</editType><file>run_scripts/run_tuner.py</file></path><path><editType>delete</editType><file>input/tunable_parameters_coriolis_cases/ekman_parameters.in</file></path><path><editType>edit</editType><file>tuner/paths.py</file></path><path><editType>edit</editType><file>input/case_setups/atex_long_model.in</file></path><path><editType>edit</editType><file>src/generalized_grid_test.F90</file></path><path><editType>add</editType><file>input/parameter_and_flag_configs/compatible_r8029/configurable_model_flags.in</file></path><path><editType>delete</editType><file>input/tunable_parameters_compatible_r8029/silhs_parameters.in</file></path><path><editType>edit</editType><file>tuner/request.py</file></path><path><editType>edit</editType><file>tuner/job_runtime.py</file></path><path><editType>delete</editType><file>input/tunable_parameters_coriolis_cases/coriolis_test_parameters.in</file></path><path><editType>add</editType><file>input/parameter_and_flag_configs/default/silhs_parameters.in</file></path><path><editType>edit</editType><file>dash_app/run_tab/callbacks_settings.py</file></path><path><editType>edit</editType><file>dash_app/run_tab/state.py</file></path><path><editType>delete</editType><file>input/tunable_parameters/configurable_model_flags.in</file></path><path><editType>delete</editType><file>input/tunable_parameters/tunable_parameters.in</file></path><path><editType>edit</editType><file>compile.py</file></path><path><editType>add</editType><file>input/parameter_and_flag_configs/e3sm_maint32/maint32_defaults_report.md</file></path><path><editType>add</editType><file>input/parameter_and_flag_configs/tauMatchLscale/configurable_model_flags.in</file></path><path><editType>edit</editType><file>utilities/create_multi_col_params.py</file></path><path><editType>edit</editType><file>dash_app/plot_tab/plot_types/timeheight_plot.py</file></path><path><editType>add</editType><file>input/parameter_and_flag_configs/coriolis_cases/atex_long_parameters.in</file></path><path><editType>add</editType><file>input/parameter_and_flag_configs/e3sm/configurable_model_flags.in</file></path><path><editType>edit</editType><file>dash_app/run_tab/namelist.py</file></path><path><editType>edit</editType><file>dash_app/plot_tab/plot_types/profile_plot.py</file></path><path><editType>add</editType><file>input/parameter_and_flag_configs/e3sm/tunable_parameters.in</file></path><path><editType>add</editType><file>tuner/sample_history.py</file></path><path><editType>add</editType><file>input/parameter_and_flag_configs/coriolis_cases/ekman_parameters.in</file></path><path><editType>edit</editType><file>dash_app/plot_tab/plot_types/timeseries_plot.py</file></path><path><editType>delete</editType><file>input/tunable_parameters_e3sm/configurable_model_flags.in</file></path><path><editType>edit</editType><file>dash_app/assets/14_tab_compile_theme.css</file></path><path><editType>edit</editType><file>jenkins_tests/clubb_rev_grid_matrix_solve_test/Jenkinsfile</file></path><path><editType>add</editType><file>tuner/system_defaults.py</file></path><path><editType>edit</editType><file>utilities/benchmark_converter.py</file></path><path><editType>add</editType><file>input/parameter_and_flag_configs/default/tunable_parameters.in</file></path><path><editType>add</editType><file>input/parameter_and_flag_configs/compatible_r8029/silhs_parameters.in</file></path><path><editType>edit</editType><file>ens_tune/mytuner_movingfoot.bash</file></path><path><editType>edit</editType><file>dash_app/tune_tab/runtime.py</file></path><path><editType>add</editType><file>input/parameter_and_flag_configs/coriolis_cases/coriolis_test_parameters.in</file></path><path><editType>edit</editType><file>jenkins_tests/clubb_backwards_compatibility_gfortran_test/Jenkinsfile</file></path><path><editType>edit</editType><file>cmake/deps/GPTLDependency.cmake</file></path><path><editType>edit</editType><file>.gitignore</file></path><path><editType>edit</editType><file>dash_app/run_tab/layout.py</file></path><path><editType>edit</editType><file>dash_app/assets/13_tab_tune_theme.css</file></path><path><editType>add</editType><file>run_scripts/README.md</file></path><path><editType>edit</editType><file>dash_app/compile_tab/layout.py</file></path><path><editType>edit</editType><file>README</file></path><path><editType>edit</editType><file>tuner/test_tuning_strategy.py</file></path><path><editType>edit</editType><file>run_scripts/run_tuner_job.py</file></path><path><editType>edit</editType><file>dash_app/assets/12_tab_plots_theme.css</file></path><path><editType>edit</editType><file>run_scripts/convergence_run/convergence_config.py</file></path><path><editType>edit</editType><file>jenkins_tests/clubb_nvhpc_gpu_column_mirror_test/Jenkinsfile</file></path><path><editType>edit</editType><file>dash_app/tune_tab/tab.py</file></path><path><editType>edit</editType><file>dash_app/tune_tab/callbacks_settings.py</file></path><path><editType>edit</editType><file>src/clubb_loss_driver_test.F90</file></path><path><editType>edit</editType><file>input/case_setups/coriolis_test_model.in</file></path><path><editType>delete</editType><file>input/tunable_parameters/silhs_parameters.in</file></path><path><editType>edit</editType><file>src/clubb_loss_driver.F90</file></path><path><editType>edit</editType><file>dash_app/plot_tab/layout.py</file></path><path><editType>edit</editType><file>run_scripts/run_scm_loss.py</file></path><path><editType>edit</editType><file>dash_app/plot_tab/callbacks_controls.py</file></path><path><editType>edit</editType><file>jenkins_tests/clubb_new_tuner_test/Jenkinsfile</file></path><path><editType>edit</editType><file>dash_app/plot_tab/state.py</file></path><path><editType>delete</editType><file>input/tunable_parameters_e3sm/tunable_parameters.in</file></path><path><editType>delete</editType><file>input/tunable_parameters_Lscale/tunable_parameters.in</file></path><path><editType>edit</editType><file>dash_app/assets/10_theme.css</file></path><path><editType>edit</editType><file>dash_app/tune_tab/callbacks_runs.py</file></path><path><editType>add</editType><file>dash_app/run_tab/config_state.py</file></path><path><editType>edit</editType><file>dash_app/run_tab/callbacks_runs.py</file></path><path><editType>edit</editType><file>dash_app/plot_tab/callbacks_case.py</file></path><path><editType>edit</editType><file>dash_app/plot_tab/plot_types/budget_plot.py</file></path><path><editType>delete</editType><file>input/tunable_parameters_tauMatchLscale/configurable_model_flags.in</file></path><path><editType>edit</editType><file>dash_app/tune_tab/layout.py</file></path><path><editType>edit</editType><file>tuner/tuning_strategy.py</file></path><path><editType>edit</editType><file>tests/test_monoflux_limiter_GPU.py</file></path><path><editType>add</editType><file>dash_app/tunable_configs.py</file></path><path><editType>edit</editType><file>postprocessing/output_scripts/cloud_feedback/README</file></path><path><editType>add</editType><file>input/stats/all_tuning_stats.in</file></path><path><editType>edit</editType><file>dash_app/compile_tab/callbacks.py</file></path><path><editType>edit</editType><file>src/clubb_tuner.F90</file></path><path><editType>edit</editType><file>dash_app/run_tab/runtime.py</file></path><path><editType>add</editType><file>input/parameter_and_flag_configs/Lscale/tunable_parameters.in</file></path><path><editType>edit</editType><file>tuner/case_defaults.json</file></path><path><editType>add</editType><file>input/parameter_and_flag_configs/e3sm_maint32/configurable_model_flags.in</file></path><path><editType>add</editType><file>input/parameter_and_flag_configs/tauMatchLscale/tunable_parameters.in</file></path><path><editType>edit</editType><file>tests/run_benchmark_converter_test.py</file></path><path><editType>edit</editType><file>dash_app/plot_tab/plot_types/shared.py</file></path><path><editType>edit</editType><file>tests/README</file></path><path><editType>edit</editType><file>jenkins_tests/clubb_driver_test/Jenkinsfile</file></path><path><editType>edit</editType><file>tuner/tuning_scheduler.py</file></path><path><editType>edit</editType><file>tuner/tuning_worker.py</file></path><path><editType>edit</editType><file>utilities/create_case_namelist.py</file></path><path><editType>delete</editType><file>input/tunable_parameters_tauMatchLscale/tunable_parameters.in</file></path><path><editType>add</editType><file>tests/analyze_tuner_sample_history.py</file></path><path><editType>edit</editType><file>input/case_setups/ekman_model.in</file></path><path><editType>edit</editType><file>dash_app/plot_tab/callbacks_params.py</file></path><path><editType>delete</editType><file>input/tunable_parameters_coriolis_cases/atex_long_parameters.in</file></path><path><editType>add</editType><file>input/parameter_and_flag_configs/compatible_r8029/tunable_parameters.in</file></path><path><editType>add</editType><file>tests/run_loss_metrics_test.py</file></path><path><editType>edit</editType><file>ens_tune/mytuner_sequential.bash</file></path><path><editType>add</editType><file>input/parameter_and_flag_configs/e3sm_maint32/silhs_parameters.in</file></path><path><editType>add</editType><file>input/parameter_and_flag_configs/default/configurable_model_flags.in</file></path><path><editType>edit</editType><file>jenkins_tests/clubb_plot_nvhpc_gpu_vs_cpu/Jenkinsfile</file></path><path><editType>edit</editType><file>tuner/status.py</file></path><path><editType>edit</editType><file>jenkins_tests/clubb_plot_solver_compare/Jenkinsfile</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit><inProgress>false</inProgress><nextBuild><number>667</number><url>http://carson.math.uwm.edu/jenkins/view/all/job/clubb_silhs_convergence_gfortran/667/</url></nextBuild><previousBuild><number>665</number><url>http://carson.math.uwm.edu/jenkins/view/all/job/clubb_silhs_convergence_gfortran/665/</url></previousBuild></nextBuild><previousBuild><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.SCMTrigger$SCMTriggerCause'><shortDescription>Started by an SCM change</shortDescription></cause></action><action></action><action _class='org.jenkinsci.plugins.workflow.libs.LibrariesAction'></action><action></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><originmaster _class='hudson.plugins.git.util.Build'><buildNumber>108</buildNumber><marked><SHA1>12407142b14155687d0d80b174796965d2793b12</SHA1><branch><SHA1>12407142b14155687d0d80b174796965d2793b12</SHA1><name>origin/master</name></branch></marked><revision><SHA1>12407142b14155687d0d80b174796965d2793b12</SHA1><branch><SHA1>12407142b14155687d0d80b174796965d2793b12</SHA1><name>origin/master</name></branch></revision></originmaster><origingrid_fixes _class='hudson.plugins.git.util.Build'><buildNumber>92</buildNumber><marked><SHA1>b19b67713baf175f99baa0cb0bdde6e8c1fbc588</SHA1><branch><SHA1>b19b67713baf175f99baa0cb0bdde6e8c1fbc588</SHA1><name>origin/grid_fixes</name></branch></marked><revision><SHA1>b19b67713baf175f99baa0cb0bdde6e8c1fbc588</SHA1><branch><SHA1>b19b67713baf175f99baa0cb0bdde6e8c1fbc588</SHA1><name>origin/grid_fixes</name></branch></revision></origingrid_fixes><originfeeding_gr_to_host _class='hudson.plugins.git.util.Build'><buildNumber>87</buildNumber><marked><SHA1>b928767c7238139d599dc55420d2a0956161726a</SHA1><branch><SHA1>b928767c7238139d599dc55420d2a0956161726a</SHA1><name>origin/feeding_gr_to_host</name></branch></marked><revision><SHA1>b928767c7238139d599dc55420d2a0956161726a</SHA1><branch><SHA1>b928767c7238139d599dc55420d2a0956161726a</SHA1><name>origin/feeding_gr_to_host</name></branch></revision></originfeeding_gr_to_host><refsremotesoriginmaster _class='hudson.plugins.git.util.Build'><buildNumber>664</buildNumber><marked><SHA1>7c083496c42caa1b7d18c781134f0cc18ae94748</SHA1><branch><SHA1>7c083496c42caa1b7d18c781134f0cc18ae94748</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>7c083496c42caa1b7d18c781134f0cc18ae94748</SHA1><branch><SHA1>7c083496c42caa1b7d18c781134f0cc18ae94748</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>7c083496c42caa1b7d18c781134f0cc18ae94748</SHA1><branch><SHA1>7c083496c42caa1b7d18c781134f0cc18ae94748</SHA1><name>refs/remotes/origin/master</name></branch></lastBuiltRevision><remoteUrl>https://github.com/larson-group/clubb.git</remoteUrl><scmName></scmName></action><action></action><action _class='org.jenkinsci.plugins.workflow.cps.EnvActionImpl'></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><action _class='org.jenkinsci.plugins.pipeline.modeldefinition.actions.RestartDeclarativePipelineAction'></action><action></action><action _class='org.jenkinsci.plugins.workflow.job.views.FlowGraphAction'></action><action></action><action></action><action></action><building>false</building><displayName>#664</displayName><duration>119864</duration><estimatedDuration>1751800</estimatedDuration><fullDisplayName>clubb_silhs_convergence_gfortran #664</fullDisplayName><id>664</id><keepLog>false</keepLog><number>664</number><queueId>5425</queueId><result>SUCCESS</result><timestamp>1782548766078</timestamp><url>http://carson.math.uwm.edu/jenkins/view/all/job/clubb_silhs_convergence_gfortran/664/</url><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>clubb_jax/advance_clubb_core.py</affectedPath><affectedPath>clubb_jax/advance_clubb_to_end.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/stats_clubb_utilities.py</affectedPath><affectedPath>clubb_python_api/f2py_fortran_wrappers/advance_xp3_module_wrapper.F90</affectedPath><affectedPath>clubb_python_api/tests/argument_list_enforcer/argument_contract_audit.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/numerical_check.py</affectedPath><affectedPath>clubb_python_api/f2py_fortran_wrappers/advance_wp2_wp3_module_wrapper.F90</affectedPath><affectedPath>clubb_python_driver/advance_clubb_core.py</affectedPath><affectedPath>LLM_prompts/python_api_audit_handoff.md</affectedPath><affectedPath>clubb_python_api/tests/test_argument_contract_audit.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_wp2_wp3.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/advance_xm_wpxp.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/advance_clubb_core.py</affectedPath><affectedPath>clubb_jax/clubb_case_initalization.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_xm_wpxp.py</affectedPath><affectedPath>clubb_python_api/f2py_fortran_wrappers/stats_clubb_utilities_wrapper.F90</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/advance_wp2_wp3.py</affectedPath><affectedPath>clubb_python_api/f2py_fortran_wrappers/advance_xm_wpxp_module_wrapper.F90</affectedPath><affectedPath>clubb_python_api/f2py_fortran_wrappers/advance_xp2_xpyp_module_wrapper.F90</affectedPath><affectedPath>LLM_prompts/update_python_api_and_drivers.md</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_xp3.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_xp2_xpyp.py</affectedPath><affectedPath>clubb_python_driver/advance_clubb_to_end.py</affectedPath><affectedPath>clubb_python_driver/clubb_case_initalization.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/advance_xp3.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_stats_accumulate.py</affectedPath><affectedPath>clubb_python_api/clubb_f2py.pyf</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_core.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/advance_xp2_xpyp.py</affectedPath><commitId>1ba1f81f6b41e649dfe497947dc4c22c69f38f6c</commitId><timestamp>1782446549000</timestamp><author><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/huebler</absoluteUrl><fullName>Gunther Huebler</fullName></author><authorEmail>huebler@uwm.edu</authorEmail><comment>Updating python contract audit to better detect API arg list discrepancies from the underlying fortran arg lists. Also adding a temporary handoff file and improving the python api fix shortcut

(cherry picked from commit 47106db56945d6d0c1f962cc77d205db99d60f4f)
</comment><date>2026-06-25 23:02:29 -0500</date><id>1ba1f81f6b41e649dfe497947dc4c22c69f38f6c</id><msg>Updating python contract audit to better detect API arg list discrepancies from the underlying fortran arg lists. Also adding a temporary handoff file and improving the python api fix shortcut</msg><path><editType>edit</editType><file>clubb_python_api/f2py_fortran_wrappers/advance_xm_wpxp_module_wrapper.F90</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/stats_clubb_utilities.py</file></path><path><editType>edit</editType><file>clubb_python_driver/advance_clubb_core.py</file></path><path><editType>edit</editType><file>clubb_python_api/f2py_fortran_wrappers/stats_clubb_utilities_wrapper.F90</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_advance_wp2_wp3.py</file></path><path><editType>add</editType><file>LLM_prompts/python_api_audit_handoff.md</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/advance_xp3.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/advance_clubb_core.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_advance_xp2_xpyp.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/numerical_check.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_advance_core.py</file></path><path><editType>edit</editType><file>clubb_jax/clubb_case_initalization.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/advance_xp2_xpyp.py</file></path><path><editType>edit</editType><file>clubb_jax/advance_clubb_to_end.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_advance_xp3.py</file></path><path><editType>edit</editType><file>clubb_jax/advance_clubb_core.py</file></path><path><editType>edit</editType><file>clubb_python_api/f2py_fortran_wrappers/advance_xp3_module_wrapper.F90</file></path><path><editType>edit</editType><file>clubb_python_driver/clubb_case_initalization.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_advance_xm_wpxp.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/advance_xm_wpxp.py</file></path><path><editType>edit</editType><file>clubb_python_api/f2py_fortran_wrappers/advance_xp2_xpyp_module_wrapper.F90</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/advance_wp2_wp3.py</file></path><path><editType>edit</editType><file>LLM_prompts/update_python_api_and_drivers.md</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_f2py.pyf</file></path><path><editType>edit</editType><file>clubb_python_driver/advance_clubb_to_end.py</file></path><path><editType>edit</editType><file>clubb_python_api/f2py_fortran_wrappers/advance_wp2_wp3_module_wrapper.F90</file></path><path><editType>edit</editType><file>clubb_python_api/tests/argument_list_enforcer/argument_contract_audit.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_argument_contract_audit.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_stats_accumulate.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>clubb_python_api/clubb_python/CLUBB_core/sigma_sqd_w_module.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_corr_varnce_module.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/stats_clubb_utilities.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_mixing_length.py</affectedPath><affectedPath>clubb_python_api/f2py_fortran_wrappers/ly93_pdf_wrapper.F90</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/mixing_length.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/adg1_adg2_3d_luhar_pdf.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/penta_bicgstab_solver.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/new_tsdadg_pdf.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/grid_class.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/new_hybrid_pdf_main.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/advance_xm_wpxp.py</affectedPath><affectedPath>clubb_python_driver/radiation.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/stats_netcdf.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/advance_windm_edsclrm.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/saturation.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/advance_wp2_wp3.py</affectedPath><affectedPath>clubb_python_api/f2py_fortran_wrappers/radiation_module_wrapper.F90</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/matrix_solver_wrapper.py</affectedPath><affectedPath>clubb_python_api/f2py_fortran_wrappers/adg1_adg2_3d_luhar_pdf_wrapper.F90</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/remapping_module.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/diffusion.py</affectedPath><affectedPath>clubb_python_api/tests/test_advance_core_subs.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/err_info_type_module.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_numerical_check.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/pos_definite_module.py</affectedPath><affectedPath>clubb_python_api/clubb_f2py.pyf</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/turbulent_adv_pdf.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/calc_pressure.py</affectedPath><affectedPath>clubb_python_api/f2py_fortran_wrappers/new_tsdadg_pdf_wrapper.F90</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/new_hybrid_pdf.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/clip_explicit.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/sponge_layer_damping.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_splat.py</affectedPath><affectedPath>clubb_python_api/clubb_python/prescribe_forcings.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/pdf_closure.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/sfc_varnce_module.py</affectedPath><affectedPath>clubb_python_api/tests/argument_list_enforcer/argument_contract_audit.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/parameters_tunable.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/numerical_check.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/pdf_parameter_module.py</affectedPath><affectedPath>LLM_prompts/python_api_audit_handoff.md</affectedPath><affectedPath>clubb_python_api/tests/test_argument_contract_audit.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/advance_helper.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/corr_varnce_module.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/new_pdf.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/advance_clubb_core.py</affectedPath><affectedPath>clubb_python_api/f2py_fortran_wrappers/new_hybrid_pdf_wrapper.F90</affectedPath><affectedPath>clubb_python_api/f2py_fortran_wrappers/new_pdf_wrapper.F90</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_turbulent_adv_pdf.py</affectedPath><affectedPath>clubb_python_api/clubb_python/radiation.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/ly93_pdf.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/mono_flux_limiter.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/advance_xp3.py</affectedPath><affectedPath>clubb_python_api/f2py_fortran_wrappers/sponge_layer_damping_wrapper.F90</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/new_pdf_main.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/skx_module.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/advance_xp2_xpyp.py</affectedPath><commitId>0da14a07a2ef02d9517c80c18d0a3a285dc08d04</commitId><timestamp>1782446642000</timestamp><author><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/huebler</absoluteUrl><fullName>Gunther Huebler</fullName></author><authorEmail>huebler@uwm.edu</authorEmail><comment>Our argument_contract_audit.py script checks if the python_api matches the underlying fortran - this makes it more strict, and fixes many of the inconsistencies it found.

(cherry picked from commit f5c3b99d56499acc2a706cf024dd802f73030dd2)
</comment><date>2026-06-25 23:04:02 -0500</date><id>0da14a07a2ef02d9517c80c18d0a3a285dc08d04</id><msg>Our argument_contract_audit.py script checks if the python_api matches the underlying fortran - this makes it more strict, and fixes many of the inconsistencies it found.</msg><path><editType>edit</editType><file>clubb_python_api/tests/argument_list_enforcer/argument_contract_audit.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/penta_bicgstab_solver.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/pos_definite_module.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_corr_varnce_module.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/skx_module.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/new_tsdadg_pdf.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/numerical_check.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/prescribe_forcings.py</file></path><path><editType>edit</editType><file>clubb_python_api/f2py_fortran_wrappers/sponge_layer_damping_wrapper.F90</file></path><path><editType>edit</editType><file>clubb_python_api/f2py_fortran_wrappers/ly93_pdf_wrapper.F90</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/sigma_sqd_w_module.py</file></path><path><editType>edit</editType><file>clubb_python_api/f2py_fortran_wrappers/radiation_module_wrapper.F90</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/grid_class.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/sponge_layer_damping.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/err_info_type_module.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_turbulent_adv_pdf.py</file></path><path><editType>delete</editType><file>LLM_prompts/python_api_audit_handoff.md</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/advance_wp2_wp3.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_argument_contract_audit.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/pdf_closure.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/advance_xm_wpxp.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/new_pdf.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/adg1_adg2_3d_luhar_pdf.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/new_hybrid_pdf_main.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/calc_pressure.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/clip_explicit.py</file></path><path><editType>edit</editType><file>clubb_python_api/f2py_fortran_wrappers/new_pdf_wrapper.F90</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/advance_helper.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/sfc_varnce_module.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/mixing_length.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_numerical_check.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/corr_varnce_module.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/stats_netcdf.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/remapping_module.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/advance_windm_edsclrm.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/advance_xp3.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/saturation.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/stats_clubb_utilities.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/radiation.py</file></path><path><editType>edit</editType><file>clubb_python_api/f2py_fortran_wrappers/new_hybrid_pdf_wrapper.F90</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/turbulent_adv_pdf.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/pdf_parameter_module.py</file></path><path><editType>edit</editType><file>clubb_python_driver/radiation.py</file></path><path><editType>edit</editType><file>clubb_python_api/f2py_fortran_wrappers/new_tsdadg_pdf_wrapper.F90</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/new_hybrid_pdf.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/advance_xp2_xpyp.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/diffusion.py</file></path><path><editType>edit</editType><file>clubb_python_api/f2py_fortran_wrappers/adg1_adg2_3d_luhar_pdf_wrapper.F90</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/new_pdf_main.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_advance_core_subs.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/matrix_solver_wrapper.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_splat.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/advance_clubb_core.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_mixing_length.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/mono_flux_limiter.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/ly93_pdf.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/parameters_tunable.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_f2py.pyf</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>clubb_python_api/clubb_python/clubb_api.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_mixing_length.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/mixing_length.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/adg1_adg2_3d_luhar_pdf.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/new_tsdadg_pdf.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_transport.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/new_hybrid_pdf_main.py</affectedPath><affectedPath>clubb_python_api/f2py_fortran_wrappers/mixing_length_wrapper.F90</affectedPath><affectedPath>clubb_python_driver/advance_clubb_core.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_wp2_wp3.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_windm_edsclrm.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_xm_wpxp.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/stats_netcdf.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/advance_wp2_wp3.py</affectedPath><affectedPath>clubb_python_api/f2py_fortran_wrappers/pdf_closure_module_wrapper.F90</affectedPath><affectedPath>clubb_python_api/tests/test_udt_return_contract.py</affectedPath><affectedPath>clubb_python_api/tests/test_init_pressure.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/matrix_solver_wrapper.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_xp2_xpyp.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/remapping_module.py</affectedPath><affectedPath>clubb_python_driver/clubb_case_initalization.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/diffusion.py</affectedPath><affectedPath>clubb_python_api/tests/test_advance_core_subs.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_stats_accumulate.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/err_info_type_module.py</affectedPath><affectedPath>clubb_python_api/tests/test_stats.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_precipitation_fraction.py</affectedPath><affectedPath>clubb_python_api/clubb_f2py.pyf</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/calc_pressure.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_sponge.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_ly93.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/new_hybrid_pdf.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/sponge_layer_damping.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_luhar.py</affectedPath><affectedPath>clubb_python_api/clubb_python/prescribe_forcings.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/pdf_closure.py</affectedPath><affectedPath>clubb_python_api/tests/argument_list_enforcer/argument_contract_audit.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/pdf_parameter_module.py</affectedPath><affectedPath>clubb_python_api/f2py_fortran_wrappers/advance_wp2_wp3_module_wrapper.F90</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/advance_helper.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/new_pdf.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_skx.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/advance_clubb_core.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_new_pdf.py</affectedPath><affectedPath>clubb_jax/clubb_case_initalization.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_new_hybrid_pdf.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_mono_flux.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_xp3.py</affectedPath><affectedPath>clubb_python_driver/advance_clubb_to_end.py</affectedPath><affectedPath>clubb_python_api/clubb_python/radiation.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/ly93_pdf.py</affectedPath><affectedPath>clubb_python_api/f2py_fortran_wrappers/new_hybrid_pdf_main_wrapper.F90</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_new_tsdadg.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_core.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_remap.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/skx_module.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/advance_xp2_xpyp.py</affectedPath><commitId>e73f5d17f344ccfbf4741d978a7e0dd60a06fb25</commitId><timestamp>1782446735000</timestamp><author><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/huebler</absoluteUrl><fullName>Gunther Huebler</fullName></author><authorEmail>huebler@uwm.edu</authorEmail><comment>advance_clubb_core.py cleanup and removing strange compat_kwargs usages that seem like artifacts of laziness

(cherry picked from commit 9056400901e270333b80ee8f66af055d395b8020)
</comment><date>2026-06-25 23:05:35 -0500</date><id>e73f5d17f344ccfbf4741d978a7e0dd60a06fb25</id><msg>advance_clubb_core.py cleanup and removing strange compat_kwargs usages that seem like artifacts of laziness</msg><path><editType>edit</editType><file>clubb_python_api/f2py_fortran_wrappers/mixing_length_wrapper.F90</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_advance_core_subs.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/clubb_api.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_stats.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/advance_helper.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/calc_pressure.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_remap.py</file></path><path><editType>edit</editType><file>clubb_python_driver/advance_clubb_core.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/sponge_layer_damping.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/matrix_solver_wrapper.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_stats_accumulate.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_advance_windm_edsclrm.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/mixing_length.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/pdf_parameter_module.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_precipitation_fraction.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_advance_xp3.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/prescribe_forcings.py</file></path><path><editType>edit</editType><file>clubb_python_driver/advance_clubb_to_end.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_udt_return_contract.py</file></path><path><editType>edit</editType><file>clubb_python_api/f2py_fortran_wrappers/new_hybrid_pdf_main_wrapper.F90</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_skx.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/new_tsdadg_pdf.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_mixing_length.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/remapping_module.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_luhar.py</file></path><path><editType>edit</editType><file>clubb_python_driver/clubb_case_initalization.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/pdf_closure.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/advance_xp2_xpyp.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_advance_wp2_wp3.py</file></path><path><editType>edit</editType><file>clubb_jax/clubb_case_initalization.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_mono_flux.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/advance_wp2_wp3.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_new_hybrid_pdf.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_init_pressure.py</file></path><path><editType>edit</editType><file>clubb_python_api/f2py_fortran_wrappers/pdf_closure_module_wrapper.F90</file></path><path><editType>edit</editType><file>clubb_python_api/tests/argument_list_enforcer/argument_contract_audit.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/new_hybrid_pdf.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_advance_core.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_advance_xp2_xpyp.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/new_hybrid_pdf_main.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_new_tsdadg.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/advance_clubb_core.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_advance_xm_wpxp.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/stats_netcdf.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/radiation.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_sponge.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/diffusion.py</file></path><path><editType>edit</editType><file>clubb_python_api/f2py_fortran_wrappers/advance_wp2_wp3_module_wrapper.F90</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/err_info_type_module.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_transport.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/adg1_adg2_3d_luhar_pdf.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/ly93_pdf.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_f2py.pyf</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/new_pdf.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/skx_module.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_ly93.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_new_pdf.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>clubb_python_api/clubb_python/CLUBB_core/error_code.py</affectedPath><affectedPath>clubb_jax/advance_clubb_core.py</affectedPath><affectedPath>clubb_jax/advance_clubb_to_end.py</affectedPath><affectedPath>clubb_python_api/clubb_python/clubb_api.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_luhar.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/sponge_layer_damping.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_mixing_length.py</affectedPath><affectedPath>clubb_python_api/clubb_python/prescribe_forcings.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/pdf_closure.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/mixing_length.py</affectedPath><affectedPath>clubb_python_api/tests/argument_list_enforcer/argument_contract_audit.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/adg1_adg2_3d_luhar_pdf.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/parameters_tunable.py</affectedPath><affectedPath>LLM_prompts/port_underlying_fortran_to_other_languages.md</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/pdf_parameter_module.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/new_hybrid_pdf_main.py</affectedPath><affectedPath>clubb_python_driver/advance_clubb_core.py</affectedPath><affectedPath>clubb_python_api/tests/test_argument_contract_audit.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_wp2_wp3.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_windm_edsclrm.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_new_pdf.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/advance_clubb_core.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/loss_driver.py</affectedPath><affectedPath>clubb_jax/clubb_case_initalization.py</affectedPath><affectedPath>LLM_prompts/SHORTCUTS.md</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/stats_netcdf.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_xm_wpxp.py</affectedPath><affectedPath>clubb_python_api/f2py_fortran_wrappers/clubb_loss_driver_wrapper.F90</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/advance_wp2_wp3.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_pdf_closure_driver.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_mono_flux.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_xp3.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/matrix_solver_wrapper.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_xp2_xpyp.py</affectedPath><affectedPath>clubb_python_driver/advance_clubb_to_end.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/remapping_module.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/diffusion.py</affectedPath><affectedPath>clubb_python_driver/clubb_case_initalization.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/mono_flux_limiter.py</affectedPath><affectedPath>clubb_python_api/tests/test_advance_core_subs.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_matrix_solver_wrapper.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_stats_accumulate.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/new_pdf_main.py</affectedPath><affectedPath>clubb_python_api/tests/test_stats.py</affectedPath><affectedPath>clubb_python_api/clubb_f2py.pyf</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_precipitation_fraction.py</affectedPath><affectedPath>clubb_python_api/clubb_python/CLUBB_core/advance_xp2_xpyp.py</affectedPath><commitId>1fa8fdebc019e2807e0031f7233ef85243f80ad6</commitId><timestamp>1782449396000</timestamp><author><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/huebler</absoluteUrl><fullName>Gunther Huebler</fullName></author><authorEmail>huebler@uwm.edu</authorEmail><comment>Improving audit script even more, fixing issues it found. Also making advance_clubb_core.py nice and making an LLM shortcut for how to repeat the process

(cherry picked from commit 25b41435d7bfbbe03f2736440bdcbf4330f863ab)
</comment><date>2026-06-25 23:49:56 -0500</date><id>1fa8fdebc019e2807e0031f7233ef85243f80ad6</id><msg>Improving audit script even more, fixing issues it found. Also making advance_clubb_core.py nice and making an LLM shortcut for how to repeat the process</msg><path><editType>edit</editType><file>clubb_python_api/clubb_f2py.pyf</file></path><path><editType>edit</editType><file>clubb_python_driver/advance_clubb_core.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/diffusion.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/argument_list_enforcer/argument_contract_audit.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_advance_xp3.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/new_hybrid_pdf_main.py</file></path><path><editType>add</editType><file>LLM_prompts/port_underlying_fortran_to_other_languages.md</file></path><path><editType>edit</editType><file>clubb_python_driver/clubb_case_initalization.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_luhar.py</file></path><path><editType>edit</editType><file>clubb_jax/advance_clubb_to_end.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_new_pdf.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_matrix_solver_wrapper.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_precipitation_fraction.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_pdf_closure_driver.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/error_code.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/stats_netcdf.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/matrix_solver_wrapper.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/mono_flux_limiter.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_mixing_length.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/prescribe_forcings.py</file></path><path><editType>edit</editType><file>clubb_python_api/f2py_fortran_wrappers/clubb_loss_driver_wrapper.F90</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_advance_windm_edsclrm.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_mono_flux.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/remapping_module.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_advance_core_subs.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_stats_accumulate.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/new_pdf_main.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_advance_xp2_xpyp.py</file></path><path><editType>edit</editType><file>clubb_python_driver/advance_clubb_to_end.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/advance_clubb_core.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_advance_wp2_wp3.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/pdf_closure.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/adg1_adg2_3d_luhar_pdf.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_call_tree_advance_xm_wpxp.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/mixing_length.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/advance_wp2_wp3.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/advance_xp2_xpyp.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/pdf_parameter_module.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/clubb_api.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/loss_driver.py</file></path><path><editType>edit</editType><file>clubb_jax/advance_clubb_core.py</file></path><path><editType>edit</editType><file>clubb_jax/clubb_case_initalization.py</file></path><path><editType>edit</editType><file>LLM_prompts/SHORTCUTS.md</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/parameters_tunable.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_argument_contract_audit.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/CLUBB_core/sponge_layer_damping.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_stats.py</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>run_scripts/README</affectedPath><affectedPath>run_scripts/run_bindiff_all.py</affectedPath><affectedPath>tests/README</affectedPath><affectedPath>tests/run_bindiff_w_flags.py</affectedPath><commitId>7c083496c42caa1b7d18c781134f0cc18ae94748</commitId><timestamp>1782494071000</timestamp><author><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/huebler</absoluteUrl><fullName>Gunther Huebler</fullName></author><authorEmail>huebler@uwm.edu</authorEmail><comment>Building varying flags bindiff into run_bindiff_all.py, this just makes sense and helps fix the varying flags BFB test
</comment><date>2026-06-26 12:14:31 -0500</date><id>7c083496c42caa1b7d18c781134f0cc18ae94748</id><msg>Building varying flags bindiff into run_bindiff_all.py, this just makes sense and helps fix the varying flags BFB test</msg><path><editType>edit</editType><file>run_scripts/run_bindiff_all.py</file></path><path><editType>edit</editType><file>run_scripts/README</file></path><path><editType>edit</editType><file>tests/run_bindiff_w_flags.py</file></path><path><editType>edit</editType><file>tests/README</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/huebler</absoluteUrl><fullName>Gunther Huebler</fullName></culprit><inProgress>false</inProgress><nextBuild><number>665</number><url>http://carson.math.uwm.edu/jenkins/view/all/job/clubb_silhs_convergence_gfortran/665/</url></nextBuild><previousBuild><number>663</number><url>http://carson.math.uwm.edu/jenkins/view/all/job/clubb_silhs_convergence_gfortran/663/</url></previousBuild></previousBuild></workflowRun>