   lib _lens_traced.py  sha256 40945a11341ff6ef
   RN=1024 ray_subsample=2  post-DOE groups only, final_distance=0 final_leg='paraxial' (no readout stage)
   guard band at ray_subsample=2: [0.9100, 1.0500]

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)
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)
=== order (0, 0)  config ship (C5=True, C6=True, GUARD=False)  [31s] ===
 grp    dx/um   ap/mm       clip         P_in        P_out      elem leg_after-1  ENG  FLD  NYQ      chain P
------------------------------------------------------------------------------------------------------------
   0   51.234  29.969  1.087e-09 6.829035e-08 6.828249e-08  0.999885  -2.22e-16    0    0    0 6.828249e-08
   1   51.234  30.733  2.811e-12 6.828249e-08 6.827934e-08  0.999954   0.00e+00    0    0    0 6.827934e-08
   2   51.235  31.502  6.840e-13 6.827934e-08 6.827281e-08  0.999904   2.22e-16    0    0    1 6.827281e-08
   3   44.912  31.766  3.112e-11 6.827281e-08 6.826528e-08  0.999890   0.00e+00    0    0    1 6.826528e-08
   4   38.432  27.176  5.099e-13 6.826528e-08 6.825565e-08  0.999859   2.22e-16    0    0    1 6.825565e-08
   5   33.211  20.397  3.538e-10 6.825565e-08 6.850792e-08  1.003696        nan    0    0    1 6.850792e-08
  END TO END  P_out(last)/P_in(first) = 1.003186
    = prod(elem) 1.003186 x prod(1-clip) 1.000000 x prod(leg) 1.000000  [check 1.003186]
    aperture-clipped (legitimate) total: 1.476e-09
    HALO at last-group exit (about traced exit chief +0.0000,+0.0000 mm): g1 2.410e-01 g2 8.182e-03 g4 4.495e-03 g8 0.000e+00
        amax4 9.777e-01  r_rms 0.9477 mm  core 0.6199 mm
    [chain warn x2] apply_real_lens_traced Newton inversion: 69423/262144 pixels (26.5%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 60543/262144 pixels (23.1%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 20454/262144 pixels (7.8%) did not converge to tol=5.123e-07 m within
    [chain warn x2] apply_real_lens_traced Newton inversion: 55415/262144 pixels (21.1%) did not converge to tol=3.843e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 240279/262144 pixels (91.7%) did not converge to tol=3.321e-07 m with
    [chain warn x1] _sphere_parab_conversion: the cos^2 taper ONSET 0.75*r_safe=5.397 mm (band-limit radius r_safe=7.196 mm = (|R|

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)
=== order (0, 0)  config shipG (C5=True, C6=True, GUARD=True)  [33s] ===
 grp    dx/um   ap/mm       clip         P_in        P_out      elem leg_after-1  ENG  FLD  NYQ      chain P
------------------------------------------------------------------------------------------------------------
   0   51.234  29.969  1.087e-09 6.829035e-08 6.828249e-08  0.999885  -2.22e-16    0    0    0 6.828249e-08
   1   51.234  30.733  2.857e-12 6.828249e-08 6.827934e-08  0.999954   0.00e+00    0    0    0 6.827934e-08
   2   51.235  31.502  6.983e-13 6.827934e-08 6.827281e-08  0.999904   2.22e-16    0    0    1 6.827281e-08
   3   44.912  31.766  3.054e-11 6.827281e-08 6.826527e-08  0.999890   4.44e-16    0    0    1 6.826527e-08
   4   38.432  27.176  4.710e-13 6.826527e-08 6.825565e-08  0.999859   4.44e-16    0    0    1 6.825565e-08
   5   33.211  20.397  3.478e-10 6.825565e-08 6.820100e-08  0.999199        nan    0    0    1 6.820100e-08
  END TO END  P_out(last)/P_in(first) = 0.998692
    = prod(elem) 0.998692 x prod(1-clip) 1.000000 x prod(leg) 1.000000  [check 0.998692]
    aperture-clipped (legitimate) total: 1.469e-09
    HALO at last-group exit (about traced exit chief +0.0000,+0.0000 mm): g1 2.365e-01 g2 3.655e-03 g4 0.000e+00 g8 0.000e+00
        amax4 0.000e+00  r_rms 0.8363 mm  core 0.6200 mm
    [chain warn x2] apply_real_lens_traced Newton inversion: 68028/262144 pixels (26.0%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 44671/262144 pixels (17.0%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 14194/262144 pixels (5.4%) did not converge to tol=5.123e-07 m within
    [chain warn x2] apply_real_lens_traced Newton inversion: 8747/262144 pixels (3.3%) did not converge to tol=4.491e-07 m within 
    [chain warn x2] apply_real_lens_traced Newton inversion: 96803/262144 pixels (36.9%) did not converge to tol=3.843e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 204900/262144 pixels (78.2%) did not converge to tol=3.321e-07 m with

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)
=== order (0, 0)  config noC6 (C5=True, C6=False, GUARD=False)  [16s] ===
 grp    dx/um   ap/mm       clip         P_in        P_out      elem leg_after-1  ENG  FLD  NYQ      chain P
------------------------------------------------------------------------------------------------------------
   0   51.234  29.969  1.087e-09 6.829035e-08 6.828249e-08  0.999885   0.00e+00    0    0    0 6.828249e-08
   1   51.234  30.733  2.998e-12 6.828249e-08 6.827934e-08  0.999954   0.00e+00    0    0    0 6.827934e-08
   2   51.235  31.502  7.396e-13 6.827934e-08 6.827281e-08  0.999904   0.00e+00    0    0    1 6.827281e-08
   3   44.912  31.766  3.123e-11 6.827281e-08 6.826524e-08  0.999889   4.44e-16    0    0    1 6.826524e-08
   4   38.432  27.176  1.259e-12 6.826524e-08 6.825556e-08  0.999858   4.44e-16    0    0    1 6.825556e-08
   5   33.211  20.397  3.015e-10 6.825556e-08 6.820021e-08  0.999189        nan    0    0    1 6.820021e-08
  END TO END  P_out(last)/P_in(first) = 0.998680
    = prod(elem) 0.998680 x prod(1-clip) 1.000000 x prod(leg) 1.000000  [check 0.998680]
    aperture-clipped (legitimate) total: 1.425e-09
    HALO at last-group exit (about traced exit chief +0.0000,+0.0000 mm): g1 2.387e-01 g2 4.215e-03 g4 4.559e-11 g8 0.000e+00
        amax4 1.469e-05  r_rms 0.8403 mm  core 0.6196 mm
    [chain warn x2] apply_real_lens_traced Newton inversion: 20398/262144 pixels (7.8%) did not converge to tol=5.123e-07 m within
    [chain warn x2] apply_real_lens_traced Newton inversion: 7030/262144 pixels (2.7%) did not converge to tol=4.491e-07 m within 
    [chain warn x2] apply_real_lens_traced Newton inversion: 76671/262144 pixels (29.2%) did not converge to tol=3.843e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 214775/262144 pixels (81.9%) did not converge to tol=3.321e-07 m with
    [chain warn x1] _sphere_parab_conversion: the cos^2 taper ONSET 0.75*r_safe=5.397 mm (band-limit radius r_safe=7.196 mm = (|R|
    [chain warn x1] _sphere_parab_conversion: the cos^2 taper ONSET 0.75*r_safe=1.969 mm (band-limit radius r_safe=2.625 mm = (|R|

  IDENTITY ship vs shipG: all stages array_equal=False  max|dE|=1.734e-01  per-stage [XXXXXX]
  IDENTITY ship vs noC6: all stages array_equal=False  max|dE|=1.734e-01  per-stage [XXXXXX]
  IDENTITY shipG vs noC6: all stages array_equal=False  max|dE|=2.589e-02  per-stage [XXXXXX]

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)
=== order (-1, 0)  config ship (C5=True, C6=True, GUARD=False)  [50s] ===
 grp    dx/um   ap/mm       clip         P_in        P_out      elem leg_after-1  ENG  FLD  NYQ      chain P
------------------------------------------------------------------------------------------------------------
   0   51.234  29.969  3.012e-09 6.829035e-08 6.828318e-08  0.999895   6.66e-16    0    0    0 6.828318e-08
   1   51.234  30.733  9.620e-11 6.828318e-08 6.827828e-08  0.999928   6.66e-16    0    0    0 6.827828e-08
   2   51.235  31.502  3.606e-11 6.827828e-08 6.827175e-08  0.999904   8.88e-16    0    0    1 6.827175e-08
   3   44.912  31.766  7.876e-10 6.827175e-08 6.826420e-08  0.999889   1.11e-15    0    0    1 6.826420e-08
   4   38.432  27.176  6.971e-10 6.826420e-08 6.825463e-08  0.999860   8.88e-16    0    0    1 6.825463e-08
   5   33.211  20.397  7.639e-09 6.825463e-08 6.819828e-08  0.999174        nan    0    0    1 6.819828e-08
  END TO END  P_out(last)/P_in(first) = 0.998652
    = prod(elem) 0.998652 x prod(1-clip) 1.000000 x prod(leg) 1.000000  [check 0.998652]
    aperture-clipped (legitimate) total: 1.227e-08
    HALO at last-group exit (about traced exit chief -0.4799,+0.0000 mm): g1 2.378e-01 g2 3.701e-03 g4 3.952e-10 g8 0.000e+00
        amax4 9.710e-05  r_rms 0.8362 mm  core 0.6192 mm
    [chain warn x2] apply_real_lens_traced Newton inversion: 69862/262144 pixels (26.7%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 60543/262144 pixels (23.1%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 14210/262144 pixels (5.4%) did not converge to tol=5.123e-07 m within
    [chain warn x2] apply_real_lens_traced Newton inversion: 8591/262144 pixels (3.3%) did not converge to tol=4.491e-07 m within 
    [chain warn x2] apply_real_lens_traced Newton inversion: 96766/262144 pixels (36.9%) did not converge to tol=3.843e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 205397/262144 pixels (78.4%) did not converge to tol=3.321e-07 m with

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)
=== order (-1, 0)  config shipG (C5=True, C6=True, GUARD=True)  [43s] ===
 grp    dx/um   ap/mm       clip         P_in        P_out      elem leg_after-1  ENG  FLD  NYQ      chain P
------------------------------------------------------------------------------------------------------------
   0   51.234  29.969  3.012e-09 6.829035e-08 6.828318e-08  0.999895   4.44e-16    0    0    0 6.828318e-08
   1   51.234  30.733  9.735e-11 6.828318e-08 6.827828e-08  0.999928   6.66e-16    0    0    0 6.827828e-08
   2   51.235  31.502  3.659e-11 6.827828e-08 6.827175e-08  0.999904   6.66e-16    0    0    1 6.827175e-08
   3   44.912  31.766  7.958e-10 6.827175e-08 6.826420e-08  0.999889   8.88e-16    0    0    1 6.826420e-08
   4   38.432  27.176  7.023e-10 6.826420e-08 6.825463e-08  0.999860   8.88e-16    0    0    1 6.825463e-08
   5   33.211  20.397  7.660e-09 6.825463e-08 6.819828e-08  0.999174        nan    0    0    1 6.819828e-08
  END TO END  P_out(last)/P_in(first) = 0.998652
    = prod(elem) 0.998652 x prod(1-clip) 1.000000 x prod(leg) 1.000000  [check 0.998652]
    aperture-clipped (legitimate) total: 1.230e-08
    HALO at last-group exit (about traced exit chief -0.4799,+0.0000 mm): g1 2.378e-01 g2 3.701e-03 g4 3.957e-10 g8 0.000e+00
        amax4 9.728e-05  r_rms 0.8362 mm  core 0.6192 mm
    [chain warn x2] apply_real_lens_traced Newton inversion: 69862/262144 pixels (26.7%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 60543/262144 pixels (23.1%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 14210/262144 pixels (5.4%) did not converge to tol=5.123e-07 m within
    [chain warn x2] apply_real_lens_traced Newton inversion: 8591/262144 pixels (3.3%) did not converge to tol=4.491e-07 m within 
    [chain warn x2] apply_real_lens_traced Newton inversion: 96764/262144 pixels (36.9%) did not converge to tol=3.843e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 205392/262144 pixels (78.4%) did not converge to tol=3.321e-07 m with

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)
=== order (-1, 0)  config noC6 (C5=True, C6=False, GUARD=False)  [25s] ===
 grp    dx/um   ap/mm       clip         P_in        P_out      elem leg_after-1  ENG  FLD  NYQ      chain P
------------------------------------------------------------------------------------------------------------
   0   51.234  29.969  3.012e-09 6.829035e-08 6.828317e-08  0.999895   4.44e-16    0    0    0 6.828317e-08
   1   51.234  30.733  9.876e-11 6.828317e-08 6.827828e-08  0.999928   2.22e-16    0    0    0 6.827828e-08
   2   51.235  31.502  3.351e-11 6.827828e-08 6.827175e-08  0.999904   8.88e-16    0    0    1 6.827175e-08
   3   44.912  31.766  7.785e-10 6.827175e-08 6.826419e-08  0.999889   6.66e-16    0    0    1 6.826419e-08
   4   38.432  27.176  1.735e-09 6.826419e-08 6.825453e-08  0.999858   8.88e-16    0    0    1 6.825453e-08
   5   33.211  20.397  8.946e-09 6.825453e-08 6.819893e-08  0.999185        nan    0    0    1 6.819893e-08
  END TO END  P_out(last)/P_in(first) = 0.998661
    = prod(elem) 0.998661 x prod(1-clip) 1.000000 x prod(leg) 1.000000  [check 0.998661]
    aperture-clipped (legitimate) total: 1.460e-08
    HALO at last-group exit (about traced exit chief -0.4799,+0.0000 mm): g1 2.404e-01 g2 4.308e-03 g4 1.559e-09 g8 0.000e+00
        amax4 9.418e-05  r_rms 0.8408 mm  core 0.6189 mm
    [chain warn x2] apply_real_lens_traced Newton inversion: 69862/262144 pixels (26.7%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 60543/262144 pixels (23.1%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 14209/262144 pixels (5.4%) did not converge to tol=5.123e-07 m within
    [chain warn x2] apply_real_lens_traced Newton inversion: 6950/262144 pixels (2.7%) did not converge to tol=4.491e-07 m within 
    [chain warn x2] apply_real_lens_traced Newton inversion: 98013/262144 pixels (37.4%) did not converge to tol=3.843e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 213184/262144 pixels (81.3%) did not converge to tol=3.321e-07 m with

  IDENTITY ship vs shipG: all stages array_equal=False  max|dE|=9.450e-05  per-stage [XXXXXX]
  IDENTITY ship vs noC6: all stages array_equal=False  max|dE|=2.115e-02  per-stage [XXXXXX]
  IDENTITY shipG vs noC6: all stages array_equal=False  max|dE|=2.115e-02  per-stage [XXXXXX]

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)
=== order (-2, 0)  config ship (C5=True, C6=True, GUARD=False)  [25s] ===
 grp    dx/um   ap/mm       clip         P_in        P_out      elem leg_after-1  ENG  FLD  NYQ      chain P
------------------------------------------------------------------------------------------------------------
   0   51.234  29.969  2.066e-09 6.829035e-08 6.828254e-08  0.999886   2.22e-16    0    0    1 6.828254e-08
   1   51.234  30.733  3.562e-10 6.828254e-08 6.827892e-08  0.999947   4.44e-16    0    0    1 6.827892e-08
   2   51.235  31.502  1.176e-10 6.827892e-08 6.827238e-08  0.999904   6.66e-16    0    0    1 6.827238e-08
   3   44.912  31.766  2.445e-09 6.827238e-08 6.826483e-08  0.999889   8.88e-16    0    0    1 6.826483e-08
   4   38.432  27.176  1.140e-10 6.826483e-08 6.825522e-08  0.999859   1.55e-15    0    0    1 6.825522e-08
   5   33.211  20.397  2.324e-08 6.825522e-08 6.820027e-08  0.999195        nan    0    0    1 6.820027e-08
  END TO END  P_out(last)/P_in(first) = 0.998681
    = prod(elem) 0.998681 x prod(1-clip) 1.000000 x prod(leg) 1.000000  [check 0.998681]
    aperture-clipped (legitimate) total: 2.833e-08
    HALO at last-group exit (about traced exit chief -0.9595,+0.0000 mm): g1 2.378e-01 g2 3.690e-03 g4 7.076e-06 g8 7.071e-06
        amax4 5.021e-02  r_rms 0.8365 mm  core 0.6190 mm
    [chain warn x2] apply_real_lens_traced Newton inversion: 69862/262144 pixels (26.7%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 60094/262144 pixels (22.9%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 14246/262144 pixels (5.4%) did not converge to tol=5.123e-07 m within
    [chain warn x2] apply_real_lens_traced Newton inversion: 8316/262144 pixels (3.2%) did not converge to tol=4.491e-07 m within 
    [chain warn x2] apply_real_lens_traced Newton inversion: 96731/262144 pixels (36.9%) did not converge to tol=3.843e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 208575/262144 pixels (79.6%) did not converge to tol=3.321e-07 m with

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)
=== order (-2, 0)  config shipG (C5=True, C6=True, GUARD=True)  [45s] ===
 grp    dx/um   ap/mm       clip         P_in        P_out      elem leg_after-1  ENG  FLD  NYQ      chain P
------------------------------------------------------------------------------------------------------------
   0   51.234  29.969  2.066e-09 6.829035e-08 6.828254e-08  0.999886   6.66e-16    0    0    1 6.828254e-08
   1   51.234  30.733  3.567e-10 6.828254e-08 6.827892e-08  0.999947   4.44e-16    0    0    1 6.827892e-08
   2   51.235  31.502  1.188e-10 6.827892e-08 6.827238e-08  0.999904   6.66e-16    0    0    1 6.827238e-08
   3   44.912  31.766  2.455e-09 6.827238e-08 6.826483e-08  0.999889   6.66e-16    0    0    1 6.826483e-08
   4   38.432  27.176  1.141e-10 6.826483e-08 6.825522e-08  0.999859   1.11e-15    0    0    1 6.825522e-08
   5   33.211  20.397  2.325e-08 6.825522e-08 6.819998e-08  0.999191        nan    0    0    1 6.819998e-08
  END TO END  P_out(last)/P_in(first) = 0.998677
    = prod(elem) 0.998677 x prod(1-clip) 1.000000 x prod(leg) 1.000000  [check 0.998677]
    aperture-clipped (legitimate) total: 2.836e-08
    HALO at last-group exit (about traced exit chief -0.9595,+0.0000 mm): g1 2.378e-01 g2 3.686e-03 g4 2.790e-06 g8 2.785e-06
        amax4 3.231e-02  r_rms 0.8362 mm  core 0.6190 mm
    [chain warn x2] apply_real_lens_traced Newton inversion: 69862/262144 pixels (26.7%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 60094/262144 pixels (22.9%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 14246/262144 pixels (5.4%) did not converge to tol=5.123e-07 m within
    [chain warn x2] apply_real_lens_traced Newton inversion: 8316/262144 pixels (3.2%) did not converge to tol=4.491e-07 m within 
    [chain warn x2] apply_real_lens_traced Newton inversion: 96730/262144 pixels (36.9%) did not converge to tol=3.843e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 208570/262144 pixels (79.6%) did not converge to tol=3.321e-07 m with

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)
=== order (-2, 0)  config noC6 (C5=True, C6=False, GUARD=False)  [28s] ===
 grp    dx/um   ap/mm       clip         P_in        P_out      elem leg_after-1  ENG  FLD  NYQ      chain P
------------------------------------------------------------------------------------------------------------
   0   51.234  29.969  2.066e-09 6.829035e-08 6.828254e-08  0.999886   6.66e-16    0    0    1 6.828254e-08
   1   51.234  30.733  3.793e-10 6.828254e-08 6.827892e-08  0.999947   4.44e-16    0    0    1 6.827892e-08
   2   51.235  31.502  1.209e-10 6.827892e-08 6.827239e-08  0.999904   8.88e-16    0    0    1 6.827239e-08
   3   44.912  31.766  2.421e-09 6.827239e-08 6.826483e-08  0.999889   8.88e-16    0    0    1 6.826483e-08
   4   38.432  27.176  1.562e-10 6.826483e-08 6.825515e-08  0.999858   8.88e-16    0    0    1 6.825515e-08
   5   33.211  20.397  2.271e-08 6.825515e-08 6.819989e-08  0.999190        nan    0    0    1 6.819989e-08
  END TO END  P_out(last)/P_in(first) = 0.998675
    = prod(elem) 0.998675 x prod(1-clip) 1.000000 x prod(leg) 1.000000  [check 0.998675]
    aperture-clipped (legitimate) total: 2.786e-08
    HALO at last-group exit (about traced exit chief -0.9595,+0.0000 mm): g1 2.416e-01 g2 4.380e-03 g4 8.251e-09 g8 0.000e+00
        amax4 1.602e-04  r_rms 0.8422 mm  core 0.6191 mm
    [chain warn x2] apply_real_lens_traced Newton inversion: 69862/262144 pixels (26.7%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 60094/262144 pixels (22.9%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 14244/262144 pixels (5.4%) did not converge to tol=5.123e-07 m within
    [chain warn x2] apply_real_lens_traced Newton inversion: 7158/262144 pixels (2.7%) did not converge to tol=4.491e-07 m within 
    [chain warn x2] apply_real_lens_traced Newton inversion: 98166/262144 pixels (37.4%) did not converge to tol=3.843e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 213296/262144 pixels (81.4%) did not converge to tol=3.321e-07 m with

  IDENTITY ship vs shipG: all stages array_equal=False  max|dE|=1.229e-02  per-stage [XXXXXX]
  IDENTITY ship vs noC6: all stages array_equal=False  max|dE|=4.978e-02  per-stage [XXXXXX]
  IDENTITY shipG vs noC6: all stages array_equal=False  max|dE|=4.983e-02  per-stage [XXXXXX]

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)
=== order (-3, 0)  config ship (C5=True, C6=True, GUARD=False)  [44s] ===
 grp    dx/um   ap/mm       clip         P_in        P_out      elem leg_after-1  ENG  FLD  NYQ      chain P
------------------------------------------------------------------------------------------------------------
   0   51.234  29.969  3.574e-09 6.829035e-08 6.828428e-08  0.999911   6.66e-16    0    0    1 6.828428e-08
   1   51.234  30.733  3.813e-10 6.828428e-08 6.827916e-08  0.999925   6.66e-16    0    0    1 6.827916e-08
   2   51.235  31.502  9.210e-11 6.827916e-08 6.827263e-08  0.999904   8.88e-16    0    0    1 6.827263e-08
   3   44.912  31.766  2.299e-09 6.827263e-08 6.826510e-08  0.999890   8.88e-16    0    0    1 6.826510e-08
   4   38.432  27.176  1.575e-10 6.826510e-08 6.825540e-08  0.999858   8.88e-16    0    0    1 6.825540e-08
   5   33.211  20.397  3.924e-08 6.825540e-08 6.819948e-08  0.999181        nan    0    0    1 6.819948e-08
  END TO END  P_out(last)/P_in(first) = 0.998669
    = prod(elem) 0.998669 x prod(1-clip) 1.000000 x prod(leg) 1.000000  [check 0.998669]
    aperture-clipped (legitimate) total: 4.574e-08
    HALO at last-group exit (about traced exit chief -1.4384,+0.0000 mm): g1 2.377e-01 g2 3.675e-03 g4 5.694e-07 g8 5.551e-07
        amax4 1.386e-02  r_rms 0.8358 mm  core 0.6189 mm
    [chain warn x2] apply_real_lens_traced Newton inversion: 69659/262144 pixels (26.6%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 60094/262144 pixels (22.9%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 14232/262144 pixels (5.4%) did not converge to tol=5.123e-07 m within
    [chain warn x2] apply_real_lens_traced Newton inversion: 8027/262144 pixels (3.1%) did not converge to tol=4.491e-07 m within 
    [chain warn x2] apply_real_lens_traced Newton inversion: 96704/262144 pixels (36.9%) did not converge to tol=3.843e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 209363/262144 pixels (79.9%) did not converge to tol=3.321e-07 m with

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)
=== order (-3, 0)  config shipG (C5=True, C6=True, GUARD=True)  [41s] ===
 grp    dx/um   ap/mm       clip         P_in        P_out      elem leg_after-1  ENG  FLD  NYQ      chain P
------------------------------------------------------------------------------------------------------------
   0   51.234  29.969  3.574e-09 6.829035e-08 6.828428e-08  0.999911   6.66e-16    0    0    1 6.828428e-08
   1   51.234  30.733  3.852e-10 6.828428e-08 6.827916e-08  0.999925   6.66e-16    0    0    1 6.827916e-08
   2   51.235  31.502  9.259e-11 6.827916e-08 6.827263e-08  0.999904   6.66e-16    0    0    1 6.827263e-08
   3   44.912  31.766  2.308e-09 6.827263e-08 6.826510e-08  0.999890   8.88e-16    0    0    1 6.826510e-08
   4   38.432  27.176  1.579e-10 6.826510e-08 6.825540e-08  0.999858   1.11e-15    0    0    1 6.825540e-08
   5   33.211  20.397  3.924e-08 6.825540e-08 6.819949e-08  0.999181        nan    0    0    1 6.819949e-08
  END TO END  P_out(last)/P_in(first) = 0.998669
    = prod(elem) 0.998670 x prod(1-clip) 1.000000 x prod(leg) 1.000000  [check 0.998669]
    aperture-clipped (legitimate) total: 4.575e-08
    HALO at last-group exit (about traced exit chief -1.4384,+0.0000 mm): g1 2.377e-01 g2 3.675e-03 g4 6.153e-07 g8 6.011e-07
        amax4 9.919e-03  r_rms 0.8358 mm  core 0.6189 mm
    [chain warn x2] apply_real_lens_traced Newton inversion: 69423/262144 pixels (26.5%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 60094/262144 pixels (22.9%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 14232/262144 pixels (5.4%) did not converge to tol=5.123e-07 m within
    [chain warn x2] apply_real_lens_traced Newton inversion: 8027/262144 pixels (3.1%) did not converge to tol=4.491e-07 m within 
    [chain warn x2] apply_real_lens_traced Newton inversion: 96703/262144 pixels (36.9%) did not converge to tol=3.843e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 209365/262144 pixels (79.9%) did not converge to tol=3.321e-07 m with

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)
=== order (-3, 0)  config noC6 (C5=True, C6=False, GUARD=False)  [30s] ===
 grp    dx/um   ap/mm       clip         P_in        P_out      elem leg_after-1  ENG  FLD  NYQ      chain P
------------------------------------------------------------------------------------------------------------
   0   51.234  29.969  3.574e-09 6.829035e-08 6.828428e-08  0.999911   6.66e-16    0    0    1 6.828428e-08
   1   51.234  30.733  3.937e-10 6.828428e-08 6.827915e-08  0.999925   6.66e-16    0    0    1 6.827915e-08
   2   51.235  31.502  9.180e-11 6.827915e-08 6.827263e-08  0.999904   6.66e-16    0    0    1 6.827263e-08
   3   44.912  31.766  2.298e-09 6.827263e-08 6.826506e-08  0.999889   8.88e-16    0    0    1 6.826506e-08
   4   38.432  27.176  2.257e-10 6.826506e-08 6.825533e-08  0.999857   1.11e-15    0    0    1 6.825533e-08
   5   33.211  20.397  4.222e-08 6.825533e-08 6.820018e-08  0.999192        nan    0    0    1 6.820018e-08
  END TO END  P_out(last)/P_in(first) = 0.998680
    = prod(elem) 0.998680 x prod(1-clip) 1.000000 x prod(leg) 1.000000  [check 0.998680]
    aperture-clipped (legitimate) total: 4.880e-08
    HALO at last-group exit (about traced exit chief -1.4384,+0.0000 mm): g1 2.435e-01 g2 4.531e-03 g4 2.041e-08 g8 0.000e+00
        amax4 2.082e-04  r_rms 0.8445 mm  core 0.6195 mm
    [chain warn x2] apply_real_lens_traced Newton inversion: 69423/262144 pixels (26.5%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 60094/262144 pixels (22.9%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 14232/262144 pixels (5.4%) did not converge to tol=5.123e-07 m within
    [chain warn x2] apply_real_lens_traced Newton inversion: 7394/262144 pixels (2.8%) did not converge to tol=4.491e-07 m within 
    [chain warn x2] apply_real_lens_traced Newton inversion: 98190/262144 pixels (37.5%) did not converge to tol=3.843e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 213559/262144 pixels (81.5%) did not converge to tol=3.321e-07 m with

  IDENTITY ship vs shipG: all stages array_equal=False  max|dE|=4.214e-03  per-stage [XXXXXX]
  IDENTITY ship vs noC6: all stages array_equal=False  max|dE|=2.736e-01  per-stage [XXXXXX]
  IDENTITY shipG vs noC6: all stages array_equal=False  max|dE|=2.737e-01  per-stage [XXXXXX]

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)
=== order (-4, 0)  config ship (C5=True, C6=True, GUARD=False)  [43s] ===
 grp    dx/um   ap/mm       clip         P_in        P_out      elem leg_after-1  ENG  FLD  NYQ      chain P
------------------------------------------------------------------------------------------------------------
   0   51.234  29.969  5.732e-09 6.829035e-08 6.828294e-08  0.999891   6.66e-16    0    0    1 6.828294e-08
   1   51.234  30.733  1.670e-09 6.828294e-08 6.827856e-08  0.999936   6.66e-16    0    0    1 6.827856e-08
   2   51.235  31.502  6.554e-10 6.827856e-08 6.827205e-08  0.999905   8.88e-16    0    0    1 6.827205e-08
   3   44.912  31.766  2.043e-09 6.827205e-08 6.826451e-08  0.999890   1.11e-15    0    0    1 6.826451e-08
   4   38.432  27.176  1.742e-10 6.826451e-08 6.825486e-08  0.999859   1.33e-15    0    0    1 6.825486e-08
   5   33.211  20.397  1.814e-06 6.825486e-08 6.819844e-08  0.999175        nan    0    0    1 6.819844e-08
  END TO END  P_out(last)/P_in(first) = 0.998654
    = prod(elem) 0.998656 x prod(1-clip) 0.999998 x prod(leg) 1.000000  [check 0.998654]
    aperture-clipped (legitimate) total: 1.824e-06
    HALO at last-group exit (about traced exit chief -1.9161,+0.0000 mm): g1 2.377e-01 g2 3.651e-03 g4 2.794e-08 g8 5.268e-11
        amax4 2.508e-04  r_rms 0.8354 mm  core 0.6187 mm
    [chain warn x2] apply_real_lens_traced Newton inversion: 69862/262144 pixels (26.7%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 60543/262144 pixels (23.1%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 14249/262144 pixels (5.4%) did not converge to tol=5.123e-07 m within
    [chain warn x2] apply_real_lens_traced Newton inversion: 7960/262144 pixels (3.0%) did not converge to tol=4.491e-07 m within 
    [chain warn x2] apply_real_lens_traced Newton inversion: 96655/262144 pixels (36.9%) did not converge to tol=3.843e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 210765/262144 pixels (80.4%) did not converge to tol=3.321e-07 m with

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)
=== order (-4, 0)  config shipG (C5=True, C6=True, GUARD=True)  [37s] ===
 grp    dx/um   ap/mm       clip         P_in        P_out      elem leg_after-1  ENG  FLD  NYQ      chain P
------------------------------------------------------------------------------------------------------------
   0   51.234  29.969  5.732e-09 6.829035e-08 6.828294e-08  0.999891   6.66e-16    0    0    1 6.828294e-08
   1   51.234  30.733  1.670e-09 6.828294e-08 6.827856e-08  0.999936   6.66e-16    0    0    1 6.827856e-08
   2   51.235  31.502  6.554e-10 6.827856e-08 6.827205e-08  0.999905   8.88e-16    0    0    1 6.827205e-08
   3   44.912  31.766  2.043e-09 6.827205e-08 6.826451e-08  0.999890   1.11e-15    0    0    1 6.826451e-08
   4   38.432  27.176  1.742e-10 6.826451e-08 6.825486e-08  0.999859   1.33e-15    0    0    1 6.825486e-08
   5   33.211  20.397  1.814e-06 6.825486e-08 6.819844e-08  0.999175        nan    0    0    1 6.819844e-08
  END TO END  P_out(last)/P_in(first) = 0.998654
    = prod(elem) 0.998656 x prod(1-clip) 0.999998 x prod(leg) 1.000000  [check 0.998654]
    aperture-clipped (legitimate) total: 1.824e-06
    HALO at last-group exit (about traced exit chief -1.9161,+0.0000 mm): g1 2.377e-01 g2 3.651e-03 g4 2.794e-08 g8 5.268e-11
        amax4 2.508e-04  r_rms 0.8354 mm  core 0.6187 mm
    [chain warn x2] apply_real_lens_traced Newton inversion: 69862/262144 pixels (26.7%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 60543/262144 pixels (23.1%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 14249/262144 pixels (5.4%) did not converge to tol=5.123e-07 m within
    [chain warn x2] apply_real_lens_traced Newton inversion: 7960/262144 pixels (3.0%) did not converge to tol=4.491e-07 m within 
    [chain warn x2] apply_real_lens_traced Newton inversion: 96655/262144 pixels (36.9%) did not converge to tol=3.843e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 210765/262144 pixels (80.4%) did not converge to tol=3.321e-07 m with

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)
=== order (-4, 0)  config noC6 (C5=True, C6=False, GUARD=False)  [32s] ===
 grp    dx/um   ap/mm       clip         P_in        P_out      elem leg_after-1  ENG  FLD  NYQ      chain P
------------------------------------------------------------------------------------------------------------
   0   51.234  29.969  5.732e-09 6.829035e-08 6.828294e-08  0.999892   4.44e-16    0    0    1 6.828294e-08
   1   51.234  30.733  1.702e-09 6.828294e-08 6.827853e-08  0.999935   6.66e-16    0    0    1 6.827853e-08
   2   51.235  31.502  6.616e-10 6.827853e-08 6.827202e-08  0.999905   6.66e-16    0    0    1 6.827202e-08
   3   44.912  31.766  2.048e-09 6.827202e-08 6.826448e-08  0.999890   1.11e-15    0    0    1 6.826448e-08
   4   38.432  27.176  2.733e-10 6.826448e-08 6.825477e-08  0.999858   1.33e-15    0    0    1 6.825477e-08
   5   33.211  20.397  1.113e-06 6.825477e-08 6.819993e-08  0.999198        nan    0    0    1 6.819993e-08
  END TO END  P_out(last)/P_in(first) = 0.998676
    = prod(elem) 0.998677 x prod(1-clip) 0.999999 x prod(leg) 1.000000  [check 0.998676]
    aperture-clipped (legitimate) total: 1.124e-06
    HALO at last-group exit (about traced exit chief -1.9161,+0.0000 mm): g1 2.463e-01 g2 4.736e-03 g4 2.986e-08 g8 0.000e+00
        amax4 2.732e-04  r_rms 0.8478 mm  core 0.6200 mm
    [chain warn x2] apply_real_lens_traced Newton inversion: 69862/262144 pixels (26.7%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 60543/262144 pixels (23.1%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 14247/262144 pixels (5.4%) did not converge to tol=5.123e-07 m within
    [chain warn x2] apply_real_lens_traced Newton inversion: 7709/262144 pixels (2.9%) did not converge to tol=4.491e-07 m within 
    [chain warn x2] apply_real_lens_traced Newton inversion: 98311/262144 pixels (37.5%) did not converge to tol=3.843e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 213938/262144 pixels (81.6%) did not converge to tol=3.321e-07 m with

  IDENTITY ship vs shipG: all stages array_equal=True  max|dE|=0.000e+00  per-stage [======]
  IDENTITY ship vs noC6: all stages array_equal=False  max|dE|=1.129e-01  per-stage [XXXXXX]
  IDENTITY shipG vs noC6: all stages array_equal=False  max|dE|=1.129e-01  per-stage [XXXXXX]

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)
=== order (-4, -2)  config ship (C5=True, C6=True, GUARD=False)  [40s] ===
 grp    dx/um   ap/mm       clip         P_in        P_out      elem leg_after-1  ENG  FLD  NYQ      chain P
------------------------------------------------------------------------------------------------------------
   0   51.234  29.969  7.986e-09 6.829035e-08 6.828294e-08  0.999892   4.44e-16    0    0    1 6.828294e-08
   1   51.234  30.733  4.562e-09 6.828294e-08 6.827812e-08  0.999929   4.44e-16    0    0    1 6.827812e-08
   2   51.235  31.502  3.439e-09 6.827812e-08 6.827161e-08  0.999905   8.88e-16    0    0    1 6.827161e-08
   3   44.912  31.766  1.744e-08 6.827161e-08 6.826408e-08  0.999890   8.88e-16    0    0    1 6.826408e-08
   4   38.432  27.176  1.581e-08 6.826408e-08 6.825442e-08  0.999859   1.11e-15    0    0    1 6.825442e-08
   5   33.211  20.397  1.078e-05 6.825442e-08 6.819665e-08  0.999164        nan    0    0    1 6.819665e-08
  END TO END  P_out(last)/P_in(first) = 0.998628
    = prod(elem) 0.998639 x prod(1-clip) 0.999989 x prod(leg) 1.000000  [check 0.998628]
    aperture-clipped (legitimate) total: 1.082e-05
    HALO at last-group exit (about traced exit chief -1.9151,-0.9575 mm): g1 2.373e-01 g2 3.636e-03 g4 2.739e-08 g8 4.929e-11
        amax4 2.319e-04  r_rms 0.8352 mm  core 0.6188 mm
    [chain warn x2] apply_real_lens_traced Newton inversion: 70300/262144 pixels (26.8%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 60094/262144 pixels (22.9%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 14221/262144 pixels (5.4%) did not converge to tol=5.123e-07 m within
    [chain warn x2] apply_real_lens_traced Newton inversion: 7724/262144 pixels (2.9%) did not converge to tol=4.491e-07 m within 
    [chain warn x2] apply_real_lens_traced Newton inversion: 96514/262144 pixels (36.8%) did not converge to tol=3.843e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 212024/262144 pixels (80.9%) did not converge to tol=3.321e-07 m with

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)
=== order (-4, -2)  config shipG (C5=True, C6=True, GUARD=True)  [45s] ===
 grp    dx/um   ap/mm       clip         P_in        P_out      elem leg_after-1  ENG  FLD  NYQ      chain P
------------------------------------------------------------------------------------------------------------
   0   51.234  29.969  7.986e-09 6.829035e-08 6.828294e-08  0.999892   4.44e-16    0    0    1 6.828294e-08
   1   51.234  30.733  4.562e-09 6.828294e-08 6.827812e-08  0.999929   4.44e-16    0    0    1 6.827812e-08
   2   51.235  31.502  3.439e-09 6.827812e-08 6.827161e-08  0.999905   8.88e-16    0    0    1 6.827161e-08
   3   44.912  31.766  1.744e-08 6.827161e-08 6.826408e-08  0.999890   8.88e-16    0    0    1 6.826408e-08
   4   38.432  27.176  1.581e-08 6.826408e-08 6.825442e-08  0.999859   1.11e-15    0    0    1 6.825442e-08
   5   33.211  20.397  1.078e-05 6.825442e-08 6.819665e-08  0.999164        nan    0    0    1 6.819665e-08
  END TO END  P_out(last)/P_in(first) = 0.998628
    = prod(elem) 0.998639 x prod(1-clip) 0.999989 x prod(leg) 1.000000  [check 0.998628]
    aperture-clipped (legitimate) total: 1.082e-05
    HALO at last-group exit (about traced exit chief -1.9151,-0.9575 mm): g1 2.373e-01 g2 3.636e-03 g4 2.739e-08 g8 4.929e-11
        amax4 2.319e-04  r_rms 0.8352 mm  core 0.6188 mm
    [chain warn x2] apply_real_lens_traced Newton inversion: 70300/262144 pixels (26.8%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 60094/262144 pixels (22.9%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 14221/262144 pixels (5.4%) did not converge to tol=5.123e-07 m within
    [chain warn x2] apply_real_lens_traced Newton inversion: 7724/262144 pixels (2.9%) did not converge to tol=4.491e-07 m within 
    [chain warn x2] apply_real_lens_traced Newton inversion: 96514/262144 pixels (36.8%) did not converge to tol=3.843e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 212024/262144 pixels (80.9%) did not converge to tol=3.321e-07 m with

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)
=== order (-4, -2)  config noC6 (C5=True, C6=False, GUARD=False)  [28s] ===
 grp    dx/um   ap/mm       clip         P_in        P_out      elem leg_after-1  ENG  FLD  NYQ      chain P
------------------------------------------------------------------------------------------------------------
   0   51.234  29.969  7.986e-09 6.829035e-08 6.828295e-08  0.999892   6.66e-16    0    0    1 6.828295e-08
   1   51.234  30.733  4.578e-09 6.828295e-08 6.827809e-08  0.999929   6.66e-16    0    0    1 6.827809e-08
   2   51.235  31.502  3.491e-09 6.827809e-08 6.827158e-08  0.999905   6.66e-16    0    0    1 6.827158e-08
   3   44.912  31.766  1.757e-08 6.827158e-08 6.826405e-08  0.999890   8.88e-16    0    0    1 6.826405e-08
   4   38.432  27.176  6.476e-09 6.826405e-08 6.825436e-08  0.999858   1.33e-15    0    0    1 6.825436e-08
   5   33.211  20.397  8.781e-06 6.825436e-08 6.819890e-08  0.999196        nan    0    0    1 6.819890e-08
  END TO END  P_out(last)/P_in(first) = 0.998661
    = prod(elem) 0.998670 x prod(1-clip) 0.999991 x prod(leg) 1.000000  [check 0.998661]
    aperture-clipped (legitimate) total: 8.821e-06
    HALO at last-group exit (about traced exit chief -1.9151,-0.9575 mm): g1 2.475e-01 g2 4.867e-03 g4 6.322e-06 g8 1.333e-07
        amax4 7.840e-02  r_rms 0.8498 mm  core 0.6205 mm
    [chain warn x2] apply_real_lens_traced Newton inversion: 70300/262144 pixels (26.8%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 60094/262144 pixels (22.9%) did not converge to tol=5.123e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 14216/262144 pixels (5.4%) did not converge to tol=5.123e-07 m within
    [chain warn x2] apply_real_lens_traced Newton inversion: 7926/262144 pixels (3.0%) did not converge to tol=4.491e-07 m within 
    [chain warn x2] apply_real_lens_traced Newton inversion: 98531/262144 pixels (37.6%) did not converge to tol=3.843e-07 m withi
    [chain warn x2] apply_real_lens_traced Newton inversion: 215556/262144 pixels (82.2%) did not converge to tol=3.321e-07 m with

  IDENTITY ship vs shipG: all stages array_equal=True  max|dE|=0.000e+00  per-stage [======]
  IDENTITY ship vs noC6: all stages array_equal=False  max|dE|=3.475e-01  per-stage [XXXXXX]
  IDENTITY shipG vs noC6: all stages array_equal=False  max|dE|=3.475e-01  per-stage [XXXXXX]

