{
  "artifacts": {
    "amp1_grd": "/Users/aschmidt/Codex/dem/output/kilauea_year_e2e_pack_fast_stage2_20260428/stage4_like/amp1.grd",
    "amp2_grd": "/Users/aschmidt/Codex/dem/output/kilauea_year_e2e_pack_fast_stage2_20260428/stage4_like/amp2.grd",
    "amp_grd": "/Users/aschmidt/Codex/dem/output/kilauea_year_e2e_pack_fast_stage2_20260428/stage4_like/amp.grd",
    "corr_grd": "/Users/aschmidt/Codex/dem/output/kilauea_year_e2e_pack_fast_stage2_20260428/stage4_like/corr.grd",
    "imagfilt_grd": "/Users/aschmidt/Codex/dem/output/kilauea_year_e2e_pack_fast_stage2_20260428/stage4_like/imagfilt.grd",
    "mask_grd": "/Users/aschmidt/Codex/dem/output/kilauea_year_e2e_pack_fast_stage2_20260428/stage4_like/mask.grd",
    "phase_grd": "/Users/aschmidt/Codex/dem/output/kilauea_year_e2e_pack_fast_stage2_20260428/stage4_like/phase.grd",
    "realfilt_grd": "/Users/aschmidt/Codex/dem/output/kilauea_year_e2e_pack_fast_stage2_20260428/stage4_like/realfilt.grd",
    "stage4_page": "/Users/aschmidt/Codex/dem/output/kilauea_year_e2e_pack_fast_stage2_20260428/pages/stage4.html",
    "stage4_summary_json": "/Users/aschmidt/Codex/dem/output/kilauea_year_e2e_pack_fast_stage2_20260428/stage4_like/stage4_summary.json",
    "stage4_summary_markdown": "/Users/aschmidt/Codex/dem/output/kilauea_year_e2e_pack_fast_stage2_20260428/stage4_like/stage4_summary.md"
  },
  "contract": {
    "metadata": {
      "east": 17728.0,
      "grid_type": 0,
      "north": 6992.0,
      "nx": 2216,
      "ny": 3496,
      "registration": 1,
      "south": 0.0,
      "west": 0.0,
      "x_inc": 8.0,
      "y_inc": 2.0,
      "z_max": 3.251039615292939e-08,
      "z_min": -1.6088650056644838e-07
    },
    "output_shape": [
      3496,
      2216
    ],
    "raw_shape": [
      13520,
      24516
    ],
    "raw_source_paths": {
      "aligned_prm": "/Users/aschmidt/Codex/dem/output/kilauea_year_e2e_pack_fast_stage2_20260428/stage2_mlx/S1_20260225_043040_F2.PRM",
      "aligned_slc": "/Users/aschmidt/Codex/dem/output/kilauea_year_e2e_pack_fast_stage2_20260428/stage2_mlx/S1_20260225_043040_F2.SLC",
      "master_prm": "/Users/aschmidt/Codex/dem/output/kilauea_year_e2e_pack_fast_stage2_20260428/stage2_safe/S1_20250302_043051_F2.PRM",
      "master_slc": "/Users/aschmidt/Codex/dem/output/kilauea_year_e2e_pack_fast_stage2_20260428/stage2_safe/S1_20250302_043051_F2.SLC",
      "stage4_master_prm": "/Users/aschmidt/Codex/gmtsar/output/kilauea_gmtsar/2025-03-02_2026-02-25_s1a_track124/swaths/F2/SLC/S1_20250302_043051_F2.PRM",
      "stage4_repeat_prm": "/Users/aschmidt/Codex/gmtsar/output/kilauea_gmtsar/2025-03-02_2026-02-25_s1a_track124/swaths/F2/SLC/S1_20260225_043040_F2.PRM"
    },
    "source": "raw aligned stage-2 SLC window with stage-4 SLC PRM/LED geometry",
    "source_validation": {
      "master": {
        "available": true,
        "matches": true,
        "mismatch_row": null,
        "path": "/Users/aschmidt/Codex/gmtsar/output/kilauea_gmtsar/2025-03-02_2026-02-25_s1a_track124/swaths/F2/SLC/S1_20250302_043051_F2.SLC"
      },
      "repeat": {
        "available": true,
        "matches": false,
        "mismatch_row": 0,
        "path": "/Users/aschmidt/Codex/gmtsar/output/kilauea_gmtsar/2025-03-02_2026-02-25_s1a_track124/swaths/F2/SLC/S1_20260225_043040_F2.SLC"
      }
    },
    "stage4_shape": [
      6992,
      17732
    ],
    "subset_window": {
      "azimuth_end": 13519,
      "azimuth_start": 6528,
      "height": 6992,
      "range_end": 24515,
      "range_start": 6784,
      "region_cut": "6784/24515/6528/13519",
      "width": 17732
    }
  },
  "created_at_utc": "2026-04-29T19:47:13.169979+00:00",
  "diagnostics": {
    "amplitude": {
      "base_idec": 1,
      "base_jdec": 2,
      "filter2_shape": [
        11,
        21
      ],
      "gaussian": {
        "n_azi": 11,
        "n_rng": 21,
        "sig_azi": 2.6968045141550627,
        "sig_rng": 5.214742133389876
      },
      "idec": 2,
      "jdec": 4,
      "prefilter_name": "gauss5x5",
      "prefilter_shape": [
        5,
        5
      ],
      "product_diagnostics": {
        "amp1.grd": {
          "first_pass": {
            "backend": "mlx",
            "horizontal_filter": {
              "kernel_length": 5,
              "row_batch_shape": [
                6992,
                17732
              ],
              "total_seconds": 0.38867174996994436
            },
            "idec": 1,
            "input_shape": [
              6992,
              17732
            ],
            "jdec": 2,
            "kernel_shape": [
              5,
              5
            ],
            "sample_columns_before_vertical": true,
            "sampled_shape": [
              6992,
              8866
            ],
            "total_seconds": 0.7768413330195472,
            "vertical_filter": {
              "kernel_length": 5,
              "row_batch_shape": [
                8866,
                6992
              ],
              "total_seconds": 0.282409249979537
            }
          },
          "first_pass_shape": [
            6992,
            8866
          ],
          "second_pass": {
            "backend": "mlx",
            "horizontal_filter": {
              "kernel_length": 21,
              "row_batch_shape": [
                6992,
                8866
              ],
              "total_seconds": 0.058671124977990985
            },
            "idec": 2,
            "input_shape": [
              6992,
              8866
            ],
            "jdec": 4,
            "kernel_shape": [
              11,
              21
            ],
            "sample_columns_before_vertical": true,
            "sampled_shape": [
              3496,
              2216
            ],
            "total_seconds": 0.12598141701892018,
            "vertical_filter": {
              "kernel_length": 11,
              "row_batch_shape": [
                2216,
                6992
              ],
              "total_seconds": 0.046139499987475574
            }
          },
          "second_pass_shape": [
            3496,
            2216
          ],
          "timing_breakdown": {
            "first_pass_seconds": 0.889506125007756,
            "input_load_seconds": 1.2602382919867523,
            "second_pass_seconds": 0.14045104198157787,
            "total_seconds": 2.3292017079656944
          }
        },
        "amp2.grd": {
          "first_pass": {
            "backend": "mlx",
            "horizontal_filter": {
              "kernel_length": 5,
              "row_batch_shape": [
                6992,
                17732
              ],
              "total_seconds": 0.3589671250083484
            },
            "idec": 1,
            "input_shape": [
              6992,
              17732
            ],
            "jdec": 2,
            "kernel_shape": [
              5,
              5
            ],
            "sample_columns_before_vertical": true,
            "sampled_shape": [
              6992,
              8866
            ],
            "total_seconds": 0.5896669999929145,
            "vertical_filter": {
              "kernel_length": 5,
              "row_batch_shape": [
                8866,
                6992
              ],
              "total_seconds": 0.17363916704198346
            }
          },
          "first_pass_shape": [
            6992,
            8866
          ],
          "second_pass": {
            "backend": "mlx",
            "horizontal_filter": {
              "kernel_length": 21,
              "row_batch_shape": [
                6992,
                8866
              ],
              "total_seconds": 0.07461987499846146
            },
            "idec": 2,
            "input_shape": [
              6992,
              8866
            ],
            "jdec": 4,
            "kernel_shape": [
              11,
              21
            ],
            "sample_columns_before_vertical": true,
            "sampled_shape": [
              3496,
              2216
            ],
            "total_seconds": 0.13912062504095957,
            "vertical_filter": {
              "kernel_length": 11,
              "row_batch_shape": [
                2216,
                6992
              ],
              "total_seconds": 0.048647332994733006
            }
          },
          "second_pass_shape": [
            3496,
            2216
          ],
          "timing_breakdown": {
            "first_pass_seconds": 0.6808822079910897,
            "input_load_seconds": 2.0471207079826854,
            "second_pass_seconds": 0.14745237497845665,
            "total_seconds": 2.892165999975987
          }
        }
      }
    },
    "corr_mask": {
      "convolution": {
        "anormax": 16.0,
        "effective_ibuff": 512,
        "ibuff": 512,
        "input_shape": [
          3496,
          2216
        ],
        "kernel_shape": [
          3,
          3
        ],
        "normalized": true,
        "rnormax": 16.0
      },
      "input_shape": [
        3496,
        2216
      ],
      "mask_nan_count": 0,
      "mask_valid_count": 7747136,
      "positive_product_count": 7747136,
      "threshold": 4.999999841327613e-21,
      "total_seconds": 0.5275515830144286
    },
    "filtered_interferogram": {
      "base_idec": 1,
      "base_jdec": 2,
      "baseline": {
        "B_offset_center": 6.368461033826952,
        "B_offset_end": 6.28059642873425,
        "B_offset_start": 6.456893239727747,
        "alpha_center": -5.274364236578165,
        "alpha_end": -5.293846139472772,
        "alpha_start": -5.255620237100888,
        "baseline_center": 37.95536265415272,
        "baseline_end": 37.317138025006976,
        "baseline_start": 38.591409023448904
      },
      "baseline_seconds": 0.12989424995612353,
      "filter2_shape": [
        11,
        21
      ],
      "first_pass_imag_filter": {
        "backend": "mlx",
        "horizontal_filter": {
          "kernel_length": 5,
          "row_batch_shape": [
            6992,
            17732
          ],
          "total_seconds": 0.07498600002145395
        },
        "idec": 1,
        "input_shape": [
          6992,
          17732
        ],
        "jdec": 2,
        "kernel_shape": [
          5,
          5
        ],
        "sample_columns_before_vertical": true,
        "sampled_shape": [
          6992,
          8866
        ],
        "total_seconds": 0.18573079095222056,
        "vertical_filter": {
          "kernel_length": 5,
          "row_batch_shape": [
            8866,
            6992
          ],
          "total_seconds": 0.04303383297519758
        }
      },
      "first_pass_real_filter": {
        "backend": "mlx",
        "horizontal_filter": {
          "kernel_length": 5,
          "row_batch_shape": [
            6992,
            17732
          ],
          "total_seconds": 0.11586283298674971
        },
        "idec": 1,
        "input_shape": [
          6992,
          17732
        ],
        "jdec": 2,
        "kernel_shape": [
          5,
          5
        ],
        "sample_columns_before_vertical": true,
        "sampled_shape": [
          6992,
          8866
        ],
        "total_seconds": 0.24764766596490517,
        "vertical_filter": {
          "kernel_length": 5,
          "row_batch_shape": [
            8866,
            6992
          ],
          "total_seconds": 0.048885875032283366
        }
      },
      "gaussian": {
        "n_azi": 11,
        "n_rng": 21,
        "sig_azi": 2.6968045141550627,
        "sig_rng": 5.214742133389876
      },
      "idec": 2,
      "jdec": 4,
      "materialization": {
        "batch_rows": 128,
        "col_count": 17732,
        "parallel_workers": 6,
        "row_count": 6992,
        "source_bytes": 991857152,
        "storage": "memory",
        "total_seconds": 1.0040771249914542
      },
      "prefilter_name": "gauss5x5",
      "prefilter_shape": [
        5,
        5
      ],
      "reader_timing": {
        "geometry_seconds": 0.16316490073036213,
        "phase_apply_seconds": 0.1144137384901916,
        "row_total_seconds": 1.0040085419896059,
        "slc_read_seconds": 0.7006498975025088,
        "topo_lookup_seconds": 0.02578000526654329
      },
      "second_pass_imag_filter": {
        "backend": "mlx",
        "horizontal_filter": {
          "kernel_length": 21,
          "row_batch_shape": [
            6992,
            8866
          ],
          "total_seconds": 0.03979995800182223
        },
        "idec": 2,
        "input_shape": [
          6992,
          8866
        ],
        "jdec": 4,
        "kernel_shape": [
          11,
          21
        ],
        "sample_columns_before_vertical": true,
        "sampled_shape": [
          3496,
          2216
        ],
        "total_seconds": 0.06632287503452972,
        "vertical_filter": {
          "kernel_length": 11,
          "row_batch_shape": [
            2216,
            6992
          ],
          "total_seconds": 0.011195665982086211
        }
      },
      "second_pass_real_filter": {
        "backend": "mlx",
        "horizontal_filter": {
          "kernel_length": 21,
          "row_batch_shape": [
            6992,
            8866
          ],
          "total_seconds": 0.051431541971396655
        },
        "idec": 2,
        "input_shape": [
          6992,
          8866
        ],
        "jdec": 4,
        "kernel_shape": [
          11,
          21
        ],
        "sample_columns_before_vertical": true,
        "sampled_shape": [
          3496,
          2216
        ],
        "total_seconds": 0.08694220799952745,
        "vertical_filter": {
          "kernel_length": 11,
          "row_batch_shape": [
            2216,
            6992
          ],
          "total_seconds": 0.017277250008191913
        }
      },
      "timing_breakdown": {
        "first_pass_seconds": 0.5764877500478178,
        "materialization_seconds": 1.0043338750256225,
        "second_pass_seconds": 0.17300670902477577
      }
    },
    "source_validation_seconds": 0.8340603749966249,
    "timings": {
      "amplitude_seconds": 5.221478834049776,
      "corr_mask_seconds": 0.5284489169716835,
      "filtered_interferogram_seconds": 2.3006930419942364,
      "grid_write_seconds": 0.49664733302779496,
      "phase_seconds": 0.033307625039014965,
      "total_seconds": 10.826338250015397
    }
  },
  "mode": "gmtsar_stage4_like_from_raw_stage2",
  "oracle_dir": "/Users/aschmidt/Codex/gmtsar/output/kilauea_gmtsar/2025-03-02_2026-02-25_s1a_track124/swaths/F2/intf/2025060_2026055",
  "parity": {
    "gate": {
      "max_abs_rad_lte_5e_5": false,
      "mean_abs_rad_lte_1e_6": false
    },
    "oracle_dir": "/Users/aschmidt/Codex/gmtsar/output/kilauea_gmtsar/2025-03-02_2026-02-25_s1a_track124/swaths/F2/intf/2025060_2026055",
    "passed": false,
    "products": {
      "amp.grd": {
        "both_nan_count": 0,
        "candidate_digest": "9b76054213af63c7a1b0bc6c37d106aa8b662fb2d1a43fcfd09aedc86b035cb5",
        "count": 7747136,
        "digest_match": false,
        "max_abs": 5.34903676907561e-09,
        "mean_abs": 2.457861171534237e-12,
        "nan_mismatch_count": 0,
        "oracle_digest": "ddc1d79ea667eb1c7bc3b6d865595c37854a31b94cfbfb7743eba39ab0ec9c63",
        "p95_abs": 1.0887249435320712e-11,
        "rmse": 7.427066774090552e-12,
        "shape_match": true,
        "total": 7747136
      },
      "amp1.grd": {
        "both_nan_count": 0,
        "candidate_digest": "1708f0238461ce5ea9df6061233585533f2bd9b8115427301ec981c8be4e3ae6",
        "count": 7747136,
        "digest_match": true,
        "max_abs": 0.0,
        "mean_abs": 0.0,
        "nan_mismatch_count": 0,
        "oracle_digest": "1708f0238461ce5ea9df6061233585533f2bd9b8115427301ec981c8be4e3ae6",
        "p95_abs": 0.0,
        "rmse": 0.0,
        "shape_match": true,
        "total": 7747136
      },
      "amp2.grd": {
        "both_nan_count": 0,
        "candidate_digest": "92c9da238a52ec02a910190c9cb0d0edf67c431868ac51a9f3f7f28499e560ad",
        "count": 7747136,
        "digest_match": false,
        "max_abs": 3.1161464519868787e-09,
        "mean_abs": 1.6423806759036097e-11,
        "nan_mismatch_count": 0,
        "oracle_digest": "5498a70273dd358a59e747ce0057ee3e9459334b568cbe37118081e9a9c12e8f",
        "p95_abs": 4.7756465448856034e-11,
        "rmse": 2.926833081451363e-11,
        "shape_match": true,
        "total": 7747136
      },
      "corr.grd": {
        "both_nan_count": 0,
        "candidate_digest": "57906d75f792eb9b5cf1fd739b25a242ced877da005dc556e47b43a45ebf8085",
        "count": 7747136,
        "digest_match": false,
        "max_abs": 0.06137511134147644,
        "mean_abs": 0.0005475769867189229,
        "nan_mismatch_count": 0,
        "oracle_digest": "121740c7994565855be1d6ae0e1612b618b71e4fd8aab6fe5765b1f9b903a285",
        "p95_abs": 0.002479076385498047,
        "rmse": 0.0010780524462461472,
        "shape_match": true,
        "total": 7747136
      },
      "imagfilt.grd": {
        "both_nan_count": 0,
        "candidate_digest": "90942268ed3cec9af4dc9d2cfd9cb622259587e8a267809131229c5035627cb6",
        "count": 7747136,
        "digest_match": false,
        "max_abs": 5.348944398519961e-09,
        "mean_abs": 4.1359199051682616e-12,
        "nan_mismatch_count": 0,
        "oracle_digest": "f9fc1f37602c52f3c4038fc704a90fe64fd0e72f83f09a073d5ae037a67d78ba",
        "p95_abs": 2.0372044329253214e-11,
        "rmse": 1.1084224683932664e-11,
        "shape_match": true,
        "total": 7747136
      },
      "mask.grd": {
        "both_nan_count": 0,
        "candidate_digest": "e32e9cbae68c42368a28fd2a69e9c12b96359b76d7995f03f25c97d2050978e3",
        "count": 7747136,
        "digest_match": true,
        "max_abs": 0.0,
        "mean_abs": 0.0,
        "nan_mismatch_count": 0,
        "oracle_digest": "e32e9cbae68c42368a28fd2a69e9c12b96359b76d7995f03f25c97d2050978e3",
        "p95_abs": 0.0,
        "rmse": 0.0,
        "shape_match": true,
        "total": 7747136
      },
      "phase.grd": {
        "candidate_digest": "515cf37df28f5b07da73948295c8f1ba256b8c2a41fb6f50f7c44ce7529b5fd5",
        "count": 7747136,
        "digest_match": false,
        "finite_fraction": 1.0,
        "label": "stage4_like_vs_gmtsar_phase",
        "max_abs_rad": 3.118969440460205,
        "mean_abs_rad": 0.006313641555607319,
        "mean_signed_rad": -1.3948746527603362e-05,
        "median_abs_rad": 0.0033843517303466797,
        "oracle_digest": "6d14d9d75fc92bf410f2c121de86a107091c4f394fcbac107271a786b00e059e",
        "p95_abs_rad": 0.019514210522174835,
        "p99_abs_rad": 0.04032016173005104,
        "resultant_length": 0.9998680949211121,
        "rmse_rad": 0.017429670318961143,
        "shape_match": true,
        "total": 7747136
      },
      "realfilt.grd": {
        "both_nan_count": 0,
        "candidate_digest": "31d78fc0d0a10b76a59a5cafd25ade522567ad73064994debde091a9b97d0fc3",
        "count": 7747136,
        "digest_match": false,
        "max_abs": 6.791003315242961e-10,
        "mean_abs": 4.124844129455019e-12,
        "nan_mismatch_count": 0,
        "oracle_digest": "1d10e4fb7b695975e396d6eaa228da0661958fb3c6810e91120b6ef4849fd1b6",
        "p95_abs": 2.0324741889510278e-11,
        "rmse": 9.974831724490762e-12,
        "shape_match": true,
        "total": 7747136
      }
    }
  },
  "scene_name": "kilauea_year_e2e_pack_fast_stage2_20260428",
  "stage4_dir": "/Users/aschmidt/Codex/dem/output/kilauea_year_e2e_pack_fast_stage2_20260428/stage4_like",
  "topo_grid": "/Users/aschmidt/Codex/gmtsar/output/kilauea_gmtsar/2025-03-02_2026-02-25_s1a_track124/swaths/F2/topo/topo_ra.grd"
}
