<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>92</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>76</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>71</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>680</buildNumber><marked><SHA1>17b29a7e938300692cec5c6c7e78aae7b9578568</SHA1><branch><SHA1>17b29a7e938300692cec5c6c7e78aae7b9578568</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>17b29a7e938300692cec5c6c7e78aae7b9578568</SHA1><branch><SHA1>17b29a7e938300692cec5c6c7e78aae7b9578568</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>17b29a7e938300692cec5c6c7e78aae7b9578568</SHA1><branch><SHA1>17b29a7e938300692cec5c6c7e78aae7b9578568</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_restart_gfortran_test/detail/clubb_restart_gfortran_test/680/artifacts</artifactsUrl><changesUrl>http://carson.math.uwm.edu/jenkins/blue/organizations/jenkins/clubb_restart_gfortran_test/detail/clubb_restart_gfortran_test/680/changes</changesUrl><displayUrl>http://carson.math.uwm.edu/jenkins/blue/organizations/jenkins/clubb_restart_gfortran_test/detail/clubb_restart_gfortran_test/680/</displayUrl><testsUrl>http://carson.math.uwm.edu/jenkins/blue/organizations/jenkins/clubb_restart_gfortran_test/detail/clubb_restart_gfortran_test/680/tests</testsUrl></action><action _class='org.jenkinsci.plugins.pipeline.modeldefinition.actions.RestartDeclarativePipelineAction'><restartEnabled>false</restartEnabled><restartableStage>Compile</restartableStage><restartableStage>Run the CLUBB restart 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>#680</displayName><duration>1152805</duration><estimatedDuration>2452497</estimatedDuration><fullDisplayName>clubb_restart_gfortran_test #680</fullDisplayName><id>680</id><keepLog>false</keepLog><number>680</number><queueId>8558</queueId><result>SUCCESS</result><timestamp>1789720627715</timestamp><url>http://carson.math.uwm.edu/jenkins/view/all/job/clubb_restart_gfortran_test/680/</url><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>clubb_jax/src/clubb_standalone.py</affectedPath><affectedPath>dash_app/profile_tab/callbacks.py</affectedPath><affectedPath>dash_app/pytests/test_jax_device.py</affectedPath><affectedPath>clubb_jax/run_jax.py</affectedPath><affectedPath>dash_app/assets/09_selected_build_badge.css</affectedPath><affectedPath>dash_app/README.md</affectedPath><affectedPath>dash_app/pytests/test_selected_build.py</affectedPath><affectedPath>dash_app/compile_tab/callbacks.py</affectedPath><affectedPath>dash_app/shared/actions.py</affectedPath><affectedPath>dash_app/shared/jax_device.py</affectedPath><affectedPath>clubb_jax/tests/test_radiation_module.py</affectedPath><affectedPath>dash_app/run_tab/telemetry.py</affectedPath><affectedPath>dash_app/assets/11_tab_run_theme.css</affectedPath><affectedPath>dash_app/profile_tab/runtime.py</affectedPath><affectedPath>tests/run_jax_vs_fortran_cases.py</affectedPath><affectedPath>clubb_jax/runtime_info.py</affectedPath><affectedPath>dash_app/run_tab/runtime.py</affectedPath><affectedPath>clubb_jax/requirements-metal.txt</affectedPath><affectedPath>dash_app/run_tab/layout.py</affectedPath><affectedPath>clubb_jax/run_jax_wrapper.sh</affectedPath><affectedPath>clubb_python_driver/advance_clubb_to_end.py</affectedPath><affectedPath>run_scripts/run_scm.py</affectedPath><affectedPath>dash_app/services/models.py</affectedPath><affectedPath>dash_app/pytests/test_agent_services.py</affectedPath><affectedPath>clubb_jax/tests/test_jax_cli_options.py</affectedPath><affectedPath>dash_app/DEVELOPMENT.md</affectedPath><affectedPath>dash_app/pytests/test_callbacks_runs.py</affectedPath><affectedPath>clubb_jax/src/advance_clubb_to_end.py</affectedPath><affectedPath>dash_app/pytests/test_run_broker_simplification.py</affectedPath><affectedPath>clubb_jax/tests/test_runtime_info.py</affectedPath><affectedPath>dash_app/compile_tab/build_selector.py</affectedPath><affectedPath>dash_app/run_tab/callbacks_runs.py</affectedPath><affectedPath>clubb_jax/README.md</affectedPath><affectedPath>clubb_jax/src/Radiation/radiation_module.py</affectedPath><affectedPath>dash_app/pytests/test_profile_tab.py</affectedPath><commitId>17b29a7e938300692cec5c6c7e78aae7b9578568</commitId><timestamp>1789714227000</timestamp><author><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Jax integration (#1356)

* Starting to integrate jax with dash more and making the run_scm -jax flag a little more useful by being able to choose to run on the CPU or GPU via -jax=cpu or -jax=gpu rather than requireing environment variables

* Making the jax option even fancier, dash runner chooser is better/smarter now too

* Make CLUBB-JAX launcher portable across macOS and Linux

* Making the jax device detection work without needing the venvs setup first.

* Keep JAX radiation compiled with static timestep scheduling

Preserve the host radiation flag as a static JIT argument and mirror the Fortran conditional directly. Remove the Metal-only eager execution path and redundant branch helpers.

Cover both schedule states, statistics cadence, soil update ordering, and alternating time-dependent radiation calls. Validated with CPU and Metal tests and three-step standalone runs.

* Microphys loop push (#1355)

* First set of loop pushes - feature addition to stats too to allow for calling stats_update multiple times in a timestep and averaging the results, which is quite nice for silhs and allows us to get rid of the special microphysics stats type

* More loop pushes

* Tiny changes to restore BFBness

* Pushing loop into advance_microphys

* Little more loop push

* More basic loop pushing

* More loop pushing, also found what seems to be a bug with additional columns, theres code that uses only the first one. Im leaving this in for now to maintain BFBness, but labeled the problem areas with TODOs

* Potentially final batch of loop pushes

* Adding acc fixes for microphys stuff - the 2D versions called are GPUized, so they need acc data statements surrounding them

* Removing unneccesary single col versions of lots of things

* Restoring some comments and formatting

* A little more restoration, maybe unnecceary

* Little OpenACC fixes for microphys code RESOLVED:900681c91bdbdf8d6cd069bab01663ebac1a3279

* renamed jax jenkins test to clubb_jax_tests

* Making column mirror test work by comparing two different output files rather than one. This test now runs once with 3 different columns in a certain order, say ABC, and again with reverse order CBA, then ensures that A=A B=B and C=C (bit-for-bit equivalence) in both files. This should fail now actually, as there is currently a bug, and this update is intented to improve this test so that it fails before we fix the bug

* Making column mirror test use CPU. This makes it much faster and doesn't change the test at all - not sure why I made it use GPU originally.

* Fixing microphys bug that has been around for quite a while. This happened when making clubb standalone use multiple columns, and only affects columns other than the first. This is BIT_CHANGING, but only for microphysics cases using multiple columns (#1358)

* Test different f90 vs jax flags (#1357)

* wip

* wip

* test is basically done -&gt; find out why some jax runs fail, mabe also run fortran even if jax fails

* fortran is tested regardless of whether jax fails

* changed jenkinsfile + removed l_Lscale_plume_centered from flag file + flag_set readme + lil print F90 fix

* added comments and a new flagset for jax tests

* added new jax flag config file to Jenkinstest

* Small UI fixes to make entry boxes refresh better

* Making python/jax driver status prints happen right away

* Removing accidentally added file

* Improving readmes

* Simpliciation cleanup

---------

Co-authored-by: Daniel Ebel &lt;debel@uwm.edu&gt;
Co-authored-by: Daniel Ebel &lt;124399436+shellwitz@users.noreply.github.com&gt;
</comment><date>2026-09-18 01:50:27 -0500</date><id>17b29a7e938300692cec5c6c7e78aae7b9578568</id><msg>Jax integration (#1356)</msg><path><editType>edit</editType><file>clubb_jax/src/advance_clubb_to_end.py</file></path><path><editType>add</editType><file>dash_app/pytests/test_jax_device.py</file></path><path><editType>edit</editType><file>dash_app/assets/11_tab_run_theme.css</file></path><path><editType>edit</editType><file>clubb_jax/README.md</file></path><path><editType>delete</editType><file>clubb_jax/run_jax_wrapper.sh</file></path><path><editType>edit</editType><file>dash_app/shared/actions.py</file></path><path><editType>add</editType><file>clubb_jax/requirements-metal.txt</file></path><path><editType>edit</editType><file>run_scripts/run_scm.py</file></path><path><editType>edit</editType><file>clubb_jax/src/clubb_standalone.py</file></path><path><editType>edit</editType><file>dash_app/compile_tab/callbacks.py</file></path><path><editType>edit</editType><file>dash_app/pytests/test_selected_build.py</file></path><path><editType>edit</editType><file>clubb_jax/src/Radiation/radiation_module.py</file></path><path><editType>edit</editType><file>dash_app/compile_tab/build_selector.py</file></path><path><editType>add</editType><file>clubb_jax/tests/test_jax_cli_options.py</file></path><path><editType>edit</editType><file>dash_app/assets/09_selected_build_badge.css</file></path><path><editType>edit</editType><file>dash_app/profile_tab/callbacks.py</file></path><path><editType>edit</editType><file>clubb_jax/tests/test_radiation_module.py</file></path><path><editType>edit</editType><file>dash_app/services/models.py</file></path><path><editType>edit</editType><file>dash_app/pytests/test_run_broker_simplification.py</file></path><path><editType>edit</editType><file>dash_app/pytests/test_agent_services.py</file></path><path><editType>edit</editType><file>dash_app/run_tab/runtime.py</file></path><path><editType>add</editType><file>dash_app/shared/jax_device.py</file></path><path><editType>edit</editType><file>dash_app/DEVELOPMENT.md</file></path><path><editType>edit</editType><file>dash_app/run_tab/telemetry.py</file></path><path><editType>edit</editType><file>dash_app/pytests/test_callbacks_runs.py</file></path><path><editType>add</editType><file>clubb_jax/tests/test_runtime_info.py</file></path><path><editType>edit</editType><file>dash_app/profile_tab/runtime.py</file></path><path><editType>edit</editType><file>dash_app/pytests/test_profile_tab.py</file></path><path><editType>edit</editType><file>clubb_python_driver/advance_clubb_to_end.py</file></path><path><editType>edit</editType><file>dash_app/run_tab/layout.py</file></path><path><editType>add</editType><file>clubb_jax/runtime_info.py</file></path><path><editType>edit</editType><file>dash_app/README.md</file></path><path><editType>edit</editType><file>dash_app/run_tab/callbacks_runs.py</file></path><path><editType>edit</editType><file>tests/run_jax_vs_fortran_cases.py</file></path><path><editType>add</editType><file>clubb_jax/run_jax.py</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><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>92</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>76</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>71</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>679</buildNumber><marked><SHA1>e2f38c22369792200d556168276e492b5bff6717</SHA1><branch><SHA1>e2f38c22369792200d556168276e492b5bff6717</SHA1><name>refs/remotes/origin/master</name></branch></marked><revision><SHA1>e2f38c22369792200d556168276e492b5bff6717</SHA1><branch><SHA1>e2f38c22369792200d556168276e492b5bff6717</SHA1><name>refs/remotes/origin/master</name></branch></revision></refsremotesoriginmaster></buildsByBranchName><lastBuiltRevision><SHA1>e2f38c22369792200d556168276e492b5bff6717</SHA1><branch><SHA1>e2f38c22369792200d556168276e492b5bff6717</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>#679</displayName><duration>3756288</duration><estimatedDuration>2452497</estimatedDuration><fullDisplayName>clubb_restart_gfortran_test #679</fullDisplayName><id>679</id><keepLog>false</keepLog><number>679</number><queueId>8470</queueId><result>SUCCESS</result><timestamp>1789634229084</timestamp><url>http://carson.math.uwm.edu/jenkins/view/all/job/clubb_restart_gfortran_test/679/</url><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>run_scripts/run_clubb_w_varying_flags.py</affectedPath><affectedPath>input/flag_sets/config_core_flags_wo_never_supported_jax_features.json</affectedPath><affectedPath>tests/README</affectedPath><affectedPath>.gitignore</affectedPath><affectedPath>utilities/flag_sets.py</affectedPath><affectedPath>jenkins_tests/clubb_jax_tests/Jenkinsfile</affectedPath><affectedPath>input/flag_sets/README.md</affectedPath><affectedPath>input/flag_sets/run_bindiff_w_flags_config_core_flags.json</affectedPath><affectedPath>tests/run_jax_vs_fortran_cases.py</affectedPath><affectedPath>src/CLUBB_core/err_info_type_module.F90</affectedPath><commitId>3a0c0fbbeb0eae52b7b98be4555b18dc6036398a</commitId><timestamp>1789591299000</timestamp><author><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/noreply</absoluteUrl><fullName>noreply</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Test different f90 vs jax flags (#1357)

* wip

* wip

* test is basically done -&gt; find out why some jax runs fail, mabe also run fortran even if jax fails

* fortran is tested regardless of whether jax fails

* changed jenkinsfile + removed l_Lscale_plume_centered from flag file + flag_set readme + lil print F90 fix

* added comments and a new flagset for jax tests

* added new jax flag config file to Jenkinstest
</comment><date>2026-09-16 15:41:39 -0500</date><id>3a0c0fbbeb0eae52b7b98be4555b18dc6036398a</id><msg>Test different f90 vs jax flags (#1357)</msg><path><editType>edit</editType><file>run_scripts/run_clubb_w_varying_flags.py</file></path><path><editType>add</editType><file>input/flag_sets/config_core_flags_wo_never_supported_jax_features.json</file></path><path><editType>edit</editType><file>tests/run_jax_vs_fortran_cases.py</file></path><path><editType>add</editType><file>input/flag_sets/README.md</file></path><path><editType>edit</editType><file>jenkins_tests/clubb_jax_tests/Jenkinsfile</file></path><path><editType>edit</editType><file>input/flag_sets/run_bindiff_w_flags_config_core_flags.json</file></path><path><editType>edit</editType><file>src/CLUBB_core/err_info_type_module.F90</file></path><path><editType>add</editType><file>utilities/flag_sets.py</file></path><path><editType>edit</editType><file>tests/README</file></path><path><editType>edit</editType><file>.gitignore</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>tests/pytests/test_column_mirror.py</affectedPath><affectedPath>tests/README</affectedPath><affectedPath>jenkins_tests/clubb_column_mirror_test/Jenkinsfile</affectedPath><affectedPath>tests/check_mirrored_multi_col_output.py</affectedPath><commitId>e2f38c22369792200d556168276e492b5bff6717</commitId><timestamp>1789627411000</timestamp><author><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/huebler</absoluteUrl><fullName>Gunther Huebler</fullName></author><authorEmail>huebler@uwm.edu</authorEmail><comment>Consolidating column mirror test functionality into the test script itself - now the script does it all, no need to configure/build/run anymore. Also hugely improving comments and explainations
</comment><date>2026-09-17 01:43:31 -0500</date><id>e2f38c22369792200d556168276e492b5bff6717</id><msg>Consolidating column mirror test functionality into the test script itself - now the script does it all, no need to configure/build/run anymore. Also hugely improving comments and explainations</msg><path><editType>add</editType><file>tests/pytests/test_column_mirror.py</file></path><path><editType>edit</editType><file>jenkins_tests/clubb_column_mirror_test/Jenkinsfile</file></path><path><editType>edit</editType><file>tests/check_mirrored_multi_col_output.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/noreply</absoluteUrl><fullName>noreply</fullName></culprit><culprit><absoluteUrl>http://carson.math.uwm.edu/jenkins/user/huebler</absoluteUrl><fullName>Gunther Huebler</fullName></culprit><inProgress>false</inProgress><nextBuild><number>680</number><url>http://carson.math.uwm.edu/jenkins/view/all/job/clubb_restart_gfortran_test/680/</url></nextBuild><previousBuild><number>678</number><url>http://carson.math.uwm.edu/jenkins/view/all/job/clubb_restart_gfortran_test/678/</url></previousBuild></previousBuild></workflowRun>