{
  "_class" : "org.jenkinsci.plugins.workflow.job.WorkflowRun",
  "actions" : [
    {
      "_class" : "hudson.model.ParametersAction",
      "parameters" : [
        {
          "_class" : "net.uaznia.lukanus.hudson.plugins.gitparameter.GitParameterValue",
          "name" : "BRANCH",
          "value" : "origin/mixing_length_fix_2"
        }
      ]
    },
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UserIdCause",
          "shortDescription" : "Started by user agent_dev",
          "userId" : "agent_dev",
          "userName" : "agent_dev"
        }
      ]
    },
    {
      "_class" : "jenkins.metrics.impl.TimeInQueueAction",
      "blockedDurationMillis" : 0,
      "blockedTimeMillis" : 0,
      "buildableDurationMillis" : 0,
      "buildableTimeMillis" : 0,
      "buildingDurationMillis" : 7071688,
      "executingTimeMillis" : 5813886,
      "executorUtilization" : 0.82,
      "subTaskCount" : 1,
      "waitingDurationMillis" : 5794,
      "waitingTimeMillis" : 5794
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/fix/jax-multicolumn-microphysics" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 37,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "ca74e3e038ac2c457fa637babdad894ec1ef4317",
            "branch" : [
              {
                "SHA1" : "ca74e3e038ac2c457fa637babdad894ec1ef4317",
                "name" : "refs/remotes/origin/fix/jax-multicolumn-microphysics"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ca74e3e038ac2c457fa637babdad894ec1ef4317",
            "branch" : [
              {
                "SHA1" : "ca74e3e038ac2c457fa637babdad894ec1ef4317",
                "name" : "refs/remotes/origin/fix/jax-multicolumn-microphysics"
              }
            ]
          }
        },
        "refs/remotes/origin/jax_microphys" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 12,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "9ba460711595cf96ca978a2f726cdb0e2010d15e",
            "branch" : [
              {
                "SHA1" : "9ba460711595cf96ca978a2f726cdb0e2010d15e",
                "name" : "refs/remotes/origin/jax_microphys"
              }
            ]
          },
          "revision" : {
            "SHA1" : "9ba460711595cf96ca978a2f726cdb0e2010d15e",
            "branch" : [
              {
                "SHA1" : "9ba460711595cf96ca978a2f726cdb0e2010d15e",
                "name" : "refs/remotes/origin/jax_microphys"
              }
            ]
          }
        },
        "refs/remotes/origin/mixing_length_fix_2" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 41,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "3045bd3a9835b5e8f57e41064be719147b6d1193",
            "branch" : [
              {
                "SHA1" : "3045bd3a9835b5e8f57e41064be719147b6d1193",
                "name" : "refs/remotes/origin/mixing_length_fix_2"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3045bd3a9835b5e8f57e41064be719147b6d1193",
            "branch" : [
              {
                "SHA1" : "3045bd3a9835b5e8f57e41064be719147b6d1193",
                "name" : "refs/remotes/origin/mixing_length_fix_2"
              }
            ]
          }
        },
        "refs/remotes/origin/F90-fix-multicol+l_add_dycore_grid" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 7,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "417f2207397395d5681d8322c590bbc0bc302a6e",
            "branch" : [
              {
                "SHA1" : "417f2207397395d5681d8322c590bbc0bc302a6e",
                "name" : "refs/remotes/origin/F90-fix-multicol+l_add_dycore_grid"
              }
            ]
          },
          "revision" : {
            "SHA1" : "417f2207397395d5681d8322c590bbc0bc302a6e",
            "branch" : [
              {
                "SHA1" : "417f2207397395d5681d8322c590bbc0bc302a6e",
                "name" : "refs/remotes/origin/F90-fix-multicol+l_add_dycore_grid"
              }
            ]
          }
        },
        "refs/remotes/origin/clubb_case_runner" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 28,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d851b14641f3119dbce3e653cc5394d43a4d6b1e",
            "branch" : [
              {
                "SHA1" : "d851b14641f3119dbce3e653cc5394d43a4d6b1e",
                "name" : "refs/remotes/origin/clubb_case_runner"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d851b14641f3119dbce3e653cc5394d43a4d6b1e",
            "branch" : [
              {
                "SHA1" : "d851b14641f3119dbce3e653cc5394d43a4d6b1e",
                "name" : "refs/remotes/origin/clubb_case_runner"
              }
            ]
          }
        },
        "refs/remotes/origin/huebleruwm/cachy-rocm-jax" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 22,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d92c017452c2e58c3dee80d3a370a7771c98d62c",
            "branch" : [
              {
                "SHA1" : "d92c017452c2e58c3dee80d3a370a7771c98d62c",
                "name" : "refs/remotes/origin/huebleruwm/cachy-rocm-jax"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d92c017452c2e58c3dee80d3a370a7771c98d62c",
            "branch" : [
              {
                "SHA1" : "d92c017452c2e58c3dee80d3a370a7771c98d62c",
                "name" : "refs/remotes/origin/huebleruwm/cachy-rocm-jax"
              }
            ]
          }
        },
        "refs/remotes/origin/mixing-length-api-jax" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 40,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "6cc78c6532ba5d69fad302a171d83ff22497b3f5",
            "branch" : [
              {
                "SHA1" : "6cc78c6532ba5d69fad302a171d83ff22497b3f5",
                "name" : "refs/remotes/origin/mixing-length-api-jax"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6cc78c6532ba5d69fad302a171d83ff22497b3f5",
            "branch" : [
              {
                "SHA1" : "6cc78c6532ba5d69fad302a171d83ff22497b3f5",
                "name" : "refs/remotes/origin/mixing-length-api-jax"
              }
            ]
          }
        },
        "refs/remotes/origin/script_arg_cleanup" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 17,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "996c5f98796bec7a14a0c5b47dcf17c07b1c452f",
            "branch" : [
              {
                "SHA1" : "996c5f98796bec7a14a0c5b47dcf17c07b1c452f",
                "name" : "refs/remotes/origin/script_arg_cleanup"
              }
            ]
          },
          "revision" : {
            "SHA1" : "996c5f98796bec7a14a0c5b47dcf17c07b1c452f",
            "branch" : [
              {
                "SHA1" : "996c5f98796bec7a14a0c5b47dcf17c07b1c452f",
                "name" : "refs/remotes/origin/script_arg_cleanup"
              }
            ]
          }
        },
        "refs/remotes/origin/jenkins_test_cleanup" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 14,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "88f030077490c706dcbbeac4e9b662ad39834c63",
            "branch" : [
              {
                "SHA1" : "88f030077490c706dcbbeac4e9b662ad39834c63",
                "name" : "refs/remotes/origin/jenkins_test_cleanup"
              }
            ]
          },
          "revision" : {
            "SHA1" : "88f030077490c706dcbbeac4e9b662ad39834c63",
            "branch" : [
              {
                "SHA1" : "88f030077490c706dcbbeac4e9b662ad39834c63",
                "name" : "refs/remotes/origin/jenkins_test_cleanup"
              }
            ]
          }
        },
        "refs/remotes/origin/jenkins_jax_vs_fortran" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 3,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "4ccaf683a6e835e4d761b5a448c41dc6ffe27fa1",
            "branch" : [
              {
                "SHA1" : "4ccaf683a6e835e4d761b5a448c41dc6ffe27fa1",
                "name" : "refs/remotes/origin/jenkins_jax_vs_fortran"
              }
            ]
          },
          "revision" : {
            "SHA1" : "4ccaf683a6e835e4d761b5a448c41dc6ffe27fa1",
            "branch" : [
              {
                "SHA1" : "4ccaf683a6e835e4d761b5a448c41dc6ffe27fa1",
                "name" : "refs/remotes/origin/jenkins_jax_vs_fortran"
              }
            ]
          }
        },
        "refs/remotes/origin/jax_driver_lifecycle" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 24,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "1ec893a487d32b4b93817d8438a6459dd0cc55c3",
            "branch" : [
              {
                "SHA1" : "1ec893a487d32b4b93817d8438a6459dd0cc55c3",
                "name" : "refs/remotes/origin/jax_driver_lifecycle"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1ec893a487d32b4b93817d8438a6459dd0cc55c3",
            "branch" : [
              {
                "SHA1" : "1ec893a487d32b4b93817d8438a6459dd0cc55c3",
                "name" : "refs/remotes/origin/jax_driver_lifecycle"
              }
            ]
          }
        },
        "refs/remotes/origin/jax_silhs" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 20,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "648ab0080cab3b33ba9eb7525b598b9e882118e2",
            "branch" : [
              {
                "SHA1" : "648ab0080cab3b33ba9eb7525b598b9e882118e2",
                "name" : "refs/remotes/origin/jax_silhs"
              }
            ]
          },
          "revision" : {
            "SHA1" : "648ab0080cab3b33ba9eb7525b598b9e882118e2",
            "branch" : [
              {
                "SHA1" : "648ab0080cab3b33ba9eb7525b598b9e882118e2",
                "name" : "refs/remotes/origin/jax_silhs"
              }
            ]
          }
        },
        "refs/remotes/origin/clubb_jax_debug_prints" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 25,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "c0eebd264de06340a4243dadb271a1413940bdc0",
            "branch" : [
              {
                "SHA1" : "c0eebd264de06340a4243dadb271a1413940bdc0",
                "name" : "refs/remotes/origin/clubb_jax_debug_prints"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c0eebd264de06340a4243dadb271a1413940bdc0",
            "branch" : [
              {
                "SHA1" : "c0eebd264de06340a4243dadb271a1413940bdc0",
                "name" : "refs/remotes/origin/clubb_jax_debug_prints"
              }
            ]
          }
        },
        "refs/remotes/origin/pytest_cleanup" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 21,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "53e40d747c3bbee9d067136b700534b58969059d",
            "branch" : [
              {
                "SHA1" : "53e40d747c3bbee9d067136b700534b58969059d",
                "name" : "refs/remotes/origin/pytest_cleanup"
              }
            ]
          },
          "revision" : {
            "SHA1" : "53e40d747c3bbee9d067136b700534b58969059d",
            "branch" : [
              {
                "SHA1" : "53e40d747c3bbee9d067136b700534b58969059d",
                "name" : "refs/remotes/origin/pytest_cleanup"
              }
            ]
          }
        },
        "refs/remotes/origin/test_different_f90_vs_jax_flags" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 5,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "015ae8fae1260bf888d109b1c408ba7bdf424bcc",
            "branch" : [
              {
                "SHA1" : "015ae8fae1260bf888d109b1c408ba7bdf424bcc",
                "name" : "refs/remotes/origin/test_different_f90_vs_jax_flags"
              }
            ]
          },
          "revision" : {
            "SHA1" : "015ae8fae1260bf888d109b1c408ba7bdf424bcc",
            "branch" : [
              {
                "SHA1" : "015ae8fae1260bf888d109b1c408ba7bdf424bcc",
                "name" : "refs/remotes/origin/test_different_f90_vs_jax_flags"
              }
            ]
          }
        },
        "refs/remotes/origin/test/coherent-cpu-slices-20261020" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 34,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "fda1cae0b1ae83157c205a1b9a8c2d0026177458",
            "branch" : [
              {
                "SHA1" : "fda1cae0b1ae83157c205a1b9a8c2d0026177458",
                "name" : "refs/remotes/origin/test/coherent-cpu-slices-20261020"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fda1cae0b1ae83157c205a1b9a8c2d0026177458",
            "branch" : [
              {
                "SHA1" : "fda1cae0b1ae83157c205a1b9a8c2d0026177458",
                "name" : "refs/remotes/origin/test/coherent-cpu-slices-20261020"
              }
            ]
          }
        },
        "refs/remotes/origin/jax_timing" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 29,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "219fcd5176efd825d82943c1dafb74cfb5e712e2",
            "branch" : [
              {
                "SHA1" : "219fcd5176efd825d82943c1dafb74cfb5e712e2",
                "name" : "refs/remotes/origin/jax_timing"
              }
            ]
          },
          "revision" : {
            "SHA1" : "219fcd5176efd825d82943c1dafb74cfb5e712e2",
            "branch" : [
              {
                "SHA1" : "219fcd5176efd825d82943c1dafb74cfb5e712e2",
                "name" : "refs/remotes/origin/jax_timing"
              }
            ]
          }
        },
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 36,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "8369512fcc6487603491e12ac13376de2aec2a0b",
            "branch" : [
              {
                "SHA1" : "8369512fcc6487603491e12ac13376de2aec2a0b",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "8369512fcc6487603491e12ac13376de2aec2a0b",
            "branch" : [
              {
                "SHA1" : "8369512fcc6487603491e12ac13376de2aec2a0b",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "3045bd3a9835b5e8f57e41064be719147b6d1193",
        "branch" : [
          {
            "SHA1" : "3045bd3a9835b5e8f57e41064be719147b6d1193",
            "name" : "refs/remotes/origin/mixing_length_fix_2"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/larson-group/clubb.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.libs.LibrariesAction"
    },
    {
      
    },
    {
      "_class" : "hudson.tasks.junit.TestResultAction",
      "failCount" : 0,
      "skipCount" : 0,
      "totalCount" : 975,
      "urlName" : "testReport"
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.cps.EnvActionImpl"
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    },
    {
      "_class" : "org.jenkinsci.plugins.pipeline.modeldefinition.actions.RestartDeclarativePipelineAction"
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.job.views.FlowGraphAction"
    },
    {
      
    },
    {
      
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#41",
  "duration" : 7071688,
  "estimatedDuration" : 4666885,
  "executor" : None,
  "fullDisplayName" : "clubb_branch_jax #41",
  "id" : "41",
  "keepLog" : False,
  "number" : 41,
  "queueId" : 11507,
  "result" : "FAILURE",
  "timestamp" : 1792620425820,
  "url" : "https://carson.math.uwm.edu/jenkins/job/clubb_branch_jax/41/",
  "changeSets" : [
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "clubb_jax/src/CLUBB_core/parameter_indices.py",
            "input/parameter_and_flag_configs/e3sm_maint32/tunable_parameters.in",
            "input/parameter_and_flag_configs/coriolis_cases/atex_long_parameters.in",
            "clubb_jax/src/CLUBB_core/model_flags.py",
            "clubb_python_api/pytests/auto_llm_generated_pytests/test_python_port_api_coverage.py",
            "clubb_python_api/clubb_python/CLUBB_core/mixing_length.py",
            "input/flag_sets/run_bindiff_w_flags_config_core_flags.json",
            "input/parameter_and_flag_configs/coriolis_cases/coriolis_test_parameters.in",
            "src/CLUBB_core/mixing_length.F90",
            "tuner/pytests/test_parameter_ranges.py",
            "src/clubb_tuner.F90",
            "input/flag_sets/config_core_flags_wo_never_supported_jax_features.json",
            "input/parameter_and_flag_configs/Lscale/configurable_model_flags.in",
            "src/CLUBB_core/model_flags.F90",
            "clubb_python_driver/advance_clubb_core.py",
            "clubb_python_api/f2py_fortran_wrappers/mixing_length_wrapper.F90",
            "clubb_python_api/clubb_python/derived_types/config_flags_converter.py",
            "clubb_jax/tests/test_loss_driver.py",
            "clubb_python_driver/clubb_constants.py",
            "src/G_unit_test_types/pdf_parameter_tests.F90",
            "tests/run_jax_vs_fortran_cases.py",
            "src/SILHS/silhs_importance_sample_module.F90",
            "clubb_jax/pytests/auto_llm_generated_pytests/test_mixing_length.py",
            "src/CLUBB_core/parameters_tunable.F90",
            "clubb_jax/pytests/auto_llm_generated_pytests/test_param_names.py",
            "clubb_jax/tests/run_jax_timestep_gradient_test.py",
            "clubb_jax/src/CLUBB_core/mixing_length.py",
            "input/parameter_and_flag_configs/tauMatchLscale/configurable_model_flags.in",
            "input/parameter_and_flag_configs/e3sm_maint32/maint32_defaults_report.md",
            "src/CLUBB_core/clubb_api_module.F90",
            "clubb_jax/tests/benchmark_mixing_length.py",
            "utilities/clubb_settings_validation.py",
            "tests/run_python_vs_fortran_cases.py",
            "clubb_python_api/clubb_f2py.pyf",
            "clubb_jax/README.md",
            "input/parameter_and_flag_configs/tauMatchLscale/tunable_parameters.in",
            "clubb_python_api/pytests/auto_llm_generated_pytests/test_call_tree_advance_xm_wpxp.py",
            "input/parameter_and_flag_configs/e3sm_maint32/configurable_model_flags.in",
            "input/parameter_and_flag_configs/default/configurable_model_flags.in",
            "input/parameter_and_flag_configs/compatible_r8029/configurable_model_flags.in",
            "clubb_jax/src/CLUBB_core/parameters_tunable.py",
            "input/parameter_and_flag_configs/e3sm/configurable_model_flags.in",
            "tuner/pytests/test_adam_baselines.py",
            "input/flag_sets/run_bindiff_w_flags_config_host_flags.json",
            "clubb_jax/src/CLUBB_core/advance_clubb_core_module.py",
            "src/CLUBB_core/parameter_indices.F90",
            "clubb_python_api/pytests/auto_llm_generated_pytests/test_init_sequence.py",
            "input/parameter_and_flag_configs/e3sm/tunable_parameters.in",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_mixing_length_vs_fortran.py",
            "clubb_python_api/pytests/auto_llm_generated_pytests/test_call_tree_mixing_length.py",
            "src/G_unit_test_types/spurious_source_test.F90",
            "input/parameter_and_flag_configs/default/tunable_parameters.in",
            "src/CLUBB_core/numerical_check.F90",
            "clubb_jax/src/CLUBB_core/config_flags.py",
            "src/CLUBB_core/advance_clubb_core_module.F90",
            "input/parameter_and_flag_configs/coriolis_cases/ekman_parameters.in",
            "tests/pytests/test_run_clubb_conv_test.py",
            "src/clubb_driver.F90",
            "utilities/pytests/test_settings_rules.py",
            "clubb_jax/src/CLUBB_core/numerical_check.py",
            "input/parameter_and_flag_configs/Lscale/tunable_parameters.in",
            "input/parameter_and_flag_configs/compatible_r8029/tunable_parameters.in",
            "clubb_python_api/clubb_python/derived_types/config_flags.py",
            "clubb_python_api/f2py_fortran_wrappers/model_flags_wrapper.F90"
          ],
          "commitId" : "c3e58209f1f366289b7cca342cb8a62205ae84e7",
          "timestamp" : 1792604928000,
          "author" : {
            "absoluteUrl" : "https://carson.math.uwm.edu/jenkins/user/huebler",
            "fullName" : "Gunther Huebler"
          },
          "authorEmail" : "huebler@uwm.edu",
          "comment" : "Make legacy mixing length differentiable and migrate its selector\u000a\u000aThe value-dependent JAX parcel loops prevented reverse differentiation and\u000aserialized independent launches. Use fixed scans with masks, batched launch\u000alevels and per-column error state while preserving Fortran stopping rules.\u000aPort the remaining legacy/tau branches and use the configured method in\u000adriver derivative checks.\u000a\u000aReplace the logical tau switch with Lscale_method (1=legacy, 2=tau), and\u000arename mu to Lscale_mu_entrain throughout core, bindings, inputs and validation.\u000aKeep 102 tunable parameters; coherent physics is a separate follow-up.\u000a\u000aLocal GNU Debug/API build, source checks, 447 unit checks and 240 API checks\u000apass. Integrated Jenkins validation follows this checkpoint.\u000a",
          "date" : "2026-10-21 12:48:48 -0500",
          "id" : "c3e58209f1f366289b7cca342cb8a62205ae84e7",
          "msg" : "Make legacy mixing length differentiable and migrate its selector",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "src/clubb_tuner.F90"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/README.md"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/clubb_api_module.F90"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/mixing_length.F90"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/test_param_names.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_mixing_length_vs_fortran.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/pytests/auto_llm_generated_pytests/test_python_port_api_coverage.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/e3sm_maint32/maint32_defaults_report.md"
            },
            {
              "editType" : "edit",
              "file" : "tuner/pytests/test_parameter_ranges.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/pytests/auto_llm_generated_pytests/test_call_tree_mixing_length.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_driver/advance_clubb_core.py"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/advance_clubb_core_module.F90"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/tests/run_jax_timestep_gradient_test.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/f2py_fortran_wrappers/mixing_length_wrapper.F90"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/pytests/auto_llm_generated_pytests/test_call_tree_advance_xm_wpxp.py"
            },
            {
              "editType" : "edit",
              "file" : "src/G_unit_test_types/pdf_parameter_tests.F90"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/pytests/auto_llm_generated_pytests/test_init_sequence.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/Lscale/tunable_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "tests/pytests/test_run_clubb_conv_test.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/model_flags.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/coriolis_cases/coriolis_test_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/tauMatchLscale/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/advance_clubb_core_module.py"
            },
            {
              "editType" : "edit",
              "file" : "tests/run_jax_vs_fortran_cases.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_python/derived_types/config_flags_converter.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/e3sm/tunable_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/parameter_indices.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/parameters_tunable.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/tests/benchmark_mixing_length.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/e3sm/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/numerical_check.F90"
            },
            {
              "editType" : "edit",
              "file" : "utilities/clubb_settings_validation.py"
            },
            {
              "editType" : "edit",
              "file" : "input/flag_sets/run_bindiff_w_flags_config_core_flags.json"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/mixing_length.py"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/parameter_indices.F90"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/parameters_tunable.F90"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/model_flags.F90"
            },
            {
              "editType" : "edit",
              "file" : "tuner/pytests/test_adam_baselines.py"
            },
            {
              "editType" : "edit",
              "file" : "src/clubb_driver.F90"
            },
            {
              "editType" : "edit",
              "file" : "input/flag_sets/config_core_flags_wo_never_supported_jax_features.json"
            },
            {
              "editType" : "edit",
              "file" : "tests/run_python_vs_fortran_cases.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_f2py.pyf"
            },
            {
              "editType" : "edit",
              "file" : "utilities/pytests/test_settings_rules.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/default/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "input/flag_sets/run_bindiff_w_flags_config_host_flags.json"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/e3sm_maint32/tunable_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/tauMatchLscale/tunable_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/Lscale/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "src/G_unit_test_types/spurious_source_test.F90"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/compatible_r8029/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/numerical_check.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/compatible_r8029/tunable_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_python/derived_types/config_flags.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/config_flags.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/default/tunable_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/tests/test_loss_driver.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_python/CLUBB_core/mixing_length.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/coriolis_cases/ekman_parameters.in"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/test_mixing_length.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_driver/clubb_constants.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/f2py_fortran_wrappers/model_flags_wrapper.F90"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/coriolis_cases/atex_long_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "src/SILHS/silhs_importance_sample_module.F90"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/e3sm_maint32/configurable_model_flags.in"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "dash_app/pytests/test_run_runtime.py",
            "dash_app/misc_tab/mixing_length_trajectories/analysis.py",
            "dash_app/pytests/test_tune_callbacks_settings.py",
            "dash_app/pytests/test_callbacks_runs.py"
          ],
          "commitId" : "c35d6c46613a9fef38eef005d3c95b6f19eff2c2",
          "timestamp" : 1792604928000,
          "author" : {
            "absoluteUrl" : "https://carson.math.uwm.edu/jenkins/user/huebler",
            "fullName" : "Gunther Huebler"
          },
          "authorEmail" : "huebler@uwm.edu",
          "comment" : "Read renamed entrainment parameters in Dash trajectories\u000a\u000aSaved output now names parcel entrainment Lscale_mu_entrain. Prefer that\u000aparameter while retaining support for older files saved with mu. Update\u000aDash test settings to use the integer mixing-length selector.\u000a\u000aThe local Dash suite passes 552 checks.\u000a",
          "date" : "2026-10-21 12:48:48 -0500",
          "id" : "c35d6c46613a9fef38eef005d3c95b6f19eff2c2",
          "msg" : "Read renamed entrainment parameters in Dash trajectories",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "dash_app/pytests/test_tune_callbacks_settings.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/misc_tab/mixing_length_trajectories/analysis.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/pytests/test_run_runtime.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/pytests/test_callbacks_runs.py"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            ".agents/skills/clubb-finalization/SKILL.md",
            ".agents/skills/clubb-testing-and-reporting/SKILL.md"
          ],
          "commitId" : "6cc78c6532ba5d69fad302a171d83ff22497b3f5",
          "timestamp" : 1792604928000,
          "author" : {
            "absoluteUrl" : "https://carson.math.uwm.edu/jenkins/user/huebler",
            "fullName" : "Gunther Huebler"
          },
          "authorEmail" : "huebler@uwm.edu",
          "comment" : "Require completed tests before branch finalization\u000a\u000aRequests to finalize immediately still require applicable Jenkins jobs to\u000afinish and their results to be reviewed. Distinguish validation checkpoints\u000afrom a completed handoff, and report relevant stages of baseline-failing jobs.\u000a",
          "date" : "2026-10-21 12:48:48 -0500",
          "id" : "6cc78c6532ba5d69fad302a171d83ff22497b3f5",
          "msg" : "Require completed tests before branch finalization",
          "paths" : [
            {
              "editType" : "edit",
              "file" : ".agents/skills/clubb-testing-and-reporting/SKILL.md"
            },
            {
              "editType" : "edit",
              "file" : ".agents/skills/clubb-finalization/SKILL.md"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "clubb_jax/src/CLUBB_core/parameter_indices.py",
            "input/parameter_and_flag_configs/coriolis_cases/atex_long_parameters.in",
            "input/parameter_and_flag_configs/e3sm_maint32/tunable_parameters.in",
            "clubb_jax/src/CLUBB_core/model_flags.py",
            "clubb_python_api/pytests/auto_llm_generated_pytests/test_python_port_api_coverage.py",
            "clubb_python_api/clubb_python/CLUBB_core/mixing_length.py",
            "input/flag_sets/run_bindiff_w_flags_config_core_flags.json",
            "input/parameter_and_flag_configs/coriolis_cases/coriolis_test_parameters.in",
            "src/CLUBB_core/mixing_length.F90",
            "tuner/pytests/test_parameter_ranges.py",
            "src/clubb_tuner.F90",
            "input/flag_sets/config_core_flags_wo_never_supported_jax_features.json",
            "input/parameter_and_flag_configs/Lscale/configurable_model_flags.in",
            "src/CLUBB_core/model_flags.F90",
            "clubb_python_driver/advance_clubb_core.py",
            "clubb_python_api/clubb_python/derived_types/config_flags_converter.py",
            "clubb_python_api/f2py_fortran_wrappers/mixing_length_wrapper.F90",
            "clubb_jax/tests/test_loss_driver.py",
            "clubb_python_driver/clubb_constants.py",
            "src/G_unit_test_types/pdf_parameter_tests.F90",
            "src/SILHS/silhs_importance_sample_module.F90",
            "tests/run_jax_vs_fortran_cases.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/test_mixing_length.py",
            "src/CLUBB_core/parameters_tunable.F90",
            "clubb_jax/pytests/auto_llm_generated_pytests/test_param_names.py",
            "clubb_jax/tests/run_jax_timestep_gradient_test.py",
            "clubb_jax/src/CLUBB_core/mixing_length.py",
            "input/parameter_and_flag_configs/tauMatchLscale/configurable_model_flags.in",
            "input/parameter_and_flag_configs/e3sm_maint32/maint32_defaults_report.md",
            "src/CLUBB_core/clubb_api_module.F90",
            "utilities/clubb_settings_validation.py",
            "clubb_jax/tests/benchmark_mixing_length.py",
            "tests/run_python_vs_fortran_cases.py",
            "clubb_python_api/clubb_f2py.pyf",
            "clubb_jax/README.md",
            "input/parameter_and_flag_configs/tauMatchLscale/tunable_parameters.in",
            "dash_app/misc_tab/mixing_length_trajectories/analysis.py",
            "clubb_python_api/pytests/auto_llm_generated_pytests/test_call_tree_advance_xm_wpxp.py",
            "input/parameter_and_flag_configs/e3sm_maint32/configurable_model_flags.in",
            "input/parameter_and_flag_configs/default/configurable_model_flags.in",
            "dash_app/pytests/test_tune_callbacks_settings.py",
            "input/parameter_and_flag_configs/compatible_r8029/configurable_model_flags.in",
            "clubb_jax/src/CLUBB_core/parameters_tunable.py",
            "input/parameter_and_flag_configs/e3sm/configurable_model_flags.in",
            "tuner/pytests/test_adam_baselines.py",
            ".agents/skills/clubb-testing-and-reporting/SKILL.md",
            "input/flag_sets/run_bindiff_w_flags_config_host_flags.json",
            "clubb_jax/src/CLUBB_core/advance_clubb_core_module.py",
            "src/CLUBB_core/parameter_indices.F90",
            "clubb_python_api/pytests/auto_llm_generated_pytests/test_init_sequence.py",
            "input/parameter_and_flag_configs/e3sm/tunable_parameters.in",
            "dash_app/pytests/test_run_runtime.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_mixing_length_vs_fortran.py",
            "clubb_python_api/pytests/auto_llm_generated_pytests/test_call_tree_mixing_length.py",
            "src/G_unit_test_types/spurious_source_test.F90",
            "input/parameter_and_flag_configs/default/tunable_parameters.in",
            "src/CLUBB_core/numerical_check.F90",
            "clubb_jax/src/CLUBB_core/config_flags.py",
            "src/CLUBB_core/advance_clubb_core_module.F90",
            "input/parameter_and_flag_configs/coriolis_cases/ekman_parameters.in",
            "tests/pytests/test_run_clubb_conv_test.py",
            "src/clubb_driver.F90",
            "utilities/pytests/test_settings_rules.py",
            ".agents/skills/clubb-finalization/SKILL.md",
            "dash_app/pytests/test_callbacks_runs.py",
            "clubb_jax/src/CLUBB_core/numerical_check.py",
            "input/parameter_and_flag_configs/Lscale/tunable_parameters.in",
            "input/parameter_and_flag_configs/compatible_r8029/tunable_parameters.in",
            "clubb_python_api/clubb_python/derived_types/config_flags.py",
            "clubb_python_api/f2py_fortran_wrappers/model_flags_wrapper.F90"
          ],
          "commitId" : "dfa3b53697658b3f5f24cb5ae83c8e11fe0c0d65",
          "timestamp" : 1792614890000,
          "author" : {
            "absoluteUrl" : "https://carson.math.uwm.edu/jenkins/user/noreply",
            "fullName" : "noreply"
          },
          "authorEmail" : "noreply@github.com",
          "comment" : "Port differentiable legacy mixing length and migrate its selector (#1408)\u000a\u000a* Make legacy mixing length differentiable and migrate its selector\u000a\u000aThe value-dependent JAX parcel loops prevented reverse differentiation and\u000aserialized independent launches. Use fixed scans with masks, batched launch\u000alevels and per-column error state while preserving Fortran stopping rules.\u000aPort the remaining legacy/tau branches and use the configured method in\u000adriver derivative checks.\u000a\u000aReplace the logical tau switch with Lscale_method (1=legacy, 2=tau), and\u000arename mu to Lscale_mu_entrain throughout core, bindings, inputs and validation.\u000aKeep 102 tunable parameters; coherent physics is a separate follow-up.\u000a\u000aLocal GNU Debug/API build, source checks, 447 unit checks and 240 API checks\u000apass. Integrated Jenkins validation follows this checkpoint.\u000a\u000a* Read renamed entrainment parameters in Dash trajectories\u000a\u000aSaved output now names parcel entrainment Lscale_mu_entrain. Prefer that\u000aparameter while retaining support for older files saved with mu. Update\u000aDash test settings to use the integer mixing-length selector.\u000a\u000aThe local Dash suite passes 552 checks.\u000a\u000a* Require completed tests before branch finalization\u000a\u000aRequests to finalize immediately still require applicable Jenkins jobs to\u000afinish and their results to be reviewed. Distinguish validation checkpoints\u000afrom a completed handoff, and report relevant stages of baseline-failing jobs.\u000a",
          "date" : "2026-10-21 15:34:50 -0500",
          "id" : "dfa3b53697658b3f5f24cb5ae83c8e11fe0c0d65",
          "msg" : "Port differentiable legacy mixing length and migrate its selector (#1408)",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/coriolis_cases/coriolis_test_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : ".agents/skills/clubb-finalization/SKILL.md"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_f2py.pyf"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/pytests/auto_llm_generated_pytests/test_python_port_api_coverage.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/test_mixing_length.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/coriolis_cases/atex_long_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/mixing_length.py"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/clubb_api_module.F90"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/pytests/auto_llm_generated_pytests/test_call_tree_advance_xm_wpxp.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/e3sm_maint32/tunable_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/e3sm/tunable_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/mixing_length.F90"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/default/tunable_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/config_flags.py"
            },
            {
              "editType" : "edit",
              "file" : "tests/pytests/test_run_clubb_conv_test.py"
            },
            {
              "editType" : "edit",
              "file" : "tests/run_python_vs_fortran_cases.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/numerical_check.py"
            },
            {
              "editType" : "edit",
              "file" : "utilities/clubb_settings_validation.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_driver/advance_clubb_core.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/model_flags.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_python/derived_types/config_flags_converter.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_mixing_length_vs_fortran.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/e3sm/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/compatible_r8029/tunable_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/advance_clubb_core_module.py"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/parameters_tunable.F90"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/f2py_fortran_wrappers/mixing_length_wrapper.F90"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/README.md"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/compatible_r8029/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/e3sm_maint32/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "src/G_unit_test_types/pdf_parameter_tests.F90"
            },
            {
              "editType" : "edit",
              "file" : ".agents/skills/clubb-testing-and-reporting/SKILL.md"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_python/derived_types/config_flags.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/tauMatchLscale/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "src/SILHS/silhs_importance_sample_module.F90"
            },
            {
              "editType" : "edit",
              "file" : "src/clubb_tuner.F90"
            },
            {
              "editType" : "edit",
              "file" : "tuner/pytests/test_adam_baselines.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/tests/test_loss_driver.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/pytests/test_tune_callbacks_settings.py"
            },
            {
              "editType" : "edit",
              "file" : "utilities/pytests/test_settings_rules.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/parameters_tunable.py"
            },
            {
              "editType" : "edit",
              "file" : "input/flag_sets/config_core_flags_wo_never_supported_jax_features.json"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/tests/run_jax_timestep_gradient_test.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/f2py_fortran_wrappers/model_flags_wrapper.F90"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/tauMatchLscale/tunable_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/test_param_names.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/misc_tab/mixing_length_trajectories/analysis.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/tests/benchmark_mixing_length.py"
            },
            {
              "editType" : "edit",
              "file" : "input/flag_sets/run_bindiff_w_flags_config_host_flags.json"
            },
            {
              "editType" : "edit",
              "file" : "src/clubb_driver.F90"
            },
            {
              "editType" : "edit",
              "file" : "input/flag_sets/run_bindiff_w_flags_config_core_flags.json"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/parameter_indices.F90"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/Lscale/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "tests/run_jax_vs_fortran_cases.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/default/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/pytests/auto_llm_generated_pytests/test_call_tree_mixing_length.py"
            },
            {
              "editType" : "edit",
              "file" : "src/G_unit_test_types/spurious_source_test.F90"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/Lscale/tunable_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/advance_clubb_core_module.F90"
            },
            {
              "editType" : "edit",
              "file" : "tuner/pytests/test_parameter_ranges.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/e3sm_maint32/maint32_defaults_report.md"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/pytests/test_run_runtime.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/coriolis_cases/ekman_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/model_flags.F90"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_python/CLUBB_core/mixing_length.py"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/numerical_check.F90"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/pytests/auto_llm_generated_pytests/test_init_sequence.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/pytests/test_callbacks_runs.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/parameter_indices.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_driver/clubb_constants.py"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "README"
          ],
          "commitId" : "b2a6a9ceab12125d4a2542da4e20736039f3a744",
          "timestamp" : 1792615282000,
          "author" : {
            "absoluteUrl" : "https://carson.math.uwm.edu/jenkins/user/huebler",
            "fullName" : "Gunther Huebler"
          },
          "authorEmail" : "huebler@uwm.edu",
          "comment" : "The previous commit changed flags, which will now break the BFB tests even when the bit changing message is included, so now we need to have RESOLVED:dfa3b53697658b3f5f24cb5ae83c8e11fe0c0d65 messsages or enable temporary backwards compatibility.\u000a",
          "date" : "2026-10-21 15:41:22 -0500",
          "id" : "b2a6a9ceab12125d4a2542da4e20736039f3a744",
          "msg" : "The previous commit changed flags, which will now break the BFB tests even when the bit changing message is included, so now we need to have RESOLVED:dfa3b53697658b3f5f24cb5ae83c8e11fe0c0d65 messsages or enable temporary backwards compatibility.",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "README"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "input/parameter_and_flag_configs/Lscale/configurable_model_flags.in",
            "input/parameter_and_flag_configs/e3sm_maint32/configurable_model_flags.in",
            "input/parameter_and_flag_configs/compatible_r8029/configurable_model_flags.in",
            "input/parameter_and_flag_configs/default/configurable_model_flags.in",
            "input/parameter_and_flag_configs/e3sm/configurable_model_flags.in",
            "input/parameter_and_flag_configs/tauMatchLscale/configurable_model_flags.in"
          ],
          "commitId" : "ad4278602c33012277b039d69fff03a0c8d42557",
          "timestamp" : 1792615380000,
          "author" : {
            "absoluteUrl" : "https://carson.math.uwm.edu/jenkins/user/huebler",
            "fullName" : "Gunther Huebler"
          },
          "authorEmail" : "huebler@uwm.edu",
          "comment" : "Remove inline mixing-length selector comments\u000a\u000aRemove the method enumeration from the six model-flag namelists. Preserve selector values and existing assignment spacing.\u000a",
          "date" : "2026-10-21 15:43:00 -0500",
          "id" : "ad4278602c33012277b039d69fff03a0c8d42557",
          "msg" : "Remove inline mixing-length selector comments",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/Lscale/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/e3sm_maint32/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/default/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/compatible_r8029/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/e3sm/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/tauMatchLscale/configurable_model_flags.in"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "doc/figures/coherence_survival_distance.png",
            "doc/figures/coherence_work_barrier.png",
            "doc/coherence_mixing_length.md"
          ],
          "commitId" : "3045bd3a9835b5e8f57e41064be719147b6d1193",
          "timestamp" : 1792617435000,
          "author" : {
            "absoluteUrl" : "https://carson.math.uwm.edu/jenkins/user/huebler",
            "fullName" : "Gunther Huebler"
          },
          "authorEmail" : "huebler@uwm.edu",
          "comment" : "Clarify the coherent mixing-length method note\u000a\u000aThe probability and barrier notation was harder to follow than necessary. Apply the documentation review, remove stale launch-energy descriptions, and add sketches of the running barrier and expected travel distance.\u000a",
          "date" : "2026-10-21 16:17:15 -0500",
          "id" : "3045bd3a9835b5e8f57e41064be719147b6d1193",
          "msg" : "Clarify the coherent mixing-length method note",
          "paths" : [
            {
              "editType" : "add",
              "file" : "doc/figures/coherence_work_barrier.png"
            },
            {
              "editType" : "add",
              "file" : "doc/figures/coherence_survival_distance.png"
            },
            {
              "editType" : "edit",
              "file" : "doc/coherence_mixing_length.md"
            }
          ]
        }
      ],
      "kind" : "git"
    }
  ],
  "culprits" : [
    {
      "absoluteUrl" : "https://carson.math.uwm.edu/jenkins/user/huebler",
      "fullName" : "Gunther Huebler"
    },
    {
      "absoluteUrl" : "https://carson.math.uwm.edu/jenkins/user/noreply",
      "fullName" : "noreply"
    }
  ],
  "inProgress" : False,
  "nextBuild" : {
    "number" : 42,
    "url" : "https://carson.math.uwm.edu/jenkins/job/clubb_branch_jax/42/"
  },
  "previousBuild" : {
    "number" : 40,
    "url" : "https://carson.math.uwm.edu/jenkins/job/clubb_branch_jax/40/"
  }
}