D:\Metacept\Neurophos\Python_Test_Scripts\Free_Space_Optics\Lumenairy\validation\repro_traced_carrier_121\_d121_common.py:78: UserWarning: D:\Metacept\Neurophos\Python_Test_Scripts\Free_Space_Optics\Reverse_Symmetric_ASM\tx4designstudy121\20260707 dll Tx02-MSOP16.zmx: Zemax surface 9 is a DGRATING.  Its GEOMETRY is imported as the flat/conic surface it is, and its grating data (period 113.7656 um, design order -4, azimuth 0.0 deg) is attached at prescription['diffractives'] -- but NO diffraction is applied by apply_real_lens / apply_real_lens_traced, which propagate the surface as flat.  Run the orders explicitly: put {'doe': rx['diffractives'][k]} in propagate_traced_carrier_chain's groups list (its gap_before 51.5393 mm / gap_after 0.0000 mm are then bookkept for you -- give the group that FOLLOWS the last DOE entry gap_before=0, since gap_after already carries that leg), one order per congruence via propagate_traced_carrier_chain_multi.
  rx = la.load_zemax_zmx(ZMX)
D:\Metacept\Neurophos\Python_Test_Scripts\Free_Space_Optics\Lumenairy\validation\repro_traced_carrier_121\_d121_common.py:78: UserWarning: D:\Metacept\Neurophos\Python_Test_Scripts\Free_Space_Optics\Reverse_Symmetric_ASM\tx4designstudy121\20260707 dll Tx02-MSOP16.zmx: Zemax surface 11 is a DGRATING.  Its GEOMETRY is imported as the flat/conic surface it is, and its grating data (period 113.7656 um, design order -2, azimuth 270.0 deg) is attached at prescription['diffractives'] -- but NO diffraction is applied by apply_real_lens / apply_real_lens_traced, which propagate the surface as flat.  Run the orders explicitly: put {'doe': rx['diffractives'][k]} in propagate_traced_carrier_chain's groups list (its gap_before 0.0000 mm / gap_after 7.0000 mm are then bookkept for you -- give the group that FOLLOWS the last DOE entry gap_before=0, since gap_after already carries that leg), one order per congruence via propagate_traced_carrier_chain_multi.
  rx = la.load_zemax_zmx(ZMX)
=== approx ablation, order (-4, -2), sets ['d'] ===
   lib C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\elements\_lens_traced.py  sha256 957f00129f8b467c
   lib C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\propagators\carrier.py  sha256 2d30f1ed7beb3c7e
grid: RN=1024 dx=51.2334 um RS=4 NFC=12288 WF=4.0 NOUT=192 DXO=0.100 um
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\propagators\carrier.py:5827: RuntimeWarning: apply_real_lens_traced: the exit beam converges at NA_exit=0.0515, so the exit wavefront needs dx <= lambda/(2*NA_exit) = 12.71 um but the grid has dx = 51.23 um.  The beyond-Nyquist annulus of the exit phase ALIASES: far-halo energy lands at wrong radii, so r^2-weighted spot metrics (r2m / second moments) read low while EE50/EE80 stay plausible.  Use a finer grid (dx <= 12.71 um) for halo-faithful results, or pass on_undersample="silent" to suppress.
  E_exit = apply_real_lens_traced(
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\elements\_lens_traced.py:5067: RuntimeWarning: apply_real_lens_traced Newton inversion: 17575/65536 pixels (26.8%) did not converge to tol=5.123e-07 m within 12 iterations.  Affected pixels keep their last Newton value, which may carry residual error.  Increase newton_max_iters if this matters for your tolerance budget.
  return _invert_newton(Xw, Yw, sub_progress=sub_progress)
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\elements\_lens_traced.py:5153: RuntimeWarning: apply_real_lens_traced Newton inversion: 17575/65536 pixels (26.8%) did not converge to tol=5.123e-07 m within 12 iterations.  Affected pixels keep their last Newton value, which may carry residual error.  Increase newton_max_iters if this matters for your tolerance budget.
  opl_f, xe_g, ye_g = _invert_newton(Xg, Yg, _want_entrance=True)
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\elements\_lens_traced.py:5067: RuntimeWarning: apply_real_lens_traced Newton inversion: 15136/65536 pixels (23.1%) did not converge to tol=5.123e-07 m within 12 iterations.  Affected pixels keep their last Newton value, which may carry residual error.  Increase newton_max_iters if this matters for your tolerance budget.
  return _invert_newton(Xw, Yw, sub_progress=sub_progress)
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\elements\_lens_traced.py:5153: RuntimeWarning: apply_real_lens_traced Newton inversion: 15136/65536 pixels (23.1%) did not converge to tol=5.123e-07 m within 12 iterations.  Affected pixels keep their last Newton value, which may carry residual error.  Increase newton_max_iters if this matters for your tolerance budget.
  opl_f, xe_g, ye_g = _invert_newton(Xg, Yg, _want_entrance=True)
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\propagators\carrier.py:5827: RuntimeWarning: apply_real_lens_traced: the exit beam converges at NA_exit=0.0867, so the exit wavefront needs dx <= lambda/(2*NA_exit) = 7.55 um but the grid has dx = 51.23 um.  The beyond-Nyquist annulus of the exit phase ALIASES: far-halo energy lands at wrong radii, so r^2-weighted spot metrics (r2m / second moments) read low while EE50/EE80 stay plausible.  Use a finer grid (dx <= 7.55 um) for halo-faithful results, or pass on_undersample="silent" to suppress.
  E_exit = apply_real_lens_traced(
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\elements\_lens_traced.py:5067: RuntimeWarning: apply_real_lens_traced Newton inversion: 3527/65536 pixels (5.4%) did not converge to tol=5.123e-07 m within 12 iterations.  Affected pixels keep their last Newton value, which may carry residual error.  Increase newton_max_iters if this matters for your tolerance budget.
  return _invert_newton(Xw, Yw, sub_progress=sub_progress)
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\elements\_lens_traced.py:5153: RuntimeWarning: apply_real_lens_traced Newton inversion: 3527/65536 pixels (5.4%) did not converge to tol=5.123e-07 m within 12 iterations.  Affected pixels keep their last Newton value, which may carry residual error.  Increase newton_max_iters if this matters for your tolerance budget.
  opl_f, xe_g, ye_g = _invert_newton(Xg, Yg, _want_entrance=True)
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\propagators\carrier.py:5827: RuntimeWarning: apply_real_lens_traced: the exit beam converges at NA_exit=0.1672, so the exit wavefront needs dx <= lambda/(2*NA_exit) = 3.92 um but the grid has dx = 44.91 um.  The beyond-Nyquist annulus of the exit phase ALIASES: far-halo energy lands at wrong radii, so r^2-weighted spot metrics (r2m / second moments) read low while EE50/EE80 stay plausible.  Use a finer grid (dx <= 3.92 um) for halo-faithful results, or pass on_undersample="silent" to suppress.
  E_exit = apply_real_lens_traced(
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\elements\_lens_traced.py:5067: RuntimeWarning: apply_real_lens_traced Newton inversion: 1907/65536 pixels (2.9%) did not converge to tol=4.491e-07 m within 12 iterations.  Affected pixels keep their last Newton value, which may carry residual error.  Increase newton_max_iters if this matters for your tolerance budget.
  return _invert_newton(Xw, Yw, sub_progress=sub_progress)
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\elements\_lens_traced.py:5153: RuntimeWarning: apply_real_lens_traced Newton inversion: 1907/65536 pixels (2.9%) did not converge to tol=4.491e-07 m within 12 iterations.  Affected pixels keep their last Newton value, which may carry residual error.  Increase newton_max_iters if this matters for your tolerance budget.
  opl_f, xe_g, ye_g = _invert_newton(Xg, Yg, _want_entrance=True)
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\propagators\carrier.py:5827: RuntimeWarning: apply_real_lens_traced: the exit beam converges at NA_exit=0.3606, so the exit wavefront needs dx <= lambda/(2*NA_exit) = 1.82 um but the grid has dx = 38.43 um.  The beyond-Nyquist annulus of the exit phase ALIASES: far-halo energy lands at wrong radii, so r^2-weighted spot metrics (r2m / second moments) read low while EE50/EE80 stay plausible.  Use a finer grid (dx <= 1.82 um) for halo-faithful results, or pass on_undersample="silent" to suppress.
  E_exit = apply_real_lens_traced(
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\elements\_lens_traced.py:5067: RuntimeWarning: apply_real_lens_traced Newton inversion: 24634/65536 pixels (37.6%) did not converge to tol=3.843e-07 m within 12 iterations.  Affected pixels keep their last Newton value, which may carry residual error.  Increase newton_max_iters if this matters for your tolerance budget.
  return _invert_newton(Xw, Yw, sub_progress=sub_progress)
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\elements\_lens_traced.py:5153: RuntimeWarning: apply_real_lens_traced Newton inversion: 24634/65536 pixels (37.6%) did not converge to tol=3.843e-07 m within 12 iterations.  Affected pixels keep their last Newton value, which may carry residual error.  Increase newton_max_iters if this matters for your tolerance budget.
  opl_f, xe_g, ye_g = _invert_newton(Xg, Yg, _want_entrance=True)
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\propagators\carrier.py:4455: RuntimeWarning: apply_real_lens_traced: the exit beam converges at NA_exit=0.5393, so the exit wavefront needs dx <= lambda/(2*NA_exit) = 1.21 um but the grid has dx = 1.51 um.  The beyond-Nyquist annulus of the exit phase ALIASES: far-halo energy lands at wrong radii, so r^2-weighted spot metrics (r2m / second moments) read low while EE50/EE80 stay plausible.  Use a finer grid (dx <= 1.21 um) for halo-faithful results, or pass on_undersample="silent" to suppress.
  E_exit = apply_real_lens_traced(
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\elements\_lens_traced.py:5067: RuntimeWarning: apply_real_lens_traced Newton inversion: 7944/19600 pixels (40.5%) did not converge to tol=1.508e-08 m within 12 iterations.  Affected pixels keep their last Newton value, which may carry residual error.  Increase newton_max_iters if this matters for your tolerance budget.
  return _invert_newton(Xw, Yw, sub_progress=sub_progress)
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\elements\_lens_traced.py:5153: RuntimeWarning: apply_real_lens_traced Newton inversion: 7944/19600 pixels (40.5%) did not converge to tol=1.508e-08 m within 12 iterations.  Affected pixels keep their last Newton value, which may carry residual error.  Increase newton_max_iters if this matters for your tolerance budget.
  opl_f, xe_g, ye_g = _invert_newton(Xg, Yg, _want_entrance=True)
SAMPLING (baseline last group): na_par 0.4049  na_measured 0.5393  na_grid_nyquist 0.4343  exit power above nyquist 7.513e-04
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\elements\_lens_traced.py:5067: RuntimeWarning: apply_real_lens_traced Newton inversion: 8157/19881 pixels (41.0%) did not converge to tol=1.131e-08 m within 12 iterations.  Affected pixels keep their last Newton value, which may carry residual error.  Increase newton_max_iters if this matters for your tolerance budget.
  return _invert_newton(Xw, Yw, sub_progress=sub_progress)
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\elements\_lens_traced.py:5153: RuntimeWarning: apply_real_lens_traced Newton inversion: 8157/19881 pixels (41.0%) did not converge to tol=1.131e-08 m within 12 iterations.  Affected pixels keep their last Newton value, which may carry residual error.  Increase newton_max_iters if this matters for your tolerance budget.
  opl_f, xe_g, ye_g = _invert_newton(Xg, Yg, _want_entrance=True)
  done: n_fine_cap 12288 -> 16384               
  done: window_factor 4 -> 6                    
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\propagators\carrier.py:5827: RuntimeWarning: apply_real_lens_traced: the exit beam converges at NA_exit=0.3613, so the exit wavefront needs dx <= lambda/(2*NA_exit) = 1.81 um but the grid has dx = 38.43 um.  The beyond-Nyquist annulus of the exit phase ALIASES: far-halo energy lands at wrong radii, so r^2-weighted spot metrics (r2m / second moments) read low while EE50/EE80 stay plausible.  Use a finer grid (dx <= 1.81 um) for halo-faithful results, or pass on_undersample="silent" to suppress.
  E_exit = apply_real_lens_traced(
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\elements\_lens_traced.py:5067: RuntimeWarning: apply_real_lens_traced Newton inversion: 24635/65536 pixels (37.6%) did not converge to tol=3.843e-07 m within 12 iterations.  Affected pixels keep their last Newton value, which may carry residual error.  Increase newton_max_iters if this matters for your tolerance budget.
  return _invert_newton(Xw, Yw, sub_progress=sub_progress)
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\elements\_lens_traced.py:5153: RuntimeWarning: apply_real_lens_traced Newton inversion: 24635/65536 pixels (37.6%) did not converge to tol=3.843e-07 m within 12 iterations.  Affected pixels keep their last Newton value, which may carry residual error.  Increase newton_max_iters if this matters for your tolerance budget.
  opl_f, xe_g, ye_g = _invert_newton(Xg, Yg, _want_entrance=True)
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\propagators\carrier.py:4455: RuntimeWarning: apply_real_lens_traced: the exit beam converges at NA_exit=0.5389, so the exit wavefront needs dx <= lambda/(2*NA_exit) = 1.22 um but the grid has dx = 1.51 um.  The beyond-Nyquist annulus of the exit phase ALIASES: far-halo energy lands at wrong radii, so r^2-weighted spot metrics (r2m / second moments) read low while EE50/EE80 stay plausible.  Use a finer grid (dx <= 1.22 um) for halo-faithful results, or pass on_undersample="silent" to suppress.
  E_exit = apply_real_lens_traced(
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\elements\_lens_traced.py:5067: RuntimeWarning: apply_real_lens_traced Newton inversion: 7939/19600 pixels (40.5%) did not converge to tol=1.508e-08 m within 12 iterations.  Affected pixels keep their last Newton value, which may carry residual error.  Increase newton_max_iters if this matters for your tolerance budget.
  return _invert_newton(Xw, Yw, sub_progress=sub_progress)
C:\Users\Tesla\AppData\Local\Temp\claude\C--Users-Tesla\372a2d1f-acbe-4b57-a148-eeae3fe1d729\scratchpad\pin_d2e60ca\lumenairy\elements\_lens_traced.py:5153: RuntimeWarning: apply_real_lens_traced Newton inversion: 7939/19600 pixels (40.5%) did not converge to tol=1.508e-08 m within 12 iterations.  Affected pixels keep their last Newton value, which may carry residual error.  Increase newton_max_iters if this matters for your tolerance budget.
  opl_f, xe_g, ye_g = _invert_newton(Xg, Yg, _want_entrance=True)
  done: carrier_reference sphere -> parabola    
  done: Fresnel kernel -> exact kz              

variant                               EE3%    EE6%   EE12%   Ptile%      relL2  dphi_rms      s
-----------------------------------------------------------------------------------------------
BASELINE (shipping defaults)        72.501  92.278  95.636  95.6482  0.000e+00  0.00e+00    394
n_fine_cap 12288 -> 16384           72.516  92.297  95.655  95.6678  3.128e-04  1.70e-04    761
window_factor 4 -> 6                FAILED: RuntimeError: _fine_trace_group_exit: the EXACT high-NA final leg cannot be sampled for th
carrier_reference sphere -> parabola  42.350  76.844  87.739  87.8622  5.365e-01  1.88e-01    494
Fresnel kernel -> exact kz          72.501  92.278  95.636  95.6482  3.561e-07  3.11e-07    625

dEE3 (points) vs baseline:
  n_fine_cap 12288 -> 16384                 +0.0151  (dEE6  +0.0194, dPtile  +0.01957)
  carrier_reference sphere -> parabola     -30.1512  (dEE6 -15.4340, dPtile  -7.78598)
  Fresnel kernel -> exact kz                +0.0000  (dEE6  +0.0000, dPtile  +0.00001)
