{
  "_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/master"
        }
      ]
    },
    {
      "_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" : 8968595,
      "executingTimeMillis" : 5349748,
      "executorUtilization" : 0.6,
      "subTaskCount" : 1,
      "waitingDurationMillis" : 5677,
      "waitingTimeMillis" : 5677
    },
    {
      
    },
    {
      "_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" : 42,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b2a6a9ceab12125d4a2542da4e20736039f3a744",
            "branch" : [
              {
                "SHA1" : "b2a6a9ceab12125d4a2542da4e20736039f3a744",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b2a6a9ceab12125d4a2542da4e20736039f3a744",
            "branch" : [
              {
                "SHA1" : "b2a6a9ceab12125d4a2542da4e20736039f3a744",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "b2a6a9ceab12125d4a2542da4e20736039f3a744",
        "branch" : [
          {
            "SHA1" : "b2a6a9ceab12125d4a2542da4e20736039f3a744",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "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" : 967,
      "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" : "#42",
  "duration" : 8968595,
  "estimatedDuration" : 5414444,
  "executor" : None,
  "fullDisplayName" : "clubb_branch_jax #42",
  "id" : "42",
  "keepLog" : False,
  "number" : 42,
  "queueId" : 11520,
  "result" : "FAILURE",
  "timestamp" : 1792620428365,
  "url" : "https://carson.math.uwm.edu/jenkins/job/clubb_branch_jax/42/",
  "changeSets" : [
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "clubb_python_api/clubb_python/microphys.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_diagnose_correlations_vs_fortran.py",
            "clubb_python_api/clubb_python/clubb_api.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_clip_covar_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_adg2_driver_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_close_luhar_pdf_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_xpyp_term_ta_godunov_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_calc_comp_corrs_binormal_vs_fortran.py",
            "tests/README.md",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_calc_roots_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_calendar_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_compute_gamma_skw_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_calc_wp3_on_wp2_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_pdf_utilities_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_calc_ddzt_umvm_sqd_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_compute_sigma_sqd_w_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_fill_holes_mean_vs_fortran.py",
            "clubb_python_api/f2py_fortran_wrappers/interpolation_wrapper.F90",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_hydrostatic_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_pos_definite_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_Nc_Ncn_eqns_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_new_hybrid_pdf_main_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_luhar_params_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_limits_f_x_responder_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_remapping_ppm_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_mono_flux_limiter_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_interpolation_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_spurious_source_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_cloud_drop_sed_vs_fortran.py",
            "jenkins_tests/clubb_jax/Jenkinsfile",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_w_up_in_cloud_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_cos_solar_zen_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_sfc_varnce_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_ly93_pdf_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_sponge_damp_xp23_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_sunray_sw_vs_fortran.py",
            "clubb_python_api/clubb_f2py.pyf",
            ".agents/skills/clubb-pytests/SKILL.md",
            "clubb_python_api/f2py_fortran_wrappers/cloud_sed_module_wrapper.F90",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_diagnose_upxp_vs_fortran.py",
            "clubb_jax/README.md",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_mirror_lower_triangular_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_cholesky_factor_vs_fortran.py",
            "clubb_jax/src/CLUBB_core/advance_helper_module.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_binormal_moments_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_skx_func_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_new_pdf_main_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_calculate_thvm_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_pvertinterp_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_clip_variance_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_advance_helper_extras_vs_fortran.py",
            "clubb_python_api/f2py_fortran_wrappers/skx_module_wrapper.F90",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_cholesky_corr_mtx_approx_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_rcm_sat_adj_vs_fortran.py",
            "tests/run_pytests.sh",
            "clubb_jax/pytests/f2py_unit_test_helpers.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_T_in_K_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_setter_var_params_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/conftest.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_grid_operators_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_advance_xp3_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_diffusion_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_config_flags_complete_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_solver_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_smooth_heaviside_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_mixing_length_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_calculate_w_responder_params_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_remapping_module_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_saturation_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_new_tsdadg_pdf_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_clip_skewness_vs_fortran.py",
            "clubb_python_api/clubb_python/CLUBB_core/interpolation.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_mean_adv_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_luhar_3d_driver_vs_fortran.py",
            "clubb_jax/src/Radiation/BUGSrad/gases_ckd_data.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_responder_params_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_coefs_semiimpl_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_diagnose_xp3_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_xpyp_term_ta_pdf_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_param_names_vs_fortran.py",
            "clubb_python_api/clubb_python/CLUBB_core/skx_module.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_pdf_moment_integrals_vs_fortran.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_new_pdf_vs_fortran.py"
          ],
          "commitId" : "bb08268b3348ef71f7eec35eb0fb5ee4eb10197d",
          "timestamp" : 1792526227000,
          "author" : {
            "absoluteUrl" : "https://carson.math.uwm.edu/jenkins/user/noreply",
            "fullName" : "noreply"
          },
          "authorEmail" : "noreply@github.com",
          "comment" : "Restore jax fortran oracle tests (#1404)\u000a\u000aRestored clubb_jax vs clubb_f2py fortran bindings tests that compare the outputs of clubb_jax functions directly to their compiled fortran counterparts.\u000a\u000aclubb_jax changes are minimal:\u000a\u000aUse hardcoded pi that matches the pi used in fortran instead of jnp.pi\u000aremove the clubb_release hardcoded path from the gases_ckd_data.py parser.\u000a",
          "date" : "2026-10-20 14:57:07 -0500",
          "id" : "bb08268b3348ef71f7eec35eb0fb5ee4eb10197d",
          "msg" : "Restore jax fortran oracle tests (#1404)",
          "paths" : [
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_diagnose_correlations_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_close_luhar_pdf_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_coefs_semiimpl_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_advance_xp3_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_xpyp_term_ta_pdf_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_new_hybrid_pdf_main_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_sfc_varnce_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/f2py_unit_test_helpers.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_remapping_ppm_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_calc_comp_corrs_binormal_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_calendar_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_xpyp_term_ta_godunov_vs_fortran.py"
            },
            {
              "editType" : "edit",
              "file" : "tests/run_pytests.sh"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_sponge_damp_xp23_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_mirror_lower_triangular_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_luhar_params_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_cos_solar_zen_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_sunray_sw_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_ly93_pdf_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_calculate_thvm_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_fill_holes_mean_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_interpolation_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_pvertinterp_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_pdf_utilities_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_compute_gamma_skw_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_python_api/f2py_fortran_wrappers/cloud_sed_module_wrapper.F90"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_remapping_module_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_clip_covar_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_spurious_source_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_python_api/clubb_python/microphys.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_f2py.pyf"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_compute_sigma_sqd_w_vs_fortran.py"
            },
            {
              "editType" : "edit",
              "file" : "tests/README.md"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_pdf_moment_integrals_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_setter_var_params_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_adg2_driver_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_calculate_w_responder_params_vs_fortran.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/advance_helper_module.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_cholesky_corr_mtx_approx_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_limits_f_x_responder_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_diffusion_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_saturation_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_cholesky_factor_vs_fortran.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/README.md"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_mean_adv_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_clip_skewness_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_luhar_3d_driver_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_calc_ddzt_umvm_sqd_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_mixing_length_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_cloud_drop_sed_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_new_tsdadg_pdf_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_clip_variance_vs_fortran.py"
            },
            {
              "editType" : "edit",
              "file" : "jenkins_tests/clubb_jax/Jenkinsfile"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/conftest.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_config_flags_complete_vs_fortran.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_python/clubb_api.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_grid_operators_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_calc_wp3_on_wp2_vs_fortran.py"
            },
            {
              "editType" : "edit",
              "file" : ".agents/skills/clubb-pytests/SKILL.md"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_T_in_K_vs_fortran.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/f2py_fortran_wrappers/interpolation_wrapper.F90"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/f2py_fortran_wrappers/skx_module_wrapper.F90"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_pos_definite_vs_fortran.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_python/CLUBB_core/skx_module.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/Radiation/BUGSrad/gases_ckd_data.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_smooth_heaviside_vs_fortran.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_python/CLUBB_core/interpolation.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_new_pdf_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_w_up_in_cloud_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_responder_params_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_diagnose_upxp_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_hydrostatic_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_binormal_moments_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_calc_roots_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_solver_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_Nc_Ncn_eqns_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_new_pdf_main_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_rcm_sat_adj_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_advance_helper_extras_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_skx_func_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_mono_flux_limiter_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_param_names_vs_fortran.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_diagnose_xp3_vs_fortran.py"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "clubb_jax/src/CLUBB_core/fill_holes.py",
            ".agents/skills/clubb-documentation/language/SKILL.md",
            "clubb_jax/pytests/auto_llm_generated_pytests/test_multicolumn_microphys_adapters.py",
            "clubb_jax/src/Microphys/pdf_hydromet_microphys_wrapper.py",
            ".agents/skills/clubb-documentation/change-messages/SKILL.md"
          ],
          "commitId" : "82c8fdb39580f015d26f9cb021b8376696d96b7f",
          "timestamp" : 1792549343000,
          "author" : {
            "absoluteUrl" : "https://carson.math.uwm.edu/jenkins/user/noreply",
            "fullName" : "noreply"
          },
          "authorEmail" : "noreply@github.com",
          "comment" : "Fix per-column inputs in JAX microphysics (#1407)\u000a\u000a* Align JAX microphysics with per-column Fortran inputs\u000a\u000aPass each column’s parameters into PDF preparation and its own grid spacing into hydrometeor hole filling after the master multi-column fix. The previous scalar remapping disagreed with current Fortran from step 2.\u000a\u000aSix focused eager/JIT checks pass, covering column independence, conserved mass and derivatives. Both regressions detect the retained pre-fix adapters; full case comparisons are in progress.\u000a\u000a(cherry picked from commit 7fc8280d9ce3fe0ec51bf5e7f3cfd3a0e7c8838a)\u000a\u000a* Explain PR problems before describing their solutions\u000a\u000aChange-first PR openings make their motivation harder to follow. Use\u000aMotivation and Change to describe the problem first, then its cause and\u000athe proposed solution; align the language guidance with that order.\u000a\u000aBoth documentation skills validate, and relative-link checks pass.\u000a",
          "date" : "2026-10-20 21:22:23 -0500",
          "id" : "82c8fdb39580f015d26f9cb021b8376696d96b7f",
          "msg" : "Fix per-column inputs in JAX microphysics (#1407)",
          "paths" : [
            {
              "editType" : "edit",
              "file" : ".agents/skills/clubb-documentation/change-messages/SKILL.md"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/test_multicolumn_microphys_adapters.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/Microphys/pdf_hydromet_microphys_wrapper.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/fill_holes.py"
            },
            {
              "editType" : "edit",
              "file" : ".agents/skills/clubb-documentation/language/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",
            "tuner/pytests/test_parameter_ranges.py",
            "src/CLUBB_core/mixing_length.F90",
            "src/clubb_tuner.F90",
            "input/parameter_and_flag_configs/Lscale/configurable_model_flags.in",
            "input/flag_sets/config_core_flags_wo_never_supported_jax_features.json",
            "src/CLUBB_core/model_flags.F90",
            "clubb_python_api/clubb_python/derived_types/config_flags_converter.py",
            "clubb_python_driver/advance_clubb_core.py",
            "clubb_python_api/f2py_fortran_wrappers/mixing_length_wrapper.F90",
            "clubb_python_driver/clubb_constants.py",
            "clubb_jax/tests/test_loss_driver.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",
            "utilities/clubb_settings_validation.py",
            "clubb_jax/tests/benchmark_mixing_length.py",
            "src/CLUBB_core/clubb_api_module.F90",
            "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" : ".agents/skills/clubb-testing-and-reporting/SKILL.md"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/pytests/auto_llm_generated_pytests/test_call_tree_mixing_length.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_python/derived_types/config_flags_converter.py"
            },
            {
              "editType" : "edit",
              "file" : "src/SILHS/silhs_importance_sample_module.F90"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/pytests/test_tune_callbacks_settings.py"
            },
            {
              "editType" : "edit",
              "file" : "tuner/pytests/test_parameter_ranges.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_driver/advance_clubb_core.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/coriolis_cases/atex_long_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/parameters_tunable.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/Lscale/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/README.md"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_driver/clubb_constants.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/pytests/auto_llm_generated_pytests/test_call_tree_advance_xm_wpxp.py"
            },
            {
              "editType" : "edit",
              "file" : "tests/run_jax_vs_fortran_cases.py"
            },
            {
              "editType" : "edit",
              "file" : "tests/pytests/test_run_clubb_conv_test.py"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/numerical_check.F90"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/tauMatchLscale/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "utilities/clubb_settings_validation.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/pytests/auto_llm_generated_pytests/test_init_sequence.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/pytests/auto_llm_generated_pytests/test_python_port_api_coverage.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/numerical_check.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/default/tunable_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/mixing_length.F90"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/tests/benchmark_mixing_length.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/e3sm_maint32/tunable_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/tests/test_loss_driver.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/test_param_names.py"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/parameter_indices.F90"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/advance_clubb_core_module.F90"
            },
            {
              "editType" : "edit",
              "file" : "input/flag_sets/config_core_flags_wo_never_supported_jax_features.json"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/config_flags.py"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/clubb_api_module.F90"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/tauMatchLscale/tunable_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/mixing_length.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/Lscale/tunable_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/default/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_python/derived_types/config_flags.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/e3sm_maint32/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "src/clubb_tuner.F90"
            },
            {
              "editType" : "edit",
              "file" : "input/flag_sets/run_bindiff_w_flags_config_core_flags.json"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/e3sm/configurable_model_flags.in"
            },
            {
              "editType" : "edit",
              "file" : "tuner/pytests/test_adam_baselines.py"
            },
            {
              "editType" : "edit",
              "file" : "src/clubb_driver.F90"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/e3sm_maint32/maint32_defaults_report.md"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/parameters_tunable.F90"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/tests/run_jax_timestep_gradient_test.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_python/CLUBB_core/mixing_length.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/misc_tab/mixing_length_trajectories/analysis.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_f2py.pyf"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/model_flags.F90"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/test_mixing_length.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/coriolis_cases/coriolis_test_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "src/G_unit_test_types/spurious_source_test.F90"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/parameter_indices.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/advance_clubb_core_module.py"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/compatible_r8029/tunable_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/f2py_unit_tests/test_mixing_length_vs_fortran.py"
            },
            {
              "editType" : "edit",
              "file" : "tests/run_python_vs_fortran_cases.py"
            },
            {
              "editType" : "edit",
              "file" : "src/G_unit_test_types/pdf_parameter_tests.F90"
            },
            {
              "editType" : "edit",
              "file" : "utilities/pytests/test_settings_rules.py"
            },
            {
              "editType" : "edit",
              "file" : ".agents/skills/clubb-finalization/SKILL.md"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/model_flags.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/pytests/test_callbacks_runs.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/f2py_fortran_wrappers/mixing_length_wrapper.F90"
            },
            {
              "editType" : "edit",
              "file" : "input/flag_sets/run_bindiff_w_flags_config_host_flags.json"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/e3sm/tunable_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/coriolis_cases/ekman_parameters.in"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/pytests/test_run_runtime.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/f2py_fortran_wrappers/model_flags_wrapper.F90"
            },
            {
              "editType" : "edit",
              "file" : "input/parameter_and_flag_configs/compatible_r8029/configurable_model_flags.in"
            }
          ]
        },
        {
          "_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"
            }
          ]
        }
      ],
      "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" : None,
  "previousBuild" : {
    "number" : 41,
    "url" : "https://carson.math.uwm.edu/jenkins/job/clubb_branch_jax/41/"
  }
}