{
  "_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" : "org.jenkinsci.plugins.workflow.libs.LibrariesAction"
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 108,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "12407142b14155687d0d80b174796965d2793b12",
            "branch" : [
              {
                "SHA1" : "12407142b14155687d0d80b174796965d2793b12",
                "name" : "origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "12407142b14155687d0d80b174796965d2793b12",
            "branch" : [
              {
                "SHA1" : "12407142b14155687d0d80b174796965d2793b12",
                "name" : "origin/master"
              }
            ]
          }
        },
        "origin/grid_fixes" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 92,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "b19b67713baf175f99baa0cb0bdde6e8c1fbc588",
            "branch" : [
              {
                "SHA1" : "b19b67713baf175f99baa0cb0bdde6e8c1fbc588",
                "name" : "origin/grid_fixes"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b19b67713baf175f99baa0cb0bdde6e8c1fbc588",
            "branch" : [
              {
                "SHA1" : "b19b67713baf175f99baa0cb0bdde6e8c1fbc588",
                "name" : "origin/grid_fixes"
              }
            ]
          }
        },
        "origin/feeding_gr_to_host" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 87,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "b928767c7238139d599dc55420d2a0956161726a",
            "branch" : [
              {
                "SHA1" : "b928767c7238139d599dc55420d2a0956161726a",
                "name" : "origin/feeding_gr_to_host"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b928767c7238139d599dc55420d2a0956161726a",
            "branch" : [
              {
                "SHA1" : "b928767c7238139d599dc55420d2a0956161726a",
                "name" : "origin/feeding_gr_to_host"
              }
            ]
          }
        },
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 699,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "77b73e25b7c54c85e9714178efbd6dc893834dc5",
            "branch" : [
              {
                "SHA1" : "77b73e25b7c54c85e9714178efbd6dc893834dc5",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "77b73e25b7c54c85e9714178efbd6dc893834dc5",
            "branch" : [
              {
                "SHA1" : "77b73e25b7c54c85e9714178efbd6dc893834dc5",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "77b73e25b7c54c85e9714178efbd6dc893834dc5",
        "branch" : [
          {
            "SHA1" : "77b73e25b7c54c85e9714178efbd6dc893834dc5",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/larson-group/clubb.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      "_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" : null,
  "displayName" : "#699",
  "duration" : 198369,
  "estimatedDuration" : 753158,
  "executor" : null,
  "fullDisplayName" : "clubb_silhs_convergence_gfortran #699",
  "id" : "699",
  "keepLog" : false,
  "number" : 699,
  "queueId" : 8614,
  "result" : "SUCCESS",
  "timestamp" : 1789806366851,
  "url" : "http://carson.math.uwm.edu/jenkins/view/all/job/clubb_silhs_convergence_gfortran/699/",
  "changeSets" : [
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "dash_app/shared/broker.py",
            "dash_app/run_tab/tab.py",
            "dash_app/plot_tab/case_cache.py",
            "dash_app/shared/background.py",
            "dash_app/profile_tab/callbacks.py",
            "dash_app/shared/activity.py",
            "utilities/pytests/test_time_clubb.py",
            "dash_app/assets/14_tab_compile_theme.css",
            "dash_app/pytests/test_selected_build.py",
            "dash_app/compile_tab/callbacks.py",
            "dash_app/shared/actions.py",
            "dash_app/misc_tab/layout.py",
            "utilities/time_clubb.py",
            "dash_app/plot_tab/plot_types/custom_plot.py",
            "dash_app/shared/broker_protocol.py",
            "dash_app/tune_tab/tab.py",
            "dash_app/plot_tab/plot_types/pdf_contour_plot.py",
            "dash_app/pytests/test_pyplotgen_export.py",
            "dash_app/assets/37_workspace_persistence.js",
            "dash_app/plot_tab/plot_types/shared.py",
            "dash_app/persistence.py",
            "dash_app/plot_tab/tasks.py",
            "dash_app/assets/30_run_ui_resize.js",
            "dash_app/compile_tab/tab.py",
            "dash_app/assets/34_plot_chooser.js",
            "dash_app/plot_tab/callbacks_grid.py",
            "dash_app/shared/array_cache.py",
            "dash_app/pytests/test_output_discovery.py",
            "dash_app/plot_tab/tab.py",
            "dash_app/assets/32_plots_constant_param_rows.js",
            "utilities/timing_profiles.py",
            "dash_app/plot_tab/callbacks_pyplotgen.py",
            "dash_app/misc_tab/mixing_length_trajectories/analysis.py",
            "dash_app/plot_tab/plot_types/timeheight_plot.py",
            "dash_app/pytests/test_plot_tasks.py",
            "dash_app/assets/36_tune_ui_resize.js",
            "dash_app/pytests/test_profile_tab.py",
            "dash_app/plot_tab/state.py",
            "dash_app/pytests/test_plot_extraction.py",
            "dash_app/README.md",
            "dash_app/misc_tab/tab.py",
            "dash_app/pytests/test_pane_resize.py",
            "dash_app/plot_tab/plot_types/budget_plot.py",
            "dash_app/pytests/test_performance_polling.py",
            "dash_app/plot_tab/layout.py",
            "dash_app/plot_tab/async_callbacks.py",
            "dash_app/profile_tab/runtime.py",
            "dash_app/tutorial_tab/tab.py",
            "dash_app/assets/31_plots_ui_resize.js",
            "dash_app/lazy_tabs.py",
            "dash_app/plot_tab/callbacks_controls.py",
            "dash_app/plot_tab/callbacks_params.py",
            "dash_app/tutorial_tab/layout.py",
            "dash_app/app.py",
            "dash_app/assets/33_plot_tasks.js",
            "dash_app/plot_tab/pyplotgen_runtime.py",
            "dash_app/plot_tab/plot_types/profile_plot.py",
            "dash_app/pytests/test_plot_case_cache.py",
            "dash_app/profile_tab/tab.py",
            "dash_app/pytests/test_activity.py",
            "dash_app/services/profiles.py",
            "dash_app/plot_tab/plot_types/subcolumn_plot.py",
            "dash_app/tune_tab/callbacks_workspaces.py",
            "dash_app/pytests/test_param_disclosures.py",
            "dash_app/DEVELOPMENT.md",
            "dash_app/assets/12_tab_plots_theme.css",
            "dash_app/pytests/test_plot_grid_updates.py",
            "dash_app/shared/broker_client.py",
            "dash_app/reports_tab/tab.py",
            "dash_app/plot_tab/callbacks_case.py",
            "dash_app/plot_tab/plot_types/timeseries_plot.py",
            "dash_app/pytests/test_state_persistence.py",
            "dash_app/pytests/test_app_startup.py"
          ],
          "commitId" : "af35e5202409ab58c575e8d2841f59d31ba80c94",
          "timestamp" : 1789748367000,
          "author" : {
            "absoluteUrl" : "http://carson.math.uwm.edu/jenkins/user/noreply",
            "fullName" : "noreply"
          },
          "authorEmail" : "noreply@github.com",
          "comment" : "Dash Improvements (#1360)\u000a\u000a* Improve Dash plot responsiveness and bound data caches\u000a\u000a* Dash improvements, mainly for performance\u000a\u000a* Removing performance audit file that is no longer needed:\u000a",
          "date" : "2026-09-18 11:19:27 -0500",
          "id" : "af35e5202409ab58c575e8d2841f59d31ba80c94",
          "msg" : "Dash Improvements (#1360)",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "dash_app/compile_tab/tab.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/services/profiles.py"
            },
            {
              "editType" : "add",
              "file" : "dash_app/plot_tab/async_callbacks.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/assets/12_tab_plots_theme.css"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/shared/broker_client.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/run_tab/tab.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/shared/broker_protocol.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/shared/activity.py"
            },
            {
              "editType" : "add",
              "file" : "dash_app/plot_tab/case_cache.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/plot_tab/plot_types/timeseries_plot.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/profile_tab/callbacks.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/compile_tab/callbacks.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/assets/37_workspace_persistence.js"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/misc_tab/layout.py"
            },
            {
              "editType" : "add",
              "file" : "dash_app/pytests/test_plot_extraction.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/plot_tab/plot_types/budget_plot.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/tutorial_tab/layout.py"
            },
            {
              "editType" : "add",
              "file" : "dash_app/lazy_tabs.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/pytests/test_profile_tab.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/pytests/test_state_persistence.py"
            },
            {
              "editType" : "add",
              "file" : "dash_app/assets/33_plot_tasks.js"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/pytests/test_param_disclosures.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/pytests/test_plot_grid_updates.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/plot_tab/plot_types/shared.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/tutorial_tab/tab.py"
            },
            {
              "editType" : "add",
              "file" : "dash_app/assets/34_plot_chooser.js"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/misc_tab/mixing_length_trajectories/analysis.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/shared/actions.py"
            },
            {
              "editType" : "edit",
              "file" : "utilities/pytests/test_time_clubb.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/assets/31_plots_ui_resize.js"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/plot_tab/plot_types/timeheight_plot.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/tune_tab/callbacks_workspaces.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/persistence.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/plot_tab/callbacks_grid.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/app.py"
            },
            {
              "editType" : "add",
              "file" : "dash_app/plot_tab/tasks.py"
            },
            {
              "editType" : "add",
              "file" : "dash_app/pytests/test_pane_resize.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/plot_tab/pyplotgen_runtime.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/plot_tab/plot_types/profile_plot.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/assets/14_tab_compile_theme.css"
            },
            {
              "editType" : "add",
              "file" : "dash_app/pytests/test_performance_polling.py"
            },
            {
              "editType" : "add",
              "file" : "dash_app/pytests/test_plot_case_cache.py"
            },
            {
              "editType" : "edit",
              "file" : "utilities/time_clubb.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/pytests/test_output_discovery.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/plot_tab/callbacks_case.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/plot_tab/layout.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/plot_tab/callbacks_params.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/plot_tab/plot_types/subcolumn_plot.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/DEVELOPMENT.md"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/assets/36_tune_ui_resize.js"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/plot_tab/state.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/plot_tab/plot_types/custom_plot.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/profile_tab/tab.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/plot_tab/callbacks_pyplotgen.py"
            },
            {
              "editType" : "edit",
              "file" : "utilities/timing_profiles.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/assets/30_run_ui_resize.js"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/misc_tab/tab.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/pytests/test_selected_build.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/tune_tab/tab.py"
            },
            {
              "editType" : "delete",
              "file" : "dash_app/assets/32_plots_constant_param_rows.js"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/plot_tab/callbacks_controls.py"
            },
            {
              "editType" : "add",
              "file" : "dash_app/shared/array_cache.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/pytests/test_activity.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/reports_tab/tab.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/pytests/test_app_startup.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/shared/background.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/plot_tab/tab.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/pytests/test_pyplotgen_export.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/shared/broker.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/profile_tab/runtime.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/plot_tab/plot_types/pdf_contour_plot.py"
            },
            {
              "editType" : "edit",
              "file" : "dash_app/README.md"
            },
            {
              "editType" : "add",
              "file" : "dash_app/pytests/test_plot_tasks.py"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "tests/README"
          ],
          "commitId" : "5b5bf5f74f30e0332db965215e3de5e6baf72d6e",
          "timestamp" : 1789749148000,
          "author" : {
            "absoluteUrl" : "http://carson.math.uwm.edu/jenkins/user/huebler",
            "fullName" : "Gunther Huebler"
          },
          "authorEmail" : "huebler@uwm.edu",
          "comment" : "Improving README section for column mirror test\u000a",
          "date" : "2026-09-18 11:32:28 -0500",
          "id" : "5b5bf5f74f30e0332db965215e3de5e6baf72d6e",
          "msg" : "Improving README section for column mirror test",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "tests/README"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "clubb_jax/src/CLUBB_core/fill_holes.py",
            "clubb_jax/src/CLUBB_core/LY93_pdf.py",
            "clubb_jax/src/CLUBB_core/new_hybrid_pdf.py",
            "clubb_jax/src/CLUBB_core/new_hybrid_pdf_main.py",
            "clubb_jax/src/CLUBB_core/adg1_adg2_3d_luhar_pdf.py",
            "clubb_jax/tests/test_fill_holes_mean.py",
            "clubb_jax/src/CLUBB_core/mixing_length.py",
            "clubb_jax/tests/test_full_timestep_grad.py",
            "clubb_jax/src/CLUBB_core/setup_clubb_pdf_params.py",
            "clubb_jax/tests/test_fill_holes_global.py",
            "clubb_jax/tests/test_differentiability.py",
            "clubb_jax/tests/test_fill_holes_autodiff.py",
            "clubb_jax/src/CLUBB_core/new_pdf.py",
            "clubb_jax/tests/test_transform_pdf_chi_eta_component.py",
            "clubb_jax/tests/test_splatting_autodiff.py",
            "clubb_jax/src/CLUBB_core/pdf_closure_module.py",
            "clubb_jax/src/advance_clubb_to_end.py",
            "clubb_jax/src/CLUBB_core/new_tsdadg_pdf.py",
            "clubb_jax/src/CLUBB_core/pdf_utilities.py",
            "clubb_jax/tests/test_fill_holes_sliding_window.py",
            "clubb_jax/README.md",
            "clubb_jax/src/CLUBB_core/advance_helper_module.py",
            "clubb_jax/tests/test_numerics_autodiff.py"
          ],
          "commitId" : "77b73e25b7c54c85e9714178efbd6dc893834dc5",
          "timestamp" : 1789784882000,
          "author" : {
            "absoluteUrl" : "http://carson.math.uwm.edu/jenkins/user/noreply",
            "fullName" : "noreply"
          },
          "authorEmail" : "noreply@github.com",
          "comment" : "Making certain things differentiation safe, various parts had issues with sqrt or divisions that needed clipping for reverse mode calcualtions. Lot's of code sections seemed to already have worked around this with a safe_sqrt method (or some variation) that I standardized and put in advance_helper. (#1361)\u000a",
          "date" : "2026-09-18 21:28:02 -0500",
          "id" : "77b73e25b7c54c85e9714178efbd6dc893834dc5",
          "msg" : "Making certain things differentiation safe, various parts had issues with sqrt or divisions that needed clipping for reverse mode calcualtions. Lot's of code sections seemed to already have worked around this with a safe_sqrt method (or some variation) that I standardized and put in advance_helper. (#1361)",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "clubb_jax/tests/test_fill_holes_mean.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/tests/test_numerics_autodiff.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/adg1_adg2_3d_luhar_pdf.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/advance_helper_module.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/new_tsdadg_pdf.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/advance_clubb_to_end.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/tests/test_splatting_autodiff.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/new_hybrid_pdf.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/new_hybrid_pdf_main.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/LY93_pdf.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/mixing_length.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/pdf_closure_module.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/tests/test_differentiability.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/README.md"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/pdf_utilities.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/setup_clubb_pdf_params.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/fill_holes.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/tests/test_fill_holes_autodiff.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/tests/test_fill_holes_global.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/tests/test_transform_pdf_chi_eta_component.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/tests/test_fill_holes_sliding_window.py"
            },
            {
              "editType" : "edit",
              "file" : "clubb_jax/src/CLUBB_core/new_pdf.py"
            },
            {
              "editType" : "add",
              "file" : "clubb_jax/tests/test_full_timestep_grad.py"
            }
          ]
        }
      ],
      "kind" : "git"
    }
  ],
  "culprits" : [
    {
      "absoluteUrl" : "http://carson.math.uwm.edu/jenkins/user/noreply",
      "fullName" : "noreply"
    },
    {
      "absoluteUrl" : "http://carson.math.uwm.edu/jenkins/user/huebler",
      "fullName" : "Gunther Huebler"
    }
  ],
  "inProgress" : false,
  "nextBuild" : null,
  "previousBuild" : {
    "number" : 698,
    "url" : "http://carson.math.uwm.edu/jenkins/view/all/job/clubb_silhs_convergence_gfortran/698/"
  }
}