<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>115</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>98</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>92</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>724</buildNumber><marked><SHA1>09639f38d1373114e73ae7fd501310bd7e8f744f</SHA1><branch><SHA1>09639f38d1373114e73ae7fd501310bd7e8f744f</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>09639f38d1373114e73ae7fd501310bd7e8f744f</SHA1><branch><SHA1>09639f38d1373114e73ae7fd501310bd7e8f744f</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>09639f38d1373114e73ae7fd501310bd7e8f744f</SHA1><branch><SHA1>09639f38d1373114e73ae7fd501310bd7e8f744f</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>#724</displayName><duration>231745</duration><estimatedDuration>178786</estimatedDuration><fullDisplayName>clubb_openmp_gfortran_test #724</fullDisplayName><id>724</id><keepLog>false</keepLog><number>724</number><queueId>9119</queueId><result>SUCCESS</result><timestamp>1790842627542</timestamp><url>http://carson.math.uwm.edu/jenkins/view/all/job/clubb_openmp_gfortran_test/724/</url><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>experimental/experimental_pdfs/python/report_scripts/directional_lscale_pdf_coherence/generate_report.py</affectedPath><affectedPath>doc/reports/README.md</affectedPath><affectedPath>doc/reports/resize_raster_assets.py</affectedPath><affectedPath>clubb_python_api/README.md</affectedPath><affectedPath>tuner/clubb_loss_driver.py</affectedPath><affectedPath>tests/run_clubb_conv_test.py</affectedPath><affectedPath>run_scripts/run_scm_loss.py</affectedPath><affectedPath>tests/check_budget_balance.py</affectedPath><affectedPath>tests/run_loss_metrics_test.py</affectedPath><affectedPath>launch_dashboard.sh</affectedPath><affectedPath>tests/README</affectedPath><affectedPath>tuner/clubb_loss_driver_test.py</affectedPath><affectedPath>tuner/tune_clubb.py</affectedPath><affectedPath>clubb_python_api/tests/conftest.py</affectedPath><affectedPath>postprocessing/check_budgets_balance/checkBudget.py</affectedPath><affectedPath>tests/run_thread_test.py</affectedPath><affectedPath>clubb_python_driver/__init__.py</affectedPath><affectedPath>tests/check_mirrored_multi_col_output.py</affectedPath><affectedPath>postprocessing/pyplotgen/requirements.txt</affectedPath><affectedPath>run_scripts/convergence_run/convergence_config.py</affectedPath><affectedPath>postprocessing/pyplotgen/README.md</affectedPath><affectedPath>postprocessing/pyplotgen/pyplotgen.py</affectedPath><affectedPath>tests/run_clubb_settings_validation_test.py</affectedPath><affectedPath>tests/run_python_vs_fortran_cases.py</affectedPath><affectedPath>dash_app/agent_integration/mcp_server.py</affectedPath><affectedPath>dash_app/requirements.txt</affectedPath><affectedPath>tests/run_restart_test.py</affectedPath><affectedPath>tests/run_loss_output_consistency.py</affectedPath><affectedPath>.gitignore</affectedPath><affectedPath>dash_app/README.md</affectedPath><affectedPath>tests/run_pytests.sh</affectedPath><affectedPath>clubb_python_driver/clubb_standalone.py</affectedPath><affectedPath>utilities/benchmark_converter.py</affectedPath><affectedPath>tests/run_benchmark_converter_test.py</affectedPath><affectedPath>clubb_python_api/run_pytests.sh</affectedPath><affectedPath>utilities/split_stats_to_legacy.py</affectedPath><affectedPath>run_scripts/run_clubb_and_pyplotgen.py</affectedPath><affectedPath>tests/run_stats_output_consistency.py</affectedPath><affectedPath>compile.py</affectedPath><affectedPath>run_scripts/convergence_run/convergence_function.py</affectedPath><affectedPath>utilities/setup_python_venv.py</affectedPath><affectedPath>clubb_python_api/requirements.txt</affectedPath><affectedPath>BUILD.md</affectedPath><affectedPath>tests/run_silhs_test.py</affectedPath><affectedPath>tests/analyze_tuner_sample_history.py</affectedPath><affectedPath>run_scripts/convergence_run/plot_l2_convergence.py</affectedPath><affectedPath>run_scripts/run_scm.py</affectedPath><affectedPath>run_scripts/run_bindiff_all.py</affectedPath><affectedPath>utilities/create_multi_col_params.py</affectedPath><affectedPath>README</affectedPath><affectedPath>dash_app/pytests/test_scm_override.py</affectedPath><commitId>fbd75c66dc7e14c9dbca7e418c37a679d3de47d3</commitId><timestamp>1790791702000</timestamp><author><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Venv improvement (#1367)

* Unify Python environment setup with uv

Add optional shared Python/F2PY setup and automatic Dash dependency installation. Keep JAX independent, preserve ordinary system-Python use, and update compile selection behavior for CLI and Dash.

* Harden shared Python environment and F2PY runtime selection

* Bootstrap shared Python environment from entry points

* Move install alias behavior to symlink branch
</comment><date>2026-09-30 13:08:22 -0500</date><id>fbd75c66dc7e14c9dbca7e418c37a679d3de47d3</id><msg>Venv improvement (#1367)</msg><path><editType>edit</editType><file>tests/run_loss_metrics_test.py</file></path><path><editType>edit</editType><file>tests/run_thread_test.py</file></path><path><editType>edit</editType><file>run_scripts/convergence_run/convergence_config.py</file></path><path><editType>edit</editType><file>.gitignore</file></path><path><editType>edit</editType><file>run_scripts/convergence_run/plot_l2_convergence.py</file></path><path><editType>edit</editType><file>utilities/benchmark_converter.py</file></path><path><editType>edit</editType><file>tests/run_stats_output_consistency.py</file></path><path><editType>edit</editType><file>dash_app/requirements.txt</file></path><path><editType>edit</editType><file>postprocessing/pyplotgen/pyplotgen.py</file></path><path><editType>edit</editType><file>run_scripts/convergence_run/convergence_function.py</file></path><path><editType>edit</editType><file>tests/run_pytests.sh</file></path><path><editType>edit</editType><file>tests/README</file></path><path><editType>edit</editType><file>dash_app/agent_integration/mcp_server.py</file></path><path><editType>edit</editType><file>tuner/tune_clubb.py</file></path><path><editType>edit</editType><file>tests/analyze_tuner_sample_history.py</file></path><path><editType>edit</editType><file>tests/run_clubb_conv_test.py</file></path><path><editType>edit</editType><file>clubb_python_driver/clubb_standalone.py</file></path><path><editType>edit</editType><file>postprocessing/pyplotgen/README.md</file></path><path><editType>edit</editType><file>doc/reports/README.md</file></path><path><editType>edit</editType><file>tuner/clubb_loss_driver.py</file></path><path><editType>edit</editType><file>run_scripts/run_bindiff_all.py</file></path><path><editType>edit</editType><file>clubb_python_api/README.md</file></path><path><editType>edit</editType><file>tests/run_benchmark_converter_test.py</file></path><path><editType>add</editType><file>utilities/setup_python_venv.py</file></path><path><editType>edit</editType><file>README</file></path><path><editType>edit</editType><file>run_scripts/run_scm_loss.py</file></path><path><editType>edit</editType><file>tests/run_restart_test.py</file></path><path><editType>edit</editType><file>clubb_python_api/requirements.txt</file></path><path><editType>edit</editType><file>tests/check_mirrored_multi_col_output.py</file></path><path><editType>edit</editType><file>run_scripts/run_scm.py</file></path><path><editType>edit</editType><file>postprocessing/check_budgets_balance/checkBudget.py</file></path><path><editType>edit</editType><file>tests/check_budget_balance.py</file></path><path><editType>edit</editType><file>utilities/create_multi_col_params.py</file></path><path><editType>edit</editType><file>doc/reports/resize_raster_assets.py</file></path><path><editType>edit</editType><file>tests/run_silhs_test.py</file></path><path><editType>edit</editType><file>utilities/split_stats_to_legacy.py</file></path><path><editType>edit</editType><file>dash_app/README.md</file></path><path><editType>edit</editType><file>tests/run_python_vs_fortran_cases.py</file></path><path><editType>edit</editType><file>run_scripts/run_clubb_and_pyplotgen.py</file></path><path><editType>edit</editType><file>dash_app/pytests/test_scm_override.py</file></path><path><editType>edit</editType><file>experimental/experimental_pdfs/python/report_scripts/directional_lscale_pdf_coherence/generate_report.py</file></path><path><editType>edit</editType><file>launch_dashboard.sh</file></path><path><editType>edit</editType><file>clubb_python_driver/__init__.py</file></path><path><editType>edit</editType><file>tests/run_clubb_settings_validation_test.py</file></path><path><editType>edit</editType><file>tuner/clubb_loss_driver_test.py</file></path><path><editType>edit</editType><file>clubb_python_api/run_pytests.sh</file></path><path><editType>edit</editType><file>compile.py</file></path><path><editType>edit</editType><file>BUILD.md</file></path><path><editType>edit</editType><file>clubb_python_api/tests/conftest.py</file></path><path><editType>edit</editType><file>tests/run_loss_output_consistency.py</file></path><path><editType>edit</editType><file>postprocessing/pyplotgen/requirements.txt</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/pytests/test_compile_install_aliases.py</affectedPath><affectedPath>BUILD.md</affectedPath><affectedPath>dash_app/compile_tab/runtime.py</affectedPath><affectedPath>compile.py</affectedPath><affectedPath>dash_app/pytests/test_compile_tab_build_status.py</affectedPath><commitId>f5f8f9cb615e396a1a9913fe3b9470c63df93595</commitId><timestamp>1790792854000</timestamp><author><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Update selected install with command-line builds (#1369)
</comment><date>2026-09-30 13:27:34 -0500</date><id>f5f8f9cb615e396a1a9913fe3b9470c63df93595</id><msg>Update selected install with command-line builds (#1369)</msg><path><editType>edit</editType><file>compile.py</file></path><path><editType>edit</editType><file>dash_app/compile_tab/runtime.py</file></path><path><editType>add</editType><file>tests/pytests/test_compile_install_aliases.py</file></path><path><editType>edit</editType><file>dash_app/pytests/test_compile_tab_build_status.py</file></path><path><editType>edit</editType><file>BUILD.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/README</affectedPath><affectedPath>tests/README.md</affectedPath><commitId>b9b446daeae9d0f9adb793b75429898922efac3e</commitId><timestamp>1790792931000</timestamp><author><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/huebler</absoluteUrl><fullName>Gunther Huebler</fullName></author><authorEmail>huebler@uwm.edu</authorEmail><comment>Making README a README.md
</comment><date>2026-09-30 13:28:51 -0500</date><id>b9b446daeae9d0f9adb793b75429898922efac3e</id><msg>Making README a README.md</msg><path><editType>delete</editType><file>tests/README</file></path><path><editType>add</editType><file>tests/README.md</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>clubb_jax/src/clubb_case_initalization.py</affectedPath><affectedPath>src/CLUBB_core/parameters_tunable.F90</affectedPath><affectedPath>src/G_unit_test_types/spurious_source_test.F90</affectedPath><affectedPath>clubb_python_api/clubb_python/clubb_api.py</affectedPath><affectedPath>experimental/experimental_pdfs/python/dash_additions/misc_labs/sam_lscale.py</affectedPath><affectedPath>clubb_python_api/tests/test_init_sequence.py</affectedPath><affectedPath>clubb_python_api/f2py_fortran_wrappers/parameters_tunable_wrapper.F90</affectedPath><affectedPath>clubb_jax/src/CLUBB_core/parameters_tunable.py</affectedPath><affectedPath>clubb_python_api/tests/test_udt_return_contract.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_xp2_xpyp.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_driver/clubb_case_initalization.py</affectedPath><affectedPath>clubb_python_api/tests/test_advance_core_subs.py</affectedPath><affectedPath>src/clubb_driver.F90</affectedPath><affectedPath>src/CLUBB_core/clubb_api_module.F90</affectedPath><affectedPath>clubb_jax/tests/test_param_names.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_wp2_wp3.py</affectedPath><affectedPath>clubb_python_api/clubb_f2py.pyf</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_windm_edsclrm.py</affectedPath><affectedPath>clubb_jax/src/CLUBB_core/new_tsdadg_pdf.py</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_core.py</affectedPath><affectedPath>src/G_unit_test_types/rev_direction_grid_test.F90</affectedPath><affectedPath>clubb_python_api/tests/test_call_tree_advance_xm_wpxp.py</affectedPath><commitId>09639f38d1373114e73ae7fd501310bd7e8f744f</commitId><timestamp>1790794987000</timestamp><author><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/huebler</absoluteUrl><fullName>Gunther Huebler</fullName></author><authorEmail>huebler@uwm.edu</authorEmail><comment>Rename derived-parameter routine across CLUBB interfaces
</comment><date>2026-09-30 14:03:07 -0500</date><id>09639f38d1373114e73ae7fd501310bd7e8f744f</id><msg>Rename derived-parameter routine across CLUBB interfaces</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/tests/test_call_tree_advance_wp2_wp3.py</file></path><path><editType>edit</editType><file>src/CLUBB_core/clubb_api_module.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/tests/test_call_tree_advance_xp2_xpyp.py</file></path><path><editType>edit</editType><file>src/G_unit_test_types/rev_direction_grid_test.F90</file></path><path><editType>edit</editType><file>experimental/experimental_pdfs/python/dash_additions/misc_labs/sam_lscale.py</file></path><path><editType>edit</editType><file>src/clubb_driver.F90</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_jax/src/clubb_case_initalization.py</file></path><path><editType>edit</editType><file>src/CLUBB_core/parameters_tunable.F90</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_python/clubb_api.py</file></path><path><editType>edit</editType><file>clubb_jax/tests/test_param_names.py</file></path><path><editType>edit</editType><file>clubb_python_api/tests/test_init_sequence.py</file></path><path><editType>edit</editType><file>clubb_python_api/f2py_fortran_wrappers/parameters_tunable_wrapper.F90</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/clubb_python/CLUBB_core/parameters_tunable.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>src/G_unit_test_types/spurious_source_test.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_jax/src/CLUBB_core/parameters_tunable.py</file></path><path><editType>edit</editType><file>clubb_jax/src/CLUBB_core/new_tsdadg_pdf.py</file></path><path><editType>edit</editType><file>clubb_python_api/clubb_f2py.pyf</file></path><path><editType>edit</editType><file>clubb_python_driver/clubb_case_initalization.py</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/huebler</absoluteUrl><fullName>Gunther Huebler</fullName></culprit><culprit><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></culprit><inProgress>false</inProgress><nextBuild><number>725</number><url>http://carson.math.uwm.edu/jenkins/view/all/job/clubb_openmp_gfortran_test/725/</url></nextBuild><previousBuild><number>723</number><url>http://carson.math.uwm.edu/jenkins/view/all/job/clubb_openmp_gfortran_test/723/</url></previousBuild></workflowRun>