=== shear_diagnostic_v0.2 against CPUREF-0.3 ===
REF_PATH=/workspace/shear_diag/cpu_reference_v0.3.py
REF_SHA256=bba2a06a9f6517b32079ffff15e4060d8c3b7ed35f16ca134e1877226c9e4e1e
API_VERSION=CPUREF-0.3
U0=0.001 tau_c=0.8 tau_f=1.1 steps=32 nu=0.1 k=0.39269908169872414
nu*k^2=0.01542126  (analytic decay rate)
INIT: equilibrium of averaged velocity (NOT exact cell-avg of nonlinear feq)
UNITS: fit/report 'steps' are coarse steps; CPUREF tick = fine step count
  fit window coarse steps 4..32 = CPUREF ticks 8..64
  startup coarse steps 0..3 = CPUREF ticks 0..6
  nonmodal/e_IF/e_CB are unnormalised L2 sums over 256 coarse cells
  (per-cell RMS = value/16); nonmodal is already /U0
CONS_TOL=1e-12 relative to mass (~256) => abs ~2.560e-10

-- running C (uniform-coarse) phi0.0000
-- running B (uniform-fine) phi0.0000
-- running A (composite CPUREF) phi0.0000
-- running C (uniform-coarse) phi1.5708
-- running B (uniform-fine) phi1.5708
-- running A (composite CPUREF) phi1.5708
-- running A transpose phi=1.5707963267948966

=== HARD CHECKS ===
  finite[A_phi0.0000]=True cons=True mass_drift=5.969e-13 momx_drift=1.690e-13 momy_drift=2.753e-14 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|) init_rho_j_mismatch_vs_coarse_formula=1.110e-16
  finite[B_phi0.0000]=True cons=True mass_drift=7.105e-13 momx_drift=2.970e-15 momy_drift=3.553e-15 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|) 
  finite[C_phi0.0000]=True cons=True mass_drift=4.547e-13 momx_drift=4.607e-15 momy_drift=6.495e-15 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|) 
  finite[A_phi1.5708]=True cons=True mass_drift=8.242e-13 momx_drift=1.033e-13 momy_drift=9.015e-14 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|) init_rho_j_mismatch_vs_coarse_formula=1.110e-16
  finite[B_phi1.5708]=True cons=True mass_drift=6.821e-13 momx_drift=2.970e-15 momy_drift=3.553e-15 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|) 
  finite[C_phi1.5708]=True cons=True mass_drift=4.547e-13 momx_drift=4.607e-15 momy_drift=6.495e-15 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|) 
  finite[A_T_phi1.5708]=True cons=True mass_drift=7.105e-13 momx_drift=1.843e-14 momy_drift=6.062e-14 tol_abs=2.560e-10 (CONS_TOL*mass=1e-12*|256|) init_rho_j_mismatch_vs_coarse_formula=1.110e-16
  transpose_ok=True max_err=6.661e-16 (tol=1.000e-15)
  t0 amp A/B/C phi0.0000: 1.00000000e-03 1.00000000e-03 1.00000000e-03
  t0 max|ux A-B| patch=1.084e-19  |A-C| outside=2.168e-19  |B-C| all=6.245e-17
  t0_AB_patch_ok=True t0_AC_out_ok=True (T0_TOL=1.0e-15)  init_mismatch=1.110e-16 ok=True (INIT_TOL=1.0e-12)
  t0 amp A/B/C phi1.5708: 1.00000000e-03 1.00000000e-03 1.00000000e-03
  t0 max|ux A-B| patch=1.084e-19  |A-C| outside=2.168e-19  |B-C| all=6.245e-17
  t0_AB_patch_ok=True t0_AC_out_ok=True (T0_TOL=1.0e-15)  init_mismatch=1.110e-16 ok=True (INIT_TOL=1.0e-12)
  init_mismatch[A_T]=1.110e-16 ok=True (INIT_TOL=1.0e-12)
  N_BOOLEAN_HARD_CHECKS=22: cons_A_T_phi1.5708,cons_A_phi0.0000,cons_A_phi1.5708,cons_B_phi0.0000,cons_B_phi1.5708,cons_C_phi0.0000,cons_C_phi1.5708,finite_A_T_phi1.5708,finite_A_phi0.0000,finite_A_phi1.5708,finite_B_phi0.0000,finite_B_phi1.5708,finite_C_phi0.0000,finite_C_phi1.5708,init_mismatch_ok_A_T_phi1.5708,init_mismatch_ok_phi0.0000,init_mismatch_ok_phi1.5708,t0_AB_patch_ok_phi0.0000,t0_AB_patch_ok_phi1.5708,t0_AC_out_ok_phi0.0000,t0_AC_out_ok_phi1.5708,transpose_ok

=== DECAY FITS (coarse steps 4..32 = CPUREF ticks 8..64) ===
  analytic lambda = nu*k^2 = 0.01542126
  A phi0.0000: lambda=0.01585222 stderr=8.572e-08 R2=1.000000 A0=1.000000e-03 A32=5.987423e-04
  B phi0.0000: lambda=0.01539917 stderr=3.372e-15 R2=1.000000 A0=1.000000e-03 A32=6.117840e-04
  C phi0.0000: lambda=0.01554973 stderr=1.906e-08 R2=1.000000 A0=1.000000e-03 A32=6.029981e-04
  DIAG s=(lambda_A-lambda_B)/(lambda_C-lambda_B) phi0.0000: s=3.0090 (lambda_C-lambda_B)=1.505674e-04
  DIAG e_IF/e_CB step32 (unnorm L2/256cells): e_IF=1.482978e-04 e_IF_patch=7.933404e-05 e_IF_out=1.252931e-04 e_CB=9.876383e-05 ratio_IF/CB=1.5015
  DIAG per-cell RMS (uA-uB) step32 phi0.0000: patch=9.9168e-06 (64 cells) outside=9.0422e-06 (192 cells) ratio=1.097 patch_energy_frac=0.2862 (area frac 0.25)
  DIAG sensors step32: nonmodal(L2/U0)=2.2349e-02 max|uy|/U0=3.6890e-03 max|drho|=3.8401e-06
  DIAG (uA-uB)_xavg(y) step32 phi0.0000: -2.032e-06 -6.024e-06 -9.820e-06 -1.332e-05 -1.222e-05 -1.167e-05 -8.270e-06 -2.980e-06 2.980e-06 8.270e-06 1.167e-05 1.222e-05 1.332e-05 9.820e-06 6.024e-06 2.032e-06
  DIAG Pi_xy_mean step32 phi0.0000: B=-1.084202e-19 C=2.168404e-19 (composite=NaN; arrival_f proxy on uniforms)
  A phi1.5708: lambda=0.01584192 stderr=2.131e-07 R2=1.000000 A0=1.000000e-03 A32=5.989032e-04
  B phi1.5708: lambda=0.01539917 stderr=3.372e-15 R2=1.000000 A0=1.000000e-03 A32=6.117840e-04
  C phi1.5708: lambda=0.01554973 stderr=1.906e-08 R2=1.000000 A0=1.000000e-03 A32=6.029981e-04
  DIAG s=(lambda_A-lambda_B)/(lambda_C-lambda_B) phi1.5708: s=2.9406 (lambda_C-lambda_B)=1.505674e-04
  DIAG e_IF/e_CB step32 (unnorm L2/256cells): e_IF=1.550631e-04 e_IF_patch=9.195288e-05 e_IF_out=1.248568e-04 e_CB=9.876383e-05 ratio_IF/CB=1.5700
  DIAG per-cell RMS (uA-uB) step32 phi1.5708: patch=1.1494e-05 (64 cells) outside=9.0108e-06 (192 cells) ratio=1.276 patch_energy_frac=0.3517 (area frac 0.25)
  DIAG sensors step32: nonmodal(L2/U0)=5.5487e-02 max|uy|/U0=5.0221e-03 max|drho|=4.3542e-06
  DIAG (uA-uB)_xavg(y) step32 phi1.5708: -9.119e-06 -8.622e-06 -7.886e-06 -7.167e-06 -2.176e-06 6.314e-06 1.264e-05 1.601e-05 1.601e-05 1.264e-05 6.314e-06 -2.176e-06 -7.167e-06 -7.886e-06 -8.622e-06 -9.119e-06
  DIAG Pi_xy_mean step32 phi1.5708: B=-1.084202e-19 C=2.168404e-19 (composite=NaN; arrival_f proxy on uniforms)

=== PER-TICK AMPLITUDE (selected) ===
tick           A_p0           B_p0           C_p0          A_p90          B_p90          C_p90          exact
   0   1.000000e-03   1.000000e-03   1.000000e-03   1.000000e-03   1.000000e-03   1.000000e-03   1.000000e-03
   1   9.773722e-04   9.860853e-04   9.746265e-04   9.774280e-04   9.860853e-04   9.746265e-04   9.846970e-04
   2   9.636011e-04   9.710270e-04   9.617788e-04   9.635461e-04   9.710270e-04   9.617788e-04   9.696283e-04
   3   9.481499e-04   9.561886e-04   9.465229e-04   9.481500e-04   9.561886e-04   9.465229e-04   9.547901e-04
   4   9.332807e-04   9.415768e-04   9.319786e-04   9.332641e-04   9.415768e-04   9.319786e-04   9.401790e-04
   8   8.759254e-04   8.853290e-04   8.757728e-04   8.759360e-04   8.853290e-04   8.757728e-04   8.839365e-04
  12   8.221055e-04   8.324412e-04   8.229603e-04   8.221445e-04   8.324412e-04   8.229603e-04   8.310585e-04
  16   7.715978e-04   7.827129e-04   7.733326e-04   7.716635e-04   7.827129e-04   7.733326e-04   7.813437e-04
  20   7.241928e-04   7.359552e-04   7.266976e-04   7.242838e-04   7.359552e-04   7.266976e-04   7.346029e-04
  24   6.796981e-04   6.919908e-04   6.828749e-04   6.798155e-04   6.919908e-04   6.828749e-04   6.906582e-04
  28   6.379365e-04   6.506527e-04   6.416948e-04   6.380768e-04   6.506527e-04   6.416948e-04   6.493424e-04
  32   5.987423e-04   6.117840e-04   6.029981e-04   5.989032e-04   6.117840e-04   6.029981e-04   6.104980e-04

=== NUMERIC SUMMARY ===
ALL_HARD_CHECKS_PASS=True
runtime_sec=0.55
SUMMARY_LINES_BEGIN
FIT A phi0.0000 lambda=0.0158522189 stderr=8.571672e-08 R2=1.00000000 A0=1.0000000000e-03 A32=5.9874229183e-04
FIT B phi0.0000 lambda=0.0153991657 stderr=3.372428e-15 R2=1.00000000 A0=1.0000000000e-03 A32=6.1178402808e-04
FIT C phi0.0000 lambda=0.0155497331 stderr=1.906424e-08 R2=1.00000000 A0=1.0000000000e-03 A32=6.0299811110e-04
FIT A phi1.5708 lambda=0.0158419175 stderr=2.130663e-07 R2=1.00000000 A0=1.0000000000e-03 A32=5.9890316832e-04
FIT B phi1.5708 lambda=0.0153991657 stderr=3.372390e-15 R2=1.00000000 A0=1.0000000000e-03 A32=6.1178402808e-04
FIT C phi1.5708 lambda=0.0155497331 stderr=1.906424e-08 R2=1.00000000 A0=1.0000000000e-03 A32=6.0299811110e-04
TRANSPOSE err=6.661338e-16 ok=True
ANALYTIC lambda=0.0154212569
SUMMARY_LINES_END
