{
  "_class" : "org.jenkinsci.plugins.workflow.job.WorkflowRun",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.triggers.SCMTrigger$SCMTriggerCause",
          "shortDescription" : "Started by an SCM change"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "jenkins.metrics.impl.TimeInQueueAction",
      "blockedDurationMillis" : 0,
      "blockedTimeMillis" : 0,
      "buildableDurationMillis" : 0,
      "buildableTimeMillis" : 291061,
      "buildingDurationMillis" : 442021,
      "executingTimeMillis" : 149897,
      "executorUtilization" : 0.34,
      "subTaskCount" : 1,
      "waitingDurationMillis" : 5384,
      "waitingTimeMillis" : 5385
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.libs.LibrariesAction"
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 594,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "4292a70f53a6b6c4eab864fe27b8fd9af5d86909",
            "branch" : [
              {
                "SHA1" : "4292a70f53a6b6c4eab864fe27b8fd9af5d86909",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "4292a70f53a6b6c4eab864fe27b8fd9af5d86909",
            "branch" : [
              {
                "SHA1" : "4292a70f53a6b6c4eab864fe27b8fd9af5d86909",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "4292a70f53a6b6c4eab864fe27b8fd9af5d86909",
        "branch" : [
          {
            "SHA1" : "4292a70f53a6b6c4eab864fe27b8fd9af5d86909",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/larson-group/clubb.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_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" : "#594",
  "duration" : 442021,
  "estimatedDuration" : 110153,
  "executor" : None,
  "fullDisplayName" : "clubb_BFB_r8029_flags_gfortran_test #594",
  "id" : "594",
  "keepLog" : False,
  "number" : 594,
  "queueId" : 10409,
  "result" : "SUCCESS",
  "timestamp" : 1791880026668,
  "url" : "http://carson.math.uwm.edu/jenkins/job/clubb_BFB_r8029_flags_gfortran_test/594/",
  "changeSets" : [
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            ".agents/skills/clubb-change-messages/SKILL.md",
            "LLM_prompts/SHORTCUTS.md",
            "AGENTS.md",
            "LLM_prompts/change_messages.md"
          ],
          "commitId" : "fc9087d1a7a4a8f71c74f5763ece34f18328d200",
          "timestamp" : 1791830025000,
          "author" : {
            "absoluteUrl" : "http://carson.math.uwm.edu/jenkins/user/noreply",
            "fullName" : "noreply"
          },
          "authorEmail" : "noreply@github.com",
          "comment" : "Add CLUBB commit and PR writing guidance (#1391)\u000a\u000a* Add CLUBB commit and PR writing guidance\u000a\u000aAdd a canonical workflow and historical examples for writing specific titles\u000aand explaining purpose, motivation, results and testing. Scope BFB claims to\u000atheir comparisons and distinguish tolerance matches from bitwise equality.\u000aA thin repo skill, shortcut and AGENTS link make the workflow discoverable.\u000a\u000aThis addresses generated messages that bury the reason for a change or\u000aoverstate what testing establishes. Six historical PR/commit drafting pairs\u000apassed independent review. Skill format, 20 local links, canonical-text\u000aconsistency and git diff --check passed. BFB is not applicable to these\u000adocumentation-only changes.\u000a\u000a* Keep only the final commit and PR writing workflow\u000a\u000aRemove the worked historical examples and their references. The repository\u000ashould contain the final reusable guidance; the research and evaluation\u000aartifacts stay outside it. The shortcut and repo skill still point to one\u000acanonical workflow.\u000a\u000aSkill-format validation, all 19 local guidance links and git diff --check\u000apassed. BFB is not applicable to these documentation-only changes.\u000a",
          "date" : "2026-10-12 13:33:45 -0500",
          "id" : "fc9087d1a7a4a8f71c74f5763ece34f18328d200",
          "msg" : "Add CLUBB commit and PR writing guidance (#1391)",
          "paths" : [
            {
              "editType" : "add",
              "file" : ".agents/skills/clubb-change-messages/SKILL.md"
            },
            {
              "editType" : "edit",
              "file" : "AGENTS.md"
            },
            {
              "editType" : "add",
              "file" : "LLM_prompts/change_messages.md"
            },
            {
              "editType" : "edit",
              "file" : "LLM_prompts/SHORTCUTS.md"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "clubb_python_api/pytests/auto_llm_generated_pytests/test_advance_core_subs.py",
            "clubb_python_api/pytests/auto_llm_generated_pytests/test_call_tree_advance_xp2_xpyp.py",
            "clubb_jax/src/Benchmark_cases/cobra.py",
            "clubb_python_api/pytests/auto_llm_generated_pytests/test_call_tree_advance_wp2_wp3.py",
            "clubb_python_api/clubb_python/prescribe_forcings.py",
            "clubb_jax/src/CLUBB_core/advance_windm_edsclrm_module.py",
            "src/Benchmark_cases/time_dependent_input.F90",
            "clubb_python_api/clubb_python/CLUBB_core/parameters_tunable.py",
            "clubb_python_api/clubb_python/CLUBB_core/numerical_check.py",
            "src/CLUBB_core/advance_windm_edsclrm_module.F90",
            "clubb_jax/pytests/auto_llm_generated_pytests/test_driver_lifecycle.py",
            "clubb_python_driver/advance_clubb_core.py",
            "clubb_jax/src/Benchmark_cases/time_dependent_input.py",
            "utilities/pytests/auto_llm_generated_pytests/test_expldiff_settings_rules.py",
            "clubb_python_api/f2py_fortran_wrappers/advance_windm_edsclrm_module_wrapper.F90",
            "clubb_jax/src/CLUBB_core/advance_clubb_core_module.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/test_expldiff_edsclrm_forcing.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/test_pressure_coord_forcing.py",
            "clubb_python_api/pytests/auto_llm_generated_pytests/test_init_sequence.py",
            "clubb_python_api/clubb_python/CLUBB_core/advance_windm_edsclrm.py",
            "clubb_python_api/pytests/auto_llm_generated_pytests/test_call_tree_advance_windm_edsclrm.py",
            "clubb_jax/src/clubb_case_initalization.py",
            "clubb_jax/pytests/auto_llm_generated_pytests/test_windm_edsclrm_scalar_indices.py",
            "experimental/experimental_pdfs/python/dash_additions/misc_labs/sam_lscale.py",
            "src/CLUBB_core/numerical_check.F90",
            "clubb_python_api/clubb_python/derived_types/nu_vert_res_dep.py",
            "clubb_python_driver/advance_clubb_to_end.py",
            "clubb_python_driver/clubb_case_initalization.py",
            "src/CLUBB_core/advance_clubb_core_module.F90",
            "clubb_jax/pytests/auto_llm_generated_pytests/test_cobra_sfclyr.py",
            "clubb_jax/src/Benchmark_cases/prescribe_forcings.py",
            "clubb_python_api/pytests/auto_llm_generated_pytests/test_call_tree_advance_core.py",
            "src/clubb_driver.F90",
            "utilities/clubb_settings_validation.py",
            "tests/run_clubb_settings_validation_test.py",
            "src/Benchmark_cases/prescribe_forcings.F90",
            "clubb_jax/src/advance_clubb_to_end.py",
            "clubb_jax/src/CLUBB_core/numerical_check.py",
            "clubb_python_api/clubb_f2py.pyf",
            "src/Benchmark_cases/cobra.F90",
            "clubb_python_api/f2py_fortran_wrappers/numerical_check_wrapper.F90",
            "clubb_jax/pytests/auto_llm_generated_pytests/test_forcing_port_structure.py",
            "clubb_python_api/f2py_fortran_wrappers/prescribe_forcings_module_wrapper.F90",
            "clubb_jax/src/CLUBB_core/err_info_codes.py",
            "clubb_python_api/pytests/auto_llm_generated_pytests/test_call_tree_advance_xm_wpxp.py"
          ],
          "commitId" : "4292a70f53a6b6c4eab864fe27b8fd9af5d86909",
          "timestamp" : 1791843053000,
          "author" : {
            "absoluteUrl" : "http://carson.math.uwm.edu/jenkins/user/noreply",
            "fullName" : "noreply"
          },
          "authorEmail" : "noreply@github.com",
          "comment" : "Fix arm97+l do expldiff rtm thlm+set edsclrm f early (#1386)\u000a\u000a* Do not force the thlm/rtm copies in the expldiff eddy-scalar solve\u000a\u000aWith l_do_expldiff_rtm_thlm, advance_windm_edsclrm copies thlm into\u000aedsclrm(:,:,edsclr_dim-1) and rtm into edsclrm(:,:,edsclr_dim), advances all\u000aeddy scalars, and copies those two slots back into thlm and rtm. The solve\u000aadded edsclrm_forcing of each slot to the copies, but thlm and rtm are\u000aalready advanced with thlm_forcing and rtm_forcing in advance_xm_wpxp.\u000a\u000aIn the standalone driver the slots are filled by iiedsclr_thl/iiedsclr_rt:\u000a- arm_97 (iiedsclr_rt = 1, iiedsclr_thl = 2) put thlm_forcing [K/s] on rtm,\u000a  so rtm < 0 at ~5.5-8.8 km within the first steps (flag11 / expldiff).\u000a- With the slots in expldiff order, rtm_forcing was applied twice and arm_97\u000a  still hit rtm < 0 near 12 km after 1379 of 5580 steps.\u000a\u000aThe copies now get no forcing. Mirrored in the JAX port.\u000a\u000aOnly changes runs with l_do_expldiff_rtm_thlm = .true. and non-zero\u000aedsclrm_forcing in the last two eddy scalars, therefore BIT_CHANGING for\u000athose. Default runs are bit-for-bit identical (arm_97, 1076 variables).\u000a\u000aCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\u000a\u000a* not hardwire the thlm and rtm edsclrm variables to be the last two; instead use sclr_idx%iiedsclr_thlm and sclr_idx%iiedsclr_rtm\u000a\u000aPreviously l_do_expldiff_rtm_thlm = true forced the last slot to be rtm and the one before that to be thlm.\u000aIf in the ..._model.in file iiedsclr_rt     = 1 ! Location in the edsclrm array to place total water\u000aand iiedsclr_thl    = 2 ! Location in the edsclrm array to place a scalar like thetal\u000aa switcheroo happens.\u000aBut if we use a not hardcoded indexing we need to check for out of bounds and distinctness of the 2 indices.\u000a\u000a* Zero edsclrm_forcings early in apply_time_dependent_forcings_from_array\u000a\u000aCheck edsclrm_forcings != 0 instead of zeroing in advance_windm_edsclrm\u000aBIT_CHANGING for l_do_expldiff_rtm_thlm = .true. for arm_97 and for cobra.\u000a\u000aPython changes include: clubb_jax, clubb_python (+f2py) + tests\u000a\u000a* Check l_do_expldiff_rtm_thlm eddy scalars in check_clubb_settings_api\u000a\u000a1. Move the eddy-scalar checks into check_clubb_settings_api\u000a\u000acheck_clubb_settings_api now takes edsclr_dim and sclr_idx.\u000aWith l_do_expldiff_rtm_thlm = .true. it stops the run if\u000a- edsclr_dim <= 1, since the copies of thlm and rtm need two eddy\u000a  scalars, or\u000a- iiedsclr_thl and iiedsclr_rt are not distinct indices in\u000a  1:edsclr_dim.\u000aThe index check moved to check_clubb_settings_api from advance_windm_edsclrm.\u000aThe check that edsclrm_forcing is zero for the thlm/rtm copies stays in\u000aadvance_windm_edsclrm, because prescribe_forcings sets edsclrm_forcing\u000aevery time step, after the settings check has run.\u000a\u000aCallers in Fortran and mirrors (clubb-jax, python api) are updated\u000a\u000aBehavior change: l_do_expldiff_rtm_thlm = .true. with fewer than two\u000aeddy scalars used to skip explicit diffusion silently and now stops at\u000asetup. This affects flag sets that turn the flag on for every case,\u000ae.g. flag11 in input/flag_sets/run_bindiff_w_flags_config_core_flags.json.\u000aHost models must pass the new arguments; CAM must also set\u000asclr_idx%iiedsclr_thl/iiedsclr_rt when clubb_l_do_expldiff_rtm_thlm is\u000aon, since it leaves them at -1.\u000a\u000a2. Fix the Python API\u000a\u000a- calc_derived_params now requires nu_vert_res_dep and always pushes\u000a  it to the F2PY storage (new helper NuVertResDep.zeros(ngrdcol)).\u000a  Before, nu_vert_res_dep=None kept the previous call's stored arrays,\u000a  and calc_derived_params only allocates them when unallocated. So a\u000a  call with more columns than an earlier one in the same process wrote\u000a  out of bounds. This crashed the in-process Python API pytest suite\u000a  once the windm tests used two columns.\u000a- clubb_f2py.pyf was missing l_do_expldiff_rtm_thlm for\u000a  f2py_prescribe_forcings, so the Python driver failed on every case.\u000a\u000a3. Gate the JAX rerun settings check at debug level 0\u000a\u000aset_case_initial_conditions in the JAX driver now runs\u000acheck_clubb_settings at debug level >= 0, matching clubb_driver.F90\u000asince 9429ba2f1.\u000a\u000aAlso: put l_do_expldiff_rtm_thlm on its own line in the\u000atime_dependent_input/prescribe_forcings argument lists.\u000a\u000aBit-for-bit: default-flag output is unchanged, and arm_97 with\u000al_do_expldiff_rtm_thlm = .true. matches the previous commit exactly.\u000a\u000aTested: debug + Python build and source checks; settings parity test;\u000aPython API pytests (237 passed in one process); JAX pytests (791\u000apassed); utilities settings-rule pytests; python-vs-fortran and\u000ajax-vs-fortran bomex/atex; bomex and cobra with the flag stop at setup\u000ain the Fortran, Python and JAX drivers.\u000a\u000aCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\u000a\u000a* Do not apply surface fluxes to the expldiff thlm/rtm eddy-scalar copies\u000a\u000aWith l_do_expldiff_rtm_thlm, advance_windm_edsclrm copies thlm and rtm into\u000athe iiedsclr_thl and iiedsclr_rt eddy scalars, solves all eddy scalars with\u000atheir surface flux wpedsclrp(:,gr%k_lb_zm,:) (from wpedsclrp_sfc) and copies\u000athe two slots back. thlm and rtm already get wpthlp_sfc and wprtp_sfc in\u000aadvance_xm_wpxp, so a non-zero surface flux on the copies applies it twice.\u000a\u000aSame approach as the edsclrm_forcing fix:\u000a\u000a1. cobra_sfclyr (the only case that sets these fluxes) takes\u000a   l_do_expldiff_rtm_thlm and sets wpedsclrp_sfc of the thlm/rtm copies to\u000a   zero when it is on. set_sclr_sfc_rtm_thlm already zeroes all eddy-scalar\u000a   surface fluxes.\u000a2. advance_windm_edsclrm stops with a fatal error if the surface flux of\u000a   either copy is non-zero, after the edsclrm_forcing check.\u000a\u000aMirrored in the JAX port (new reason code\u000aERR_WINDM_EDSCLRM_SFC_FLUX_EXPLDIFF_COPY; marks the columns fatal without\u000areturning early, like the forcing check). No Python API wrapper changes.\u000aCAM zeroes all eddy-scalar surface fluxes, so it is unaffected.\u000a\u000aDefault cobra output is unchanged. But technically BIT_CHANGING for cobra + l_use_expldiff_rtm_thlm\u000a\u000a* Compute cobra's CO2 surface flux per column\u000a\u000acobra_sfclyr converted the CO2 surface flux with each column's surface\u000adensity inside the column loop, but stored it in the scalar CO2_flx2, and\u000athe later loops gave every column that one value:\u000a\u000a- CPU: every column got the last column's CO2 flux. Standalone columns\u000a  currently share one density profile, so results were unaffected.\u000a- OpenACC: the scalar was private to the device loop, and the later loops\u000a  copied the never-set host value (implicit firstprivate). In the GPU\u000a  build cobra's CO2 surface flux was 0 at every step.\u000a\u000aCO2_flx2 is now a per-column array (enter/exit data create/delete like\u000aother case routines). The JAX port already computes it per column.\u000a\u000aBit-for-bit: CPU cobra output is unchanged (1 and 2 columns, standard\u000astats incl. the CO2 scalars). GPU cobra output changes: before, the CO2\u000asurface flux was 0 and CO2 differed from the CPU run by up to 10%;\u000anow the CO2 scalars match the CPU run to ~1e-11 relative, like the other\u000afields.\u000a\u000aTested: gfortran debug build and source checks; standalone check of\u000acobra_sfclyr with two columns of different density (before: column 1 got\u000acolumn 2's flux); nvhpc 24.3 OpenACC build and cobra on a Quadro P4000.\u000a\u000aCo-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>\u000a\u000a* removed the idiot proofing\u000a\u000a* fully removed idiot proofing for l_do_expldiff_rtm_thlm+esclrdim\u000a\u000a---------\u000a\u000aCo-authored-by: Claude Opus 5.5 <noreply@anthropic.com>\u000a",
          "date" : "2026-10-12 17:10:53 -0500",
          "id" : "4292a70f53a6b6c4eab864fe27b8fd9af5d86909",
          "msg" : "Fix arm97+l do expldiff rtm thlm+set edsclrm f early (#1386)",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "clubb_python_api/pytests/auto_llm_generated_pytests/test_call_tree_advance_xp2_xpyp.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/test_windm_edsclrm_scalar_indices.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/advance_clubb_to_end.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/advance_clubb_core_module.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/Benchmark_cases/prescribe_forcings.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_driver/advance_clubb_core.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/pytests/auto_llm_generated_pytests/test_call_tree_advance_xm_wpxp.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/test_pressure_coord_forcing.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/numerical_check.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/err_info_codes.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_driver/clubb_case_initalization.py"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/advance_windm_edsclrm_module.F90"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/numerical_check.F90"
            },
            {
              "editType" : "edit",
              "file" : "src/Benchmark_cases/time_dependent_input.F90"
            },
            {
              "editType" : "edit",
              "file" : "experimental/experimental_pdfs/python/dash_additions/misc_labs/sam_lscale.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/pytests/auto_llm_generated_pytests/test_init_sequence.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/advance_windm_edsclrm_module.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_driver/advance_clubb_to_end.py"
            },
            {
              "editType" : "edit",
              "file" : "src/Benchmark_cases/cobra.F90"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_f2py.pyf"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_python/derived_types/nu_vert_res_dep.py"
            },
            {
              "editType" : "edit",
              "file" : "utilities/clubb_settings_validation.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_python/CLUBB_core/parameters_tunable.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_python/CLUBB_core/numerical_check.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/test_expldiff_edsclrm_forcing.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/f2py_fortran_wrappers/numerical_check_wrapper.F90"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_python/prescribe_forcings.py"
            },
            {
              "editType" : "add",
              "file" : "utilities/pytests/auto_llm_generated_pytests/test_expldiff_settings_rules.py"
            },
            {
              "editType" : "edit",
              "file" : "src/Benchmark_cases/prescribe_forcings.F90"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/Benchmark_cases/cobra.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/f2py_fortran_wrappers/prescribe_forcings_module_wrapper.F90"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/test_cobra_sfclyr.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/Benchmark_cases/time_dependent_input.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/pytests/auto_llm_generated_pytests/test_advance_core_subs.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/pytests/auto_llm_generated_pytests/test_call_tree_advance_core.py"
            },
            {
              "editType" : "edit",
              "file" : "src/clubb_driver.F90"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/test_driver_lifecycle.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/pytests/auto_llm_generated_pytests/test_call_tree_advance_wp2_wp3.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/pytests/auto_llm_generated_pytests/test_call_tree_advance_windm_edsclrm.py"
            },
            {
              "editType" : "edit",
              "file" : "src/CLUBB_core/advance_clubb_core_module.F90"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/clubb_python/CLUBB_core/advance_windm_edsclrm.py"
            },
            {
              "editType" : "edit",
              "file" : "tests/run_clubb_settings_validation_test.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/pytests/auto_llm_generated_pytests/test_forcing_port_structure.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_python_api/f2py_fortran_wrappers/advance_windm_edsclrm_module_wrapper.F90"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/clubb_case_initalization.py"
            }
          ]
        }
      ],
      "kind" : "git"
    }
  ],
  "culprits" : [
    {
      "absoluteUrl" : "http://carson.math.uwm.edu/jenkins/user/noreply",
      "fullName" : "noreply"
    }
  ],
  "inProgress" : False,
  "nextBuild" : {
    "number" : 595,
    "url" : "http://carson.math.uwm.edu/jenkins/job/clubb_BFB_r8029_flags_gfortran_test/595/"
  },
  "previousBuild" : {
    "number" : 593,
    "url" : "http://carson.math.uwm.edu/jenkins/job/clubb_BFB_r8029_flags_gfortran_test/593/"
  }
}