gpuwm-hex 0.2.3__tar.gz → 0.3.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (438) hide show
  1. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/MANIFEST.in +2 -30
  2. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/NOTICE +16 -2
  3. {gpuwm_hex-0.2.3/src/gpuwm_hex.egg-info → gpuwm_hex-0.3.2}/PKG-INFO +309 -139
  4. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/README.md +307 -137
  5. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/docs/declared-divergences.md +137 -28
  6. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/docs/device-memory-ledger.md +51 -59
  7. gpuwm_hex-0.3.2/docs/hex-point-hrrr.md +714 -0
  8. gpuwm_hex-0.3.2/docs/local-timestep-lam.md +336 -0
  9. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/docs/manual/01-what-this-is.md +9 -11
  10. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/docs/manual/02-quickstart.md +32 -48
  11. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/docs/manual/03-concepts.md +15 -21
  12. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/docs/manual/04-meshes-and-static.md +13 -19
  13. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/docs/manual/05-initial-conditions.md +1 -2
  14. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/docs/manual/06-forecast.md +179 -48
  15. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/docs/manual/07-render.md +1 -1
  16. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/docs/manual/08-troubleshooting.md +33 -33
  17. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/docs/manual/09-reference.md +30 -30
  18. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/docs/manual/index.md +12 -15
  19. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/docs/native-free-init-admission.md +3 -3
  20. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/docs/obs-referee.md +2 -2
  21. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/docs/render-door.md +2 -2
  22. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/docs/source-matrix.md +6 -9
  23. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/evidence/EVIDENCE.md +1 -1
  24. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/pyproject.toml +37 -60
  25. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2/src/gpuwm_hex.egg-info}/PKG-INFO +309 -139
  26. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/gpuwm_hex.egg-info/SOURCES.txt +48 -0
  27. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/gpuwm_hex.egg-info/requires.txt +1 -1
  28. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cascade_row.py +2 -2
  29. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cli.py +14 -0
  30. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/config_lts.py +1 -1
  31. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_acoustic.py +23 -15
  32. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_acoustic_lts.py +174 -16
  33. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_arwen_physics_v841.py +170 -58
  34. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_backend/__init__.py +4 -0
  35. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_backend/arch_admission.py +1 -1
  36. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_backend/recovery.py +105 -74
  37. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_backend/regional_admission.py +192 -33
  38. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_backend/runtime.py +70 -2
  39. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_driver.py +61 -62
  40. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_driver_lts.py +271 -4
  41. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_dynamics_v841.py +112 -39
  42. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_ftz.py +2 -2
  43. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_horizontal.py +38 -30
  44. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_horizontal_v841.py +41 -34
  45. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_regional_forecast_v841.py +104 -44
  46. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_regional_v841.py +291 -287
  47. gpuwm_hex-0.3.2/src/hexcore/cuda_solve_region_v841.py +505 -0
  48. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_transport.py +42 -35
  49. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cycle/chain.py +36 -31
  50. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cycle/delayed_start.py +2 -2
  51. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cycle/door.py +5 -1
  52. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/device_admission.py +36 -36
  53. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/doctor.py +54 -33
  54. gpuwm_hex-0.3.2/src/hexcore/drivers/__init__.py +14 -0
  55. {gpuwm_hex-0.2.3/tools → gpuwm_hex-0.3.2/src/hexcore/drivers}/mpas_mesh_binding.py +28 -17
  56. {gpuwm_hex-0.2.3/tools → gpuwm_hex-0.3.2/src/hexcore/drivers}/run_cuda_regional_contract.py +9 -6
  57. {gpuwm_hex-0.2.3/tools → gpuwm_hex-0.3.2/src/hexcore/drivers}/run_cuda_v841_forecast.py +268 -52
  58. {gpuwm_hex-0.2.3/tools → gpuwm_hex-0.3.2/src/hexcore/drivers}/run_cuda_v841_full_physics_x4.py +271 -119
  59. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/dt_admission.py +182 -18
  60. gpuwm_hex-0.3.2/src/hexcore/engine_pin.py +1164 -0
  61. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/engines.py +83 -2
  62. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/forecast_door.py +252 -161
  63. gpuwm_hex-0.3.2/src/hexcore/forecast_preset.py +236 -0
  64. gpuwm_hex-0.3.2/src/hexcore/host_identity.py +71 -0
  65. gpuwm_hex-0.3.2/src/hexcore/hrrr_intermediate.py +1084 -0
  66. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/init_door.py +79 -14
  67. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/libm_identity.py +2 -2
  68. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/lts_v841.py +353 -37
  69. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/mesh_plan_door.py +28 -2
  70. gpuwm_hex-0.3.2/src/hexcore/mesh_point.py +1104 -0
  71. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/mesh_row_candidate.py +8 -5
  72. gpuwm_hex-0.3.2/src/hexcore/mesh_rows.py +573 -0
  73. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/obs_referee/scorecard.py +1 -1
  74. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/pair_door.py +2 -2
  75. gpuwm_hex-0.3.2/src/hexcore/pbl_cadence.py +349 -0
  76. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/physics_backend_admission.py +54 -16
  77. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/physics_seam.py +12 -3
  78. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/shipped_sources.py +2 -2
  79. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/vertical.py +1 -1
  80. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/vertical_spec.py +17 -8
  81. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/conftest.py +1 -1
  82. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_admission_strings.py +1 -1
  83. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_arch_admission.py +1 -1
  84. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_capacity_copy_elisions.py +5 -5
  85. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_cell_coordination_admission.py +3 -2
  86. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_convection_admission.py +2 -2
  87. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_cuda_regional_kernels.py +1 -1
  88. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_cuda_v841_full_physics_x4.py +26 -23
  89. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_cycle_cascade.py +2 -2
  90. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_device_admission.py +50 -23
  91. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_device_memory_capacity_tools.py +1 -1
  92. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_device_memory_ledger_probes.py +4 -4
  93. gpuwm_hex-0.3.2/tests/test_doctor_bridge_mode.py +77 -0
  94. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_dt_admission.py +51 -9
  95. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_dual_edge_admission.py +2 -1
  96. gpuwm_hex-0.3.2/tests/test_element_parallel_kernels.py +285 -0
  97. gpuwm_hex-0.3.2/tests/test_engine_pin.py +989 -0
  98. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_forecast_door.py +93 -53
  99. gpuwm_hex-0.3.2/tests/test_forecast_preset.py +143 -0
  100. gpuwm_hex-0.3.2/tests/test_forecast_receipt_engine.py +68 -0
  101. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_history_refl_q2.py +1 -1
  102. gpuwm_hex-0.3.2/tests/test_host_identity.py +51 -0
  103. gpuwm_hex-0.3.2/tests/test_hrrr_intermediate.py +246 -0
  104. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_init_door.py +85 -0
  105. gpuwm_hex-0.3.2/tests/test_kernel_element_ab.py +237 -0
  106. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_libm_identity.py +2 -2
  107. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_local_timestep.py +328 -6
  108. gpuwm_hex-0.3.2/tests/test_mesh_point.py +253 -0
  109. gpuwm_hex-0.3.2/tests/test_mesh_rows.py +180 -0
  110. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_native_free_init_admission_305.py +3 -2
  111. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_nvrtc_reciprocal_rewrite.py +4 -3
  112. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_packaging_declaration.py +13 -18
  113. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_partition_device_admission.py +1 -1
  114. gpuwm_hex-0.3.2/tests/test_pbl_cadence.py +575 -0
  115. gpuwm_hex-0.3.2/tests/test_physics_backend_rows.py +116 -0
  116. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_physics_carrier_kernels.py +1 -1
  117. gpuwm_hex-0.3.2/tests/test_physics_rollback_policy.py +304 -0
  118. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_plot_pair_gallery.py +15 -5
  119. gpuwm_hex-0.3.2/tests/test_point_source_placement.py +236 -0
  120. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_proof_guard_ordering.py +9 -3
  121. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_proof_guard_pins.py +171 -7
  122. gpuwm_hex-0.3.2/tests/test_regional_class_band.py +66 -0
  123. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_regional_forecast_anchor.py +12 -12
  124. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_regional_mesh_binding.py +2 -1
  125. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_regional_physics_seam.py +10 -4
  126. gpuwm_hex-0.3.2/tests/test_solve_region_checks.py +447 -0
  127. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_source_manifests.py +1 -1
  128. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_species_row.py +15 -2
  129. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_tracked_file_writers_keep_lf.py +1 -1
  130. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_wheel_reach.py +4 -4
  131. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/audit_donor_padding.py +3 -3
  132. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/audit_nvrtc_reciprocal_rewrite.py +7 -3
  133. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/battery/README.md +1 -1
  134. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/battery/asset_gates.txt +1 -1
  135. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/battery/cpu_files.txt +40 -3
  136. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/battery/gpu_gates.txt +11 -24
  137. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/build_partition_assets_v841.py +2 -2
  138. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/chain_forkgate_then_c.sh +1 -1
  139. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/device_memory_capacity/README.md +3 -3
  140. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/device_memory_capacity/copy_elision_accounting.py +5 -5
  141. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/device_memory_ledger/hex_ledger_probe.py +4 -4
  142. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/device_memory_ledger/module_image_probe.py +1 -1
  143. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/device_memory_ledger/reservation_probe.py +5 -5
  144. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/diagnose_genmesh_nonfinite.py +2 -2
  145. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/diagnose_v841_restart_step16_x4.py +2 -2
  146. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/gate_v841_forecast_fork_equivalence.py +1 -1
  147. gpuwm_hex-0.3.2/tools/kernel_element_ab.py +694 -0
  148. gpuwm_hex-0.3.2/tools/lts_forced_classing.py +212 -0
  149. gpuwm_hex-0.3.2/tools/measure_engine_seam_ab.py +509 -0
  150. gpuwm_hex-0.3.2/tools/measure_engine_verdicts.py +885 -0
  151. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/measure_nvrtc_reciprocal_effect.py +1 -2
  152. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/mint_dt_anchor.py +5 -2
  153. gpuwm_hex-0.3.2/tools/mpas_mesh_binding.py +25 -0
  154. gpuwm_hex-0.3.2/tools/nvrtc_compile_check.py +63 -0
  155. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/plot_forecast_admission_evidence.py +1 -1
  156. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/plot_four_swaths_evidence.py +3 -3
  157. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/plot_pair_gallery.py +4 -3
  158. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/plot_swath_real_cascade.py +1 -1
  159. gpuwm_hex-0.3.2/tools/point_source_placement.py +354 -0
  160. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/probe_dv_floor_boundary.py +4 -4
  161. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/probe_nvrtc_literal_divisor.py +1 -1
  162. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/probe_swath_spec_generable.py +2 -2
  163. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/repin_source_tables.py +25 -11
  164. gpuwm_hex-0.3.2/tools/run_cuda_regional_contract.py +29 -0
  165. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_cuda_regional_forecast.py +2 -2
  166. gpuwm_hex-0.3.2/tools/run_cuda_v841_forecast.py +28 -0
  167. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_cuda_v841_forecast_2gpu.py +2 -2
  168. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_cuda_v841_forecast_mesh.py +3 -3
  169. gpuwm_hex-0.3.2/tools/run_cuda_v841_full_physics_x4.py +28 -0
  170. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_cuda_v841_real_x4.py +1 -1
  171. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_cuda_x1_163842_stabilized_products.py +1 -1
  172. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_dt_anchor_campaign.py +1 -1
  173. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_forkgate.sh +1 -1
  174. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_real_gfs_cuda_x1_163842.py +5 -5
  175. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/v841_partstream_common.py +1 -1
  176. gpuwm_hex-0.3.2/verification/README.md +49 -0
  177. gpuwm_hex-0.3.2/verification/engine-verdicts/admitted-engines.json +6 -0
  178. gpuwm_hex-0.3.2/verification/engine-verdicts/premeasure-273-20260913.json +1267 -0
  179. gpuwm_hex-0.3.2/verification/engine-verdicts/premeasure-274-20260915.json +1394 -0
  180. gpuwm_hex-0.3.2/verification/engine-verdicts/premeasure-280-20260929.json +1665 -0
  181. gpuwm_hex-0.3.2/verification/engine-verdicts/repin-273-20260913.json +1333 -0
  182. gpuwm_hex-0.3.2/verification/engine-verdicts/repin-274-20260915.json +1396 -0
  183. gpuwm_hex-0.3.2/verification/engine-verdicts/repin-280-20260929.json +1679 -0
  184. gpuwm_hex-0.3.2/verification/engine-verdicts/seam-ab-capped-2.6.5-vs-2.6.5-with-2.7.3-ysu.json +1760 -0
  185. gpuwm_hex-0.3.2/verification/engine-verdicts/seam-ab-capped-2.6.5-vs-2.7.3.json +1771 -0
  186. gpuwm_hex-0.3.2/verification/engine-verdicts/seam-ab-capped-2.6.5-with-2.7.3-ysu-vs-2.7.3.json +116 -0
  187. gpuwm_hex-0.3.2/verification/engine-verdicts/seam-ab-capped-2.7.3-vs-2.7.4.json +106 -0
  188. gpuwm_hex-0.3.2/verification/engine-verdicts/seam-ab-capped-2.7.4-vs-2.8.0.json +110 -0
  189. gpuwm_hex-0.3.2/verification/engine-verdicts/seam-ab-convective-2.6.5-vs-2.7.3.json +1772 -0
  190. gpuwm_hex-0.3.2/verification/engine-verdicts/seam-ab-convective-2.7.3-vs-2.7.4.json +106 -0
  191. gpuwm_hex-0.3.2/verification/engine-verdicts/seam-ab-convective-2.7.4-vs-2.8.0.json +110 -0
  192. gpuwm_hex-0.2.3/src/hexcore/engine_pin.py +0 -668
  193. gpuwm_hex-0.2.3/src/hexcore/pbl_cadence.py +0 -259
  194. gpuwm_hex-0.2.3/tests/test_engine_pin.py +0 -581
  195. gpuwm_hex-0.2.3/tests/test_pbl_cadence.py +0 -397
  196. gpuwm_hex-0.2.3/verification/README.md +0 -21
  197. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/LICENSE +0 -0
  198. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/docs/cycle-door.md +0 -0
  199. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/docs/init-door.md +0 -0
  200. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/setup.cfg +0 -0
  201. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/gpuwm_hex.egg-info/dependency_links.txt +0 -0
  202. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/gpuwm_hex.egg-info/entry_points.txt +0 -0
  203. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/gpuwm_hex.egg-info/top_level.txt +0 -0
  204. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/__init__.py +0 -0
  205. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/__main__.py +0 -0
  206. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/acoustic.py +0 -0
  207. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/acoustic_v841.py +0 -0
  208. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cell_coordination_admission.py +0 -0
  209. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/config.py +0 -0
  210. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/config_v841.py +0 -0
  211. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/convection_admission.py +0 -0
  212. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_acoustic_v841.py +0 -0
  213. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_backend/compile_contract.py +0 -0
  214. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_backend/containers.py +0 -0
  215. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_dualrun.py +0 -0
  216. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_fp32.py +0 -0
  217. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_ftz_v841.py +0 -0
  218. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_gwdo_v841.py +0 -0
  219. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_physics_prep_v841.py +0 -0
  220. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_physics_tier_park_v841.py +0 -0
  221. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_physics_v841.py +0 -0
  222. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_transport_v841.py +0 -0
  223. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cuda_v841.py +0 -0
  224. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cull_door.py +0 -0
  225. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cycle/__init__.py +0 -0
  226. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/cycle/errors.py +0 -0
  227. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/damping_v841.py +0 -0
  228. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/data/swath/placement-policy.v2.json +0 -0
  229. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/data/swath/threat-metrics.v3.json +0 -0
  230. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/diagnostics.py +0 -0
  231. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/driver.py +0 -0
  232. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/dual_edge_admission.py +0 -0
  233. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/dynamics.py +0 -0
  234. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/dynamics_v841.py +0 -0
  235. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/errors.py +0 -0
  236. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/horizontal.py +0 -0
  237. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/initialization.py +0 -0
  238. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/integration.py +0 -0
  239. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/integration_v841.py +0 -0
  240. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/lbc.py +0 -0
  241. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/mesh.py +0 -0
  242. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/mesh_spec_gates.py +0 -0
  243. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/mixing.py +0 -0
  244. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/mixing_v841.py +0 -0
  245. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/nomix_oracle.py +0 -0
  246. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/obs_referee/__init__.py +0 -0
  247. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/obs_referee/__main__.py +0 -0
  248. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/obs_referee/acquire.py +0 -0
  249. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/obs_referee/align.py +0 -0
  250. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/obs_referee/bootstrap.py +0 -0
  251. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/obs_referee/bundle.py +0 -0
  252. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/obs_referee/canonical.py +0 -0
  253. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/obs_referee/cli.py +0 -0
  254. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/obs_referee/errors.py +0 -0
  255. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/obs_referee/manifest.py +0 -0
  256. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/obs_referee/metrics.py +0 -0
  257. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/obs_referee/report.py +0 -0
  258. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/obs_referee/runner.py +0 -0
  259. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/obs_referee/treatment.py +0 -0
  260. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/offcentering_v841.py +0 -0
  261. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/oracle.py +0 -0
  262. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/output.py +0 -0
  263. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/partition_assets_v841.py +0 -0
  264. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/partition_device_scheduler_v841.py +0 -0
  265. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/partition_executor_v841.py +0 -0
  266. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/partition_local_mesh_v841.py +0 -0
  267. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/partition_net_v841.py +0 -0
  268. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/partition_state_v841.py +0 -0
  269. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/physics_seam_v841.py +0 -0
  270. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/regional_v841.py +0 -0
  271. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/regrid.py +0 -0
  272. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/render_door.py +0 -0
  273. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/rkind_libm.py +0 -0
  274. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/rust_renderer.py +0 -0
  275. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/species_row.py +0 -0
  276. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/state.py +0 -0
  277. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/step_oracle.py +0 -0
  278. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/swath/__init__.py +0 -0
  279. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/swath/detect.py +0 -0
  280. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/swath/door.py +0 -0
  281. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/swath/errors.py +0 -0
  282. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/swath/geometry.py +0 -0
  283. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/swath/history.py +0 -0
  284. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/swath/hysteresis.py +0 -0
  285. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/swath/plan.py +0 -0
  286. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/swath/rank.py +0 -0
  287. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/swath/registry.py +0 -0
  288. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/swath/sizing.py +0 -0
  289. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/swath/track.py +0 -0
  290. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/terrain.py +0 -0
  291. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/timestep_admission.py +0 -0
  292. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/tracer_oracle.py +0 -0
  293. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/transport.py +0 -0
  294. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/vector.py +0 -0
  295. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/src/hexcore/wps_intermediate.py +0 -0
  296. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_backend_row_builder.py +0 -0
  297. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_checkout_reproducibility.py +0 -0
  298. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_cuda_physics_tier_park_v841.py +0 -0
  299. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_device_capacity.py +0 -0
  300. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_domain_size_agreement.py +0 -0
  301. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_fullstep_projection_probe.py +0 -0
  302. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_lbc.py +0 -0
  303. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_mesh_spec_gates.py +0 -0
  304. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_mesh_validation.py +0 -0
  305. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_moist_coefficients_species_row.py +0 -0
  306. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_nest_ratio_ring_shell.py +0 -0
  307. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_no_conflict_markers.py +0 -0
  308. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_obs_referee.py +0 -0
  309. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_p3_seam_ab.py +0 -0
  310. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_pair_door.py +0 -0
  311. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_partition_executor_v841.py +0 -0
  312. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_prep_species_row.py +0 -0
  313. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_refined_region_field.py +0 -0
  314. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_regional_mesh_admission.py +0 -0
  315. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_regional_runtime.py +0 -0
  316. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_render_door.py +0 -0
  317. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_species_row_extended.py +0 -0
  318. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_swath_composite_spec.py +0 -0
  319. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_swath_detect.py +0 -0
  320. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_swath_door.py +0 -0
  321. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_swath_geometry.py +0 -0
  322. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_swath_plan.py +0 -0
  323. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_swath_real_forecast.py +0 -0
  324. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_swath_registry.py +0 -0
  325. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_tier_membership.py +0 -0
  326. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_vertical_artifact_met_state.py +0 -0
  327. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tests/test_vertical_vectorized_equivalence.py +0 -0
  328. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/analyse_convection_off_ab.py +0 -0
  329. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/analyse_pbl_cadence_ab.py +0 -0
  330. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/analyze_step_divergence.py +0 -0
  331. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/build_2way_part_v841.py +0 -0
  332. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/build_frozen_authority.sh +0 -0
  333. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/build_nonzero_tracer_input.py +0 -0
  334. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/build_swath_composite_spec.py +0 -0
  335. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/build_swath_fixture_history.py +0 -0
  336. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/carry_lineage_to_cull.py +0 -0
  337. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/check_mpas_citations.py +0 -0
  338. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/compare_2gpu_invariance_v841.py +0 -0
  339. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/compare_native_free_vertical.py +0 -0
  340. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/compare_regional_forecast_frames.py +0 -0
  341. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/compare_v841_compiled_endpoint.py +0 -0
  342. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/compare_v841_restart_step16_dumps.py +0 -0
  343. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/cuda_ftz_v841_authority_pins.json +0 -0
  344. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/cuda_ftz_v841_binding_validator.py +0 -0
  345. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/cuda_ftz_v841_isolated_bootstrap.py +0 -0
  346. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/cuda_jw_dualrun_isolated_bootstrap.py +0 -0
  347. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/device_memory_capacity/capacity_model.py +0 -0
  348. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/device_memory_capacity/kernel_reservation_probe.py +0 -0
  349. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/device_memory_capacity/process_memory_probe.py +0 -0
  350. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/device_memory_capacity/runtime_ledger.py +0 -0
  351. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/device_memory_capacity/sibling_contamination_probe.py +0 -0
  352. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/device_memory_ledger/hex_kernel_probe.py +0 -0
  353. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/device_memory_ledger/kernel_reservation.py +0 -0
  354. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/device_memory_ledger/ledger_table.py +0 -0
  355. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/device_memory_ledger/report_ledger.py +0 -0
  356. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/device_memory_ledger/run_arm.sh +0 -0
  357. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/device_memory_ledger/run_kern.sh +0 -0
  358. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/diagnose_v841_restart_trace_lwgate.py +0 -0
  359. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/dump_1gpu_step_arrays.py +0 -0
  360. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/evaluate_nonzero_tracer_scan.py +0 -0
  361. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/measure_domain_size_agreement.py +0 -0
  362. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/measure_lam_interior_agreement.py +0 -0
  363. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/measure_physics_tier_park.py +0 -0
  364. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/measure_radiation_chunk_width.py +0 -0
  365. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/measure_refined_region_w.py +0 -0
  366. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/measure_swath_hysteresis.py +0 -0
  367. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/measure_w_band.py +0 -0
  368. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/mpas_operator_oracle/build_and_run.sh +0 -0
  369. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/mpas_operator_oracle/operator_oracle.F90 +0 -0
  370. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/mpas_step_oracle/README.md +0 -0
  371. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/mpas_step_oracle/build_manifest.py +0 -0
  372. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/mpas_step_oracle/extract.sh +0 -0
  373. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/mpas_step_oracle/extract_step_oracle.F90 +0 -0
  374. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/package_nonzero_tracer_oracle.py +0 -0
  375. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/plot_cascade_cost.py +0 -0
  376. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/plot_domain_size_agreement.py +0 -0
  377. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/plot_domain_size_geometry.py +0 -0
  378. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/plot_dt_anchor_health.py +0 -0
  379. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/plot_dual_edge_evidence.py +0 -0
  380. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/plot_lts_evidence.py +0 -0
  381. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/plot_swath_as_lam_evidence.py +0 -0
  382. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/plot_swath_evidence.py +0 -0
  383. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/plot_swath_first_forecast.py +0 -0
  384. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/plot_swath_first_real.py +0 -0
  385. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/plot_swath_metrics_evidence.py +0 -0
  386. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/probe_lts_fullstep_projection.py +0 -0
  387. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/probe_partition_local_mesh_v841.py +0 -0
  388. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/probe_partition_residency_v841.py +0 -0
  389. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/probe_physics_tier_residency.py +0 -0
  390. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/probe_polygon_attainment.py +0 -0
  391. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/probe_regional_ring_shell.py +0 -0
  392. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/probe_v841_lw_capture_engine_inputs.py +0 -0
  393. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/probe_v841_lw_localize.py +0 -0
  394. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/probe_v841_lw_purity.py +0 -0
  395. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/probe_v841_lw_purity_lwfix.py +0 -0
  396. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/probe_v841_lw_purity_lwfix2.py +0 -0
  397. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/prove_compound_threat_is_data.py +0 -0
  398. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/prove_cull_pad_is_data.py +0 -0
  399. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/repro_v841_lw_engine_poison.py +0 -0
  400. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_cuda_arch_ftz_decks.py +0 -0
  401. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_cuda_backend_benchmark.py +0 -0
  402. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_cuda_ftz_contract.py +0 -0
  403. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_cuda_ftz_v841_trust_measurement.py +0 -0
  404. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_cuda_jw_dualrun.py +0 -0
  405. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_cuda_jw_dualrun_promotion.py +0 -0
  406. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_cuda_jw_dualrun_trust.py +0 -0
  407. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_cuda_v841_jw_dualrun.py +0 -0
  408. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_cuda_v841_numeric_ruler.py +0 -0
  409. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_cuda_v841_resident_baseline_lwfix.py +0 -0
  410. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_frozen_jw.sh +0 -0
  411. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_jw_dry_day.py +0 -0
  412. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_lts_dry_gates.py +0 -0
  413. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_nonzero_tracer_authority.sh +0 -0
  414. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_obs_referee.py +0 -0
  415. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_real_gfs_cuda_forecast.py +0 -0
  416. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_real_gfs_forecast.py +0 -0
  417. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_real_gfs_initialization.py +0 -0
  418. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_regional_dry_ladder.py +0 -0
  419. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_rust_renderer_gate.py +0 -0
  420. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_swath_placement_chain.py +0 -0
  421. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_v841_compiled_endpoint_gate.py +0 -0
  422. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/run_v841_smagorinsky_authority_pin.py +0 -0
  423. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/scale_region_about_centroid.py +0 -0
  424. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/step_match_pbl_cadence_dt5.py +0 -0
  425. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/tools/validate_cuda_x1_163842_remote_evidence.py +0 -0
  426. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/verification/CANONICAL-BUNDLE-CONTRACT.md +0 -0
  427. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/verification/GF-HOOK-CONTRACT.md +0 -0
  428. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/verification/fixtures/build_synthetic_suite.py +0 -0
  429. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/verification/manifests/obs-referee-283.production.json +0 -0
  430. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/verification/producers/README.md +0 -0
  431. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/verification/producers/model_bundle.py +0 -0
  432. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/verification/producers/observation_bundles.py +0 -0
  433. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/verification/producers/select_control_cases.py +0 -0
  434. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/verification/schemas/gf-subsidence-treatment-v1.schema.json +0 -0
  435. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/verification/schemas/normalized-artifact-receipt-v1.schema.json +0 -0
  436. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/verification/vertical-specs/legacy41-v1.json +0 -0
  437. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/verification/vertical-specs/native-comparison-policy.NOT-MEASURED.json +0 -0
  438. {gpuwm_hex-0.2.3 → gpuwm_hex-0.3.2}/verification/vertical-specs/tc55-v1.json +0 -0
@@ -33,40 +33,12 @@ graft verification
33
33
  # file the reader does not have" defect the grafts above exist to prevent.
34
34
  include evidence/EVIDENCE.md
35
35
 
36
- # ...and one directory of tests that must NOT travel, for the same reason
37
- # `[tool.setuptools.packages.find] exclude` drops `hexcore.mod` from the
38
- # wheel. `graft tests` above is a wildcard, and a wildcard is exactly how the
39
- # thing nobody listed gets shipped: these tests carry the branch name, the
40
- # commit and the SHA-256 digests of a private seam that has no remote and
41
- # exists on one machine. The package exclusion alone would not stop them --
42
- # they live under tests/, not under the package.
36
+ # ...and directories and documents that are not part of this distribution:
37
+ # `graft` is a wildcard, so each is held out by name.
43
38
  prune tests/mod
44
39
 
45
- # ...and one DOCUMENT that must not travel, caught by the same wildcard logic
46
- # one directory over. `graft docs` is a wildcard and
47
- # `docs/LANE-BRIEFING.md` is not a user document at all: it is this
48
- # repository's internal working brief, written for whoever picks the tree up
49
- # next.
50
- #
51
- # THE BREAKAGE THIS PREVENTS: an sdist published to PyPI carrying a private
52
- # LAN address, a home-directory path on the maintainer's own machine, the
53
- # maintainer's name against the machines he owns, the reservation protocol
54
- # for those machines, and the existence and card priority of a second,
55
- # unrelated private effort. None of that is recallable once uploaded, none
56
- # of it helps a reader install or run this software, and the file postdates
57
- # the 0.1.1 sdist -- so this is a leak the previous cut did not have.
58
- # `tests/test_packaging_declaration.py` builds the real sdist and fails if
59
- # the briefing reappears in it.
60
40
  exclude docs/LANE-BRIEFING.md
61
41
 
62
- # ...and the release checklist, for the same reason and one more. It is an
63
- # operating procedure for cutting a release of this distribution, not a
64
- # document about using it: it names the private assembly tree, the public
65
- # repository, the maintainer, the scrub policy applied on the way out, and the
66
- # ordered commands for acts that need the maintainer's explicit approval.
67
- # Shipping it inside the artefact it describes would publish the recipe for its
68
- # own publication, and would put governance text into a public tree, which is
69
- # exactly what the 0.1.0 scrub removed by hand.
70
42
  exclude docs/release-checklist-*.md
71
43
 
72
44
  # Compiled bytecode is a build product of the sources beside it, never an
@@ -11,7 +11,11 @@ MPAS-Atmosphere (LANL / UCAR)
11
11
 
12
12
  gpuwm-hex reimplements the dynamical core of MPAS-Atmosphere (Model for
13
13
  Prediction Across Scales) version 8.4.1 for CUDA devices, with pinned
14
- source-line citations. MPAS-Atmosphere is developed by the Los Alamos
14
+ source-line citations. The earlier v8.2.3 lane it grew from is still
15
+ carried and selectable, and the standalone Fortran oracles under
16
+ tools/mpas_operator_oracle/ and tools/mpas_step_oracle/ transcribe loop
17
+ bodies of MPAS-Atmosphere v8.2.3 (cited by file and line in each source);
18
+ those transcriptions are MPAS-derived portions under the same terms. MPAS-Atmosphere is developed by the Los Alamos
15
19
  National Laboratory and the University Corporation for Atmospheric
16
20
  Research / National Center for Atmospheric Research, and is distributed
17
21
  under the BSD-3-Clause terms reproduced at the end of this section. Those
@@ -49,7 +53,17 @@ physics_mmm/bl_gwdo.F90, the Kim/YSU orographic gravity-wave-drag and
49
53
  flow-blocking scheme from NCAR/MMM. Those files are cited by path and line
50
54
  in the module that reimplements them. No source from either upstream is
51
55
  copied into this distribution; the citations record what the CUDA operator
52
- was written against.
56
+ was written against. WRF itself is a public-domain work of NCAR/MMM; this
57
+ distribution states that lineage here rather than relying on the engine's
58
+ NOTICE to carry it.
59
+
60
+ The longitude arithmetic in src/hexcore/mesh.py
61
+ (_grid_rotate_convert_xl_longitude and reconcile_grid_rotate_longitudes)
62
+ reproduces the convert_xl formula of MPAS-Tools grid_rotate.f90, pinned by
63
+ source digest in that module, so that a rotated mesh's stored longitudes
64
+ can be checked to the producer's own rounding. MPAS-Tools is distributed
65
+ by LANS under the same BSD-3-Clause terms as MPAS-Atmosphere, reproduced
66
+ below; no MPAS-Tools source file is copied into this distribution.
53
67
 
54
68
  MPAS-Atmosphere license text, retained in full:
55
69